458
380
222
746
124
456
371
557
15
101
473
465
807
330
943
922
135
927
609
304
156
729
428
479
151
968
513
56
658
330
680
474
551
31
314
582
65
733
178
200
38
578
721
434
520
954
560
197
465
877
67
455
451
16
409
236
226
471
972
290
422
378
824
646
946
305
761
971
422
175
534
775
535
152
33
23
281
531
586
644
961
169
28
743
181
405
865
91
297
735
688
590
459
741
975
957
900
893
548
868
172
875
248
111
783
44
861
114
115
468
893
372
523
738
601
870
269
436
569
620
293
673
223
778
863
616
884
660
828
281
356
151
527
166
611
617
434
497
785
470
231
927
615
943
352
588
399
467
973
241
786
307
67
146
982
716
416
960
476
946
395
611
996
929
949
640
225
249
428
938
748
363
845
148
788
653
668
275
596
15
515
184
731
135
933
757
71
550
31
440
124
850
870
785
77
107
393
403
93
727
150
404
548
438
240
23
249
64
687
635
222
42
965
743
273
426
452
892
414
211
444
631
167
400
722
822
939
190
823
594
944
998
845
206
576
846
89
925
782
772
845
770
719
547
367
657
899
933
467
18
117
158
156
469
679
24
471
462
828
346
959
142
820
956
274
853
805
606
22
779
510
449
268
275
743
692
121
302
915
181
389
224
81
376
627
953
495
202
783
26
321
713
287
785
910
405
634
214
33
231
439
390
543
108
500
723
212
733
610
339
912
55
735
18
869
627
717
87
476
367
822
522
5
962
311
327
630
272
708
944
366
603
582
18
875
643
475
394
614
207
85
595
466
645
913
368
818
940
380
92
33
63
846
997
403
103
58
154
959
82
287
148
962
89
851
201
526
597
739
257
552
363
790
206
102
335
256
996
402
366
602
845
894
344
60
151
151
547
834
996
19
663
821
303
17
920
371
834
938
200
926
203
549
850
343
999
500
142
314
925
852
968
600
585
128
431
707
185
424
413
228
938
911
118
338
424
8
805
808
490
625
638
481
524
102
649
369
134
952
309
382
269
13
73
259
866
415
611
425
916
613
91
370
686
795
41
603
487
181
811
438
997
62
588
631
647
980
261
375
989
71
145
294
280
463
766
826
748
564
396
841
126
252
51
429
77
227
981
525
93
285
480
468
266
835
996
614
114
775
136
885
302
749
118
455
641
875
639
854
257
287
919
419
172
196
897
374
843
738
157
825
392
572
202
594
360
36
100
148
811
710
364
815
551
364
192
126
9
633
788
393
79
215
596
562
844
45
685
979
622
669
425
941
247
24
840
828
825
906
713
157
455
683
605
107
601
241
419
963
809
695
57
430
512
175
20
958
468
823
477
73
223
252
496
192
658
852
596
560
262
733
752
741
322
575
276
604
584
355
782
803
282
709
541
588
667
702
122
178
263
904
152
48
138
947
397
192
425
232
141
876
154
997
12
407
228
798
983
187
40
295
284
698
770
373
326
60
917
819
571
529
951
188
466
615
304
23
192
503
75
290
981
129
940
764
198
534
762
97
209
149
306
467
290
203
272
54
494
809
597
48
428
147
608
530
361
806
115
388
943
556
22
349
79
749
339
335
202
104
766
604
246
825
152
553
115
910
226
652
360
4
957
690
47
350
776
415
526
233
687
676
930
803
992
412
732
319
930
138
631
669
69
139
380
476
666
222
869
237
561
709
981
718
357
337
232
234
814
883
203
587
369
579
114
135
690
904
688
887
970
872
587
582
463
759
325
415
398
86
543
463
989
779
892
866
724
649
640
522
509
710
251
397
506
430
854
540
719
662
523
534
476
911
691
462
943
564
912
389
743
906
354
13
546
41
110
400
245
368
429
664
930
833
452
37
451
35
873
15
749
171
256
192
546
938
368
926
181
746
17
209
578
53
336
994
390
162
379
750
321
597
170
186
536
24
74
973
831
756
473
725
937
58
229
713
936
850
370
558
259
891
748
627
155
214
176
985
844
409
667
517
771
312
991
286
530
821
677
277
55
846
1000
418
593
826
223
183
885
898
555
132
654
531
883
470
233
354
309
67
687
21
914
415
272
137
988
683
468
702
174
375
78
30
564
84
102
846
835
492
188
86
919
88
465
948
550
16
469
917
259
115
700
813
25
464
69
367
874
719
114
513
143
56
418
339
1000
864
92
599
94
151
525
812
868
256
897
220
164
629
53
291
227
329
462
49
124
433
921
230
885
704
546
144
382
725
413
193
85
215
852
159
339
358
34
770
755
827
992
531
611
631
599
511
934
25
392
552
46
530
300
416
930
517
515
456
723
909
736
733
6
321
2
938
339
317
136
87
648
579
609
716
680
440
281
219
710
668
41
68
84
346
846
845
997
452
49
459
87
9
158
405
74
749
413
671
663
806
611
728
367
348
660
63
754
946
221
874
838
157
638
882
991
48
60
685
805
319
309
736
798
310
560
793
690
366
372
658
305
990
923
134
758
754
585
370
739
139
126
207
143
367
886
681
219
819
262
624
710
794
699
123
140
232
197
702
561
497
6
253
554
494
793
121
222
177
86
243
248
994
175
928
829
927
3
671
425
553
784
393
853
12
217
633
167
833
209
489
165
338
946
601
117
717
30
25
493
972
113
647
42
597
159
689
578
264
14
935
211
797
425
532
570
420
68
633
765
572
385
651
469
616
252
632
493
401
600
98
669
953
87
709
706
526
869
288
883
881
301
55
124
942
152
415
37
878
515
275
955
304
174
651
894
498
575
293
589
447
953
151
485
110
389
771
591
479
729
127
644
903
393
970
904
666
44
516
183
1000
987
166
461
543
950
8
527
758
580
44
601
983
601
453
849
584
88
690
994
159
690
922
7
853
9
95
980
626
499
934
836
759
437
301
514
960
524
625
594
181
615
596
128
681
940
875
611
891
920
391
594
398
363
660
453
695
355
681
215
402
680
160
129
335
945
233
912
144
905
375
169
231
631
895
548
326
325
283
600
397
527
665
138
541
409
807
142
118
666
433
906
687
217
99
154
210
581
509
333
603
313
931
144
956
345
368
639
631
399
189
896
40
929
229
373
73
175
766
503
72
1000
371
32
732
158
342
862
520
503
336
889
20
446
852
444
153
666
410
452
308
663
642
362
304
264
18
231
501
583
585
71
553
282
947
747
37
166
681
222
652
320
517
943
759
986
915
491
777
360
120
432
379
305
374
421
441
762
744
266
483
270
914
586
642
600
408
130
291
972
889
620
95
695
624
160
616
367
698
923
607
971
295
792
750
275
197
85
949
984
693
336
209
969
218
324
789
745
410
182
570
75
730
511
534
203
422
823
831
785
412
557
148
988
667
132
25
608
649
231
290
296
781
539
28
153
225
695
349
10
883
70
773
690
236
327
204
437
550
392
334
462
985
605
801
266
392
313
575
1000
887
132
870
606
853
396
331
921
646
83
370
227
144
630
321
950
227
628
485
364
447
310
258
156
396
141
269
692
790
579
853
635
835
236
257
342
234
288
679
135
123
932
626
69
263
108
93
359
80
505
751
932
526
64
689
929
254
818
221
107
335
929
965
256
577
191
656
687
535
138
184
806
444
92
907
588
676
160
623
484
749
233
472
927
606
497
671
153
638
832
201
474
891
738
482
498
5
124
635
55
697
347
138
735
995
408
552
12
50
100
540
915
36
176
557
78
583
365
465
780
173
135
789
296
205
632
513
453
714
174
97
830
304
978
894
401
475
561
237
786
396
394
261
457
115
938
956
413
358
149
47
848
366
908
15
285
644
607
20
503
146
264
502
338
123
192
994
94
846
157
9
870
435
411
933
586
295
769
511
870
19
109
871
248
189
271
18
284
187
400
384
392
986
132
345
88
914
931
552
307
548
71
576
280
212
415
628
147
49
217
49
147
261
601
868
735
914
250
956
430
661
116
226
552
809
609
876
247
478
853
880
373
953
36
839
882
958
818
781
301
279
29
735
812
65
631
701
189
192
995
169
580
229
97
470
678
974
151
72
374
960
515
370
351
76
483
678
438
208
671
885
734
836
310
669
661
628
670
274
134
387
242
590
973
137
43
664
553
770
609
868
400
400
812
625
164
527
635
995
897
160
418
434
95
296
919
733
320
536
705
484
491
162
33
407
156
694
387
545
122
812
267
622
863
536
657
837
991
729
842
991
942
296
885
113
707
974
129
695
105
189
558
224
602
309
678
970
146
517
913
857
822
685
112
844
383
855
918
416
897
364
180
706
782
241
534
243
512
199
528
550
127
486
439
643
481
833
976
957
854
17
633
420
150
841
368
167
401
892
600
874
727
92
285
809
196
878
956
471
271
834
169
127
649
740
760
647
336
284
673
784
752
143
906
446
494
745
272
574
154
789
284
950
241
503
445
627
828
715
620
714
17
43
979
929
693
867
190
654
328
344
186
263
791
365
810
105
205
268
101
868
910
89
808
994
503
324
945
435
731
498
871
352
752
316
407
240
893
804
968
602
582
653
563
516
573
917
765
344
926
334
455
397
450
791
202
593
517
881
651
995
158
71
172
668
399
736
332
466
607
187
464
199
453
898
703
138
767
288
406
957
160
818
779
28
797
654
875
454
116
806
859
334
611
499
607
541
3
502
214
739
269
283
982
433
36
145
817
603
778
955
701
896
104
685
147
369
197
744
44
534
99
993
378
789
131
423
626
391
178
699
495
765
997
161
827
322
932
419
148
928
668
379
330
843
717
393
286
246
354
240
427
415
620
807
875
287
841
681
40
368
811
318
258
920
451
121
610
924
257
540
937
585
324
240
299
29
50
534
857
424
909
483
170
942
824
544
467
884
746
170
272
796
10
524
124
599
935
371
809
587
906
204
634
660
877
929
820
295
818
729
982
580
171
279
35
95
735
135
557
550
771
957
849
866
304
184
412
819
759
953
578
458
68
319
370
268
369
285
425
416
228
778
25
529
101
450
833
124
395
108
930
207
56
650
155
577
95
627
535
61
841
921
809
235
984
585
668
208
675
585
346
663
50
51
615
696
540
639
111
926
251
793
90
11
502
6
423
929
355
674
659
374
567
766
437
172
965
326
412
879
672
783
130
626
948
134
930
840
693
355
86
679
790
782
853
894
565
799
986
365
582
903
606
721
893
94
3
336
650
579
61
439
653
1000
518
275
50
727
221
28
858
282
827
714
432
636
189
345
297
933
769
464
992
172
1
579
707
552
465
111
521
419
114
218
3
265
561
282
777
789
593
858
413
825
690
654
665
845
306
447
642
805
43
884
977
388
685
787
431
7
252
950
668
550
830
377
113
499
995
589
914
930
32
934
39
917
8
788
430
30
2
167
980
923
415
552
799
527
361
643
879
968
578
387
797
131
188
820
550
760
863
221
941
61
684
588
209
67
17
703
763
410
245
888
921
766
81
108
546
909
499
255
363
268
3
282
494
863
108
355
477
727
385
355
601
288
384
853
914
661
49
164
682
504
21
196
348
900
320
599
327
711
491
140
51
989
236
335
741
321
913
107
322
445
85
642
732
55
431
690
650
518
959
241
322
88
420
917
713
343
239
418
726
745
54
71
572
635
200
836
674
538
48
174
694
308
157
767
338
544
622
458
644
688
815
695
325
407
982
403
576
179
775
499
498
472
881
173
872
564
343
670
600
836
43
545
556
306
91
271
916
318
524
641
338
506
832
601
476
633
283
67
407
421
940
757
526
279
547
280
322
665
190
573
257
910
731
255
641
505
543
619
30
213
6
816
120
893
552
232
593
569
779
172
621
127
317
783
12
994
661
524
74
278
161
639
325
162
713
802
125
793
460
513
138
493
18
886
307
907
284
188
663
609
893
864
879
762
806
786
937
660
269
190
667
378
626
69
196
283
71
802
539
868
448
465
665
234
618
543
374
545
786
777
232
950
361
457
629
815
626
781
752
552
509
813
881
999
214
181
976
85
342
905
944
475
397
608
329
980
248
999
436
795
200
641
37
41
819
976
900
661
558
40
336
452
513
524
850
909
375
666
759
586
722
952
348
898
353
771
718
630
267
957
981
940
237
640
900
301
646
934
345
677
441
775
192
167
560
654
412
541
190
85
129
343
543
391
375
698
637
788
111
590
727
835
850
105
610
981
863
70
53
376
537
604
923
87
896
297
480
577
718
166
427
634
932
32
982
933
183
700
223
74
558
163
398
240
469
63
722
597
577
821
424
161
513
164
457
156
801
262
307
813
90
321
853
141
282
285
29
468
634
239
354
434
204
200
54
691
330
285
594
777
936
614
910
497
565
923
544
682
986
566
182
373
123
485
795
326
827
771
703
223
713
640
415
137
859
991
994
591
723
241
59
45
970
808
264
732
288
404
237
581
453
322
510
360
46
7
945
300
262
528
517
173
196
966
60
230
832
412
824
456
717
954
187
292
977
18
938
385
870
454
882
923
583
19
355
819
327
285
427
329
88
547
194
702
571
1000
580
106
998
321
485
382
393
800
977
156
917
321
419
435
638
855
118
127
830
545
103
830
529
186
97
830
629
608
635
520
203
490
523
322
130
205
531
774
322
559
288
648
45
717
822
857
854
191
124
406
675
458
358
863
415
729
111
629
294
356
130
813
760
634
571
666
468
72
656
315
299
720
22
37
799
834
732
407
754
960
114
453
826
504
100
374
308
10
729
468
87
642
829
665
872
824
660
474
549
598
475
195
325
29
563
977
940
888
293
659
845
942
89
387
669
388
85
653
693
377
378
759
371
100
456
712
58
628
351
197
281
523
549
579
836
293
459
885
938
891
547
290
451
809
827
947
962
797
499
922
80
858
961
585
884
984
271
58
893
38
455
220
265
298
667
334
188
433
356
578
612
107
30
620
502
990
135
931
796
668
866
686
101
840
414
960
995
246
293
432
426
951
899
929
375
977
371
3
384
780
184
143
12
763
608
391
582
789
346
891
783
709
192
331
877
991
518
333
223
875
760
600
848
916
856
27
580
364
738
26
59
635
591
75
565
4
571
809
219
743
65
74
517
169
379
972
615
440
959
338
996
478
847
30
412
116
113
102
21
410
403
217
709
64
626
654
456
105
971
830
435
243
163
613
268
863
868
550
471
206
635
806
667
109
633
799
605
612
690
445
335
856
843
485
177
953
678
573
267
924
216
693
533
393
31
974
933
433
551
185
653
867
220
15
771
357
314
755
560
831
718
118
229
132
901
806
376
308
655
821
867
613
907
707
147
127
70
643
238
880
919
769
781
496
967
197
544
679
670
927
732
306
559
269
309
499
568
453
280
810
422
812
549
577
933
289
531
573
444
73
185
326
468
821
488
831
773
292
682
978
783
191
812
662
176
701
151
445
8
464
149
613
487
763
416
678
810
249
107
666
72
872
758
36
351
580
280
704
489
952
355
441
999
175
900
860
757
689
631
332
837
368
11
397
930
326
20
698
269
324
256
13
878
248
865
693
280
356
643
720
473
798
469
620
148
424
920
683
587
48
494
292
654
155
399
671
593
468
248
44
102
970
362
8
289
703
547
914
683
130
398
180
407
925
178
767
4
810
291
477
168
451
185
370
816
507
324
323
513
598
465
705
249
391
110
195
977
971
421
21
105
400
308
260
354
654
651
411
9
192
846
137
595
994
920
920
469
265
513
423
604
951
894
462
141
829
24
883
863
215
384
63
860
280
933
436
65
539
79
200
230
331
2
351
176
13
14
255
822
154
888
275
595
215
260
348
288
101
265
10
359
464
562
87
939
852
739
164
543
623
939
977
583
46
175
86
301
157
455
534
682
759
298
716
214
412
672
350
124
384
675
257
867
312
511
655
156
759
453
804
847
939
510
116
290
628
454
330
570
698
729
916
227
747
498
673
620
27
768
374
95
247
68
414
526
854
666
619
560
60
669
796
159
269
633
103
605
501
516
76
161
104
895
951
36
341
386
958
90
389
97
446
999
947
776
991
208
883
42
139
80
322
705
89
87
147
725
371
771
132
796
569
453
853
911
226
367
42
478
327
955
300
756
178
579
953
443
85
768
330
185
953
434
975
711
820
226
113
38
384
240
195
908
786
898
503
211
261
685
605
643
774
779
917
284
466
364
744
70
494
536
958
370
899
282
905
21
233
972
221
177
966
139
978
312
186
144
5
525
654
443
261
85
92
800
877
793
459
757
834
304
79
69
301
53
685
625
307
764
862
574
790
861
888
984
47
232
688
406
277
958
478
107
194
573
664
611
682
359
758
379
68
990
381
146
862
570
909
463
782
721
959
451
411
933
698
648
156
828
919
87
16
317
925
435
258
923
525
94
328
659
880
657
150
957
485
15
551
89
331
695
683
425
165
747
202
626
807
574
410
611
700
654
766
680
201
6
957
727
657
606
181
859
962
668
436
66
132
889
376
809
392
275
719
524
440
142
313
73
819
244
672
116
784
756
239
227
674
1000
666
340
543
416
112
753
721
228
966
505
84
698
392
408
983
615
800
385
241
911
679
73
117
892
228
818
847
598
879
313
268
223
104
106
968
383
873
145
663
231
749
329
741
78
887
748
470
234
136
951
947
234
28
100
691
472
698
304
727
563
679
793
105
386
59
841
74
898
729
496
536
243
303
259
1
624
827
821
961
668
586
846
534
756
132
569
229
873
195
686
913
83
251
597
409
636
361
568
656
63
338
803
47
343
439
721
379
388
549
953
828
620
257
733
507
396
316
346
441
383
736
278
284
762
141
556
644
331
106
492
720
128
879
742
810
209
299
141
366
619
702
249
477
361
352
921
70
408
210
512
651
408
907
508
98
749
400
478
911
72
129
237
279
175
435
52
562
465
637
494
48
769
438
298
367
388
268
217
560
686
754
376
621
437
768
92
235
357
394
469
596
976
728
324
408
55
618
178
615
268
362
91
967
734
860
121
283
323
949
40
118
329
456
737
641
255
21
449
678
939
882
515
263
209
638
906
547
568
455
151
568
150
320
626
237
353
707
372
856
71
476
770
617
450
892
398
859
414
415
372
262
7
323
300
803
764
254
744
49
900
512
734
263
109
329
471
908
153
303
787
332
218
926
360
842
230
464
926
865
942
411
947
655
606
450
288
824
486
105
444
985
308
279
804
996
948
471
219
578
352
744
886
596
689
463
188
913
236
406
666
521
317
93
722
604
934
85
42
300
354
577
936
194
55
796
992
971
870
621
477
262
98
344
920
435
648
687
168
963
971
35
7
50
675
325
125
418
216
207
803
468
6
888
204
585
593
534
568
8
313
237
911
502
973
326
77
70
654
239
103
65
694
260
888
363
281
167
132
714
826
268
314
969
521
311
272
689
997
527
584
505
46
396
539
733
735
765
925
914
60
643
290
408
471
333
567
646
241
537
191
399
658
763
898
249
445
646
428
460
653
749
257
644
507
80
277
897
319
778
118
603
674
407
383
727
489
858
631
189
473
114
384
915
748
45
775
198
67
946
715
330
189
745
608
848
395
712
730
307
82
972
343
260
653
373
493
973
613
41
257
475
919
508
850
726
147
394
649
52
954
490
653
507
661
512
349
489
510
940
240
762
299
129
521
17
664
311
548
248
199
201
729
507
9
669
455
57
43
332
522
534
723
6
226
526
988
626
25
848
844
677
174
911
913
154
258
788
283
775
897
975
150
519
195
395
382
542
707
883
132
195
778
252
71
145
115
56
635
624
395
321
923
385
474
866
530
265
545
286
649
195
168
328
227
45
686
185
848
989
929
169
242
943
501
343
57
204
173
946
551
636
73
878
397
609
448
69
667
435
706
296
368
228
375
908
611
956
374
948
605
940
674
362
203
236
57
370
624
101
161
532
348
260
419
772
878
770
814
402
247
88
600
194
669
359
273
672
708
55
87
107
707
809
398
124
970
745
913
464
382
598
731
182
741
694
670
492
37
192
993
556
351
35
74
719
800
746
965
105
211
531
71
23
775
155
375
325
995
722
716
726
636
773
652
107
230
118
332
980
940
395
656
643
208
672
658
991
690
319
758
650
410
962
1
830
965
593
870
285
849
817
618
866
660
748
295
402
34
322
818
81
638
628
515
58
449
420
517
784
844
132
272
385
750
568
248
511
187
954
555
256
96
145
850
101
233
657
366
359
279
584
333
252
14
657
370
599
599
419
653
48
505
957
792
949
644
720
387
240
567
695
177
168
410
605
545
302
410
872
883
9
426
803
13
526
867
800
398
825
826
467
353
672
49
136
877
718
527
691
962
957
164
567
483
616
952
444
820
388
552
481
410
928
964
879
315
713
255
212
702
674
940
216
892
514
644
679
218
233
171
662
501
208
934
515
380
98
992
78
93
970
610
3
541
292
336
340
650
861
90
424
102
328
637
612
478
666
152
613
742
876
241
979
772
222
950
849
362
506
776
158
666
251
645
370
625
171
132
224
275
966
971
125
181
323
996
589
459
975
280
577
967
798
106
656
304
248
865
650
174
862
654
885
543
165
610
144
753
88
517
208
428
925
281
204
577
918
230
10
768
814
986
676
615
91
899
128
142
135
626
434
732
314
450
583
511
780
382
995
987
818
917
990
717
748
527
30
528
705
678
861
623
104
131
577
460
225
825
260
866
169
446
59
295
368
81
510
460
937
34
424
843
437
956
914
757
15
929
992
665
478
55
691
484
582
383
856
440
711
722
599
849
151
12
891
878
380
433
931
963
149
366
733
21
630
639
856
59
585
259
285
57
342
950
308
243
323
371
600
12
42
870
881
772
735
956
212
928
297
484
430
100
746
685
255
386
236
787
349
167
551
939
944
506
81
569
717
682
511
87
253
759
857
51
782
388
7
571
882
235
646
671
482
529
270
831
822
201
54
719
967
42
451
372
131
87
772
738
316
172
457
537
717
245
376
859
928
530
321
774
249
110
768
516
269
818
121
456
491
609
895
192
950
708
724
542
671
946
648
142
336
619
873
650
698
122
76
256
147
381
379
323
313
795
315
497
745
15
451
552
517
360
881
580
88
131
420
850
842
343
212
832
536
669
390
428
306
487
613
388
972
977
568
283
135
140
983
169
956
474
312
231
578
800
997
312
850
363
157
204
403
944
603
964
141
155
329
349
905
489
3
638
402
981
537
743
498
514
507
540
608
934
51
751
247
95
898
555
762
926
327
362
889
367
207
799
40
799
721
21
207
183
48
939
899
684
38
778
819
982
893
688
881
838
952
795
715
717
952
148
40
450
558
524
139
975
526
950
223
162
581
85
629
640
12
336
651
278
2
669
310
717
916
634
500
913
137
2
769
172
549
790
466
564
420
170
90
920
289
880
479
845
423
370
881
301
548
788
68
363
875
370
388
673
849
469
51
995
707
739
11
987
650
471
520
30
381
150
806
439
816
648
331
934
34
292
823
581
875
237
546
708
201
215
339
504
463
720
547
100
140
138
331
936
589
157
763
132
18
30
769
393
634
906
237
708
494
513
560
733
205
909
466
272
456
895
224
730
258
975
246
754
936
366
635
521
125
727
461
312
475
677
414
66
341
145
25
585
447
842
792
948
419
879
449
456
127
668
46
158
957
754
722
566
512
159
818
711
742
154
467
63
169
104
914
207
719
196
589
321
619
385
412
711
992
878
865
624
49
822
159
552
243
632
176
54
348
597
982
913
203
943
354
61
748
558
215
323
98
971
833
463
592
953
353
413
176
356
583
863
988
398
925
550
748
613
9
719
382
135
916
213
353
813
790
554
303
864
328
225
973
468
858
47
823
713
690
202
421
786
980
993
472
151
632
832
294
745
637
370
655
879
818
850
165
634
173
2
819
10
856
820
867
9
410
550
912
93
986
94
50
229
191
833
873
768
650
544
382
2
556
701
208
115
267
952
48
608
505
962
891
997
790
156
442
744
568
90
127
933
892
324
195
139
621
715
745
330
847
960
931
396
664
116
229
88
447
516
397
709
528
228
675
919
537
716
869
396
690
875
172
890
995
958
964
428
691
241
400
33
243
407
264
359
828
802
443
31
622
640
392
360
98
217
99
312
211
961
437
257
603
902
207
91
915
746
872
768
852
301
748
152
927
430
353
357
695
57
763
440
859
3
52
376
821
606
325
743
166
125
422
436
46
913
119
34
660
229
519
159
834
334
376
254
217
212
304
764
769
861
181
605
1
597
538
142
928
224
447
649
786
259
195
355
362
587
45
747
215
96
514
732
150
840
879
667
71
245
99
989
720
709
919
391
891
710
703
52
405
184
461
428
517
523
594
500
443
997
139
185
399
792
653
812
857
144
451
196
745
245
583
841
955
676
819
258
846
155
892
188
378
274
462
780
156
734
533
411
917
307
593
887
958
369
346
227
555
406
708
86
710
325
704
156
438
752
991
549
381
755
999
263
737
594
111
302
385
154
867
936
596
722
910
879
918
600
293
866
644
888
778
241
807
411
3
666
752
408
711
11
181
70
763
797
18
444
337
321
559
541
506
724
166
689
422
825
180
330
412
491
830
462
633
688
663
912
353
126
419
430
560
578
326
380
324
557
534
461
296
991
742
436
782
974
128
349
61
435
371
84
15
795
877
378
667
293
350
641
947
677
468
987
827
396
765
920
22
239
754
9
584
632
991
712
61
431
993
234
382
113
942
924
233
712
617
271
537
726
296
979
538
478
253
961
147
104
37
355
450
405
934
811
687
320
894
366
608
633
722
217
828
862
516
554
697
976
198
428
240
680
446
299
931
573
517
519
405
360
248
518
757
664
992
844
695
729
358
564
698
409
421
717
256
441
488
679
460
931
594
298
448
333
674
631
716
12
711
942
873
620
294
387
196
111
646
472
259
222
639
931
986
625
281
143
706
763
870
607
177
591
359
256
89
66
443
585
264
227
565
695
612
170
332
317
930
6
786
835
795
188
635
101
118
183
771
599
420
551
396
113
531
950
630
617
186
428
718
517
962
650
900
756
112
396
506
524
81
715
111
486
949
641
418
507
594
264
81
831
113
241
866
536
910
540
383
894
932
352
126
947
705
588
697
191
195
322
920
814
33
888
2
280
298
50
22
426
887
832
815
431
495
136
743
142
332
240
940
318
30
623
367
231
630
344
417
977
151
382
863
564
984
901
657
510
312
441
477
273
801
372
932
281
41
808
8
730
623
340
718
594
269
588
873
479
114
590
566
81
142
448
280
957
746
533
468
297
563
729
98
143
90
896
937
260
7
752
252
486
846
844
243
915
365
129
724
723
4
985
510
778
843
114
497
458
798
906
652
226
180
313
20
609
320
183
329
189
710
290
30
89
972
36
395
230
38
874
806
336
114
54
550
237
337
218
194
552
588
665
133
233
555
917
982
763
985
281
285
36
40
722
455
71
813
286
920
749
347
663
223
702
958
305
230
335
264
623
632
719
86
419
668
746
310
679
365
510
869
250
610
360
233
733
50
421
195
108
181
712
272
267
956
134
744
602
912
741
213
248
121
670
581
419
227
67
495
492
482
114
662
165
927
18
893
41
845
442
387
474
165
396
550
352
777
44
610
787
589
235
371
340
747
826
739
495
626
17
51
597
104
989
823
355
116
109
262
307
726
856
774
371
738
384
754
692
410
360
115
554
953
287
413
9
346
51
899
243
408
818
518
422
258
745
697
906
12
180
738
284
35
163
790
610
148
73
630
641
939
197
979
569
715
881
656
1
726
632
631
456
965
232
992
672
254
480
874
408
342
670
651
219
415
247
88
889
781
437
676
843
474
774
70
841
169
590
444
730
143
513
530
810
927
949
333
672
976
329
809
948
921
616
276
510
912
229
972
96
166
43
977
200
56
587
644
350
11
901
803
554
21
771
274
800
786
228
623
958
416
251
684
361
94
600
110
609
324
578
69
875
229
310
290
89
826
821
835
909
407
790
332
305
928
354
926
920
779
778
873
113
463
78
520
725
426
951
390
173
797
466
261
435
800
24
373
828
427
27
394
297
309
549
346
66
800
59
479
105
18
900
987
866
933
805
544
108
649
190
863
468
674
372
857
603
365
100
570
387
674
33
679
624
23
859
279
200
415
764
665
408
865
877
958
424
864
138
804
568
847
740
806
23
596
943
25
143
73
593
647
361
457
120
891
954
26
118
323
629
112
908
5
939
568
604
340
70
43
286
29
396
907
866
299
534
848
95
461
309
991
966
867
180
910
436
568
180
35
10
323
360
772
226
107
49
139
485
946
999
799
5
748
615
205
881
745
15
960
374
326
655
607
594
331
578
816
667
321
143
321
340
931
266
37
727
222
762
481
563
809
413
35
891
653
727
551
596
637
204
553
561
411
99
586
536
560
307
270
957
824
5
282
99
989
112
781
926
45
464
773
912
390
858
518
926
209
712
381
17
582
214
440
528
576
227
775
542
321
105
591
73
53
873
253
796
186
835
843
328
764
835
95
273
39
815
410
270
527
269
199
299
572
439
974
344
415
856
459
315
719
911
484
829
778
667
580
31
947
74
989
157
365
31
310
943
698
546
60
306
468
322
272
944
502
704
645
632
194
845
862
29
525
327
449
752
296
247
933
322
579
942
146
338
184
124
195
911
862
177
33
934
15
758
565
251
942
670
930
177
17
148
908
87
759
341
440
1
428
780
877
174
669
61
868
726
705
783
819
248
785
44
403
115
885
431
945
17
155
489
394
779
262
132
219
136
526
287
785
536
753
366
685
412
727
838
63
595
614
210
173
741
942
285
287
665
391
405
611
488
373
704
33
363
250
131
376
326
94
62
335
539
97
910
409
753
85
992
968
361
104
322
52
785
731
676
629
295
559
453
797
557
312
405
877
333
180
254
418
830
235
596
885
79
277
239
197
630
36
333
368
567
419
190
183
517
437
725
238
915
492
804
706
215
946
631
838
180
297
454
605
599
797
561
831
35
85
482
860
269
238
792
76
115
665
720
603
208
437
11
74
165
982
140
708
254
524
22
808
337
325
824
412
379
548
341
80
262
531
685
685
11
353
698
651
746
853
589
294
895
657
778
782
219
378
840
780
212
846
728
7
287
142
170
795
972
252
248
215
13
329
686
511
894
944
305
374
774
207
428
59
273
282
772
484
825
696
482
199
578
776
554
584
918
706
811
687
751
5
988
901
604
639
240
40
469
623
573
471
64
714
261
652
832
714
335
807
598
987
587
483
239
19
370
461
131
231
641
759
421
815
371
552
336
56
385
406
885
444
194
588
265
924
182
161
244
778
743
175
568
949
619
587
181
141
760
438
694
617
443
422
28
440
288
237
663
847
67
991
205
547
871
514
292
5
298
633
1
183
799
345
967
790
226
340
442
834
930
535
351
124
442
80
231
466
915
843
611
443
15
497
987
60
850
153
57
41
908
958
300
227
673
188
281
348
744
143
308
442
857
597
178
299
118
641
804
643
188
489
446
176
858
258
109
236
690
750
451
586
938
998
187
757
992
732
539
449
941
906
764
730
692
138
187
154
266
265
408
467
511
181
595
270
500
811
840
855
299
362
574
466
629
964
940
377
184
444
856
524
12
246
197
904
419
441
188
592
305
373
598
14
730
729
814
80
742
711
172
868
210
586
217
831
467
51
705
905
63
765
231
472
831
924
344
881
751
906
887
83
837
903
85
20
342
904
604
579
152
599
386
288
108
528
594
453
371
313
389
79
676
900
589
778
442
541
491
812
290
652
250
593
455
809
254
219
965
854
885
101
191
522
887
344
608
29
325
285
127
795
794
522
391
851
74
870
813
479
927
848
924
361
107
758
808
823
923
920
50
759
914
327
581
496
272
869
288
136
663
253
70
916
7
943
235
707
594
743
828
94
641
165
485
379
7
313
905
453
354
846
853
746
448
527
927
326
659
948
961
832
979
319
24
91
34
595
493
174
616
813
534
158
273
234
652
64
326
766
675
246
522
213
642
49
173
45
595
673
260
814
206
2
493
773
479
619
692
991
538
366
207
40
641
551
313
336
101
387
623
330
781
284
621
64
171
421
362
46
827
373
208
995
149
660
255
790
32
808
744
851
931
841
330
286
267
204
556
342
911
775
245
93
676
945
828
852
393
795
803
495
117
999
632
706
487
426
376
230
70
357
288
319
758
883
387
934
938
291
795
725
217
217
189
449
913
907
321
275
424
194
964
404
830
687
980
497
767
242
510
691
701
985
393
415
218
44
17
746
830
671
778
835
113
606
199
775
703
400
536
355
759
892
411
321
79
195
596
146
919
353
586
810
945
310
991
749
472
926
131
986
269
582
402
417
807
342
131
356
730
714
679
774
742
828
478
62
843
224
546
810
27
526
786
814
162
983
7
472
723
217
216
777
480
581
170
383
19
178
557
562
204
953
496
457
277
263
188
711
339
986
692
413
365
526
783
323
741
62
754
488
568
980
873
718
580
740
884
835
642
322
618
275
176
38
276
403
796
695
418
849
647
21
17
298
667
838
217
401
33
645
569
913
578
188
611
748
828
83
601
330
638
781
134
567
93
966
122
770
474
17
322
50
579
264
199
118
663
641
426
857
536
752
698
782
149
508
894
260
121
284
829
403
196
962
961
625
611
310
460
207
696
930
996
620
804
361
441
985
854
35
434
801
327
450
434
3
585
339
432
467
742
606
982
341
136
523
595
928
653
978
799
438
771
603
401
580
217
239
540
861
539
508
175
439
751
238
510
571
442
99
726
13
354
93
74
196
558
467
28
674
719
213
751
93
902
587
529
914
563
923
218
211
94
666
976
131
355
671
728
25
119
760
865
840
252
16
675
64
747
493
859
458
445
856
285
793
396
970
821
51
310
601
691
889
504
202
294
687
67
245
856
152
700
632
563
300
856
560
107
598
328
596
645
197
413
842
247
483
132
797
841
608
766
942
499
291
136
124
691
925
636
527
757
948
40
405
459
524
459
772
897
784
670
914
510
308
211
960
120
13
279
721
190
379
460
668
582
748
770
224
66
468
318
529
785
827
113
429
659
28
226
750
475
959
534
825
3
133
743
856
33
972
261
923
676
574
754
363
599
170
878
804
143
797
803
345
415
75
595
253
529
586
439
85
126
82
983
299
200
618
785
289
31
774
970
267
735
306
723
549
510
943
150
652
192
554
407
26
136
563
711
411
742
338
995
556
191
252
531
495
65
239
800
638
581
985
235
715
98
334
273
998
396
76
274
260
20
93
504
712
586
701
324
457
567
159
151
70
512
485
548
610
54
177
993
649
341
912
537
988
710
50
514
299
539
594
966
302
198
280
210
13
942
650
273
253
417
267
526
856
138
727
911
975
972
747
624
449
164
431
973
472
901
720
383
681
744
183
243
358
541
547
316
635
555
773
968
504
642
96
342
906
274
129
911
409
80
75
566
796
372
74
475
385
801
969
513
74
913
90
956
883
845
195
478
263
840
353
229
544
573
400
925
668
479
567
405
814
451
22
112
586
257
360
273
188
13
525
359
429
874
262
568
436
860
942
645
692
412
542
376
373
813
628
452
988
117
412
218
22
574
365
40
605
852
378
613
241
530
208
569
286
454
747
179
151
532
726
749
202
474
574
572
941
786
529
946
305
58
550
797
898
217
217
919
536
943
621
721
719
905
164
604
591
804
337
810
459
473
759
635
193
455
220
410
688
528
21
525
88
629
652
114
687
524
713
668
215
325
67
20
771
667
362
611
763
975
464
923
67
703
827
251
63
901
501
758
325
730
306
897
535
811
696
821
610
382
928
369
135
323
515
595
933
994
327
547
10
742
346
209
175
623
842
75
336
604
638
848
876
37
231
110
510
693
738
651
716
19
60
321
196
549
167
909
784
629
132
550
901
682
380
608
955
254
641
808
44
1000
270
617
958
583
905
546
736
170
931
73
980
864
852
358
720
919
457
771
866
52
637
559
178
496
791
594
270
711
44
303
357
800
902
297
322
795
560
170
241
893
795
196
649
654
272
398
697
912
140
548
836
893
977
188
825
586
526
697
654
939
150
750
464
878
620
258
638
428
671
27
48
470
740
918
845
787
441
263
292
83
623
633
883
610
304
849
388
878
400
286
528
695
893
113
697
414
46
95
528
867
313
987
117
917
833
335
410
935
805
731
603
830
546
161
386
398
775
123
540
900
489
597
679
775
839
813
919
274
547
974
857
665
781
747
536
354
822
391
7
893
564
848
664
401
616
974
829
365
787
380
898
108
779
7
982
502
242
663
148
654
693
218
265
339
452
71
969
964
406
782
465
689
350
489
698
160
693
837
956
951
474
655
91
455
61
569
373
451
344
51
439
965
964
150
956
415
901
292
342
181
751
108
384
942
154
167
624
99
117
905
188
590
441
767
80
225
72
784
74
433
927
378
15
971
708
184
732
719
259
61
788
153
268
281
976
466
500
90
813
600
296
437
282
636
755
693
720
100
898
633
66
729
116
740
644
176
352
167
282
924
837
335
841
431
626
171
171
127
874
475
89
450
540
762
240
531
182
189
581
491
613
856
811
568
426
861
271
463
856
965
714
344
983
636
875
928
29
517
959
949
400
102
988
101
137
497
474
221
682
661
16
109
178
476
229
858
71
282
898
982
423
311
344
975
198
539
800
112
732
73
994
472
766
129
259
182
693
9
214
825
140
291
476
796
585
581
920
171
509
793
713
285
456
888
733
791
502
421
1000
462
814
19
439
356
403
149
624
268
712
137
171
558
361
405
80
591
254
353
635
973
250
117
469
718
769
677
969
288
47
463
531
164
195
606
67
242
910
500
777
883
431
150
448
896
311
95
428
66
677
343
5
102
901
845
117
52
41
543
209
277
980
890
558
66
913
67
607
852
731
822
643
771
898
968
699
997
599
96
674
891
314
1
509
505
473
622
683
381
525
77
458
930
559
473
51
871
636
765
347
350
81
873
882
404
311
628
542
368
221
902
840
669
737
454
702
216
933
581
398
247
9
689
614
70
518
274
725
594
443
600
977
948
126
582
643
747
599
996
222
786
552
142
382
1
31
537
688
587
1000
24
80
40
20
945
744
720
679
644
235
260
832
658
692
760
404
361
569
270
254
736
517
467
578
199
13
820
432
66
839
773
202
364
762
627
285
161
630
893
816
469
615
851
2
119
540
913
509
665
52
211
413
527
905
483
391
88
764
962
228
371
775
460
178
302
572
242
436
242
546
637
774
668
973
511
366
407
17
898
11
802
740
86
194
525
969
431
927
569
304
991
902
72
585
846
225
266
864
627
972
775
302
329
826
939
433
995
326
596
922
180
638
991
288
457
277
80
65
356
953
526
511
274
527
109
299
877
106
94
597
415
464
367
525
222
293
758
328
366
290
60
449
54
697
673
366
940
739
703
227
913
309
590
281
310
415
18
615
723
97
970
965
770
13
237
198
232
408
625
638
948
944
379
540
749
758
69
911
468
133
283
332
794
396
3
604
300
8
460
869
513
289
605
277
277
960
58
444
989
425
559
689
527
775
492
483
789
575
992
638
809
825
550
508
389
916
749
877
976
27
2
260
316
144
677
86
73
841
45
563
126
988
849
91
800
836
99
759
594
265
905
785
322
577
790
799
712
860
921
470
673
865
142
327
370
292
511
573
242
599
300
319
828
747
49
932
73
772
315
141
343
735
228
127
971
375
815
74
565
748
345
549
657
235
588
666
567
584
15
170
448
39
398
476
620
215
224
219
215
87
575
45
72
357
903
227
594
520
177
186
957
118
450
137
701
63
788
910
181
396
865
444
826
537
233
581
415
890
448
571
856
665
784
125
40
897
201
940
406
953
632
388
778
267
392
435
905
636
706
949
853
179
942
228
116
996
104
4
806
614
554
164
838
544
722
126
327
691
779
170
769
843
858
989
713
237
428
389
776
994
852
404
819
259
9
998
53
60
57
225
612
189
124
918
914
931
698
976
696
70
994
874
202
418
419
269
412
57
532
507
552
579
561
351
394
893
653
506
5
563
479
365
671
243
746
945
701
476
455
144
696
40
460
315
644
51
984
640
910
231
273
927
777
131
518
297
702
567
470
655
861
246
937
975
881
342
500
237
876
792
316
229
21
207
859
572
965
587
788
52
294
477
934
731
126
828
540
400
658
550
490
634
165
708
265
74
500
353
714
612
630
224
597
815
116
952
996
290
733
932
351
663
627
718
886
518
480
687
602
942
199
693
875
296
508
619
910
433
683
63
956
902
365
872
254
567
30
862
117
684
222
884
447
740
108
319
207
217
252
210
116
59
767
486
843
786
165
174
523
109
283
39
285
401
649
860
786
581
530
401
462
802
678
213
310
830
501
577
558
158
960
272
461
707
38
353
856
425
981
804
794
237
889
744
743
552
410
857
394
981
448
844
74
18
830
1000
112
163
795
463
302
386
57
277
757
890
905
210
56
835
509
134
549
61
124
901
106
893
389
846
379
770
295
446
865
798
652
215
669
317
132
605
876
227
1000
545
898
134
709
261
950
324
398
187
89
222
185
107
881
248
844
147
796
926
113
876
919
698
378
551
410
131
966
534
417
113
581
962
829
206
722
56
340
509
33
847
778
293
642
696
550
169
494
686
359
752
585
887
54
621
764
508
598
860
489
169
630
641
497
874
71
94
875
787
513
205
418
566
888
568
477
858
71
628
720
515
594
474
387
250
633
322
599
728
786
594
300
559
910
895
179
232
505
227
742
842
672
548
318
318
688
95
381
998
622
963
22
585
241
91
799
923
622
161
469
573
541
913
319
868
717
12
867
991
395
947
772
610
623
374
644
812
782
964
299
351
599
66
711
762
911
473
558
484
898
114
771
961
407
799
959
621
197
999
931
748
671
237
769
527
706
857
93
947
705
842
218
850
865
827
862
102
982
707
968
804
813
18
972
450
119
800
547
187
52
804
453
648
451
692
622
380
984
381
32
523
762
759
218
236
243
825
515
371
760
701
251
977
998
86
126
569
73
440
989
519
664
625
45
519
828
742
291
863
675
670
641
193
117
147
762
425
266
275
127
812
879
29
160
492
429
653
633
402
35
878
690
149
468
488
929
274
892
128
34
370
837
176
296
680
134
121
241
121
176
215
268
169
954
27
830
665
730
189
256
420
117
821
725
421
571
55
263
556
7
625
891
55
302
698
208
225
970
21
768
680
165
951
573
956
485
150
887
313
738
548
377
565
982
685
256
980
627
699
710
631
347
11
413
130
862
270
313
304
415
193
222
226
879
749
943
978
9
562
804
680
307
474
518
584
318
7
202
518
958
815
271
535
666
299
647
417
702
288
407
580
982
27
541
11
158
778
995
101
507
988
509
616
376
358
97
610
548
105
157
757
926
393
354
470
331
205
365
150
86
889
533
114
249
246
266
37
40
300
760
274
53
815
239
3
267
242
443
994
801
986
559
689
553
830
103
447
601
871
546
27
291
582
623
820
447
437
337
912
4
115
639
796
718
437
646
431
257
73
60
393
125
516
109
68
399
1
970
186
150
842
105
512
791
128
381
178
304
842
136
968
466
254
594
841
728
856
157
123
377
208
139
97
950
820
443
147
676
576
544
257
852
289
880
384
692
669
424
187
138
389
779
627
531
918
607
226
861
527
577
118
478
169
317
617
811
952
44
669
628
588
625
477
804
480
860
544
417
110
667
575
188
983
662
12
985
672
376
430
103
463
947
691
539
650
698
514
307
802
419
103
146
245
544
559
609
506
664
63
640
746
962
259
218
39
254
812
545
889
264
870
554
578
651
33
225
767
106
484
321
258
511
138
647
6
748
1000
899
253
278
483
469
143
987
49
346
271
143
399
355
440
503
414
575
288
770
177
699
570
605
694
483
617
374
417
189
891
617
233
117
630
32
372
887
268
382
608
144
724
325
187
733
638
641
159
197
358
691
175
679
790
259
356
888
245
87
532
850
54
542
22
546
36
834
125
427
871
136
663
973
65
755
252
169
430
244
444
774
3
963
526
750
849
142
571
62
491
924
258
342
595
250
103
584
87
650
11
113
111
228
456
574
114
135
193
570
839
845
127
882
237
403
849
923
114
606
405
175
846
778
46
893
632
381
85
275
591
236
484
645
438
510
459
915
635
960
246
761
655
145
103
476
466
451
816
442
402
791
223
510
354
821
758
361
616
309
590
87
770
119
724
829
723
849
329
272
368
812
650
226
381
463
74
292
345
778
320
848
732
388
274
177
274
430
663
607
897
224
654
937
733
830
447
265
637
512
114
580
318
906
260
113
422
436
569
502
869
145
911
284
336
649
522
78
991
355
669
123
547
448
369
476
201
382
955
281
283
805
714
15
292
880
411
472
529
970
216
615
729
504
468
59
906
655
731
127
177
135
817
898
420
19
780
609
480
7
434
118
71
960
591
841
679
842
34
761
493
439
263
630
901
357
123
453
105
824
797
711
202
768
19
541
476
510
28
282
684
131
510
363
856
274
719
499
494
660
19
587
82
134
345
443
506
365
444
781
320
677
328
407
795
632
46
655
343
107
749
504
211
611
48
633
308
493
802
945
659
514
830
703
239
968
510
497
900
200
859
700
667
850
485
950
956
653
769
459
138
936
719
626
463
212
207
514
551
456
723
246
542
679
365
261
522
422
485
685
24
654
331
768
244
352
54
448
115
721
647
659
532
632
747
874
823
342
737
741
35
977
260
415
740
579
80
301
797
745
197
507
9
996
287
255
640
86
790
845
548
363
468
570
72
172
821
120
876
32
535
635
674
985
38
509
118
75
342
505
178
406
547
468
14
575
794
203
684
605
991
641
30
661
335
487
740
944
508
918
886
166
445
784
218
910
739
962
94
11
50
191
223
796
424
737
335
682
986
734
457
129
339
855
755
419
910
311
778
76
591
777
515
965
311
984
889
326
560
181
176
5
500
557
376
173
984
46
747
652
740
611
541
803
975
242
491
584
898
417
753
8
975
689
801
717
275
418
256
831
924
385
745
500
494
187
655
866
164
845
105
220
604
46
526
214
839
758
994
914
791
778
874
320
822
913
379
759
334
93
370
190
432
697
96
50
707
787
599
725
453
705
193
132
973
761
766
154
247
276
668
896
853
336
558
806
955
998
955
707
138
523
138
722
74
483
721
868
305
190
461
820
916
973
820
996
515
298
382
626
729
554
475
919
364
627
250
800
499
61
30
940
44
665
958
936
691
944
845
619
803
600
645
390
462
671
173
394
850
576
518
117
111
447
101
686
103
648
489
750
777
320
875
330
414
105
596
420
676
957
212
467
181
91
403
49
366
655
412
234
475
703
845
102
843
376
360
889
95
984
226
43
456
868
752
222
174
487
319
978
935
165
126
362
252
350
776
228
37
13
520
356
940
34
317
810
591
41
861
128
592
176
391
81
943
704
390
669
607
205
269
18
96
318
728
590
271
679
787
880
41
723
402
395
277
483
176
237
61
391
917
75
320
347
709
607
31
10
707
910
412
333
100
191
969
865
541
567
805
239
882
432
369
553
232
878
675
79
205
410
88
834
705
896
963
70
770
280
792
677
782
103
1
808
851
275
246
794
251
878
840
549
624
980
962
216
54
588
409
779
235
895
966
709
679
920
904
495
345
497
724
89
86
306
53
869
83
317
469
721
745
575
153
229
633
743
475
771
629
169
12
525
898
565
34
998
231
559
213
717
953
473
148
148
945
711
315
741
252
18
230
234
395
721
919
2
783
762
305
279
533
978
708
555
634
610
503
291
599
474
889
397
680
563
851
549
273
120
656
565
344
372
634
483
599
181
582
941
637
849
854
708
508
196
85
962
944
800
548
7
33
997
348
640
245
837
983
316
540
682
363
587
752
554
5
18
561
669
964
961
148
791
56
79
59
185
20
504
895
996
633
852
203
797
161
110
316
909
202
575
997
870
700
593
407
54
843
884
332
41
633
570
595
794
142
878
303
89
862
663
878
918
97
542
861
801
44
410
81
6
70
581
150
716
706
589
159
71
37
958
93
838
514
867
777
191
665
703
66
696
852
956
609
151
988
766
752
363
98
695
63
300
698
1
486
291
244
740
403
144
315
544
692
80
754
785
457
385
767
170
236
543
804
492
383
412
145
401
776
683
297
552
187
478
640
440
441
436
310
553
963
47
958
209
433
312
841
592
53
53
704
67
357
271
30
784
585
63
531
979
396
472
230
116
99
569
43
218
630
744
577
312
222
918
756
879
107
897
960
637
581
596
611
755
480
233
518
806
438
869
815
401
303
879
85
446
733
20
37
403
314
791
204
761
497
655
219
173
281
556
614
344
845
837
526
824
260
348
356
307
14
18
209
907
327
651
894
148
127
20
385
81
130
617
880
40
673
549
27
3
836
169
485
465
885
975
659
994
307
210
415
366
483
376
544
287
594
558
19
241
492
76
377
894
61
460
132
869
85
172
749
405
748
815
549
572
662
782
914
270
784
446
266
202
621
6
611
350
941
60
891
286
527
837
972
811
659
735
876
985
641
516
792
639
129
64
443
804
8
53
659
343
252
317
365
238
567
926
737
637
575
227
3
755
992
172
200
159
524
264
216
821
208
381
613
521
512
525
72
870
810
310
746
246
775
579
479
404
823
125
623
391
988
905
143
650
517
490
803
903
18
764
495
447
238
9
176
22
385
639
481
290
462
748
779
258
264
588
356
704
512
825
424
768
112
138
889
383
676
322
132
172
249
569
603
750
652
979
662
102
978
720
965
892
548
435
642
51
76
656
662
18
883
992
86
307
735
835
346
888
303
141
292
37
288
620
521
870
965
336
423
807
301
252
437
563
791
767
261
103
864
657
147
168
64
100
921
643
159
692
134
4
59
437
537
540
645
691
130
885
669
986
195
602
429
433
35
246
242
165
630
342
677
887
81
221
68
143
450
475
116
357
630
87
245
47
916
975
991
873
255
746
864
328
552
972
37
966
994
181
725
23
79
56
303
165
924
57
50
900
478
779
921
849
455
889
879
726
172
412
136
304
975
460
133
146
615
254
187
107
757
410
527
912
795
43
875
195
258
170
806
444
432
276
892
233
213
676
3
973
880
477
245
153
168
526
677
746
11
731
364
956
340
518
340
29
593
16
714
166
960
734
536
907
941
148
4
532
485
603
259
107
849
382
321
848
316
619
692
339
80
974
765
1
943
634
457
897
937
254
431
615
631
908
841
494
672
2
806
897
59
333
700
592
764
200
919
559
556
523
1
687
334
432
829
914
819
676
210
314
208
507
274
530
269
399
984
743
408
88
578
31
430
913
861
612
85
397
129
930
984
319
931
982
165
272
28
593
387
848
666
555
229
150
725
706
203
270
389
36
388
764
741
852
532
893
75
895
188
608
791
60
202
818
445
992
802
470
902
457
594
388
566
822
30
585
354
355
261
1000
403
370
883
210
525
414
728
697
41
792
763
665
975
736
124
242
522
440
517
153
344
990
531
565
520
944
872
895
911
956
204
791
295
358
34
396
872
79
53
251
640
596
461
877
701
909
26
166
785
649
90
189
139
532
297
926
449
325
518
747
679
368
400
133
512
503
932
298
604
931
700
847
6
124
787
557
915
433
847
696
384
426
509
26
746
330
113
792
277
148
752
545
74
184
748
609
187
702
955
363
828
448
759
272
838
538
244
801
711
41
743
907
122
202
933
789
337
823
687
6
872
823
148
833
487
335
860
956
892
14
344
223
601
419
208
175
972
419
734
517
806
579
887
525
839
415
897
612
82
193
828
932
241
687
94
951
389
951
483
375
639
669
44
665
841
116
154
693
196
97
198
701
261
485
522
865
37
155
774
236
687
156
309
696
971
955
60
935
677
465
181
89
142
335
780
844
488
711
316
322
319
224
517
966
458
525
261
13
766
46
478
845
176
5
983
692
920
920
121
672
272
967
254
154
317
627
397
747
912
942
770
35
485
595
650
325
322
769
640
261
747
383
427
162
934
907
147
320
162
402
723
303
972
816
925
521
39
870
436
914
579
38
938
661
745
232
37
210
794
826
919
791
758
525
746
784
984
443
155
990
179
450
709
876
543
492
755
339
145
115
972
400
958
884
822
502
872
700
240
761
556
324
137
612
262
529
728
777
531
407
283
366
301
293
586
250
75
703
332
521
691
397
694
992
685
440
500
207
427
688
841
345
2
642
407
743
282
39
544
514
746
844
843
862
401
537
44
248
575
746
188
549
454
252
241
673
972
413
862
894
79
833
585
340
468
892
474
646
540
422
195
770
798
348
549
391
835
618
733
59
821
105
979
538
692
476
782
342
271
171
597
521
172
793
777
163
696
148
516
913
830
157
727
58
147
607
129
363
638
498
276
895
455
315
915
541
143
140
851
774
181
917
437
509
541
576
928
543
567
932
191
199
648
473
683
222
74
192
190
929
963
622
545
890
337
66
432
112
284
853
429
843
613
103
644
614
579
112
650
59
68
941
944
410
76
235
814
277
472
606
332
480
774
114
179
256
139
558
121
114
833
273
277
981
199
104
747
50
557
80
801
907
519
29
558
131
910
86
37
504
877
573
512
395
788
225
353
685
198
109
905
778
507
870
519
898
954
134
536
858
190
981
881
937
47
442
952
317
37
829
643
782
759
588
661
35
672
39
802
4
609
10
464
15
24
942
478
545
186
413
298
533
452
466
677
929
306
294
238
223
70
67
755
190
57
706
545
994
477
417
91
75
580
635
914
972
359
870
752
332
659
593
305
890
648
910
159
119
455
305
17
592
223
92
33
837
961
588
880
591
339
203
133
953
26
791
733
846
250
641
556
595
2
417
559
192
728
237
627
978
378
776
936
88
446
22
638
960
956
793
697
623
415
670
960
286
421
333
938
939
950
601
296
308
373
649
775
517
855
993
103
244
161
825
488
981
798
189
435
263
98
327
955
357
79
222
746
968
892
12
508
971
236
474
410
51
365
231
622
385
224
678
978
195
813
865
62
79
86
773
451
507
561
429
408
782
361
344
76
45
573
587
69
637
661
623
445
226
174
714
215
624
126
312
910
182
240
340
248
917
735
697
587
352
414
623
715
100
646
801
465
866
200
180
811
420
57
561
393
521
6
916
851
500
270
268
967
403
472
701
384
190
924
757
574
444
663
7
810
478
607
91
131
487
961
881
672
646
296
717
274
631
736
851
1000
81
347
343
21
936
130
641
362
434
968
15
178
764
534
798
509
44
405
141
15
325
595
606
763
797
289
445
969
216
825
890
545
863
847
84
397
12
155
576
681
966
939
434
663
209
10
126
380
131
129
263
50
60
739
203
42
70
244
289
299
123
476
182
268
644
130
364
768
550
782
375
742
66
556
768
496
441
619
80
857
780
487
347
683
791
528
809
244
186
170
495
366
848
49
326
592
642
738
207
298
927
758
345
407
410
306
696
305
971
467
998
601
480
751
318
644
434
444
455
57
449
631
775
129
257
719
289
570
870
968
861
39
14
824
456
796
758
833
215
88
507
526
14
115
172
945
831
968
382
413
925
547
57
752
317
238
545
388
569
124
756
686
128
576
450
429
829
341
885
558
271
672
538
169
850
610
491
292
226
267
403
154
858
838
661
475
51
122
456
848
624
533
16
396
933
925
171
713
464
88
770
567
653
418
179
958
864
120
265
907
722
245
796
781
110
33
172
61
158
315
749
189
533
174
777
554
154
675
190
723
223
246
25
736
128
181
262
678
336
864
262
732
875
475
793
646
357
400
827
848
835
46
911
463
918
511
947
142
697
386
623
892
59
992
585
115
826
519
672
625
22
858
186
738
269
415
216
442
950
789
492
252
310
65
127
594
112
333
840
476
818
231
969
759
502
522
638
553
885
147
945
141
939
788
928
360
477
679
373
549
28
315
225
27
98
731
492
538
579
244
45
285
700
898
638
947
383
352
813
582
330
651
102
400
415
112
56
193
250
561
218
634
865
283
83
764
520
343
478
697
584
404
550
17
278
728
728
379
825
868
613
544
216
440
746
445
379
436
570
933
976
803
752
500
485
363
185
652
463
726
651
576
108
516
113
413
317
116
55
761
466
134
100
973
17
959
397
473
908
121
893
572
375
612
676
185
514
21
20
478
395
58
635
697
20
64
884
325
731
154
430
299
945
934
828
223
257
144
87
373
18
148
120
836
453
939
294
306
286
190
6
884
621
957
329
762
496
806
278
778
165
527
190
674
633
84
31
351
405
129
200
509
712
235
518
881
697
990
667
664
204
203
299
872
806
816
374
60
687
512
99
293
814
660
972
269
612
977
54
243
9
207
561
760
269
200
267
233
530
4
17
91
339
965
854
557
729
382
865
128
639
950
906
451
504
109
745
637
911
387
40
996
84
39
778
803
791
575
463
983
12
271
380
544
294
382
735
177
300
589
321
668
458
130
641
711
12
212
86
229
983
519
862
548
749
106
833
651
997
469
362
225
782
399
507
460
306
36
674
340
820
645
899
700
735
792
499
479
645
981
711
366
437
316
311
557
117
423
924
437
267
685
878
755
270
840
21
352
604
114
877
535
497
362
858
981
213
142
49
424
64
250
249
463
22
4
529
532
432
495
553
454
933
82
328
8
138
658
817
655
15
583
92
886
208
738
278
660
701
845
607
44
358
68
276
502
858
898
692
212
455
523
869
438
828
190
433
250
982
549
718
828
819
619
909
155
508
793
26
192
250
263
858
487
371
346
587
758
914
451
946
195
101
865
257
102
73
75
561
26
287
112
377
703
859
281
325
997
896
651
966
499
569
945
731
615
275
751
731
768
743
561
593
820
333
744
182
929
130
452
229
846
622
371
430
82
895
438
554
467
328
871
434
381
691
362
514
323
399
854
782
559
464
114
522
295
291
203
276
201
88
50
843
131
91
542
900
584
209
948
84
772
980
33
947
175
897
904
233
106
299
525
375
120
989
795
897
81
686
315
682
291
211
226
701
405
35
57
850
747
465
85
988
280
256
568
168
672
883
113
270
877
88
574
978
125
509
135
90
513
435
641
642
194
729
831
240
736
981
832
286
377
815
210
483
769
56
844
129
271
178
174
237
33
7
654
424
908
223
811
866
690
549
940
339
317
887
319
528
430
844
792
313
141
250
706
740
938
289
498
691
393
813
656
99
774
256
402
688
685
321
202
817
600
272
120
991
513
234
118
16
972
374
634
534
423
215
149
943
157
629
17
259
145
240
497
542
669
61
833
915
30
213
189
46
497
466
456
186
368
169
241
533
221
858
853
705
417
458
737
599
477
537
573
753
226
505
249
599
475
8
989
700
596
14
206
105
538
251
41
477
737
734
148
534
848
70
13
640
478
141
966
99
877
514
107
819
93
658
562
520
203
610
834
613
90
272
543
174
657
894
494
220
529
660
865
596
32
473
263
362
721
195
556
523
779
624
659
297
368
432
927
897
434
140
398
981
496
951
896
501
698
941
922
669
746
659
345
166
400
665
113
509
870
926
632
706
794
247
954
938
503
155
663
31
891
699
172
916
551
662
170
83
792
611
126
311
765
967
83
556
223
84
449
984
353
871
143
543
732
97
232
366
687
922
158
558
251
545
758
588
465
148
533
603
990
431
58
463
880
143
981
195
854
953
807
861
655
906
547
548
854
487
334
298
10
13
356
321
217
671
757
762
896
7
713
611
143
122
530
107
80
106
461
119
423
487
895
537
915
603
732
669
381
833
33
7
874
563
498
491
832
623
922
570
175
683
553
963
27
742
172
986
93
434
830
725
778
334
358
135
775
833
196
340
243
426
619
39
653
477
111
936
49
581
549
539
780
692
811
503
729
67
641
942
669
906
896
764
680
287
803
159
476
626
473
797
90
440
728
178
605
606
248
851
544
681
124
875
54
103
215
999
273
233
76
505
113
297
828
587
241
221
69
396
212
275
807
635
541
195
431
664
32
160
974
621
790
594
217
985
188
272
760
323
502
623
809
739
77
420
273
647
622
305
746
70
722
695
83
618
694
671
562
656
693
379
110
952
370
345
631
259
435
824
264
893
207
3
322
329
592
420
721
242
968
443
947
243
144
27
1
735
877
268
301
950
463
453
219
233
543
396
794
97
592
880
166
354
506
912
455
922
355
324
118
512
609
982
326
472
112
494
505
518
656
822
12
941
245
687
845
167
66
963
405
187
716
545
582
508
475
300
864
719
268
824
731
690
496
657
353
711
104
513
457
591
88
868
320
847
134
926
4
640
258
599
332
37
105
632
604
508
28
411
728
315
218
331
260
593
894
790
829
462
41
42
565
489
226
147
450
165
822
219
925
841
319
13
755
747
516
650
850
284
47
927
710
791
118
263
206
376
329
746
660
182
134
196
561
712
875
376
802
392
264
740
32
636
896
149
561
42
641
31
271
232
759
352
160
54
194
592
481
522
775
630
879
934
988
96
626
35
595
255
793
992
589
956
193
189
901
508
994
548
830
614
197
150
371
650
580
427
517
637
277
96
99
236
912
291
942
982
66
72
957
735
934
609
257
48
202
837
580
727
545
323
65
376
645
415
946
134
324
491
791
106
177
236
753
248
102
487
677
563
243
78
49
525
164
534
476
578
520
209
826
402
99
631
186
413
864
428
535
601
562
175
391
393
518
904
716
691
477
826
57
627
747
15
228
859
436
420
858
407
267
599
753
162
333
976
358
169
141
291
554
724
487
98
644
122
10
880
688
632
772
329
233
900
825
859
130
506
545
249
333
867
458
586
506
997
361
375
802
924
853
742
417
686
769
160
374
936
597
15
530
127
702
642
988
144
57
162
917
35
216
547
309
178
492
911
335
833
624
889
765
518
767
346
416
68
270
380
677
548
570
718
957
425
477
187
337
525
285
855
789
326
435
851
85
116
896
596
908
352
45
401
742
338
590
922
847
990
994
989
967
29
935
715
483
416
575
565
377
208
785
317
736
332
29
422
509
935
308
315
879
75
416
645
954
546
777
230
394
494
302
772
255
357
25
35
608
330
766
210
383
221
700
675
544
96
504
214
890
533
720
17
708
683
47
482
70
562
576
908
757
186
366
657
691
207
364
266
266
691
377
293
158
561
711
372
47
8
127
89
163
874
968
800
726
590
664
431
177
795
333
655
532
119
877
555
345
994
781
46
515
513
814
876
632
544
966
971
636
322
254
282
295
652
468
30
453
774
549
444
9
625
44
662
343
938
7
452
246
175
778
813
478
753
337
312
711
421
260
216
9
914
921
116
947
215
207
716
163
847
940
941
418
634
157
305
216
258
611
753
668
781
139
801
538
11
72
900
374
227
456
344
182
302
670
971
389
731
983
130
708
382
673
78
97
87
621
70
217
310
689
865
664
221
796
288
779
479
291
791
21
889
164
640
738
902
636
497
657
609
893
679
578
491
83
286
556
666
189
745
325
824
95
45
857
321
946
92
679
142
926
138
76
586
671
250
336
543
878
80
966
167
73
29
223
644
142
42
342
445
974
849
567
170
490
490
469
619
412
318
49
226
340
499
832
352
112
240
465
229
964
558
370
548
687
475
617
750
861
900
516
131
243
321
393
742
556
673
613
910
259
356
233
904
351
494
547
931
902
905
445
156
803
190
674
896
167
564
79
480
933
768
377
536
476
453
310
599
449
938
829
37
656
130
541
238
500
704
801
888
410
329
688
967
726
866
597
766
699
967
338
842
625
441
431
315
663
73
759
349
510
340
864
938
994
589
950
387
572
828
87
964
886
194
199
272
824
578
177
803
967
601
851
5
932
372
621
946
857
982
248
292
222
736
716
940
247
460
40
52
365
82
662
680
637
840
332
406
524
133
440
649
140
2
372
378
963
705
794
957
978
636
730
803
418
125
914
299
587
243
190
178
715
857
647
195
457
575
795
443
428
120
306
125
111
945
764
930
594
553
430
415
861
84
230
971
740
239
60
999
250
457
19
905
759
621
374
414
300
232
905
461
396
124
751
640
985
318
74
770
360
525
613
651
562
149
732
489
346
384
609
793
648
138
77
766
465
70
985
341
208
983
90
49
872
195
220
862
823
243
844
970
599
506
257
246
904
865
301
788
866
532
908
498
734
588
792
139
394
532
281
688
489
396
650
78
477
561
286
643
625
448
683
639
851
684
574
257
285
160
468
426
616
659
484
537
618
368
658
948
724
624
821
732
143
744
756
705
833
595
560
178
574
890
80
251
503
827
806
706
727
791
860
728
48
339
577
737
427
548
677
610
524
151
269
421
538
565
707
643
652
31
858
434
522
627
476
218
682
815
190
305
176
532
77
671
465
583
926
369
425
203
55
238
266
260
994
726
337
472
437
667
67
430
605
810
734
939
578
716
401
414
188
439
56
601
822
22
977
928
810
442
372
162
144
89
605
846
919
254
677
214
265
384
213
893
501
64
871
701
927
761
958
311
960
400
71
352
284
727
704
784
327
252
141
2
629
269
392
201
619
102
590
982
907
239
66
32
429
475
233
4
717
531
579
382
82
865
256
205
765
548
243
17
936
168
583
296
977
675
949
923
668
962
688
973
722
780
517
182
619
266
249
29
859
947
310
231
526
631
277
834
562
950
368
797
239
684
637
112
126
204
587
65
242
479
83
194
224
175
713
867
57
272
213
166
304
491
170
960
882
592
987
597
94
239
993
682
23
707
701
758
429
196
380
537
961
856
566
527
836
968
637
516
146
860
276
391
604
288
541
204
830
976
223
226
286
952
378
965
536
104
240
780
844
138
179
764
996
713
35
36
890
94
940
432
620
95
686
882
733
425
815
405
864
820
861
757
194
490
585
260
36
495
653
208
378
616
890
589
409
190
170
527
886
144
25
3
702
162
272
896
156
534
290
340
267
708
118
718
889
11
192
347
564
295
389
56
779
509
991
420
758
308
359
357
999
876
380
172
515
33
190
888
142
607
314
903
333
747
100
561
585
563
244
259
992
14
306
65
481
444
299
641
944
570
880
494
828
977
163
148
747
388
908
886
333
80
683
129
844
801
608
347
19
476
467
626
299
793
291
702
791
497
998
261
308
822
320
827
405
77
30
377
557
781
447
108
563
155
284
478
787
974
188
682
82
994
721
263
117
205
122
407
335
139
905
818
979
357
258
726
447
10
223
755
740
62
868
841
925
374
992
355
335
338
432
901
695
171
711
12
506
293
579
93
751
438
988
533
478
271
187
848
866
328
900
95
137
43
15
558
87
445
815
897
65
916
531
502
946
999
946
834
2
869
816
887
629
513
144
714
560
72
697
202
519
66
720
840
295
419
502
292
858
318
290
996
438
914
77
830
463
804
942
150
892
54
966
131
705
227
212
407
316
536
894
456
212
748
674
33
379
937
951
255
11
511
129
578
513
203
113
14
48
880
685
427
759
75
13
629
302
143
248
302
523
810
84
494
961
658
171
530
334
815
483
717
345
681
110
134
930
47
436
149
553
374
340
27
263
306
902
143
24
722
43
882
238
772
694
230
491
345
366
467
295
408
458
120
4
454
231
494
130
89
149
731
15
431
201
289
178
565
903
142
699
773
896
834
653
636
452
665
993
392
749
976
247
131
463
456
45
498
97
860
827
578
462
344
32
573
908
876
681
656
230
795
567
154
633
693
185
809
814
197
131
424
973
149
941
626
550
886
254
848
571
80
733
856
744
591
395
345
901
365
884
164
898
223
728
722
876
752
836
998
638
182
293
374
941
254
48
182
730
614
217
483
666
179
533
84
826
281
967
196
127
86
621
497
843
992
830
531
568
215
780
565
114
741
97
994
135
206
576
399
705
5
632
149
695
139
108
226
550
863
811
622
1
212
488
181
285
863
15
288
737
595
220
133
938
821
148
618
203
275
528
117
864
964
879
433
660
921
5
279
574
109
573
547
610
103
125
407
341
787
107
45
524
374
482
445
741
505
42
174
789
56
815
575
519
553
841
93
905
751
167
758
421
53
113
970
177
895
753
820
889
154
61
158
446
902
367
468
764
570
618
449
618
686
414
834
393
862
964
630
5
641
901
423
781
169
378
843
762
342
960
566
684
289
646
479
924
550
746
752
786
299
468
599
827
308
785
448
364
135
580
112
915
174
106
263
67
811
540
216
224
902
739
583
722
196
397
812
47
117
412
34
301
538
687
912
549
785
526
379
449
142
472
254
364
528
743
727
209
896
370
621
431
87
773
150
852
564
802
611
597
482
177
94
943
8
882
824
749
670
286
169
47
796
693
736
503
756
561
205
714
839
873
712
712
44
970
677
644
2
744
929
315
503
219
865
163
861
422
178
300
419
929
356
425
31
631
785
798
313
70
760
962
733
162
148
570
404
249
749
499
546
196
622
427
176
685
786
159
496
949
736
323
856
942
146
460
921
330
996
174
836
763
109
760
793
592
737
639
366
580
422
18
403
163
794
410
38
535
410
48
609
127
948
767
892
96
331
629
52
53
410
416
172
592
854
143
29
140
821
890
42
265
764
611
944
873
502
16
814
644
259
296
513
650
955
241
489
359
456
244
146
102
836
811
655
693
967
427
192
33
910
91
47
477
654
365
958
218
704
539
329
148
933
394
689
499
861
98
876
56
241
945
930
886
430
40
635
353
515
509
950
628
577
515
341
47
819
158
143
452
458
338
654
46
466
785
602
442
240
770
13
281
247
438
262
237
517
332
258
242
646
422
326
542
590
898
316
498
135
22
858
128
374
606
515
45
928
38
755
790
902
348
311
558
797
485
499
976
667
851
491
880
820
131
383
35
300
644
139
330
164
758
115
291
315
394
941
660
287
281
3
405
901
416
594
750
145
141
123
735
21
349
403
365
289
592
157
635
284
287
347
561
956
798
831
923
344
875
173
564
515
870
111
954
803
134
316
223
894
245
608
19
866
54
693
344
832
46
844
20
225
199
679
507
84
324
322
634
928
871
813
184
939
323
563
409
198
574
28
255
664
162
548
526
460
821
466
238
730
578
231
150
56
544
174
824
945
627
51
603
385
619
227
554
855
490
621
810
457
296
92
700
14
766
26
717
107
527
267
714
3
914
384
642
345
489
510
791
302
727
624
773
585
795
204
406
378
986
638
264
752
188
648
895
607
684
235
628
483
714
350
412
890
474
580
405
931
662
594
845
74
231
41
292
903
781
851
528
551
863
613
199
315
545
830
825
633
784
351
940
209
485
217
914
579
676
494
518
816
860
402
369
388
452
188
205
415
190
754
356
705
540
3
874
951
405
230
531
474
913
658
297
678
651
386
972
191
484
630
358
300
6
71
730
864
770
585
397
351
630
375
825
57
977
783
132
801
129
617
774
628
890
914
873
132
128
430
979
9
210
11
981
368
357
243
560
164
248
386
785
793
732
712
466
576
105
755
403
354
234
899
944
872
741
980
190
984
577
244
693
960
572
108
755
330
963
648
296
788
499
625
760
628
415
196
758
82
499
106
958
711
479
342
222
684
188
686
183
393
305
584
211
348
986
28
235
706
375
952
967
112
793
712
881
746
409
847
723
607
308
222
419
98
197
34
991
914
394
958
519
91
407
836
194
833
127
947
295
365
602
845
226
685
429
178
816
490
23
679
777
998
430
740
509
626
876
602
498
698
946
185
164
460
164
53
337
665
723
795
510
916
319
382
639
776
343
678
536
360
170
349
827
778
940
867
59
306
993
176
762
632
97
846
204
853
686
226
97
164
612
192
780
339
327
575
221
160
978
233
754
956
634
65
622
246
763
931
263
311
98
608
741
187
256
380
904
170
811
815
663
452
43
629
219
877
259
229
223
172
393
729
620
187
591
736
348
841
607
196
183
490
146
935
735
380
725
306
34
687
247
531
182
432
226
907
275
175
537
41
164
992
630
663
664
712
380
378
480
741
136
920
501
129
81
95
56
693
689
599
432
126
968
357
231
24
133
818
117
662
584
934
123
195
329
143
986
650
523
765
880
726
396
664
529
962
667
893
932
240
459
310
821
985
862
832
543
643
554
82
261
196
278
650
269
541
590
129
701
520
996
332
143
280
493
851
458
440
575
220
672
190
953
437
880
109
625
579
976
931
396
529
452
946
663
592
652
22
89
939
629
449
751
332
199
949
522
579
869
235
709
513
77
432
445
48
557
519
905
80
743
739
231
537
794
531
904
913
239
153
442
987
239
619
484
234
160
947
738
677
483
12
798
477
98
493
546
657
639
483
701
706
881
360
107
713
127
411
497
859
195
519
816
785
840
969
654
382
418
14
988
13
168
433
222
45
750
712
448
837
569
845
3
997
975
7
590
831
661
519
728
357
426
567
801
192
26
141
760
894
997
520
388
61
194
426
96
599
275
657
414
101
512
598
694
188
134
546
74
13
852
155
378
857
359
650
515
904
363
685
854
817
145
823
244
702
737
695
608
431
547
790
512
21
676
710
693
989
213
479
325
166
535
117
683
424
984
322
975
209
340
506
318
529
192
876
235
290
635
483
596
464
739
390
609
596
873
200
346
611
285
173
289
667
301
96
542
78
133
880
709
977
552
567
879
395
639
82
837
958
392
583
383
212
231
723
609
882
344
462
80
48
369
343
142
294
131
306
975
385
23
161
618
914
148
836
882
669
512
400
999
178
432
606
862
2
772
458
942
857
822
838
291
601
400
783
589
417
271
379
830
297
41
582
96
53
523
490
814
645
962
704
72
572
607
487
827
434
892
335
304
547
847
450
494
660
453
348
419
425
364
496
742
243
773
439
387
504
260
359
66
64
109
387
984
969
949
252
555
102
562
87
643
396
341
266
716
729
220
184
307
416
833
782
341
470
301
445
205
453
319
635
961
766
142
219
668
720
675
31
642
555
103
610
403
890
417
435
142
709
727
211
863
129
504
935
707
635
731
530
596
403
486
814
23
592
673
453
736
249
444
317
85
518
354
376
11
427
452
853
13
421
314
853
934
130
494
122
86
646
982
879
53
677
57
901
495
539
326
180
411
871
859
482
612
351
75
109
616
442
403
995
769
388
857
20
160
246
333
111
838
747
823
230
877
163
791
858
111
163
593
937
697
847
225
538
269
772
613
698
79
774
372
986
443
861
240
341
771
250
350
662
651
870
157
419
798
311
90
306
117
230
933
565
814
695
552
151
252
820
812
370
210
295
428
929
311
100
78
644
639
793
299
163
999
213
560
169
832
379
453
474
541
623
113
311
865
746
810
904
988
68
175
107
262
774
669
480
783
899
696
687
585
592
242
518
848
92
62
137
400
932
161
398
713
495
817
188
771
962
432
806
471
93
272
316
665
8
545
669
553
366
344
138
923
864
677
284
613
24
190
209
691
588
220
375
38
667
484
582
444
986
75
61
843
188
405
747
19
187
419
981
990
955
679
813
269
9
916
61
371
72
250
43
274
16
558
657
11
290
417
105
215
457
618
73
227
334
518
663
330
518
391
678
785
735
484
150
587
546
719
128
313
434
861
859
966
179
463
410
494
740
124
704
508
569
420
716
810
408
356
256
505
99
362
375
849
928
642
942
495
295
172
330
456
285
748
491
946
840
276
904
233
775
919
16
771
881
825
843
178
654
878
321
83
39
348
864
457
682
361
323
815
815
816
217
599
867
772
675
114
298
334
973
629
942
772
977
650
372
917
47
897
397
918
171
232
831
56
192
640
102
648
994
373
88
28
432
534
829
217
592
712
394
164
706
758
222
406
675
417
757
525
680
346
9
98
808
982
973
694
982
837
524
30
708
55
450
651
347
498
821
329
668
184
753
924
406
642
940
647
460
644
44
474
107
801
126
984
339
720
843
39
12
785
50
529
999
104
781
873
952
889
331
100
611
292
284
92
783
771
917
20
297
135
342
96
227
767
112
502
649
925
816
760
40
666
319
887
165
676
936
356
993
216
778
305
711
480
924
415
409
870
870
601
375
97
921
982
229
562
777
597
318
158
641
979
875
506
542
38
500
638
429
620
359
313
852
788
380
488
637
97
414
924
71
113
960
572
524
986
611
150
338
144
787
304
62
92
708
816
774
833
773
623
369
668
718
794
105
995
947
215
664
241
441
444
245
278
509
109
924
481
436
223
643
112
785
56
685
834
682
487
450
11
961
330
648
869
408
763
794
768
702
836
13
546
842
991
725
409
16
693
736
864
850
534
629
970
987
662
110
600
722
942
155
425
232
75
367
86
575
769
967
370
190
165
212
242
132
945
858
268
627
924
473
309
843
482
41
351
944
905
293
7
605
524
657
517
172
596
529
58
554
17
807
784
756
268
303
290
684
525
654
156
492
439
859
776
260
943
399
966
243
350
173
717
291
144
186
36
273
101
969
27
517
825
225
236
336
330
91
819
684
60
693
266
874
593
388
261
67
352
213
759
931
830
546
501
492
181
960
19
656
572
541
621
351
331
696
991
505
766
641
821
331
511
275
281
503
382
131
305
859
41
446
322
183
184
181
558
503
620
964
9
62
315
549
981
803
453
351
387
768
588
23
92
283
238
828
224
184
624
797
746
630
814
235
558
220
249
199
79
274
453
978
530
75
765
436
143
862
94
322
115
104
16
310
426
361
26
556
554
653
383
46
725
776
790
852
586
479
98
688
70
734
322
857
813
609
533
716
668
402
604
328
765
761
348
827
56
498
349
345
513
683
644
43
941
367
477
922
908
30
528
582
416
369
415
58
766
636
713
159
520
65
485
517
603
300
67
645
348
941
895
916
733
441
246
271
157
655
108
891
817
247
803
779
197
47
612
416
201
170
430
225
197
401
350
558
615
889
212
332
739
696
335
229
74
96
50
588
951
835
228
737
59
727
637
512
258
91
881
179
304
497
641
750
111
256
129
981
785
845
987
944
935
234
344
135
731
672
376
542
726
62
521
939
745
459
441
976
26
606
922
279
364
657
193
879
218
410
533
768
639
432
629
278
352
438
871
281
577
156
668
922
961
712
897
692
510
240
806
193
577
55
62
864
739
175
116
253
897
461
754
195
26
900
518
367
804
806
660
262
765
858
434
577
717
892
822
374
926
348
245
143
953
80
405
77
89
42
183
440
80
969
429
920
156
782
547
227
452
896
19
24
575
9
410
468
393
209
906
259
163
457
183
127
729
582
220
80
841
949
704
622
634
838
846
325
885
438
732
852
992
32
844
518
515
628
995
980
730
776
728
487
899
810
193
395
831
46
594
340
917
765
585
530
987
957
400
110
254
847
77
466
98
251
886
604
665
618
926
486
66
478
927
275
481
636
488
16
605
110
323
148
707
271
626
626
13
84
305
128
272
655
689
13
115
503
272
204
280
132
203
147
840
483
532
386
339
817
661
1000
133
398
59
406
293
139
71
541
156
991
549
480
952
463
143
913
2
103
277
702
638
171
266
983
349
10
542
846
644
811
671
673
797
593
705
648
923
167
414
756
815
842
104
856
600
374
93
50
522
429
344
604
135
448
426
173
749
332
764
904
219
818
85
292
103
756
62
323
730
756
448
539
971
840
381
123
349
791
141
26
688
876
355
436
640
488
534
619
315
49
893
256
703
200
567
925
743
912
721
324
715
646
568
131
67
107
942
168
946
452
947
653
452
51
148
898
86
990
915
757
944
593
846
504
960
148
615
569
916
866
213
760
960
895
321
175
139
827
454
989
787
733
596
706
651
226
294
269
326
427
541
611
905
996
345
874
740
605
553
522
892
283
400
993
109
109
212
406
196
631
902
32
204
185
210
913
193
40
110
60
227
909
459
108
853
898
747
184
592
432
769
5
832
11
126
908
90
926
748
583
848
236
40
788
1
332
815
207
509
446
937
917
18
286
467
638
75
814
135
56
23
827
205
38
855
657
106
449
86
747
749
674
189
331
107
629
242
714
452
222
235
911
655
773
894
506
40
856
2
643
640
386
909
994
93
555
353
414
77
391
762
718
893
293
924
718
777
903
283
181
545
39
162
870
454
253
858
219
511
751
959
434
34
56
159
64
951
784
564
132
191
371
738
958
521
379
749
696
375
268
62
435
513
184
425
423
859
327
825
634
492
951
171
397
557
901
623
261
815
861
381
647
660
169
309
44
687
136
983
701
329
290
631
827
633
875
947
284
994
212
968
630
554
280
21
165
2
927
255
323
733
708
427
356
652
229
424
743
460
214
447
191
880
281
948
399
157
518
128
987
109
529
316
106
154
574
550
307
49
774
523
170
501
155
369
39
440
445
905
989
478
147
593
788
39
389
907
180
675
457
794
329
345
702
604
590
810
734
216
94
843
433
71
823
656
308
486
936
790
187
926
120
747
34
884
662
799
939
630
725
729
968
381
76
758
612
372
98
529
42
895
507
836
212
629
575
713
173
484
74
614
575
730
354
694
476
425
171
588
25
997
917
678
506
384
908
587
504
312
236
483
714
140
500
861
952
177
404
652
530
569
840
861
13
608
526
470
759
842
747
978
352
438
2
811
204
46
625
778
136
869
561
938
715
683
517
471
492
353
651
662
54
759
807
663
966
120
64
496
290
413
35
648
321
963
890
712
621
303
592
752
185
88
182
427
814
192
252
518
383
113
931
128
683
452
808
735
986
568
225
275
281
445
280
584
377
456
695
877
735
973
442
423
898
710
622
179
900
272
660
989
860
647
305
869
248
248
264
13
992
724
573
434
682
907
963
542
597
202
531
572
193
200
26
476
997
527
920
797
533
726
222
89
52
536
700
630
338
11
755
555
798
798
713
30
370
310
694
758
527
680
554
954
808
149
613
879
834
975
992
181
760
55
458
569
447
167
576
818
425
189
851
686
892
665
271
103
577
834
343
899
281
598
258
429
306
943
338
660
791
987
233
709
174
212
687
317
616
388
846
494
237
380
180
389
463
338
126
474
581
709
432
278
873
176
18
271
320
859
907
924
933
86
375
661
220
613
44
185
169
425
44
611
379
152
759
958
681
690
891
800
637
847
773
308
815
686
883
486
644
772
541
123
915
740
595
895
758
386
739
74
975
42
748
505
203
107
567
887
224
431
645
875
161
721
352
211
953
233
622
922
721
843
182
580
134
957
870
779
870
879
569
266
632
949
241
630
933
200
371
19
56
330
913
181
166
491
471
977
559
799
17
639
399
463
941
257
129
132
582
359
922
412
685
11
174
465
437
552
38
309
799
940
457
686
901
691
950
389
132
570
675
521
404
519
922
446
796
776
239
151
378
796
874
285
603
353
44
432
47
186
849
46
668
624
299
55
973
917
22
348
677
387
700
232
474
130
178
474
545
689
504
735
274
34
835
33
462
219
308
371
999
284
437
830
557
332
578
223
385
219
295
879
675
969
230
246
310
846
199
783
6
998
817
41
12
731
877
928
546
750
118
898
106
179
731
204
635
752
187
430
266
349
516
204
61
952
154
393
684
203
905
110
466
930
330
508
666
437
94
735
36
884
432
379
985
768
891
399
731
401
951
842
850
257
952
632
520
282
990
308
600
521
103
887
380
949
108
959
498
15
910
717
33
187
977
849
227
757
931
152
667
262
897
274
956
143
323
196
130
670
477
964
91
762
732
676
326
36
27
948
68
326
639
893
811
940
466
167
815
144
592
779
825
690
792
168
721
758
990
525
245
299
419
458
256
648
362
870
200
202
934
358
586
147
296
536
338
470
63
429
792
965
460
484
977
548
911
811
579
953
387
977
634
784
770
51
564
24
941
630
669
263
45
251
519
357
653
935
35
732
100
630
183
279
342
933
360
609
75
814
497
485
704
21
870
379
980
449
388
474
791
80
870
860
602
966
452
354
554
396
786
143
41
575
161
408
887
67
1000
198
924
832
452
67
826
863
969
435
583
345
805
181
854
746
361
725
773
466
187
739
471
497
206
665
700
37
468
428
458
172
287
87
443
537
163
669
514
331
272
108
39
200
637
46
194
253
322
209
809
941
107
241
313
595
151
138
707
174
80
905
252
197
800
646
747
846
76
72
841
999
589
319
823
280
749
49
738
264
1
46
445
652
777
892
487
577
480
865
218
185
134
887
676
317
386
230
106
390
591
667
876
570
583
958
770
945
586
866
276
673
421
377
553
32
804
455
208
869
70
439
892
223
86
143
968
756
478
832
221
240
546
507
619
506
409
346
661
182
975
731
709
50
323
19
47
33
939
100
58
691
76
833
94
556
141
650
64
851
677
975
755
882
948
612
186
908
600
940
65
393
164
551
544
327
372
988
34
728
440
334
795
556
444
730
371
979
914
336
728
369
575
858
112
435
954
518
243
644
209
292
435
432
114
269
642
750
604
264
221
156
672
171
412
32
678
104
163
475
351
66
918
78
826
750
463
133
102
78
688
731
191
259
439
886
50
482
215
61
128
819
564
421
967
567
451
744
847
57
768
123
901
882
413
559
479
641
27
40
796
516
593
964
45
458
560
619
248
301
74
948
73
880
175
45
731
91
555
626
851
899
563
264
931
494
679
278
548
129
596
30
32
728
379
797
700
975
933
551
84
469
125
735
793
457
472
559
797
852
284
432
932
482
462
908
396
16
997
902
836
573
316
9
382
832
258
469
653
325
434
698
323
719
114
323
313
106
586
359
35
679
172
484
437
784
640
398
761
959
831
865
16
486
714
386
227
975
914
390
355
656
25
457
669
399
628
384
31
954
10
801
205
546
38
685
834
741
493
321
164
467
453
187
950
176
977
800
236
376
438
764
854
211
342
143
554
323
342
801
669
971
506
549
69
248
542
765
969
328
856
666
841
810
812
540
267
652
480
91
99
637
515
477
674
33
534
775
182
898
513
367
471
485
258
176
740
329
998
792
583
896
468
238
792
118
659
567
191
757
566
526
506
289
854
218
961
927
361
109
826
479
727
717
654
958
272
12
295
257
435
926
73
753
691
319
699
376
918
450
609
574
569
271
384
594
876
866
868
661
526
930
372
987
899
530
111
2
34
240
628
854
901
420
503
997
471
578
96
657
306
722
403
65
99
117
371
602
649
115
189
433
271
583
109
773
520
965
357
653
408
249
557
969
27
881
873
599
555
234
791
619
210
343
22
969
568
448
553
444
70
359
252
571
219
760
777
733
150
358
732
891
796
228
180
406
835
769
623
734
962
464
528
237
802
9
309
948
964
472
444
892
300
817
55
496
460
540
857
670
170
161
847
408
533
19
483
104
798
158
403
371
690
66
913
797
420
725
573
980
886
688
215
156
452
914
650
927
894
670
121
912
776
135
293
630
550
214
196
559
150
734
81
96
690
372
580
131
181
621
918
8
820
617
180
939
521
912
787
342
825
105
418
170
227
793
580
990
269
500
897
502
445
54
8
202
77
406
607
111
859
17
816
833
663
766
524
733
571
792
798
683
796
791
726
660
342
94
346
444
760
264
374
829
365
53
530
23
597
296
191
387
4
743
931
260
508
861
286
379
169
378
733
317
686
703
439
461
247
382
804
244
143
438
224
773
783
792
752
509
343
936
563
371
319
707
198
494
669
315
587
861
70
723
753
241
44
132
915
133
372
580
441
960
245
597
716
335
71
471
548
68
722
896
157
486
274
710
145
784
958
953
118
364
151
734
763
541
686
219
271
579
699
635
969
745
498
311
893
957
657
677
826
644
668
585
30
645
985
513
469
321
217
987
866
571
596
55
300
102
532
743
421
160
258
204
527
864
95
738
931
451
838
892
39
50
111
660
530
998
332
158
863
384
92
237
97
217
331
198
676
563
700
153
378
62
874
603
129
455
395
479
745
176
841
250
950
554
690
688
218
917
335
533
87
729
65
607
589
890
708
917
358
528
844
862
790
903
164
996
365
559
573
672
845
465
126
536
642
709
721
58
32
238
772
188
297
243
731
808
110
86
437
844
610
21
744
776
742
607
786
838
350
381
524
344
443
297
951
449
784
439
411
140
709
747
53
405
621
836
326
331
154
504
777
366
382
197
151
82
791
509
933
567
928
819
19
6
806
232
181
97
138
367
326
698
454
921
342
515
979
583
504
671
917
605
963
757
444
295
874
286
268
727
82
547
118
229
105
505
871
580
347
761
330
403
104
551
859
921
929
462
162
126
369
800
535
408
898
554
776
854
123
497
818
770
993
259
814
447
761
121
90
835
954
894
855
577
424
483
69
822
852
627
159
315
750
893
558
545
81
190
205
163
99
965
193
406
950
748
741
61
798
915
546
343
42
381
343
117
219
406
206
113
768
889
727
104
731
298
689
564
794
875
294
975
835
866
299
776
264
307
647
930
17
329
305
237
996
36
72
787
144
768
34
428
79
945
220
698
429
763
758
475
541
721
477
461
285
337
489
756
19
430
760
953
608
35
23
609
606
366
731
468
290
217
878
538
299
877
664
950
20
907
962
558
723
127
449
419
669
764
105
574
64
992
484
95
805
31
803
939
372
569
431
991
151
513
796
594
677
971
79
1000
22
945
336
413
583
406
802
733
59
319
273
672
270
705
351
649
790
993
300
771
72
793
969
221
839
684
994
610
74
783
60
178
820
664
494
259
383
666
917
83
225
743
948
823
15
798
223
766
846
870
81
638
563
638
339
388
552
442
501
205
78
453
596
145
445
640
606
488
842
939
94
896
719
383
208
491
942
967
736
218
759
738
225
243
846
914
497
672
287
845
78
595
383
281
148
291
602
718
630
468
819
563
946
562
224
482
796
450
949
567
8
422
473
892
188
879
373
642
373
35
805
202
398
826
403
535
976
377
950
733
791
592
250
808
36
887
138
710
915
644
437
48
584
709
992
199
902
116
609
314
133
305
852
239
458
271
153
525
711
436
626
485
318
582
329
760
761
803
419
951
273
307
813
657
638
848
534
697
135
715
837
391
692
508
621
511
248
362
364
917
182
914
30
959
421
39
947
447
494
325
671
343
376
318
227
372
421
811
935
439
97
818
225
65
476
450
466
59
675
583
859
300
490
64
847
803
523
245
372
225
969
760
493
561
70
826
579
99
966
798
302
598
296
362
126
259
437
554
873
323
726
711
173
7
334
600
330
51
745
217
186
399
920
166
60
351
340
107
759
113
34
505
913
810
645
766
647
883
312
937
672
306
891
299
427
179
588
582
826
94
631
7
470
110
968
55
973
321
348
679
148
751
315
645
378
778
818
853
453
343
141
749
503
979
830
424
449
83
122
569
552
904
135
251
237
464
758
358
342
975
731
669
362
353
880
722
33
114
857
27
826
287
22
753
533
949
293
667
144
681
880
11
630
511
851
978
119
908
349
628
134
999
144
427
254
455
877
44
600
445
26
700
978
619
133
156
424
365
288
359
120
446
206
896
358
724
492
654
298
864
850
500
756
795
53
387
155
233
488
1000
88
755
923
969
610
750
987
697
543
81
500
68
558
428
416
643
744
104
627
488
694
607
307
398
902
273
781
184
376
194
123
579
947
988
830
544
719
100
947
977
433
68
962
337
335
574
627
253
280
189
655
983
397
393
844
495
644
879
798
18
950
116
871
140
470
895
323
921
659
859
993
40
526
72
970
677
393
296
829
697
972
968
43
738
352
845
45
918
766
888
270
268
637
246
205
430
446
134
128
814
452
987
727
212
110
531
255
800
366
284
211
568
622
603
803
499
297
576
599
208
364
939
849
356
161
738
926
860
68
615
228
827
345
471
642
178
546
729
403
116
447
578
738
974
349
405
226
462
943
72
180
29
679
817
718
861
716
345
368
20
80
103
218
384
622
830
631
317
730
213
519
466
515
882
975
681
373
54
863
821
410
823
591
123
193
494
888
884
708
365
846
454
183
65
911
905
662
869
752
288
814
450
152
113
503
135
161
513
41
77
756
577
912
700
149
520
967
411
736
661
753
831
354
677
690
767
198
230
247
683
240
857
166
741
459
984
22
325
536
996
107
569
918
582
694
589
322
996
232
18
804
430
925
954
520
448
427
626
151
299
128
916
769
985
592
380
627
156
233
557
915
252
257
165
69
846
210
264
617
781
234
557
841
542
253
812
804
289
886
804
379
80
826
260
965
161
797
68
540
594
970
372
513
144
891
269
612
86
564
526
720
515
316
101
96
828
466
301
947
255
632
61
637
741
697
214
168
982
102
570
700
147
107
314
22
676
149
523
868
529
193
575
881
461
269
838
866
209
994
316
672
957
951
852
683
80
242
89
448
985
411
630
394
779
189
745
936
633
192
530
555
963
800
643
552
956
916
607
283
568
211
205
634
831
757
676
380
202
661
260
864
738
428
129
113
65
296
915
122
481
726
833
522
40
538
876
277
124
954
685
366
854
934
450
624
656
746
673
57
442
671
674
976
161
117
501
223
924
169
281
652
509
785
133
730
828
448
460
828
835
48
824
307
457
171
620
10
332
794
474
114
549
557
602
613
122
426
386
883
615
580
67
872
226
754
765
481
608
141
3
590
907
167
535
21
812
116
554
448
890
619
299
876
105
488
645
881
258
246
549
212
971
958
91
732
9
654
424
902
933
731
165
204
569
178
625
939
273
397
812
826
771
674
309
704
206
73
992
426
66
630
39
710
891
254
825
356
991
664
133
675
925
25
535
452
170
688
985
47
218
573
360
463
344
309
198
348
388
173
919
948
233
259
595
928
77
73
717
874
217
904
470
19
829
953
768
394
131
130
624
188
421
882
517
564
674
170
47
554
804
957
548
966
220
157
317
382
26
35
754
490
31
460
45
922
811
251
955
756
160
109
954
598
662
237
146
916
547
854
421
922
649
216
852
824
95
655
566
730
267
406
285
813
726
663
216
623
16
404
261
571
705
990
330
707
592
473
94
843
736
811
719
10
841
919
907
961
613
611
135
182
852
965
81
429
436
621
68
339
863
819
802
60
663
738
832
175
848
845
891
400
523
497
768
693
941
26
399
419
554
874
652
175
93
129
662
726
286
992
637
253
603
269
774
777
342
13
305
195
416
773
684
827
474
779
678
768
337
542
380
608
303
996
248
291
555
323
855
972
783
14
379
741
116
575
834
991
662
505
641
30
246
842
437
250
451
589
935
811
665
833
269
317
682
205
464
424
291
603
617
637
465
786
899
854
965
535
728
327
618
531
320
810
118
48
366
628
889
824
755
282
491
183
111
979
36
615
411
200
332
526
100
970
795
794
921
52
697
119
174
653
989
869
190
575
752
292
638
956
316
501
677
883
232
600
79
181
565
694
187
646
432
277
969
824
306
688
514
181
396
893
992
216
292
855
511
569
178
133
310
714
120
162
416
166
337
883
232
428
906
981
531
111
48
37
972
730
998
313
563
710
482
711
478
33
990
722
232
785
343
779
522
567
572
525
961
384
712
924
516
156
965
47
740
431
586
605
752
226
981
986
496
207
767
646
42
525
955
187
535
758
984
340
940
315
97
388
919
604
398
272
20
996
4
719
827
348
888
273
918
426
373
25
253
73
753
176
82
409
171
299
617
609
733
319
445
95
793
783
122
58
497
943
484
282
971
538
931
186
972
944
364
849
446
527
515
526
184
618
116
829
694
522
727
337
490
363
81
829
203
379
467
755
348
477
51
818
81
478
983
759
19
508
830
497
18
395
173
827
850
813
162
752
861
82
453
369
29
260
244
926
333
134
21
330
954
247
271
891
656
914
611
550
616
461
727
173
102
619
56
764
639
58
367
600
745
555
256
347
870
184
124
230
925
200
367
158
661
24
359
531
199
833
307
123
242
781
199
62
800
802
901
387
836
295
890
138
867
708
259
175
388
195
400
222
978
76
202
706
80
779
698
23
736
304
832
797
9
45
443
554
447
939
577
983
675
544
26
615
150
589
281
313
178
981
178
470
515
12
187
142
271
748
592
676
391
192
885
559
651
804
275
319
11
447
561
312
143
584
592
148
129
870
122
323
672
862
189
329
606
658
44
186
163
741
275
826
225
122
6
241
762
206
949
635
735
439
660
85
31
893
552
363
410
438
105
657
1000
30
227
891
640
976
908
226
232
700
164
109
315
701
741
930
287
866
222
959
30
258
983
701
235
830
900
280
376
232
854
707
106
54
841
185
842
383
921
665
431
507
362
964
90
976
54
645
261
987
675
753
628
251
170
223
308
68
789
451
146
337
337
96
112
618
283
626
46
162
85
532
365
48
418
403
912
155
987
249
796
737
276
563
971
799
858
609
263
281
911
350
784
326
148
224
933
524
694
721
714
112
358
340
716
520
324
22
909
571
571
625
325
866
199
340
858
595
412
201
622
79
126
9
755
846
43
56
139
941
550
10
207
453
3
187
923
990
777
259
60
899
986
87
85
580
895
17
344
172
894
447
719
188
344
904
633
465
731
177
72
894
353
274
308
977
186
119
106
206
682
915
525
619
975
57
862
665
403
333
880
683
288
887
256
893
652
96
61
757
905
73
207
18
572
981
987
452
827
731
243
655
904
908
232
736
503
977
976
854
923
911
713
928
973
388
96
712
696
618
957
647
528
685
770
554
842
987
428
279
697
25
599
874
276
292
705
743
668
484
524
455
630
580
528
630
449
616
323
340
309
110
976
1000
374
199
600
593
395
490
293
389
767
520
402
11
853
517
152
836
864
822
866
219
742
952
348
968
308
777
540
828
394
709
210
461
810
89
264
577
765
222
248
401
806
603
766
629
418
944
794
382
190
520
366
463
840
246
673
353
457
594
419
20
51
188
155
548
832
414
419
42
720
907
731
25
229
139
875
772
233
601
452
636
113
302
380
443
430
364
882
456
595
537
509
235
957
340
914
991
354
357
432
619
460
958
972
713
198
326
402
271
49
207
374
702
376
260
498
977
766
217
876
485
935
309
279
206
1000
619
655
326
741
25
237
279
59
427
264
562
971
801
191
305
356
423
325
754
164
276
29
313
914
298
971
717
176
572
429
260
151
25
319
729
600
489
454
830
156
205
486
472
495
1000
182
208
893
372
916
497
511
684
746
254
70
510
48
273
729
934
433
755
603
245
583
115
807
78
752
663
896
473
868
545
261
759
588
532
399
401
186
889
962
194
867
532
130
238
946
150
190
175
349
763
142
37
59
473
805
925
463
754
127
404
18
738
401
174
321
355
619
90
439
99
488
60
304
426
503
678
106
494
61
733
864
8
786
870
762
459
130
760
448
905
838
109
187
771
34
707
671
841
559
519
324
729
639
498
144
635
180
407
470
132
729
433
599
46
656
811
808
238
202
953
208
243
852
839
793
274
869
541
229
49
990
777
168
280
963
357
393
403
53
213
625
351
686
470
662
703
112
664
381
572
362
809
250
970
771
438
190
195
47
190
66
992
205
728
561
861
664
34
965
887
482
170
198
923
1
637
446
758
131
356
936
163
154
111
702
357
166
39
690
451
248
350
162
947
23
22
187
163
513
647
918
784
110
959
500
388
47
813
683
877
937
574
655
243
865
916
177
990
21
16
829
835
34
10
79
18
43
356
907
670
8
452
947
196
934
446
426
575
476
685
747
800
879
655
163
415
310
597
886
272
424
186
894
161
448
807
888
938
148
990
95
126
789
511
120
760
618
510
597
390
436
740
203
773
565
724
478
743
866
137
3
164
508
254
690
679
864
631
348
137
263
510
216
252
295
616
871
14
64
111
756
835
51
488
611
234
238
77
222
94
763
673
280
188
648
519
560
717
87
484
334
46
357
835
665
709
676
449
236
22
229
623
414
293
143
949
575
748
408
824
81
729
614
292
910
669
899
823
657
593
698
584
507
657
701
487
845
317
958
9
344
246
191
403
745
53
203
379
49
188
729
777
508
144
205
72
642
235
691
746
462
762
656
725
248
336
369
99
500
518
447
279
155
667
465
621
733
89
618
257
885
175
136
580
688
156
532
378
146
563
770
64
560
223
143
879
831
879
994
178
304
95
398
142
451
156
577
332
565
89
142
514
636
760
214
108
738
254
85
405
624
376
390
443
653
173
668
53
853
824
777
120
686
135
920
553
72
102
871
801
280
732
624
14
608
356
838
94
172
177
382
972
678
692
758
393
838
906
409
401
904
8
735
472
920
245
139
955
411
275
587
81
659
217
975
285
163
927
49
24
605
767
761
566
425
317
722
466
121
971
819
574
503
380
213
443
452
20
612
953
147
954
171
837
377
43
397
504
266
420
180
273
712
52
412
636
855
596
717
706
191
572
467
329
268
56
631
668
488
757
984
228
238
300
844
419
394
34
853
723
295
451
242
488
437
588
664
137
453
410
958
352
443
224
142
385
342
634
497
220
824
421
900
708
160
974
422
190
603
620
796
355
83
238
553
235
449
54
519
326
56
420
879
785
240
654
202
531
78
749
657
875
929
861
169
985
392
11
383
100
723
365
136
902
228
786
613
876
851
86
443
801
975
564
827
731
443
956
166
980
956
885
800
620
281
278
173
989
165
942
179
512
447
742
468
941
639
322
239
717
141
375
400
798
353
810
5
708
178
992
572
977
766
434
214
422
946
935
526
900
438
168
810
276
836
166
542
350
343
980
942
386
412
3
134
737
781
146
664
728
852
49
68
655
32
5
793
234
414
130
990
324
150
577
639
55
966
272
993
792
531
734
560
479
820
34
713
12
162
831
544
249
430
739
765
142
690
983
286
264
681
406
631
705
701
422
458
899
820
438
308
450
865
586
134
442
285
359
306
37
830
890
569
372
954
154
832
917
14
343
809
482
580
21
235
1000
693
440
808
72
438
570
53
1000
26
995
39
711
451
780
229
540
905
863
788
291
311
269
350
415
793
704
594
386
369
662
966
595
923
222
543
127
311
126
345
850
517
566
367
100
895
359
223
106
915
802
566
998
255
595
405
886
758
639
998
16
558
408
277
472
615
840
650
229
25
395
577
620
716
985
553
439
584
2
993
972
659
516
29
227
677
82
440
502
259
240
754
213
997
953
74
633
918
717
318
733
156
27
391
871
177
200
256
458
581
302
996
70
317
70
755
660
128
274
853
708
190
922
480
133
205
64
121
765
639
745
249
8
420
810
904
86
180
856
491
931
10
630
475
322
820
530
716
370
585
711
844
834
169
484
432
12
958
302
711
161
233
665
232
510
64
698
175
906
535
985
5
58
254
479
745
183
459
963
471
530
476
581
516
952
962
420
506
174
116
986
568
885
45
682
958
112
513
92
937
607
633
934
910
106
422
48
731
435
753
682
609
355
948
626
223
976
159
478
500
301
711
408
11
198
796
341
86
676
265
363
564
833
748
552
561
295
51
89
750
231
562
744
439
309
388
295
168
25
106
467
611
936
275
302
368
221
326
646
562
877
38
637
299
580
587
625
690
935
68
995
554
391
452
697
937
550
193
144
250
26
74
321
196
254
430
554
633
857
580
438
188
282
164
816
726
420
96
562
778
819
995
140
609
942
306
575
932
633
791
495
168
573
693
406
772
72
715
175
381
956
848
9
434
672
237
863
492
993
507
325
692
853
408
473
636
916
194
148
554
459
912
333
762
30
624
79
274
110
669
512
924
740
254
980
510
617
2
328
283
728
642
618
564
949
646
355
396
389
482
418
924
477
109
464
620
889
488
499
561
505
171
713
728
467
499
420
684
307
511
123
48
834
465
321
915
160
768
653
722
781
198
367
96
130
527
917
919
379
42
686
167
575
13
449
71
354
843
221
845
617
507
556
469
521
882
172
43
70
761
79
813
396
648
950
249
561
923
597
530
319
606
831
307
828
740
871
952
739
352
718
324
441
79
604
689
493
797
704
648
431
1000
783
763
216
278
348
134
560
937
186
360
226
740
854
136
230
733
835
259
509
381
559
960
265
552
445
283
671
407
427
712
48
952
188
351
947
788
461
758
761
617
303
957
669
170
217
247
713
536
360
171
764
318
833
419
989
634
236
484
175
760
267
631
921
137
90
77
311
500
657
334
101
182
899
355
881
964
978
432
939
447
349
828
733
570
435
758
6
812
140
652
561
555
246
593
630
335
991
445
591
967
766
470
510
47
916
175
610
964
108
685
315
344
552
235
950
804
695
245
524
997
603
3
297
190
419
209
972
46
693
502
424
841
332
612
868
92
190
970
226
453
42
453
253
773
784
428
669
435
243
427
145
421
885
579
498
70
58
392
852
195
138
626
846
986
106
736
204
186
601
827
83
92
496
146
684
278
388
882
531
367
139
446
686
778
840
473
904
154
86
487
416
91
502
556
586
843
796
291
145
951
478
215
118
89
524
892
818
986
953
175
488
980
238
605
258
625
937
304
114
759
763
653
446
635
528
685
610
41
62
389
615
788
254
81
711
633
824
537
162
438
280
895
967
371
814
187
589
25
546
937
67
609
620
490
987
781
127
589
912
267
761
253
789
146
368
203
792
563
305
904
779
674
597
808
292
843
436
526
599
442
464
461
773
142
642
920
246
238
212
821
562
376
451
903
290
41
418
785
197
299
889
296
799
565
24
260
352
644
84
316
225
888
691
408
294
58
704
316
722
434
789
940
998
755
131
102
639
829
563
308
274
21
574
254
187
396
290
847
522
957
527
185
500
316
460
230
979
119
257
885
595
719
301
804
572
941
242
548
959
223
181
627
739
89
747
555
751
698
699
318
826
136
940
512
873
270
516
24
937
205
259
293
368
827
217
97
339
481
913
315
920
568
766
319
782
728
735
477
408
334
345
744
362
200
779
491
786
774
644
499
780
614
363
550
750
583
873
126
107
50
457
547
943
358
86
286
427
946
623
293
693
830
579
923
971
570
902
450
502
485
445
208
595
613
349
136
793
857
563
849
725
811
120
401
650
8
586
598
134
720
309
34
526
956
723
46
150
57
942
421
175
82
369
15
178
241
811
383
287
780
878
163
633
33
77
235
562
875
38
595
658
414
816
491
221
563
36
602
227
103
928
952
180
915
989
823
519
360
89
103
387
195
302
442
653
955
679
55
49
526
447
234
154
462
849
469
750
664
934
545
776
271
156
180
685
900
530
543
530
957
455
471
510
366
45
324
29
896
951
207
534
262
206
691
535
292
605
293
258
767
448
703
291
982
316
144
479
664
651
324
26
695
549
150
468
940
142
742
730
627
336
317
940
885
495
202
79
503
835
562
821
458
948
439
98
504
858
356
44
942
468
22
958
716
60
678
857
152
787
214
986
976
699
485
389
722
937
173
280
293
152
156
463
234
103
561
530
196
618
614
882
219
836
922
895
691
664
90
693
282
929
381
84
701
565
726
158
892
499
517
964
134
591
488
417
587
99
486
341
990
688
74
91
628
876
719
754
126
206
803
304
365
108
787
415
596
622
666
872
829
651
261
635
701
416
11
637
334
107
648
379
137
538
565
187
98
754
733
782
908
136
745
461
150
552
921
764
864
468
478
959
53
763
391
90
44
184
973
562
206
994
160
504
193
392
156
185
744
708
390
788
110
194
734
773
304
511
501
856
724
605
82
349
188
760
950
269
22
51
419
126
674
291
728
756
255
844
974
918
515
326
939
622
43
342
107
319
874
853
9
150
278
689
580
422
233
28
389
367
973
333
449
27
37
413
809
773
460
735
274
614
93
80
432
910
557
954
604
539
994
901
479
883
625
26
955
212
85
564
165
187
646
316
723
232
751
116
21
462
713
271
750
724
32
94
941
33
590
242
492
370
840
528
530
361
228
317
8
855
307
381
587
746
373
315
213
743
18
222
808
917
683
399
108
995
158
183
40
361
977
950
950
633
843
494
658
509
523
658
555
289
149
161
919
134
500
983
211
613
611
579
350
588
42
427
884
793
214
123
518
730
495
282
695
676
145
38
766
657
787
788
864
206
820
160
725
618
61
872
580
202
964
277
720
702
951
897
504
685
753
184
365
177
165
88
865
253
303
720
953
592
252
581
353
248
6
356
470
1
705
241
264
696
501
119
303
927
802
704
610
254
287
908
982
921
810
302
148
669
253
512
551
846
467
799
529
464
642
860
367
226
876
115
40
865
222
329
448
295
207
473
624
185
681
135
668
594
849
621
160
164
516
135
408
244
915
83
181
3
933
563
477
234
234
600
521
80
532
525
387
370
235
178
563
583
797
284
334
723
354
443
76
553
655
655
429
694
875
208
823
69
623
42
54
68
337
433
415
570
328
930
393
668
905
13
110
550
392
878
479
459
350
52
513
112
982
321
355
234
540
571
385
119
518
713
152
235
565
802
28
940
329
840
188
323
921
518
930
11
261
327
419
561
366
52
653
714
519
654
808
326
374
944
158
316
253
234
462
306
297
397
17
933
661
341
610
9
664
948
235
788
636
952
751
629
239
48
632
222
205
794
569
397
735
471
984
224
315
160
422
776
339
726
398
440
690
271
520
106
433
895
607
928
826
264
86
579
162
588
159
122
353
84
118
637
732
912
699
762
313
843
558
169
599
668
800
762
103
439
965
123
930
162
61
274
120
497
16
383
991
339
407
413
358
915
422
39
346
142
824
406
498
588
85
396
16
290
968
130
243
90
589
362
1000
883
362
293
925
378
342
44
791
529
134
742
656
814
966
695
786
898
512
633
535
56
755
361
734
901
521
457
691
620
291
841
624
898
595
150
167
164
543
828
643
627
69
795
932
788
45
341
111
776
735
628
522
916
960
816
532
364
952
360
100
544
142
462
154
369
982
36
934
913
506
750
692
280
537
934
576
912
294
149
91
478
730
229
259
750
72
469
497
654
890
417
276
708
542
428
805
662
946
738
371
19
494
301
450
494
343
83
396
173
479
771
321
307
689
130
773
206
49
340
955
670
599
683
515
760
631
914
393
458
435
468
826
984
370
431
348
74
900
867
568
557
531
634
584
920
703
331
85
398
283
366
644
293
735
450
179
860
953
985
324
133
481
937
249
450
77
780
538
304
608
999
853
390
834
484
468
317
953
836
231
566
694
261
141
693
350
262
538
651
364
765
834
378
24
683
831
477
352
160
946
885
486
919
48
935
757
179
231
95
154
606
533
973
83
618
543
896
149
176
846
472
194
858
478
69
978
641
904
71
708
287
568
114
50
680
697
225
444
733
910
942
247
758
120
62
729
270
388
585
993
275
677
825
660
12
870
390
547
970
87
962
652
760
30
328
445
86
49
157
850
611
692
382
339
16
697
856
236
892
838
165
654
433
506
88
525
44
671
207
790
132
678
632
163
296
383
578
822
81
266
835
24
271
522
777
901
408
568
616
636
862
98
71
820
323
545
485
10
4
827
689
445
213
302
595
410
208
159
570
969
387
881
156
649
962
972
570
202
220
904
741
735
362
100
327
352
685
825
300
956
596
65
179
992
499
806
923
734
139
670
850
194
388
502
656
826
762
353
786
11
197
265
921
709
739
426
355
783
835
526
343
232
850
621
317
969
302
405
26
863
42
563
234
449
273
780
598
109
877
79
772
529
987
368
543
957
112
485
39
82
429
565
663
400
33
240
410
543
35
76
680
389
412
616
497
716
418
605
311
794
183
283
203
593
848
112
341
199
222
942
29
650
475
424
519
624
826
409
60
327
536
206
305
496
766
798
305
632
29
573
786
454
18
680
323
106
593
845
303
821
546
391
303
581
597
237
593
831
740
850
29
443
647
485
493
926
379
562
400
371
26
689
512
723
232
681
443
742
797
886
821
479
650
285
976
162
548
121
455
123
782
254
364
845
33
52
786
206
260
404
37
775
183
328
569
337
472
758
692
876
237
293
95
943
794
111
362
632
968
761
279
439
379
276
772
883
262
892
708
125
385
660
664
732
515
441
969
413
735
57
7
787
602
889
789
198
792
819
278
187
405
238
812
462
544
773
236
123
131
480
38
452
180
560
860
806
914
13
245
994
155
266
386
93
438
526
931
791
115
494
611
230
569
119
586
787
295
288
892
410
235
677
341
914
253
530
519
117
39
773
295
826
52
723
384
448
349
610
67
433
251
289
121
880
852
784
385
324
325
797
149
190
799
877
746
415
372
742
284
473
452
150
469
402
221
785
858
480
449
870
667
844
307
597
505
728
85
14
962
966
919
694
62
75
750
398
976
515
698
917
232
746
9
483
914
243
482
443
964
990
59
377
775
853
870
480
704
837
554
818
3
498
128
29
953
660
42
133
622
151
270
376
808
506
493
475
160
434
466
182
409
387
659
819
914
746
111
344
462
1
262
522
345
756
180
2
283
594
232
443
676
609
730
344
10
898
503
907
966
416
669
98
940
383
90
16
237
867
141
869
140
250
441
99
440
40
155
697
776
891
305
302
306
750
309
497
824
773
595
590
405
16
736
261
99
940
1
694
936
463
619
181
771
600
317
754
70
774
903
75
789
503
750
692
888
484
58
771
907
68
667
578
212
733
11
333
215
456
550
504
888
787
606
284
369
66
118
752
317
421
211
211
935
137
882
252
279
492
328
405
523
433
595
622
367
280
331
426
653
208
355
295
564
441
677
732
495
907
342
508
773
639
223
785
954
317
424
169
350
199
502
251
729
118
125
881
943
365
65
221
309
51
696
631
179
980
268
560
60
141
266
914
10
693
111
819
839
707
322
326
762
1
977
321
806
95
7
879
191
727
413
330
361
351
960
562
98
758
294
457
385
292
710
926
297
120
989
671
200
679
831
698
996
734
394
587
945
442
384
711
885
427
949
914
264
184
347
648
486
27
996
195
515
399
50
395
559
636
87
267
896
123
833
997
628
403
122
41
182
972
431
504
910
377
414
539
995
777
816
227
214
284
51
306
776
270
481
152
601
300
166
596
899
524
413
564
862
151
986
985
585
113
240
125
104
134
757
301
552
199
287
933
11
875
928
7
583
985
528
337
569
922
192
448
421
271
689
522
304
484
253
595
683
39
961
136
350
928
437
181
703
304
90
471
870
838
498
377
502
655
811
986
666
726
248
402
284
231
881
164
995
746
858
714
154
48
186
4
914
956
957
666
979
923
668
637
696
1
884
786
558
423
55
863
120
264
710
66
540
562
640
603
682
841
891
905
762
191
590
560
39
912
667
607
926
309
524
585
214
338
572
570
796
721
355
542
397
571
660
566
350
781
622
666
356
209
322
758
536
156
815
704
782
777
802
341
595
824
423
350
122
559
766
958
90
772
687
741
672
579
559
287
97
85
312
39
20
45
990
436
208
393
614
368
111
851
776
46
297
888
842
619
490
966
993
247
202
351
674
904
536
783
164
858
765
913
104
664
727
778
829
478
897
500
230
717
237
46
732
364
594
167
669
750
418
544
965
233
91
782
594
34
971
141
697
397
559
767
619
383
852
792
350
855
43
845
41
614
214
414
329
260
551
15
155
43
939
316
678
885
475
201
645
780
561
248
267
995
776
278
287
835
621
397
374
264
594
451
446
323
772
938
788
137
228
169
111
262
170
941
773
269
638
52
457
762
958
736
533
458
927
525
165
600
892
59
15
688
437
128
998
469
414
570
188
201
430
691
364
402
715
559
142
732
492
850
859
161
598
943
627
297
110
600
22
596
181
869
906
191
84
846
800
248
752
510
8
77
705
158
452
714
322
890
782
322
885
181
883
551
669
820
325
966
635
426
653
723
941
267
686
975
607
371
135
880
103
749
923
669
589
106
575
972
782
588
905
467
158
960
36
978
324
94
461
348
888
826
464
759
92
16
729
678
823
141
357
322
323
853
843
279
104
724
796
996
86
834
293
904
961
932
806
297
149
677
596
503
462
839
289
506
796
428
125
928
727
399
30
222
904
997
213
966
504
794
494
418
825
187
903
852
308
431
428
753
876
329
944
647
524
288
473
185
488
834
913
143
179
570
313
132
313
253
555
167
274
884
59
709
847
681
724
441
886
383
894
816
352
570
533
398
438
597
191
84
151
309
561
585
835
893
599
960
581
128
258
553
375
789
844
446
156
175
887
390
617
559
221
262
753
837
626
265
637
857
26
447
851
647
698
658
336
300
404
681
144
346
629
152
744
227
368
831
70
954
16
929
468
83
957
506
51
902
394
382
745
147
793
628
507
582
95
466
738
546
502
298
938
887
180
707
36
779
763
465
619
573
836
982
508
187
949
187
727
526
830
503
951
97
615
480
926
266
899
608
199
589
313
43
733
273
178
290
627
81
475
364
204
957
33
589
218
212
352
998
741
373
919
240
629
711
250
3
77
987
110
233
915
219
544
841
732
101
432
173
856
267
214
237
497
752
358
584
53
867
894
772
746
173
60
549
209
426
663
239
622
146
315
343
301
939
73
17
402
835
346
935
528
662
157
997
592
921
980
522
248
732
389
814
551
130
731
473
304
440
851
419
693
481
671
342
429
95
89
252
576
837
204
829
654
723
393
540
416
594
99
858
882
15
496
483
841
587
410
131
74
268
921
356
920
539
134
839
711
255
477
790
783
655
719
397
452
232
628
758
375
167
797
369
182
550
738
25
142
931
745
953
857
570
415
92
711
400
940
700
831
840
459
902
847
559
827
334
595
741
131
818
258
647
148
835
90
64
757
659
34
760
969
176
35
211
883
795
778
651
339
351
936
2
480
585
722
327
728
600
705
259
938
673
395
258
574
964
63
668
834
906
621
293
573
577
158
582
707
901
918
612
574
326
65
755
345
531
589
282
184
787
103
199
302
841
57
281
447
568
142
624
647
173
242
29
223
465
316
164
183
511
39
802
114
72
833
356
609
324
191
578
57
733
805
568
388
421
109
159
952
991
256
342
286
590
441
658
931
922
761
351
838
39
439
674
135
999
373
933
212
904
425
733
111
384
767
410
230
362
915
842
190
786
781
638
514
87
183
225
470
289
780
511
10
103
335
577
252
785
511
367
368
277
187
420
47
912
386
499
927
989
489
390
533
642
355
238
281
730
314
540
47
908
816
309
672
674
642
990
497
923
208
419
704
468
457
500
806
75
243
281
96
768
902
815
236
557
931
534
485
305
285
837
218
108
838
270
508
471
997
986
558
524
238
112
645
729
644
310
106
834
104
65
567
331
931
185
284
271
92
589
988
148
110
687
62
447
969
599
237
605
44
964
250
374
131
360
52
2
175
196
238
218
164
468
341
742
965
972
511
937
607
388
876
233
589
160
595
202
352
247
187
475
956
617
258
228
349
850
114
624
337
303
110
433
545
106
783
23
158
647
944
52
241
349
972
498
768
235
442
104
275
230
124
914
219
159
109
366
725
167
480
283
365
609
545
234
45
536
76
918
832
534
418
630
817
73
598
434
659
460
754
332
543
194
324
586
655
797
407
395
148
179
649
229
787
211
816
535
131
447
920
919
131
903
429
632
523
352
590
917
202
865
380
749
98
234
900
629
704
453
315
299
496
666
609
734
12
862
449
270
189
108
485
533
923
325
240
643
473
421
559
286
484
122
282
394
896
962
374
549
950
742
288
743
821
197
722
791
171
757
261
516
23
53
605
806
953
263
239
794
515
467
405
684
203
958
207
219
23
824
508
372
902
192
49
621
784
261
866
84
208
567
657
848
596
29
235
90
250
927
546
944
293
378
77
634
386
813
603
77
69
664
373
32
19
720
827
863
337
649
817
188
223
731
174
960
33
186
145
64
774
372
867
104
555
753
590
876
353
754
792
968
755
547
680
22
992
352
833
482
663
82
890
26
59
985
271
524
864
518
877
7
327
842
602
115
711
156
282
449
930
635
384
518
797
822
348
288
269
202
993
877
355
92
828
586
146
151
379
310
524
560
939
318
699
372
201
576
648
619
333
24
922
506
953
727
34
443
336
371
835
690
934
387
854
149
936
869
589
175
189
544
99
325
258
282
76
639
771
14
781
396
522
486
823
279
946
955
798
532
717
808
240
20
209
91
132
45
473
102
513
411
202
529
322
499
880
97
693
54
932
321
373
974
244
769
783
635
862
161
535
201
998
774
877
902
779
859
627
523
284
196
648
159
517
503
821
886
922
140
734
118
923
424
83
319
771
937
825
187
664
391
680
614
703
979
513
525
751
656
427
152
695
452
177
447
879
756
616
93
768
489
488
15
960
211
788
390
763
519
311
890
452
521
776
312
190
813
61
781
352
91
707
463
643
520
818
72
972
995
868
482
522
694
755
464
841
714
630
885
34
88
656
704
378
243
848
772
733
740
614
739
164
221
410
329
71
610
175
884
960
958
872
353
708
798
491
816
803
527
337
254
563
102
295
502
820
306
24
231
845
947
725
370
606
602
184
587
560
944
319
321
287
276
307
393
221
604
721
402
627
493
775
948
755
978
898
234
796
3
408
748
851
237
926
517
661
590
566
928
218
468
636
198
715
590
732
367
523
199
686
135
997
621
758
926
958
429
839
339
636
913
202
527
715
173
516
122
865
894
416
21
821
810
914
740
621
916
334
57
99
726
248
354
105
270
114
411
221
49
907
400
902
890
77
480
117
479
585
698
531
378
602
893
197
486
686
871
542
253
924
459
153
398
544
926
509
570
987
894
310
143
274
65
552
300
795
45
775
680
293
53
236
110
935
560
865
361
819
747
964
456
185
222
562
774
888
595
235
104
399
387
970
811
713
197
363
511
84
255
21
999
398
264
547
668
353
909
923
354
355
546
373
343
168
342
72
280
927
577
139
832
62
931
435
280
59
295
601
634
756
56
628
504
34
899
9
688
356
823
183
397
604
501
542
66
40
105
749
976
41
411
510
268
435
350
195
490
930
148
934
512
82
872
882
502
740
495
370
667
689
566
565
643
481
186
79
717
81
276
682
576
997
59
927
905
35
253
6
923
689
751
609
957
413
422
912
186
739
275
67
17
280
410
729
926
103
55
222
199
931
548
932
725
854
252
368
896
995
294
154
690
663
462
864
240
50
789
260
529
466
128
956
362
420
513
962
466
622
227
878
339
86
226
729
512
117
90
563
978
875
671
966
860
605
418
600
833
372
741
709
429
343
827
293
95
203
56
322
828
321
518
922
249
646
175
928
244
136
892
599
648
721
887
573
46
412
191
302
395
201
289
359
108
812
508
964
177
204
613
20
131
954
734
739
945
312
13
703
466
764
289
785
593
374
751
926
237
92
702
202
12
429
513
948
754
613
390
971
186
421
790
58
504
335
204
16
207
636
547
504
232
258
581
747
362
32
633
53
881
979
382
705
687
888
626
432
416
309
750
159
626
452
99
121
798
184
563
790
695
510
475
249
626
431
329
794
297
54
969
578
218
195
584
51
79
471
292
810
152
66
146
200
471
935
89
711
538
208
794
738
314
923
318
782
529
59
206
519
709
28
19
477
863
374
240
242
493
509
192
194
426
681
892
822
974
233
731
534
136
453
510
724
828
949
621
569
646
533
97
656
302
72
867
98
639
618
777
202
118
386
843
140
748
862
779
293
712
362
38
141
349
888
492
591
723
4
391
647
769
759
443
189
853
401
679
416
661
721
276
204
515
417
664
219
573
755
51
151
892
183
954
814
981
246
472
206
322
331
790
830
303
316
848
707
137
129
209
553
667
632
883
531
360
966
296
846
449
722
628
187
902
834
479
702
849
117
175
752
151
758
77
152
33
856
917
9
104
337
548
534
602
168
470
404
431
822
166
353
405
370
581
674
110
412
52
213
986
290
601
275
549
689
802
572
149
760
364
963
307
374
138
307
451
983
549
143
847
816
306
314
606
827
851
850
923
910
176
646
101
340
559
477
536
354
248
923
512
39
354
611
577
423
18
997
323
785
426
591
557
698
422
119
241
276
228
650
78
403
304
84
284
470
460
757
927
302
121
112
174
488
107
524
950
309
333
428
783
798
622
779
82
257
208
803
670
727
572
684
204
480
965
529
971
605
346
510
695
153
495
569
155
91
741
413
844
557
91
876
435
480
525
848
500
693
915
119
824
49
287
476
617
929
144
290
142
730
181
667
585
593
4
949
457
672
377
980
489
701
163
92
753
489
307
219
689
238
171
863
845
247
45
935
375
672
912
620
789
478
386
489
979
619
283
84
335
798
481
28
597
846
542
556
170
898
84
7
815
30
42
448
983
990
758
97
580
950
310
606
616
978
623
614
10
41
663
176
822
936
469
817
294
479
845
994
405
662
324
693
70
235
357
732
745
391
804
96
927
758
471
304
2
940
832
348
927
223
111
257
496
851
549
669
296
523
70
140
47
331
512
46
662
418
269
92
284
35
501
406
507
526
7
129
207
998
521
211
709
85
421
879
500
266
826
826
335
651
600
748
391
20
59
285
56
163
77
748
52
253
826
315
860
58
637
490
830
300
295
729
928
348
661
75
815
758
646
555
833
844
456
856
519
621
465
503
461
952
289
340
689
659
395
657
278
716
63
682
519
349
650
480
864
31
862
549
778
916
199
505
836
201
807
298
632
273
727
336
569
279
945
752
173
919
681
800
351
852
106
19
926
96
1
385
870
198
961
133
856
743
362
316
183
998
719
466
636
71
4
879
548
28
177
188
212
787
492
867
774
494
80
224
917
277
977
256
986
956
995
483
661
311
802
470
938
1000
164
323
971
41
525
857
275
90
36
496
893
375
691
227
398
280
427
65
29
7
948
586
803
702
539
35
227
661
324
403
63
16
273
667
698
348
750
43
833
241
549
745
574
692
173
222
531
644
594
248
178
619
819
597
576
618
405
197
524
957
468
858
347
712
841
642
829
764
786
929
243
258
43
49
33
413
86
146
488
250
162
547
618
755
61
528
591
421
579
805
235
895
358
491
585
671
82
502
913
387
42
641
456
296
712
642
861
912
306
484
395
677
231
198
150
709
999
186
776
359
415
824
772
346
803
732
998
699
634
622
864
603
142
113
595
507
432
203
108
537
161
386
242
349
42
532
576
13
349
734
569
456
77
293
546
269
642
885
918
390
816
763
50
304
88
501
441
913
829
433
178
144
402
401
181
728
864
866
411
283
1
741
28
13
233
529
492
859
347
491
706
929
128
582
623
352
671
855
173
529
597
878
978
870
430
461
81
742
120
641
838
309
60
468
200
351
996
577
836
953
866
930
938
157
10
399
100
296
130
37
356
733
67
6
308
162
769
107
327
470
767
805
919
391
128
420
731
812
117
908
115
679
727
276
824
878
846
203
202
339
63
892
183
891
21
531
511
58
787
978
875
82
929
457
52
936
841
133
733
2
426
372
450
366
383
411
888
420
217
921
930
551
591
661
963
225
760
988
366
714
672
533
552
15
772
730
676
295
656
226
896
291
528
398
65
691
813
372
898
443
409
929
901
336
768
659
861
940
424
560
235
181
656
42
605
416
640
932
234
855
888
684
854
560
739
440
59
86
369
966
35
998
166
812
935
150
239
184
883
591
559
150
456
434
486
810
509
822
427
929
377
381
994
414
800
197
284
682
423
390
876
619
326
841
694
379
881
464
157
693
123
710
930
711
993
653
150
663
14
94
216
788
424
604
109
30
348
343
740
988
314
754
980
488
321
987
918
927
704
980
338
221
246
673
594
815
328
747
852
677
447
603
150
664
70
64
836
901
648
392
722
97
576
791
745
815
13
523
985
749
817
98
678
45
227
827
214
483
606
134
230
161
266
667
569
932
342
201
276
442
752
735
832
81
505
983
504
533
25
665
22
903
665
633
807
606
346
860
626
261
33
772
837
888
861
231
386
582
812
694
319
663
224
761
847
38
878
330
958
124
26
71
135
220
559
777
9
679
422
419
661
539
521
433
858
575
604
804
718
852
47
53
180
958
11
99
165
47
215
259
522
724
416
399
670
567
752
317
375
788
304
991
206
132
580
234
87
616
153
643
765
119
324
461
182
151
549
119
495
365
306
772
925
482
250
114
716
364
784
104
219
881
610
17
526
104
471
414
152
65
2
188
941
33
587
861
793
791
136
677
798
879
977
853
60
162
413
552
858
339
53
762
737
244
718
267
829
842
592
364
984
863
285
748
254
907
651
303
916
693
538
115
483
808
113
119
81
3
48
227
183
549
656
659
919
670
2
464
85
380
133
904
546
322
825
431
934
356
663
527
419
734
860
503
848
649
929
724
750
825
235
390
536
637
468
122
711
881
323
153
92
979
963
811
802
859
437
335
317
180
811
811
927
899
655
140
771
378
489
514
40
386
913
840
22
348
479
901
424
195
769
823
795
946
782
598
944
972
482
975
970
507
280
58
853
568
293
301
654
905
475
427
981
983
62
984
767
289
371
887
396
445
644
284
850
715
512
543
865
477
664
976
72
179
459
138
688
69
571
233
615
768
212
148
757
318
126
144
913
943
356
75
904
150
705
280
447
167
947
967
879
985
86
999
48
386
403
477
535
465
580
401
930
86
934
15
59
596
691
121
884
933
257
785
324
928
656
372
371
210
642
759
700
635
549
933
444
559
538
900
896
601
818
987
724
760
308
168
679
886
412
998
882
533
843
121
544
174
880
51
325
600
68
161
663
77
106
326
57
506
619
723
708
397
556
637
918
922
202
953
362
726
190
208
647
429
407
691
620
971
436
116
493
19
996
790
197
700
862
68
321
798
939
89
629
393
447
456
416
635
707
579
903
978
598
835
459
737
605
574
696
263
295
290
362
399
153
919
550
119
27
330
928
408
786
563
574
542
400
256
551
843
406
17
496
939
557
180
396
260
537
532
156
272
825
101
783
498
110
7
762
899
217
744
714
599
152
971
502
252
683
57
774
574
897
156
334
692
265
566
835
4
77
478
42
169
539
994
294
724
432
473
889
544
6
840
789
61
692
494
451
687
297
828
602
386
560
204
453
717
372
402
210
941
460
192
709
993
78
711
686
210
73
729
476
722
726
732
912
299
930
2
824
301
583
485
804
69
582
345
838
742
409
489
15
18
113
285
742
815
450
908
819
143
17
454
281
752
523
50
126
271
716
652
927
640
90
144
847
597
223
637
764
857
460
581
62
425
739
420
115
164
523
31
690
333
181
126
248
330
655
123
634
274
937
725
752
382
689
611
588
326
339
171
401
862
94
195
979
103
648
769
599
692
762
434
752
43
554
799
733
515
45
419
934
84
474
717
17
633
937
131
216
444
152
471
658
882
540
668
975
509
342
737
428
93
219
755
477
63
596
130
975
959
83
226
193
344
410
682
450
467
690
390
444
673
271
147
284
217
111
472
834
629
350
923
207
272
770
536
179
33
882
658
820
386
677
585
879
199
487
820
322
725
967
754
952
217
962
800
217
449
885
766
180
241
305
340
75
767
609
93
79
22
998
335
696
329
556
480
644
184
814
320
242
57
70
772
79
965
668
176
180
802
631
214
973
423
282
875
113
413
982
644
619
351
688
300
834
104
819
265
448
366
827
448
182
216
938
921
766
938
780
565
532
747
980
37
270
324
379
10
10
265
179
675
36
667
245
910
747
48
742
358
946
726
496
893
772
598
772
602
748
991
658
459
368
857
863
326
229
169
551
785
970
763
774
565
175
271
164
17
946
998
825
165
110
799
781
352
832
45
891
391
996
764
901
455
862
914
174
604
359
526
693
16
875
156
113
458
554
691
28
498
921
21
93
274
116
564
343
374
158
879
851
531
409
881
867
404
873
267
710
630
33
816
971
759
696
167
52
384
690
508
662
32
359
398
654
884
470
578
501
450
561
203
807
682
758
399
446
818
786
435
339
464
235
81
407
25
153
914
948
634
658
432
525
130
621
853
494
490
387
366
439
355
149
442
129
918
878
511
76
525
618
968
428
772
571
989
713
749
627
76
900
376
910
626
354
408
465
36
533
821
425
58
666
738
866
136
265
974
107
493
17
568
362
551
524
389
519
102
371
4
322
316
233
534
346
280
62
124
18
256
924
20
361
275
721
961
279
987
854
741
986
908
872
358
585
359
276
126
938
387
968
466
676
949
243
906
631
441
882
948
3
458
607
81
322
272
133
192
611
150
95
16
192
54
354
85
282
667
615
833
819
981
777
131
19
856
183
537
755
83
764
996
207
458
110
536
167
318
632
748
28
779
354
498
738
662
310
360
967
703
178
705
294
198
596
280
488
661
502
340
861
433
20
107
211
424
599
384
114
340
599
678
178
820
36
35
411
850
989
127
29
755
988
842
887
798
821
695
187
144
336
972
306
551
217
367
361
606
185
279
620
810
782
615
973
54
694
119
465
323
566
815
327
532
378
61
23
496
788
128
597
912
247
949
977
147
327
894
989
319
467
966
514
877
250
855
629
395
395
638
567
819
906
737
36
764
167
954
778
727
352
9
238
318
211
27
866
664
118
863
891
174
343
961
373
763
601
707
949
427
334
867
984
816
594
747
751
62
91
198
888
657
721
422
581
630
857
816
878
598
804
783
48
558
55
489
154
393
423
81
860
204
698
721
28
474
195
142
834
22
478
112
1
445
537
311
207
448
959
657
905
78
936
28
600
368
496
669
73
290
999
326
201
293
781
248
749
842
783
818
10
587
170
472
185
758
211
955
220
376
173
743
141
686
552
613
70
990
756
947
738
706
263
324
755
64
348
376
878
306
707
669
218
646
708
565
680
531
508
674
906
939
27
487
650
534
567
226
839
533
928
780
523
13
15
829
542
239
249
914
15
287
613
242
709
896
751
501
904
985
374
804
649
754
158
153
181
592
424
502
865
308
161
572
203
342
372
61
347
683
284
794
77
195
714
642
396
945
759
775
708
881
26
908
85
945
807
719
240
258
987
552
664
561
957
857
832
468
481
543
511
448
315
573
987
627
309
683
450
672
916
71
881
42
278
243
519
816
550
4
403
190
686
745
526
452
724
737
872
948
474
193
968
69
634
175
617
815
560
295
151
830
307
327
903
108
132
472
583
768
296
39
887
373
915
731
993
292
582
563
574
511
676
666
527
106
574
892
981
333
502
171
984
903
347
41
954
553
603
639
150
467
519
689
362
452
672
725
584
18
410
870
608
693
65
944
413
937
375
630
675
39
323
675
991
216
456
832
165
949
807
375
490
267
753
523
27
302
462
31
762
928
150
562
944
726
978
175
46
805
295
406
576
280
879
997
367
286
984
249
124
473
293
370
687
873
325
942
918
855
437
821
166
662
356
350
977
675
71
767
88
110
982
92
774
343
468
550
311
432
392
832
633
675
626
85
297
265
352
544
481
175
792
166
78
432
2
430
914
828
526
730
717
953
79
420
775
152
846
629
120
632
677
421
707
489
218
721
259
864
972
750
388
785
416
310
151
507
526
423
397
331
508
259
173
931
93
219
935
219
502
313
545
626
47
712
838
495
414
434
57
954
840
676
606
238
779
202
379
939
138
556
389
75
874
584
538
180
512
920
158
847
177
615
383
275
849
72
492
431
823
798
131
346
865
253
710
946
82
273
326
549
367
100
300
837
131
56
775
669
161
300
836
576
635
890
327
168
746
597
865
959
903
525
539
302
196
602
457
253
656
465
591
157
867
53
366
666
645
488
13
743
825
478
40
885
679
485
68
477
144
420
894
675
792
428
866
701
467
654
594
764
599
507
542
64
465
71
284
521
97
747
85
919
108
164
966
146
430
645
641
64
869
270
504
371
391
639
386
458
282
21
938
913
680
447
281
782
466
661
86
157
192
595
309
931
548
155
625
815
840
665
23
835
92
284
117
550
697
71
475
197
955
123
680
795
479
425
871
15
203
605
272
264
618
778
532
17
985
84
785
893
465
290
983
352
507
66
407
188
391
138
269
162
501
553
962
238
785
709
813
894
837
655
191
857
250
369
409
473
169
413
165
618
488
375
180
685
758
996
303
747
661
721
578
393
875
705
691
130
240
966
762
455
414
459
667
909
615
357
944
439
629
684
876
418
986
784
513
518
115
788
247
434
295
378
44
144
457
644
606
991
236
793
509
372
161
751
884
243
594
489
273
947
785
15
115
115
451
544
717
510
402
304
694
720
8
816
557
548
799
227
595
801
59
498
197
937
41
784
509
667
382
361
701
212
313
845
104
367
564
247
215
896
172
609
872
98
27
605
910
538
607
475
266
77
286
123
800
295
555
12
80
362
696
757
989
179
762
935
287
375
208
707
212
347
135
282
784
97
924
143
716
20
984
200
758
191
431
728
845
919
792
30
630
521
233
243
890
316
412
612
769
831
750
860
49
76
834
977
462
546
698
872
563
285
918
868
816
953
838
914
385
348
730
754
568
236
378
4
935
657
392
266
11
118
548
920
798
192
573
230
477
85
110
744
432
682
22
730
100
432
826
606
223
167
792
856
811
635
163
938
466
95
48
98
769
761
734
777
112
311
593
523
686
926
264
937
353
537
523
188
760
34
91
78
387
233
644
452
162
272
474
995
928
931
548
120
288
125
225
659
322
407
497
588
244
873
441
821
318
320
502
421
250
822
342
233
850
166
247
31
939
761
507
769
402
660
756
395
747
368
1000
27
790
922
931
970
856
574
182
175
441
67
381
255
395
97
205
129
508
71
162
647
859
666
480
338
389
24
339
540
947
640
616
732
500
123
506
836
279
43
620
647
372
45
664
285
708
222
363
763
401
526
95
345
163
639
589
353
850
296
135
473
255
533
982
419
916
706
978
34
84
418
66
480
954
673
927
248
959
692
955
91
187
809
708
853
998
809
215
385
491
835
766
405
799
780
375
180
73
653
674
402
653
975
837
466
138
694
56
644
992
466
216
314
867
384
663
511
48
414
384
508
298
869
505
93
907
209
718
455
929
340
168
332
440
389
343
173
142
587
735
609
793
541
382
402
756
627
927
460
411
694
474
145
322
547
383
334
800
938
91
189
964
893
208
571
473
250
420
404
862
242
188
37
805
771
826
874
709
814
324
74
734
29
173
157
720
230
564
711
535
831
511
230
25
790
893
290
108
822
910
911
534
875
167
952
496
950
459
824
593
344
335
645
585
323
687
185
36
34
948
594
198
193
944
989
431
727
101
387
37
60
498
370
645
202
192
129
181
135
373
202
14
231
152
318
91
645
198
239
739
625
45
383
345
722
582
340
317
714
163
50
540
867
790
588
95
852
36
969
81
216
738
343
285
825
978
275
813
112
573
539
11
263
81
7
697
712
360
770
231
439
793
563
991
613
652
971
604
39
473
616
649
749
947
742
653
800
581
170
877
35
319
608
780
98
370
672
77
497
727
788
988
870
260
371
614
892
787
244
381
481
259
336
131
27
11
83
775
384
91
813
355
297
796
612
8
707
921
855
609
159
668
577
765
115
821
384
485
539
574
409
25
568
373
130
386
404
206
522
437
840
58
106
892
998
670
949
227
898
308
554
155
472
973
894
452
524
392
541
789
890
144
971
695
783
511
617
954
874
967
207
529
197
749
225
589
341
624
90
324
744
780
785
11
103
758
226
246
49
480
616
326
297
721
393
518
366
819
146
372
893
32
65
270
231
701
59
133
765
316
674
578
886
630
326
847
65
236
193
507
851
356
280
264
887
199
821
248
241
887
175
743
455
843
824
682
699
526
889
173
340
584
842
947
69
804
718
903
418
735
203
847
154
480
410
142
579
976
42
178
175
985
888
549
419
186
294
310
818
957
327
955
400
908
835
603
942
768
510
424
212
972
351
490
349
186
648
130
344
39
708
305
208
554
72
727
83
88
895
201
999
153
496
197
431
116
829
718
98
623
755
361
695
573
576
860
360
598
210
529
720
297
794
737
311
944
236
976
5
964
437
122
823
252
472
223
210
341
28
501
369
467
760
309
761
842
64
438
238
815
949
530
570
160
320
354
314
407
983
333
87
11
143
39
281
170
961
340
194
232
8
482
372
12
81
699
648
780
898
853
28
336
659
215
100
379
311
722
68
329
633
984
894
856
934
836
245
656
236
470
153
409
301
52
300
445
770
240
890
359
967
239
870
731
640
814
120
121
19
252
870
727
94
337
228
445
953
292
211
587
324
29
63
173
241
245
968
545
872
616
516
42
113
825
354
578
504
211
555
309
384
611
125
985
987
335
958
199
346
302
270
531
439
55
239
461
55
777
106
47
175
423
504
551
541
791
133
630
236
695
209
200
752
385
274
840
15
26
93
398
285
353
347
536
665
591
729
60
200
332
903
253
203
363
474
891
464
362
773
247
503
970
779
221
840
989
953
627
585
377
106
836
255
246
676
193
891
314
942
58
957
95
800
902
465
687
646
615
16
159
862
73
214
405
114
51
954
827
420
765
681
346
512
710
574
71
538
930
999
413
547
557
272
543
536
278
952
889
35
351
398
795
367
960
331
542
732
953
452
705
219
497
989
197
689
770
177
429
237
567
293
722
602
629
844
476
443
579
884
645
903
570
284
728
238
147
924
851
579
359
459
491
102
878
263
67
958
711
640
906
337
117
191
96
945
523
468
308
984
530
708
7
460
604
473
356
270
684
487
732
46
702
838
28
196
19
952
784
904
822
463
799
136
840
150
45
833
126
625
599
554
245
342
846
812
920
795
365
202
113
492
774
227
499
400
290
422
567
71
934
955
877
594
86
405
540
859
611
825
669
325
844
518
344
677
542
163
639
263
331
78
391
201
254
433
683
374
801
166
455
319
179
205
285
210
652
364
122
670
500
928
685
194
508
511
317
317
931
264
305
474
567
853
70
727
900
958
189
120
290
194
884
460
825
486
483
743
761
916
388
281
458
974
216
818
311
976
137
586
492
115
909
266
221
250
719
338
887
88
784
95
603
826
564
934
636
703
583
162
783
129
97
674
907
267
274
332
768
962
125
764
793
913
157
619
625
863
606
25
101
364
150
74
866
352
205
739
906
396
266
497
163
964
258
298
820
467
547
262
969
167
62
592
183
253
991
810
894
518
622
304
635
97
220
607
897
699
254
547
773
578
926
620
648
263
687
504
850
725
357
613
623
229
559
17
731
581
360
813
775
876
459
281
551
128
758
741
862
354
886
76
789
800
72
274
758
971
806
227
717
75
869
217
334
275
666
188
425
888
241
957
745
292
33
956
880
844
193
986
194
533
242
718
734
483
966
349
514
627
698
925
830
71
548
314
148
712
736
704
606
665
905
826
359
919
167
788
879
436
702
527
745
594
918
403
688
489
522
410
406
90
406
760
169
672
866
400
332
270
545
108
667
103
447
413
850
67
513
503
536
416
545
691
205
713
706
728
342
949
452
479
621
520
486
35
420
383
263
316
412
300
647
642
995
542
544
523
976
805
731
151
326
378
643
668
758
799
583
323
572
337
661
60
515
613
808
875
346
639
354
587
460
312
1000
233
158
171
488
429
122
826
914
418
213
10
417
467
997
666
948
480
254
794
890
418
335
80
607
167
425
447
383
14
628
774
819
752
354
978
448
772
643
542
266
186
906
358
866
142
83
446
113
18
328
706
617
108
198
379
788
740
726
271
939
518
936
154
697
500
98
951
993
714
468
451
29
340
365
339
903
251
154
264
43
409
120
527
196
753
306
697
475
802
38
170
906
224
310
215
967
962
167
529
863
346
946
736
659
830
556
500
937
573
990
157
343
151
909
854
258
72
428
178
813
621
252
185
675
808
862
555
317
803
795
300
990
336
946
127
254
981
452
37
707
78
925
237
500
387
740
754
352
158
620
411
20
466
992
980
603
85
434
407
654
112
108
953
766
835
203
2
228
48
294
51
363
137
1
115
369
778
496
338
846
10
199
155
689
786
489
724
718
850
375
680
219
905
824
478
568
630
920
747
241
32
91
68
800
991
388
570
916
627
215
586
65
303
963
326
340
647
720
236
677
969
588
249
947
864
191
614
523
546
614
364
374
736
378
793
243
467
40
466
203
249
654
424
696
427
674
223
222
414
779
365
980
721
806
508
89
341
181
552
533
103
217
322
555
74
219
129
76
943
604
919
632
594
110
46
422
755
770
13
363
690
511
633
418
386
134
156
70
603
933
886
542
414
421
667
238
631
461
441
929
562
589
722
431
118
486
491
830
180
349
462
874
497
395
122
790
90
835
243
604
326
442
807
61
343
282
381
328
475
242
61
8
703
770
9
393
906
606
470
545
888
384
916
499
713
666
609
857
891
361
467
62
348
506
562
932
906
63
981
360
214
744
58
679
691
851
175
868
46
788
438
634
388
204
531
418
753
702
956
549
122
647
713
82
659
914
147
356
924
336
384
921
306
197
248
302
766
379
46
999
245
656
921
247
789
213
757
297
507
652
749
425
986
640
851
435
656
893
261
158
927
331
6
333
619
137
456
313
300
900
296
214
710
210
90
515
331
865
69
593
524
312
182
382
388
90
779
141
631
796
504
309
310
532
124
575
240
906
31
557
257
374
120
964
260
144
589
693
161
886
947
102
446
260
197
611
34
584
715
829
528
48
831
697
729
528
480
460
536
412
604
873
918
837
146
712
708
410
605
556
363
752
107
764
690
235
870
803
767
831
744
355
931
335
246
148
764
110
136
67
462
130
108
922
838
308
612
173
475
39
199
48
234
408
986
711
389
763
53
611
160
201
608
666
318
48
758
696
814
621
584
410
121
360
33
275
66
952
779
803
466
207
878
173
816
243
469
574
570
43
256
359
355
509
756
911
552
978
578
101
255
554
100
372
575
729
945
745
611
494
603
537
193
552
419
143
669
316
874
30
592
71
789
994
156
52
629
809
634
252
570
625
841
400
351
874
900
949
243
968
157
875
651
780
144
742
949
771
906
827
182
605
830
22
146
299
369
896
214
262
696
533
953
47
360
747
250
311
504
818
178
238
29
167
274
647
406
293
265
122
464
839
516
727
608
883
648
350
392
408
831
219
249
456
247
938
534
632
67
222
676
478
111
589
409
732
24
450
540
633
412
401
638
258
878
29
389
328
323
222
56
48
179
789
683
324
478
176
175
132
779
217
405
920
25
128
801
637
320
437
698
425
507
104
858
50
126
894
200
851
53
950
718
403
630
608
7
49
623
724
587
220
683
157
433
735
293
619
748
307
373
784
999
130
815
414
716
717
207
267
326
145
954
735
598
469
773
451
855
345
316
643
218
860
246
580
569
124
685
315
796
446
350
832
151
824
74
840
243
22
638
698
240
731
16
402
374
193
209
98
726
170
794
367
568
357
217
376
246
150
634
41
712
191
794
577
320
271
71
120
444
962
236
648
787
840
993
110
18
257
591
446
484
419
98
224
337
955
981
714
332
243
749
527
950
526
295
410
255
232
464
362
66
989
105
40
621
540
538
308
892
113
925
875
106
865
524
202
831
685
164
220
186
956
574
993
364
943
406
104
659
39
862
443
637
489
860
60
888
119
592
942
85
269
105
864
677
354
324
974
615
464
493
405
974
969
606
979
175
353
816
57
811
412
146
649
736
499
114
209
160
713
20
917
5
829
716
849
637
243
653
167
417
445
898
337
224
342
553
430
190
245
764
776
438
522
47
577
525
685
207
607
623
186
503
801
223
274
70
344
280
96
773
883
278
616
873
573
634
26
849
26
262
102
710
621
838
310
970
275
529
567
186
542
507
259
670
785
556
500
506
304
501
628
501
466
961
643
81
332
138
610
416
772
12
58
257
792
250
60
68
643
660
988
41
271
772
894
489
892
415
107
931
735
791
891
908
530
599
977
207
925
210
333
678
821
788
809
314
571
478
207
570
72
499
840
183
75
47
918
905
430
395
930
613
562
485
722
273
221
601
197
69
428
424
332
822
567
890
778
520
805
763
411
353
344
821
38
176
560
806
908
725
709
112
829
229
742
259
435
281
742
805
609
973
612
268
153
311
971
25
521
912
652
905
873
772
779
377
743
718
206
811
316
759
988
297
724
153
631
879
758
472
126
882
98
318
118
196
504
649
147
31
392
840
567
634
902
728
624
921
837
874
172
791
854
207
693
135
881
7
594
195
33
942
250
986
223
454
885
946
256
389
193
840
454
143
542
231
731
1
705
485
644
556
345
380
121
292
867
858
449
449
871
389
654
295
111
663
567
790
826
93
705
400
278
693
637
560
594
404
586
818
320
914
906
256
644
298
483
157
886
585
243
218
691
474
760
842
342
997
335
144
753
864
71
378
971
608
152
405
506
408
4
684
383
637
6
25
572
790
202
992
409
410
785
432
639
40
175
50
989
22
206
359
558
191
253
610
824
94
152
485
817
415
398
455
821
700
439
707
15
306
819
432
591
747
585
128
265
247
606
242
524
367
426
150
637
27
840
983
210
116
641
265
56
140
878
662
222
45
540
418
296
441
781
185
540
920
683
56
954
81
82
552
121
164
161
218
565
901
359
252
399
314
637
291
240
709
314
87
726
33
457
281
477
112
322
927
24
999
429
724
35
842
645
118
173
203
95
602
27
732
782
547
896
467
584
859
605
784
657
589
172
229
371
403
908
1
593
437
430
899
522
694
151
896
295
538
64
328
275
286
991
883
284
142
23
206
10
930
598
936
504
180
495
425
972
110
34
232
41
984
972
714
300
122
865
672
181
568
192
99
215
58
138
475
243
461
749
987
441
303
120
263
917
345
370
921
183
426
440
313
41
966
148
310
267
554
534
907
44
69
235
689
242
612
537
946
498
346
780
300
560
34
10
264
488
625
110
53
134
808
158
313
772
795
449
169
887
970
415
143
910
215
673
41
94
909
569
857
853
569
882
136
620
100
787
963
662
436
806
971
384
121
217
303
351
41
318
474
619
77
37
478
31
935
560
269
768
781
110
958
832
590
473
707
105
324
638
279
296
148
730
667
395
878
444
35
210
812
355
453
198
855
805
558
76
619
545
312
623
788
954
490
684
575
452
406
639
542
658
648
484
406
973
254
257
713
518
882
729
397
778
971
178
349
876
827
579
64
137
840
723
325
488
751
638
658
283
30
149
18
340
896
620
712
345
494
660
119
268
18
112
150
128
368
713
712
264
24
624
679
234
401
441
976
623
902
406
450
324
236
278
119
313
361
717
241
523
576
119
425
229
857
519
632
231
553
596
504
209
928
794
929
886
832
301
123
967
28
942
806
419
266
39
230
331
265
974
925
437
145
446
30
442
732
447
995
402
342
544
228
791
358
359
40
321
907
85
803
255
447
442
836
722
910
737
925
513
333
592
772
927
580
475
885
503
834
358
621
906
49
734
132
791
417
719
948
211
241
173
812
23
268
603
165
783
717
119
385
834
672
846
446
630
521
36
220
870
396
558
10
664
328
590
248
809
994
100
500
195
444
148
62
536
206
125
453
884
469
792
66
860
886
395
88
131
652
176
531
410
126
330
917
212
265
817
685
626
503
491
900
651
528
644
190
967
634
468
147
618
890
884
619
741
453
858
393
352
721
638
809
205
892
311
741
908
716
692
180
821
888
840
416
712
553
439
410
817
898
855
506
723
616
952
61
448
344
623
935
207
828
576
20
600
658
125
160
394
900
594
882
632
866
496
323
541
536
811
625
601
876
528
852
168
408
145
189
265
895
921
744
488
946
539
839
507
666
259
23
297
237
792
406
70
426
900
110
848
601
132
777
766
784
253
92
482
620
614
253
525
934
140
128
17
702
686
630
955
874
196
483
192
444
487
117
288
573
527
924
665
386
718
459
874
241
75
474
337
915
175
875
601
144
392
751
37
405
264
679
894
637
792
388
810
869
88
683
190
329
82
276
359
692
928
768
26
573
321
605
386
227
219
215
145
696
332
955
861
326
331
672
246
644
912
917
493
89
756
863
297
977
938
985
912
390
512
415
540
378
857
708
340
982
872
393
577
111
227
339
767
224
729
429
204
102
299
468
906
744
187
554
864
559
832
384
434
572
209
77
874
330
593
140
304
559
409
154
825
389
267
581
142
125
307
888
790
168
716
798
991
633
649
82
239
625
803
767
936
955
599
5
809
243
236
153
360
12
912
792
313
377
141
516
876
350
398
330
649
640
318
405
178
52
267
749
483
227
390
89
352
535
197
883
872
378
297
906
401
28
185
317
203
395
847
459
13
795
537
866
107
885
284
173
842
387
561
625
228
167
70
920
808
489
803
933
11
6
343
725
210
150
909
871
880
102
763
780
642
458
440
167
469
26
698
254
8
953
230
595
799
496
952
638
142
329
104
268
528
212
506
623
797
237
59
402
693
626
965
732
42
216
226
442
574
376
676
207
317
83
189
647
569
259
718
886
675
307
517
503
247
958
235
56
981
185
564
577
949
930
793
523
82
856
888
676
593
126
750
390
225
474
857
422
582
492
820
270
233
64
294
611
950
396
300
937
222
888
216
957
142
434
666
642
862
353
19
104
83
274
494
590
465
775
690
5
412
470
914
308
415
538
865
26
46
418
49
903
705
458
831
412
454
892
154
437
610
395
787
951
289
814
408
917
757
427
968
968
278
204
563
631
115
115
440
4
503
476
915
821
672
688
663
792
485
510
295
935
830
165
157
404
696
167
42
940
764
753
834
668
410
188
168
433
292
33
855
225
21
635
164
557
7
769
64
844
246
319
156
923
691
369
362
852
829
871
382
71
296
303
576
786
662
396
171
173
992
32
673
653
464
885
906
983
66
256
393
384
401
797
660
267
681
512
631
359
304
507
477
211
777
441
165
124
376
529
490
522
617
265
533
642
529
700
349
244
763
283
179
711
749
742
645
494
497
428
162
406
135
894
317
627
945
187
41
649
498
512
214
565
443
443
747
288
680
846
300
271
902
30
534
281
972
393
187
611
190
59
343
861
279
514
968
101
813
309
151
785
938
241
546
252
397
243
147
43
321
446
925
538
758
436
809
624
616
802
163
185
565
480
227
219
443
203
946
307
879
662
232
958
192
579
994
97
72
962
188
564
224
283
752
81
913
168
512
511
336
457
73
663
821
182
257
79
132
82
852
456
579
780
348
392
196
607
814
126
999
415
294
826
204
362
923
758
337
838
460
377
384
154
104
954
452
597
236
878
956
745
248
182
1000
714
677
149
450
117
703
84
169
95
456
472
48
722
702
762
722
463
201
987
346
118
447
248
387
877
557
870
173
689
790
677
836
128
548
425
376
360
741
878
801
571
83
426
692
492
232
384
66
186
666
354
134
375
867
95
391
924
668
360
501
2
605
84
596
637
725
94
934
43
582
280
364
146
98
744
645
202
533
24
503
241
85
912
224
376
521
727
706
665
805
184
161
297
924
127
60
396
943
503
488
578
899
878
848
756
288
722
668
344
764
457
389
165
147
931
144
868
19
637
948
584
957
438
186
897
958
8
991
944
696
515
919
578
73
275
284
125
904
256
700
179
723
341
632
271
410
188
218
16
750
402
256
497
97
466
965
267
31
536
91
292
274
800
986
602
140
539
513
170
506
444
36
798
605
986
278
357
964
885
548
772
444
757
680
583
649
85
52
700
960
521
208
268
45
384
946
154
979
906
209
651
65
442
750
432
4
361
343
673
342
820
259
505
989
923
834
661
216
69
216
254
682
407
796
102
994
439
415
931
756
726
148
77
310
575
378
10
173
358
896
143
678
802
987
865
503
181
787
719
554
881
738
934
138
164
621
272
509
331
483
319
616
665
729
858
328
690
838
971
521
308
391
821
122
323
617
907
646
696
210
691
792
654
968
125
397
423
722
592
418
910
77
138
628
156
745
711
411
763
611
319
375
740
250
615
500
478
273
469
191
593
771
485
909
422
126
281
44
865
614
554
273
54
578
643
974
100
400
308
154
756
168
940
981
394
700
250
225
130
557
784
840
284
782
266
457
602
352
855
801
856
752
917
886
466
682
769
392
812
586
185
807
724
644
153
761
486
848
480
457
332
38
362
290
40
93
978
531
724
7
489
414
338
234
552
118
718
516
627
869
226
398
889
871
169
767
527
816
219
24
562
514
995
993
103
555
820
236
126
999
415
230
442
780
966
763
527
912
539
3
253
585
342
907
390
947
649
33
936
683
546
355
964
537
806
394
678
528
340
826
803
970
629
733
279
325
494
851
453
581
367
475
605
103
928
179
725
834
634
135
869
337
181
603
336
395
400
149
144
802
408
200
969
523
126
857
805
638
415
280
71
345
138
537
809
812
470
548
909
880
611
636
992
449
868
247
721
854
775
589
818
735
487
315
981
672
210
872
249
348
846
810
95
114
330
183
655
618
371
133
83
578
441
903
955
888
883
817
27
978
964
212
403
769
531
898
366
602
703
530
698
254
669
135
304
526
260
159
348
890
402
612
919
417
968
273
454
479
808
474
738
801
952
664
353
998
56
832
854
130
181
866
782
707
915
92
879
233
623
575
500
651
401
239
276
977
871
491
538
6
536
846
880
228
847
988
502
981
461
811
657
438
456
250
610
237
405
120
997
438
293
775
383
17
228
120
99
283
774
378
171
466
536
108
241
205
295
105
932
817
611
230
994
41
303
689
952
434
636
966
671
681
361
446
420
894
957
725
575
398
600
764
38
575
366
320
832
124
155
560
94
454
657
332
869
14
444
377
675
80
919
646
839
872
428
985
935
918
333
669
535
276
181
659
609
524
438
5
604
487
411
506
186
263
112
603
103
464
783
499
429
527
766
649
707
581
157
112
152
648
471
722
108
858
110
685
446
982
24
984
416
815
349
944
768
852
178
419
611
254
881
283
578
324
528
398
342
573
58
733
438
7
803
88
625
422
850
751
763
352
528
458
250
812
967
218
639
134
319
938
928
977
691
299
387
103
286
959
506
593
537
60
802
978
281
919
772
182
90
977
235
275
988
345
674
776
650
744
956
645
88
253
989
177
541
12
458
704
982
993
753
403
189
967
644
541
827
91
991
133
352
875
60
386
849
856
562
254
89
10
608
110
200
777
159
828
359
588
410
557
813
972
768
70
340
611
748
872
31
221
137
156
845
773
265
317
970
335
58
963
446
808
839
263
860
896
508
53
164
936
818
312
865
632
956
497
844
292
532
778
107
939
378
360
577
492
267
956
886
338
789
943
777
727
116
910
335
865
341
99
789
22
396
718
2
681
286
215
125
571
546
395
84
406
351
686
703
276
685
946
324
965
336
973
697
888
254
252
784
947
977
561
867
409
431
753
4
760
379
414
471
631
215
129
264
89
564
752
140
962
395
444
963
449
947
228
303
938
791
448
327
816
777
855
59
68
467
4
954
648
850
235
580
893
840
847
920
779
50
952
417
414
845
125
450
981
503
196
340
289
601
433
375
196
420
943
542
425
242
297
875
722
900
300
349
878
842
321
243
859
267
810
787
196
609
438
658
799
733
831
623
602
778
988
202
761
436
305
732
661
872
579
621
663
155
502
924
324
262
919
549
830
259
568
579
498
200
106
203
519
683
972
701
534
746
55
774
280
978
163
270
272
282
42
10
418
755
39
991
552
507
548
721
76
50
46
804
317
129
888
203
717
426
1
780
719
643
305
820
10
857
956
256
860
894
509
215
401
702
703
319
72
345
847
915
889
304
733
16
877
214
578
296
764
34
752
893
13
931
955
160
343
816
61
724
192
564
62
400
959
442
412
556
458
155
628
508
737
226
139
416
312
141
264
896
908
792
674
314
984
279
835
279
703
59
770
379
501
759
919
610
75
713
1
271
455
423
570
301
784
714
391
207
591
271
831
710
606
661
246
230
645
678
708
152
689
32
511
574
35
1000
569
906
327
629
253
250
343
489
161
963
663
766
86
202
693
701
714
500
108
997
629
661
449
814
835
321
472
445
321
546
861
538
148
753
95
28
189
38
558
543
889
738
495
129
386
681
35
576
907
96
292
515
586
628
528
694
792
218
439
559
573
895
915
298
70
661
23
58
604
735
548
875
685
391
159
205
367
495
149
643
214
657
743
506
639
569
178
514
539
741
92
706
948
314
307
56
907
67
723
20
849
38
893
367
617
409
812
205
619
426
607
65
758
185
89
302
480
13
602
783
736
79
188
75
658
573
867
876
518
478
733
455
872
536
666
247
829
452
663
548
94
791
202
481
731
287
582
993
635
495
898
693
312
790
141
732
917
750
954
796
432
856
729
492
503
253
51
80
740
54
990
522
204
298
369
311
403
191
934
391
369
728
299
745
281
119
661
907
673
711
502
761
473
257
978
433
987
443
203
18
476
571
412
177
170
154
868
320
375
2
395
248
855
19
662
616
809
583
654
515
572
844
325
809
645
717
50
593
774
635
363
296
572
381
407
489
622
422
703
427
83
221
93
719
580
940
205
286
535
786
367
939
187
36
666
502
257
390
773
397
554
923
225
981
911
338
89
756
445
625
308
761
556
505
610
81
7
245
501
408
131
504
781
56
492
911
1
616
306
939
442
716
542
515
549
965
913
468
219
252
881
603
966
976
418
679
820
695
487
41
712
927
129
3
260
516
582
304
92
72
106
169
279
457
14
522
24
217
983
921
484
136
874
623
490
806
143
1000
968
227
420
207
81
957
979
616
442
271
651
1000
284
119
170
917
139
408
96
6
383
277
199
172
14
597
670
730
146
876
562
670
7
109
665
62
674
902
374
570
390
352
211
707
61
774
336
189
467
326
797
273
768
3
259
467
152
266
668
358
836
764
616
597
178
258
202
282
362
824
812
60
982
898
570
297
847
501
148
550
509
278
295
413
342
571
668
530
474
860
516
182
520
306
362
410
846
39
43
72
68
73
417
574
562
435
552
279
55
150
488
757
767
232
478
100
157
717
183
509
63
94
459
230
890
160
226
720
578
483
396
586
250
148
3
468
832
403
475
535
394
139
455
653
709
898
724
634
266
239
507
175
26
829
940
235
307
612
510
633
481
752
69
591
646
831
396
794
995
936
368
302
415
887
493
299
727
820
938
230
85
743
227
374
266
477
446
242
965
637
147
513
784
857
138
390
256
550
995
368
158
887
453
399
316
503
774
363
343
716
844
571
13
635
13
731
501
655
611
467
329
212
704
993
668
618
855
990
591
5
597
105
971
110
861
713
994
719
823
762
670
65
514
592
291
378
53
591
538
86
560
401
803
868
639
241
353
888
811
520
152
41
458
587
525
988
610
929
346
71
406
542
117
955
158
534
117
979
750
227
788
755
509
168
663
506
802
472
428
10
343
901
177
767
612
890
498
209
828
511
820
339
650
24
350
168
158
229
15
741
664
290
44
310
614
128
230
456
195
706
437
542
202
765
626
930
443
660
549
795
224
932
216
227
431
186
496
525
358
649
442
261
702
503
494
718
72
740
300
781
975
787
707
213
456
623
422
536
494
438
963
382
817
159
743
301
1000
302
606
472
596
699
657
674
564
617
995
166
464
662
816
843
708
644
436
149
659
284
940
725
541
235
551
747
903
382
313
172
863
830
359
927
490
261
837
154
432
610
595
215
360
110
799
112
872
799
26
329
255
526
745
890
910
357
789
585
285
997
100
929
912
551
21
364
478
487
435
654
914
135
300
203
162
466
525
220
616
136
660
310
246
12
584
48
39
481
219
542
742
834
335
828
804
955
656
159
101
343
799
913
236
223
97
900
206
132
946
277
764
911
144
186
97
461
622
466
303
978
91
487
754
642
365
222
592
878
578
179
540
406
34
695
686
231
224
409
112
636
375
426
68
14
981
805
900
65
935
531
75
492
260
45
477
820
949
748
602
393
66
622
402
903
120
288
303
44
690
321
377
992
407
656
713
483
712
238
787
162
244
871
45
762
332
374
965
398
811
760
569
944
315
111
757
9
270
254
821
524
46
117
230
304
96
859
75
266
491
494
588
149
910
729
792
697
58
192
644
267
444
16
10
735
649
29
423
387
550
423
865
209
405
823
726
620
386
142
720
234
926
481
742
656
170
585
594
703
981
58
36
661
159
610
856
370
980
116
502
988
741
142
385
268
713
911
97
45
783
382
665
443
156
228
460
962
626
26
500
258
331
897
734
892
389
159
334
737
508
306
167
88
453
769
359
694
269
456
350
92
283
43
881
648
188
349
138
665
987
870
648
738
168
781
620
325
241
234
97
147
691
820
699
587
488
425
726
762
497
533
115
287
551
228
45
65
476
755
11
604
54
537
829
489
783
956
347
617
292
49
601
723
441
504
769
550
457
986
582
722
963
879
746
34
346
993
550
383
759
627
73
19
963
673
306
153
338
122
57
190
651
393
735
37
590
424
980
3
644
333
626
754
651
788
666
712
197
906
753
28
139
624
231
982
674
18
883
248
766
958
354
969
251
815
704
997
595
702
650
976
118
849
846
167
477
270
969
36
331
855
487
673
418
355
721
55
707
535
220
987
912
904
533
363
407
56
156
985
498
611
845
797
99
166
465
848
66
452
266
663
850
108
813
7
678
92
766
216
135
773
402
356
933
188
47
493
614
741
565
244
131
913
673
635
572
159
133
964
767
230
786
49
157
626
22
739
115
735
488
25
820
497
753
440
940
101
236
673
602
303
855
519
576
451
813
296
151
199
369
910
926
177
721
555
632
617
895
868
124
30
70
45
907
556
911
995
894
533
297
149
633
179
289
940
872
991
304
266
192
644
254
512
409
689
831
800
562
348
205
192
630
35
167
508
556
5
135
277
756
742
512
70
61
234
589
162
974
311
580
3
161
590
372
474
367
396
285
275
312
208
471
70
669
833
566
236
940
480
883
116
874
389
714
728
123
453
322
754
961
540
760
484
244
867
5
82
261
811
766
191
758
11
965
439
227
499
98
808
476
816
619
239
638
816
21
33
1
872
530
835
494
754
179
999
214
286
571
149
129
233
815
592
961
562
966
71
316
319
800
984
321
924
891
848
368
569
799
250
115
765
605
960
521
814
175
191
544
134
321
221
111
904
433
709
91
459
266
92
313
250
322
367
105
907
639
444
463
183
895
978
683
74
425
263
241
454
129
354
772
926
280
23
216
407
927
565
611
163
922
737
538
641
594
326
926
438
767
902
797
206
102
378
515
101
730
838
307
628
746
975
114
397
436
162
341
323
12
832
694
298
265
372
91
197
734
164
587
378
961
796
362
479
890
662
71
434
753
383
286
96
597
529
330
753
187
74
548
136
155
942
910
214
149
747
933
193
209
540
82
649
755
977
166
662
377
817
759
139
99
84
365
266
899
522
838
164
33
227
579
380
177
435
143
799
463
516
219
943
247
131
343
359
848
392
377
17
549
591
487
189
878
751
312
285
555
786
75
515
515
570
625
48
102
574
778
535
881
997
882
513
497
558
219
168
672
166
718
431
739
724
468
152
79
212
684
380
438
20
118
401
409
235
354
243
253
196
116
810
868
184
465
689
940
550
726
918
208
924
116
700
349
427
267
126
206
945
282
450
930
590
540
375
170
482
174
83
601
819
63
475
935
11
204
191
54
366
527
496
57
365
592
50
822
116
107
919
155
966
861
904
705
565
531
443
623
907
757
851
369
1
47
656
146
864
363
141
220
464
678
965
754
90
412
924
868
391
417
489
345
972
86
754
766
20
259
814
904
885
810
402
871
944
200
813
868
343
814
776
386
416
613
930
336
676
478
2
933
270
639
625
93
721
745
954
733
569
485
895
656
274
94
814
619
352
783
49
781
277
871
417
976
83
386
161
160
1000
978
484
931
670
272
884
254
677
202
996
378
171
427
540
468
364
695
292
669
537
862
670
129
985
374
682
55
28
158
469
971
815
275
620
209
137
183
774
91
892
106
741
408
164
875
544
569
80
543
322
216
775
239
994
227
787
23
954
735
189
938
822
218
578
61
483
775
828
149
188
408
148
350
520
508
564
554
393
770
426
186
73
450
912
622
412
217
772
958
94
841
797
571
722
621
519
744
1000
771
743
668
90
934
340
280
469
620
608
740
259
655
193
809
51
647
221
57
694
70
805
592
409
819
543
979
824
991
972
102
233
198
206
4
450
947
120
151
121
483
548
121
251
28
901
501
3
523
510
604
555
841
793
699
871
897
1000
648
811
295
948
169
901
886
596
493
426
157
778
834
248
420
695
916
904
599
6
782
69
831
477
261
457
177
195
740
574
500
291
369
513
973
960
389
166
721
330
90
802
836
384
779
951
369
712
237
936
931
348
368
186
207
315
143
674
69
788
452
459
906
5
226
282
510
98
8
655
117
94
178
669
195
175
217
999
177
158
699
238
631
849
194
741
274
570
910
601
859
679
677
274
160
370
837
610
245
355
717
741
741
322
611
364
19
192
622
423
129
284
293
123
791
466
684
475
986
249
441
309
492
566
447
792
234
670
840
5
447
201
553
71
483
930
24
648
542
167
418
356
738
75
494
825
685
390
272
637
228
174
762
362
24
249
317
278
441
915
637
113
627
410
39
344
686
297
380
148
579
663
936
122
778
544
625
243
704
496
171
385
666
589
221
870
375
399
946
201
91
758
379
87
108
134
585
341
614
498
770
37
906
459
622
578
576
277
475
940
555
43
396
439
843
16
920
800
334
565
933
204
407
665
208
212
840
229
128
201
177
780
472
969
889
191
498
706
540
226
160
390
700
627
33
989
531
365
385
541
815
438
899
317
684
336
744
774
470
827
31
950
907
300
246
264
366
235
867
451
953
753
241
474
49
377
758
844
326
283
497
705
360
367
818
424
698
369
826
185
658
168
228
280
178
102
887
345
773
849
270
816
4
926
82
227
903
407
610
835
500
769
669
193
896
116
602
980
373
185
501
355
643
666
619
577
683
352
30
418
529
559
698
197
75
58
472
839
147
517
12
472
97
25
269
502
739
881
934
973
685
192
262
313
65
243
714
199
155
816
199
410
660
796
47
981
280
508
482
896
690
142
39
845
284
565
301
284
849
551
350
145
829
206
539
77
27
900
534
5
342
592
107
152
685
786
827
379
247
718
584
879
158
555
937
775
946
567
329
158
332
222
574
454
628
121
439
781
414
540
748
133
232
93
215
814
740
685
119
524
157
510
16
916
840
311
902
223
540
488
655
767
202
958
97
789
192
825
730
42
464
49
76
28
523
280
523
591
963
968
786
806
28
633
390
772
874
954
89
938
187
911
747
90
378
804
14
941
833
373
86
585
581
615
931
719
349
139
632
634
121
66
925
469
255
551
562
100
696
963
892
364
27
657
912
999
944
49
107
814
222
401
576
117
402
308
315
351
254
414
40
239
490
256
584
443
392
492
747
936
728
955
458
789
814
141
225
70
651
742
174
892
804
800
398
442
120
904
965
961
414
591
695
277
985
795
710
445
188
736
877
451
321
131
461
755
766
977
708
642
674
447
617
956
458
630
874
841
43
956
748
504
112
127
796
884
542
311
364
313
877
168
222
940
949
982
124
705
662
835
752
128
615
262
271
49
405
294
687
690
421
127
307
138
463
931
847
389
744
439
178
598
712
62
250
76
650
234
483
888
193
548
798
574
761
82
488
691
375
952
370
331
505
759
956
745
382
99
958
505
705
708
60
405
750
134
743
404
719
50
916
514
558
466
261
466
584
108
474
347
13
196
44
199
868
699
824
712
815
890
393
759
197
682
155
488
889
827
161
88
651
482
905
158
315
67
708
793
500
609
864
141
542
960
411
188
974
378
255
963
207
961
378
179
31
343
50
583
155
864
256
910
331
170
64
409
479
810
285
355
873
942
564
821
674
700
991
277
991
131
449
230
229
850
149
226
686
733
238
4
238
33
936
513
480
289
404
778
869
241
394
323
269
805
827
978
773
802
609
401
864
776
360
590
749
703
254
983
190
838
816
485
275
240
382
905
342
756
859
848
709
353
617
49
959
757
589
509
261
260
138
573
626
438
841
234
58
258
104
586
251
729
455
266
893
795
406
198
633
672
48
679
475
187
895
123
681
978
52
335
285
590
488
256
971
623
37
504
342
77
779
908
632
948
598
438
486
960
73
611
730
29
306
461
995
695
957
686
635
282
517
364
627
998
841
986
69
545
36
165
407
25
74
496
788
145
923
532
760
743
558
714
111
659
946
418
796
842
993
988
746
377
467
709
860
804
148
243
631
701
760
936
652
6
805
756
740
968
50
359
512
942
267
926
52
429
785
960
703
961
580
198
164
383
898
153
766
106
858
572
232
696
109
269
291
937
357
385
206
199
500
104
672
435
196
265
566
699
909
86
689
365
865
461
23
591
906
866
992
702
918
958
874
315
364
376
830
989
491
55
983
140
899
662
585
731
547
337
598
14
699
40
972
200
983
213
442
476
516
369
966
257
3
447
803
855
825
506
787
60
391
353
578
255
442
234
547
757
594
594
466
63
101
211
367
550
743
736
780
962
767
751
51
723
11
15
580
693
709
478
669
510
967
960
82
55
598
164
596
907
795
820
552
871
141
289
877
797
546
968
146
931
45
134
965
8
803
695
397
118
297
454
193
144
409
86
305
235
64
32
542
332
157
887
246
255
702
667
551
226
569
565
147
989
666
391
434
894
185
947
641
398
329
970
761
439
986
158
155
63
983
993
257
487
849
748
139
521
541
95
576
880
186
207
897
475
708
108
109
207
157
277
716
114
645
214
184
32
98
753
266
20
391
370
210
925
69
684
465
415
560
580
629
667
649
163
271
731
96
804
725
235
393
115
108
729
90
556
654
444
581
780
880
680
932
493
254
338
158
801
792
324
326
547
473
719
14
93
411
604
933
393
509
399
988
931
703
416
649
321
969
66
252
920
977
859
814
790
658
853
960
779
965
726
846
232
810
996
315
116
479
218
83
903
847
170
443
613
354
131
849
825
5
391
719
303
652
992
17
130
400
576
441
867
300
888
579
346
374
141
993
113
661
983
5
439
192
236
905
84
700
943
404
645
444
492
428
452
747
777
751
409
699
386
551
131
25
821
714
970
282
592
574
289
425
857
838
403
225
927
655
177
230
602
108
156
741
757
965
457
733
60
164
397
801
977
340
950
970
473
688
712
637
931
591
982
26
858
729
953
265
877
851
756
604
369
981
300
353
867
607
420
834
975
299
825
15
155
320
767
515
188
956
110
368
498
769
726
256
832
421
726
934
949
514
87
218
93
669
624
211
31
127
132
414
330
306
726
1
381
79
80
778
397
12
285
337
240
441
553
455
459
81
801
65
398
767
465
23
529
81
550
441
465
843
9
602
244
894
26
306
562
151
692
59
578
657
845
681
823
234
562
760
519
388
912
863
297
329
78
589
922
294
909
343
123
921
281
171
36
42
387
146
99
120
211
530
445
526
37
416
988
992
721
616
405
865
919
318
198
245
136
429
825
689
715
609
683
926
422
674
365
961
293
450
179
995
793
183
409
851
150
281
154
951
930
527
886
457
519
864
59
887
240
559
177
357
197
803
771
625
834
818
610
293
397
138
320
816
138
15
272
488
173
841
277
170
328
60
116
371
216
294
405
184
5
321
629
734
76
76
448
36
786
94
518
577
107
661
162
524
743
478
176
180
690
832
956
204
859
102
902
155
533
915
754
114
931
446
119
504
92
148
942
733
595
663
84
954
428
788
516
72
393
163
810
87
42
762
791
34
73
368
212
32
481
965
281
445
527
375
696
742
784
528
624
396
61
479
691
125
56
641
652
789
912
752
853
548
724
758
985
239
191
147
942
481
272
271
740
724
680
824
595
307
517
986
245
613
154
671
498
558
713
979
849
996
158
201
677
106
41
665
205
429
414
315
924
76
289
160
630
512
280
604
565
494
764
280
414
933
945
174
78
947
742
739
183
871
271
190
300
777
12
396
687
916
480
588
194
560
296
623
618
881
92
684
439
921
627
127
333
165
792
610
306
923
948
816
577
561
168
809
580
571
520
530
591
645
478
25
500
186
909
721
205
144
874
513
965
682
622
429
773
932
777
414
495
7
686
106
88
547
295
505
671
264
721
159
610
368
901
782
66
296
309
254
643
852
756
584
879
739
706
743
311
472
386
217
785
818
204
786
459
258
619
274
722
415
692
989
824
72
963
121
607
156
209
662
109
30
855
255
226
567
552
11
808
691
449
475
780
538
233
853
906
936
877
100
822
639
335
686
809
657
155
664
589
36
68
194
122
666
152
811
944
51
82
525
142
462
318
348
436
612
830
911
165
750
74
651
209
127
534
478
989
858
51
892
744
545
560
319
210
451
612
787
681
630
241
159
189
181
308
832
200
709
462
205
787
161
227
220
712
417
554
1
248
428
376
908
829
217
287
379
830
769
555
532
873
697
28
836
53
562
378
136
396
931
358
908
678
534
366
917
457
414
699
398
784
561
306
437
643
336
747
512
538
933
283
27
71
236
774
256
550
698
65
315
861
271
89
658
899
4
780
111
812
659
208
669
214
569
37
84
287
29
546
804
408
678
944
954
516
725
670
868
939
353
672
148
838
319
414
342
703
592
511
124
595
853
416
267
932
811
587
833
677
590
870
702
699
900
663
11
959
281
545
94
901
522
698
267
108
221
372
136
834
564
105
173
513
625
155
952
715
865
859
810
308
70
196
680
775
641
905
480
743
50
894
802
774
228
527
540
383
889
620
786
70
51
607
561
874
552
404
881
582
962
950
282
266
104
257
142
274
336
107
47
125
857
158
30
31
574
361
697
938
455
24
149
16
909
808
121
529
431
196
965
894
655
710
914
489
999
263
591
530
292
540
864
851
102
251
959
14
47
402
214
504
982
501
973
146
836
745
906
75
800
771
463
717
750
555
272
284
65
362
35
234
438
439
873
983
903
337
140
915
67
289
440
401
422
111
942
102
736
442
136
306
706
976
833
427
484
521
583
83
197
358
652
361
305
372
367
970
493
862
961
5
793
785
976
930
823
394
955
235
330
914
385
911
729
923
829
563
949
576
734
464
709
677
695
336
273
859
812
979
864
829
377
119
170
706
309
9
786
964
662
396
25
408
26
426
248
889
848
938
769
182
528
406
418
582
661
452
53
250
914
467
664
328
881
385
232
109
687
58
176
349
256
987
26
906
925
434
966
471
534
990
27
102
193
806
976
638
696
539
434
844
931
4
343
314
728
208
657
728
255
140
78
82
504
249
698
866
379
14
679
989
621
397
444
459
132
241
451
430
259
885
264
260
250
354
546
633
407
498
564
653
427
351
2
41
35
807
186
225
314
443
294
138
36
924
803
46
931
981
164
528
33
402
697
61
194
794
762
306
368
153
568
271
522
449
350
41
875
467
272
639
721
146
103
894
245
534
626
889
611
249
771
701
84
50
676
625
97
694
217
52
993
792
82
447
642
752
114
673
235
256
497
989
354
893
302
663
850
746
101
52
137
739
591
386
277
499
676
269
618
341
19
67
819
733
865
960
802
268
840
397
545
719
518
119
670
253
762
689
444
238
262
697
170
372
198
401
930
52
692
616
309
10
555
55
16
230
828
184
309
87
833
881
742
460
727
840
20
293
48
706
702
706
410
397
70
314
245
912
732
815
480
224
433
296
137
505
104
947
83
30
393
16
619
595
805
940
113
174
95
527
691
839
736
969
794
693
156
238
553
650
899
113
42
454
30
685
895
217
933
696
249
121
86
470
646
646
543
517
380
850
614
119
708
760
688
326
537
904
208
833
443
375
589
160
370
592
236
379
927
85
903
415
995
235
354
605
251
874
627
742
304
55
271
331
374
90
583
161
810
185
220
571
316
591
561
981
432
222
848
373
689
121
439
400
853
986
473
712
860
192
880
902
355
426
923
221
240
51
427
803
264
841
409
718
488
516
86
575
413
848
145
780
644
736
713
788
261
756
663
846
451
175
812
815
556
300
35
599
404
375
554
629
701
883
467
595
276
293
108
337
204
766
953
405
156
266
619
285
867
886
964
724
260
900
406
872
599
214
373
222
33
449
224
422
5
835
67
95
325
459
658
731
141
185
961
571
638
752
998
152
85
104
370
854
739
42
155
335
212
644
944
248
134
725
474
976
317
802
616
440
196
658
512
201
994
603
291
194
945
970
108
433
891
214
206
928
764
209
344
876
767
11
189
933
570
370
217
956
463
770
265
200
196
610
102
345
205
422
317
107
17
705
351
437
877
28
758
456
96
536
594
375
151
921
427
582
337
170
587
999
627
174
156
549
462
326
680
334
383
828
725
640
783
283
246
470
554
551
154
657
82
525
641
959
874
666
547
752
79
686
541
75
284
700
935
784
295
573
725
579
34
906
840
438
298
346
649
819
902
419
494
596
620
136
373
302
440
972
947
699
861
650
706
92
370
351
501
84
743
587
610
651
558
19
185
541
142
886
232
976
173
578
228
568
366
126
122
165
954
990
732
77
190
628
479
753
714
751
13
522
430
46
506
450
486
424
305
708
65
515
205
129
941
222
788
741
187
644
193
191
993
551
152
893
285
916
374
660
713
710
146
332
646
279
549
622
967
147
830
993
885
1
286
886
407
977
468
42
874
69
653
950
716
659
296
704
595
696
623
673
258
29
594
416
672
736
248
234
511
104
793
568
627
43
930
260
945
335
551
291
100
98
369
229
229
235
35
67
574
441
20
516
910
562
826
113
372
701
147
683
974
475
199
800
927
298
799
900
912
339
693
594
622
94
290
583
199
121
212
241
700
563
25
632
330
527
90
204
18
259
737
874
803
323
842
578
671
662
486
571
693
519
549
979
749
671
988
121
722
323
88
136
741
323
110
294
954
59
669
182
375
514
615
635
517
470
372
882
894
797
492
888
3
73
654
280
40
536
441
555
431
506
31
512
282
979
358
953
917
29
385
762
40
50
898
386
455
615
611
615
922
911
444
296
445
306
556
281
268
581
67
494
865
747
460
431
494
193
311
852
236
95
354
641
14
652
881
59
761
709
123
676
772
781
574
299
304
310
192
100
628
224
17
984
82
527
37
959
150
682
69
881
230
18
991
516
547
268
951
264
621
576
30
281
794
39
438
946
603
901
518
824
191
997
703
307
521
980
111
111
900
121
640
681
201
218
266
341
212
226
745
714
759
783
78
545
569
695
894
561
405
805
393
405
616
391
592
21
121
389
407
55
792
300
538
1
360
584
207
845
242
701
566
888
167
767
958
304
53
916
322
721
363
91
704
788
106
944
236
256
680
935
972
562
39
523
628
307
3
533
655
290
111
429
37
952
104
203
871
188
971
57
101
492
523
854
747
306
616
582
560
257
474
694
363
704
41
262
230
635
938
324
271
487
370
675
20
928
328
628
343
949
467
935
330
909
374
151
861
314
312
210
400
179
117
881
95
809
658
64
466
700
162
610
789
58
729
445
771
115
589
310
298
37
995
362
800
707
153
188
302
78
280
555
287
129
678
350
329
654
725
699
857
252
788
255
520
947
386
956
355
753
367
376
371
423
467
920
224
301
393
750
376
911
479
254
484
463
46
340
816
920
830
568
172
682
222
388
111
184
616
351
305
947
860
177
477
674
648
991
704
21
728
888
819
565
956
194
271
327
541
473
90
894
326
353
529
877
586
716
545
900
601
663
532
834
228
915
628
281
800
33
459
589
942
855
426
863
299
107
483
451
780
1000
908
414
609
923
740
329
403
84
398
584
512
30
491
1
74
516
1
229
581
113
797
856
272
288
932
591
346
409
296
198
792
298
945
71
634
484
913
490
513
279
344
601
844
166
587
154
194
746
255
830
186
680
336
778
961
642
139
633
144
286
260
848
382
617
737
663
686
986
299
379
261
97
912
953
998
71
839
40
555
588
98
791
748
595
483
650
58
880
300
360
157
44
589
154
744
80
867
888
405
773
390
440
914
648
486
291
116
1000
790
612
543
863
104
542
977
413
154
589
470
399
747
268
724
693
696
126
325
925
418
302
48
490
270
642
343
916
563
176
160
678
668
449
448
104
783
811
60
907
749
261
265
223
768
866
765
788
978
80
944
5
655
513
18
233
209
845
951
571
258
598
248
765
798
428
205
672
893
450
807
846
374
866
221
432
743
812
742
525
853
932
149
536
974
636
629
954
518
400
845
25
58
732
237
575
262
638
381
135
15
511
43
27
317
371
632
849
519
301
865
74
46
737
836
94
92
987
129
112
643
5
265
745
828
952
555
37
813
552
416
886
363
566
257
550
769
985
356
973
40
704
550
179
125
491
112
856
489
42
971
581
514
816
262
810
64
98
284
914
31
448
114
16
856
288
493
348
801
897
118
166
231
456
128
990
287
168
411
108
102
627
330
798
148
799
625
722
399
983
494
270
739
70
378
438
435
276
502
967
584
254
63
85
123
191
804
161
395
18
853
982
265
379
878
171
489
341
54
464
359
160
825
182
662
558
201
255
627
124
132
588
864
394
554
367
236
131
862
184
264
108
866
458
906
436
802
729
517
102
590
813
365
931
320
707
337
608
909
386
366
754
975
313
688
326
230
567
208
727
125
986
195
119
43
611
981
393
74
27
588
122
293
895
991
615
509
101
276
894
644
435
60
986
264
688
374
463
301
337
674
541
662
768
764
387
261
108
177
504
973
298
38
181
164
999
467
54
741
281
379
738
108
817
906
366
18
485
736
603
105
865
398
388
748
93
857
200
44
951
846
125
855
857
29
402
325
632
434
381
768
543
590
30
548
125
459
238
435
727
559
157
906
557
650
722
71
230
955
338
175
481
199
420
174
756
648
109
448
833
950
30
576
527
811
390
2
756
450
74
541
969
321
638
950
974
838
272
186
743
673
871
565
620
754
311
752
684
257
933
426
729
743
1000
472
431
65
598
780
782
853
45
83
823
167
384
761
12
388
934
232
334
543
201
360
369
20
675
297
123
91
168
303
347
718
367
411
482
902
251
210
71
201
847
677
740
132
548
698
343
873
906
880
930
51
355
316
557
446
797
180
750
105
378
453
674
712
46
584
645
67
693
623
661
155
778
200
39
617
320
754
94
392
74
549
29
925
531
400
836
610
69
448
92
74
254
2
962
494
806
251
596
404
175
594
379
321
62
440
178
109
416
608
786
202
654
858
286
668
892
667
927
662
940
101
426
942
720
508
294
28
530
821
931
23
280
432
717
316
424
985
293
159
806
929
515
596
76
340
357
348
606
366
122
17
116
606
935
422
287
886
388
971
730
186
637
707
589
918
952
89
915
378
966
601
698
924
387
36
123
392
987
631
147
305
27
297
14
674
112
839
665
588
661
430
308
304
805
577
600
294
517
484
987
501
261
30
766
142
205
527
320
493
355
67
830
471
558
522
454
277
410
236
613
23
536
970
569
35
596
997
898
503
625
58
822
232
999
521
632
527
402
254
568
653
659
628
614
886
191
558
618
918
148
716
51
243
1
864
486
220
460
744
574
679
141
154
899
331
285
607
600
717
224
457
38
126
964
495
140
729
460
799
245
152
666
48
413
861
420
600
207
14
596
410
892
884
701
211
830
592
291
501
637
597
170
560
300
367
287
90
26
694
701
122
83
359
721
506
254
235
593
638
826
472
673
70
212
100
89
334
424
235
279
569
602
100
667
558
720
238
938
366
413
610
48
67
588
763
151
978
109
888
66
410
388
381
794
189
154
466
855
114
22
553
882
52
729
262
17
637
90
471
116
342
756
299
686
290
875
698
768
306
594
190
686
579
154
342
711
786
20
769
191
691
64
806
633
46
359
519
569
63
521
370
743
888
872
696
341
248
920
137
517
890
769
283
416
544
119
103
291
842
463
180
46
77
922
369
742
717
921
261
164
304
577
772
561
763
229
209
34
145
6
457
881
535
739
258
394
192
765
143
235
964
404
250
509
717
967
125
123
782
160
636
812
418
666
256
469
900
493
336
72
123
427
458
528
549
515
580
239
904
82
505
38
294
202
140
419
310
901
113
677
228
628
597
631
675
674
599
115
940
322
529
298
705
436
639
219
92
116
766
613
811
827
877
209
674
75
119
246
876
330
420
814
288
402
209
31
442
857
486
736
25
410
306
587
489
445
715
962
774
928
314
30
298
38
927
738
50
765
297
209
74
587
330
238
664
78
194
146
310
974
464
250
826
778
618
597
86
479
388
411
507
311
877
917
759
793
888
807
140
459
618
650
767
810
719
969
998
995
741
521
478
678
156
596
834
321
461
759
315
870
366
524
600
454
688
922
603
229
385
758
342
960
99
654
843
265
698
626
602
718
551
46
377
155
713
326
894
603
742
529
648
213
638
461
106
481
243
473
505
801
523
314
897
102
315
923
278
925
509
952
426
770
143
142
555
6
528
445
994
897
394
885
897
563
989
744
427
811
222
589
917
793
220
34
296
421
143
897
457
289
676
596
283
614
403
192
805
390
187
500
296
481
735
73
161
885
775
655
158
758
666
940
817
84
787
38
947
75
752
125
740
464
391
138
322
884
387
227
542
409
685
924
428
183
90
602
16
757
940
892
185
395
410
155
717
160
762
971
79
9
837
891
280
485
169
367
756
865
372
865
439
748
876
626
16
175
649
495
958
316
291
470
37
654
751
382
919
376
995
215
912
379
112
80
88
894
736
815
829
227
160
487
301
560
187
830
471
12
586
785
93
462
11
877
481
687
380
99
16
468
979
359
61
219
48
308
355
560
179
527
45
5
627
681
200
605
574
167
29
934
417
259
86
306
440
475
375
469
560
169
651
317
434
913
198
357
865
285
13
760
340
96
639
829
526
917
849
638
729
17
29
402
622
459
346
871
84
157
762
657
548
158
517
961
140
273
967
589
767
445
560
503
462
937
299
409
540
491
238
47
538
99
457
900
504
927
472
44
895
244
223
696
274
886
619
859
17
939
141
94
433
812
121
100
85
819
146
263
579
703
510
738
793
308
728
971
304
702
946
770
786
644
470
174
271
240
771
402
465
979
37
104
759
129
768
997
188
639
950
702
338
293
91
278
143
815
723
516
566
69
71
511
404
254
200
430
846
236
356
675
938
747
173
825
841
220
87
844
589
456
609
56
96
127
72
276
310
397
77
337
752
553
172
939
150
612
194
408
510
325
332
473
785
845
182
603
221
623
996
824
589
764
870
162
766
132
838
26
538
36
711
929
105
168
27
889
448
800
658
769
656
953
479
561
329
342
971
344
373
455
812
225
868
22
303
91
199
477
947
393
311
756
623
526
764
915
569
560
267
601
831
240
481
373
914
187
199
241
136
184
441
536
569
268
627
434
525
129
737
11
259
949
302
715
919
396
127
528
825
964
892
896
829
226
170
701
840
847
917
189
618
407
232
761
582
181
988
976
675
14
10
947
320
364
588
543
103
381
467
469
106
626
943
323
743
664
314
229
550
292
727
450
618
613
450
723
271
524
637
674
135
410
993
795
988
41
102
940
614
695
795
178
453
536
648
180
989
132
594
983
686
798
681
116
756
140
192
583
220
765
722
131
505
644
304
549
313
4
346
507
607
965
975
569
327
345
358
572
907
199
705
532
741
674
969
573
484
728
681
196
503
105
995
311
826
685
758
119
670
38
346
846
994
526
89
778
552
821
325
824
609
41
533
48
815
25
505
221
744
444
258
476
244
551
210
559
56
376
168
17
135
73
862
894
728
966
47
158
510
545
717
126
78
290
580
618
620
768
758
435
885
845
623
28
440
245
767
887
789
914
396
291
119
825
844
518
339
920
459
528
579
862
891
440
515
142
643
798
733
890
837
783
815
402
321
10
25
37
609
497
235
585
657
711
243
682
140
353
722
110
741
670
827
82
913
655
941
717
742
429
104
963
821
490
422
166
482
262
187
309
367
562
436
742
67
203
473
842
458
896
170
645
485
73
956
931
326
984
42
659
293
691
807
909
345
159
229
687
811
675
938
54
755
254
747
37
449
529
495
702
568
844
663
560
70
936
493
247
176
626
270
999
537
417
50
7
432
730
306
184
830
813
932
196
216
21
555
906
381
231
349
492
764
686
404
611
528
408
231
937
277
663
191
258
215
650
425
163
574
700
433
964
360
789
527
172
816
116
254
295
502
807
307
167
573
543
601
324
659
91
927
170
736
214
82
804
500
453
415
415
68
588
509
89
267
379
109
748
393
378
468
644
60
149
3
542
707
261
509
279
392
784
235
833
718
841
784
459
166
969
150
701
597
650
215
299
450
403
653
105
949
255
526
119
713
229
811
682
279
749
712
664
402
480
908
228
474
200
794
353
20
730
409
871
66
847
924
176
77
343
547
155
296
86
185
95
585
29
480
536
254
570
663
63
975
617
233
22
604
947
622
35
578
217
876
947
680
57
861
567
77
211
653
120
955
631
603
881
567
731
9
829
161
786
465
501
119
567
729
450
582
886
381
824
991
671
649
640
281
545
518
250
879
681
631
359
297
842
563
710
864
148
778
196
52
44
911
739
931
392
86
761
525
380
641
422
221
148
987
109
931
676
312
854
402
450
498
439
940
901
946
965
802
411
930
573
705
918
769
819
209
836
357
924
216
995
528
763
471
835
322
973
741
882
494
30
291
869
456
465
395
492
458
660
877
899
998
831
88
502
317
853
320
571
404
572
369
414
68
126
855
604
510
579
958
877
316
867
410
810
948
649
964
328
599
174
59
430
787
668
61
247
131
74
309
700
586
205
155
580
791
486
335
824
336
509
299
124
439
561
579
789
985
143
879
936
889
234
340
691
502
743
339
57
121
123
268
497
703
641
970
107
576
126
888
421
272
346
529
550
593
337
564
340
707
107
704
679
340
141
540
924
132
65
697
623
817
599
947
409
191
716
456
929
752
488
937
188
478
685
298
513
489
615
318
634
203
37
976
39
183
256
357
859
73
631
432
22
901
848
622
302
561
233
771
205
443
284
28
340
58
398
223
14
981
429
465
354
580
344
105
141
840
729
667
903
14
314
64
550
2
11
205
954
93
161
110
473
172
848
758
331
568
142
220
170
477
98
46
816
276
171
514
534
143
482
78
570
64
1
300
819
722
315
610
811
776
90
476
50
704
748
948
908
767
129
88
920
599
144
503
339
632
476
40
219
818
440
733
167
133
977
241
92
931
617
368
973
505
926
700
689
151
636
72
421
621
132
344
2
96
460
922
870
705
352
576
927
196
12
356
728
561
569
838
879
297
200
490
451
519
844
709
483
313
360
934
385
565
749
301
159
3
729
518
856
340
606
966
648
199
822
562
201
998
28
601
777
74
818
582
659
96
487
53
12
283
318
593
289
997
919
405
610
53
96
380
363
483
581
153
408
553
693
401
880
535
669
557
557
139
984
211
158
494
418
668
755
294
64
544
654
44
682
817
766
338
82
454
452
751
233
575
297
268
875
165
91
83
261
460
509
279
519
515
663
143
818
902
735
813
164
138
344
560
193
246
194
221
757
786
797
250
456
808
751
362
528
438
125
2
659
245
30
723
347
71
279
89
437
782
429
898
306
265
123
381
982
32
831
497
156
14
563
640
656
460
74
830
455
396
425
982
698
740
467
934
534
7
6
687
794
538
918
791
652
279
470
833
471
479
457
803
952
98
520
453
578
322
224
870
81
363
18
174
326
619
208
638
586
368
482
540
628
369
290
765
447
171
634
486
732
436
401
280
369
319
422
663
381
760
835
359
685
607
200
567
995
618
19
117
991
730
980
694
599
468
295
229
876
1
942
158
504
136
516
483
358
514
626
499
961
360
498
574
881
397
474
621
295
983
639
742
13
61
658
79
235
290
247
72
168
573
366
168
453
270
387
544
8
564
964
515
529
825
288
164
354
304
730
143
845
187
619
758
737
841
55
205
134
71
179
261
954
360
324
847
685
329
804
582
223
137
867
909
434
120
546
378
833
748
680
422
430
883
415
323
364
422
835
97
415
604
243
694
872
683
746
284
510
181
471
364
636
673
733
87
240
869
901
536
331
806
548
604
389
112
723
792
751
643
788
496
419
254
368
294
428
135
379
341
454
906
978
217
777
626
555
482
50
995
554
753
620
259
998
326
248
765
78
254
207
696
75
295
654
230
160
360
95
263
351
899
521
879
13
188
496
953
788
621
81
625
805
911
966
899
320
592
617
286
688
316
540
238
727
235
3
108
54
166
677
489
977
367
705
105
828
456
630
853
473
444
490
225
829
887
110
73
868
905
319
632
529
144
346
756
387
844
166
598
724
808
909
289
818
439
755
796
955
993
922
756
608
867
449
4
707
23
499
493
742
648
781
482
682
744
556
183
316
634
368
565
726
305
320
621
995
94
189
212
176
475
188
562
774
606
471
553
701
849
766
282
722
712
674
695
929
501
227
759
631
539
304
304
412
943
332
599
745
853
550
738
730
442
740
130
1
238
982
748
786
60
465
279
454
375
795
17
588
966
592
148
807
610
339
54
76
880
623
424
231
285
926
219
789
712
52
20
895
522
152
887
429
737
47
588
883
434
211
38
610
887
347
801
423
956
961
774
360
990
730
556
603
762
709
543
166
38
679
479
8
967
963
91
611
821
98
382
941
587
643
402
913
501
197
570
158
939
482
157
908
963
905
144
305
460
607
474
284
24
427
681
459
646
539
948
112
840
817
955
475
56
104
264
979
69
655
575
42
610
984
910
267
653
224
700
638
620
911
737
393
283
773
217
810
265
723
409
37
876
745
21
441
472
787
1000
691
657
78
313
946
411
522
266
43
680
943
30
567
48
2
346
31
848
530
833
182
482
895
932
593
793
751
270
329
6
204
161
425
181
966
27
338
108
572
757
303
273
101
407
781
872
118
192
748
833
770
423
634
474
53
881
118
713
262
165
853
744
572
684
392
684
505
319
271
989
737
237
226
372
381
997
3
544
364
874
63
348
992
262
779
750
139
167
361
732
742
997
886
321
451
350
226
879
359
13
637
306
689
149
11
978
214
542
549
102
978
780
686
655
538
501
660
226
608
145
10
904
427
186
641
800
633
491
827
931
719
270
660
964
374
49
29
748
135
278
141
666
839
425
980
581
267
904
870
534
260
763
466
452
304
832
109
799
276
948
451
496
591
952
645
468
464
373
221
846
392
120
959
199
234
30
680
180
470
835
926
597
312
952
877
255
345
518
741
876
298
280
53
4
342
239
976
111
51
460
761
41
798
81
958
510
868
354
856
645
40
502
889
441
720
275
415
561
984
360
385
155
9
220
874
198
495
487
360
420
603
821
949
57
844
957
424
507
130
783
131
466
891
442
236
265
763
822
801
967
853
313
468
207
1
385
283
919
774
350
325
845
162
661
373
168
48
246
786
707
599
656
145
842
627
264
985
758
859
355
87
638
762
715
432
179
285
235
871
143
394
137
971
705
792
647
307
50
568
330
670
984
814
852
273
346
463
634
64
666
645
704
682
786
928
97
419
177
680
276
788
263
609
432
960
377
285
933
365
881
53
900
217
579
285
623
588
830
390
517
934
609
301
411
634
389
461
229
206
890
450
526
335
632
503
955
770
742
105
426
407
682
754
633
635
355
751
675
80
591
595
667
462
149
128
629
153
166
91
425
385
479
190
213
806
344
35
677
187
874
591
307
690
927
877
117
12
297
698
502
118
780
134
364
42
109
366
262
391
803
153
94
806
695
967
743
576
271
335
185
55
982
408
805
271
381
193
30
376
274
120
970
171
63
846
404
966
135
278
365
475
421
815
540
252
271
706
900
446
353
243
295
273
607
244
213
662
205
890
568
4
35
532
149
768
534
522
341
50
520
468
791
779
307
563
16
382
543
826
310
231
126
109
918
39
61
766
164
732
302
683
116
980
474
230
397
718
872
330
970
502
269
461
80
454
882
931
26
910
333
130
146
599
517
833
171
351
119
813
144
862
917
168
182
6
126
809
689
574
758
475
73
45
412
527
609
211
927
480
874
41
81
942
83
166
875
158
746
753
961
851
271
345
486
432
568
463
928
919
206
351
531
126
403
291
579
753
988
341
54
33
467
157
221
496
515
836
257
218
519
329
368
673
307
44
731
905
802
718
220
284
166
487
103
579
929
361
812
372
703
1
436
156
370
751
813
570
3
389
968
329
421
954
162
347
936
290
14
469
807
684
2
962
903
64
115
681
317
758
633
339
15
739
772
887
101
609
424
378
989
324
343
33
543
790
896
418
280
41
932
814
838
632
439
857
206
272
355
496
679
489
365
152
99
270
518
719
691
249
255
706
754
949
785
395
510
32
800
357
671
281
166
46
650
246
614
481
897
123
414
221
555
436
695
929
449
511
357
833
479
603
522
297
621
724
51
541
88
907
974
261
672
674
581
539
928
937
534
970
668
420
598
363
153
980
492
735
514
851
922
576
166
950
88
494
420
847
788
459
53
916
826
805
344
469
573
48
965
401
387
345
161
970
92
150
843
872
877
155
599
685
773
196
117
103
340
124
190
101
318
38
301
340
767
442
772
653
670
57
589
429
43
24
304
52
366
205
891
355
539
121
11
193
616
820
915
845
320
636
140
940
677
362
215
978
155
851
833
352
377
396
335
964
810
583
889
131
842
462
451
536
302
984
451
362
781
689
158
610
105
489
858
832
899
259
281
149
485
638
214
488
279
86
877
414
441
774
412
825
800
337
805
9
941
844
661
272
943
636
514
419
437
791
766
849
552
87
948
941
832
287
687
678
385
455
704
210
387
784
150
121
542
145
849
725
254
120
322
619
98
821
22
64
603
186
830
508
525
785
744
700
543
362
627
391
731
489
44
615
304
746
497
839
803
771
833
117
375
380
196
495
783
707
645
545
563
989
516
863
64
165
641
786
179
952
781
352
226
440
42
786
802
506
545
351
411
588
356
469
341
413
522
417
553
300
68
751
334
579
3
844
57
451
670
564
711
377
292
189
752
684
189
79
459
634
920
543
200
626
596
541
914
554
662
605
703
621
755
399
615
32
634
848
572
83
782
657
957
133
968
344
509
824
995
615
69
686
862
34
168
988
807
438
643
262
1
509
242
445
245
214
670
11
630
582
643
750
967
435
279
97
802
221
620
48
919
84
147
714
562
641
891
526
52
736
187
943
82
590
115
277
711
364
457
903
43
150
302
691
612
768
521
972
742
593
975
738
545
805
689
37
737
92
184
753
200
849
876
26
14
344
682
587
754
150
9
207
969
399
872
237
121
23
205
994
714
253
331
323
6
41
171
245
474
997
9
16
156
657
534
287
107
585
435
290
459
935
61
170
3
504
499
605
778
309
974
875
889
916
659
386
665
551
808
465
303
61
641
912
358
371
543
425
774
972
974
478
698
328
933
679
947
814
937
942
858
973
279
8
206
377
745
23
38
405
58
875
538
546
74
961
512
662
161
890
674
785
234
400
677
624
659
395
769
940
587
617
995
351
327
914
144
911
39
445
974
43
375
466
853
996
688
519
583
31
92
952
107
956
953
696
743
483
364
139
809
95
782
769
795
761
271
947
736
925
751
840
80
581
215
53
120
195
153
955
33
426
299
32
661
344
400
875
432
870
900
536
242
687
323
98
699
755
653
238
849
865
200
474
397
375
292
539
490
384
596
60
312
121
74
274
108
269
346
52
772
233
720
898
779
159
266
908
100
608
94
899
696
367
416
50
329
827
82
429
728
730
10
727
595
836
356
371
548
286
290
921
837
944
9
360
631
81
956
405
704
74
242
474
611
660
985
317
817
448
577
589
791
39
916
860
774
107
297
640
802
211
929
995
543
978
68
275
713
487
314
237
146
379
957
636
68
222
149
921
769
163
291
263
666
725
272
550
695
909
78
348
66
408
888
83
707
852
940
842
105
472
378
290
856
466
761
139
953
680
153
515
734
875
515
333
454
20
635
488
647
528
981
288
795
307
684
22
342
809
289
4
758
25
78
731
169
496
522
18
81
965
848
116
829
274
822
831
696
447
574
640
104
687
702
600
858
190
961
658
215
247
534
577
453
128
286
303
693
593
406
40
973
716
535
707
918
893
820
707
962
529
329
162
712
911
920
852
930
215
953
78
644
413
224
641
7
91
89
867
923
841
61
404
868
931
66
101
36
421
158
833
685
760
723
571
528
154
113
359
136
698
216
94
550
330
674
180
736
145
335
198
100
531
62
687
1
872
191
39
70
263
784
273
237
820
325
160
510
669
630
765
949
637
596
968
763
984
838
967
156
281
414
30
335
660
608
53
119
220
158
553
678
346
443
794
269
37
854
674
259
133
1
862
334
493
455
402
570
759
443
701
947
346
296
344
964
676
458
694
255
474
564
569
475
180
439
625
292
106
851
221
2
15
512
669
144
218
145
761
516
121
370
396
157
377
816
920
166
475
124
535
743
608
446
763
452
172
636
475
508
57
581
448
837
199
17
756
765
533
731
560
460
554
279
21
665
197
210
125
830
649
320
185
495
972
639
672
659
179
712
793
895
466
199
955
219
861
7
819
13
458
965
194
872
741
495
383
881
253
904
959
662
984
644
135
518
448
368
45
126
320
668
281
539
922
158
965
701
582
928
506
279
85
507
919
389
4
132
268
712
706
546
350
559
205
532
207
685
850
99
452
45
38
579
654
218
746
874
245
922
730
749
491
922
614
404
83
613
983
477
828
766
777
296
695
213
973
439
258
753
581
637
139
193
406
601
659
234
954
633
274
848
73
776
799
917
626
808
610
165
575
619
217
811
331
357
658
984
136
290
127
639
532
478
139
611
689
225
332
498
473
756
660
259
659
723
384
753
612
954
726
987
114
326
481
480
723
769
210
9
219
169
837
938
238
400
623
528
152
780
513
858
608
6
810
489
931
29
951
571
752
381
948
892
812
180
696
237
887
436
926
566
178
260
45
690
283
321
506
542
120
194
609
689
755
254
853
416
106
424
33
568
946
406
309
367
436
954
354
574
676
420
526
694
394
42
741
406
949
390
310
43
290
993
606
722
373
384
800
703
791
746
314
636
85
849
843
626
248
239
998
479
454
472
673
50
920
731
199
336
123
340
265
891
286
555
331
125
191
461
974
283
858
9
209
261
589
5
314
907
189
330
118
139
936
821
11
27
978
969
177
987
448
84
666
345
471
622
966
841
682
137
668
99
567
723
682
667
176
868
201
30
311
352
281
895
278
207
466
118
707
772
367
899
728
566
481
234
9
48
811
168
774
314
73
98
934
457
329
213
898
607
925
195
464
640
520
460
423
172
784
532
159
719
98
662
580
859
205
390
169
807
294
592
818
55
442
465
360
658
696
37
414
285
334
34
229
371
977
365
683
591
329
54
547
393
280
186
338
512
972
323
890
247
238
871
801
745
508
115
494
720
861
953
522
836
433
914
102
441
781
677
589
463
124
162
741
77
611
224
207
150
904
144
587
596
370
367
817
503
158
430
364
300
252
594
933
290
365
487
934
596
198
951
974
941
147
390
17
694
22
140
664
322
722
747
213
714
84
630
777
843
348
251
743
886
729
810
304
241
643
494
607
814
6
438
320
624
874
946
52
1000
382
930
113
602
602
232
565
102
457
231
378
581
273
115
774
613
906
313
514
576
632
814
974
931
143
549
344
92
73
570
173
27
442
495
791
933
281
585
848
154
507
843
319
4
784
747
840
331
724
572
191
447
280
770
44
526
588
556
842
688
849
654
850
773
41
159
914
231
413
601
484
663
710
577
766
275
61
796
688
924
281
958
495
494
99
676
413
45
503
553
779
560
935
602
449
149
554
439
88
229
176
64
166
574
759
564
68
94
530
825
801
875
903
140
140
319
396
641
953
184
617
664
630
941
239
447
225
165
591
69
959
578
127
171
175
994
581
785
722
615
30
553
18
85
472
732
678
210
757
621
743
520
868
501
968
692
639
714
570
379
948
265
114
196
312
213
934
438
594
160
591
600
234
341
408
940
1
185
22
113
776
720
253
389
285
873
310
82
21
537
511
585
810
251
240
866
619
496
822
345
225
875
367
835
319
933
393
628
456
938
231
858
36
743
784
17
133
740
204
828
580
16
456
757
196
27
521
82
386
522
231
822
671
969
288
789
881
443
115
707
835
807
531
633
343
996
146
897
292
428
572
378
359
841
190
240
664
388
297
153
255
415
873
658
909
164
106
525
110
599
66
920
492
634
598
702
206
339
597
423
903
78
296
451
45
148
126
194
256
199
963
548
284
598
347
572
962
953
299
862
202
227
952
268
711
185
86
388
567
488
24
768
250
362
68
820
13
638
797
287
704
910
125
495
298
715
941
722
412
926
540
787
33
993
821
320
532
290
404
288
785
565
383
14
902
439
470
349
620
941
607
636
877
331
2
829
496
817
695
459
159
358
409
113
77
393
433
787
828
241
743
750
866
901
378
531
96
158
324
280
748
228
827
997
482
649
79
94
311
781
712
331
437
42
366
394
572
990
880
336
628
440
360
598
946
88
398
609
378
523
278
768
597
75
840
212
12
702
12
888
514
988
714
337
78
368
957
83
943
903
462
656
690
289
98
106
20
282
701
334
490
398
647
668
733
581
642
901
950
496
780
462
571
254
855
436
18
660
288
946
469
550
806
779
332
343
172
215
925
750
850
724
507
462
504
569
378
729
585
400
217
980
89
572
247
1
776
297
67
759
737
718
202
634
240
645
504
698
192
17
570
678
395
102
227
422
24
84
956
1
377
956
870
60
24
572
466
689
920
307
919
853
921
22
135
383
413
922
111
640
445
470
421
217
811
732
804
471
70
384
885
244
328
172
59
876
955
769
418
489
90
825
414
561
910
524
624
38
170
68
593
541
420
376
228
790
679
694
641
989
37
982
624
779
846
695
219
319
686
16
910
211
255
686
49
270
697
344
52
595
670
655
745
4
590
604
10
639
123
17
524
510
941
773
963
774
187
161
526
803
864
564
979
481
613
957
747
710
909
722
754
794
763
931
799
258
437
561
284
631
493
58
11
925
764
318
571
849
448
386
595
282
626
161
742
169
902
942
862
796
774
925
181
354
607
641
740
803
731
920
547
306
302
132
71
939
36
380
788
947
818
809
429
527
509
396
510
61
954
436
447
704
340
408
320
468
545
92
890
308
60
590
8
181
407
389
969
785
686
711
666
444
74
185
623
640
597
306
136
793
510
231
765
208
938
230
367
539
223
472
729
753
609
943
570
302
446
951
406
173
127
88
271
516
324
528
811
829
928
214
630
22
277
870
51
261
897
708
640
169
965
417
968
827
182
283
61
45
522
283
905
507
596
599
217
753
11
299
364
425
147
837
8
854
239
650
526
831
512
332
750
399
391
827
880
573
490
575
713
167
139
831
450
337
750
178
468
20
155
854
349
157
410
631
403
523
214
882
659
978
259
929
22
200
297
935
872
284
671
414
898
107
384
895
373
71
501
394
377
577
853
134
718
668
533
386
419
314
666
392
679
193
262
68
163
210
766
625
306
645
72
252
105
544
361
765
491
927
111
482
983
438
22
605
767
287
401
83
739
744
763
275
340
978
5
725
179
724
550
997
585
136
279
868
176
188
882
95
496
149
531
637
553
988
401
457
830
51
619
983
983
987
690
904
929
682
302
193
546
931
687
185
466
668
390
95
783
843
392
538
591
460
992
542
375
845
796
37
236
973
413
984
809
547
203
182
537
578
513
243
628
409
374
428
643
486
550
795
161
701
161
623
377
770
845
159
808
978
575
550
500
565
788
215
274
192
443
45
561
204
4
538
347
858
88
381
571
313
722
76
91
897
716
885
993
136
655
764
567
68
420
997
784
607
927
885
441
126
994
223
476
937
870
288
101
93
962
688
538
740
723
773
130
308
524
246
500
969
537
232
273
124
318
368
586
169
846
382
233
414
191
239
843
835
898
168
933
283
403
795
996
881
496
166
94
611
931
645
524
491
751
575
246
345
812
84
700
877
298
624
538
665
683
665
572
714
780
473
949
437
963
23
128
260
641
957
784
577
342
916
139
445
541
728
548
237
499
692
411
441
926
653
569
954
241
631
435
483
583
535
990
149
469
879
681
961
195
493
977
627
656
920
6
53
225
582
277
977
773
803
944
419
666
488
472
999
817
574
831
727
464
379
548
581
383
628
37
22
656
239
647
635
954
924
763
221
539
274
111
24
826
288
168
241
401
221
174
590
853
247
794
540
633
637
936
706
437
107
539
82
266
501
456
976
431
229
659
1000
223
722
102
988
891
719
546
476
860
368
499
264
841
972
261
606
573
708
706
799
493
795
67
274
535
402
478
830
581
55
444
294
868
411
722
740
745
62
331
358
781
463
519
232
136
146
580
537
501
171
322
169
675
131
863
372
23
104
184
733
631
665
506
816
998
426
153
779
449
619
20
553
303
914
163
556
10
996
277
451
89
444
71
158
735
78
604
188
366
281
674
380
227
750
261
298
422
745
833
846
352
219
54
177
628
92
70
576
965
581
64
807
426
694
241
372
677
942
730
214
555
844
155
676
366
52
785
946
815
769
251
786
332
662
767
74
919
690
700
587
291
51
106
488
236
3
533
175
630
441
19
521
465
913
676
37
586
254
708
154
564
110
990
666
297
413
585
327
457
314
687
764
879
149
530
133
341
774
734
425
966
20
411
902
632
43
110
942
392
100
348
454
858
628
20
135
931
540
480
38
41
336
447
342
274
968
193
724
381
395
635
467
679
420
82
269
283
696
380
736
950
780
100
731
28
717
244
41
690
910
666
341
643
988
34
38
992
953
688
411
777
150
196
370
1
495
772
297
613
965
947
681
14
561
73
676
138
841
288
296
50
631
552
676
314
716
247
733
74
159
612
605
947
378
974
416
278
279
360
322
312
547
537
256
114
661
978
499
826
318
550
988
6
742
941
310
330
776
985
396
899
755
74
302
771
886
782
839
87
302
686
483
347
968
124
714
992
386
267
881
396
359
492
746
815
157
481
105
603
83
855
260
240
777
464
672
311
612
613
817
615
160
630
122
988
56
162
876
283
506
517
188
156
354
183
355
995
859
365
542
332
306
28
250
578
135
459
889
771
530
811
708
275
334
435
425
86
664
65
190
451
885
72
923
13
406
92
618
575
340
280
987
902
226
345
660
659
866
290
216
717
819
483
542
582
249
283
320
602
643
941
29
976
360
930
441
308
118
135
474
585
293
608
217
44
324
674
79
302
643
255
336
542
267
177
755
274
603
118
622
385
69
569
241
784
874
876
900
912
632
967
361
812
558
876
184
234
635
516
570
463
523
477
937
180
938
792
188
682
925
726
429
203
714
636
958
936
854
876
474
566
909
527
826
790
308
459
43
348
848
861
91
541
958
921
541
74
77
753
315
354
395
56
767
15
768
214
638
559
840
712
809
469
271
830
395
49
500
524
414
564
652
297
179
938
49
658
594
391
279
428
741
928
916
797
485
506
817
493
375
33
367
868
730
121
186
14
685
613
560
237
911
517
333
363
872
870
46
371
793
487
892
796
936
252
424
202
401
861
63
763
447
425
94
670
202
414
299
629
769
749
327
208
907
700
628
157
887
426
111
126
671
624
683
368
227
758
462
164
698
797
799
645
116
173
182
674
534
972
727
188
787
958
249
194
555
120
817
193
48
877
314
377
429
936
748
355
36
82
991
541
569
836
134
572
686
20
926
302
843
743
587
955
815
229
822
49
62
201
80
506
960
234
894
235
23
644
675
85
370
938
464
732
113
840
963
522
798
200
636
729
753
836
786
992
977
532
281
922
204
934
85
11
939
64
763
977
491
521
950
676
561
237
137
501
478
784
194
996
984
873
764
25
364
618
56
449
806
564
548
712
103
285
848
106
185
539
259
810
540
611
623
950
251
463
643
54
261
785
220
254
471
808
286
537
449
50
244
115
867
750
420
761
242
844
821
530
214
758
152
882
378
190
217
608
637
295
804
360
151
383
645
793
231
317
328
531
922
279
841
206
611
489
9
811
736
732
249
472
529
295
898
548
799
987
891
643
957
474
699
732
822
69
253
80
282
442
54
78
536
481
773
410
497
647
443
201
859
753
765
924
550
17
147
880
510
645
849
13
230
930
985
648
85
58
236
533
240
388
787
193
852
947
438
184
351
311
800
317
805
795
237
286
792
139
493
431
722
442
1000
557
246
154
462
826
276
327
665
752
122
207
394
218
438
430
987
292
985
779
304
293
714
487
870
229
288
534
483
246
976
252
873
166
802
815
888
554
907
883
215
2
399
736
915
468
330
731
865
607
58
813
766
961
944
100
553
795
267
296
868
127
232
762
777
202
196
639
51
260
560
298
139
943
292
775
442
111
742
542
596
148
189
131
280
52
587
701
459
757
84
544
114
144
196
942
210
167
964
526
84
338
30
486
490
611
331
530
248
309
21
534
819
376
326
159
159
644
242
557
889
223
393
488
150
398
909
753
521
618
867
925
32
227
725
729
597
651
151
289
172
605
857
704
571
740
358
23
134
865
36
787
378
494
575
731
376
36
574
121
822
342
135
454
670
730
309
958
784
799
547
364
240
563
741
960
830
470
975
802
792
841
892
266
38
173
414
837
919
508
645
147
149
773
952
773
571
596
595
282
350
609
776
270
555
652
670
962
292
618
791
18
271
896
52
777
157
514
25
134
138
86
155
575
872
657
199
707
422
340
696
761
788
442
106
163
419
387
111
218
417
355
699
389
199
6
848
419
52
37
31
776
374
625
303
510
359
975
438
615
592
319
417
441
260
688
619
523
716
712
201
420
707
516
493
825
890
494
719
253
163
379
988
52
961
571
284
378
883
113
158
16
950
62
901
629
322
257
266
90
542
644
214
34
247
391
727
670
785
983
485
211
402
402
63
948
477
231
372
148
786
277
258
458
933
837
524
419
893
303
162
46
85
158
260
145
489
770
832
207
144
597
866
249
755
548
961
953
253
281
257
795
889
164
792
643
859
484
41
477
487
211
145
452
754
320
251
548
289
236
479
400
989
408
253
746
128
451
102
120
121
528
623
14
154
881
952
796
501
485
985
61
677
823
573
931
560
684
102
82
192
713
194
890
296
140
727
163
445
785
44
377
426
928
982
189
595
115
312
289
899
292
304
308
825
924
376
605
743
921
196
230
970
254
221
247
437
116
331
940
999
377
167
84
277
842
762
610
437
548
317
512
431
899
267
754
55
971
361
276
657
712
87
951
406
90
638
463
874
461
593
656
49
561
591
844
52
554
634
932
531
531
19
996
127
673
599
119
474
77
761
863
895
884
457
778
333
920
721
700
98
549
289
429
669
783
362
564
155
31
95
898
11
1000
69
785
239
423
887
331
647
238
36
87
671
796
330
157
916
459
557
289
827
706
472
567
847
463
870
761
20
936
308
302
209
645
957
56
59
728
216
806
321
819
930
402
451
981
525
32
192
228
908
974
441
159
737
475
834
93
533
125
362
891
175
205
814
330
498
995
982
513
70
977
400
283
763
185
830
30
364
696
855
600
328
412
682
236
745
809
739
601
718
327
689
990
680
400
282
761
574
916
829
873
479
71
164
173
995
166
665
730
635
874
289
95
525
916
591
818
988
874
385
953
922
77
52
561
464
129
500
405
121
633
411
147
407
138
748
342
18
114
451
453
792
65
860
921
974
458
702
35
818
284
398
12
197
438
50
180
661
48
695
662
373
85
345
247
406
328
863
438
210
774
957
794
421
135
449
769
785
911
485
222
710
860
567
642
826
382
87
932
985
443
596
278
343
204
127
229
506
423
769
633
242
48
99
457
944
159
234
860
815
547
38
113
786
786
430
67
251
598
877
925
54
698
845
17
571
41
443
120
363
610
500
604
623
429
73
393
575
506
736
234
32
788
29
298
583
11
135
476
249
557
194
51
982
6
658
584
108
135
741
993
653
515
338
765
505
691
738
190
533
187
96
298
129
196
889
915
79
906
528
879
362
819
885
1
207
340
736
787
756
136
46
294
721
475
534
749
734
819
238
708
497
439
614
618
390
727
254
610
957
159
510
215
566
588
117
527
576
664
428
958
560
678
27
414
469
73
285
139
152
192
892
967
315
572
538
962
805
225
657
726
129
939
629
707
205
531
887
952
675
405
137
627
543
501
317
516
511
911
955
451
151
25
315
286
958
55
96
597
428
168
471
764
506
290
934
469
168
828
775
938
417
162
987
433
697
821
78
610
561
641
551
361
468
46
801
671
737
860
784
830
1000
666
102
76
19
792
71
362
309
488
950
494
872
675
733
300
226
956
819
879
82
243
444
192
247
432
956
450
751
52
905
804
808
710
430
818
886
457
630
103
130
907
423
239
347
43
919
850
28
192
465
252
182
553
345
642
329
999
574
164
603
628
347
539
798
666
501
149
139
889
747
616
705
675
552
919
727
185
290
76
440
912
670
231
757
41
528
766
815
628
767
703
352
609
629
231
945
24
473
684
390
681
951
645
858
639
799
165
50
561
456
261
227
964
391
966
888
840
301
209
860
959
347
691
723
383
180
790
861
396
802
189
850
75
263
606
590
211
734
508
345
134
802
143
816
283
698
580
487
24
733
683
727
315
455
131
570
292
878
639
665
758
692
536
605
860
545
693
752
927
288
639
711
585
646
340
792
763
847
744
192
136
629
707
90
898
441
284
574
476
836
756
90
955
782
902
130
527
96
239
978
258
262
928
656
785
653
12
634
383
596
503
511
966
747
577
585
214
993
815
210
963
438
966
856
440
87
217
67
674
505
318
857
668
77
179
672
504
499
786
703
574
771
347
220
582
279
609
611
762
516
174
951
7
625
487
278
277
199
868
238
656
746
603
361
927
781
647
77
379
773
921
483
843
84
545
8
605
569
612
384
969
767
236
726
683
431
725
132
387
718
644
920
493
528
473
523
664
306
302
90
132
150
729
70
646
201
711
370
738
91
622
233
373
728
191
629
726
768
316
769
40
955
943
366
16
895
368
361
183
970
336
169
34
792
244
914
509
58
635
757
546
670
885
161
58
740
678
876
621
466
421
481
611
865
216
571
280
71
398
58
520
231
932
590
620
14
139
801
400
432
356
966
483
955
88
638
339
883
175
15
946
555
267
112
567
247
669
297
208
563
196
387
752
698
273
285
657
196
897
99
352
753
486
791
169
146
839
659
696
605
636
382
959
802
947
925
724
181
216
342
502
506
28
388
559
378
806
922
356
940
229
246
335
175
789
914
923
966
399
40
958
600
378
808
444
499
459
717
736
725
676
60
789
264
146
294
30
184
754
237
845
486
742
487
375
894
1
54
536
880
663
975
741
941
223
581
796
498
1000
180
847
853
224
134
31
277
396
710
724
695
880
620
875
369
862
865
932
711
912
360
302
578
394
836
126
458
877
650
369
496
513
516
886
649
92
590
174
162
77
37
982
150
498
945
796
333
997
458
516
854
684
59
295
690
702
224
601
369
576
87
60
572
478
304
513
751
518
77
54
58
43
151
483
715
736
656
764
490
960
874
563
44
430
346
900
765
774
270
241
160
971
789
152
975
959
611
721
43
946
379
548
227
61
327
56
977
50
96
212
732
638
982
557
811
40
539
588
492
860
190
143
711
263
442
408
158
894
360
575
594
480
190
979
904
421
420
738
707
986
94
566
395
908
908
398
64
254
464
946
174
501
82
111
684
594
728
406
63
642
939
218
855
578
134
767
392
785
288
85
862
192
798
208
163
808
272
28
905
987
109
956
453
10
984
592
144
686
778
135
660
777
71
111
97
7
35
337
415
300
470
731
838
682
753
693
238
957
676
305
699
907
514
521
281
207
168
859
443
722
886
835
732
128
922
535
108
41
436
268
711
955
114
196
977
346
240
215
743
223
444
118
391
258
920
247
148
397
700
446
353
491
466
83
911
79
472
333
131
912
373
696
885
179
150
947
321
717
856
324
388
639
613
765
72
936
161
466
549
603
235
832
440
772
256
141
964
109
124
913
61
510
393
971
509
707
723
710
619
980
346
889
382
578
171
573
799
811
314
521
715
46
73
376
696
972
779
542
328
587
573
490
882
334
824
559
464
682
863
26
578
237
689
317
589
165
543
772
658
309
591
287
582
880
458
503
422
15
54
931
899
813
913
585
364
689
297
192
545
12
416
59
373
18
430
15
945
951
338
612
86
230
484
956
16
169
132
135
352
479
546
159
65
319
9
775
2
142
517
276
309
976
220
662
395
44
260
112
113
833
331
741
437
830
163
61
285
121
135
380
39
982
382
620
996
405
108
683
212
215
281
541
168
81
531
681
264
241
854
416
400
215
704
824
798
138
123
756
786
568
859
463
481
823
804
845
177
939
701
234
770
342
752
947
744
169
701
516
76
1
951
639
916
437
538
415
57
540
74
343
16
701
346
913
1
865
881
340
192
398
642
142
504
65
976
835
466
771
101
933
914
697
686
857
982
437
550
81
221
598
90
53
795
45
843
996
378
680
463
679
767
161
509
668
243
484
655
331
416
718
305
120
601
443
177
226
797
673
81
771
983
126
5
72
744
698
604
398
229
930
390
844
50
55
219
608
999
961
165
1
430
993
509
997
701
108
352
951
344
290
340
441
540
520
58
820
3
806
939
166
634
5
953
817
149
151
891
543
418
67
830
751
448
839
212
779
781
578
39
499
554
542
888
925
658
325
787
478
207
299
518
885
20
916
597
417
921
801
963
341
468
781
440
983
108
116
143
783
910
271
294
68
715
457
380
57
994
69
175
771
713
868
922
116
287
427
886
395
4
940
555
895
384
945
22
998
600
908
436
485
416
896
986
296
137
758
553
41
657
332
48
988
66
202
445
81
193
448
702
774
103
623
82
127
858
959
860
647
759
376
58
837
893
470
629
237
57
35
468
78
32
72
718
270
731
465
144
598
979
666
712
439
530
825
121
233
482
735
767
240
421
870
483
817
452
576
466
568
807
157
994
233
843
205
878
130
61
28
145
262
253
439
68
976
987
480
521
179
442
895
604
691
13
280
623
248
227
880
801
58
219
946
552
561
472
422
749
238
523
453
190
885
117
931
372
767
605
778
772
451
457
223
52
929
409
646
3
850
131
890
584
285
292
97
105
475
525
271
478
443
170
723
442
175
546
500
879
328
226
708
616
47
976
362
631
546
23
14
187
554
863
971
240
602
96
341
392
374
653
482
775
57
366
721
535
674
22
333
958
900
942
851
914
730
617
768
971
704
163
538
454
60
158
610
758
348
942
871
421
507
615
536
820
379
760
966
876
943
411
340
797
290
881
426
756
521
859
907
333
286
625
846
727
647
293
920
17
321
785
4
207
103
597
498
399
478
509
591
198
994
93
285
365
964
241
582
830
447
988
710
380
300
543
635
750
232
845
415
376
489
888
108
764
738
780
86
305
215
751
576
361
977
341
179
617
382
581
944
33
540
285
265
194
533
491
536
511
680
694
11
501
955
737
763
339
959
157
1
980
527
329
228
403
112
955
913
953
597
351
403
337
79
471
776
553
453
826
218
924
364
278
297
452
178
195
184
906
156
601
496
414
953
764
914
842
876
137
150
925
90
683
167
902
94
401
758
444
364
290
743
750
974
95
43
14
435
919
890
904
683
182
211
286
411
483
44
230
437
623
460
198
860
422
45
443
109
1000
489
840
807
858
172
778
576
465
967
282
535
19
622
224
232
732
236
367
230
285
298
950
338
64
708
753
771
420
2
838
138
463
707
716
215
838
425
253
923
527
741
490
790
968
514
452
453
667
448
155
424
70
109
274
430
653
693
349
136
64
944
1
935
693
566
322
818
216
384
547
13
499
261
100
228
765
507
355
828
50
77
781
224
813
398
658
62
8
34
232
562
66
767
988
490
994
833
703
792
259
251
90
900
181
155
128
57
345
23
622
790
912
537
147
853
784
550
300
508
301
309
89
40
500
647
368
774
14
336
467
665
360
156
546
754
709
547
734
385
242
882
852
100
817
497
324
558
24
651
938
658
634
442
257
286
85
590
832
741
937
668
812
971
139
7
240
167
564
71
50
182
496
471
796
464
679
212
201
885
70
964
902
949
677
340
185
328
726
220
60
570
926
135
789
151
792
607
834
716
820
131
265
499
819
162
842
409
832
89
372
209
924
664
417
552
539
784
135
354
293
826
835
164
814
958
825
709
685
999
254
774
656
416
957
931
2
985
759
402
345
523
292
513
281
819
155
803
904
563
147
797
665
653
407
897
48
720
498
612
210
82
867
563
105
662
678
334
581
539
681
223
591
964
665
414
1
620
35
891
408
861
243
678
11
452
108
613
881
70
550
947
877
462
907
472
65
664
785
792
742
170
352
590
62
246
90
443
835
865
275
792
271
901
886
196
325
266
213
869
812
671
163
823
666
558
153
610
547
540
523
830
487
384
610
26
439
160
962
574
392
686
696
452
175
824
687
570
220
481
59
437
283
401
479
522
626
963
855
618
186
242
361
883
44
518
131
986
910
283
610
999
370
535
272
221
394
834
366
130
953
115
407
45
617
801
366
904
722
47
911
730
990
321
570
10
526
659
414
223
732
47
700
161
26
415
932
543
175
581
957
655
721
366
54
380
214
779
445
64
933
813
294
78
352
938
61
860
844
811
21
418
55
73
873
28
900
358
610
883
367
801
266
967
191
401
703
333
989
558
356
227
605
6
727
259
298
126
464
888
869
317
72
45
987
735
648
626
791
159
552
916
300
205
581
772
289
405
70
493
69
874
280
910
42
468
613
136
996
304
464
821
841
527
975
498
908
996
562
811
975
357
861
962
919
613
630
746
236
871
255
899
733
433
708
320
364
743
207
905
510
41
382
373
32
715
421
459
42
476
566
304
685
468
303
669
159
342
785
883
831
148
353
35
604
603
465
9
597
937
50
399
804
66
9
212
654
251
624
523
273
781
675
964
831
463
359
947
577
849
527
80
992
231
316
74
93
368
978
776
27
820
637
652
998
531
689
176
27
16
808
70
211
76
857
320
974
502
524
153
230
611
147
980
538
806
72
381
89
532
795
823
797
188
352
705
872
527
652
736
979
76
944
385
512
911
185
347
551
915
861
528
811
271
708
63
229
545
887
256
905
161
359
157
756
463
638
668
621
841
596
716
520
596
744
31
442
297
227
496
347
434
802
879
20
18
253
987
47
651
979
932
466
290
27
242
556
555
428
27
862
976
521
256
743
11
900
472
698
29
695
970
219
673
201
512
200
229
259
179
738
648
382
821
755
870
339
903
4
966
820
208
884
405
813
28
990
449
568
946
471
264
339
256
72
859
632
422
216
355
352
673
593
429
62
15
505
969
542
481
657
145
5
380
158
91
574
703
261
390
112
581
768
344
92
899
78
816
945
722
584
61
260
204
488
547
279
27
138
223
356
234
673
97
443
523
90
248
208
667
879
597
93
777
978
873
469
534
155
195
66
332
849
611
19
550
166
761
203
793
961
534
998
993
907
240
288
730
24
350
252
983
394
274
506
819
687
39
208
163
685
955
49
908
220
508
439
117
780
830
777
917
607
22
452
62
264
508
68
768
500
399
462
613
754
493
271
754
747
195
167
680
493
95
378
34
444
378
802
786
671
554
832
171
728
225
988
373
294
710
611
893
758
433
141
880
704
858
972
512
595
677
471
657
67
637
516
650
940
113
830
1
408
73
452
234
937
549
934
891
41
136
218
904
490
291
726
184
460
428
845
276
817
885
906
363
33
852
712
741
177
254
885
110
77
404
587
701
998
968
695
263
144
413
97
452
850
627
621
967
609
881
20
109
969
604
565
52
878
750
49
267
305
632
430
955
810
242
917
319
275
975
26
728
183
612
32
605
703
171
277
933
279
937
6
819
642
584
743
483
925
802
745
352
34
253
740
715
580
1000
968
490
415
780
550
261
279
604
314
652
136
241
528
508
542
27
435
90
780
360
84
702
555
931
710
719
764
438
853
995
228
105
473
19
301
762
530
986
942
668
918
168
208
505
172
561
83
208
49
845
247
331
975
71
682
734
339
369
965
209
786
167
756
538
991
105
233
171
887
824
169
342
929
316
957
1000
807
366
104
336
937
873
646
82
191
545
475
971
575
520
807
927
987
963
861
634
767
596
381
74
474
395
796
540
217
415
656
384
909
821
492
482
29
702
382
963
793
201
333
293
199
791
41
182
45
311
719
120
849
479
471
557
597
176
92
895
366
743
315
461
171
910
224
606
832
719
987
911
270
15
109
224
392
637
125
927
650
433
25
412
450
632
727
178
780
901
610
378
851
601
437
931
79
423
32
468
420
539
680
527
940
892
582
390
528
31
610
868
797
177
275
162
565
819
69
661
790
215
286
146
463
620
25
414
754
919
311
803
672
636
188
400
587
944
181
7
234
402
763
100
248
617
306
43
832
935
548
854
908
579
787
651
985
322
834
706
25
943
286
740
766
204
813
682
366
17
962
606
685
817
454
998
237
885
79
802
649
508
46
922
446
419
111
999
125
927
877
292
770
492
415
466
911
290
749
916
942
471
824
15
160
415
278
351
430
271
718
550
537
443
211
802
521
535
431
553
682
416
181
113
495
729
57
150
343
156
648
107
888
206
991
596
840
97
944
752
131
554
792
306
754
18
655
901
73
750
200
789
984
840
790
574
168
950
379
111
560
908
442
50
329
946
732
720
865
451
895
235
742
602
858
791
162
135
393
45
138
816
496
408
557
877
20
808
301
802
519
232
812
366
405
907
839
758
332
501
631
948
197
162
471
206
239
472
335
811
539
684
365
564
620
683
55
643
966
190
287
745
997
639
842
185
471
25
588
838
322
779
343
366
663
361
289
174
66
858
930
932
243
336
790
311
947
77
435
752
255
101
977
770
376
608
874
229
808
20
733
539
945
349
819
483
233
515
136
671
560
39
299
246
888
293
855
512
23
89
387
628
50
935
517
364
171
744
852
191
625
95
67
643
888
444
538
5
609
799
384
812
574
487
351
609
531
567
677
662
915
366
7
57
308
367
429
728
16
393
930
466
248
622
914
896
246
464
945
754
130
766
542
498
372
92
668
487
595
91
573
452
807
61
727
6
283
865
948
240
67
316
211
275
433
959
272
785
755
962
2
104
901
487
212
513
670
463
872
696
812
172
824
169
852
432
487
675
280
450
598
171
669
605
735
33
935
534
215
561
260
871
989
661
179
938
301
858
920
467
232
407
413
186
703
352
268
707
169
812
661
710
33
652
268
851
721
974
324
163
529
525
440
988
554
202
996
637
478
347
848
26
538
386
574
534
738
695
689
185
267
267
101
67
112
890
565
567
53
24
55
629
615
552
782
703
19
857
44
532
880
448
239
160
205
497
108
838
238
197
761
595
818
809
90
280
240
634
936
853
24
919
783
506
633
870
803
984
930
544
802
140
71
369
971
279
646
444
403
393
61
572
992
700
574
178
690
218
943
889
86
317
318
581
929
235
896
88
528
607
856
654
916
932
251
403
305
730
881
771
620
868
636
896
852
156
437
398
541
867
709
884
964
243
256
738
502
449
515
475
207
634
445
986
831
974
714
518
419
590
404
109
132
252
232
511
118
619
126
339
111
593
65
285
924
11
283
798
163
546
295
489
296
150
724
930
668
811
554
197
194
709
294
670
216
59
478
184
476
97
111
521
208
655
912
665
134
764
706
967
543
519
885
552
674
240
649
904
357
609
625
529
251
4
582
1
1000
778
137
503
369
560
788
179
727
971
109
216
239
331
684
627
812
25
166
83
120
225
909
36
15
539
749
552
238
5
867
973
648
569
123
536
95
798
901
569
664
126
304
716
272
389
468
952
491
716
902
773
37
139
977
99
574
415
171
840
362
645
175
32
809
218
772
730
154
522
228
528
360
637
18
747
813
891
890
785
529
811
631
116
425
460
414
699
665
586
272
345
180
310
78
697
307
332
364
66
850
727
498
287
17
465
980
156
405
725
102
757
609
920
817
182
104
98
415
704
745
66
523
491
634
125
54
306
81
795
892
466
137
292
575
525
443
778
706
775
208
643
564
661
726
124
240
653
187
619
616
933
480
930
695
511
333
505
106
11
382
465
84
438
720
841
881
683
66
965
335
387
918
421
286
72
997
296
642
94
805
731
145
88
369
947
316
38
96
946
622
28
211
123
672
988
402
848
74
521
180
897
711
939
921
285
314
222
731
676
625
488
83
13
923
940
630
466
378
951
733
68
494
134
14
676
913
769
681
994
974
930
457
438
717
9
709
574
474
117
746
699
794
8
357
899
213
765
327
560
300
457
82
912
477
411
625
607
362
483
602
772
741
989
699
213
856
523
539
663
356
916
939
70
156
50
655
905
428
22
750
408
128
440
296
479
805
247
454
671
886
537
855
344
301
276
842
616
85
718
346
133
555
548
97
85
762
509
415
115
176
298
45
933
1
47
381
531
59
581
936
851
943
946
121
649
22
428
212
73
899
361
900
183
163
584
972
212
602
307
461
913
568
483
95
695
854
531
977
627
275
399
218
555
96
487
674
756
643
949
29
559
663
214
222
308
505
364
593
913
755
174
228
957
763
209
649
22
377
341
400
423
313
484
103
66
785
98
226
477
447
271
166
355
195
749
243
211
128
362
836
717
780
674
232
421
777
534
699
402
224
462
923
213
469
409
244
245
351
538
30
214
693
62
147
64
599
112
714
977
44
814
240
550
364
483
798
468
529
879
117
119
470
7
316
726
342
790
583
476
300
283
224
73
287
788
406
873
349
344
369
486
215
588
75
309
217
918
30
984
146
207
527
142
320
60
630
164
944
778
47
872
831
687
435
219
713
521
792
67
619
841
336
88
295
304
659
684
215
718
37
563
513
461
441
261
66
762
234
502
66
805
489
721
601
378
622
480
210
997
325
788
872
76
796
518
618
709
928
237
802
68
403
732
76
250
636
474
297
653
101
29
895
588
878
188
746
918
177
205
193
929
195
51
685
557
897
69
437
298
247
723
626
878
916
439
893
781
782
630
351
268
343
143
875
370
746
266
156
699
277
371
938
566
23
8
839
51
914
4
416
187
485
672
445
314
540
778
936
45
326
309
34
970
999
394
821
418
876
974
989
105
475
937
502
497
365
455
649
44
658
233
364
232
328
206
264
575
633
978
644
248
621
966
566
48
70
778
286
772
249
809
447
907
557
455
903
720
465
600
546
459
142
226
230
405
846
120
735
921
429
625
720
503
302
316
797
51
806
283
173
240
230
444
793
922
635
922
547
944
259
74
912
623
487
185
339
414
313
205
801
950
758
153
190
757
922
970
662
386
242
679
601
647
16
682
624
914
497
888
902
152
633
193
162
480
85
461
880
574
272
824
591
130
16
569
700
980
827
327
890
152
981
567
18
332
328
652
389
748
207
814
430
408
927
472
78
59
13
226
651
933
854
736
568
574
395
437
68
598
287
709
961
235
235
668
564
893
348
262
162
791
953
674
757
921
687
386
391
189
689
388
40
639
345
172
922
68
353
110
86
178
877
747
314
650
109
370
689
183
919
898
661
569
143
818
104
350
673
384
613
464
788
763
272
566
2
162
215
353
339
208
574
361
106
24
807
126
136
520
13
565
982
375
518
670
758
73
964
365
115
151
123
462
399
491
893
183
123
105
281
651
764
354
679
50
299
956
422
953
65
471
443
398
270
136
801
893
948
101
27
460
214
122
497
206
439
710
513
681
363
601
366
440
229
152
428
841
724
937
226
68
896
374
538
792
249
703
785
656
882
7
358
5
899
244
94
885
312
469
791
338
299
519
526
490
994
421
531
711
970
719
576
402
167
719
120
603
315
378
970
647
844
194
822
565
831
986
884
815
824
900
679
148
252
330
273
135
706
675
428
948
585
56
579
462
488
135
142
679
230
191
352
728
584
469
763
451
659
607
539
658
338
639
908
687
352
674
470
803
369
853
597
340
948
588
801
180
331
429
797
356
820
101
946
88
918
400
929
535
526
664
757
888
191
488
727
240
854
194
475
795
569
305
101
608
401
981
222
1000
63
883
888
209
912
450
556
649
572
924
650
307
820
777
853
503
351
344
896
170
707
601
540
313
950
17
394
90
630
312
445
217
231
797
441
47
532
655
790
712
285
200
264
187
183
642
584
996
332
358
922
543
374
10
452
739
932
99
368
676
296
711
158
575
103
280
566
159
343
166
340
870
156
719
795
81
763
291
241
567
350
360
546
995
892
506
434
161
692
513
658
991
911
243
834
98
450
300
573
811
340
664
495
153
240
659
876
194
719
610
974
590
740
527
489
861
198
976
285
155
379
52
192
834
972
50
697
189
584
971
339
996
791
509
912
437
404
491
932
87
980
94
380
331
612
300
437
540
690
178
778
808
597
579
996
857
337
737
926
965
642
105
918
428
430
441
643
94
417
834
600
989
243
867
333
909
766
555
279
123
47
73
306
4
120
500
242
504
859
13
112
854
125
998
407
791
899
532
397
898
304
566
412
354
234
941
71
516
850
22
599
260
299
394
778
944
873
500
549
193
263
570
969
429
683
478
62
234
441
384
66
175
942
177
717
673
210
728
523
882
773
951
414
287
137
476
762
931
150
525
540
752
276
232
290
504
150
198
659
120
841
582
495
208
912
375
860
531
714
807
899
989
367
35
164
594
488
326
882
393
90
12
640
102
7
335
157
471
831
183
111
23
620
391
499
892
593
944
607
920
581
932
515
39
296
575
951
249
328
955
464
165
400
368
128
194
581
365
396
896
40
617
331
974
477
708
137
636
514
850
826
795
191
295
885
669
217
904
26
871
751
948
431
17
332
708
438
190
11
852
287
353
882
895
346
958
981
262
233
514
953
600
407
885
976
43
46
415
193
49
534
748
287
289
448
431
901
828
714
901
334
498
523
521
292
911
661
662
512
63
143
671
782
841
446
754
173
36
147
431
354
658
496
216
466
439
318
628
361
445
608
470
991
575
416
521
322
604
876
473
458
104
778
977
569
225
667
108
830
863
276
455
807
161
54
272
641
662
629
851
931
671
336
308
451
553
354
507
674
753
546
721
650
311
875
927
926
511
99
357
61
101
551
19
797
194
957
456
49
595
645
889
766
751
974
275
98
997
512
510
489
19
300
181
64
741
515
800
106
922
6
421
552
832
445
923
118
270
302
965
134
78
458
857
180
38
14
118
356
696
810
525
382
242
200
818
752
35
897
54
855
752
60
796
311
403
373
945
777
688
523
29
111
228
377
223
122
230
166
156
72
57
118
855
727
979
360
782
45
118
353
987
506
222
769
856
679
440
526
807
901
715
627
533
784
763
579
89
899
848
408
211
144
740
716
699
195
305
807
660
990
145
626
636
331
586
156
417
582
108
951
397
901
995
690
886
614
580
1
717
149
969
287
795
400
546
2
995
540
854
597
966
41
708
385
933
139
489
682
548
34
628
885
225
882
222
590
148
37
574
485
309
63
207
474
545
732
554
450
508
633
109
178
897
5
279
996
106
125
572
426
624
896
36
341
148
304
58
1000
398
30
721
177
31
863
944
561
907
471
512
817
176
751
955
7
321
233
917
544
333
966
328
510
644
880
198
936
331
894
304
624
359
927
400
171
300
521
812
118
69
19
469
602
694
111
462
410
32
63
212
105
647
174
212
775
783
798
72
977
462
806
317
691
267
491
965
402
302
735
425
991
148
730
669
754
362
657
938
699
240
511
491
262
85
691
992
710
208
77
218
795
221
34
676
688
994
228
574
795
779
155
360
856
624
39
682
630
170
98
220
538
323
212
263
880
98
739
359
627
132
505
567
325
995
71
110
355
424
954
265
659
51
850
386
19
22
841
800
203
140
188
214
552
824
619
924
123
198
918
785
90
128
241
428
940
843
820
655
922
70
613
278
332
299
38
950
469
851
121
665
517
922
270
695
196
694
436
702
728
864
555
623
589
686
67
752
537
709
757
83
596
946
347
630
77
90
57
906
178
784
835
165
403
625
58
349
867
793
320
861
520
697
306
472
468
22
896
646
865
896
342
566
305
693
809
945
230
158
589
495
656
98
39
568
426
919
671
63
269
635
813
152
191
820
997
775
101
142
522
135
112
772
679
596
683
950
735
523
589
428
131
579
750
351
271
909
104
366
925
476
27
388
546
507
312
532
730
683
320
144
632
175
736
743
426
154
312
972
755
671
67
300
725
122
697
326
177
630
357
18
863
765
551
116
671
999
609
215
226
155
92
785
54
914
549
466
961
128
210
509
469
273
583
174
925
921
424
205
393
465
220
254
547
697
152
280
560
32
480
481
430
319
444
288
264
209
49
315
786
983
569
921
756
618
207
229
25
585
101
13
677
581
801
871
88
917
402
485
744
798
769
582
354
77
641
400
144
382
4
96
195
682
748
555
348
476
561
451
530
771
946
298
284
962
486
427
938
495
755
476
106
976
783
59
176
961
613
701
983
239
284
15
179
850
509
364
641
421
457
910
881
664
270
65
601
49
401
829
421
717
404
383
327
679
565
644
592
238
630
167
734
329
945
893
594
196
506
783
769
406
797
292
428
704
784
963
23
629
116
177
523
132
400
222
572
659
414
420
414
272
232
979
516
459
563
629
564
183
28
845
917
593
720
674
654
576
149
718
84
968
605
851
925
846
15
640
436
751
654
217
415
122
400
580
375
454
813
920
151
944
983
560
889
421
991
555
649
432
778
816
839
205
454
855
294
63
355
914
138
582
657
269
432
406
992
986
282
174
305
226
258
453
143
531
927
935
655
131
834
381
887
443
490
984
321
408
814
881
228
193
960
512
111
119
712
405
409
344
391
770
670
982
795
944
628
831
778
364
926
826
931
213
798
664
272
344
638
780
972
337
252
1
942
839
544
766
511
416
530
746
546
203
886
70
90
579
647
121
9
938
334
69
193
387
490
860
573
859
576
391
599
698
226
981
820
250
88
75
943
365
885
285
30
6
865
529
547
368
491
24
577
974
123
323
870
257
400
412
326
20
249
142
153
7
740
893
227
519
507
428
80
656
83
363
577
290
287
524
559
334
766
749
646
191
893
363
942
556
478
635
627
879
172
15
254
877
40
860
124
457
465
626
297
284
488
255
621
17
681
561
673
940
886
958
652
293
499
806
82
130
484
965
625
932
972
909
474
533
142
866
504
114
42
43
876
189
145
917
805
505
759
955
992
750
812
893
625
788
194
884
888
912
543
392
646
261
341
730
367
110
200
503
324
228
512
30
850
859
960
41
733
192
998
540
845
352
42
747
753
68
24
480
353
163
947
142
573
915
249
735
762
191
115
969
705
925
357
569
101
194
123
374
975
653
475
642
695
526
846
282
198
732
476
400
589
945
205
617
478
556
401
121
296
607
400
311
370
670
541
173
714
605
785
268
327
856
947
289
298
662
761
707
167
161
373
905
802
857
343
574
503
341
940
866
197
477
299
929
339
466
32
45
572
373
991
494
307
680
187
681
115
432
327
797
229
345
16
487
513
17
463
565
985
62
413
819
327
503
145
316
870
308
567
474
203
259
845
304
917
677
565
904
978
706
76
265
879
954
587
898
34
291
536
617
841
530
973
42
463
514
980
60
651
877
677
495
883
355
950
735
645
81
881
894
993
720
772
384
359
669
784
431
190
774
460
168
195
220
839
403
832
262
414
88
244
494
957
789
981
193
75
173
722
75
451
657
708
500
903
861
723
753
726
444
295
525
358
252
258
151
4
411
904
460
744
166
776
321
586
836
559
103
84
160
623
301
437
732
521
525
414
955
156
877
95
139
372
544
132
936
460
30
194
311
420
85
313
643
881
809
95
320
223
815
118
455
825
626
428
905
340
650
702
856
540
198
530
596
630
7
265
998
827
634
73
427
685
912
130
450
894
398
392
782
215
320
13
342
813
149
279
181
497
273
853
299
275
679
273
42
187
748
869
868
613
451
706
745
98
317
731
347
293
470
30
522
769
975
985
192
329
469
189
992
908
755
130
440
339
668
67
387
40
984
992
811
179
570
261
762
944
313
293
419
389
546
727
752
706
858
552
272
885
195
38
671
485
88
716
981
613
723
299
1000
296
305
166
359
123
813
972
573
425
851
999
823
274
738
138
4
283
376
711
801
511
711
964
160
793
815
698
537
444
686
397
735
636
900
212
997
660
125
343
211
950
358
653
788
6
450
874
775
291
121
366
264
765
186
204
982
966
198
313
258
464
9
473
213
49
41
287
100
252
214
611
241
669
535
544
858
56
326
775
441
405
975
5
971
982
837
169
452
868
638
429
707
659
327
224
347
797
811
190
114
488
438
448
597
259
400
557
391
2
450
428
398
782
471
626
864
785
444
783
147
500
342
293
977
680
287
70
122
643
89
913
992
212
938
924
676
963
580
544
308
465
799
937
478
911
392
914
577
837
110
63
619
664
244
512
62
418
621
556
625
324
782
440
880
907
33
713
677
871
858
931
85
307
941
947
590
707
636
667
750
847
276
954
362
876
173
298
484
819
471
992
320
275
303
802
48
319
851
549
192
461
964
588
5
74
987
911
635
867
316
475
583
821
983
410
27
522
273
957
162
947
964
355
578
601
304
379
78
343
223
939
50
383
621
939
653
682
787
613
651
461
118
644
647
573
383
726
890
274
669
624
533
309
40
429
454
302
658
449
297
150
814
115
400
495
839
330
664
365
385
936
217
786
910
374
946
475
503
127
564
748
391
257
928
415
521
201
720
745
690
989
463
566
516
249
62
150
457
639
717
867
719
884
113
464
594
185
225
465
259
592
969
418
536
873
188
600
446
511
135
392
658
734
697
702
84
903
108
731
938
145
787
882
567
855
216
786
218
597
528
299
717
946
543
773
694
39
544
92
634
941
983
768
487
468
669
837
23
744
712
439
415
638
638
747
750
155
656
318
328
51
10
59
605
187
715
732
614
610
732
324
520
968
841
688
745
585
34
543
727
498
234
325
981
786
572
385
583
775
219
743
574
93
996
906
78
70
612
304
120
721
367
507
225
351
619
729
882
885
114
72
863
158
562
583
235
748
426
500
574
409
1
964
572
792
289
84
729
942
32
498
285
21
570
444
881
785
826
956
702
631
834
975
16
445
706
78
79
39
817
13
374
723
313
449
3
425
732
178
852
824
657
486
847
169
832
601
207
789
108
892
106
844
907
994
569
514
636
141
754
645
644
760
978
878
830
834
976
399
17
614
956
744
517
12
879
567
141
420
336
857
23
746
61
861
267
184
844
911
374
596
144
383
828
432
172
299
997
768
631
430
741
421
525
319
711
56
707
355
355
889
887
851
67
883
842
133
754
293
493
782
333
53
310
521
316
768
241
696
682
14
994
967
721
229
33
590
366
740
80
644
819
357
292
646
954
549
506
277
50
398
128
333
911
441
292
640
323
997
909
335
79
794
89
872
550
527
207
102
858
496
588
10
244
607
372
29
148
845
630
381
863
777
217
535
330
795
149
746
832
531
548
557
862
392
288
345
409
167
536
241
278
472
331
233
821
167
160
840
635
949
286
551
360
46
214
82
724
291
252
637
341
907
623
550
589
2
922
101
123
122
40
815
143
195
840
283
602
879
978
369
954
593
277
718
853
534
954
603
487
536
833
517
856
979
393
369
352
823
135
796
475
484
276
885
366
482
242
562
114
719
761
3
479
784
614
684
734
913
284
114
857
98
771
859
145
361
864
207
684
412
993
707
762
728
605
851
471
601
684
394
237
863
634
121
940
776
255
429
659
82
956
731
759
296
644
520
230
119
984
914
710
279
836
653
605
207
704
785
60
682
997
761
321
3
733
237
207
298
78
659
981
293
763
627
897
237
18
107
133
713
100
770
552
738
890
178
12
917
326
11
523
379
617
295
562
915
288
400
318
24
117
609
436
531
923
238
95
99
993
586
880
191
651
502
981
6
118
972
683
493
317
941
12
779
755
517
624
279
938
836
753
300
44
97
80
149
724
721
884
670
994
153
740
629
123
558
321
549
331
555
573
469
876
156
652
566
815
323
508
743
315
844
968
114
897
823
470
738
405
666
349
132
822
343
727
827
250
626
601
684
543
194
700
783
68
743
8
430
63
728
676
241
865
942
168
321
65
919
98
267
297
49
214
99
937
396
345
246
458
403
963
423
574
89
202
527
587
871
799
729
546
854
425
560
924
265
339
118
518
756
78
459
210
443
185
900
14
875
586
206
573
620
307
579
913
794
654
959
769
631
867
400
260
166
505
163
41
203
527
767
286
993
83
417
72
477
543
119
727
522
177
323
765
306
202
104
818
897
620
752
852
114
390
120
571
965
993
246
558
307
361
566
197
877
522
510
812
538
982
381
800
380
78
208
752
315
36
700
678
944
465
502
496
747
352
718
880
127
416
65
432
426
837
77
851
799
981
501
505
738
701
383
294
153
226
402
247
93
420
658
614
619
416
482
535
875
252
834
550
87
122
497
309
107
345
597
856
90
906
923
753
114
743
185
159
823
535
574
663
697
839
960
340
166
872
646
999
594
75
832
63
88
903
863
853
237
944
880
307
79
537
715
327
90
590
747
21
511
141
961
58
70
561
629
268
72
961
885
373
833
508
961
452
661
866
990
318
943
894
117
520
390
93
98
54
186
999
710
232
594
903
60
338
558
783
325
862
988
349
533
107
690
403
766
958
369
555
531
375
734
434
152
12
497
203
706
951
972
96
437
157
68
144
573
707
682
41
196
248
910
303
120
385
12
495
748
958
794
323
532
186
897
808
958
733
523
599
965
619
280
715
295
723
163
653
594
366
158
858
974
69
601
1000
375
133
229
365
276
130
780
956
249
728
145
545
366
544
293
43
725
874
659
991
196
214
207
930
58
465
168
652
328
591
275
84
487
280
436
661
750
870
918
543
218
373
509
988
31
955
638
512
136
640
85
198
380
309
740
684
430
302
879
884
457
61
516
476
603
279
730
557
8
967
286
599
568
707
485
71
659
100
942
638
783
84
918
843
449
381
877
579
646
772
215
466
943
311
459
438
589
859
787
476
991
515
442
436
591
612
431
346
481
974
948
388
62
6
111
3
659
41
924
231
309
70
879
414
847
615
217
876
29
46
700
49
651
86
658
787
559
584
210
266
978
910
807
998
812
472
667
919
451
928
244
457
127
640
619
748
60
799
556
903
485
423
59
337
116
150
413
676
793
313
88
708
849
312
382
161
192
707
347
837
240
756
368
770
610
375
752
647
900
593
822
650
999
640
286
292
96
740
130
542
976
506
875
756
242
638
797
461
815
230
629
94
449
609
358
127
9
66
936
854
960
238
120
324
848
181
216
475
549
373
167
610
725
965
329
723
221
628
242
53
125
241
914
467
797
481
427
925
510
104
184
328
209
345
737
515
550
374
932
21
590
221
56
511
405
908
791
438
496
790
23
605
27
263
988
756
836
73
798
250
677
431
142
145
338
1
822
759
119
654
848
858
651
525
991
159
200
548
88
767
391
128
862
474
769
23
724
628
731
837
821
372
140
735
604
655
361
122
311
349
567
77
39
168
895
270
567
870
427
917
676
393
71
123
454
150
69
594
47
711
306
268
335
496
544
909
288
886
461
63
105
389
665
82
827
104
874
98
774
732
105
937
36
849
13
968
262
931
498
784
134
927
322
449
286
751
738
742
849
190
93
473
494
109
939
503
614
759
442
482
228
232
770
755
319
788
732
45
573
867
106
769
881
91
15
846
588
448
214
875
156
157
326
404
839
420
935
831
964
379
916
142
667
124
549
307
242
519
756
662
802
935
305
985
604
746
886
350
236
567
808
1000
811
760
448
662
492
728
714
730
934
829
488
712
688
554
467
152
232
783
845
27
36
483
999
263
1000
260
732
572
676
509
632
309
916
760
813
418
980
991
616
798
662
309
882
667
737
429
25
541
824
776
468
488
844
907
962
220
353
158
935
387
412
95
276
196
100
364
934
63
425
27
257
576
197
322
272
481
346
42
11
746
305
438
524
7
324
588
468
890
996
720
996
728
878
808
243
205
781
121
843
315
225
80
790
817
579
886
436
56
625
942
567
634
610
969
321
896
404
81
173
621
14
821
327
629
545
293
647
231
697
83
676
575
980
620
405
995
179
2
172
383
999
58
511
493
466
619
793
796
400
542
242
204
206
19
277
520
290
105
149
971
665
200
534
533
668
411
88
67
276
370
958
466
200
68
902
103
789
707
977
910
810
417
731
267
291
895
428
772
8
703
158
626
612
981
574
25
73
816
624
490
894
355
861
489
503
24
853
70
332
905
739
484
370
377
218
908
366
651
126
486
477
700
264
844
837
393
360
139
458
359
850
479
880
200
702
236
217
224
608
391
574
764
740
538
355
501
678
588
616
942
267
545
473
357
938
930
539
16
461
573
498
533
165
520
244
497
462
757
426
333
849
286
872
493
670
847
132
709
618
262
269
971
335
900
134
336
471
289
580
445
300
239
451
858
278
137
736
898
950
293
974
752
272
271
853
987
711
176
960
452
455
772
805
832
687
118
570
687
163
129
512
944
255
120
589
197
220
900
682
83
707
437
708
249
398
483
58
104
271
755
40
641
145
484
417
96
92
177
737
107
775
410
843
350
3
380
871
306
593
690
65
975
171
560
965
820
645
257
845
198
947
16
822
834
63
173
713
654
510
506
540
428
211
45
562
224
121
715
873
653
79
212
862
208
88
475
314
819
641
947
524
891
759
574
552
669
136
163
681
810
138
282
205
366
467
351
904
259
937
962
964
470
192
756
621
838
173
359
541
328
796
7
760
105
617
453
76
553
217
714
891
618
686
975
891
524
819
749
375
927
623
958
730
69
285
211
300
316
21
921
891
777
117
310
218
343
43
575
893
591
722
659
958
476
922
138
553
629
271
710
20
388
550
640
654
396
804
327
345
697
265
819
560
818
274
729
455
208
154
486
451
772
503
294
244
963
453
453
58
37
241
962
944
640
881
409
42
843
791
229
28
109
994
335
427
448
920
958
66
193
875
341
708
408
984
513
822
936
760
27
548
478
507
937
85
923
425
731
200
310
645
179
24
469
408
284
50
378
257
591
85
701
419
131
923
813
535
197
683
863
490
930
55
52
400
468
229
374
729
995
858
509
118
586
250
447
732
193
902
658
854
441
621
325
9
171
719
238
107
852
188
421
987
998
365
476
243
746
287
926
433
620
852
529
577
273
944
686
374
715
860
548
714
121
764
381
851
824
374
61
110
497
785
332
80
868
134
583
49
513
811
468
867
412
45
643
506
988
1000
261
343
296
948
639
591
870
723
678
357
488
382
214
539
797
960
456
117
277
248
66
456
519
766
241
897
169
508
366
262
166
550
401
902
100
320
226
558
621
222
555
623
826
247
875
363
460
450
132
256
605
441
478
925
215
550
498
24
537
945
769
77
942
796
452
484
171
506
932
825
334
152
152
147
245
541
397
144
866
694
768
997
668
158
478
182
711
265
402
738
119
369
34
318
414
98
93
852
859
895
576
804
566
457
945
805
631
202
494
927
958
552
681
968
764
670
327
906
970
239
182
108
830
31
267
986
157
299
804
511
482
479
300
430
299
289
517
75
329
87
677
361
382
251
188
964
964
437
638
677
261
793
537
640
501
595
555
477
982
316
577
366
250
840
934
725
13
395
595
511
374
774
938
86
870
601
952
231
657
722
369
164
858
264
286
366
740
565
278
581
951
966
888
638
432
390
627
617
16
769
318
466
971
612
683
359
880
451
563
2
348
458
73
572
991
275
275
202
37
963
666
741
643
56
906
19
775
861
711
7
11
544
776
64
232
26
919
935
486
396
388
285
693
360
395
327
48
256
529
538
116
254
610
556
661
709
965
91
173
40
829
88
929
138
780
426
150
67
688
194
512
736
656
898
804
288
818
28
21
212
654
94
549
522
721
536
395
953
277
980
587
766
303
907
1000
651
894
144
837
212
748
529
922
682
803
752
783
865
659
632
208
749
492
14
607
902
643
108
41
550
897
269
212
161
759
192
80
508
714
2
999
417
513
965
455
819
59
395
521
338
319
896
165
337
24
217
368
250
606
870
857
80
941
162
897
124
997
408
224
359
395
952
675
422
236
47
516
808
291
790
744
694
778
78
905
838
523
992
74
74
240
96
679
276
50
893
815
72
114
84
513
217
428
336
212
298
440
968
313
346
93
355
301
22
343
868
348
270
957
853
735
709
634
491
681
605
108
386
378
923
875
375
131
862
671
361
500
251
606
946
243
378
128
249
711
132
645
590
19
832
642
632
991
745
647
195
393
100
203
169
412
340
338
880
686
480
627
821
450
673
107
857
530
549
718
908
960
414
884
636
3
173
149
828
210
702
462
39
957
445
851
531
572
221
721
712
787
562
969
74
732
445
395
114
115
914
684
831
539
954
329
168
141
913
451
211
854
959
404
50
645
310
452
940
11
433
531
813
871
49
322
259
749
487
428
796
790
901
438
615
742
901
65
50
484
411
330
664
79
930
990
206
619
927
14
695
298
807
929
520
274
726
291
779
871
563
363
29
590
509
324
241
210
77
988
48
987
790
33
284
591
488
249
439
944
931
115
845
593
373
357
387
563
868
738
16
921
327
486
617
427
777
209
616
721
844
52
269
468
203
170
735
757
647
271
891
850
438
120
346
57
854
407
249
103
139
309
310
898
631
398
917
979
482
320
349
239
217
768
855
799
358
869
837
958
483
24
420
250
380
643
473
527
400
946
539
888
731
216
178
967
73
449
976
828
105
341
795
205
230
951
924
363
283
181
426
198
317
413
354
492
88
272
483
436
580
485
857
614
765
263
795
684
800
423
904
849
36
749
339
82
548
715
762
751
351
732
442
957
134
585
496
384
122
523
521
975
621
803
788
6
935
124
708
480
558
471
510
844
28
409
931
147
332
721
268
715
550
628
287
300
269
493
378
448
359
65
789
518
898
820
968
389
400
873
820
394
999
300
176
434
913
409
874
539
354
677
644
362
1
605
417
233
326
702
766
436
323
182
949
292
671
714
399
519
937
760
603
50
225
602
991
192
554
157
857
549
361
79
338
612
731
434
192
310
357
453
418
91
768
489
790
289
76
301
23
653
329
242
581
894
596
741
131
36
54
717
244
165
689
215
236
892
693
577
978
487
292
970
83
162
513
899
137
441
365
651
533
877
14
259
48
671
778
688
486
863
216
404
611
868
126
404
105
92
34
85
491
231
611
17
763
667
520
837
10
37
393
961
442
682
981
764
43
160
49
207
542
437
249
621
528
672
30
503
287
758
620
756
400
877
274
713
210
402
235
708
39
392
360
679
404
785
915
500
574
151
845
286
509
527
728
951
600
423
688
646
637
549
803
537
170
230
896
588
689
707
163
609
125
767
796
876
776
210
590
29
92
680
567
823
705
298
799
501
748
337
936
242
720
933
443
174
168
428
176
893
976
478
707
302
346
535
805
864
440
607
518
11
213
511
629
563
181
942
640
488
750
799
17
228
250
139
178
122
5
41
569
159
617
428
247
421
123
602
552
75
867
834
843
730
695
864
762
277
603
573
168
81
24
406
702
559
784
357
943
691
139
435
220
11
432
603
476
944
632
78
2
175
434
776
488
877
657
399
566
204
382
358
996
496
665
259
649
958
664
187
746
456
720
374
134
220
269
141
979
907
460
192
910
445
998
422
546
570
56
447
310
730
55
910
642
331
733
507
19
916
212
340
681
904
692
875
607
20
9
288
72
369
520
462
60
396
704
194
931
643
410
490
984
322
913
922
988
161
785
142
341
933
166
590
203
342
141
318
899
661
822
658
878
631
211
116
754
642
58
517
272
166
771
896
601
719
880
58
986
375
664
46
625
19
379
970
649
49
890
803
165
225
672
747
668
695
831
760
551
25
244
647
54
227
949
897
753
360
646
89
615
272
536
278
727
441
758
228
6
679
354
753
629
681
69
697
435
989
234
295
259
987
690
745
22
958
984
820
403
70
45
277
95
397
174
623
964
719
456
521
933
914
633
771
13
195
78
304
734
325
745
88
168
188
887
202
817
816
875
572
948
997
686
22
337
134
494
385
977
874
317
368
32
367
862
750
209
692
570
288
764
118
320
391
548
383
455
219
879
111
545
370
511
795
829
739
656
546
344
431
844
923
567
853
365
738
814
224
213
664
730
798
696
853
956
9
379
540
458
622
589
782
73
719
500
59
522
4
730
468
536
485
448
630
754
69
231
214
740
980
294
228
810
181
263
798
352
219
349
215
979
948
666
428
163
650
407
7
974
937
804
845
135
668
89
498
944
825
180
124
477
910
428
439
136
991
587
973
825
940
86
173
928
764
810
584
869
195
857
419
188
841
148
323
996
301
348
21
163
591
287
841
789
121
968
848
359
253
267
364
462
150
651
259
118
244
600
250
568
122
916
818
842
91
772
94
547
939
200
176
87
700
671
939
972
289
577
309
964
974
709
387
541
558
277
522
575
992
640
671
183
917
636
908
416
268
374
980
827
672
383
177
985
799
268
590
697
264
400
45
23
909
708
607
185
519
359
586
110
123
952
364
659
12
862
254
574
553
555
779
772
664
7
465
915
547
849
224
113
933
493
948
198
571
284
704
276
207
689
272
135
580
622
396
685
270
281
220
793
359
275
856
750
951
421
957
160
569
290
429
192
318
500
150
2
494
765
685
617
29
951
470
731
716
698
913
669
714
724
153
244
218
561
978
350
483
327
547
927
652
95
101
331
938
577
823
295
748
116
354
339
301
456
262
963
116
332
916
958
512
719
816
918
926
465
412
415
417
144
849
283
198
166
856
199
415
573
242
47
698
527
24
569
160
134
293
452
674
180
295
315
202
292
76
14
923
271
264
330
665
623
194
354
922
820
676
834
328
455
97
338
19
242
488
334
737
772
394
188
915
41
101
643
181
17
835
558
934
954
64
556
680
707
881
763
804
65
813
996
322
982
49
616
958
645
230
727
574
502
454
598
575
759
76
957
431
323
215
294
858
891
614
420
511
654
668
321
290
117
946
761
462
637
541
199
849
591
891
316
294
544
539
866
419
365
437
607
502
39
995
804
901
811
78
146
86
391
525
975
739
171
582
372
840
797
858
31
871
990
989
806
519
190
270
498
326
473
894
754
744
200
293
895
970
12
318
147
763
138
627
996
126
422
709
338
436
168
435
688
65
640
880
948
42
49
440
140
606
928
937
91
788
98
502
226
307
814
489
555
122
262
604
421
991
334
700
780
216
454
420
632
595
310
979
704
241
531
888
647
578
695
362
819
280
584
474
187
374
266
878
13
8
403
35
751
638
165
465
34
497
288
478
715
260
70
219
655
751
590
622
396
395
12
46
869
856
618
956
31
998
109
997
706
827
826
199
884
589
732
858
497
546
411
856
935
257
881
774
664
384
712
189
859
121
783
980
376
380
73
272
254
751
979
922
650
87
46
67
318
280
433
326
722
442
90
690
442
196
422
18
784
294
153
298
417
54
220
544
405
423
785
258
222
595
867
881
229
194
685
553
584
15
521
814
775
181
806
565
788
360
173
748
423
399
430
692
427
300
743
37
918
993
857
450
52
763
829
103
978
496
590
11
945
161
620
919
827
30
170
324
440
218
752
643
755
52
61
271
540
604
125
454
8
519
208
515
746
900
940
899
621
577
195
980
333
605
497
294
5
136
110
128
528
188
495
985
376
952
551
462
272
417
883
518
361
81
377
934
563
451
505
11
358
800
136
182
549
447
85
298
490
382
290
767
850
652
291
622
223
324
634
845
815
227
930
952
989
891
572
944
658
298
516
198
400
101
119
769
696
957
749
901
866
494
788
215
133
214
662
184
727
328
762
20
109
135
467
13
200
27
976
715
954
648
360
78
754
32
25
821
878
769
810
841
719
395
27
447
532
217
98
550
230
733
842
731
156
673
126
267
818
409
295
786
275
170
776
219
261
60
286
91
141
337
315
22
485
814
949
492
387
503
641
563
644
835
230
241
593
889
373
619
666
39
561
754
728
384
67
481
881
104
490
5
663
631
56
167
549
142
438
745
226
428
716
996
363
628
964
950
503
663
146
590
278
473
185
202
330
295
551
605
232
333
249
906
199
88
841
729
592
535
6
526
25
122
215
768
422
217
258
268
486
290
752
848
884
559
255
892
889
286
276
53
370
210
314
554
774
813
16
34
193
278
710
891
707
4
831
410
910
494
240
741
974
299
18
984
623
417
94
188
132
254
975
103
833
783
936
869
622
29
234
693
676
383
334
692
900
543
638
779
632
53
940
415
802
532
679
537
26
668
56
754
89
995
274
185
919
234
484
934
380
779
476
248
207
452
816
882
941
274
926
26
17
359
532
468
23
466
29
282
733
920
579
476
719
843
148
475
229
668
309
235
533
871
321
83
143
779
922
80
131
54
286
814
282
169
819
73
974
794
813
748
470
493
490
656
791
561
633
734
449
158
853
165
102
85
468
571
635
709
176
377
241
582
939
775
842
197
977
526
596
244
375
1
272
407
552
441
15
474
783
402
387
43
20
766
589
616
503
479
471
243
33
399
264
157
320
237
971
39
541
615
1
655
52
676
955
610
271
511
421
859
876
932
262
464
788
728
170
781
926
624
177
896
308
613
425
695
916
183
714
336
646
246
287
307
819
246
843
459
943
10
989
582
872
390
236
168
71
637
134
964
413
772
365
802
855
887
428
985
339
467
46
196
514
307
610
492
188
559
737
455
957
735
528
988
125
287
200
544
835
471
579
821
345
796
335
70
489
303
970
208
670
282
287
863
197
802
496
338
348
612
144
218
349
566
807
34
334
677
815
918
462
346
353
724
572
74
917
394
165
213
488
698
35
877
759
635
562
210
412
888
566
580
746
727
602
154
935
681
761
493
794
103
366
514
246
468
436
148
576
904
407
549
169
951
440
518
699
34
534
118
582
425
829
96
126
792
697
853
990
530
677
140
438
183
855
612
434
215
42
623
756
276
980
384
203
895
852
708
420
222
582
86
54
44
739
777
742
795
416
908
900
711
81
335
426
568
245
156
168
700
779
322
484
90
820
743
288
395
538
651
724
675
461
773
21
478
663
2
147
663
895
886
572
16
650
198
847
278
227
290
720
675
89
690
213
432
211
656
386
21
641
969
558
97
200
307
381
176
123
944
470
105
421
361
273
295
952
594
486
494
476
781
573
615
486
446
922
753
211
477
723
58
17
667
932
592
342
908
563
626
446
844
130
92
491
853
256
85
902
722
364
348
524
271
865
666
831
485
468
975
327
435
53
769
316
349
74
83
429
760
588
930
655
542
818
587
107
5
645
504
470
957
521
969
865
766
81
842
850
36
180
848
445
448
153
910
317
683
845
977
751
133
388
629
620
255
717
527
330
25
565
385
639
940
54
775
323
391
994
480
903
62
713
556
4
183
585
490
510
118
398
90
323
754
377
781
449
604
974
56
85
366
515
666
613
920
402
20
670
384
859
939
7
911
139
572
425
362
697
784
928
850
90
811
134
431
261
283
134
893
428
7
208
661
5
26
276
342
879
584
484
340
855
549
106
226
305
769
786
328
882
597
232
36
645
523
633
924
114
447
450
640
579
627
750
909
434
773
899
693
469
20
267
712
776
810
589
92
422
770
748
846
76
776
44
263
560
274
465
66
689
824
96
348
816
569
529
911
219
984
98
588
852
849
806
559
976
845
65
443
923
559
736
169
520
972
525
260
772
690
465
138
988
285
94
544
886
114
931
950
174
888
43
113
696
97
794
540
561
99
381
711
553
337
361
346
761
655
217
867
566
150
897
489
78
338
432
46
623
657
962
729
142
510
914
414
193
98
686
159
826
291
890
737
725
627
100
781
907
373
118
248
735
202
937
407
160
708
962
501
916
438
550
554
873
551
612
540
843
533
819
270
957
608
977
917
112
631
219
42
133
269
19
360
995
233
423
243
886
163
542
156
937
523
96
772
156
534
713
535
492
724
773
816
965
165
825
607
503
836
954
922
437
839
85
666
642
386
832
785
926
584
436
892
613
36
278
449
198
185
680
774
614
179
988
831
882
696
437
781
893
873
937
747
642
949
691
103
467
732
531
873
786
298
955
499
348
638
98
312
253
75
320
558
855
385
625
684
202
509
909
927
840
618
870
938
652
97
501
296
913
687
257
280
872
646
356
202
1000
263
190
927
501
503
489
953
811
854
684
579
577
686
944
206
57
556
453
817
957
921
805
24
490
680
861
827
814
811
985
448
102
95
368
138
181
640
54
881
69
413
365
299
755
531
631
852
266
380
563
672
391
967
99
939
433
76
297
759
26
895
675
924
337
803
425
750
970
912
100
463
492
755
685
205
773
274
458
828
292
852
677
59
129
702
919
526
617
340
860
366
531
240
390
843
261
18
193
465
611
638
384
605
754
223
338
484
401
15
587
726
415
909
553
368
952
772
923
324
712
457
675
854
20
8
120
466
277
71
837
63
793
922
51
844
128
864
817
643
836
932
374
926
966
17
153
631
742
518
229
391
602
606
438
469
178
4
26
888
858
966
410
840
284
783
583
435
520
715
768
258
638
725
135
991
179
781
822
578
245
739
989
15
38
71
403
867
243
748
840
59
21
621
655
292
307
551
15
696
756
351
613
973
931
319
175
328
285
798
712
954
71
702
232
687
556
417
625
738
831
806
503
66
51
340
55
47
173
499
387
592
122
680
409
741
839
812
51
87
867
765
464
69
951
409
938
312
634
904
443
677
998
362
69
660
474
553
138
54
159
732
454
584
141
983
967
329
178
680
96
315
451
836
129
616
240
104
377
676
104
159
227
308
558
43
843
37
283
790
23
13
638
327
647
714
619
211
210
60
405
221
187
362
361
229
349
727
674
41
691
163
815
93
361
650
656
995
781
862
405
918
230
64
460
718
277
947
925
529
793
809
803
259
770
530
813
79
780
280
375
494
725
719
540
70
485
748
576
207
134
551
434
619
724
717
581
334
993
765
529
106
964
254
928
95
126
979
269
549
772
465
102
21
111
68
143
330
983
539
817
90
343
797
597
124
220
40
943
488
493
3
789
165
679
372
298
703
893
881
29
183
296
586
763
974
602
181
984
650
724
974
405
297
187
350
982
193
737
92
603
514
481
942
985
273
966
183
341
185
838
821
85
513
116
129
161
265
653
986
586
272
51
393
463
802
176
45
9
346
395
609
116
155
873
651
606
886
542
753
579
467
875
451
218
917
223
63
7
377
256
339
540
65
19
146
28
221
195
77
155
345
470
936
161
200
258
578
889
140
672
434
78
252
337
395
344
725
504
405
170
627
23
238
671
946
883
465
115
394
406
536
928
925
696
214
422
372
601
386
600
902
289
366
137
220
497
402
119
575
675
29
183
679
516
288
448
552
842
585
42
204
386
179
89
778
814
814
722
466
209
51
74
58
353
223
229
476
338
745
778
19
455
724
999
306
835
418
642
154
24
117
989
654
527
463
128
782
376
21
395
737
931
197
500
56
469
209
198
254
571
880
245
378
992
504
995
404
445
846
243
829
725
670
820
193
679
818
986
480
797
968
923
535
622
691
455
707
749
306
697
863
910
349
472
855
543
169
226
251
265
297
616
878
903
724
150
292
49
181
27
817
656
822
811
199
847
479
695
221
930
773
880
889
591
927
43
881
395
111
932
26
997
463
913
497
913
750
663
266
343
771
267
120
246
218
723
186
840
683
186
506
731
886
351
647
138
32
20
733
50
378
291
567
710
728
738
692
496
584
675
353
162
118
840
324
380
945
852
466
715
935
395
710
477
945
347
877
391
377
45
380
644
983
424
384
674
124
53
451
20
48
958
35
650
343
729
461
438
876
562
157
917
975
820
16
953
513
188
700
772
872
683
597
628
458
653
922
442
555
340
161
971
822
802
619
386
681
736
388
673
159
257
411
940
486
783
684
526
917
964
813
805
775
28
317
692
672
1000
77
183
257
18
280
688
566
335
55
534
267
705
766
759
645
518
555
275
186
461
347
507
996
483
939
890
101
544
239
946
883
948
954
265
517
95
252
356
295
90
18
233
159
997
296
596
579
479
477
624
172
173
554
764
93
458
534
318
271
169
687
342
54
441
881
89
638
87
680
240
996
821
228
247
617
214
199
359
528
459
262
359
508
920
565
585
307
952
729
549
18
663
710
355
405
143
674
171
155
174
741
184
503
574
29
859
632
172
946
802
573
842
83
224
65
166
391
798
989
70
535
724
536
202
446
906
232
939
147
475
301
613
856
339
620
998
211
14
706
123
239
809
737
204
336
297
616
877
95
129
489
901
291
444
890
235
721
540
959
693
877
997
720
401
612
159
490
921
87
720
877
232
245
194
671
698
32
200
172
807
330
820
149
712
366
784
663
574
913
855
449
251
213
597
437
181
929
640
221
159
819
688
1
299
78
757
593
678
426
553
574
31
135
492
558
388
108
566
861
748
52
177
567
698
544
82
74
411
475
806
753
589
992
231
275
730
525
579
466
582
916
683
338
737
978
258
42
126
43
880
72
600
181
484
987
859
807
539
310
766
342
452
986
463
438
410
21
767
34
583
438
64
171
582
739
258
52
91
416
376
330
853
859
134
960
589
250
57
252
919
603
807
960
131
148
979
313
424
712
955
941
326
523
370
524
119
158
357
817
433
975
36
455
672
422
619
521
560
78
119
455
870
153
886
268
392
417
93
423
262
250
869
955
59
539
967
608
492
669
768
796
64
749
891
184
851
497
931
579
402
929
628
577
818
118
313
132
273
796
594
796
596
495
86
883
22
288
430
245
937
880
978
616
214
994
309
766
755
512
155
786
982
809
428
884
301
82
761
15
38
231
413
510
925
41
413
622
1
994
564
581
692
27
263
303
928
942
178
377
369
987
434
335
204
331
381
501
555
766
932
894
166
988
195
768
974
248
355
379
126
988
787
477
196
312
978
830
680
795
105
826
315
190
67
821
438
26
370
433
341
999
467
432
590
270
119
221
335
518
839
161
926
639
761
144
556
492
90
903
235
977
854
502
131
39
856
345
197
901
555
821
34
931
105
393
188
94
958
545
367
824
193
501
629
543
271
32
246
727
963
12
767
627
40
575
784
258
708
869
60
246
877
457
952
499
96
314
523
408
402
268
338
489
365
444
712
953
353
968
74
661
397
723
223
347
71
446
442
774
481
826
854
700
815
550
940
144
862
425
826
467
626
840
823
212
398
775
707
469
678
543
383
771
915
219
934
199
339
448
497
379
83
974
79
556
386
732
206
775
907
814
245
453
102
963
349
349
153
501
249
967
177
750
513
955
294
97
482
954
665
795
833
624
822
503
581
321
408
328
398
987
981
847
324
350
671
164
287
440
282
583
380
786
925
870
506
371
356
412
812
587
990
783
349
982
2
390
484
525
994
863
943
525
487
840
752
60
860
621
3
987
455
919
99
165
269
614
67
529
3
970
601
24
318
242
726
242
775
10
365
785
319
827
626
2
146
975
345
782
447
237
252
482
831
571
166
923
206
506
770
634
501
870
864
140
907
229
450
170
237
988
677
107
613
689
424
860
904
470
287
630
280
967
819
688
781
253
151
397
19
523
519
174
19
304
828
6
711
990
84
408
779
304
434
454
427
157
592
593
99
997
622
506
346
391
421
165
862
57
738
625
148
982
250
763
414
594
39
385
77
148
784
627
681
657
129
548
128
692
990
208
865
353
991
221
84
543
849
48
43
435
275
780
330
680
894
228
265
488
729
482
681
163
72
932
968
64
916
936
662
270
673
939
800
376
622
871
957
981
362
77
177
433
580
858
968
277
586
955
164
709
430
936
724
24
859
518
501
719
36
295
554
398
717
219
871
117
566
453
265
116
338
872
722
171
985
607
772
939
117
476
246
739
839
72
376
206
711
567
332
100
491
991
162
371
308
891
582
256
193
743
218
785
162
468
721
575
645
718
629
221
650
312
982
875
930
397
463
868
372
405
296
326
974
895
187
789
72
677
376
775
924
413
247
78
379
85
18
357
86
252
741
207
669
63
209
511
321
342
415
299
534
906
867
761
47
436
425
319
657
888
306
871
227
408
576
414
84
162
738
248
8
333
997
900
195
747
419
692
887
269
454
626
858
144
252
873
561
912
770
706
569
398
939
132
850
563
39
862
571
635
6
479
337
77
610
854
240
394
295
901
624
708
40
756
243
298
739
339
341
51
471
37
253
855
520
949
315
480
143
719
226
461
925
512
526
775
993
68
515
886
497
107
762
860
561
583
349
800
299
402
106
822
639
255
427
145
383
190
654
646
392
337
673
403
797
22
106
336
891
117
390
46
700
55
134
342
275
435
364
746
432
476
651
489
995
918
665
114
612
117
400
808
848
194
172
51
594
129
491
961
757
547
100
981
874
816
784
185
506
772
30
544
268
5
269
928
885
216
226
527
952
555
827
592
955
224
261
106
688
877
25
85
388
506
204
670
827
575
837
81
81
143
906
818
911
569
433
179
524
229
146
290
969
310
437
378
600
386
655
905
820
968
288
560
798
636
293
809
988
678
607
879
27
378
897
566
45
237
718
261
509
445
561
910
464
842
702
422
434
496
386
204
324
743
645
87
354
211
947
899
445
925
968
332
512
44
15
554
775
179
979
230
572
519
297
215
131
178
48
225
438
298
206
198
604
412
50
903
151
519
944
586
227
113
965
96
36
143
409
979
731
517
781
489
580
285
699
319
471
85
103
159
742
788
226
809
852
537
96
715
647
508
718
253
844
834
675
975
874
63
630
367
414
436
71
345
798
24
718
837
950
487
177
335
691
796
815
205
27
764
317
886
537
668
68
864
73
514
329
421
769
777
151
727
795
536
108
822
386
969
238
350
413
137
8
730
162
801
747
586
75
802
741
864
888
169
113
49
992
709
669
276
875
294
140
955
164
443
639
719
162
75
666
123
743
532
748
554
133
17
589
208
405
656
689
875
515
250
503
448
268
649
565
775
948
360
481
487
229
661
323
918
597
27
760
70
775
83
202
874
498
709
356
664
611
108
831
852
613
859
875
302
691
34
881
787
790
405
42
203
464
685
415
949
80
504
713
969
451
537
320
490
138
775
401
409
448
448
484
618
639
535
563
293
962
74
587
318
937
749
195
579
709
348
683
791
416
692
488
928
241
642
934
49
235
565
560
541
50
460
164
328
436
552
553
634
731
783
123
255
609
46
593
92
16
435
593
941
583
47
399
102
793
67
745
425
841
964
552
828
412
644
392
145
617
301
695
414
876
529
16
361
894
987
179
871
749
538
731
716
737
308
944
658
855
573
570
336
693
708
620
988
107
707
741
180
197
933
157
182
50
821
740
528
198
251
470
604
934
159
481
815
469
756
889
991
425
429
822
218
287
968
428
215
262
290
137
675
466
240
137
793
455
355
834
267
932
705
66
687
855
72
955
132
304
733
602
188
172
84
256
348
185
168
207
958
781
947
418
439
125
802
817
499
889
311
265
461
456
851
426
629
906
924
162
811
462
400
633
749
92
83
955
212
593
65
151
952
820
384
126
529
664
365
573
285
23
893
42
359
271
532
890
708
685
94
443
557
861
750
548
545
420
237
569
133
171
73
61
491
509
931
568
187
992
486
434
466
946
124
81
823
465
875
944
871
347
801
144
196
370
874
15
42
790
43
807
138
103
836
240
963
927
282
110
26
314
415
789
523
943
891
317
828
399
497
746
886
201
457
542
485
316
468
134
760
650
353
174
83
416
56
643
621
325
470
734
462
267
239
343
196
537
240
71
203
655
955
894
752
559
276
22
170
237
603
18
994
917
289
960
25
544
567
265
618
599
104
838
399
294
263
329
824
770
915
663
636
224
442
446
344
831
129
508
297
889
731
633
776
895
419
481
841
146
659
795
280
14
845
287
164
277
653
963
937
745
159
278
914
953
741
192
323
882
652
132
771
501
953
874
94
432
170
567
104
178
658
505
640
180
142
715
692
416
321
154
97
409
750
76
425
233
421
172
285
620
600
169
166
276
526
900
355
330
498
302
203
204
744
397
209
270
209
79
962
359
63
458
985
586
304
560
902
944
295
451
166
855
457
207
783
152
631
720
101
10
809
13
715
967
31
600
11
500
261
457
676
582
947
293
748
269
809
191
423
646
111
135
896
389
288
578
964
801
384
23
980
421
127
507
28
206
892
17
858
849
992
104
200
18
950
390
584
154
429
248
653
23
508
643
301
369
850
33
644
886
96
260
952
200
512
565
212
722
531
215
878
34
311
748
746
938
850
505
588
424
538
946
348
574
215
229
258
888
946
669
168
570
791
981
766
87
731
677
142
697
814
575
297
730
315
149
805
82
354
376
836
787
24
798
95
556
500
751
96
827
30
106
346
264
963
415
667
580
174
35
871
261
338
687
461
52
530
894
834
35
498
931
735
764
823
232
317
175
871
690
250
958
66
913
765
635
593
302
365
853
25
767
248
309
760
994
121
268
387
455
190
861
273
746
606
219
722
452
510
31
27
426
167
294
635
288
348
863
410
981
254
912
683
431
796
568
369
689
956
782
953
484
312
981
523
753
527
153
396
555
749
809
57
752
455
683
289
978
161
142
403
718
872
9
424
754
827
915
917
859
355
351
916
370
161
301
74
198
426
735
706
893
433
221
891
647
289
661
157
464
478
438
584
290
619
301
328
617
823
945
687
882
444
561
814
41
899
598
128
848
420
588
242
687
277
197
999
299
65
547
806
380
84
491
3
820
728
763
444
300
48
787
822
71
363
554
516
9
827
141
897
453
407
329
114
897
566
332
342
372
301
794
342
196
842
75
7
858
470
349
207
966
429
172
903
571
796
996
956
681
567
579
492
447
903
351
2
327
648
574
572
527
792
589
771
142
493
495
755
716
632
401
111
405
672
751
768
504
750
302
112
904
501
67
62
913
139
861
444
996
680
168
484
196
13
696
600
383
727
348
982
49
222
313
627
18
637
660
590
365
580
114
237
770
448
646
178
787
396
167
384
751
630
847
713
596
769
562
700
451
482
528
8
688
443
440
370
63
961
343
205
664
272
18
344
667
608
874
476
318
601
212
964
130
520
278
686
8
107
660
408
914
511
477
3
724
905
260
519
138
924
611
681
829
967
524
933
578
739
703
538
773
163
362
568
477
924
750
823
290
460
90
883
311
188
692
498
844
90
785
487
922
580
968
151
342
742
285
976
640
595
615
37
399
68
440
116
305
715
120
985
650
53
426
718
324
567
480
153
905
70
222
837
167
123
170
881
143
637
573
148
938
610
994
120
628
214
16
609
912
63
4
175
669
561
818
788
204
695
964
761
779
472
886
456
934
510
52
599
270
934
1000
304
559
832
762
45
537
11
938
921
246
682
216
490
566
7
337
365
452
169
334
519
425
695
357
968
85
334
585
70
757
684
496
218
897
108
258
73
554
213
122
845
16
324
466
318
727
916
576
467
743
945
357
535
230
372
896
407
18
946
202
919
779
489
529
557
201
520
363
601
419
13
588
387
58
531
301
793
466
719
496
469
100
399
127
594
587
91
100
135
661
826
361
710
47
526
580
118
379
66
887
555
388
384
742
307
952
630
295
488
51
411
529
961
326
637
75
168
730
357
822
11
709
209
362
267
455
827
866
307
48
598
193
20
694
667
918
916
881
977
491
372
976
444
923
847
680
54
219
683
819
809
322
809
113
949
416
252
974
807
315
870
838
5
81
137
254
415
160
119
748
459
99
7
474
890
339
709
800
141
671
25
268
688
686
888
821
650
964
990
796
44
789
875
940
649
916
233
627
484
259
708
542
237
430
999
298
839
707
411
883
550
393
310
333
547
485
110
765
33
240
543
735
305
555
945
912
47
6
213
223
371
42
908
948
748
96
697
732
57
315
954
109
399
200
891
941
224
682
9
101
559
91
35
866
826
13
736
730
808
237
196
760
805
902
169
216
945
448
145
866
881
168
584
323
832
16
625
777
52
799
213
699
300
47
229
424
840
668
673
85
815
947
402
970
591
591
211
272
802
270
281
118
382
575
148
955
832
378
382
614
329
325
108
882
65
632
351
951
353
351
926
942
662
62
292
563
698
252
317
82
54
721
387
2
762
9
699
201
276
191
809
896
32
379
760
415
768
936
165
688
177
697
647
337
340
468
956
427
601
704
878
270
199
527
791
146
10
199
356
451
247
735
345
573
781
617
84
744
51
433
299
220
203
866
447
429
165
650
746
94
872
984
186
977
741
424
815
569
803
477
408
960
596
917
481
184
59
399
260
486
157
44
818
378
934
516
131
803
971
565
168
441
19
126
480
980
693
851
975
196
663
384
668
782
746
777
273
186
673
196
407
168
52
459
55
376
261
29
677
24
537
774
19
653
579
202
237
52
318
889
434
632
357
511
87
939
756
243
105
542
474
252
498
214
797
703
677
212
490
983
467
433
278
824
774
430
458
608
717
582
128
458
701
180
551
604
601
856
627
137
702
552
321
495
529
191
167
950
20
314
624
877
771
203
175
873
225
442
522
595
758
432
133
757
578
113
715
908
245
31
866
426
394
935
298
701
941
288
530
595
656
429
887
101
476
639
961
576
366
40
436
63
820
57
335
958
365
194
275
766
505
965
293
732
624
165
176
899
285
66
961
571
223
777
507
165
71
734
556
211
532
214
760
590
277
868
479
143
308
446
14
471
928
339
99
83
717
48
133
39
144
437
622
913
500
442
739
168
872
962
751
57
789
801
282
722
962
842
46
504
299
173
732
362
973
437
159
921
888
564
719
899
302
913
376
577
729
15
150
526
511
340
145
30
568
939
616
510
962
395
502
781
825
231
142
172
124
830
588
353
508
941
72
246
158
89
665
510
194
498
139
941
661
721
323
559
556
781
38
292
661
485
796
955
171
549
27
629
242
294
556
661
612
994
380
250
403
382
631
963
44
438
724
628
23
351
301
713
831
449
581
733
33
988
103
191
870
898
644
302
173
996
340
51
667
706
602
141
932
25
487
62
369
333
563
786
552
669
198
588
250
245
372
108
187
303
828
28
400
910
374
704
604
911
640
663
583
60
433
126
18
301
136
623
523
271
238
324
944
361
183
932
89
106
224
843
163
221
847
826
137
353
630
633
170
506
135
822
974
123
515
543
725
38
52
221
704
829
779
835
363
656
649
24
930
313
478
295
970
38
5
455
554
650
4
780
809
665
296
546
670
381
909
279
584
341
391
505
774
215
444
817
423
886
656
809
794
449
93
792
887
918
868
237
673
644
678
570
372
865
439
299
485
318
808
425
506
588
373
769
338
668
748
147
422
278
610
271
538
609
986
918
3
511
712
140
762
629
70
265
475
601
44
997
224
252
502
191
956
665
897
767
66
100
742
808
823
17
200
71
482
854
625
50
9
813
777
220
289
611
744
310
607
67
307
262
948
416
596
68
367
457
416
781
272
992
538
859
982
537
580
419
307
924
866
143
250
282
760
315
118
832
557
933
488
80
950
926
487
294
472
234
811
587
59
937
736
542
90
659
133
81
810
208
182
191
51
767
7
204
566
982
963
542
66
995
675
256
286
789
203
201
11
222
922
407
4
774
779
56
223
343
619
496
531
395
163
871
338
393
53
305
300
696
86
18
183
85
416
439
524
620
1000
116
552
825
56
231
96
62
591
598
909
544
371
291
908
627
822
480
303
927
438
614
518
289
248
835
72
872
759
377
329
415
591
768
115
260
719
834
724
868
804
884
795
366
643
935
811
124
137
540
773
500
538
581
721
641
909
384
309
702
907
648
634
901
6
966
858
579
230
183
942
872
320
426
986
609
990
410
248
808
633
543
920
501
347
439
106
625
679
647
282
448
828
836
695
290
359
183
802
332
644
429
838
939
380
929
66
241
503
10
54
683
766
153
602
866
21
819
561
301
14
215
845
606
104
962
407
284
858
390
790
473
917
149
159
931
896
937
384
125
287
398
821
463
561
668
953
610
671
613
909
353
174
557
220
645
46
156
857
331
68
138
706
525
328
829
182
778
23
725
575
989
194
904
86
456
502
724
224
618
411
90
411
785
417
544
154
608
45
584
138
130
424
890
941
992
147
610
837
795
984
451
346
650
805
78
762
689
667
258
874
676
647
258
510
862
449
217
317
957
177
629
408
383
996
606
107
18
552
274
77
248
148
546
497
489
661
490
827
293
117
712
909
762
624
482
825
306
130
807
961
673
68
314
197
804
497
575
4
297
802
483
503
170
348
360
205
176
743
784
256
127
535
492
477
579
217
343
405
733
418
9
818
606
991
979
969
370
549
499
836
236
654
268
233
434
468
61
547
640
207
979
203
664
110
678
706
342
980
759
220
347
571
500
256
71
226
210
931
831
195
823
677
369
28
770
28
64
255
776
283
294
361
22
443
116
680
978
793
815
434
341
912
886
599
707
685
700
668
13
93
457
663
323
184
10
934
228
659
807
405
990
884
512
900
586
48
817
115
941
348
595
616
15
789
809
962
833
205
536
682
243
575
52
374
935
568
174
634
219
532
947
882
191
807
346
386
125
329
851
955
412
985
651
870
881
73
743
524
124
512
386
210
280
172
202
210
837
806
731
63
147
562
376
496
762
25
506
978
176
13
933
303
238
161
107
890
332
401
173
745
389
51
419
126
954
157
782
27
787
105
818
502
981
291
907
725
133
805
581
416
910
685
538
954
232
265
282
20
411
564
384
142
775
420
10
843
725
345
713
410
703
626
505
489
246
263
845
794
170
740
512
253
930
468
282
791
374
966
971
788
434
512
655
980
780
22
847
171
107
401
963
697
495
439
699
995
261
643
803
999
824
21
315
333
331
959
551
417
276
794
986
710
847
596
699
228
532
971
270
423
348
400
805
231
149
747
312
838
631
93
770
281
26
969
57
524
994
414
382
48
883
990
939
327
346
69
359
756
301
242
878
768
351
637
322
880
63
349
668
358
982
891
425
53
832
815
80
701
141
182
589
645
437
589
281
503
236
829
546
786
278
74
374
844
857
686
158
797
623
356
163
328
952
306
712
272
819
722
472
975
137
387
150
303
681
768
585
966
48
418
436
595
588
628
660
607
869
708
528
433
44
154
181
130
433
217
650
768
731
72
790
178
542
869
830
894
320
431
84
104
406
270
909
459
566
886
195
444
328
14
469
797
448
627
251
170
55
986
401
817
372
987
38
589
411
362
65
947
726
52
455
9
134
208
243
861
275
805
583
525
42
871
347
975
196
614
459
547
931
581
593
967
756
110
888
920
846
931
89
792
898
769
860
768
627
187
54
932
274
723
429
412
859
566
611
886
477
631
112
975
641
947
882
114
497
635
151
546
801
660
318
943
670
717
226
12
463
297
492
162
646
8
436
912
98
709
799
300
136
837
644
947
475
629
771
824
459
582
507
987
130
580
974
738
167
628
786
705
265
7
682
340
260
965
752
190
224
800
790
97
756
243
781
161
921
644
678
911
649
329
473
638
888
859
971
229
518
666
863
191
820
661
414
760
298
988
568
118
774
33
314
781
995
187
951
181
404
603
254
263
365
386
628
752
888
232
41
314
807
517
904
487
440
229
89
672
21
962
970
885
535
359
700
244
170
43
945
360
274
80
947
914
587
427
89
669
499
692
115
128
285
735
771
825
574
300
909
977
791
919
37
856
969
792
888
775
82
191
830
12
50
241
824
372
629
567
231
302
697
418
953
684
830
329
275
452
678
330
321
182
345
940
185
673
893
972
678
327
109
228
104
825
902
708
633
192
28
891
664
863
368
962
23
753
650
605
960
666
326
140
707
598
310
306
772
614
402
975
240
28
531
441
117
531
397
689
127
803
693
231
455
849
861
685
633
8
244
255
140
115
573
665
330
790
975
906
942
202
48
367
863
943
118
515
722
830
484
342
626
583
300
193
601
270
789
440
308
410
611
701
190
341
573
945
521
280
314
888
727
57
266
521
966
86
962
505
195
554
736
404
836
182
939
440
754
135
78
508
422
844
706
683
73
570
440
379
128
492
255
560
392
5
51
171
350
686
557
48
388
86
837
59
917
102
5
218
193
175
274
779
78
8
147
103
136
761
363
219
204
958
200
547
37
434
886
225
700
696
136
830
146
33
323
61
801
516
349
131
50
836
90
191
236
553
177
111
138
897
971
314
950
764
796
192
444
900
915
821
346
559
253
303
967
140
570
107
756
347
670
173
783
501
210
413
95
466
869
451
541
529
947
113
908
252
954
212
176
983
375
640
264
218
613
650
911
462
33
459
208
594
160
9
896
973
340
778
721
711
582
48
44
570
892
909
403
969
123
597
924
398
269
465
331
378
161
999
764
782
738
814
806
903
404
496
918
213
512
470
928
115
676
851
371
341
440
335
235
870
808
768
109
342
292
989
831
24
407
891
444
281
17
429
737
399
519
466
624
314
631
955
409
507
462
923
305
862
620
113
624
764
341
976
729
112
12
875
207
177
17
997
671
455
502
490
299
752
556
754
508
733
282
672
112
106
416
782
975
397
474
50
398
17
899
959
455
950
293
66
73
910
640
80
869
286
359
737
714
512
140
477
507
779
779
959
875
158
633
990
393
250
918
287
439
504
782
843
985
160
974
347
460
614
995
213
331
659
782
334
196
675
371
559
977
337
467
246
301
821
538
999
237
805
858
792
374
802
923
297
637
455
794
148
326
502
202
246
633
32
730
993
270
517
962
512
914
854
273
483
893
307
842
236
892
824
552
111
518
650
668
934
203
573
570
611
312
381
366
519
290
355
917
343
338
661
644
466
427
566
509
829
428
270
750
445
734
988
228
365
65
642
791
967
42
122
622
896
742
658
407
832
670
239
49
556
497
409
802
442
465
987
926
583
592
437
421
283
663
692
946
494
531
178
765
111
433
699
453
738
881
607
147
654
154
375
318
216
606
313
379
885
786
632
8
371
857
505
674
153
894
90
712
756
447
668
285
734
173
237
672
262
442
878
644
597
549
202
134
442
604
1
14
442
187
3
535
582
613
272
947
301
990
386
841
474
301
979
37
266
424
614
176
41
336
264
768
125
747
827
124
260
77
254
443
985
971
821
374
48
545
25
504
153
150
381
577
33
731
134
718
846
813
513
568
400
680
709
41
525
636
193
361
226
74
328
143
899
674
505
539
981
266
182
895
909
742
267
949
128
967
269
307
232
778
523
844
986
51
576
717
119
264
500
861
298
177
532
226
600
39
904
485
160
193
178
661
379
95
668
892
258
522
822
585
947
172
499
312
567
992
153
115
731
246
870
319
954
818
52
585
321
238
282
669
361
682
597
296
81
529
935
608
478
135
995
907
688
107
168
774
98
765
422
204
403
430
272
98
572
843
27
290
135
348
542
343
45
403
571
450
575
645
693
181
391
966
446
221
976
51
984
947
29
357
69
433
364
803
683
468
44
334
874
237
238
70
715
611
291
975
405
392
57
857
630
442
398
35
243
340
61
186
236
146
865
735
746
816
238
655
514
98
655
673
861
35
474
708
687
729
980
838
476
716
200
184
547
81
195
917
62
461
76
994
404
207
973
350
584
264
517
992
277
794
197
861
935
159
113
391
184
657
232
393
363
295
244
283
645
14
518
680
639
935
439
115
763
665
646
894
957
169
275
192
500
484
350
86
796
345
883
544
997
861
88
374
236
498
337
733
73
996
143
85
470
291
505
443
246
179
408
301
496
237
133
921
903
464
298
538
224
230
245
614
472
365
447
481
499
639
126
575
724
484
131
19
761
501
471
472
543
212
577
7
345
570
473
291
809
884
603
478
649
253
921
45
236
50
248
259
670
690
597
95
273
756
325
196
626
505
532
899
460
956
72
450
682
999
909
272
821
486
327
556
984
799
676
497
176
212
906
228
524
239
168
864
475
266
100
95
542
982
279
469
528
506
475
827
476
669
996
354
735
596
405
376
693
593
342
324
680
357
997
266
480
695
26
19
711
271
355
150
43
367
354
76
858
292
339
101
503
868
202
459
710
361
263
318
120
347
99
298
107
255
190
232
235
747
722
804
775
682
764
200
676
121
357
109
245
753
749
252
607
117
122
98
689
241
698
599
63
656
3
577
528
245
436
853
657
77
10
353
925
188
273
172
198
258
995
54
526
264
128
784
213
493
941
786
67
743
991
595
601
140
763
935
701
781
399
850
919
309
936
726
173
617
845
33
27
107
486
341
190
310
301
479
89
222
152
702
609
417
285
408
167
846
771
232
305
240
142
319
889
225
184
199
829
548
458
973
942
340
215
442
228
920
802
404
361
506
524
600
621
92
206
680
872
887
378
140
422
969
59
359
765
218
659
794
299
181
352
855
33
237
634
220
244
335
436
163
772
606
313
970
366
362
734
666
86
340
426
113
267
587
66
956
966
3
335
73
122
443
527
903
901
209
416
528
810
943
84
404
199
181
732
450
735
331
324
546
255
394
24
614
171
541
27
109
265
574
343
164
270
359
489
646
111
569
862
57
73
447
766
573
413
861
665
485
167
600
281
995
985
740
573
589
812
902
446
211
184
411
312
58
689
667
247
110
888
552
549
437
612
302
953
918
91
90
632
242
815
505
382
1
358
222
53
188
693
423
397
680
623
939
958
136
95
673
561
260
68
582
236
582
540
381
119
745
82
203
8
766
966
608
743
930
517
730
543
738
879
834
711
837
755
236
928
962
15
379
439
694
303
801
18
291
867
911
559
924
916
760
484
396
711
434
950
846
482
345
2
972
977
398
408
38
159
991
889
314
84
833
881
583
503
829
727
96
103
644
442
642
568
130
787
423
865
464
420
77
231
735
300
496
363
715
385
53
211
713
870
473
586
756
883
865
544
792
588
360
114
285
124
409
473
326
645
2
131
371
34
30
23
802
492
517
670
766
347
694
719
186
850
760
250
396
675
687
213
592
120
628
231
171
707
310
786
81
1
313
525
510
1000
265
975
575
350
816
514
223
996
698
812
179
602
317
295
649
226
98
412
423
292
221
601
195
850
515
894
191
481
973
40
657
983
806
884
357
139
971
479
994
461
856
78
406
783
151
720
421
986
989
603
545
922
91
802
983
823
30
181
87
106
698
569
1
469
711
306
120
646
829
347
32
984
390
950
729
275
413
851
241
888
289
515
304
334
913
690
323
825
704
41
679
265
209
71
378
396
888
878
151
458
232
578
379
856
587
346
623
772
937
136
128
588
405
89
402
263
440
514
840
535
481
138
431
923
400
990
767
16
166
895
949
492
991
46
474
601
678
556
874
628
28
186
701
968
915
680
418
1
95
266
924
929
908
920
696
91
744
928
22
26
608
134
365
770
106
14
700
408
964
377
550
943
494
68
550
883
508
506
579
808
827
290
903
334
889
383
302
542
958
557
867
936
79
931
5
451
246
372
189
822
202
507
196
902
936
855
842
151
182
350
778
561
201
141
475
742
689
82
380
775
910
795
133
690
69
504
869
109
465
114
874
670
230
175
300
371
282
413
192
812
682
511
847
660
756
685
382
364
189
395
453
232
784
221
247
542
750
530
251
255
181
70
788
252
848
33
2
736
573
450
775
613
191
1000
78
178
596
462
337
446
393
34
762
764
489
742
971
172
305
969
882
126
399
890
617
773
951
295
43
992
1000
806
689
762
279
995
990
268
243
289
200
325
180
808
856
345
319
519
392
66
486
140
327
703
181
273
503
29
905
121
985
84
192
1000
570
925
88
538
355
812
733
117
407
738
309
640
420
42
868
129
162
130
437
47
629
998
376
448
95
339
176
257
659
501
746
24
457
471
779
485
462
330
967
138
644
383
678
821
361
224
189
986
987
568
758
950
206
575
587
909
848
732
217
923
878
113
21
384
907
967
222
710
643
128
309
141
777
728
822
531
137
34
202
12
364
2
825
195
995
333
398
391
581
381
589
948
394
265
168
395
355
932
939
551
40
704
432
117
26
72
675
599
346
104
361
555
571
843
357
289
849
533
848
107
272
286
346
160
108
114
420
729
733
826
300
512
628
401
421
119
391
853
571
512
555
516
561
554
911
915
230
221
181
76
155
226
115
213
666
25
523
224
625
201
335
304
958
212
483
310
117
367
333
206
497
684
382
25
301
966
194
325
550
42
863
31
685
605
818
872
725
532
457
404
34
822
924
707
547
588
306
424
722
600
697
777
604
963
832
518
95
427
480
587
966
685
365
415
182
772
156
357
833
331
998
802
338
86
104
813
623
343
189
40
639
691
889
780
956
399
880
735
130
175
71
994
239
48
157
218
239
155
776
828
811
121
714
239
952
517
932
835
857
646
638
413
579
495
306
303
537
252
300
231
183
218
743
237
58
309
351
687
18
566
242
446
622
290
109
809
553
461
779
664
475
82
847
659
904
962
9
877
508
256
755
595
777
754
242
282
111
511
598
848
232
929
342
558
248
799
333
713
863
135
449
368
954
855
209
912
228
488
652
274
709
135
121
915
595
838
20
488
398
380
231
287
358
265
640
132
825
321
138
352
690
913
541
941
961
234
97
719
265
526
655
577
412
360
77
490
139
303
225
981
802
405
665
181
122
923
275
439
18
632
89
668
211
877
61
297
546
258
879
702
928
441
639
483
334
167
938
802
644
926
941
275
902
159
39
572
213
59
12
992
653
242
18
735
506
607
291
519
587
680
188
456
678
614
92
863
882
816
732
729
235
852
675
146
47
879
111
896
261
370
548
725
598
290
735
600
351
227
900
354
480
174
444
706
121
801
306
575
665
106
540
7
344
257
99
752
665
287
406
765
61
73
62
434
891
675
986
372
246
697
310
965
81
780
627
705
860
739
545
523
245
136
73
954
365
271
38
6
838
667
611
991
46
138
12
456
120
449
657
565
708
359
308
921
901
607
292
894
588
3
479
961
144
320
510
429
569
146
708
198
116
189
219
866
11
772
196
606
53
453
240
688
802
729
913
450
544
783
843
800
443
111
856
60
98
646
579
51
263
674
207
866
584
487
426
692
84
144
45
362
520
203
532
85
930
542
487
932
406
651
55
192
602
882
429
714
562
192
888
661
202
857
255
920
180
482
276
556
953
372
180
297
540
28
598
28
868
47
103
649
609
228
839
484
131
41
137
599
464
888
512
46
253
826
181
14
262
456
56
360
338
753
211
769
703
461
980
55
47
548
157
782
202
896
270
386
85
75
526
485
212
528
822
894
300
7
163
164
426
381
942
102
716
243
793
848
798
874
152
562
97
201
232
654
596
358
850
812
856
343
431
791
947
33
572
20
410
546
719
628
574
490
895
397
292
190
920
507
693
365
228
646
625
57
214
232
261
835
33
28
770
427
898
401
48
963
228
825
243
973
443
19
230
106
806
265
226
315
486
54
468
896
923
192
258
354
654
872
667
519
996
60
937
744
364
718
888
281
554
14
712
121
996
684
108
714
890
150
102
943
78
817
791
685
758
217
923
64
384
316
477
269
656
344
349
400
84
978
840
365
443
562
894
299
348
322
929
287
334
205
658
486
36
76
550
836
520
459
390
685
381
940
987
568
943
630
229
293
805
804
526
271
2
930
196
705
262
858
488
864
193
819
755
171
747
253
732
233
968
217
51
286
880
248
822
716
321
139
632
476
695
22
330
244
884
531
756
100
36
566
975
371
532
390
599
26
203
341
554
676
794
446
960
799
741
625
875
284
558
959
290
760
519
716
147
484
870
443
117
726
494
437
536
698
825
363
222
108
800
593
841
267
827
92
122
566
59
327
502
813
742
704
709
568
65
540
390
157
703
381
125
472
221
807
95
27
596
499
197
986
388
453
657
49
496
689
20
130
33
733
962
766
561
418
525
47
823
275
245
655
172
905
102
296
56
222
421
400
322
409
618
472
577
742
186
895
532
193
412
281
77
841
112
727
814
723
97
421
910
642
176
115
443
893
249
894
829
567
445
553
570
329
321
603
286
95
861
643
932
78
360
349
186
15
348
848
187
227
355
596
247
358
678
173
644
250
309
617
353
434
824
985
400
151
358
871
544
641
742
484
163
677
518
747
547
980
797
557
273
175
903
21
986
449
286
987
696
882
482
639
659
745
766
284
4
702
719
705
544
941
149
605
621
770
668
769
409
72
759
499
840
355
362
790
185
807
823
490
397
903
580
381
489
624
88
707
607
266
309
204
944
170
539
67
339
423
507
628
192
734
402
743
353
247
976
1000
739
1
913
909
756
108
442
174
34
519
542
997
608
371
169
118
419
555
639
951
947
86
682
754
855
263
701
230
747
431
453
361
553
334
731
527
573
684
597
183
922
574
377
466
979
810
950
77
460
57
822
744
877
928
79
337
506
806
633
472
441
235
67
46
970
159
8
691
278
179
169
573
459
253
156
315
909
926
640
75
431
305
742
973
823
428
353
121
271
610
617
503
617
645
10
801
447
429
287
81
5
716
42
927
119
208
829
212
699
133
530
200
865
783
208
95
446
218
721
449
405
515
209
82
733
451
984
302
484
515
428
218
934
458
274
918
281
405
43
115
908
702
446
617
20
263
319
638
337
175
993
552
658
704
44
138
298
658
54
761
797
263
362
230
868
328
752
226
217
495
717
352
751
781
218
798
680
489
841
583
221
756
863
101
889
701
24
472
891
132
746
781
749
299
98
862
68
970
106
708
337
434
851
938
737
681
403
4
205
113
836
4
417
597
438
994
927
614
768
712
430
508
394
463
23
597
974
740
338
967
872
816
673
357
602
158
575
401
264
17
835
880
547
957
546
345
33
403
691
635
298
505
697
343
740
764
553
280
166
885
354
307
899
266
620
701
594
387
312
404
986
119
238
60
521
618
485
757
200
69
550
788
984
974
104
516
785
101
695
688
439
472
249
98
14
957
925
575
491
170
729
650
155
327
317
135
993
667
582
35
18
842
941
923
735
414
715
885
882
211
659
678
157
846
449
535
931
141
928
382
809
542
991
872
482
873
258
732
517
928
109
420
626
479
226
965
445
246
517
190
89
254
183
193
532
785
749
114
414
841
47
693
991
607
538
102
771
935
833
810
842
259
971
30
12
686
817
411
681
213
940
202
766
169
462
66
133
9
653
100
684
519
522
369
714
360
232
455
150
616
952
91
45
686
665
955
51
414
529
78
626
832
628
133
425
285
320
80
639
947
953
242
86
998
402
930
467
766
754
151
539
182
464
747
909
793
486
593
783
397
203
96
276
97
459
285
826
172
644
280
845
746
563
736
995
627
784
180
361
84
246
798
376
537
208
333
554
356
988
246
958
955
566
160
876
423
815
952
328
752
53
528
917
537
604
447
981
704
304
79
199
437
212
918
591
959
319
976
316
238
691
955
818
29
345
24
616
852
105
579
488
653
832
321
894
945
732
368
216
140
873
863
795
647
658
727
828
76
774
802
879
518
36
596
134
483
635
252
573
501
532
159
906
814
102
839
448
854
726
341
140
383
670
418
537
302
489
160
921
104
196
627
652
887
596
218
489
641
509
207
904
261
115
890
329
346
253
265
883
417
320
20
367
585
379
901
208
84
156
155
614
325
909
889
400
277
535
634
821
85
883
308
285
749
962
80
994
635
615
338
396
322
282
89
852
20
678
615
55
345
552
174
540
816
235
832
125
759
313
262
202
699
633
519
609
509
786
293
232
697
391
167
575
302
755
723
296
752
980
124
99
931
155
988
438
438
47
942
194
669
646
219
878
960
956
102
923
457
679
761
313
790
826
287
162
898
830
311
811
558
423
633
712
258
424
702
633
57
572
631
721
5
713
655
557
484
987
609
623
590
129
33
545
265
642
970
50
472
387
417
831
94
103
607
426
635
447
34
754
37
444
172
194
62
615
349
937
822
661
134
896
926
297
876
624
676
709
785
543
473
176
996
271
313
572
640
5
845
834
841
714
959
2
882
359
318
82
551
503
499
829
804
414
713
529
436
232
133
973
408
860
943
147
861
940
139
571
583
763
961
862
903
926
616
844
559
346
572
431
68
555
313
621
535
271
874
132
631
886
912
635
678
886
286
37
400
202
377
22
911
127
430
875
946
784
231
629
164
49
334
776
607
498
873
59
18
184
709
396
813
34
310
575
912
185
277
199
538
886
893
267
347
459
394
922
921
381
949
128
758
761
461
483
367
374
402
927
975
928
846
857
668
410
750
30
460
245
325
689
957
448
22
556
735
122
265
660
536
486
563
526
685
46
43
880
879
656
770
878
654
29
437
827
368
623
140
520
519
992
988
598
561
381
247
788
161
793
552
496
31
767
497
973
6
875
544
214
96
276
796
803
571
712
615
156
977
16
478
28
188
537
734
633
187
880
109
499
325
40
933
980
205
263
36
388
185
5
190
861
735
915
791
442
514
87
188
259
103
758
709
420
779
187
953
949
579
747
383
101
162
128
586
458
699
109
811
507
25
606
602
781
868
538
347
252
786
597
593
382
799
194
829
130
379
697
220
239
596
558
494
372
719
96
756
959
521
510
526
191
849
143
688
228
761
183
386
518
705
703
95
126
723
443
247
79
657
775
811
60
684
68
183
197
268
70
589
345
825
964
942
969
935
507
779
707
965
992
452
720
345
835
236
214
532
250
386
859
923
837
459
416
587
879
432
553
689
827
200
707
939
735
109
848
204
390
18
183
660
501
255
144
542
577
537
515
544
81
540
153
442
14
375
597
317
347
628
752
82
622
3
8
645
579
846
360
152
923
996
539
244
176
466
750
133
116
447
311
637
473
985
417
986
402
504
256
366
743
986
928
648
245
283
982
704
714
471
865
34
547
639
283
170
197
759
281
459
929
544
821
401
633
331
804
652
572
39
745
175
664
214
779
802
344
23
275
637
47
787
103
301
150
351
507
44
496
106
635
107
726
986
970
546
286
129
341
915
322
186
698
846
699
434
553
555
992
979
844
755
646
309
995
282
442
394
93
959
42
322
471
911
647
208
407
550
772
730
356
943
684
177
862
114
332
351
288
125
504
5
601
432
463
749
696
119
589
531
175
92
377
856
79
198
698
875
781
567
400
387
157
150
174
527
181
556
110
671
303
820
503
627
309
637
309
743
896
954
87
913
842
539
404
838
493
283
449
83
257
577
40
617
954
12
306
556
132
61
51
771
937
153
239
872
728
713
78
838
373
362
900
215
101
409
422
373
852
220
971
806
287
791
976
803
41
123
335
143
303
545
304
617
536
214
156
337
8
403
218
719
790
32
833
24
81
167
411
81
19
794
36
597
632
304
3
53
218
505
274
742
227
915
65
936
694
299
708
519
339
128
458
691
755
709
164
479
493
218
569
896
443
775
549
541
633
997
777
303
471
168
139
647
471
288
733
628
743
772
430
391
842
520
780
414
115
373
526
155
338
756
99
107
272
407
250
454
729
694
411
680
897
922
459
501
960
454
323
442
491
196
251
222
718
193
642
879
511
675
34
205
863
847
244
651
721
161
651
329
230
560
326
101
884
430
30
62
566
595
127
893
209
699
64
658
640
779
452
645
181
620
667
743
774
777
574
661
681
730
230
42
335
759
349
133
532
525
922
212
940
246
626
428
877
601
542
41
401
199
293
316
10
507
895
486
687
637
522
255
587
275
874
300
406
354
61
101
336
765
727
223
593
515
651
849
665
280
208
991
810
197
894
275
831
107
563
640
841
168
168
585
534
926
568
840
484
465
397
442
106
244
73
267
231
548
792
980
680
300
749
227
837
115
858
665
980
101
17
35
55
850
278
126
635
523
344
881
64
664
494
312
151
650
370
183
338
243
63
584
948
780
584
643
5
925
129
618
94
763
487
517
937
241
590
224
641
618
465
823
112
639
787
442
702
579
824
483
8
218
808
536
659
17
685
632
40
502
722
741
165
898
713
584
336
571
347
886
803
722
875
197
339
87
363
246
586
90
683
621
27
25
868
239
654
357
639
663
767
156
695
845
840
23
831
273
61
583
88
830
986
798
887
868
717
875
556
175
160
515
749
503
210
618
987
296
163
319
970
108
251
411
368
924
976
801
496
299
827
619
680
770
33
11
125
481
253
439
793
328
480
521
127
248
980
67
475
424
797
965
704
311
195
29
805
391
438
729
266
440
472
968
604
970
381
727
721
162
9
439
701
301
734
419
236
205
202
524
123
626
785
523
186
921
586
294
530
557
154
71
233
180
410
450
496
30
925
754
751
474
372
663
448
302
913
720
58
212
268
438
355
612
464
259
149
459
591
535
503
363
414
41
897
590
343
261
928
933
129
847
934
607
574
179
343
500
745
951
648
110
426
25
649
465
18
600
29
152
701
908
347
359
423
240
303
471
214
64
446
341
395
447
567
838
462
737
689
636
864
709
883
505
367
979
193
558
469
504
537
999
126
424
818
942
103
339
416
739
420
326
856
134
673
685
725
225
522
425
875
880
242
972
474
784
58
440
795
728
915
84
470
105
442
225
527
829
145
15
754
64
265
912
761
210
330
624
699
560
145
573
731
932
864
660
215
371
820
208
49
694
16
479
784
250
487
113
920
794
309
132
264
756
673
927
346
523
259
760
687
567
151
902
122
384
654
445
491
247
668
212
740
720
741
976
908
715
504
331
496
648
978
183
456
905
143
802
414
382
246
765
740
356
556
932
799
325
653
806
30
708
887
224
510
542
348
384
314
360
540
588
281
472
960
965
781
768
958
640
674
989
585
487
954
119
597
632
497
196
448
344
914
380
871
825
769
533
631
654
330
949
87
340
556
94
535
520
261
404
643
804
274
241
942
199
910
81
999
325
284
897
841
340
825
479
203
620
851
120
405
749
214
721
983
316
825
825
763
320
368
566
671
757
591
766
465
88
368
703
495
841
157
145
785
563
557
327
989
704
433
458
246
772
464
219
552
297
43
440
32
697
156
835
425
158
263
223
156
13
210
131
601
920
897
79
555
330
769
114
438
380
187
345
483
334
391
365
4
146
88
405
862
530
639
12
403
194
478
842
479
493
629
892
632
866
160
116
178
817
989
908
701
122
701
391
432
176
935
784
76
83
483
365
953
182
422
749
676
179
511
219
226
959
576
853
973
450
830
58
105
618
868
920
949
794
631
440
889
42
730
378
934
217
373
869
493
679
580
444
598
391
504
362
632
249
450
410
603
62
617
450
144
552
687
18
706
110
119
237
869
801
425
156
312
322
747
358
703
151
789
374
762
165
512
981
738
356
41
949
861
116
907
184
633
728
111
485
435
357
450
344
596
820
247
302
909
866
909
390
643
511
704
85
208
228
780
36
9
426
719
539
471
705
857
356
866
850
195
38
371
357
965
316
737
584
824
508
39
289
207
127
262
393
592
28
884
300
285
529
192
1
884
884
808
498
746
374
772
777
636
85
600
682
222
113
899
569
247
543
520
532
2
61
701
336
207
446
350
924
517
547
435
522
650
526
421
901
574
313
843
334
280
241
396
122
405
773
363
365
390
82
825
814
894
1
844
216
926
516
739
564
522
558
650
71
793
291
803
456
909
522
305
373
877
89
802
399
990
329
75
47
480
777
474
664
194
300
120
935
125
733
964
944
182
953
126
371
941
992
414
494
988
480
552
78
86
196
464
136
651
980
884
798
907
589
680
191
652
339
553
352
807
548
173
637
752
842
396
33
17
377
945
41
63
902
816
528
728
369
714
69
423
508
34
779
298
356
246
624
423
259
68
469
489
256
463
908
652
96
348
51
932
333
846
967
1
97
100
508
294
175
901
514
114
946
900
255
833
623
710
81
298
938
38
865
323
134
835
805
493
642
592
549
525
330
93
396
134
575
349
563
695
699
978
83
966
501
979
961
811
714
740
599
172
229
89
381
483
831
399
497
374
8
72
782
758
129
206
353
354
899
882
313
274
560
329
653
564
719
130
731
468
60
779
418
772
435
150
56
791
999
837
868
409
114
934
380
158
725
525
669
464
797
65
10
55
171
861
574
1
906
61
364
43
773
941
502
630
45
756
307
600
188
109
357
520
317
634
845
508
552
726
138
779
515
239
349
247
251
326
145
284
797
70
752
98
470
159
321
302
715
599
371
918
982
411
45
468
709
309
297
791
930
595
913
968
424
897
525
7
592
913
319
1
472
35
246
85
351
575
879
847
496
329
980
796
381
380
4
141
654
385
475
381
769
45
169
160
877
110
545
434
67
76
680
226
529
649
282
162
521
191
993
550
320
608
305
951
448
559
880
93
587
449
980
485
514
389
996
287
316
206
787
835
896
622
649
686
502
916
252
259
568
761
819
892
726
410
134
650
188
99
738
326
56
354
777
838
350
858
561
687
626
692
810
219
158
35
955
169
526
884
627
401
385
939
632
777
850
573
311
838
692
718
150
328
18
590
934
644
649
377
505
949
747
438
411
60
550
70
350
183
264
638
326
267
248
672
855
5
645
600
415
517
520
912
538
357
379
897
628
766
673
579
601
14
521
95
938
298
406
578
576
873
66
537
342
17
142
847
336
995
374
714
702
379
343
409
767
983
790
127
386
173
522
78
654
522
810
780
849
597
955
592
576
177
397
706
611
351
332
187
875
758
332
156
283
684
829
880
979
865
695
360
584
627
334
990
656
412
841
997
519
845
836
660
968
238
498
771
138
830
193
394
6
123
834
737
562
390
777
896
691
797
617
268
196
632
736
705
189
770
822
817
301
913
859
427
751
69
312
854
363
446
280
549
24
208
443
644
920
531
511
135
131
987
707
731
787
619
546
905
78
929
792
302
837
659
20
470
280
458
650
807
788
433
658
752
260
146
452
487
650
850
513
843
831
596
539
697
763
395
720
833
296
813
731
186
616
181
761
379
475
135
606
704
849
340
476
23
614
56
616
601
138
680
315
538
467
522
150
299
868
829
554
819
113
542
916
797
783
324
483
91
290
178
235
579
34
347
790
442
330
268
134
602
305
68
630
970
952
441
338
221
931
802
133
46
504
276
525
236
201
435
313
472
431
679
462
418
260
829
639
549
27
798
878
184
282
159
748
330
772
87
200
308
860
391
34
571
801
318
496
804
759
367
110
151
316
650
258
392
491
180
373
988
976
70
880
175
354
827
165
708
582
792
934
434
893
320
272
597
595
456
632
680
930
733
733
604
294
190
57
355
613
873
225
401
626
889
54
833
138
551
480
796
45
273
877
613
95
644
503
994
890
567
959
842
584
412
551
484
113
890
422
575
554
783
137
576
387
667
187
406
20
550
525
855
920
663
800
368
102
696
475
66
508
466
331
253
45
304
207
206
632
500
969
730
658
751
835
841
654
893
166
924
839
157
755
915
408
802
455
340
120
282
725
576
739
1000
288
280
401
335
630
782
790
834
532
142
306
403
156
709
90
862
459
259
822
453
888
235
739
773
363
155
171
116
532
12
246
402
160
372
65
711
296
898
818
937
584
269
787
218
622
776
148
642
847
424
771
146
789
17
13
684
864
537
594
518
116
113
220
884
424
991
582
424
747
255
708
492
905
444
423
844
263
864
855
305
408
121
490
699
613
353
294
709
410
675
786
356
88
633
782
491
314
784
692
6
344
144
929
484
501
864
938
664
696
417
838
392
743
550
479
715
186
442
946
371
103
835
204
236
151
367
633
198
674
14
636
534
288
286
392
109
774
828
81
618
447
147
603
646
464
454
863
559
647
47
228
79
498
222
607
946
50
419
964
254
63
231
718
884
880
908
662
935
938
230
499
265
529
931
60
978
921
424
577
246
335
197
132
914
639
100
560
147
771
723
603
790
116
205
113
238
31
85
432
317
692
292
859
105
266
951
308
694
182
452
801
563
928
152
478
667
358
151
176
318
992
813
424
657
146
100
929
839
30
313
230
51
138
560
220
144
366
98
658
970
271
729
646
458
825
607
248
122
816
92
113
947
786
843
995
534
6
898
513
993
550
349
393
292
945
140
651
711
250
609
911
573
644
701
87
660
791
151
182
593
299
541
824
970
565
861
483
271
188
81
14
326
918
293
276
713
776
186
112
526
625
970
890
835
921
367
149
568
842
975
620
712
263
123
52
471
286
324
811
487
186
555
190
288
622
917
722
913
951
642
568
17
309
55
217
876
869
832
338
373
381
831
586
464
621
847
577
617
898
874
56
423
98
827
469
909
76
252
776
83
368
228
362
891
308
526
338
83
634
111
332
445
585
238
136
473
297
709
214
854
44
354
106
39
486
430
259
804
633
422
650
915
671
685
843
944
138
476
807
824
220
177
907
955
48
942
946
537
13
561
60
348
10
80
560
361
480
604
505
425
848
722
943
760
670
257
231
135
405
326
810
432
220
267
131
765
664
623
151
416
334
226
991
680
924
365
885
79
135
218
503
569
989
955
102
46
12
436
743
900
624
971
944
420
804
428
791
546
765
853
439
869
964
861
408
784
210
284
818
400
38
951
953
133
799
15
140
932
93
947
964
723
301
171
249
961
941
325
81
169
510
304
390
935
289
572
236
145
285
697
18
143
164
715
276
116
513
716
601
225
235
991
469
947
252
205
479
608
886
289
537
328
525
206
68
476
170
275
168
234
510
520
970
88
983
336
170
876
116
880
778
536
101
732
697
848
182
756
637
267
914
620
219
421
783
55
859
958
987
817
166
208
389
245
139
576
814
475
417
636
859
669
176
696
364
37
69
947
510
67
752
424
293
137
149
682
752
572
567
490
936
333
205
849
24
710
373
354
436
811
947
235
20
165
229
413
625
464
363
584
442
328
905
618
522
983
992
560
774
910
748
108
568
864
273
753
809
122
555
682
940
464
145
138
916
204
267
186
585
503
335
726
298
327
509
160
814
674
993
346
708
112
307
313
588
223
613
780
382
322
511
670
839
671
413
686
169
464
729
465
462
67
594
44
87
342
836
114
820
403
161
59
814
819
337
857
893
102
227
739
829
312
155
887
420
716
976
603
214
789
632
60
659
224
719
223
332
289
796
514
616
588
704
568
894
228
206
777
873
448
616
335
130
21
901
204
357
105
944
752
65
781
284
808
686
195
635
536
145
116
969
841
935
678
712
980
679
300
904
684
949
64
783
360
859
327
310
893
561
993
622
139
328
626
252
478
326
588
233
655
552
450
876
747
645
203
93
264
464
221
630
296
371
484
477
135
137
330
999
977
289
859
67
168
461
181
577
935
55
888
244
722
68
490
514
27
481
76
756
132
999
102
632
227
258
80
689
201
833
866
787
830
501
437
900
143
289
308
240
550
711
198
357
666
525
155
128
843
30
142
50
173
624
948
302
23
897
433
404
267
7
284
105
21
468
887
366
28
765
452
876
865
413
226
598
768
142
480
247
199
958
985
442
227
659
856
513
445
282
940
590
394
620
464
647
418
622
227
640
448
986
479
744
496
729
528
946
484
856
256
956
662
495
977
455
17
41
478
210
9
910
684
454
445
477
87
272
532
672
8
390
947
450
755
937
302
97
990
206
506
891
933
426
338
164
578
856
32
212
731
254
769
826
544
934
773
431
157
158
120
952
239
587
489
575
483
855
795
493
576
134
83
589
762
694
95
762
890
82
652
252
749
509
357
916
562
445
164
830
768
208
30
31
565
559
216
457
284
913
796
349
312
807
587
483
189
690
37
594
460
933
532
277
95
186
264
451
559
880
31
221
131
699
301
570
696
310
452
884
27
513
350
722
526
244
333
619
502
516
226
955
328
503
228
66
220
431
379
880
993
855
854
297
837
188
512
428
80
69
958
601
920
257
889
714
337
281
640
138
729
972
657
857
331
362
82
955
167
167
778
875
79
204
877
99
384
665
381
17
831
108
435
819
833
413
638
141
397
691
157
93
779
337
481
13
656
997
345
972
533
188
753
625
151
732
42
465
942
955
611
910
907
798
282
980
890
632
280
452
876
556
425
533
839
397
481
70
640
490
563
226
674
492
105
380
277
205
192
731
378
373
992
697
537
917
600
770
296
913
868
895
705
889
693
820
22
723
790
88
820
457
205
545
166
882
676
245
123
601
503
683
524
627
748
92
895
214
444
380
422
816
980
942
63
509
990
209
261
197
872
274
239
231
541
361
510
796
137
221
66
609
184
752
697
971
136
289
28
215
332
20
139
935
138
950
117
158
441
673
451
795
740
959
995
294
774
853
92
407
24
504
560
370
417
469
474
608
294
566
36
282
999
680
400
607
464
89
10
879
832
976
851
611
431
835
44
969
420
328
388
960
23
27
749
479
547
164
705
342
341
146
493
927
397
147
72
879
592
501
105
631
429
1
724
137
732
432
249
344
937
864
429
361
507
251
333
232
528
915
790
487
722
301
128
367
958
261
22
729
830
729
468
168
46
322
235
793
150
852
686
467
603
194
500
21
322
214
680
120
613
749
198
12
814
709
751
334
93
434
446
524
573
379
610
156
361
31
599
702
139
750
193
774
650
848
104
945
824
820
193
578
298
93
233
952
766
58
429
140
949
409
455
741
957
39
476
549
485
814
469
720
570
564
172
775
641
536
169
75
163
386
920
983
512
473
63
54
603
907
913
979
412
273
908
933
781
453
687
209
778
275
589
715
459
997
642
990
100
790
504
876
821
435
423
899
64
464
981
688
573
788
313
491
364
722
492
941
658
937
24
775
917
511
687
95
937
752
538
131
396
846
510
183
399
742
890
575
328
892
935
995
746
567
29
570
190
572
60
364
432
45
171
793
213
938
618
586
474
508
267
540
864
788
136
287
648
624
498
692
193
281
289
292
864
45
924
426
525
521
209
273
837
493
704
80
179
365
765
258
357
153
507
870
194
934
85
280
762
487
30
361
252
557
851
724
436
819
753
890
269
161
115
175
409
325
328
351
348
322
677
808
406
269
257
23
56
469
278
640
911
617
738
368
242
995
141
171
89
387
837
979
834
247
618
232
647
334
369
89
336
630
973
86
955
858
143
331
982
339
556
79
24
230
457
674
742
423
909
396
168
503
994
702
652
199
552
726
423
728
513
667
168
232
480
871
70
329
967
994
494
385
641
627
832
757
968
159
109
667
910
454
581
785
712
120
930
876
328
773
645
51
792
723
835
266
634
905
28
724
511
763
485
732
345
977
147
397
615
620
676
255
921
340
902
572
576
655
656
579
771
291
167
352
826
776
119
387
121
164
36
204
584
872
848
427
23
76
405
904
168
20
192
365
13
896
715
28
948
652
849
321
198
215
948
603
314
105
659
347
777
392
206
777
329
229
359
325
288
964
446
635
938
983
513
30
72
963
217
503
889
188
71
336
753
961
470
369
769
866
266
819
730
879
779
283
774
844
802
229
963
864
552
843
138
542
546
580
567
784
62
132
342
130
176
840
993
146
390
725
509
468
491
469
798
486
601
621
629
516
353
274
293
526
737
219
502
134
443
349
574
658
465
700
551
443
317
50
714
550
459
429
899
190
445
285
130
925
841
235
344
771
207
571
400
815
277
689
146
850
39
623
44
844
547
743
745
755
202
439
42
334
678
336
835
59
863
150
109
288
971
841
408
39
459
88
994
553
502
455
683
932
548
839
324
712
934
903
60
163
597
256
760
504
711
69
489
967
422
670
491
825
983
414
898
96
236
791
329
610
826
293
588
518
505
39
929
148
605
542
718
291
83
283
894
629
547
940
292
46
313
245
802
972
869
413
287
746
73
33
411
244
39
92
813
638
957
563
560
207
994
591
453
603
57
850
545
804
409
116
181
290
50
396
988
629
342
267
491
752
545
187
457
694
840
650
647
467
906
9
376
18
336
658
188
961
993
98
973
869
918
38
79
426
545
343
302
690
807
106
170
26
148
539
602
17
622
721
836
815
1
423
516
932
264
389
961
436
940
491
928
873
501
93
643
35
422
826
457
819
589
739
285
61
426
423
858
181
512
304
944
878
482
757
866
933
662
67
103
363
282
580
236
790
54
530
248
927
584
182
20
479
405
891
894
616
353
609
322
408
655
190
965
235
370
566
81
285
760
476
664
658
742
13
629
486
853
630
227
762
31
671
53
211
86
680
207
650
962
939
631
760
747
754
195
94
912
957
857
439
484
3
91
370
633
800
828
931
716
124
361
920
928
49
15
164
552
349
889
507
227
220
676
985
827
2
336
789
271
793
450
182
56
992
151
495
369
825
880
669
410
864
621
626
923
395
902
868
37
249
607
350
188
355
554
603
310
860
871
527
469
139
448
48
838
359
114
36
215
610
738
535
318
740
150
320
711
187
646
268
559
72
837
847
336
735
781
250
273
725
668
389
581
965
787
962
437
440
173
309
294
325
92
614
346
850
510
280
856
624
760
1000
650
326
910
104
241
875
745
268
992
252
852
568
175
94
30
150
49
102
125
507
843
52
456
463
85
919
167
495
855
205
232
918
320
73
321
851
431
303
417
545
726
401
915
876
6
405
877
291
60
96
298
505
713
298
499
576
224
967
230
784
455
551
671
874
291
909
273
875
523
698
310
609
758
731
82
486
958
282
945
919
892
669
725
923
131
759
628
98
210
227
443
172
225
481
704
748
462
193
487
706
601
273
686
962
676
945
926
929
236
312
782
75
104
414
573
434
699
329
824
789
155
319
423
508
367
340
619
720
639
531
245
551
850
419
10
679
910
681
228
342
809
238
141
215
741
380
818
326
651
366
717
245
6
662
148
342
790
570
263
808
505
505
700
478
431
591
665
244
522
558
98
965
101
158
499
359
932
431
174
306
360
205
929
362
947
148
697
43
420
536
187
636
845
657
420
851
615
441
907
640
238
471
334
889
936
976
828
495
735
844
268
566
89
916
651
48
67
60
240
170
775
606
39
469
19
719
196
16
159
214
69
694
735
132
37
50
728
102
616
236
242
176
66
88
998
322
477
193
267
237
277
100
777
469
214
492
687
95
92
232
940
377
26
665
179
865
477
481
924
400
136
718
924
361
554
207
399
260
486
886
423
501
127
895
821
716
743
333
779
593
745
860
831
514
898
84
8
651
206
805
697
391
968
755
229
75
659
417
259
94
580
875
796
316
668
425
93
660
448
844
723
403
917
795
834
457
11
847
972
423
425
982
888
704
769
247
432
333
429
433
959
474
61
287
694
716
322
742
136
418
326
132
918
335
299
149
458
681
101
554
415
606
592
310
197
771
292
825
735
356
460
502
295
356
466
595
382
469
303
699
670
230
205
832
454
292
561
190
349
935
779
104
814
913
293
667
629
783
661
762
613
667
573
956
733
256
651
830
248
495
97
824
657
35
632
640
90
11
654
522
171
134
230
527
566
392
353
11
183
887
886
121
412
456
738
32
917
771
124
49
204
539
207
444
618
300
24
90
475
35
364
524
735
495
179
86
20
714
199
130
795
638
636
162
202
182
252
920
420
335
626
51
358
88
141
53
203
93
60
579
622
951
108
30
379
924
93
608
767
723
478
630
531
697
262
992
872
430
169
83
753
237
968
343
918
538
649
935
5
407
326
651
632
870
992
268
598
657
644
81
174
223
919
192
29
782
61
473
479
18
972
808
614
880
109
353
357
615
216
40
630
736
215
521
669
156
109
40
924
143
414
493
171
30
446
64
194
871
805
368
847
352
503
22
402
294
493
900
821
47
799
101
15
901
66
855
180
410
94
160
56
185
853
923
288
259
544
808
136
647
503
751
417
36
138
348
960
902
628
907
794
475
815
8
992
124
565
799
374
702
921
137
238
326
489
878
938
874
875
298
363
202
428
660
344
725
213
416
592
528
925
369
5
629
384
431
109
355
390
255
939
48
959
113
893
489
384
893
957
475
138
968
227
987
384
995
846
232
705
421
310
663
775
564
593
744
814
692
693
845
101
412
21
148
272
40
499
862
841
360
389
349
187
307
614
10
228
676
801
886
154
935
339
978
885
527
513
230
345
886
174
973
294
521
446
362
170
122
719
37
367
631
518
758
392
608
886
289
639
46
602
138
842
965
877
83
860
757
204
590
134
251
645
319
989
928
194
944
15
498
786
397
875
348
162
488
257
964
75
550
142
520
246
414
219
263
96
544
39
189
494
589
494
797
685
993
279
348
120
522
265
172
125
756
147
40
203
639
280
515
321
177
374
496
689
228
581
883
397
143
572
407
765
674
390
170
422
206
227
395
931
832
784
202
238
242
538
964
373
671
72
947
572
414
607
500
446
533
996
997
916
392
759
112
361
642
168
779
857
96
7
362
409
697
388
136
834
441
937
192
296
697
718
234
520
816
517
596
434
330
478
948
278
294
629
834
253
558
554
167
422
807
304
245
882
259
650
692
208
779
972
955
766
29
390
643
795
945
209
35
74
521
421
561
604
358
775
902
948
927
887
632
805
810
957
26
951
460
948
694
868
162
472
234
291
968
216
973
408
324
480
160
640
23
267
708
763
861
438
657
647
110
609
101
15
479
853
199
463
776
773
258
419
865
172
597
873
852
391
56
446
636
345
561
856
115
439
109
878
359
837
920
662
994
8
250
698
917
79
548
731
194
274
227
693
668
670
295
47
348
541
507
6
172
809
474
746
52
516
397
81
452
752
705
75
912
203
877
706
32
310
176
14
450
65
852
124
242
640
599
167
996
337
714
399
537
880
437
732
918
658
427
519
796
363
189
646
810
386
526
915
860
457
784
235
502
273
731
383
793
284
393
943
3
364
91
582
595
847
196
982
730
285
836
606
363
324
922
979
666
309
353
290
142
566
198
957
269
843
990
255
941
45
12
224
286
227
573
858
668
796
852
9
803
3
848
531
959
103
299
929
162
25
257
204
149
958
147
607
608
86
720
772
866
561
338
37
770
924
360
812
994
385
271
523
345
780
342
12
983
563
271
266
599
877
245
5
755
628
293
948
547
483
661
588
689
876
135
873
927
454
922
509
417
859
731
523
323
376
151
298
438
793
315
586
68
736
56
833
766
891
510
804
766
740
135
613
113
896
643
220
570
683
238
933
346
322
830
650
565
14
633
430
201
192
644
468
869
493
33
690
492
275
409
35
329
82
233
892
312
99
419
355
903
459
296
681
950
263
638
787
116
311
471
740
525
806
680
891
181
796
249
753
574
667
119
756
666
812
246
733
66
491
426
374
808
976
842
902
609
319
100
903
846
455
738
606
813
905
765
892
975
38
871
945
57
709
312
816
801
108
355
89
148
815
376
482
393
390
374
496
617
299
689
155
307
629
203
464
622
818
127
477
193
600
790
749
718
446
489
518
839
79
562
188
966
9
320
526
783
677
391
549
128
454
310
236
839
690
895
54
930
19
97
784
158
337
487
279
641
218
498
593
693
61
872
410
448
914
485
786
168
756
891
32
359
999
453
973
922
95
909
929
646
456
578
491
247
319
161
597
40
805
321
428
67
175
734
422
176
231
373
6
93
848
113
737
40
882
595
177
792
77
467
211
378
135
752
481
810
821
96
276
333
826
96
531
688
125
722
551
782
730
95
684
3
88
542
475
113
803
857
739
287
75
227
595
438
956
55
749
337
559
284
223
474
383
400
264
785
250
467
420
578
711
964
604
40
396
147
515
682
489
905
982
962
405
842
601
111
792
390
567
880
182
300
742
520
956
775
810
824
828
847
827
449
704
336
626
82
586
887
277
217
208
100
256
439
191
771
83
165
824
588
892
718
11
421
857
463
546
507
399
488
625
417
869
987
436
700
722
41
733
452
275
999
547
909
791
18
543
339
981
615
124
132
30
281
28
1000
870
299
78
652
784
906
699
99
331
880
32
21
259
403
786
262
311
822
427
550
791
529
980
45
329
732
486
115
544
313
114
85
189
358
39
319
959
139
448
108
309
552
478
328
537
27
431
713
911
945
374
903
785
445
107
120
507
311
513
462
418
295
541
297
388
877
375
195
139
908
917
146
92
46
325
556
576
184
208
678
28
289
44
657
227
232
545
342
745
181
947
392
468
114
707
944
528
827
640
324
977
575
348
830
291
167
652
637
152
855
873
248
972
893
987
716
343
957
105
90
882
967
253
136
999
980
130
402
722
984
390
134
44
379
978
378
224
864
268
842
79
272
15
735
613
605
673
854
227
148
216
656
367
104
449
901
721
595
686
728
954
261
824
717
549
912
96
547
536
873
174
369
752
714
918
913
818
41
758
614
195
896
601
805
517
100
196
87
909
575
94
541
147
276
688
360
313
854
341
812
90
601
269
186
928
547
674
521
144
781
610
467
381
215
205
584
19
46
124
752
812
114
661
135
478
182
411
316
994
951
257
806
87
266
312
121
765
526
550
8
780
819
74
211
584
643
370
381
686
383
418
330
316
908
268
860
947
740
510
839
558
253
92
1
454
283
124
204
105
329
602
526
741
265
495
623
369
107
262
236
465
911
651
593
855
320
612
737
195
645
227
460
6
587
850
643
469
904
50
254
14
358
537
183
311
292
989
368
416
22
550
398
684
53
867
871
573
801
690
335
570
101
431
515
345
295
595
938
640
102
665
727
564
782
832
539
732
342
962
149
115
650
329
137
567
369
914
515
731
559
545
888
444
647
759
922
813
211
1
485
841
712
736
798
874
827
90
349
148
569
882
108
420
707
303
803
980
316
26
612
374
478
250
672
783
231
14
214
352
898
152
963
685
818
424
710
391
325
664
564
799
546
299
485
942
219
202
137
441
263
657
955
237
283
150
626
962
534
810
811
332
121
599
61
158
389
745
358
429
504
514
576
463
209
114
516
303
628
469
825
374
752
565
255
911
967
349
221
832
551
467
553
524
588
656
669
498
170
281
136
957
34
323
717
145
62
103
588
731
149
181
315
613
13
142
609
249
452
453
586
39
407
157
477
325
925
955
306
323
815
132
21
630
321
866
6
23
626
684
645
908
377
224
872
156
724
999
213
31
513
555
876
592
441
300
846
230
907
249
809
13
279
129
922
79
51
616
142
640
136
938
837
73
143
728
887
173
25
799
332
874
944
477
898
677
525
209
425
557
946
459
267
342
454
288
263
446
980
614
756
344
496
883
427
367
617
735
442
259
781
342
511
391
977
258
982
729
643
983
11
418
815
980
202
351
55
522
828
172
986
584
907
984
476
989
942
432
672
128
111
937
95
893
47
606
956
895
102
745
715
657
212
949
633
231
9
485
763
596
852
27
356
291
826
849
164
953
576
261
484
813
29
417
69
768
697
613
249
329
246
854
671
596
473
774
98
457
638
969
606
337
360
405
331
164
918
861
665
718
846
294
389
138
194
597
817
169
651
487
419
688
45
134
778
137
357
738
965
782
526
439
600
91
759
854
903
151
4
21
50
743
494
771
994
576
29
322
731
263
745
445
647
773
638
679
213
492
73
874
778
508
785
823
638
429
678
862
857
842
822
96
560
523
638
328
528
648
195
882
989
517
923
257
396
801
797
917
892
883
251
631
854
669
638
466
625
111
60
898
64
826
772
565
52
363
178
842
453
101
646
777
319
282
961
910
331
388
299
175
540
950
974
345
512
832
98
518
868
286
502
694
27
309
914
810
704
393
451
539
316
336
938
711
16
623
426
515
491
798
549
500
22
383
55
962
556
150
907
557
712
957
846
780
674
980
214
559
959
843
128
332
859
81
796
855
197
405
894
471
704
420
449
724
912
831
567
16
6
660
720
471
427
685
18
275
401
121
42
577
730
562
375
428
374
323
913
349
321
626
417
873
257
519
523
782
324
37
616
848
76
841
537
589
350
548
124
919
367
971
920
611
850
788
250
171
310
481
17
57
948
997
236
179
818
218
290
280
983
237
376
81
414
409
391
60
266
349
784
361
38
348
516
580
769
168
360
145
129
832
181
569
750
777
750
113
600
739
880
311
553
810
363
344
572
374
282
484
53
76
729
695
981
502
894
18
505
33
763
519
412
193
375
461
779
858
731
834
784
893
914
524
210
164
966
248
749
339
357
788
563
606
637
245
908
237
11
768
850
910
122
648
215
842
286
799
976
94
788
341
186
819
621
440
468
892
223
603
764
51
352
360
765
666
227
604
969
276
460
921
810
301
107
919
680
698
368
889
932
885
84
140
176
973
211
19
255
160
850
900
290
207
271
430
130
39
599
914
296
868
475
11
315
700
51
855
884
745
157
287
905
14
302
149
848
366
498
480
237
354
520
28
338
501
322
695
267
26
823
410
799
659
168
458
163
861
850
456
951
713
830
52
82
725
861
863
437
56
772
366
394
979
392
250
984
928
102
200
816
149
783
202
206
803
35
257
221
323
118
805
407
1
15
252
89
57
381
764
991
887
919
861
845
801
885
429
354
335
32
473
580
111
265
309
363
329
698
926
878
178
590
911
786
855
846
715
753
431
401
983
286
474
797
361
924
243
715
498
855
225
41
898
918
6
299
950
772
752
904
690
744
92
776
811
485
797
279
41
121
476
341
210
999
448
853
287
502
31
162
184
653
805
501
349
376
773
751
78
387
939
771
932
597
577
864
919
875
296
648
849
716
120
720
855
124
941
1
155
567
90
608
983
409
291
409
70
584
907
162
162
658
223
287
882
589
506
873
620
652
700
475
287
53
916
624
460
641
328
737
890
46
689
310
387
258
459
826
802
382
418
838
233
828
767
52
555
691
892
55
124
448
413
529
786
400
630
417
361
439
214
520
401
879
837
432
348
42
443
559
166
220
36
195
159
472
179
284
952
395
902
553
563
684
318
138
65
792
70
711
596
478
675
383
388
349
927
318
11
788
795
95
291
785
668
344
189
291
375
56
495
667
130
298
338
678
455
745
382
295
173
580
70
214
748
817
420
653
634
25
685
445
777
786
693
897
112
937
736
163
696
802
724
142
116
167
718
3
950
720
45
515
334
26
963
267
167
883
242
727
57
101
64
859
921
286
410
640
9
256
412
428
267
56
235
577
119
383
691
88
188
421
163
363
993
694
393
335
353
591
351
326
119
610
702
11
825
232
374
755
54
553
319
437
618
457
879
554
135
174
61
83
245
499
653
69
465
840
326
370
658
516
809
343
208
414
740
491
209
181
47
276
453
639
578
345
542
988
195
423
170
667
796
956
560
461
491
440
23
544
738
992
849
678
311
389
76
700
872
239
212
793
301
414
632
732
121
156
214
481
114
509
757
51
626
859
863
480
224
378
235
180
25
159
847
655
503
614
982
756
579
516
951
266
541
701
193
538
726
13
552
358
889
561
732
974
896
724
352
451
715
641
541
127
666
89
722
962
549
787
90
4
592
144
313
22
94
374
124
600
300
747
834
630
298
446
247
199
659
130
122
305
159
854
91
736
132
423
925
669
948
618
112
273
624
982
17
639
832
11
257
884
419
667
559
147
80
109
47
506
29
402
837
566
328
773
825
550
50
649
782
278
603
332
205
334
339
660
907
40
57
425
974
624
111
608
564
89
629
765
988
846
776
969
661
160
82
798
808
763
610
771
232
838
135
498
115
670
576
561
509
920
626
794
167
407
894
220
388
718
937
355
807
747
177
974
434
476
123
735
810
944
230
223
818
322
455
102
577
512
826
49
833
439
333
54
446
519
64
515
886
376
786
241
144
960
116
125
96
677
997
808
144
993
464
43
921
249
577
873
953
111
950
954
421
150
542
534
595
534
226
662
89
726
192
160
811
370
428
807
368
255
351
925
744
366
166
291
255
553
689
855
134
274
159
302
651
189
62
848
282
153
84
27
328
253
93
424
313
145
502
432
673
844
439
187
502
534
901
715
603
709
468
239
684
132
231
298
290
705
279
25
17
299
477
472
587
15
295
367
619
143
127
53
320
281
875
651
846
706
602
673
809
102
648
429
231
179
991
554
292
547
535
904
358
453
662
893
126
630
666
49
183
559
592
215
925
911
639
346
580
786
485
302
13
650
837
377
121
541
30
573
855
197
760
768
371
250
856
20
341
533
572
205
212
835
35
61
91
149
329
531
960
595
212
933
145
677
587
151
304
512
682
481
718
957
351
232
339
314
15
457
879
469
577
442
190
810
41
694
331
293
672
212
31
335
295
767
661
33
706
763
489
328
244
7
715
381
299
383
715
354
875
978
2
237
379
696
644
123
488
777
251
575
271
902
211
308
765
786
532
469
831
243
530
195
453
714
577
961
575
164
336
501
238
67
202
693
7
925
171
869
651
394
970
480
618
635
119
873
78
928
487
257
244
966
80
571
206
482
983
63
752
14
877
903
505
719
66
993
259
63
702
498
547
154
802
299
342
228
663
673
277
503
499
62
935
227
479
688
540
238
860
107
892
757
563
561
465
478
387
92
401
221
25
973
534
549
178
942
717
794
372
92
406
862
524
65
925
64
908
339
847
940
941
7
672
735
121
422
331
732
532
489
100
134
558
170
160
559
827
996
419
504
976
976
168
318
492
333
831
335
775
898
355
806
558
850
764
202
993
722
24
260
54
228
626
863
365
533
262
508
201
34
526
601
242
597
837
313
546
446
684
43
369
603
847
793
700
836
468
956
792
573
711
22
559
140
288
748
429
976
314
174
152
179
777
662
58
868
419
837
530
363
994
910
749
84
639
337
314
460
588
230
12
806
590
205
814
344
128
601
175
39
27
142
858
905
73
110
762
811
64
98
731
548
73
205
894
140
798
324
854
945
564
829
983
61
928
517
119
991
866
164
235
286
195
410
1
107
237
978
727
271
726
439
863
340
594
816
95
767
620
330
86
931
849
517
80
130
345
731
917
266
87
804
471
965
795
249
192
401
15
922
196
882
75
511
313
578
416
577
605
438
352
96
136
403
546
656
183
545
351
477
658
627
689
465
247
907
339
307
650
691
332
480
362
283
659
686
624
470
649
842
528
630
166
265
796
884
279
91
382
418
133
290
916
311
572
868
948
680
466
964
126
974
795
591
703
586
312
732
239
714
969
313
973
604
384
359
74
860
328
292
938
537
589
899
749
76
582
964
752
992
796
942
85
400
453
351
563
86
818
728
489
877
189
112
441
430
947
12
993
474
10
737
488
701
616
774
318
198
701
627
647
348
25
159
125
584
796
31
988
236
821
234
829
7
72
106
476
270
146
452
648
454
304
555
504
314
645
921
749
718
493
611
705
948
278
837
659
165
14
337
805
852
987
709
332
514
404
485
558
901
586
234
504
300
735
407
5
227
430
922
244
944
793
749
601
841
702
856
843
613
500
923
959
589
413
184
426
288
306
586
249
498
421
217
948
718
503
630
508
823
78
232
453
191
652
401
385
334
321
363
747
291
603
154
95
648
291
176
882
69
807
968
592
660
817
799
93
304
861
621
241
365
342
723
81
782
527
155
500
638
129
628
787
764
640
118
387
749
818
857
56
75
654
735
748
688
683
397
827
481
748
476
598
584
153
475
756
294
725
777
54
777
440
148
401
357
141
891
628
343
356
479
377
867
386
116
902
115
642
179
117
683
666
877
852
516
407
825
143
57
97
413
342
738
491
8
973
968
362
47
558
78
843
35
85
479
649
287
400
484
252
46
559
784
811
231
105
600
2
656
305
897
974
37
611
874
283
482
10
126
35
422
446
515
457
184
223
782
762
445
150
373
486
863
182
793
453
57
505
13
122
943
322
139
369
154
89
560
688
894
575
297
377
126
928
96
526
417
873
111
537
137
263
679
448
938
496
777
567
621
695
264
776
547
153
847
409
744
247
95
790
723
953
449
339
806
88
356
685
476
648
138
344
831
953
140
354
758
797
56
712
830
530
32
582
260
750
327
37
471
327
855
488
957
589
859
118
160
787
393
294
25
431
988
432
746
679
121
750
967
720
630
157
362
28
259
806
96
422
871
946
126
106
696
346
705
257
174
905
698
252
580
94
566
362
619
489
923
543
634
989
600
35
867
269
62
581
493
641
838
450
756
779
331
920
609
686
46
488
717
897
753
906
533
120
610
79
438
469
551
934
623
952
559
706
438
136
572
412
473
754
830
953
486
565
488
935
620
942
142
250
50
544
751
451
326
862
96
207
175
651
543
424
487
23
354
186
498
449
222
286
974
63
22
998
299
414
978
666
949
257
592
872
784
61
712
200
958
676
58
98
7
964
364
913
863
316
75
973
126
634
170
463
898
776
264
967
903
462
614
747
406
328
37
222
634
179
26
664
67
445
546
818
925
546
98
26
652
140
628
412
5
228
786
909
611
680
848
171
481
57
338
953
51
512
19
133
735
149
454
380
899
491
795
391
364
568
784
755
297
733
217
743
359
512
290
755
538
671
305
716
934
210
175
470
93
168
85
80
197
2
397
998
518
736
642
280
68
300
982
359
311
227
72
408
136
389
643
3
4
548
446
613
379
277
430
416
45
259
146
106
915
47
410
611
278
111
197
136
213
426
604
508
59
877
436
596
444
517
681
484
320
42
658
145
898
911
138
611
129
200
82
1
631
631
958
341
536
220
760
780
783
612
985
676
781
532
790
52
235
683
505
67
129
106
449
483
531
250
767
595
923
955
597
726
240
143
435
170
618
248
992
445
189
327
211
789
873
360
340
124
239
438
117
117
994
450
237
545
527
358
166
904
274
389
330
91
353
267
425
22
33
127
332
266
142
906
696
122
416
821
743
67
150
978
310
202
239
327
399
115
839
920
766
587
442
864
205
684
105
489
212
98
944
941
667
18
775
869
1000
440
954
890
94
594
59
266
802
53
42
571
563
208
873
183
30
975
510
87
43
42
214
848
548
460
878
593
253
104
13
489
914
397
520
534
153
675
139
421
628
769
772
880
152
677
482
150
152
705
33
211
416
85
293
948
660
861
695
712
879
798
200
608
775
180
918
429
832
596
580
344
775
278
583
354
178
86
215
21
11
989
944
183
753
786
406
206
516
829
803
815
290
732
966
707
49
405
249
940
918
252
774
594
70
43
256
281
286
819
815
885
367
135
706
342
700
103
880
360
336
1
626
721
855
633
351
219
154
264
688
342
62
706
747
527
319
20
283
173
48
447
963
662
312
316
716
267
720
153
364
224
358
707
315
207
484
316
178
101
533
918
516
295
7
985
849
666
692
869
217
53
506
340
278
299
972
591
958
876
955
638
138
691
847
799
719
923
801
924
675
648
983
142
397
564
71
137
682
339
365
408
257
989
968
531
564
208
456
178
905
779
331
525
674
991
358
737
595
552
557
411
344
563
224
225
903
997
875
530
289
554
402
322
87
881
50
833
305
961
57
971
676
867
913
970
445
194
252
923
81
223
307
289
88
271
733
110
297
746
330
401
587
128
898
123
975
499
971
202
413
230
700
312
435
170
513
496
983
962
453
281
407
167
321
612
579
493
811
794
560
743
865
665
51
74
365
357
105
766
95
351
226
984
645
13
46
952
546
418
191
561
469
93
861
634
758
216
881
53
912
969
666
419
906
959
651
222
368
61
172
299
731
613
754
924
436
623
979
59
136
524
900
108
645
78
7
51
81
210
323
955
221
923
117
683
615
950
33
105
413
473
226
188
167
58
176
184
101
952
459
517
473
995
682
83
684
729
147
434
732
716
623
695
472
681
713
144
862
882
957
85
87
986
754
38
973
854
587
267
602
841
872
383
420
590
905
77
404
896
43
47
44
854
254
833
28
403
587
582
464
381
980
737
445
361
29
253
540
886
998
239
535
179
416
843
368
65
47
804
753
615
878
317
415
985
73
803
208
27
481
674
664
504
390
474
645
183
698
572
876
613
577
172
82
177
9
560
342
854
254
349
74
195
470
994
723
201
187
987
857
167
275
968
860
45
392
432
839
568
621
856
650
191
154
838
209
889
436
272
361
997
147
679
613
549
745
557
1000
59
80
31
174
258
761
106
591
81
540
596
310
121
966
123
483
829
959
648
118
980
756
642
39
311
886
392
284
777
447
885
345
576
984
411
787
950
680
296
765
779
426
180
857
147
545
836
496
411
628
846
945
748
958
356
449
824
477
728
683
1
105
158
97
465
496
249
81
757
991
39
141
445
609
261
437
104
407
435
102
352
442
952
713
393
857
472
220
446
331
818
348
445
250
26
254
626
459
386
766
948
406
100
60
826
805
653
49
317
682
129
49
721
832
453
530
541
254
18
901
899
76
194
274
771
879
13
140
884
75
692
709
694
166
731
430
662
319
43
874
930
665
927
716
596
120
747
40
9
336
840
565
892
613
540
675
661
174
186
324
979
285
639
6
466
66
148
953
488
727
364
661
118
164
929
656
688
516
334
123
831
330
703
665
548
429
699
995
646
465
59
791
804
386
117
310
678
741
252
609
686
816
433
366
545
84
855
390
198
371
260
845
525
408
638
139
84
156
927
174
198
444
759
357
897
902
499
400
583
187
604
385
787
764
822
40
68
273
840
449
932
669
806
659
616
835
540
771
732
379
399
157
52
637
435
345
176
712
962
15
419
543
646
261
20
578
995
965
700
613
463
673
670
773
434
854
404
380
19
793
920
696
962
661
799
115
919
496
934
417
51
920
804
119
178
436
117
776
685
43
816
356
37
750
775
428
979
258
986
964
496
742
697
28
143
182
712
460
637
142
72
965
500
241
381
672
80
813
365
321
525
432
611
718
143
10
60
1
90
183
526
564
553
569
411
180
398
264
834
983
773
626
593
519
296
29
716
938
285
730
904
811
924
438
805
720
417
474
902
984
921
630
776
369
531
995
634
646
625
7
306
189
675
968
339
584
998
96
439
408
6
940
283
905
204
648
608
280
586
142
606
738
77
737
845
178
380
114
341
675
913
832
955
491
521
785
981
376
304
83
645
356
203
845
258
15
972
319
920
549
757
541
19
490
804
481
224
60
755
253
335
576
546
492
122
178
227
461
257
447
868
787
535
120
315
973
849
238
757
16
797
508
947
517
393
581
433
625
49
252
368
77
924
277
264
336
750
631
611
566
464
551
370
739
314
625
226
714
634
539
884
501
152
804
873
279
503
963
70
921
629
316
584
946
848
140
763
823
713
788
799
522
195
773
830
25
334
169
494
300
309
188
607
869
716
842
991
694
8
947
540
559
211
539
272
521
456
15
451
282
404
857
893
526
327
898
175
364
495
443
822
36
483
441
490
937
247
130
774
831
65
196
579
868
4
589
899
621
134
550
453
925
559
289
878
716
266
33
61
431
882
816
782
780
736
481
33
878
986
861
257
752
196
977
278
264
449
416
885
328
978
754
866
112
351
985
782
592
428
478
935
435
669
860
788
678
915
596
556
115
368
764
818
560
401
657
772
453
736
409
197
345
724
804
263
861
715
770
90
683
985
852
357
942
260
129
324
144
688
617
326
454
975
187
213
691
520
447
185
882
580
794
200
604
924
107
450
612
935
103
404
467
852
459
564
951
683
187
409
87
347
600
937
473
750
441
867
457
851
402
821
433
237
293
753
116
373
605
469
240
474
44
355
539
924
916
289
219
240
888
331
401
859
766
943
159
448
393
407
843
11
668
609
381
778
22
560
86
784
339
854
318
59
474
762
33
571
22
827
837
401
900
611
690
167
679
733
797
353
300
448
546
55
978
791
589
607
649
770
264
718
256
134
628
17
555
45
287
370
881
354
53
946
490
234
250
741
684
666
108
226
907
629
276
832
399
869
960
231
794
822
551
758
271
590
925
850
449
886
764
100
272
495
349
366
545
119
303
384
592
447
634
522
787
903
292
608
330
794
137
284
684
543
859
936
574
259
949
75
282
139
220
978
276
138
768
503
858
841
477
278
611
759
378
841
924
67
203
925
748
409
453
793
56
504
215
411
190
189
688
306
362
993
126
150
141
504
484
452
648
612
537
290
538
140
693
641
566
552
5
718
706
142
133
703
309
608
120
395
791
945
891
584
646
379
331
430
411
466
633
699
346
494
369
522
184
119
415
194
305
458
382
677
79
950
740
644
911
949
149
330
753
360
831
962
449
639
987
287
293
111
382
524
617
882
208
112
65
588
256
792
425
842
246
861
564
509
880
954
46
902
817
315
465
545
317
338
418
428
714
90
282
563
261
639
644
222
119
288
336
439
437
209
488
251
531
567
923
656
148
946
525
478
677
781
892
141
956
538
744
881
21
589
33
47
734
91
652
987
734
669
974
438
580
407
178
509
238
438
482
83
333
434
932
918
681
422
381
824
667
648
626
23
974
662
481
209
23
401
688
900
228
814
211
359
842
493
391
757
727
832
878
280
862
499
35
546
786
366
724
61
444
599
992
428
116
299
214
679
188
963
649
409
552
29
223
363
306
929
575
733
265
431
56
725
506
509
431
863
808
607
463
112
367
998
457
134
634
843
95
893
448
692
561
407
916
414
62
626
616
987
321
312
815
113
517
327
327
393
455
899
532
676
454
290
866
212
549
800
779
483
137
159
758
911
107
210
517
166
840
221
864
462
206
291
84
58
814
122
878
162
332
811
65
576
674
462
232
701
166
120
536
984
620
973
634
506
403
778
525
134
163
246
734
626
881
426
814
118
298
208
657
674
580
730
445
951
283
802
384
600
296
484
542
687
467
587
226
316
33
189
310
615
820
208
880
436
412
717
329
430
118
946
801
659
663
863
497
516
930
803
875
554
983
885
255
740
863
828
648
780
317
363
928
411
713
646
573
994
872
945
325
279
465
396
41
989
895
837
938
733
314
525
163
799
539
88
371
593
130
163
549
831
850
35
846
128
41
18
582
255
182
457
917
211
72
12
902
197
592
301
735
740
997
104
114
497
16
34
497
732
847
19
940
47
273
981
932
728
740
825
314
982
202
205
933
402
958
582
149
250
478
774
710
525
457
503
773
317
917
503
68
674
224
346
269
37
305
488
679
331
162
996
205
958
70
26
456
267
428
426
493
566
337
743
398
353
405
521
373
268
163
27
513
201
723
440
745
97
17
81
689
269
12
513
350
440
794
186
619
328
318
833
537
288
912
13
154
445
337
45
599
784
309
51
680
852
927
7
915
96
368
492
406
381
534
295
399
872
93
161
649
328
492
754
978
801
67
304
505
902
351
559
97
56
11
341
500
662
669
480
488
630
975
891
96
575
941
325
689
838
488
674
161
591
591
746
55
507
184
100
762
883
199
891
242
615
740
648
906
152
397
589
410
410
148
353
78
621
105
32
635
274
642
982
701
642
29
164
254
841
817
748
875
34
604
226
148
163
748
620
7
565
802
175
192
913
162
582
207
205
488
921
366
920
951
411
543
67
240
605
252
545
596
806
535
161
814
358
930
661
286
958
501
360
685
260
481
275
790
891
604
234
327
449
611
38
385
144
727
631
173
596
123
185
383
643
537
156
414
193
219
657
67
835
347
947
82
363
886
437
83
419
636
385
70
159
843
360
580
256
359
639
44
540
784
925
670
287
383
180
387
505
923
871
984
548
682
680
635
70
59
541
390
605
154
907
60
59
658
302
177
998
154
550
328
907
696
547
238
523
138
84
418
943
239
28
73
439
995
91
217
847
9
573
646
917
964
671
468
252
420
419
413
337
225
845
10
677
816
716
55
243
537
88
462
282
918
941
732
46
538
387
797
111
690
262
893
820
570
477
481
813
145
115
963
741
133
139
79
34
797
511
434
40
343
706
544
933
775
845
186
524
2
181
572
545
816
226
64
2
146
600
731
924
639
601
29
212
177
542
277
302
436
186
432
66
951
925
827
693
455
976
202
297
432
487
328
667
941
361
5
848
772
596
987
250
888
99
684
578
941
281
96
147
374
193
507
121
247
632
918
751
443
411
53
976
396
957
73
647
784
495
761
162
916
350
83
570
692
308
459
22
83
557
22
11
52
457
420
7
712
288
425
945
328
145
740
518
408
371
900
374
803
277
97
143
161
381
106
656
555
103
187
875
387
661
39
809
902
891
387
124
780
858
772
266
313
424
451
633
591
375
114
775
22
327
282
607
193
393
830
405
824
500
92
647
49
343
367
869
805
168
484
322
444
984
254
611
983
333
279
454
601
472
605
378
101
628
112
460
27
75
399
217
72
859
128
317
223
418
467
127
788
744
300
995
112
414
348
791
312
626
190
440
792
259
465
134
671
174
194
424
490
154
265
626
742
346
577
865
820
639
284
566
973
124
840
435
714
682
276
783
931
806
238
540
638
920
864
485
898
865
470
7
955
699
368
180
28
639
879
62
545
804
744
911
781
387
679
425
59
28
807
236
636
464
27
604
401
960
173
674
317
649
997
731
317
667
575
568
20
885
734
505
194
125
502
572
378
954
362
92
439
578
325
228
153
858
434
47
49
201
333
323
902
925
976
602
232
712
361
4
85
912
435
901
200
839
942
832
376
610
64
3
490
774
132
265
151
746
566
754
425
12
476
242
393
182
28
836
590
229
747
855
508
680
460
605
423
75
416
296
788
771
487
516
293
44
12
544
504
472
984
246
667
810
804
499
871
895
724
832
253
664
481
521
379
998
317
408
197
967
750
576
221
10
16
377
734
736
36
450
803
296
165
92
879
787
703
738
584
675
365
395
33
59
475
564
733
474
631
570
621
17
987
240
332
824
122
567
111
287
628
318
120
978
217
565
43
910
119
747
21
660
6
209
927
857
489
90
932
727
485
105
107
713
383
1000
523
654
16
405
986
659
869
432
21
611
847
556
197
152
181
275
238
162
739
562
591
952
65
375
310
846
12
323
169
389
655
155
896
156
551
893
298
7
57
282
826
703
573
737
845
986
71
96
433
564
216
321
82
994
713
751
54
93
236
610
472
341
480
288
452
725
376
316
712
609
521
72
126
515
198
970
633
124
146
331
769
462
435
152
829
936
343
731
346
869
163
468
122
193
240
200
538
260
340
91
233
47
676
469
541
635
515
967
266
504
311
15
455
64
758
996
874
842
951
388
750
912
119
798
213
507
19
110
552
188
144
865
56
627
334
612
737
819
281
203
673
530
642
910
64
835
201
793
344
930
557
990
847
764
344
440
617
652
851
94
889
735
244
862
677
58
264
365
684
72
430
78
432
563
256
577
114
391
951
453
190
884
382
877
127
475
831
956
33
916
218
777
143
443
8
485
246
383
2
826
174
976
539
326
434
659
434
692
890
643
153
83
167
397
290
588
123
561
421
666
276
868
793
276
560
943
113
163
178
149
909
75
580
282
543
676
807
557
994
612
518
197
934
458
59
979
467
248
802
210
135
938
826
979
442
393
731
977
206
450
2
838
481
183
870
736
701
765
79
920
910
195
296
998
683
747
171
4
361
189
198
746
774
718
615
477
469
59
550
664
799
372
477
544
911
468
868
162
814
299
600
825
189
865
263
222
576
484
52
14
859
838
304
332
754
323
80
470
112
20
410
26
429
26
939
896
895
997
770
801
688
463
213
499
989
930
27
426
361
794
480
273
732
843
209
929
202
472
449
304
292
787
652
755
59
434
916
240
693
342
905
887
852
581
170
311
992
150
841
941
380
865
693
563
309
451
484
504
289
572
288
182
609
825
271
231
731
631
977
62
440
586
745
485
521
30
300
13
27
553
925
520
848
672
870
243
417
143
821
489
829
260
297
22
587
993
858
801
468
25
843
664
703
575
173
572
817
399
432
222
941
506
44
228
387
952
864
543
568
510
920
490
115
182
350
580
178
242
807
289
430
988
743
96
292
428
992
370
227
902
61
169
722
28
333
595
797
424
179
123
386
384
627
240
12
33
791
806
500
552
764
777
316
707
18
327
322
285
688
927
326
37
267
679
871
358
372
5
88
268
209
870
299
216
321
813
295
842
979
462
840
128
323
615
19
282
981
673
516
317
443
957
741
499
885
418
23
776
509
347
758
845
712
950
470
711
555
79
244
510
81
989
899
839
980
701
524
79
19
478
771
981
400
913
363
339
924
377
820
667
439
905
323
669
545
113
981
703
939
412
482
592
113
613
292
915
334
995
69
320
956
36
965
522
172
328
819
378
233
613
33
839
25
508
92
637
646
242
269
286
280
649
65
339
240
720
290
885
534
292
542
940
651
769
16
727
606
396
181
865
425
240
934
91
378
923
195
495
264
156
813
194
969
296
826
977
315
462
820
772
981
242
139
681
862
653
193
936
799
802
939
391
43
665
917
29
176
501
867
568
440
659
62
434
620
989
963
251
673
622
712
535
279
623
262
441
348
900
674
290
353
807
211
48
979
79
374
137
248
75
970
730
741
847
625
160
957
200
881
205
180
734
197
758
431
856
677
876
228
876
358
241
897
585
212
842
141
197
810
90
388
99
774
627
237
655
703
808
952
196
284
219
521
441
652
599
296
782
917
244
583
284
922
303
844
797
967
351
379
245
223
323
441
53
986
154
739
660
778
473
210
246
511
300
746
114
598
976
284
676
932
507
320
590
130
59
402
433
281
641
643
202
719
850
620
79
26
176
273
136
540
539
612
79
136
610
66
712
947
15
307
523
995
676
271
699
398
416
843
891
952
422
414
288
390
328
87
883
558
504
818
349
77
562
198
593
797
262
894
898
499
736
981
537
855
415
555
881
596
109
11
308
236
462
363
701
432
379
774
878
267
115
282
117
309
395
306
813
297
345
141
405
690
1
75
929
139
884
179
946
113
456
87
148
566
249
275
611
520
153
462
579
888
628
738
603
672
572
961
97
939
221
759
649
588
703
210
929
9
844
900
679
165
364
598
29
514
898
217
396
426
147
101
251
481
29
902
376
52
937
512
598
121
53
536
591
140
212
812
60
58
998
328
504
355
582
685
813
10
319
958
131
896
273
391
801
964
641
868
705
968
521
517
967
171
595
135
856
669
62
310
651
473
595
283
424
479
207
611
933
806
620
634
328
768
176
604
927
891
351
84
115
11
675
887
316
443
228
398
92
623
897
588
616
430
278
403
187
591
439
528
978
193
775
672
927
347
799
659
511
475
81
589
186
527
449
266
420
656
244
880
588
568
665
681
467
751
180
997
718
311
587
486
528
967
529
957
533
26
202
448
265
874
515
493
609
547
223
676
183
486
386
647
138
441
56
732
590
808
277
157
798
382
320
697
234
641
567
248
905
156
629
412
627
711
68
705
482
978
585
398
338
403
629
321
152
42
196
186
763
674
982
107
984
482
176
49
153
917
916
853
698
173
825
365
908
859
114
919
868
34
460
116
410
768
220
374
26
781
592
244
926
529
995
818
791
282
315
865
330
398
614
540
448
964
605
568
683
469
456
844
592
923
493
299
923
166
964
667
749
680
321
561
203
310
406
856
117
758
524
922
632
553
616
716
817
495
669
58
442
242
53
683
293
776
678
842
857
6
757
250
773
615
473
198
172
618
36
495
921
747
473
706
829
936
957
836
76
677
672
219
482
964
991
868
729
840
236
955
356
353
377
405
126
816
846
819
386
869
42
70
147
761
217
931
929
649
164
77
849
495
538
610
53
282
710
40
327
906
748
297
688
25
515
935
775
612
884
147
142
697
761
585
903
41
955
300
760
61
916
259
100
372
32
41
754
732
471
278
984
995
529
364
451
931
64
716
241
429
875
657
502
609
815
568
889
873
32
514
806
768
955
8
373
799
573
892
180
18
88
587
119
294
267
130
31
663
656
481
462
40
386
533
564
887
450
178
70
142
193
540
283
817
247
181
280
203
302
698
813
538
895
620
976
340
893
934
312
335
445
874
910
55
964
862
985
742
145
563
604
144
92
121
480
165
395
528
242
68
404
964
173
166
974
669
174
455
721
613
631
677
146
738
953
676
71
90
746
717
453
464
23
648
42
538
336
396
297
620
478
309
668
248
210
278
626
891
510
428
817
895
989
372
320
659
469
688
280
718
177
340
104
74
654
199
25
627
277
692
61
10
243
894
311
484
951
30
94
789
11
454
638
37
507
649
910
762
714
709
717
253
225
30
350
140
297
685
941
33
297
41
161
656
319
717
42
553
393
890
542
946
235
314
907
706
134
125
28
756
430
688
753
410
975
245
567
326
154
140
119
734
290
709
854
587
752
717
379
114
653
410
270
6
821
812
745
126
607
893
989
222
214
648
947
561
424
889
102
815
7
810
66
794
638
953
838
827
844
253
220
678
361
260
196
904
296
461
50
457
657
866
599
165
132
689
237
434
494
968
374
164
637
457
478
380
35
986
161
558
389
724
654
929
302
503
575
349
122
413
126
440
469
362
692
802
581
229
383
66
312
485
216
415
511
922
489
26
582
197
388
544
166
443
35
305
320
125
972
555
998
649
564
278
386
954
913
609
406
505
661
1000
721
602
483
449
702
932
179
143
107
611
5
795
676
757
296
818
454
813
490
221
414
410
373
780
871
552
758
613
259
318
803
738
57
38
893
593
66
163
329
782
759
610
86
492
130
422
517
134
341
982
238
764
452
881
357
744
716
749
857
938
222
33
191
440
168
725
128
476
673
545
426
648
834
896
203
150
692
222
742
895
857
56
60
801
837
130
749
597
493
410
511
595
662
821
299
873
684
709
186
134
480
827
916
363
863
706
583
40
964
842
47
293
15
993
505
880
240
286
85
282
271
513
478
533
353
162
383
613
537
307
974
369
258
381
711
975
939
282
524
857
729
991
857
901
109
66
52
459
827
982
339
396
568
240
11
925
833
589
428
495
730
505
161
356
771
266
941
725
306
582
55
642
938
773
513
740
111
890
583
141
66
30
302
578
560
317
143
718
25
682
338
312
364
616
274
497
201
536
963
60
189
249
846
945
950
311
91
613
313
702
109
153
773
364
210
145
542
607
219
423
98
321
376
766
901
182
48
526
825
797
614
891
877
824
367
249
22
616
467
673
228
887
738
78
417
218
625
982
631
949
691
160
579
182
861
670
688
125
25
872
941
23
713
110
57
216
307
637
45
710
636
252
731
756
906
840
670
565
564
678
728
249
145
956
723
478
107
393
727
155
400
258
47
608
822
350
397
415
224
711
538
2
281
935
456
578
845
928
212
801
882
915
726
821
594
282
122
964
617
567
697
417
123
562
266
680
243
1000
377
456
466
762
884
903
585
885
443
854
309
883
778
677
897
103
965
977
10
850
572
180
524
31
221
402
246
922
24
661
282
466
375
639
328
188
820
705
303
419
31
849
547
30
466
487
275
273
943
870
111
661
186
947
285
36
391
92
521
93
974
74
745
685
998
992
461
160
177
698
81
833
4
367
528
455
280
497
154
208
271
583
398
291
761
118
622
691
533
371
252
52
175
603
701
887
664
988
537
548
868
544
16
476
988
783
412
242
941
639
530
837
885
471
442
442
386
571
716
667
233
673
387
856
521
406
478
606
440
511
158
85
130
901
482
77
96
316
275
947
933
434
883
867
501
750
416
732
314
460
648
146
604
888
874
749
413
670
929
946
119
71
18
784
7
291
190
320
823
564
86
339
806
188
58
676
323
339
888
740
71
707
91
18
810
513
255
515
688
423
924
92
557
269
313
614
97
225
510
668
189
278
922
372
729
417
396
447
2
951
849
301
822
755
253
337
830
59
515
89
795
593
117
72
252
515
405
411
538
574
39
437
142
389
452
424
289
538
111
557
846
436
5
48
986
560
72
16
487
700
184
411
225
317
942
772
182
992
728
54
244
194
413
126
195
290
653
773
548
800
923
215
274
365
313
207
97
841
652
780
710
180
682
532
184
504
874
195
886
875
955
878
400
791
380
986
327
365
787
332
338
469
935
347
525
878
763
641
923
576
963
366
62
964
918
970
520
639
928
977
794
791
404
346
196
51
115
852
124
762
623
629
817
267
766
739
617
772
417
144
828
749
777
972
505
643
141
321
901
845
420
148
816
540
704
969
823
6
788
211
180
425
914
38
272
48
929
420
558
841
696
984
384
350
865
958
424
584
35
109
243
196
967
147
169
59
701
473
702
662
379
532
740
373
114
262
165
741
459
302
798
469
915
700
238
614
436
796
897
839
73
896
384
270
745
81
462
638
623
218
985
865
750
842
592
228
361
61
442
529
799
67
940
468
67
140
227
530
831
271
212
292
109
640
13
965
993
240
34
384
491
866
284
426
959
546
218
989
692
240
79
288
922
304
698
170
864
762
741
576
467
929
642
68
232
296
844
555
767
860
527
942
776
304
669
493
826
506
188
66
520
873
886
267
718
898
106
772
17
172
335
725
25
781
463
182
863
679
46
998
944
134
729
454
317
808
899
175
755
367
803
558
360
789
559
26
618
668
974
917
778
922
597
688
896
249
226
445
101
566
919
501
482
478
650
779
474
466
918
410
799
130
992
775
798
301
983
618
478
251
597
546
724
553
261
411
874
367
276
615
327
53
818
324
917
38
859
959
547
844
590
88
976
978
459
24
718
192
779
27
707
246
714
981
790
885
570
824
94
236
525
802
47
163
332
843
126
459
66
933
431
906
691
427
838
349
77
633
775
940
111
848
649
595
712
270
560
569
890
836
228
717
467
123
995
701
713
859
326
893
954
504
531
183
147
591
288
267
534
231
118
203
736
227
209
227
91
773
800
872
580
583
928
385
457
600
478
362
549
156
330
264
262
553
922
194
523
563
647
912
226
275
363
551
304
39
735
941
164
10
245
728
96
926
516
732
222
319
977
87
690
312
56
782
120
508
760
110
761
266
974
444
408
828
820
446
913
330
150
544
22
747
638
29
365
196
926
609
640
831
997
666
430
759
275
700
630
57
941
678
174
940
629
85
585
591
960
474
907
994
328
243
737
335
8
167
394
194
898
937
755
803
162
601
928
90
622
335
699
117
16
387
679
758
94
438
157
177
147
826
932
715
727
278
824
307
217
833
134
434
423
645
50
926
564
207
891
623
848
323
125
44
351
886
293
700
37
64
319
641
604
31
232
146
267
810
944
214
736
54
598
644
429
883
965
64
366
969
492
205
325
136
926
106
535
659
864
678
633
308
203
257
644
935
209
344
461
62
868
716
690
495
223
511
727
461
673
661
646
153
557
277
801
845
924
193
46
936
69
903
130
374
273
552
135
934
216
460
794
706
680
926
137
998
482
678
205
556
93
392
497
656
983
180
405
129
581
786
159
866
647
512
665
650
972
574
232
455
615
665
353
495
238
998
608
374
753
992
269
661
165
65
376
118
419
715
903
542
78
173
106
937
890
438
332
281
620
432
345
688
75
344
707
161
880
969
892
452
428
1
531
782
373
778
703
275
195
954
200
23
651
912
492
643
385
529
503
1000
554
63
365
568
126
521
39
541
384
848
72
372
283
700
760
894
509
321
710
565
491
299
100
659
171
549
952
403
998
926
389
195
528
271
138
2
961
552
521
975
176
960
812
125
88
529
67
633
697
828
537
990
774
792
303
699
980
586
62
730
119
681
862
243
354
998
187
359
485
53
950
937
784
534
893
351
472
620
351
256
664
680
582
214
465
672
669
815
973
690
502
652
146
630
521
77
804
852
686
192
620
91
621
926
551
546
997
381
39
294
989
834
262
661
103
927
872
187
716
617
931
167
468
377
228
515
9
18
750
893
686
226
855
611
465
602
592
808
747
533
729
808
784
703
233
359
61
446
366
654
378
412
102
671
330
217
252
358
581
845
562
653
585
586
47
128
419
174
999
310
989
652
437
352
147
168
234
821
222
576
805
769
7
222
38
175
545
750
85
79
921
124
752
417
854
281
474
657
67
39
302
809
331
907
873
296
552
448
107
454
506
712
213
161
635
40
674
182
818
248
60
371
211
781
871
753
10
935
139
897
511
669
176
673
929
837
678
687
217
883
399
181
583
199
707
209
468
348
665
196
514
338
716
822
445
928
654
290
839
764
317
669
504
746
399
970
520
638
788
997
54
377
132
843
723
936
671
98
651
880
964
434
317
924
791
288
999
937
414
743
871
814
359
600
831
555
60
808
714
715
49
118
858
101
822
851
897
236
187
128
267
630
660
794
143
357
454
510
449
768
692
197
104
439
745
55
938
618
18
926
524
470
80
613
751
446
756
92
123
926
708
275
594
118
58
66
300
853
801
994
634
540
146
629
974
33
384
322
811
581
608
537
154
349
388
207
873
219
502
80
62
711
987
1
609
903
13
408
899
161
593
124
980
362
702
691
583
11
166
50
107
355
601
417
39
134
732
540
324
95
691
362
873
775
253
311
744
343
514
49
517
484
242
544
61
402
946
736
170
40
765
929
534
501
409
245
126
490
738
162
359
318
29
169
309
640
637
65
890
612
514
266
107
644
51
770
422
215
773
99
836
523
690
629
480
869
548
197
412
754
761
777
827
651
570
317
61
271
850
536
652
959
15
594
157
507
708
71
642
319
279
621
517
328
586
980
893
485
342
782
732
985
4
746
866
572
239
369
364
434
109
223
853
220
402
291
105
646
20
585
652
21
907
430
207
769
787
410
411
689
882
938
791
253
875
828
844
731
598
27
842
301
315
904
292
586
25
58
998
265
903
693
306
487
846
971
433
841
115
629
742
523
233
370
454
185
610
181
554
647
872
795
606
308
477
952
745
611
30
1
402
364
624
642
193
74
672
280
978
697
937
562
296
369
895
140
280
760
129
610
651
656
213
876
604
259
393
891
223
474
447
849
567
159
287
415
710
900
245
516
854
382
462
535
60
833
508
510
311
349
155
59
349
115
227
328
217
686
573
208
474
496
517
420
832
752
576
857
374
672
858
738
527
815
295
710
733
890
812
32
102
14
578
362
362
850
739
468
115
451
415
411
740
899
279
336
294
50
741
42
394
760
627
932
389
18
238
766
102
265
855
888
16
48
68
240
97
856
818
522
344
607
638
336
761
823
403
986
712
932
836
897
485
523
138
292
484
599
342
839
673
73
447
483
750
773
939
547
95
249
45
533
686
501
952
713
32
580
270
749
672
670
214
77
936
882
347
746
479
484
208
704
554
708
874
282
130
579
265
766
724
464
33
510
251
133
987
970
304
179
308
452
996
598
262
83
930
150
718
737
888
898
540
208
579
978
852
904
143
220
243
760
122
708
200
834
327
760
471
295
341
77
574
92
407
29
390
636
109
102
627
248
547
595
947
956
694
497
738
465
222
361
807
764
388
657
786
911
479
753
656
945
925
200
587
796
434
424
272
298
391
303
999
81
339
341
993
247
582
317
983
160
786
368
492
636
27
408
128
74
898
707
994
804
113
201
411
44
580
815
334
346
38
682
209
389
163
645
500
255
546
820
846
115
21
351
552
352
640
678
177
736
999
792
65
197
735
975
987
127
727
468
496
894
975
358
226
449
162
742
100
468
638
855
348
469
922
464
317
754
865
257
268
798
270
362
753
946
158
420
718
868
802
806
156
260
356
715
10
695
193
820
35
369
36
122
482
721
575
443
816
546
574
705
144
295
371
813
673
678
284
451
301
587
683
578
434
595
379
727
154
992
555
507
211
373
680
817
668
315
693
402
633
543
312
303
225
305
481
686
846
391
808
264
811
317
367
275
661
753
358
534
782
167
959
599
499
8
147
513
468
486
406
877
26
166
991
256
126
101
898
26
629
255
720
843
29
266
373
802
114
410
38
265
695
790
752
42
285
354
782
299
534
349
291
122
293
190
829
137
431
551
888
990
891
679
66
732
34
538
411
396
10
438
161
116
765
194
392
164
276
726
79
172
824
238
666
647
379
741
548
595
711
777
784
698
437
616
945
38
28
98
288
792
744
530
287
674
580
762
173
157
546
607
308
669
57
299
118
20
748
544
812
299
798
54
331
343
688
127
771
699
423
983
71
647
376
66
858
490
343
450
194
805
843
834
400
757
421
330
295
905
494
419
921
140
299
966
288
550
606
184
771
999
172
775
496
206
373
242
517
909
14
569
586
471
138
32
71
973
532
874
940
356
703
27
751
684
375
805
279
975
870
736
747
322
356
311
633
223
596
435
675
140
705
811
987
324
427
299
207
808
639
554
177
366
73
869
953
867
755
231
885
171
306
15
75
176
10
650
795
124
543
831
328
587
329
525
261
822
782
142
490
347
89
670
46
655
771
533
386
951
8
169
996
686
560
95
964
445
213
293
698
435
832
294
125
418
494
251
475
444
657
657
281
155
24
39
293
718
554
190
818
718
65
966
414
423
28
706
957
910
417
644
874
445
948
488
686
393
646
496
123
671
433
969
746
417
351
81
401
117
129
341
863
925
989
793
692
248
30
288
692
6
31
726
331
124
225
252
168
941
469
758
598
217
225
913
241
322
942
165
882
26
769
815
175
3
995
300
243
844
239
305
898
839
255
150
466
297
90
217
83
482
527
811
916
509
933
970
937
707
93
197
806
23
177
16
891
7
719
516
680
818
356
802
659
444
160
329
221
58
550
683
366
4
160
231
689
423
542
452
703
938
235
463
593
137
600
419
321
814
743
5
421
57
37
214
911
302
26
943
503
443
933
738
689
890
632
170
350
262
673
934
235
50
891
717
48
139
193
319
895
578
360
269
533
337
71
430
204
102
920
657
835
347
876
631
35
987
523
392
627
986
390
943
435
136
881
526
645
89
633
826
351
426
599
400
833
175
807
97
701
752
531
85
276
690
563
396
509
938
376
545
264
698
244
887
43
985
785
854
65
127
987
112
178
408
493
985
238
941
827
182
437
641
255
5
577
843
218
720
409
754
595
693
998
371
583
246
514
967
647
911
980
517
819
912
312
701
601
259
360
210
879
783
822
154
525
828
591
290
841
68
541
639
586
91
781
833
97
999
150
172
934
237
94
944
561
265
73
57
776
506
357
368
47
186
394
435
394
312
940
550
198
55
790
66
155
217
250
997
622
317
479
800
746
48
422
56
124
515
362
501
188
716
32
474
183
176
829
398
372
526
921
348
60
66
932
103
154
48
460
341
194
491
887
794
270
824
833
257
763
559
100
286
594
485
179
359
582
597
191
988
503
70
668
29
696
132
707
986
375
589
846
640
348
118
494
733
493
148
830
751
191
339
923
89
859
172
185
989
906
160
439
700
702
537
566
232
604
46
132
946
697
651
458
952
670
537
286
965
156
802
593
840
944
596
122
464
724
298
876
69
368
504
183
333
340
229
907
804
509
743
71
283
480
880
425
841
602
516
496
996
963
103
258
462
994
860
838
538
830
202
619
895
149
505
685
12
71
128
808
974
598
913
52
693
212
35
684
865
489
179
233
131
40
498
459
988
614
704
503
968
985
945
664
470
83
835
120
443
919
105
365
768
10
883
333
841
402
515
953
308
882
198
359
358
643
400
109
268
493
234
530
134
687
461
752
852
579
773
73
428
610
389
68
679
573
728
221
186
730
140
954
155
94
223
625
487
115
282
441
920
98
843
262
596
895
960
954
762
802
262
301
631
156
282
464
589
797
655
638
61
438
177
885
329
996
570
45
535
94
19
291
878
292
202
156
787
45
586
778
446
92
223
736
587
687
128
62
933
112
614
940
990
977
618
148
172
71
153
528
370
973
476
635
183
192
511
231
970
329
315
510
774
652
111
735
966
533
524
501
120
357
177
983
273
904
713
317
174
717
668
761
593
604
348
374
32
293
996
761
433
204
111
821
601
464
723
592
83
561
788
956
203
517
660
441
800
26
741
367
956
799
32
332
678
261
256
374
64
821
652
211
943
174
328
608
373
472
263
290
668
752
676
802
798
716
490
372
138
794
45
144
501
446
62
118
358
843
82
748
911
356
246
438
442
804
364
95
980
7
647
503
869
39
346
524
251
456
832
40
845
953
304
90
635
110
414
907
266
337
564
392
990
693
559
127
3
989
566
186
868
465
66
855
523
388
575
878
58
102
459
974
56
434
69
216
762
862
763
284
819
522
133
774
543
954
886
485
25
480
380
57
392
231
791
425
664
132
222
303
535
625
875
296
297
498
535
327
840
946
243
758
358
928
9
970
938
956
783
185
685
653
757
8
422
859
236
497
286
551
950
581
734
592
686
278
571
138
569
493
615
580
128
142
536
47
536
947
207
824
61
556
638
525
803
562
200
494
270
570
358
710
186
750
616
403
223
166
675
717
996
777
103
10
767
185
953
786
778
102
841
855
38
29
970
29
689
813
449
557
768
611
86
538
337
262
467
779
412
247
780
869
117
205
321
809
768
447
46
179
354
47
839
632
32
823
392
536
795
25
725
661
432
560
423
162
260
398
568
506
899
163
253
639
496
988
267
429
437
436
227
342
537
645
994
389
110
895
696
619
123
478
29
799
839
83
835
491
976
926
112
419
422
480
735
886
982
2
156
6
454
980
269
684
585
297
443
623
83
128
453
79
941
571
656
760
760
581
311
47
632
13
377
646
429
508
465
923
991
506
896
406
818
865
945
364
341
478
459
963
757
772
964
215
695
168
310
816
714
441
631
51
724
386
142
92
956
364
854
412
35
117
819
532
21
706
915
996
67
522
492
280
425
141
457
341
155
196
452
639
780
544
870
754
555
747
355
185
744
291
311
513
495
36
671
875
493
86
864
613
540
658
471
51
621
551
542
561
823
496
914
485
654
16
167
19
958
426
56
858
613
228
322
279
657
518
833
312
278
929
889
868
388
300
337
977
108
517
908
787
586
919
750
619
965
238
739
157
256
299
542
795
85
624
767
298
984
599
809
162
973
133
138
499
684
576
848
844
134
189
274
8
616
678
345
989
824
94
138
7
482
948
787
913
255
507
502
592
645
66
954
486
911
449
697
32
786
121
612
640
921
51
589
816
527
943
771
156
644
485
767
271
842
70
113
109
913
800
183
762
300
684
458
638
597
612
728
739
429
110
392
916
420
859
482
169
775
691
394
468
193
75
643
97
433
137
104
243
916
891
340
382
117
668
577
69
391
719
855
851
63
544
641
402
301
836
965
418
317
807
729
490
907
302
408
911
208
314
783
381
811
446
700
646
62
408
112
376
444
861
805
11
446
788
301
870
205
111
378
575
505
427
546
679
447
628
594
499
190
612
22
282
708
483
768
262
419
440
142
607
879
1000
292
982
484
354
844
254
239
415
594
831
250
544
231
310
511
50
134
342
940
303
216
141
397
683
647
601
570
672
9
808
234
102
158
609
323
940
569
3
722
23
467
332
417
849
386
652
892
848
124
201
274
582
204
572
726
960
116
86
29
857
543
830
135
516
758
24
688
714
143
708
186
943
530
195
482
837
691
400
787
595
838
943
225
477
431
852
220
279
952
845
711
315
546
378
239
603
600
104
474
852
397
956
619
363
950
779
435
150
5
346
359
411
989
632
261
7
373
410
955
721
512
602
469
910
527
313
418
616
230
181
591
324
369
451
962
340
726
208
934
177
728
306
545
464
242
856
752
600
204
565
677
805
548
821
865
271
678
203
189
829
373
996
47
929
598
375
861
742
139
140
706
906
405
301
114
732
978
315
683
749
714
515
178
51
293
108
205
266
109
127
402
921
319
913
296
580
667
1
657
446
449
787
202
16
581
982
981
999
304
649
624
923
480
577
912
797
778
850
812
727
328
726
174
601
558
372
825
844
1
562
639
771
853
185
500
235
909
304
761
119
318
525
939
730
281
676
877
271
410
113
557
422
973
502
72
489
672
599
995
724
905
361
540
180
678
718
459
927
507
455
585
515
621
966
261
330
774
85
725
904
800
789
637
278
792
374
552
250
474
563
136
699
861
137
280
215
834
883
122
952
564
34
151
934
79
941
198
90
405
412
145
899
833
989
603
858
879
477
639
968
387
185
880
6
74
679
967
695
514
316
367
756
194
475
43
454
838
189
306
503
583
843
477
49
998
689
638
82
147
213
861
778
92
796
760
180
263
690
144
154
144
59
814
724
547
726
284
741
582
308
304
342
97
627
590
804
958
627
87
201
70
557
438
748
408
846
44
837
704
903
284
536
585
81
976
780
162
174
148
547
53
88
535
75
786
820
999
587
383
447
233
20
654
605
714
8
437
858
832
713
528
440
539
136
580
51
663
231
575
824
219
470
805
90
687
526
458
269
240
362
15
96
326
372
678
375
842
126
942
641
391
947
261
435
736
793
455
354
637
867
173
724
702
961
224
483
757
785
56
855
494
455
2
467
863
846
167
862
717
744
996
745
751
619
621
889
624
332
72
365
510
314
306
640
981
571
787
126
266
369
82
981
453
615
469
297
112
751
130
339
163
454
858
169
541
538
558
791
371
258
27
970
905
627
635
988
428
465
575
899
726
636
261
312
448
336
344
311
899
350
538
907
367
928
122
321
85
274
554
479
313
696
97
334
851
140
749
5
463
168
38
288
354
441
465
763
817
422
434
620
624
326
556
299
561
300
96
224
737
447
161
255
948
585
949
921
444
569
10
181
867
579
3
218
43
51
875
738
531
807
747
362
551
511
24
927
961
794
443
975
477
261
797
249
186
119
79
769
745
353
670
932
336
217
942
135
569
306
409
623
63
620
71
602
329
855
191
192
948
603
72
452
749
293
792
534
843
441
23
6
937
260
218
526
295
734
482
340
66
29
381
519
509
504
800
474
772
652
693
28
504
23
267
275
553
528
680
491
390
585
799
622
724
231
995
265
954
663
166
572
735
686
429
238
966
180
3
579
891
16
786
708
897
829
86
10
784
642
741
419
952
666
611
490
989
480
45
906
620
428
470
839
814
301
679
536
146
269
756
630
165
600
829
894
613
904
988
629
826
544
801
405
550
328
799
636
694
843
223
342
258
594
63
503
792
612
162
608
256
359
713
347
78
571
12
940
544
126
728
218
389
158
268
435
603
428
38
760
35
376
550
525
296
379
319
615
874
486
489
821
112
316
932
601
889
837
340
443
422
488
492
935
603
458
432
758
673
987
790
6
845
206
823
647
688
400
81
492
699
579
767
710
518
860
954
815
667
516
866
44
501
484
283
217
357
759
9
502
459
378
2
982
245
624
468
563
222
686
675
556
304
248
764
212
887
378
121
600
564
663
166
481
493
740
564
240
892
250
928
537
52
767
58
32
554
439
648
469
83
927
169
414
343
710
336
159
107
990
157
662
348
240
77
891
755
888
138
626
638
779
384
590
423
808
977
755
432
576
619
830
655
982
890
190
547
453
89
13
671
870
992
937
179
345
677
360
718
702
294
399
308
891
126
607
177
587
868
777
294
922
337
554
590
634
181
113
446
902
302
860
44
810
834
994
637
680
515
728
578
475
187
198
239
116
4
373
546
808
623
770
955
427
315
424
111
593
423
343
330
324
92
647
288
42
500
678
999
279
92
636
226
647
483
728
979
500
759
368
639
243
874
723
539
450
725
767
573
751
286
60
467
992
839
669
932
298
986
2
773
478
594
831
435
689
240
474
134
395
74
888
935
419
188
464
630
362
763
388
273
689
251
794
571
595
847
313
93
135
295
298
469
142
873
720
291
232
51
658
452
495
860
408
35
563
522
427
673
391
245
743
512
430
369
8
512
904
272
43
853
499
509
611
632
138
679
164
884
442
427
444
169
120
804
193
654
793
919
676
631
720
473
366
900
446
273
934
289
674
283
642
876
540
120
342
120
54
140
539
237
658
440
398
599
755
163
164
875
561
459
175
889
839
335
547
918
909
443
649
240
813
486
700
283
686
600
147
631
180
494
32
491
265
605
197
971
834
809
16
637
345
462
307
402
142
666
257
727
200
715
418
509
791
589
354
773
952
227
77
479
726
71
192
343
826
22
586
524
775
519
575
491
593
935
645
104
775
849
328
231
662
50
268
766
298
326
277
993
515
162
983
630
299
525
738
727
464
762
584
847
271
522
418
589
914
275
973
558
735
677
875
380
603
540
827
166
160
620
916
166
526
775
150
971
624
314
603
751
490
506
947
470
820
293
737
938
519
216
555
860
220
456
976
734
557
674
402
571
497
7
982
956
181
214
202
846
520
431
242
882
283
430
869
701
516
596
449
892
916
31
659
794
225
363
599
272
780
850
317
12
135
303
192
595
35
240
243
827
121
387
180
375
419
344
948
722
82
777
565
904
851
982
324
231
392
52
779
452
13
138
494
407
265
521
254
253
573
293
252
752
353
444
815
966
52
82
387
929
158
309
800
518
502
22
382
790
110
510
40
518
482
294
283
524
361
45
107
660
25
823
731
992
654
92
471
800
545
136
456
519
838
589
442
618
916
741
729
731
863
165
77
64
157
19
550
202
331
42
415
981
433
863
599
988
950
783
695
618
348
546
200
335
451
977
462
927
711
570
842
118
824
238
684
837
249
476
8
810
937
137
299
932
970
854
337
26
879
913
818
193
128
36
394
954
604
90
880
750
9
229
556
217
712
356
923
805
977
49
798
969
452
330
332
158
508
720
387
265
264
53
745
12
151
406
755
29
463
350
381
977
632
430
78
151
885
406
558
459
560
359
325
513
569
163
774
853
432
195
791
16
833
428
16
211
907
162
396
882
293
777
177
323
547
822
263
800
688
636
731
377
482
524
339
709
570
141
67
631
711
398
92
272
200
653
105
762
998
411
538
341
240
30
119
831
555
197
129
961
56
21
885
31
990
672
270
719
726
402
567
648
214
655
480
482
82
712
970
903
258
996
464
832
371
702
67
616
233
936
631
746
359
861
943
850
856
706
808
319
969
632
539
977
275
577
181
582
777
188
855
828
141
882
731
720
957
867
501
862
129
713
683
237
502
643
735
524
372
315
740
864
795
239
393
227
516
386
111
276
883
747
346
619
348
796
625
903
12
870
385
72
203
440
425
387
273
145
675
571
615
235
27
500
432
767
175
417
909
488
764
559
279
867
666
427
705
114
869
646
76
372
281
560
520
472
742
178
942
792
686
139
944
767
146
637
242
568
307
95
96
298
363
499
339
823
233
913
296
1000
585
679
255
645
715
203
190
55
43
22
110
264
380
71
762
534
664
658
394
721
572
715
955
317
253
263
414
914
458
930
839
789
495
533
503
118
791
436
563
27
271
413
808
352
479
211
515
494
75
890
764
200
358
254
419
458
547
398
553
948
797
456
323
631
388
132
160
164
52
499
673
767
181
831
844
64
501
968
948
209
885
816
103
292
146
89
542
618
20
356
473
973
55
778
878
375
818
635
741
152
601
933
925
397
857
895
403
981
675
121
612
350
941
543
445
268
248
114
819
504
257
277
787
255
936
933
914
706
70
527
966
735
457
330
41
229
483
771
895
864
129
879
619
465
16
518
771
300
796
115
748
711
47
11
478
515
845
383
494
537
366
956
52
397
176
326
253
471
365
816
54
512
308
194
644
988
643
490
916
634
985
394
652
43
30
402
618
406
939
958
970
640
319
329
245
246
711
854
743
170
200
492
285
865
658
319
182
504
195
732
735
1
555
636
748
92
591
815
347
244
431
35
858
541
645
150
609
59
528
634
337
417
595
509
268
364
546
614
54
262
222
503
508
294
540
35
456
63
4
909
93
996
139
974
969
653
123
112
59
573
972
925
447
796
844
237
798
555
443
613
157
936
30
764
609
485
247
664
977
844
832
676
47
502
290
806
790
663
797
435
651
34
877
522
263
86
939
353
891
947
344
325
475
639
517
144
410
789
505
98
102
337
568
707
885
965
572
163
115
175
438
461
115
985
435
999
196
205
847
751
131
117
453
799
330
184
254
156
445
89
146
288
284
32
534
731
747
677
432
464
921
592
251
492
643
315
304
210
570
419
32
686
265
68
101
935
889
599
820
664
822
602
749
679
954
830
24
387
451
2
632
350
502
256
833
881
925
549
981
36
564
785
218
186
55
833
931
538
917
888
383
596
883
800
629
583
87
121
701
252
979
608
49
370
846
837
383
375
433
396
408
379
405
854
416
702
378
335
317
631
782
46
534
915
116
575
72
806
24
106
241
125
187
948
727
911
266
969
155
703
958
538
842
411
812
623
193
9
570
490
48
14
712
317
371
827
315
663
832
513
532
375
231
549
792
992
179
388
280
136
171
418
401
680
964
74
683
732
190
364
28
567
248
74
298
712
828
254
991
308
863
354
129
731
312
594
584
207
938
676
740
814
178
989
800
838
249
820
45
915
898
905
58
790
559
846
249
768
265
546
34
184
312
836
647
265
575
881
909
790
358
794
215
857
853
139
623
885
577
615
239
702
671
309
973
198
563
317
399
563
294
449
625
565
757
945
48
682
207
864
386
149
669
841
616
132
265
439
305
349
95
183
367
367
3
688
443
751
461
992
958
977
866
318
395
740
696
17
497
877
389
357
883
633
276
179
78
411
581
147
26
450
338
501
985
129
45
751
93
685
1000
700
19
207
603
586
837
686
288
859
674
755
436
312
743
517
311
869
93
504
22
298
757
399
587
552
40
603
377
202
349
118
649
655
315
526
379
478
969
984
340
125
344
315
197
848
253
228
435
354
885
651
77
47
540
940
484
316
69
498
28
393
540
910
24
765
221
299
159
976
240
989
549
935
175
966
698
528
371
834
892
397
42
158
954
260
25
145
902
19
637
571
746
230
248
766
569
191
8
244
75
37
699
250
988
748
802
110
40
889
700
767
806
261
398
285
292
351
257
456
50
633
30
823
520
326
900
593
479
157
352
946
761
58
398
176
847
482
148
962
542
218
707
810
736
146
157
381
119
378
714
981
847
620
199
952
348
402
625
108
879
12
84
618
941
590
59
960
423
891
991
627
138
585
203
327
480
875
279
277
60
378
589
37
527
927
951
52
261
943
346
692
249
534
200
116
254
308
982
742
357
182
777
425
21
116
62
745
121
824
109
918
792
965
330
943
511
240
392
562
591
98
131
499
102
495
112
200
343
223
208
31
127
890
695
466
542
523
197
284
333
111
252
257
755
165
421
67
518
474
620
471
490
838
793
812
911
468
153
44
186
147
927
377
784
999
987
478
350
884
783
940
931
30
710
384
110
507
427
116
926
524
664
762
705
356
737
647
284
887
335
6
678
414
144
282
939
314
520
875
792
670
729
714
674
733
254
923
946
369
270
684
394
262
683
116
596
719
59
613
393
358
350
635
466
842
587
377
10
83
601
92
559
23
405
98
316
167
62
665
739
562
771
43
718
780
401
861
405
776
895
14
649
214
829
933
31
947
867
836
705
871
46
152
576
285
612
801
906
256
592
454
57
177
437
186
952
893
803
173
780
307
18
211
629
330
842
872
20
416
892
48
761
677
497
495
154
776
808
734
344
341
717
329
522
672
493
125
767
883
79
524
541
430
689
225
255
181
657
155
831
813
528
532
938
314
988
52
381
824
582
242
179
857
102
908
17
213
170
431
69
496
814
387
707
250
754
592
217
149
744
226
446
554
506
111
254
24
764
571
769
39
375
581
663
274
833
29
142
266
243
32
861
187
429
179
758
766
995
473
653
85
28
537
510
116
589
327
477
352
347
193
151
845
456
654
51
277
301
634
923
438
814
253
358
624
876
469
165
22
724
9
74
119
395
56
671
509
979
111
860
271
857
275
825
259
146
993
154
204
328
912
772
568
350
111
354
427
582
421
151
514
637
926
541
718
449
36
155
984
980
703
137
551
572
465
948
916
288
984
140
729
548
678
692
64
970
860
829
169
637
501
719
836
907
396
91
996
513
20
606
6
908
820
756
379
754
31
184
349
976
356
585
796
38
22
736
500
978
785
821
625
238
421
919
593
540
135
418
273
886
110
166
468
252
76
371
239
711
432
600
519
523
907
780
804
197
186
717
454
652
245
537
264
382
343
369
545
965
770
792
887
349
477
807
154
88
648
581
26
115
146
808
590
690
490
273
44
875
710
164
595
279
967
716
999
810
329
27
17
891
437
245
251
918
124
914
457
737
198
922
421
572
741
365
959
154
240
680
380
754
813
528
32
441
590
246
187
195
39
207
549
398
641
989
164
849
898
123
344
675
43
99
514
434
209
413
536
239
58
734
183
978
36
644
896
551
461
26
869
588
683
856
801
291
361
98
368
893
755
396
575
700
568
482
675
874
529
581
269
882
344
582
522
33
127
440
189
642
674
81
274
110
222
69
706
698
411
436
363
802
269
360
162
336
902
844
676
196
502
125
923
860
973
343
589
876
179
888
866
398
371
928
561
894
815
864
869
915
40
828
460
83
399
889
94
499
833
348
63
409
824
327
113
264
532
909
394
315
18
218
186
443
278
186
819
275
522
197
230
509
791
490
95
3
499
934
294
408
978
787
781
37
408
138
576
225
799
991
690
639
841
377
294
878
505
445
313
236
255
239
957
664
609
710
388
844
579
610
839
741
199
76
40
193
960
76
700
881
475
430
164
498
103
729
65
66
589
378
982
98
973
890
606
781
196
765
951
408
823
526
428
54
279
986
443
894
808
370
309
605
163
739
868
35
656
24
198
668
786
105
184
465
139
557
522
326
617
107
949
770
348
370
93
436
834
139
354
627
975
355
683
481
606
912
907
261
132
597
552
929
613
807
697
413
416
165
491
927
159
785
409
287
215
741
167
421
485
244
524
168
500
119
840
22
160
473
370
689
590
831
739
214
650
592
960
935
618
437
646
727
433
122
777
848
696
232
501
152
276
585
957
649
21
396
67
147
532
778
517
213
394
861
964
797
575
609
576
630
909
408
619
979
735
644
735
384
785
762
928
791
344
765
41
875
594
716
692
404
756
566
212
238
356
539
118
892
462
409
57
651
256
199
945
894
650
256
253
617
959
163
981
178
838
689
910
892
771
796
117
445
432
761
608
56
123
633
116
942
326
563
819
893
128
36
714
742
907
665
900
70
194
8
856
745
86
810
74
805
925
188
98
746
199
526
82
484
813
292
489
158
914
526
431
436
446
520
474
202
491
62
407
321
223
696
628
674
16
613
287
843
823
173
266
585
472
562
421
736
905
750
225
298
751
749
113
237
781
148
387
957
992
47
474
504
54
788
722
311
824
356
670
678
456
908
912
262
420
661
253
556
376
287
860
710
435
45
482
76
809
87
631
542
217
804
830
69
729
583
621
827
893
60
85
993
109
820
13
575
203
506
734
600
87
435
819
616
178
202
547
744
7
186
52
447
46
531
541
783
338
960
837
127
963
747
752
298
688
255
511
543
446
727
483
62
421
435
5
645
600
848
960
486
605
257
68
465
534
113
575
988
282
452
126
13
548
931
128
999
297
366
840
379
975
198
765
557
175
948
643
623
776
568
511
697
786
587
823
285
274
51
603
104
785
586
953
593
607
355
23
713
61
268
705
713
798
592
926
247
692
11
366
608
529
262
874
861
137
714
591
347
997
639
66
382
657
462
208
946
460
982
974
839
202
425
111
70
336
180
78
227
251
247
563
176
970
763
607
742
345
442
428
939
433
391
482
915
306
587
171
30
961
233
871
369
364
303
640
586
904
886
34
148
705
319
961
956
299
705
395
831
155
119
74
543
416
714
5
886
2
960
730
842
913
479
821
964
189
260
980
990
444
586
491
102
370
642
473
418
842
628
552
36
563
151
110
436
240
841
234
77
389
402
847
833
742
775
279
265
140
692
704
820
504
660
467
751
159
340
287
908
350
352
765
624
268
775
359
540
266
3
275
623
248
140
269
567
408
855
412
461
580
432
298
904
471
797
982
703
972
453
205
936
539
584
89
412
377
80
537
516
777
857
48
16
508
641
499
631
583
368
728
111
93
393
438
77
53
43
996
148
336
394
234
709
888
785
199
213
346
277
162
118
88
162
849
360
513
695
11
800
62
367
944
205
62
463
519
158
8
103
593
733
287
661
429
918
679
287
885
527
190
217
704
787
898
710
157
879
529
745
713
442
439
50
107
486
494
653
435
174
129
896
414
693
513
792
982
776
294
653
798
481
927
167
986
503
899
495
696
666
511
474
666
186
20
749
971
15
91
488
606
833
473
352
341
234
738
573
563
304
757
291
447
24
278
827
843
882
634
149
742
693
113
637
47
827
995
168
614
991
584
658
254
245
842
470
435
157
364
496
913
865
528
324
449
370
622
599
19
526
599
610
686
65
954
142
370
491
857
873
314
813
300
911
937
902
517
612
117
744
353
469
680
950
551
696
21
688
192
111
327
617
602
54
839
521
126
384
943
48
70
31
667
405
988
197
321
894
236
62
606
884
369
772
516
218
540
545
733
44
526
985
47
774
371
72
496
195
962
831
592
764
988
401
963
777
901
65
213
388
429
823
601
454
165
266
412
777
531
810
501
597
168
859
580
144
409
93
244
616
43
851
624
225
25
570
807
846
114
309
836
350
698
671
214
950
219
849
293
725
670
98
835
39
619
658
355
754
97
65
519
964
466
801
42
487
72
444
988
500
100
863
360
518
546
456
160
365
624
169
856
932
261
800
336
286
533
110
977
110
57
379
421
578
354
355
11
492
168
990
606
920
559
946
680
627
362
653
186
318
223
574
664
79
57
453
444
423
173
524
636
43
754
45
768
705
619
92
575
732
417
218
441
145
492
460
441
881
652
167
760
438
1000
328
483
942
807
355
434
896
109
804
755
811
354
123
409
511
974
324
621
153
160
429
574
886
524
629
322
677
518
381
2
991
713
66
877
931
47
429
663
953
164
723
897
446
829
395
782
333
197
183
98
322
391
698
263
600
479
904
558
581
392
457
870
759
788
499
43
872
145
338
70
336
621
442
918
351
316
294
724
181
643
952
477
835
425
615
62
803
208
99
725
549
16
895
597
173
451
377
909
47
596
846
917
226
669
280
366
153
720
83
532
500
7
649
475
982
822
276
194
639
665
795
760
400
675
325
369
691
118
693
469
479
565
440
792
433
103
739
143
796
573
276
270
168
338
858
13
651
551
519
172
694
226
980
250
542
675
565
268
425
35
145
376
466
680
184
853
841
279
766
397
895
141
319
331
754
297
814
437
498
410
418
674
70
270
943
949
945
78
923
450
27
160
839
786
369
78
842
327
97
306
283
686
330
779
518
243
24
676
736
981
351
698
16
661
697
5
428
565
364
684
744
582
815
307
250
440
651
698
236
254
554
503
950
375
100
537
211
735
693
156
409
484
874
129
319
753
901
536
20
785
813
257
217
529
153
528
433
16
156
823
867
487
467
98
190
290
415
16
198
38
431
322
18
356
479
6
534
848
224
197
795
551
288
14
423
282
83
755
474
711
652
877
771
938
432
176
458
624
50
477
418
452
121
924
230
794
484
636
559
995
489
126
218
593
741
350
639
150
201
688
203
87
614
470
639
76
77
880
761
89
941
198
874
153
357
393
527
246
530
1
720
519
117
85
280
206
305
822
890
190
791
926
150
157
259
686
181
671
10
862
430
316
35
74
811
249
206
599
790
129
234
676
761
387
697
540
906
273
766
382
746
893
202
364
756
733
835
632
736
795
5
982
137
514
388
482
142
98
209
867
133
793
108
998
86
836
802
984
587
553
286
856
383
117
481
824
827
9
156
231
144
67
449
261
171
370
513
380
126
857
636
239
981
738
713
487
244
241
56
514
286
199
379
676
875
276
249
946
244
407
387
266
850
150
32
78
955
203
979
670
293
301
993
987
410
81
78
512
673
241
450
654
580
546
133
862
751
769
833
324
920
666
81
672
279
499
691
620
815
366
261
799
621
877
773
375
724
268
354
211
684
105
913
430
51
132
683
254
797
666
647
893
10
184
467
83
441
357
800
586
6
902
838
619
966
14
467
670
293
45
728
660
705
362
127
699
940
978
937
992
106
648
819
572
368
605
981
622
800
2
615
132
976
446
538
490
734
686
812
409
630
668
585
293
766
665
594
720
36
120
547
249
380
184
74
142
253
666
59
949
391
247
964
77
891
376
144
643
810
217
301
909
732
374
918
570
242
921
955
982
824
383
136
209
481
968
860
395
291
282
168
554
176
182
192
348
404
222
236
777
735
344
936
28
655
94
990
894
841
655
557
275
879
411
766
304
235
607
733
512
679
891
93
299
666
176
352
683
676
312
291
923
134
526
231
183
351
420
244
785
842
639
268
22
515
945
669
691
484
551
982
707
646
42
474
213
782
120
646
579
644
683
35
549
389
502
471
605
753
818
464
293
584
760
548
848
677
353
213
986
385
281
513
112
160
239
594
537
969
927
121
497
548
227
39
913
569
101
213
861
103
100
187
673
211
143
765
409
86
406
132
242
961
740
974
914
883
26
411
16
560
279
606
306
692
101
568
672
605
304
45
608
538
132
366
296
651
524
760
463
638
306
996
185
908
22
139
746
386
335
847
444
394
620
909
988
474
373
677
741
718
550
586
611
925
807
276
828
865
871
669
201
49
968
937
693
642
303
539
320
600
73
322
459
674
411
260
584
649
934
565
394
96
298
743
4
937
255
681
640
330
256
986
818
745
544
620
526
603
26
337
320
529
961
545
584
87
617
999
400
854
644
171
624
819
836
219
802
395
313
240
482
782
979
882
340
15
203
466
312
806
339
460
535
202
629
542
526
164
462
520
449
378
739
21
748
36
338
263
667
845
240
171
400
204
937
775
697
403
161
133
773
642
773
980
250
890
956
952
713
898
424
466
160
179
484
328
266
395
181
676
916
391
679
163
905
62
249
144
51
352
956
228
210
933
184
744
881
555
656
552
95
606
480
169
323
161
72
343
963
715
494
70
785
783
878
534
395
802
125
594
369
102
981
291
234
228
933
253
864
564
125
55
181
42
605
342
289
688
787
948
270
916
977
368
947
744
154
645
818
579
992
183
250
835
255
14
746
361
320
790
794
644
531
135
341
764
519
22
422
357
397
512
866
195
954
559
265
555
608
559
597
258
862
978
999
71
461
712
169
249
272
803
811
90
149
723
342
748
684
765
800
20
813
982
540
450
687
707
813
893
91
955
794
641
956
879
953
310
214
54
932
944
276
535
238
225
959
533
146
250
548
82
162
54
991
237
292
964
935
203
136
904
420
285
533
967
578
686
55
934
599
30
196
936
562
901
468
108
483
860
955
923
48
139
111
878
85
684
692
323
758
269
762
546
844
188
665
643
233
414
679
345
941
176
842
705
540
619
104
489
876
604
503
179
352
695
564
728
852
111
486
599
585
715
964
166
761
152
693
240
2
864
709
367
839
51
697
520
483
592
344
20
269
565
598
805
860
293
450
676
301
776
455
774
518
943
774
334
682
421
932
727
163
434
858
887
443
957
19
494
461
536
621
711
357
975
922
825
447
706
661
900
603
768
515
416
892
201
247
927
445
162
937
962
64
193
249
753
979
915
224
885
530
857
489
640
242
285
68
617
962
629
256
203
239
595
81
609
89
91
972
464
688
870
167
434
242
197
236
919
533
884
875
645
159
789
760
909
520
202
839
275
977
618
906
789
403
40
668
127
591
320
833
683
556
34
902
247
802
52
482
840
75
243
906
227
921
765
895
854
630
974
790
226
780
287
595
275
659
255
750
862
295
706
24
380
673
46
420
365
29
738
283
118
738
507
106
632
426
53
640
501
435
926
20
91
626
746
573
971
844
112
866
500
67
434
314
490
354
360
405
94
271
671
142
396
347
304
853
712
502
631
911
276
69
247
220
800
231
295
555
393
218
801
976
448
559
563
554
419
75
909
627
831
50
22
597
506
200
597
91
723
637
323
936
960
26
26
965
959
522
371
171
36
869
678
68
11
262
773
445
627
183
760
852
44
445
285
293
865
91
161
565
126
654
174
639
902
502
538
257
462
632
730
663
397
368
365
14
819
819
380
545
463
869
28
17
517
705
96
312
115
590
302
302
638
655
79
283
472
983
779
320
353
146
901
842
241
669
97
676
503
584
582
538
245
377
39
644
837
127
296
741
24
575
834
339
537
198
668
350
771
89
254
645
946
602
870
282
126
266
324
264
623
430
972
743
598
474
736
513
133
175
253
504
632
7
302
710
208
737
432
685
589
664
13
280
184
234
25
774
169
592
553
942
841
811
284
878
31
165
346
581
65
854
425
434
641
956
455
671
950
302
105
881
614
113
934
379
256
971
352
24
71
679
454
683
355
69
407
70
773
658
285
146
68
329
181
597
65
887
968
189
26
438
290
919
888
1
265
993
461
685
870
604
383
52
205
376
569
996
633
123
856
579
325
271
834
801
868
871
126
180
420
666
962
387
345
51
517
886
403
114
320
686
330
153
32
892
90
183
21
643
165
25
450
442
2
452
55
626
126
769
395
912
515
926
105
523
509
942
628
411
938
971
945
470
155
824
85
432
349
147
564
378
871
715
440
359
276
536
414
690
457
511
193
887
553
442
419
35
279
57
575
652
931
570
647
716
630
991
776
614
277
44
786
197
291
92
266
10
447
888
819
28
42
357
232
911
160
823
538
866
49
297
402
697
456
492
806
533
348
189
771
991
570
495
695
283
886
281
1000
858
309
816
898
697
809
175
513
323
255
539
70
892
978
889
545
499
384
936
983
958
903
326
691
881
929
317
638
816
551
144
685
614
569
232
735
900
750
268
471
771
279
906
148
361
132
521
797
956
421
10
282
703
827
122
884
770
902
134
480
33
363
44
913
952
501
578
861
356
488
453
371
242
665
320
229
576
854
731
509
261
388
280
967
148
787
817
443
966
988
231
35
535
592
855
659
479
862
990
489
921
96
380
952
340
562
733
150
829
400
546
51
486
766
558
328
594
28
119
477
500
981
660
738
851
948
226
367
944
50
720
10
463
161
112
323
814
811
386
425
585
814
369
523
427
477
953
789
759
60
402
632
283
574
599
573
243
94
98
279
710
519
803
728
985
104
949
110
335
168
793
803
919
65
114
706
692
919
157
279
520
607
159
863
507
203
956
250
769
397
458
20
468
435
978
848
990
749
501
850
529
774
972
62
200
419
598
278
45
256
996
843
915
796
701
450
297
148
226
632
590
932
359
433
201
592
854
719
113
135
18
638
248
884
922
68
22
74
175
265
992
950
219
505
389
597
107
275
618
879
599
411
533
737
180
658
400
570
333
322
984
589
959
19
105
837
361
73
393
36
626
754
628
552
545
386
292
522
425
336
424
661
313
36
895
323
138
466
535
147
275
6
355
41
822
137
250
281
701
267
167
256
297
850
722
733
956
65
622
559
122
521
66
394
264
889
508
421
54
846
762
961
418
485
474
589
218
132
397
645
286
579
732
999
483
880
63
575
240
194
27
374
782
630
942
718
862
711
47
992
359
831
896
418
549
67
700
322
194
778
103
867
867
732
939
486
71
857
46
102
786
363
50
744
60
640
401
360
135
280
588
481
366
589
624
859
920
151
382
382
811
389
297
361
339
541
291
762
425
184
516
71
628
216
625
254
881
233
896
729
88
339
419
322
773
748
973
966
920
964
978
284
969
954
58
247
718
469
376
836
521
613
857
4
738
810
826
243
887
558
390
773
307
768
98
690
434
986
21
424
992
551
426
484
480
540
644
821
376
422
552
55
341
454
335
478
571
234
862
987
141
261
5
67
818
15
766
512
366
859
866
834
800
10
768
193
395
936
769
278
519
809
880
735
504
31
688
658
859
471
326
150
77
746
928
170
193
773
703
715
15
887
846
872
654
987
23
449
580
546
132
690
922
838
311
43
160
392
964
85
653
515
692
472
697
702
565
222
904
903
140
736
765
886
994
703
172
413
307
431
537
535
196
224
907
69
119
123
121
267
615
712
620
731
60
714
24
873
941
788
932
615
314
273
707
549
766
638
203
493
203
28
484
227
213
621
579
216
588
480
256
273
838
187
584
471
157
847
803
74
359
962
624
893
786
294
644
285
998
50
997
944
391
655
679
750
508
914
301
202
941
607
121
376
165
395
323
942
577
496
448
466
297
713
795
169
992
287
361
293
126
530
619
487
509
322
994
928
3
408
432
453
531
866
855
598
302
239
609
313
288
636
244
76
564
484
90
255
59
771
131
904
651
302
624
584
286
949
740
432
996
898
304
459
271
618
310
970
222
679
506
87
370
527
797
565
704
43
587
516
858
45
484
158
853
883
969
428
905
939
743
169
190
145
455
568
322
603
442
750
507
16
911
708
16
913
735
250
651
576
656
299
321
195
214
639
760
993
189
185
631
987
669
933
973
600
111
42
24
568
951
872
933
430
350
431
782
461
658
376
626
42
61
607
995
352
645
560
363
719
813
476
682
153
601
300
943
379
917
359
84
151
165
656
320
766
20
434
76
454
335
634
299
767
322
28
854
191
144
91
78
922
31
126
348
180
861
770
687
481
917
762
9
6
180
771
614
569
85
182
913
733
159
933
183
295
317
912
358
690
882
946
468
901
615
143
366
57
86
165
811
270
788
63
788
187
244
436
233
369
218
40
910
892
846
420
295
486
141
796
762
136
848
217
204
305
88
967
543
840
555
275
217
189
320
694
832
773
402
882
656
223
397
141
529
717
381
750
57
865
212
81
677
375
110
453
283
291
142
951
623
719
764
750
634
744
148
8
156
755
375
62
265
492
946
496
579
880
225
609
446
221
626
962
880
320
330
996
493
938
310
107
416
334
249
252
392
718
730
833
810
159
705
602
433
885
832
363
962
880
758
479
402
453
765
600
368
706
524
561
130
905
879
91
164
343
662
844
452
651
587
271
570
430
137
17
869
742
209
857
668
239
987
666
479
671
154
551
677
96
78
74
963
345
64
442
167
239
97
638
686
562
774
752
869
60
261
162
205
570
207
814
23
938
488
564
748
546
565
443
434
131
7
751
448
66
425
75
653
419
666
692
404
922
618
334
980
468
398
946
840
830
983
911
189
118
612
180
951
904
375
903
168
41
471
432
198
941
538
17
902
498
322
154
131
877
700
257
456
132
737
287
29
972
10
23
904
14
934
901
906
580
174
734
372
396
536
162
695
569
910
396
614
882
935
656
639
723
82
742
806
966
723
319
222
720
623
842
489
152
952
517
157
514
617
338
812
112
187
30
256
186
151
684
536
579
619
963
221
629
790
44
441
950
697
852
660
614
811
740
85
792
37
491
879
97
537
399
84
705
589
246
254
828
392
182
333
270
304
866
223
612
548
754
847
15
779
79
210
789
264
883
158
616
635
479
32
775
293
804
427
798
605
475
577
739
954
761
706
628
563
327
819
758
757
353
27
164
10
536
461
14
666
596
241
676
717
99
762
894
385
824
778
875
550
423
346
37
268
851
769
879
689
879
42
697
728
7
184
860
738
305
60
981
235
974
933
581
476
957
59
800
304
539
88
282
214
667
884
618
43
683
670
627
15
263
61
328
160
627
655
652
257
480
308
835
524
751
147
944
282
908
653
187
643
513
876
491
116
740
928
325
682
772
460
916
495
335
710
790
877
165
93
54
690
867
995
965
458
414
605
71
878
588
175
696
450
724
41
594
22
463
97
354
958
664
218
551
525
199
265
687
805
169
908
679
135
945
496
40
634
561
586
905
833
176
556
763
837
739
921
66
703
527
605
915
926
917
424
662
22
613
475
564
204
580
944
615
45
77
108
291
859
523
925
219
240
416
680
719
834
140
603
765
955
329
230
147
95
349
578
523
745
629
837
624
151
792
421
55
868
964
645
53
949
224
256
57
669
890
290
138
498
205
482
192
852
51
531
275
849
518
73
621
872
489
127
710
272
946
112
180
937
354
274
546
770
296
512
425
365
539
139
434
268
827
72
990
269
997
308
24
110
471
319
970
827
771
176
522
721
485
784
287
606
1
608
914
534
443
671
239
697
429
394
711
570
700
63
703
636
174
322
278
264
725
112
682
353
787
901
93
412
956
879
166
637
873
49
510
341
57
755
510
864
776
290
864
677
736
632
778
957
124
261
994
325
510
260
780
837
224
580
514
502
60
450
737
838
607
375
433
973
79
74
791
836
213
33
924
814
752
4
823
66
8
956
358
355
259
450
271
886
43
384
906
122
957
345
922
952
224
583
312
940
117
725
870
563
314
952
657
513
387
259
109
149
942
843
203
133
346
376
458
155
622
153
644
357
813
642
780
794
77
980
346
772
808
339
710
420
362
904
415
220
287
394
329
496
573
683
665
78
73
105
510
415
153
424
831
479
609
332
885
638
68
523
587
565
433
77
641
910
370
927
231
151
527
628
596
524
921
527
96
409
915
703
281
886
290
712
19
426
182
256
958
855
102
409
476
770
780
878
804
612
353
144
174
403
286
969
705
32
452
930
223
573
4
108
373
806
37
34
189
540
538
289
742
800
795
918
631
245
259
956
843
381
845
912
939
304
782
18
633
716
422
419
563
910
870
247
458
263
903
692
967
538
398
771
137
953
433
503
884
541
268
548
849
802
674
233
703
22
438
28
297
934
448
207
82
570
431
414
841
261
289
298
103
753
997
199
577
302
177
129
561
451
806
908
548
885
980
400
219
423
318
219
556
716
353
160
106
686
231
887
282
55
140
53
192
610
144
153
663
985
528
866
27
802
335
557
748
20
485
905
168
175
798
331
471
28
239
13
481
791
931
803
59
718
836
277
648
361
515
488
38
173
27
731
465
499
897
780
29
172
14
590
755
106
496
439
801
283
827
834
988
485
45
281
288
972
342
186
931
61
212
762
520
213
217
774
917
820
478
371
684
337
267
50
559
811
445
9
768
106
35
744
999
358
935
791
491
260
596
919
13
807
560
927
482
12
852
424
564
957
623
631
916
237
838
289
631
506
524
210
55
346
816
876
393
156
43
777
410
73
165
819
111
214
159
258
482
676
353
76
271
815
296
617
276
275
486
622
842
137
133
470
63
338
235
597
713
202
386
531
79
524
131
959
652
145
191
542
142
395
514
934
365
51
1000
636
358
730
654
825
485
734
120
292
415
415
809
972
581
63
292
313
137
171
242
923
504
700
963
508
276
588
467
102
675
372
137
994
739
211
243
544
120
20
956
306
715
674
83
479
354
468
392
724
398
100
304
831
444
440
717
516
274
282
882
923
818
74
625
993
174
357
628
944
672
266
164
583
547
983
468
973
42
481
856
329
667
239
832
619
885
871
676
489
730
754
430
572
734
841
760
176
36
785
933
617
784
398
994
195
732
251
321
908
464
917
885
525
810
944
937
570
847
177
351
100
321
420
490
895
473
787
332
828
10
291
548
727
412
351
353
22
835
934
282
797
658
11
449
669
67
817
481
86
184
200
87
201
937
969
105
500
231
748
989
718
36
303
902
423
674
681
977
814
919
802
852
928
550
338
276
445
623
783
466
721
56
670
870
516
63
753
193
100
635
830
848
103
499
577
481
486
952
415
863
498
547
950
229
334
854
981
93
489
425
417
679
461
649
690
373
566
406
427
4
100
282
199
367
967
672
149
101
235
234
162
939
740
40
60
389
6
243
952
112
261
247
518
595
246
157
464
264
864
776
829
825
441
522
127
451
523
411
536
428
678
720
469
998
752
981
915
424
357
755
856
774
164
10
932
513
753
996
280
755
339
219
127
944
692
495
286
819
959
94
184
746
918
666
423
872
357
970
163
117
943
454
817
732
921
348
632
958
425
286
742
402
29
391
200
851
384
418
291
621
438
816
173
981
806
483
513
854
290
630
325
783
424
344
641
97
192
427
39
325
745
569
251
159
12
192
280
704
610
122
494
301
337
828
159
969
841
88
736
384
765
857
63
345
781
528
237
922
450
8
599
771
768
785
736
679
588
644
836
28
858
835
30
706
753
233
584
978
328
501
947
967
281
332
689
674
784
618
288
944
102
772
607
366
900
494
634
867
719
23
715
681
107
220
108
459
246
929
117
479
779
691
475
357
683
270
931
165
706
401
166
573
859
878
285
487
920
354
124
678
712
238
526
58
165
663
557
568
836
795
361
162
565
682
971
976
471
429
941
576
289
745
104
130
361
790
104
458
268
838
610
175
148
457
282
548
262
804
618
289
248
141
800
213
821
894
521
600
359
363
563
107
958
760
614
337
46
335
360
456
565
212
447
825
77
995
285
246
887
328
990
244
416
397
1000
832
601
745
996
276
84
926
842
735
292
215
156
56
277
30
1
644
395
760
927
53
441
435
264
906
885
1
124
785
223
53
58
1000
277
500
665
507
470
28
787
795
734
193
56
281
708
640
700
579
333
253
507
45
768
15
763
154
790
953
765
604
500
856
303
506
196
368
47
675
731
640
387
818
560
4
677
372
909
2
180
847
224
676
295
795
102
254
778
943
424
214
747
603
276
250
249
211
581
852
19
715
36
49
869
605
96
349
835
547
241
90
793
966
708
199
777
415
187
833
647
261
731
506
37
4
272
68
790
572
688
349
172
49
315
362
214
571
178
725
472
625
972
333
339
526
5
405
801
679
905
724
185
91
872
271
29
714
647
476
654
414
203
994
419
755
320
263
918
320
876
94
570
7
653
181
148
589
934
758
806
828
957
571
73
616
564
964
89
942
1000
164
101
948
901
762
847
1
936
14
6
478
453
786
326
922
740
924
400
332
200
333
308
622
800
320
494
681
672
585
345
60
612
787
875
39
548
818
831
715
738
713
294
784
584
667
563
915
465
758
703
943
917
782
627
642
829
98
26
497
47
465
736
718
945
662
403
733
52
112
382
515
802
799
901
412
822
546
407
583
958
104
914
765
389
566
869
838
816
344
770
600
623
306
304
210
391
707
246
23
869
230
761
889
763
805
13
563
314
837
202
570
620
173
223
696
138
421
160
338
588
187
749
61
749
464
736
86
266
631
799
870
654
492
328
613
128
365
895
293
762
471
678
799
744
788
467
830
179
86
125
492
970
77
538
944
789
485
161
18
58
384
239
475
168
300
656
439
833
465
154
598
647
56
372
968
388
445
715
353
554
278
622
180
962
666
153
11
954
892
191
914
925
840
730
798
427
738
881
12
51
954
252
747
689
289
296
285
496
635
87
692
105
911
719
358
176
936
190
682
401
222
217
279
442
748
868
329
107
419
315
51
255
293
267
863
563
619
856
459
273
409
831
905
507
571
930
865
523
579
215
242
567
310
954
836
596
918
385
109
199
586
293
777
527
564
907
759
868
152
23
940
802
199
649
333
542
243
695
472
145
631
394
301
767
827
231
383
35
667
96
998
909
458
291
586
115
723
774
18
341
819
747
405
920
880
272
489
629
282
111
185
599
343
391
502
25
66
39
912
566
509
104
202
816
830
273
981
245
103
873
330
323
784
631
501
339
92
285
210
605
635
911
795
294
322
496
474
176
975
822
973
900
101
244
35
270
922
302
743
180
175
380
70
472
104
849
833
18
804
199
45
748
318
703
680
174
900
21
48
197
450
23
284
649
430
788
946
49
477
396
362
529
545
650
135
734
643
310
201
785
134
783
908
62
138
441
860
655
773
930
708
805
863
877
601
574
261
392
786
260
108
633
710
807
215
480
25
557
230
85
94
209
415
634
968
797
666
166
295
803
875
733
303
294
854
454
829
84
825
301
329
495
900
509
973
245
85
625
177
354
74
70
423
724
513
3
799
235
462
982
438
777
510
620
4
627
364
957
385
979
764
792
45
232
257
544
823
848
708
559
547
222
421
907
518
996
394
870
770
714
549
288
37
507
734
850
510
775
923
260
817
450
322
880
118
489
1000
138
846
707
298
486
444
906
469
151
358
552
941
273
697
909
133
260
187
635
978
390
510
312
186
706
664
324
789
266
716
729
717
677
221
557
978
605
612
17
525
695
70
645
22
877
732
357
582
585
630
691
938
800
388
252
717
149
571
563
190
539
514
8
359
891
643
586
294
622
566
495
419
429
660
381
808
803
514
238
645
439
309
535
695
371
182
141
27
250
655
11
233
621
462
386
92
459
503
496
961
511
169
327
166
169
9
92
339
705
561
403
928
718
171
39
101
515
793
397
860
20
117
389
495
475
808
576
395
868
314
811
874
532
470
512
874
819
105
951
341
89
918
650
619
522
212
21
407
401
438
904
730
612
108
545
869
49
367
844
406
515
385
440
361
486
788
276
906
793
539
853
297
895
49
257
458
887
788
430
145
844
367
848
704
369
843
948
254
478
40
171
523
67
753
481
687
233
39
541
295
685
241
529
759
317
986
754
962
764
160
780
252
440
812
812
442
112
964
437
500
535
589
648
251
66
354
286
810
454
324
635
399
184
471
926
919
881
723
958
901
249
297
837
456
957
200
116
481
692
157
219
596
331
652
133
305
787
455
767
385
661
762
264
816
246
54
821
428
771
863
245
17
71
930
550
905
969
612
403
769
777
12
113
117
265
18
156
950
341
326
958
19
466
571
725
544
512
874
700
456
400
510
86
3
316
853
239
43
748
486
489
458
897
141
49
913
222
144
69
611
36
172
821
779
84
400
370
394
978
614
875
19
240
419
815
723
413
473
26
744
399
579
444
931
742
540
816
54
28
930
450
710
981
303
310
941
105
915
326
647
913
737
860
539
895
386
667
687
364
614
522
690
248
175
942
97
703
207
57
21
146
734
759
774
940
567
679
999
501
631
457
970
27
737
989
665
424
901
52
773
225
565
763
1000
479
540
842
920
665
999
517
146
628
647
236
778
445
24
39
920
891
994
583
573
891
620
293
339
922
35
81
203
838
388
390
114
23
632
39
209
52
755
541
311
315
10
60
746
145
874
171
646
54
715
943
623
608
643
616
115
338
593
351
766
815
465
87
917
698
62
547
655
124
653
820
883
287
189
750
598
418
631
585
852
689
353
913
903
727
311
994
723
558
506
967
288
764
299
267
124
589
296
844
112
514
828
386
911
562
590
818
252
225
553
826
948
432
148
969
726
417
607
271
890
722
474
821
364
774
572
1000
907
696
115
461
138
29
237
863
567
49
934
672
969
217
315
39
338
114
102
907
93
883
487
975
407
806
866
126
322
146
437
205
774
811
329
822
782
691
770
964
838
746
774
770
953
89
942
776
921
277
315
305
105
36
617
438
444
443
866
188
454
374
80
82
703
666
724
340
614
28
617
234
469
191
270
23
199
193
979
54
847
936
567
242
626
410
363
168
118
1
862
436
483
378
515
794
519
313
279
750
17
624
879
51
156
162
205
450
592
386
922
665
521
592
150
260
191
335
32
474
313
905
100
702
295
983
638
404
523
765
622
706
721
909
438
869
986
627
257
77
259
144
892
741
861
491
953
584
171
352
356
332
744
216
572
748
904
652
527
60
374
884
736
619
589
203
66
721
132
945
521
97
162
912
564
555
800
143
791
584
180
884
238
516
277
454
167
45
681
466
998
428
217
515
916
749
652
11
790
961
794
314
278
265
947
716
343
587
41
81
995
494
739
155
734
961
494
671
62
800
828
358
403
379
67
881
981
545
398
567
509
262
392
474
15
561
50
16
791
831
65
872
236
375
186
357
301
391
513
782
374
236
97
592
681
919
432
213
731
235
307
628
856
867
7
656
697
83
36
813
302
353
381
385
617
335
839
71
278
187
54
134
46
119
768
495
665
379
198
642
652
669
635
516
313
78
77
783
287
208
204
6
33
106
35
297
999
989
402
936
629
515
755
337
2
538
870
441
627
847
760
335
877
410
452
415
575
13
335
917
516
994
434
1000
74
983
361
862
588
179
633
567
934
691
743
333
537
930
658
77
86
850
395
884
393
71
930
914
163
596
2
965
905
829
284
557
882
132
991
920
766
940
250
722
623
807
446
727
963
363
332
811
853
293
901
944
499
910
875
797
292
804
233
621
32
341
340
910
953
511
105
161
177
713
94
727
471
603
666
358
507
60
15
538
341
643
468
117
514
669
515
94
980
169
807
576
57
543
817
114
751
702
940
636
55
813
542
137
334
589
894
127
453
179
971
623
109
360
815
95
735
665
539
371
418
522
67
960
490
246
401
653
882
966
540
524
811
144
163
662
139
415
877
70
542
843
88
136
668
585
567
44
646
130
377
271
579
989
117
46
212
705
356
300
525
557
766
137
865
165
635
332
123
496
435
685
612
417
590
327
534
73
882
243
373
804
743
314
87
241
261
200
743
524
867
218
106
278
547
192
729
106
902
916
323
881
529
505
498
33
21
364
524
380
337
971
396
774
416
937
326
988
698
81
769
811
638
323
224
293
388
316
340
434
587
593
314
380
580
926
176
375
462
310
314
292
53
646
505
565
277
791
809
729
461
90
905
580
745
884
831
186
122
814
642
567
652
869
199
930
33
281
158
701
8
355
237
515
78
211
7
481
597
281
790
746
613
71
721
406
734
383
655
268
917
679
419
844
311
747
849
220
178
164
139
127
488
299
337
610
12
774
186
197
574
361
129
354
687
263
10
325
963
621
879
142
529
853
383
734
191
146
391
564
214
7
889
149
444
284
668
172
895
493
9
597
114
581
405
397
378
497
307
990
210
74
68
507
811
745
497
311
738
570
948
22
570
903
403
428
351
772
848
268
328
716
88
869
872
379
282
992
488
648
665
74
516
500
343
220
460
989
569
960
886
25
628
772
468
684
294
812
89
780
860
124
859
367
881
840
537
623
122
534
117
336
670
923
284
795
814
607
32
457
78
351
964
190
763
731
745
244
439
619
672
360
106
55
612
583
158
575
367
407
849
933
103
873
712
459
630
99
247
20
187
527
258
649
856
837
399
431
916
115
874
164
218
330
704
652
164
607
703
209
977
97
66
119
719
467
510
332
979
154
1
647
201
587
432
985
415
496
35
135
496
293
941
536
171
255
44
216
677
917
274
43
371
620
415
784
613
670
877
328
916
907
197
574
719
805
597
166
120
379
612
216
562
311
680
628
780
682
587
444
278
622
813
884
235
12
195
384
998
78
744
16
281
372
150
91
757
139
253
645
995
544
750
771
577
568
481
414
817
617
918
361
688
95
900
636
466
209
223
381
99
284
430
658
523
733
42
254
962
599
488
737
760
318
244
503
450
897
973
478
554
258
50
506
104
861
465
139
964
94
951
743
842
74
162
356
294
697
851
695
110
760
313
82
250
961
795
832
860
401
171
793
987
977
970
366
324
737
742
262
662
789
831
690
799
880
844
459
300
109
526
678
870
527
240
363
73
593
5
276
817
517
874
748
307
553
447
63
134
218
483
244
820
199
923
693
376
479
81
216
399
800
418
414
800
144
119
270
520
355
613
71
488
349
311
427
625
649
79
284
931
113
408
282
553
807
769
717
262
945
446
679
949
700
950
614
606
460
222
718
729
830
988
38
254
240
29
137
945
547
599
470
607
437
919
374
623
716
497
723
114
846
2
854
407
189
550
307
650
438
571
312
95
716
863
711
36
597
51
187
391
130
423
249
677
546
57
410
473
945
194
411
506
698
74
110
180
707
822
890
696
923
525
61
929
739
330
707
857
969
258
916
676
110
453
118
662
524
709
512
512
972
515
220
117
662
267
825
718
611
980
446
925
649
614
349
372
827
73
349
663
367
46
970
827
511
129
381
714
822
65
626
652
529
549
574
175
495
738
296
869
277
517
297
183
506
617
142
556
526
863
534
388
845
214
834
160
403
732
334
500
146
328
359
97
642
933
376
149
752
716
888
475
462
138
818
489
50
899
464
14
670
296
862
271
321
113
604
503
880
933
697
328
593
672
77
373
933
216
762
692
234
272
439
217
905
932
496
789
266
995
105
339
299
778
1
427
654
40
22
669
292
598
298
533
42
448
238
621
154
473
91
833
691
340
913
720
189
803
236
959
585
437
590
100
829
770
315
660
969
884
752
182
730
836
11
99
787
644
987
127
988
172
197
419
766
990
304
898
842
143
925
64
138
846
396
1000
471
272
731
533
233
22
905
245
751
306
938
545
428
593
998
114
91
284
883
808
203
942
788
554
698
761
240
860
278
255
414
288
898
569
864
685
77
465
822
971
365
761
845
54
8
928
562
772
386
649
670
811
293
344
128
227
502
60
705
549
336
701
669
420
168
211
391
396
876
251
101
850
265
858
844
849
402
794
927
549
604
593
793
884
574
787
324
290
764
462
7
786
637
52
285
968
888
263
667
410
70
93
873
478
307
204
333
828
951
305
894
685
85
788
448
572
782
580
521
304
868
85
548
929
762
93
696
786
637
784
603
995
741
274
333
527
243
662
173
439
353
250
651
998
814
367
290
199
53
266
159
609
428
672
258
552
61
857
119
417
632
575
785
267
440
790
518
971
700
898
129
815
800
52
871
921
721
292
180
814
368
396
378
180
896
766
658
189
414
210
265
754
650
159
847
754
257
751
333
557
416
188
551
150
364
979
46
788
219
965
180
377
261
546
670
718
415
136
161
351
246
684
306
956
194
32
93
213
151
20
833
531
717
464
311
330
638
595
82
370
6
90
803
209
761
592
783
7
927
456
642
771
788
556
93
604
912
140
368
699
525
114
748
611
252
622
984
813
621
476
138
660
101
795
508
679
598
228
874
505
531
229
239
913
592
187
619
111
269
627
182
881
49
345
263
210
970
69
288
759
856
163
720
911
142
987
448
149
650
735
912
198
86
967
417
729
289
601
733
391
463
820
82
613
734
221
45
910
356
527
763
410
819
371
17
922
930
972
468
166
645
4
335
696
72
614
276
658
607
320
112
761
596
472
270
744
262
84
526
186
909
82
708
719
554
449
494
571
223
319
350
902
112
807
947
582
693
227
112
888
632
445
473
109
91
246
481
193
558
13
422
379
877
491
367
232
564
84
736
605
775
973
310
849
577
314
74
11
233
898
223
854
318
990
37
301
363
457
102
262
613
965
522
920
236
729
362
215
948
263
532
676
640
618
747
763
17
867
972
558
667
936
976
998
254
466
250
843
734
63
543
207
565
171
709
805
919
793
375
35
786
479
221
623
706
293
241
852
561
999
472
319
511
289
106
772
672
713
742
794
608
901
863
48
20
782
239
314
304
753
90
792
780
189
284
14
493
257
794
220
436
705
890
256
934
223
286
891
714
982
551
925
884
180
636
647
628
768
275
991
940
53
369
196
140
524
179
927
199
101
335
560
171
962
176
798
112
251
929
843
944
272
581
131
631
215
79
17
908
56
659
864
531
65
691
698
722
243
436
988
991
115
463
98
44
499
321
689
833
303
252
637
106
907
323
91
1
422
422
892
323
933
940
917
165
888
838
869
415
946
999
658
549
899
442
783
786
820
7
87
357
160
583
814
144
374
819
183
400
554
528
545
609
685
660
817
798
404
825
32
781
527
811
769
862
230
452
729
528
470
512
911
520
128
922
700
460
404
878
639
910
189
767
855
343
499
873
888
986
574
89
141
940
886
661
310
269
174
87
908
3
561
864
443
91
964
751
907
425
304
540
961
953
472
140
625
775
604
930
330
863
994
920
908
708
884
273
461
757
453
94
94
995
539
242
173
378
53
91
94
149
543
795
581
214
106
646
147
899
666
503
699
375
694
150
189
987
556
645
881
501
57
382
55
39
204
633
901
85
835
814
969
485
582
549
770
808
584
909
23
779
439
867
624
761
195
82
606
401
560
642
246
660
109
258
992
374
984
731
81
419
481
204
543
298
958
836
804
698
687
48
230
128
653
425
786
284
803
678
435
183
895
833
31
419
979
931
236
139
450
92
424
445
824
760
635
976
619
285
368
367
216
798
437
125
166
488
139
214
166
994
730
314
853
589
550
288
648
257
187
827
94
540
747
694
529
264
630
189
503
840
224
735
986
883
573
500
355
305
384
56
75
864
705
911
228
417
239
638
326
735
509
983
341
817
67
17
525
85
479
909
374
721
117
326
65
641
646
851
765
336
692
35
515
831
365
863
774
553
194
503
308
757
570
153
828
486
953
696
678
741
959
666
906
641
940
691
258
890
809
224
1
787
682
826
968
339
383
719
916
805
957
618
97
100
136
88
917
87
124
795
722
705
174
63
11
273
144
75
854
56
676
937
877
383
636
537
961
160
232
829
703
639
551
717
763
679
312
192
470
539
300
771
431
471
311
540
428
965
397
335
609
541
891
653
808
399
981
936
874
83
565
727
20
527
769
73
559
541
736
221
869
793
294
326
51
858
646
386
553
707
497
110
988
346
947
710
460
939
8
936
987
847
845
770
43
529
705
295
786
110
20
236
285
737
368
517
970
571
797
1
520
343
533
240
656
946
250
691
639
461
849
329
780
327
222
29
951
143
545
372
904
689
445
800
200
344
829
113
654
11
230
408
539
42
298
437
212
408
437
253
445
558
696
761
494
966
667
421
878
386
601
965
902
204
898
431
176
84
874
198
813
337
16
19
475
11
944
197
185
765
947
200
659
986
278
968
920
462
349
103
128
146
599
953
905
200
70
301
877
570
694
30
837
770
830
642
682
461
901
977
265
638
833
809
395
942
585
256
462
703
267
106
628
762
210
224
45
92
897
186
339
464
822
145
467
157
213
750
87
823
34
611
802
107
834
406
990
593
840
233
433
947
126
220
638
872
843
722
570
658
248
667
489
631
726
718
725
780
71
990
523
214
52
976
537
836
689
188
156
852
722
789
606
263
474
138
707
501
677
741
214
788
874
579
920
541
665
164
88
414
433
947
309
151
174
916
596
441
707
303
368
409
843
330
20
210
73
841
886
403
947
464
804
482
597
712
904
923
784
998
917
637
455
155
88
523
37
406
726
116
583
171
518
9
467
258
27
775
536
233
178
651
483
766
131
93
751
761
671
668
460
942
134
391
676
361
906
797
859
977
787
502
464
62
801
977
487
700
599
558
203
32
255
476
491
247
59
831
878
526
924
984
909
277
145
790
521
40
546
492
847
377
492
810
271
920
868
2
648
496
874
202
274
908
409
363
597
536
893
504
666
363
609
795
23
454
23
181
58
152
113
892
862
497
392
194
260
438
220
160
20
422
963
84
185
868
763
386
125
828
993
516
147
885
940
400
480
949
929
451
1000
160
862
12
327
537
118
373
846
382
850
196
723
679
997
243
241
894
730
803
637
681
635
117
132
907
666
371
85
369
791
590
962
290
289
811
391
424
872
500
664
172
143
50
897
619
433
569
495
835
717
896
720
60
127
897
913
653
592
711
372
807
232
497
968
45
456
665
338
484
161
291
893
697
17
636
931
731
604
239
876
539
88
58
20
630
177
536
195
204
352
253
450
454
744
44
199
966
578
73
248
357
793
388
817
401
324
873
933
867
520
395
572
244
370
140
531
299
501
798
296
193
424
318
107
447
118
380
5
646
856
633
909
169
111
988
645
600
490
956
453
730
919
84
658
214
707
36
126
17
690
780
586
766
406
614
151
984
117
497
158
995
560
249
979
950
484
712
582
63
414
895
459
599
573
443
978
628
576
531
349
811
327
408
180
770
535
390
15
674
407
32
354
746
360
602
396
304
46
729
140
833
612
282
561
316
835
128
270
719
739
382
446
88
346
185
880
211
457
843
603
147
731
335
971
225
911
867
39
323
687
126
710
304
615
329
483
513
443
6
551
157
451
667
657
173
651
189
370
955
245
768
389
908
335
771
72
359
685
672
637
765
290
530
376
547
609
140
784
96
572
83
745
693
922
373
746
107
976
316
654
671
675
459
764
447
647
284
660
941
56
322
938
464
221
984
986
882
336
241
839
976
136
692
563
40
23
238
790
687
3
781
751
37
742
871
639
592
203
205
187
142
630
258
109
3
68
63
468
710
239
361
55
50
335
928
632
15
241
837
216
762
726
866
638
192
432
12
290
116
823
314
301
272
829
779
407
635
632
250
394
577
853
456
350
432
467
331
876
928
891
929
86
779
60
912
441
427
744
606
454
595
39
144
858
797
726
1
82
448
162
559
804
513
455
991
873
936
967
820
146
215
575
46
633
572
713
570
877
147
956
990
687
514
771
548
174
597
126
79
547
784
851
404
267
594
959
464
980
807
721
881
97
329
884
332
46
410
296
298
948
61
152
272
951
622
253
501
529
482
900
669
779
912
568
721
203
776
58
190
457
701
607
997
324
876
363
634
511
290
685
106
882
640
987
728
473
541
212
166
923
953
564
647
990
943
852
344
447
969
624
326
992
918
306
335
736
5
713
846
490
481
640
555
327
812
710
463
836
619
293
200
83
214
121
71
530
1
151
623
69
356
352
148
903
882
346
682
188
42
253
495
263
316
669
3
791
912
434
310
332
39
736
313
714
438
134
399
53
641
308
298
439
978
653
582
105
874
410
627
360
384
627
587
711
238
137
103
337
889
657
982
559
177
301
82
4
275
66
955
926
518
303
621
547
550
804
982
340
14
883
996
891
628
762
694
353
95
636
548
523
747
31
479
269
202
451
5
384
620
860
644
893
307
244
727
568
542
339
156
647
489
657
537
753
965
74
294
634
681
597
71
595
252
385
739
470
941
770
813
527
620
772
919
981
870
600
257
681
503
697
648
86
38
181
856
884
818
931
368
455
531
153
690
931
878
993
542
768
978
646
32
605
941
454
996
667
676
697
232
136
633
119
262
714
682
764
599
68
724
354
234
968
967
255
206
733
10
96
663
975
15
197
788
796
281
290
317
283
473
454
169
570
614
788
845
806
706
126
888
63
478
981
641
606
388
37
949
967
393
673
275
948
478
445
869
37
128
973
274
684
199
371
460
577
680
232
310
328
888
198
6
985
519
273
109
370
817
428
777
557
833
458
605
694
370
745
37
26
777
345
164
154
160
772
990
523
945
964
921
664
985
178
330
932
563
972
521
367
696
18
321
828
145
217
832
716
382
462
581
482
592
475
414
567
444
292
11
615
976
378
814
588
460
829
517
868
497
806
962
593
926
171
482
198
356
260
245
614
246
895
134
649
517
992
42
802
588
615
262
217
621
897
782
485
467
32
939
754
515
453
812
974
163
389
181
119
152
221
646
930
344
459
726
46
840
673
374
401
504
466
343
419
82
366
297
830
80
589
363
923
503
745
84
646
364
928
354
273
584
71
1000
250
563
104
100
478
206
270
8
481
641
849
336
851
242
701
794
906
775
272
895
713
680
126
18
498
575
664
197
9
9
390
343
550
402
1000
266
289
878
596
35
897
406
535
679
757
238
780
195
783
161
128
154
347
482
361
919
951
984
199
668
39
301
891
929
796
326
458
312
863
253
858
498
648
837
804
284
304
288
590
692
536
964
28
713
63
705
496
249
1000
205
235
229
382
291
187
641
793
378
111
468
385
621
241
114
543
515
431
914
157
765
627
770
723
255
470
782
493
888
61
970
497
830
184
847
550
475
813
638
284
28
335
409
842
178
736
236
113
739
930
801
291
523
532
488
109
934
631
142
293
951
531
130
688
218
30
239
999
959
497
261
296
288
933
817
279
293
231
69
766
940
37
520
61
471
998
7
634
461
668
332
22
88
37
708
999
542
449
368
813
663
678
187
742
61
55
193
302
16
836
137
203
354
454
111
519
402
906
371
644
834
272
78
274
896
318
704
72
80
166
193
653
768
279
831
266
751
379
915
838
842
471
999
79
939
838
452
980
62
725
529
358
826
464
986
58
770
932
476
51
762
576
666
944
419
727
999
345
120
537
545
134
724
699
216
913
545
36
878
843
481
157
620
598
464
654
466
424
539
715
338
119
961
605
976
322
673
223
792
637
390
790
393
15
337
805
561
249
330
579
56
652
543
32
497
756
759
939
927
347
351
487
395
284
540
823
47
323
700
263
761
577
606
959
323
388
587
135
493
66
434
421
106
422
817
454
508
24
688
654
206
856
813
13
635
414
144
813
287
328
233
407
307
230
239
594
814
997
379
672
866
442
892
925
974
198
627
197
520
863
429
175
252
412
378
205
270
524
742
779
585
754
271
303
336
385
40
411
270
430
626
874
899
463
809
103
51
877
379
348
205
728
837
972
62
540
984
589
331
312
427
416
555
495
23
953
163
906
153
958
579
369
511
758
390
387
775
110
49
276
139
205
559
42
179
909
868
709
940
3
500
945
454
20
36
618
114
237
664
331
463
552
924
100
2
228
183
49
533
976
122
445
453
422
688
421
114
795
567
460
64
563
209
96
536
854
839
301
32
682
681
722
211
447
838
265
614
662
882
529
902
601
236
241
426
405
834
144
925
188
408
785
70
868
977
227
389
763
742
29
830
483
673
758
844
267
519
866
423
742
819
60
944
991
793
137
47
955
649
881
2
446
928
763
209
455
3
130
525
38
737
36
75
772
620
90
123
679
387
525
324
541
267
187
382
748
502
298
761
167
730
662
568
29
133
432
154
514
2
711
295
529
532
995
49
142
180
936
484
322
895
981
550
853
909
183
269
812
502
893
299
572
394
105
669
47
934
924
135
840
302
23
184
8
292
961
198
414
85
931
638
983
586
853
431
775
552
707
908
445
735
663
748
536
706
886
398
70
835
843
334
42
180
558
357
790
638
566
834
658
802
224
430
22
404
639
407
544
93
715
23
474
565
739
881
904
757
467
378
171
863
896
516
3
458
777
449
588
897
458
85
467
431
831
946
52
255
973
290
618
735
622
171
781
653
710
730
892
196
64
498
232
752
772
919
588
338
901
610
635
593
997
91
471
861
226
870
864
814
131
779
6
453
713
420
38
77
942
410
241
2
876
887
496
383
270
393
600
495
946
801
42
202
194
461
114
172
198
88
604
587
784
222
856
710
805
261
702
706
139
195
603
519
553
154
369
465
685
787
989
421
7
337
417
142
905
968
671
289
945
548
198
217
3
627
285
421
156
779
248
820
169
846
193
729
926
861
469
467
429
584
309
10
796
680
729
22
272
502
521
884
421
363
32
49
515
926
464
172
629
74
664
984
123
183
681
784
977
261
931
809
920
794
430
404
427
483
417
144
417
269
663
533
941
168
878
934
209
488
949
683
100
927
185
168
640
909
341
783
62
275
956
291
705
85
489
82
454
885
762
241
386
240
492
115
21
729
68
293
887
881
263
526
120
721
289
123
469
689
442
799
385
726
615
780
843
177
107
198
156
55
495
483
337
855
814
466
486
798
923
423
272
886
733
87
829
608
927
997
287
474
897
159
726
820
899
144
536
477
837
178
72
985
664
717
984
969
122
287
810
216
431
59
262
756
571
789
114
931
22
212
771
75
158
972
406
876
23
438
3
966
881
554
789
534
748
971
292
54
113
290
722
277
171
184
436
733
205
549
20
890
201
585
909
987
359
906
520
311
974
335
620
336
41
60
977
722
22
194
417
650
459
607
48
327
490
84
805
810
866
500
414
461
789
699
570
469
716
220
403
867
318
816
288
382
933
970
677
275
168
256
898
63
828
440
815
624
933
665
822
741
417
957
893
567
44
526
326
864
167
38
360
95
247
98
74
635
440
689
832
418
144
199
100
319
156
969
598
446
917
6
635
306
439
627
946
496
650
297
509
178
273
878
635
86
883
825
82
252
422
598
81
919
295
728
907
359
162
497
115
443
656
171
589
824
563
81
368
571
454
628
540
902
359
434
634
451
829
497
589
153
676
136
788
383
717
960
665
494
127
863
81
246
342
269
986
913
50
468
915
64
457
889
486
89
912
600
405
557
972
160
422
409
141
150
332
795
875
422
372
102
907
87
306
324
570
764
86
505
631
479
223
373
51
826
887
682
228
751
355
3
533
335
587
879
356
481
643
318
462
300
121
579
207
279
38
91
14
34
363
110
584
563
961
434
510
435
816
81
301
270
225
354
371
207
152
100
171
805
985
330
518
931
795
541
103
791
568
259
354
178
9
326
69
397
250
393
729
84
198
978
978
325
318
122
531
58
374
422
703
726
997
725
789
553
6
271
806
617
77
449
452
80
692
600
710
597
317
526
214
883
380
425
345
903
967
998
50
950
82
395
542
113
975
451
349
304
290
423
692
51
732
41
783
717
558
246
430
685
411
405
318
305
948
162
380
81
261
333
8
663
302
411
214
697
411
310
456
465
546
968
564
588
37
289
104
716
485
706
534
307
962
319
734
65
790
193
844
558
19
870
825
876
142
588
884
904
776
995
671
960
734
397
178
77
433
671
391
166
593
58
37
695
992
942
233
233
420
609
429
434
13
724
820
603
919
908
318
952
558
391
222
102
812
171
9
125
143
498
4
679
991
786
255
388
779
253
652
613
538
665
151
238
443
615
8
879
540
607
87
190
551
114
616
590
929
421
277
750
272
768
124
697
790
787
633
192
764
703
136
362
855
105
999
203
659
348
152
692
131
811
29
688
385
305
506
755
872
896
213
286
158
276
425
50
352
635
827
400
714
638
623
861
156
736
826
800
134
546
68
171
918
421
954
79
317
679
804
62
752
168
581
532
967
970
999
772
799
97
41
257
135
961
589
841
615
254
500
511
689
632
171
16
354
258
605
646
265
812
43
849
952
76
447
162
543
553
539
153
763
892
607
674
928
60
32
750
368
319
294
860
968
57
283
186
504
443
862
671
95
691
997
331
315
432
205
371
510
345
757
54
396
704
819
196
306
968
713
381
330
881
536
692
159
784
681
833
672
39
203
16
155
503
538
845
590
968
840
783
613
387
70
463
622
445
17
218
953
788
648
739
255
753
499
698
967
19
400
486
277
938
412
973
66
682
758
344
121
537
454
605
326
796
519
309
644
772
918
447
433
359
841
164
63
441
556
200
844
195
786
485
992
997
536
347
753
204
325
150
792
561
32
25
692
374
953
516
695
842
199
622
853
177
282
705
401
211
563
169
452
197
292
667
115
429
92
802
732
126
106
945
219
737
469
871
428
464
448
315
47
329
334
480
775
562
178
741
463
424
516
513
397
851
538
300
204
437
528
449
651
385
22
22
190
980
833
512
270
55
989
808
263
689
670
968
376
78
445
854
55
103
440
601
196
648
608
267
955
104
927
689
68
841
170
781
362
629
891
11
573
139
397
768
705
667
768
712
859
202
451
948
918
764
534
42
504
734
601
500
332
531
970
302
496
567
185
476
197
894
877
529
160
319
501
708
286
65
980
732
113
242
1
625
288
485
572
711
585
133
436
668
948
222
140
788
680
399
851
212
160
556
512
978
417
662
571
185
475
750
283
407
627
508
576
806
718
239
542
32
39
233
901
108
694
725
180
961
142
724
969
191
161
920
279
924
650
812
990
362
553
922
365
692
650
728
824
599
145
463
548
502
772
517
955
9
618
518
805
784
961
528
471
211
242
13
935
741
674
336
183
816
120
622
955
584
601
719
301
428
205
885
949
473
223
545
284
851
57
145
655
465
811
691
781
413
526
33
292
14
667
342
792
598
844
496
407
836
730
306
456
400
804
601
758
177
835
184
96
86
14
609
506
794
247
525
435
277
405
54
228
192
269
328
107
544
471
809
535
924
32
491
873
929
932
397
290
6
779
87
176
72
792
4
727
738
242
573
937
867
985
969
964
492
927
288
736
833
80
708
690
264
404
868
760
608
733
326
51
41
930
433
190
261
870
404
990
278
973
653
884
335
777
698
581
53
497
75
537
797
583
731
102
676
61
301
689
329
820
535
889
826
86
898
233
631
34
5
224
501
855
149
319
660
638
632
792
336
91
1
794
980
485
575
454
100
193
831
582
658
845
336
387
405
449
893
634
370
758
506
828
941
830
556
353
648
967
336
961
781
177
696
643
449
887
103
722
562
875
856
954
457
313
534
511
591
339
45
3
813
833
753
122
172
902
277
28
184
145
500
378
709
927
214
746
353
740
613
252
392
236
542
400
753
653
4
500
501
178
926
540
624
247
621
64
644
922
661
428
720
228
136
772
475
813
390
224
731
351
344
99
685
861
498
336
863
534
509
19
328
703
34
579
234
315
156
202
779
626
302
46
29
887
33
88
873
460
447
829
575
137
245
606
22
456
689
986
765
429
785
548
377
450
30
395
521
59
961
881
308
920
582
397
201
606
452
505
784
742
851
371
134
633
983
238
434
761
610
623
720
441
858
32
337
470
211
254
749
836
833
706
862
416
462
886
886
118
78
707
88
132
416
397
481
740
208
665
614
708
702
58
145
359
624
773
812
306
250
715
749
223
654
247
817
219
532
915
796
103
224
402
809
298
666
116
317
239
65
96
390
833
22
379
733
986
673
578
101
215
171
181
356
139
522
996
380
963
296
253
451
125
275
94
524
956
434
576
30
537
957
860
435
940
163
940
827
698
361
155
220
643
584
703
93
232
148
579
931
96
725
651
172
829
392
104
13
964
726
92
11
678
556
241
235
6
420
601
42
268
141
755
188
951
164
29
104
506
484
208
617
417
45
699
334
380
462
840
163
675
822
922
205
597
71
559
305
348
212
217
136
928
134
71
552
381
385
906
341
202
619
395
188
863
783
951
859
159
297
315
125
531
634
190
928
621
753
507
655
31
748
375
131
691
957
382
163
288
499
635
996
924
910
907
90
544
63
278
965
701
85
923
709
915
312
72
922
229
663
727
503
531
950
388
691
913
793
948
208
609
770
867
190
25
374
973
808
29
146
491
163
890
90
452
47
250
104
213
666
53
684
650
246
644
617
531
734
118
723
658
487
587
954
663
900
231
326
745
453
881
224
202
501
403
601
364
490
344
457
408
937
135
782
576
671
650
848
529
315
58
297
921
940
748
30
787
153
527
263
4
606
448
470
936
67
398
136
306
762
993
376
532
616
433
521
7
424
720
710
300
739
33
361
819
428
119
181
262
453
279
3
118
405
892
324
499
730
460
886
887
367
826
31
708
751
570
823
229
724
581
154
942
940
460
129
491
760
706
28
175
467
622
76
252
891
481
41
591
140
792
422
695
238
407
614
745
865
846
982
148
328
426
189
972
98
689
512
792
969
216
109
721
964
85
359
821
594
124
488
670
977
657
639
569
642
579
444
803
517
491
929
370
751
74
297
816
512
70
694
177
844
32
612
510
995
472
961
206
378
153
180
64
444
71
962
120
333
69
321
331
108
167
739
536
727
383
102
549
727
270
951
854
707
433
354
121
328
992
367
704
527
366
581
341
15
746
792
501
959
331
139
234
945
724
401
903
928
908
293
883
899
845
732
176
440
74
18
896
134
640
820
741
91
306
645
917
435
282
206
426
707
647
736
307
548
207
823
180
927
816
788
404
422
48
984
286
766
701
626
998
923
824
962
329
472
802
609
924
964
607
911
443
215
475
5
908
211
110
102
608
417
46
156
69
796
906
722
16
775
134
279
713
724
248
720
771
270
754
40
324
877
674
441
452
720
48
248
885
808
878
31
295
675
718
283
936
755
533
861
29
702
484
131
997
524
40
446
625
368
169
127
271
205
399
608
478
465
225
782
755
859
667
865
797
279
795
296
159
632
696
286
216
958
628
627
281
951
132
300
906
278
445
224
728
741
856
202
691
347
585
797
127
834
344
332
954
70
997
727
225
987
636
180
342
407
934
979
524
206
891
895
548
728
912
646
329
280
719
943
674
826
777
463
382
713
745
897
970
374
958
934
446
475
132
597
940
891
235
903
512
252
999
176
108
505
613
711
496
118
952
678
946
75
122
284
599
799
178
275
748
463
640
770
693
971
821
292
458
15
51
594
409
247
581
564
730
547
343
38
801
800
756
834
733
386
458
706
732
776
182
189
472
273
993
502
390
940
765
788
653
170
62
963
564
228
585
344
348
279
934
84
578
118
758
115
985
819
240
974
34
16
523
391
440
369
865
978
753
60
265
710
239
813
835
115
557
43
414
297
145
209
793
944
794
355
452
457
652
110
888
237
738
143
460
916
148
161
167
51
275
95
934
353
778
996
794
81
504
541
806
593
262
766
685
392
158
783
896
224
198
821
386
904
982
838
241
604
622
369
279
242
472
13
10
513
832
142
445
803
608
4
960
927
756
391
772
178
485
414
651
660
378
745
132
255
983
903
863
851
2
742
715
660
864
365
924
557
353
77
851
360
959
829
920
906
806
880
898
566
315
989
975
588
253
559
34
291
468
567
74
634
372
18
33
177
223
901
121
752
329
305
353
452
589
467
203
688
176
972
124
134
771
235
264
363
465
726
860
844
350
47
630
765
848
148
996
839
55
443
121
840
684
537
547
133
772
605
681
869
916
190
516
817
678
354
744
69
754
652
838
933
651
359
799
407
908
753
981
538
343
11
843
859
417
473
504
790
575
602
705
618
325
935
181
195
925
773
416
970
729
84
502
372
683
375
114
835
973
846
644
934
537
190
169
225
5
824
245
374
661
170
494
73
158
824
552
47
81
142
247
210
892
768
791
622
474
134
383
454
246
795
831
619
790
755
759
50
41
595
466
886
341
313
755
967
84
280
924
135
256
580
610
767
904
350
402
902
443
400
937
54
788
541
733
539
449
545
125
724
134
610
511
102
875
511
573
527
391
376
242
255
220
173
981
648
108
531
380
544
328
475
142
327
857
59
307
662
797
579
941
734
54
296
593
559
22
151
531
602
951
923
135
527
763
720
879
339
300
465
977
598
363
256
148
629
486
83
927
896
34
432
616
744
127
704
273
786
847
216
97
59
419
812
203
941
311
728
55
512
746
422
741
689
703
543
896
996
320
60
302
261
529
860
110
917
879
793
178
783
767
217
250
414
699
606
554
149
791
665
942
966
457
681
872
127
103
602
375
398
698
375
635
305
295
666
998
492
934
954
978
754
856
376
365
724
647
379
590
513
743
451
341
836
708
692
817
258
845
974
123
262
983
815
35
774
741
824
791
609
159
793
608
91
395
65
334
723
32
805
39
393
687
210
364
37
805
472
119
72
910
533
986
226
151
280
175
530
651
854
505
384
59
155
744
599
677
488
954
210
741
505
249
696
736
263
632
964
112
264
515
64
413
795
120
160
616
755
207
721
432
441
473
232
421
405
524
984
53
615
554
686
240
631
717
667
459
377
709
449
315
438
286
333
271
480
245
419
321
522
922
202
595
309
415
446
212
954
521
581
240
369
874
244
280
712
878
934
997
261
801
954
948
641
858
945
136
321
153
365
66
629
158
198
502
341
757
22
724
42
972
337
870
56
197
703
855
741
142
803
428
316
696
22
160
209
643
534
569
122
462
125
93
600
468
230
350
952
197
729
968
759
244
40
289
55
726
1000
414
519
178
799
378
628
955
984
735
811
147
165
467
68
620
601
918
407
23
279
411
713
522
441
321
330
564
804
615
749
216
823
312
242
453
464
888
219
357
898
367
358
311
432
742
287
159
742
414
685
779
205
523
219
674
706
422
641
990
797
33
712
854
503
523
347
14
396
529
539
590
761
176
154
113
823
244
657
202
45
146
194
886
420
829
215
72
578
314
15
634
225
352
140
388
149
596
598
529
549
761
220
193
950
479
300
419
321
939
865
217
326
950
537
350
804
764
966
175
684
845
245
137
562
806
540
506
36
867
430
569
771
555
67
749
926
813
348
77
260
338
719
22
731
772
126
941
873
298
880
301
558
309
866
391
31
100
660
470
244
909
536
146
601
252
307
329
187
204
202
266
437
172
705
39
997
745
400
360
201
420
378
694
209
343
691
515
339
721
678
989
546
248
714
500
314
677
88
180
461
687
276
99
462
318
801
800
963
524
286
644
85
885
20
843
950
72
583
76
654
483
635
357
542
317
951
131
212
506
223
672
164
78
890
469
368
977
531
702
340
872
919
831
469
194
873
45
470
508
486
566
837
330
116
824
52
665
771
93
170
879
189
487
93
992
931
145
467
101
278
10
715
489
604
870
107
841
135
229
166
189
704
122
928
389
190
235
748
413
816
521
429
266
374
65
382
116
751
126
457
69
841
115
819
95
37
783
988
798
8
17
710
80
426
501
870
274
592
903
47
966
699
424
640
575
574
292
701
729
323
234
775
613
249
37
38
768
765
72
1000
255
818
46
878
716
509
305
498
630
158
741
247
968
84
717
159
526
737
446
702
472
644
968
210
997
817
177
178
522
907
388
852
610
388
533
625
598
503
453
766
945
509
644
912
511
33
510
590
256
967
388
724
368
386
598
751
441
454
330
472
139
116
434
242
710
661
93
413
840
930
904
228
593
984
115
512
592
596
642
579
190
765
2
743
93
804
517
701
801
229
929
848
259
796
131
275
335
570
805
780
62
813
634
774
141
831
150
312
823
649
468
859
151
526
894
568
498
883
838
29
492
173
562
443
706
571
27
133
942
162
533
169
536
453
856
604
897
632
361
507
387
987
896
541
727
290
327
295
377
748
244
979
668
344
714
357
74
994
961
994
653
969
490
5
583
460
496
469
718
996
363
612
247
667
671
661
884
739
417
6
488
312
83
925
647
134
784
677
559
519
971
202
493
630
55
16
218
27
913
143
54
490
398
96
604
595
914
974
829
438
576
720
826
183
721
476
589
830
331
730
44
715
454
682
881
765
845
809
44
464
879
160
253
822
221
275
604
366
904
995
126
339
201
593
141
814
138
836
422
421
583
603
429
730
582
613
368
94
26
700
400
970
795
794
117
278
222
446
299
361
120
296
62
524
622
364
708
909
780
409
16
662
192
901
217
8
960
346
628
810
887
783
755
667
173
292
696
408
814
275
851
80
520
49
257
205
289
64
350
76
652
652
616
379
237
760
345
257
537
572
695
204
650
257
352
874
352
353
345
955
57
437
992
741
84
819
530
968
216
958
707
729
670
189
514
31
480
114
268
661
768
741
453
532
544
5
107
639
476
860
25
46
541
500
732
113
596
608
15
272
675
749
756
242
262
159
977
520
870
203
291
349
24
731
375
143
120
412
752
512
715
862
853
621
514
66
318
611
680
150
525
195
137
26
582
353
211
828
424
247
301
336
152
108
256
769
515
845
817
449
231
582
742
806
906
124
264
157
440
637
89
457
161
432
464
969
401
816
759
444
851
428
612
907
858
352
903
598
743
532
781
989
347
745
454
17
272
429
748
854
689
171
239
606
186
544
352
292
826
304
952
344
512
647
845
655
764
335
54
894
237
51
931
390
655
240
946
431
349
34
469
182
268
608
996
792
128
448
25
451
389
567
240
307
840
670
750
178
908
619
859
938
222
331
280
315
608
425
735
576
402
487
611
251
945
853
709
614
155
173
173
87
315
828
327
167
630
502
539
695
592
787
191
537
958
749
496
811
955
804
235
801
360
77
416
642
268
662
503
623
680
851
149
731
538
440
264
661
461
697
891
56
221
412
557
186
981
754
726
629
384
307
478
763
872
765
813
45
15
229
808
116
232
966
409
751
974
792
808
545
373
920
205
13
377
272
259
494
590
740
659
807
419
818
88
152
603
371
299
145
908
29
149
180
568
854
206
558
39
458
9
941
798
753
111
722
159
814
805
848
589
167
845
486
562
951
507
677
791
4
72
764
569
912
181
983
34
442
529
46
424
601
68
952
731
756
216
514
764
871
568
334
274
934
262
994
695
82
467
296
49
753
405
244
727
436
976
321
186
254
299
304
110
629
428
511
162
779
117
903
319
628
701
906
673
999
135
164
719
627
713
696
412
617
278
87
677
467
559
412
649
654
810
556
643
95
130
492
748
517
650
851
964
840
297
807
36
256
1
914
454
566
978
27
642
691
262
844
989
13
691
939
231
341
422
369
654
854
406
68
745
323
399
281
188
291
798
232
573
649
26
70
782
226
207
883
780
601
642
248
465
317
910
341
291
101
501
97
624
462
530
309
178
266
449
836
407
518
659
254
445
552
575
441
43
308
27
530
946
186
802
607
346
199
815
363
351
801
615
585
914
832
916
50
276
442
391
896
801
773
255
987
1000
386
30
147
681
163
476
393
393
439
855
440
771
646
601
847
960
636
974
120
26
137
467
988
141
533
576
840
396
237
47
8
267
496
852
189
141
325
973
783
807
682
518
362
485
651
847
772
809
626
123
627
130
965
174
44
680
613
622
556
398
489
991
28
691
265
905
278
11
285
542
880
858
9
247
225
799
308
551
557
95
364
883
122
833
718
963
965
780
215
167
207
771
221
200
805
124
494
17
913
418
519
286
966
5
966
614
505
793
148
415
596
136
15
547
413
197
268
796
186
732
634
875
240
77
203
851
318
65
22
804
698
678
773
113
904
546
488
939
939
779
733
386
56
233
558
319
48
13
862
18
931
914
489
691
654
556
499
352
185
147
595
732
923
187
582
705
869
916
82
167
413
6
497
435
921
787
288
6
516
318
272
956
574
712
533
345
506
456
932
751
329
879
992
437
391
567
54
745
333
247
262
1
98
621
833
599
287
662
558
965
699
168
200
767
242
700
712
106
679
621
805
394
903
634
392
292
486
64
900
391
293
163
232
280
842
872
439
265
901
799
783
290
569
660
930
539
672
65
475
791
895
322
857
841
451
887
4
223
505
190
706
996
755
832
825
609
804
571
906
705
963
80
681
257
139
197
235
637
319
284
333
13
971
339
490
24
334
707
931
780
230
622
466
86
461
273
683
241
341
801
558
863
161
444
771
16
666
14
526
301
713
53
668
695
340
293
226
660
395
493
296
449
754
345
360
581
878
901
694
201
150
871
546
393
971
250
124
535
98
946
257
499
62
461
795
814
809
235
426
910
878
966
615
225
555
49
779
268
422
336
675
675
652
526
185
942
200
890
356
787
775
449
579
21
111
416
267
418
573
472
259
291
600
407
417
425
824
773
610
528
943
446
309
631
630
407
548
689
778
656
876
200
382
870
241
831
249
327
441
869
476
653
911
839
367
147
116
757
36
803
756
307
456
659
326
706
120
757
304
129
803
853
385
344
143
968
748
661
863
24
282
356
526
102
58
518
643
304
134
640
781
814
920
339
124
504
942
329
543
376
812
109
837
161
618
875
279
684
760
867
947
940
426
648
658
402
577
881
470
778
273
765
832
268
632
622
486
423
539
108
98
836
458
116
446
255
350
728
699
164
745
520
956
534
485
96
744
226
512
983
638
481
337
919
477
60
527
139
940
814
603
454
397
933
251
812
996
662
633
556
961
25
886
760
915
973
615
893
858
420
294
539
103
835
4
49
89
411
872
836
476
339
906
464
353
397
659
822
698
880
301
429
462
878
231
391
774
50
315
574
786
338
202
340
652
507
949
580
954
17
349
839
656
473
944
52
319
852
700
765
899
743
711
769
896
101
99
733
15
371
495
772
793
424
80
908
829
399
213
982
347
440
77
934
845
305
618
323
474
19
288
546
631
32
745
549
949
854
732
717
506
774
783
226
633
45
306
414
101
887
828
588
855
756
894
288
692
592
171
211
460
181
817
888
399
340
54
730
251
354
195
238
611
9
82
33
810
573
4
832
273
311
690
661
950
454
885
420
866
60
369
352
274
884
7
123
228
187
557
955
577
394
537
748
547
664
382
153
94
719
511
356
163
713
677
712
823
574
159
429
30
954
941
219
401
900
991
221
957
386
186
495
297
113
187
111
984
345
821
163
284
117
93
57
518
828
24
68
448
108
881
467
80
843
260
498
203
432
661
83
783
654
885
436
74
17
612
697
910
95
990
267
216
154
912
798
183
322
945
685
914
644
545
460
618
668
279
720
558
574
253
72
55
478
855
123
818
250
216
731
730
79
498
544
31
58
240
392
520
281
504
222
2
263
505
83
694
48
712
140
746
17
189
803
315
228
54
856
883
114
499
895
629
506
777
457
684
226
924
13
78
952
740
353
2
679
755
985
778
827
474
868
590
11
173
177
597
524
942
828
519
838
455
172
172
808
145
607
708
807
106
860
510
731
32
337
797
643
955
260
996
880
363
247
838
567
524
668
966
848
478
318
569
603
228
949
166
65
113
738
229
541
185
65
743
400
729
837
181
581
708
172
611
163
994
485
806
920
775
858
317
407
367
136
424
807
16
361
763
683
946
991
225
836
32
858
399
622
20
981
441
495
93
131
754
13
984
534
263
234
506
223
415
252
558
312
222
588
221
896
818
320
471
410
39
102
462
973
459
675
51
688
176
103
439
911
404
703
387
218
569
563
439
174
189
636
992
41
293
596
855
236
494
64
140
697
146
337
942
313
188
442
303
227
377
240
355
129
624
242
378
617
63
56
781
334
279
634
597
875
868
12
195
363
121
858
335
216
160
956
561
860
299
655
214
42
747
500
8
967
37
426
188
693
703
416
808
82
827
4
534
164
20
817
682
901
299
179
933
247
100
877
246
836
373
378
46
812
284
132
652
144
560
144
288
172
947
609
714
338
522
301
699
748
873
315
76
719
258
960
109
495
902
854
228
114
531
748
12
777
96
189
407
140
386
922
825
673
899
822
694
593
894
244
464
904
44
904
861
780
463
774
400
838
183
58
755
880
350
968
644
295
487
917
283
672
216
733
306
89
691
668
292
204
858
328
679
532
349
92
897
235
468
255
17
340
251
910
61
543
30
541
421
669
272
406
464
417
735
42
529
215
124
647
985
923
509
687
917
600
752
774
323
777
26
778
395
499
369
166
579
896
820
763
634
209
362
483
833
982
353
114
775
630
551
856
29
689
164
213
969
840
561
746
710
236
445
383
15
755
269
251
410
530
679
460
514
551
580
859
752
132
177
559
236
824
22
940
549
657
654
915
598
683
887
481
466
430
192
953
452
245
911
836
36
491
200
980
599
222
743
522
87
263
248
141
701
582
665
308
877
492
876
537
525
460
333
145
489
263
752
642
694
808
502
679
289
192
778
428
361
463
983
385
492
121
21
824
493
609
326
585
145
898
577
420
688
835
955
872
67
70
732
551
695
238
751
701
561
578
26
160
73
289
326
180
931
784
96
75
651
416
459
323
126
411
406
617
729
507
453
280
38
222
221
654
189
791
389
324
277
532
448
517
938
813
513
607
462
878
200
419
367
443
260
959
323
429
201
259
750
143
630
245
184
971
393
974
745
940
925
51
607
540
358
821
451
811
79
723
261
53
420
236
668
445
57
22
314
502
540
164
301
580
82
920
895
548
365
12
81
376
665
301
430
599
43
608
33
535
675
592
902
709
680
817
352
116
947
590
337
866
529
709
635
257
159
5
64
513
302
424
622
269
969
491
555
382
189
120
892
790
644
181
887
967
475
663
172
974
683
1
135
230
850
938
200
918
158
268
244
354
778
945
309
767
769
367
183
644
547
45
153
240
850
504
421
894
857
37
271
490
814
808
44
814
51
929
390
545
773
316
50
335
375
566
657
757
326
593
621
888
851
503
225
985
747
16
442
974
657
767
866
465
70
991
339
631
95
406
536
557
801
617
813
595
547
965
69
862
248
577
255
273
989
291
427
374
708
262
901
837
973
299
185
661
1
409
817
26
150
607
161
250
87
766
484
493
720
179
392
704
751
558
759
777
420
366
858
72
601
770
287
226
903
993
646
683
866
513
646
462
633
395
470
487
725
9
786
215
654
533
727
404
168
939
562
608
844
587
518
378
610
196
407
226
518
681
299
107
765
303
447
556
507
624
102
646
511
13
618
613
46
816
491
338
718
867
568
861
121
706
682
793
314
723
415
736
105
467
503
862
37
534
645
364
822
753
125
806
638
887
708
312
387
707
723
141
514
70
116
438
440
605
522
838
13
703
90
190
636
777
868
854
887
177
50
918
510
708
281
195
652
450
516
51
69
455
646
966
828
939
201
199
738
785
978
119
298
553
363
534
511
662
433
854
279
124
706
13
429
1000
489
878
650
754
390
288
740
803
476
982
603
857
935
381
368
107
881
647
881
903
95
450
532
351
105
622
76
148
975
241
657
87
585
701
727
855
964
46
915
164
480
135
213
788
268
254
18
779
324
403
668
989
110
825
135
48
341
291
420
110
884
279
36
989
325
487
681
830
817
10
825
50
289
150
482
107
948
34
881
598
286
157
86
297
467
481
877
992
83
991
379
418
709
424
966
151
627
471
961
52
372
880
530
748
455
786
941
680
744
48
76
437
500
536
655
466
992
143
159
751
945
735
827
735
822
381
447
559
72
998
867
705
53
963
273
246
261
342
343
205
903
136
309
986
581
338
818
422
56
666
217
776
646
548
586
935
780
296
377
103
651
464
1
562
684
29
86
410
780
411
425
787
874
322
804
740
393
105
11
784
601
508
343
206
690
841
812
313
665
44
92
193
758
508
964
998
147
405
646
413
186
884
923
775
270
718
459
236
674
934
991
505
424
453
376
916
311
50
634
42
672
766
161
619
442
454
314
265
282
326
383
408
314
207
830
844
83
689
275
550
908
548
411
766
697
583
428
818
646
508
40
884
957
655
434
672
900
5
756
12
42
530
838
458
467
885
913
328
151
263
21
27
442
616
645
124
753
507
867
420
178
579
16
143
722
988
327
503
228
182
601
53
895
111
263
709
476
236
475
805
875
791
153
275
868
312
864
907
110
829
546
616
417
38
934
875
556
418
377
736
413
523
461
391
477
615
485
822
13
397
364
926
183
861
980
406
635
143
359
860
750
874
291
749
835
697
188
348
30
507
25
340
587
516
200
485
499
390
8
645
147
579
243
502
747
455
91
520
927
7
118
38
648
662
623
907
50
289
82
749
533
513
670
734
516
301
136
776
896
184
370
143
154
570
94
834
447
365
16
448
783
515
651
955
550
131
749
474
262
599
969
139
366
425
956
159
355
603
491
448
233
992
751
572
579
492
987
297
89
851
149
742
469
561
65
977
2
610
787
936
937
838
640
667
83
250
316
286
639
935
88
460
355
160
828
908
543
805
90
176
372
550
914
911
103
132
389
970
628
545
248
928
741
278
956
21
77
550
773
84
533
29
304
808
295
725
881
523
302
563
933
742
97
644
189
912
522
381
149
190
657
468
773
540
725
130
743
143
429
226
975
933
329
537
272
48
424
23
152
112
61
916
920
593
642
264
969
890
407
945
194
437
702
226
105
865
759
673
924
180
990
556
495
991
190
970
325
68
856
530
450
867
28
868
91
231
671
156
288
165
656
507
770
443
790
453
330
805
218
637
910
697
729
481
372
801
153
891
705
108
100
965
5
910
727
281
136
899
103
589
391
475
3
619
847
520
638
290
353
118
916
829
235
136
320
139
906
165
370
357
503
27
962
639
578
963
557
129
657
661
328
519
144
461
895
765
693
458
183
364
629
722
289
15
447
518
982
655
702
251
610
610
867
830
705
49
817
280
601
3
681
738
669
996
713
409
609
684
698
667
360
8
149
249
831
51
242
406
576
172
965
959
1
23
452
433
443
731
861
819
686
866
422
86
105
830
478
238
625
930
451
575
129
736
666
843
780
260
857
111
936
142
40
537
33
290
113
685
801
359
199
672
692
60
295
236
228
498
200
740
250
695
67
270
755
966
180
214
48
65
700
153
469
861
212
444
799
866
863
639
815
90
775
743
114
558
177
372
467
309
444
70
491
874
756
401
333
995
668
939
413
865
244
964
990
251
742
464
496
666
71
74
88
166
344
671
865
469
922
665
547
812
247
482
173
385
655
317
574
221
68
13
944
168
164
848
815
903
171
70
173
1000
909
263
191
758
83
7
346
795
120
856
211
458
35
323
314
731
900
470
824
617
506
653
693
972
722
193
104
356
855
41
723
772
56
993
318
73
439
646
745
434
114
90
180
511
794
268
746
823
949
54
348
456
779
347
629
390
406
922
446
640
764
322
135
916
648
839
186
694
243
497
603
438
261
999
374
211
488
812
990
45
163
902
857
282
90
159
819
534
817
208
704
58
522
141
989
95
473
682
194
182
63
413
622
511
442
33
375
181
727
6
372
571
626
635
286
137
26
277
863
644
810
425
108
220
706
374
203
636
430
479
820
926
813
370
725
773
829
45
141
95
690
453
400
933
223
52
822
32
787
818
582
468
878
363
590
336
387
155
31
729
222
285
281
241
603
889
364
757
895
124
976
579
287
539
385
839
962
782
184
671
675
877
951
890
789
680
378
745
922
746
309
867
308
523
430
715
855
714
81
668
679
677
744
384
585
927
314
238
555
173
150
425
818
831
281
812
478
615
838
707
3
648
953
536
106
505
913
808
652
744
316
888
295
762
335
787
473
296
968
640
237
442
333
557
156
891
657
284
181
942
562
436
947
964
704
161
439
202
570
703
347
201
469
730
698
672
379
258
581
328
298
683
845
68
217
694
670
901
621
881
825
180
710
384
239
15
130
297
238
263
93
402
419
64
209
440
695
767
215
370
452
952
48
949
142
439
424
551
864
393
107
337
664
51
603
783
333
208
866
71
492
287
922
75
582
743
31
458
209
558
103
957
956
826
623
33
391
748
253
902
499
885
625
423
166
188
560
425
685
141
117
875
445
347
406
660
137
5
68
917
791
38
694
529
963
84
212
858
183
136
452
811
569
438
696
74
156
92
991
704
57
977
404
306
53
753
200
711
581
150
150
403
381
269
744
934
261
318
165
246
510
90
248
97
538
451
537
776
195
341
738
896
56
51
556
362
676
78
923
496
463
444
114
956
325
209
79
264
724
825
607
733
91
86
625
64
818
720
994
187
226
47
665
701
927
740
965
884
35
428
57
347
493
786
363
325
633
803
810
21
732
88
317
634
946
488
854
471
503
734
729
24
455
567
499
25
602
573
77
244
408
959
105
255
892
644
676
475
494
307
802
523
839
523
846
367
225
691
270
756
346
230
652
190
496
456
921
18
988
595
142
295
81
654
991
725
7
224
266
342
39
878
388
573
692
462
893
14
276
516
299
511
998
994
608
154
750
680
906
358
514
987
210
554
50
335
714
869
159
904
91
836
352
403
334
362
202
395
921
141
979
858
739
208
480
911
309
580
50
69
316
791
925
923
378
652
969
941
252
757
755
904
415
96
737
587
57
635
958
462
34
867
315
578
286
165
924
271
521
209
545
31
740
914
326
689
288
25
353
45
713
15
643
217
615
997
223
277
89
100
904
185
100
178
192
654
314
776
545
314
498
988
840
504
581
212
475
45
874
851
24
625
745
674
718
786
241
903
334
55
793
91
248
466
117
496
522
569
902
986
881
40
664
450
380
169
402
345
327
840
357
251
814
84
179
269
779
928
327
671
98
65
329
477
641
819
840
498
546
964
114
6
270
253
552
341
91
903
517
681
829
878
493
724
517
523
941
186
634
11
950
910
312
97
871
824
587
863
654
180
408
529
526
298
580
870
984
506
268
494
826
88
964
29
75
842
83
257
203
263
460
386
37
480
51
921
71
807
119
61
692
176
980
148
3
788
195
465
509
12
709
591
911
963
41
594
670
195
76
589
782
638
404
555
429
253
435
871
776
870
714
708
209
328
941
298
732
347
243
78
88
534
107
917
376
524
246
922
626
579
368
831
800
845
445
605
189
113
639
673
995
138
461
171
204
498
95
693
494
513
78
263
23
980
684
726
436
344
431
272
313
442
93
571
583
166
497
882
158
213
155
535
109
577
485
379
294
641
953
176
198
462
13
388
149
375
83
511
760
135
158
926
622
572
843
198
816
229
765
918
770
480
309
475
346
407
611
560
831
118
555
872
655
232
299
192
263
988
502
962
559
787
995
557
713
44
125
667
945
854
355
607
108
369
17
905
489
759
284
233
281
264
545
576
610
203
360
582
812
710
81
172
932
655
58
839
11
412
53
527
831
154
128
633
216
871
806
468
846
593
742
446
840
210
499
403
17
810
270
688
826
692
544
100
450
90
807
315
451
147
305
182
655
886
805
146
656
761
68
112
464
852
427
264
309
944
496
681
570
526
487
163
101
215
83
273
1
232
89
509
981
333
320
421
68
43
327
688
319
110
578
434
595
878
663
510
216
631
946
100
480
81
835
733
638
827
498
748
881
41
430
291
302
611
748
182
597
708
459
374
484
38
258
254
414
71
567
756
186
183
665
102
502
935
735
4
323
718
583
320
134
584
584
491
869
367
151
576
296
153
646
313
129
715
185
453
981
801
224
556
567
72
199
532
217
6
685
510
865
355
764
976
142
573
320
762
140
176
953
154
654
183
123
286
489
620
855
56
459
569
102
941
297
401
400
531
557
639
992
13
977
357
988
608
467
150
472
699
66
496
642
431
742
739
266
678
866
47
699
560
582
415
723
159
32
217
253
680
585
832
754
60
815
626
858
970
940
923
229
197
848
609
216
656
620
744
202
646
688
854
842
524
367
587
581
659
513
85
946
399
522
707
94
780
658
731
25
882
5
252
683
70
924
813
887
831
990
204
668
555
822
474
117
397
79
442
311
332
189
897
201
591
25
241
636
939
847
533
821
692
307
786
618
911
222
865
30
982
99
553
110
647
127
166
328
603
453
616
108
5
93
949
846
535
720
228
239
240
965
65
149
984
534
248
558
211
658
675
382
680
893
256
46
973
269
523
764
875
155
429
399
173
957
249
641
36
974
513
980
875
275
666
621
534
507
472
58
721
878
244
494
811
418
656
670
567
781
223
956
834
496
551
754
995
592
90
353
817
926
460
386
326
405
357
946
519
523
689
250
64
260
862
431
597
477
70
708
874
367
38
698
827
405
908
65
527
505
868
81
167
766
679
908
420
279
473
566
974
943
63
637
603
158
545
720
866
529
141
526
426
467
85
304
6
636
847
956
216
770
145
832
832
264
996
664
626
304
541
545
504
35
476
136
555
399
731
553
573
847
435
485
769
65
334
121
664
242
546
459
637
156
970
345
168
544
680
412
611
804
412
706
235
62
568
370
351
34
223
237
571
916
292
546
640
747
361
295
817
285
676
928
485
493
444
167
530
118
913
782
40
706
639
18
29
627
16
216
255
329
375
891
628
93
920
133
393
13
355
779
35
804
308
210
808
298
541
980
920
161
517
763
625
472
108
236
937
260
79
598
226
19
545
400
703
503
747
230
678
834
370
602
528
32
81
65
505
644
170
171
883
39
928
428
434
286
919
788
910
262
377
529
34
797
776
613
464
199
21
745
365
465
831
374
477
858
608
833
56
284
498
664
650
89
416
920
434
487
513
911
756
792
931
404
620
69
747
793
57
559
654
114
722
500
291
56
618
548
137
353
519
24
513
988
538
648
562
681
300
253
53
39
348
212
446
548
718
946
962
321
127
944
325
154
840
185
433
966
76
707
467
133
766
343
843
608
590
326
978
933
462
538
56
444
81
675
851
9
709
493
191
639
91
602
825
178
315
979
325
48
445
496
103
769
972
266
826
498
475
543
285
413
409
255
269
118
582
965
83
597
745
224
165
458
657
815
661
340
169
357
928
381
123
98
672
613
352
485
821
966
632
299
335
351
240
711
804
916
667
593
122
185
107
854
517
203
593
310
896
253
27
878
848
942
896
434
580
693
158
733
784
730
664
208
683
701
468
289
512
942
549
132
280
249
822
290
975
715
749
907
259
835
550
487
340
619
768
126
926
880
908
404
75
241
987
773
312
626
66
389
617
184
296
811
735
661
526
881
805
200
328
424
481
425
104
79
566
474
47
720
665
310
885
429
536
262
720
917
607
226
777
605
595
405
538
352
317
737
580
917
501
432
406
833
906
132
692
309
98
255
677
142
12
51
868
392
802
689
838
758
577
523
658
165
304
281
427
69
545
526
431
372
728
200
702
656
328
444
128
648
675
162
820
422
111
21
127
906
867
629
559
639
331
687
885
612
362
785
844
200
914
358
231
903
519
11
598
628
100
86
464
696
203
853
690
657
942
159
660
235
909
725
998
410
800
522
808
742
778
829
858
501
429
636
696
99
709
37
412
593
476
126
670
739
14
713
636
224
482
843
682
165
348
730
56
949
711
198
247
784
836
149
432
89
393
881
224
975
635
317
916
659
211
329
556
561
373
364
475
251
118
560
365
127
172
333
568
945
810
229
46
841
216
443
380
531
441
23
258
720
75
210
108
603
410
765
951
503
225
428
74
329
307
822
826
569
496
235
699
927
338
705
876
569
383
759
582
183
830
951
901
694
440
89
230
525
630
667
131
768
208
539
185
478
486
339
368
576
388
470
588
539
750
776
287
112
211
134
433
786
971
299
779
678
218
296
42
748
222
534
493
990
904
607
526
366
238
434
970
744
930
987
245
72
695
383
7
291
865
480
556
299
215
497
156
364
665
340
342
971
933
491
485
34
343
331
115
771
695
715
22
304
536
471
698
237
233
235
496
32
930
721
761
998
895
61
297
111
748
350
734
679
758
893
780
62
762
958
854
299
206
993
318
489
524
416
382
202
314
47
746
59
793
184
249
812
605
139
85
935
337
770
649
787
33
184
703
837
603
302
358
350
248
450
296
160
929
456
792
859
498
16
335
819
270
233
72
914
740
301
883
760
648
316
617
552
785
999
910
290
777
1
44
333
580
58
523
677
571
936
376
364
932
558
729
674
489
158
843
564
281
590
649
913
936
168
790
718
335
525
313
323
161
32
460
129
664
251
438
22
373
738
678
906
570
281
829
333
16
315
690
198
832
810
300
871
434
430
704
929
140
105
256
871
357
475
868
815
317
840
340
169
929
358
735
740
648
227
780
534
239
509
469
770
904
70
326
262
551
820
310
371
896
95
943
212
694
522
78
620
630
183
628
707
320
228
726
464
410
344
15
983
995
637
215
342
456
582
656
105
309
628
236
687
887
972
116
525
486
744
531
147
124
605
287
713
184
295
861
550
77
224
564
538
451
572
859
924
675
702
770
314
39
913
313
119
580
687
978
701
537
601
634
838
161
66
632
873
30
841
533
117
75
81
601
638
233
301
177
567
16
224
64
441
319
953
342
922
477
274
375
404
892
205
337
688
610
82
296
854
807
565
708
963
508
983
247
996
808
314
4
703
485
927
465
675
174
945
118
8
211
706
217
377
845
334
974
213
753
890
465
927
722
902
575
844
877
335
622
527
111
242
691
734
181
363
293
86
511
957
697
856
899
1
159
4
193
692
339
663
448
872
374
840
305
601
438
999
60
608
147
535
428
743
810
877
76
907
381
126
813
128
918
663
736
581
526
118
742
425
24
490
541
217
41
935
730
552
864
933
532
322
96
148
523
639
117
248
54
48
430
376
85
114
173
745
843
872
491
61
59
882
997
65
525
848
257
527
381
857
77
439
839
278
396
1
18
309
754
212
195
931
633
538
43
794
430
196
373
169
499
998
482
628
441
641
453
586
830
520
666
157
605
882
322
38
681
174
28
320
714
964
316
157
532
689
557
219
501
783
849
734
947
467
368
704
834
568
100
569
67
286
89
210
172
727
92
657
592
371
32
319
541
378
752
821
135
771
344
807
560
109
774
160
109
198
604
147
279
764
370
923
519
778
566
711
848
311
250
665
330
360
11
167
295
93
393
808
283
344
910
800
921
9
468
973
313
169
359
743
93
426
963
680
967
910
992
371
444
880
365
296
458
655
824
333
757
856
973
338
258
582
742
960
51
205
178
487
369
912
89
48
635
997
281
945
662
175
56
243
152
861
194
975
950
450
838
525
887
111
604
759
653
515
751
521
846
212
417
917
242
79
792
645
393
383
590
319
817
518
315
291
449
393
659
44
496
804
808
580
531
842
561
591
483
533
965
389
145
488
568
727
984
247
514
662
313
419
435
565
342
460
503
224
235
105
68
743
53
78
9
603
383
661
321
819
551
130
470
591
510
841
733
245
908
980
102
529
385
581
296
528
834
465
105
564
233
145
588
447
645
616
613
355
187
154
848
440
61
898
602
976
237
76
828
512
13
136
211
994
474
958
504
302
821
568
171
975
632
455
972
144
417
682
319
888
201
464
127
252
483
781
393
166
632
907
935
393
664
431
556
385
407
462
396
653
244
243
384
835
985
304
530
164
936
643
237
435
901
140
954
903
667
565
257
755
530
102
897
932
517
242
421
125
300
298
734
684
203
528
379
67
352
64
354
166
742
405
12
545
940
220
967
182
207
630
939
759
66
891
173
958
698
674
409
488
144
677
359
756
940
393
307
208
697
237
789
364
151
95
208
475
357
581
940
564
57
945
703
318
694
621
928
943
224
864
452
621
641
784
105
655
85
367
657
736
534
736
161
13
304
1
936
825
35
520
310
4
391
315
778
645
460
653
389
106
688
542
60
798
280
992
962
15
138
406
319
648
819
412
748
137
473
749
735
423
406
602
970
979
723
879
45
226
520
520
442
773
179
842
833
940
678
328
484
982
215
19
903
282
101
832
2
514
611
745
701
471
414
746
301
784
268
856
986
268
912
331
475
979
462
360
210
372
157
192
452
137
33
634
308
393
913
307
27
902
151
853
867
922
718
572
461
77
554
544
870
406
578
421
485
329
403
465
474
837
578
317
783
662
150
228
536
478
420
172
297
526
62
336
835
126
154
983
919
670
291
562
201
646
629
255
421
99
647
857
14
764
428
991
696
759
456
193
764
354
314
314
636
807
147
34
651
714
441
15
242
575
483
356
406
568
871
586
785
599
547
378
819
771
148
518
117
324
909
459
657
977
957
948
438
343
600
805
939
737
139
922
132
297
793
936
779
776
576
850
481
775
335
70
243
437
719
936
343
857
529
869
937
526
782
648
138
142
801
204
282
53
857
517
711
378
154
880
676
601
495
827
910
66
553
486
2
308
494
983
954
641
633
797
201
718
931
624
942
101
373
421
847
965
713
766
58
191
640
581
952
45
139
540
322
511
730
248
435
166
280
313
974
151
325
26
987
393
160
251
797
740
481
464
269
106
38
627
991
986
571
737
659
988
291
411
417
106
306
861
6
534
674
959
280
733
237
863
95
331
974
848
612
183
385
595
777
583
339
140
112
180
887
108
982
632
781
660
186
409
810
764
57
445
642
54
264
512
517
514
148
332
30
701
739
387
241
13
580
360
501
768
85
904
756
505
440
206
504
963
17
400
289
650
817
453
357
791
747
573
69
709
415
542
782
351
688
628
153
790
491
894
253
990
174
795
439
43
320
914
692
355
40
581
982
15
654
893
277
643
136
368
41
570
877
24
371
114
108
227
478
53
809
28
867
141
32
42
406
631
373
136
437
378
727
338
245
978
581
400
480
828
837
395
566
735
542
586
777
862
6
535
369
424
449
126
123
499
734
679
699
728
757
876
454
492
738
546
735
331
11
662
248
23
915
110
750
729
16
854
211
53
223
165
588
697
322
459
513
631
65
128
549
333
230
467
109
722
25
425
829
857
761
444
900
332
10
100
911
588
317
603
761
6
154
471
549
779
966
846
703
983
55
993
233
235
588
515
688
565
174
647
303
882
308
841
873
501
489
498
69
728
944
324
288
434
729
281
623
871
423
539
234
718
767
108
199
509
363
104
914
141
9
689
263
92
292
796
56
382
867
659
687
70
197
54
570
217
629
876
691
905
371
362
490
807
329
824
421
265
762
244
720
599
438
447
315
584
274
861
373
654
460
69
654
411
738
452
702
434
762
227
944
225
503
100
895
374
225
558
17
642
859
573
270
768
553
85
997
184
737
212
619
782
303
523
533
46
414
120
734
639
989
470
936
527
159
133
380
282
829
586
113
59
40
303
228
59
977
145
453
3
345
907
536
237
305
540
44
640
323
185
575
392
96
640
883
37
201
326
86
978
191
86
959
707
693
427
281
624
462
902
361
243
445
403
153
963
665
31
805
349
129
114
131
35
16
656
218
952
148
170
325
579
71
433
289
302
152
162
905
754
742
973
110
263
822
317
366
89
530
218
321
196
633
801
705
721
306
547
392
118
555
161
784
219
231
741
940
76
889
654
392
534
627
171
225
886
705
439
770
897
906
808
226
687
588
882
642
693
868
934
925
973
639
447
989
631
966
659
711
30
954
926
112
745
355
611
45
955
23
995
745
37
823
404
767
688
767
318
222
812
923
766
706
722
164
710
5
1000
890
416
485
425
671
81
44
21
186
68
651
149
905
158
785
994
743
181
547
546
280
213
811
333
235
298
550
779
567
305
402
40
976
109
583
536
580
747
536
250
257
584
39
37
442
812
86
804
219
799
515
460
143
897
248
937
586
322
995
449
341
650
459
348
839
257
389
641
627
783
333
225
675
323
552
391
686
566
374
18
812
578
201
102
92
244
498
9
497
650
355
859
662
860
621
984
274
584
205
277
606
224
843
551
868
677
552
745
908
14
992
918
247
912
210
494
655
251
546
163
203
844
22
150
270
637
211
319
40
70
371
728
855
486
662
797
186
625
348
203
99
251
229
984
826
939
959
122
465
865
538
23
878
200
19
906
600
406
382
121
898
243
628
779
196
813
339
900
744
336
376
499
733
631
908
610
91
464
665
318
830
51
184
250
107
976
799
840
162
707
332
902
895
724
731
710
128
976
401
816
526
29
622
309
761
784
215
70
731
120
588
873
551
127
395
823
607
876
299
728
166
825
758
500
905
17
315
544
269
230
622
426
730
77
299
806
876
878
782
730
746
796
515
915
985
330
186
563
208
782
242
596
410
686
562
929
408
559
6
543
47
504
542
688
369
362
775
476
12
128
24
521
859
298
504
28
369
649
817
914
68
731
686
151
404
990
814
462
533
9
791
957
647
861
240
40
119
887
752
170
98
565
718
648
173
274
873
624
381
893
191
973
155
153
829
468
751
598
957
978
338
794
627
17
196
192
354
54
416
628
686
421
70
43
837
558
88
380
435
570
962
22
497
765
961
346
60
925
777
173
266
549
351
903
306
189
214
167
349
340
807
640
471
997
115
504
634
159
456
699
990
52
380
718
108
771
487
212
258
386
412
65
554
282
353
931
573
665
299
439
42
699
547
416
362
715
188
492
973
280
998
409
67
703
551
215
724
710
456
238
346
634
320
452
134
410
418
370
485
110
75
88
367
523
449
492
152
499
756
911
916
393
959
706
907
973
602
369
772
566
793
723
96
61
277
722
23
632
194
159
30
664
379
329
400
454
981
305
601
689
811
46
550
573
25
968
709
752
694
985
45
862
348
265
173
598
801
116
401
707
443
473
988
186
708
453
628
283
617
297
108
604
120
817
77
719
479
177
114
242
83
395
603
195
868
491
443
899
35
613
322
288
824
767
47
749
909
36
470
106
433
272
643
344
731
296
140
17
618
587
947
76
441
279
915
11
219
36
525
780
874
70
667
21
932
74
165
392
123
383
46
725
955
5
922
859
731
469
412
653
408
644
206
696
424
742
257
631
865
777
587
899
343
606
357
879
585
544
189
114
974
231
197
303
264
95
831
251
244
251
425
788
398
152
298
969
489
641
356
536
586
313
403
694
233
245
807
758
355
241
713
119
15
698
761
266
335
75
107
339
695
744
654
762
882
695
536
63
958
158
287
887
457
698
654
565
976
796
635
315
358
187
198
318
421
486
85
458
644
764
262
464
306
752
853
570
310
307
868
567
341
623
616
310
65
419
479
311
775
1000
624
58
293
654
332
73
927
326
804
543
13
877
760
552
857
545
631
571
945
384
875
866
898
595
798
920
989
633
274
811
987
910
924
690
719
710
646
195
23
683
854
658
707
882
446
421
689
871
295
457
781
863
7
758
460
183
821
604
521
644
749
964
750
532
513
696
600
10
379
190
398
704
748
319
787
101
220
343
956
218
922
470
699
631
70
331
495
622
102
544
639
635
227
867
864
713
904
189
89
846
592
757
628
418
95
570
703
75
965
853
136
325
701
862
879
203
968
83
426
98
633
998
230
651
196
254
920
279
106
994
559
431
529
535
123
189
369
391
150
161
724
805
781
949
512
620
462
635
692
293
198
826
375
329
566
831
109
182
682
419
828
995
897
455
237
101
318
412
929
347
159
396
124
689
522
875
757
421
463
692
560
647
93
369
906
281
28
884
440
960
715
328
938
722
35
869
426
214
113
464
294
494
451
601
59
182
327
177
449
858
927
273
703
103
803
220
314
510
76
830
981
337
264
91
174
193
735
934
585
316
568
908
659
532
33
735
610
964
4
736
539
899
346
75
807
21
743
623
344
361
476
972
397
938
388
822
99
8
632
512
344
276
844
939
668
208
48
505
225
775
955
996
502
607
315
514
102
530
618
650
792
897
772
133
27
946
334
52
308
681
512
615
92
389
397
87
431
968
871
220
147
723
182
984
170
100
448
892
601
152
245
526
154
174
9
135
936
36
173
365
889
243
853
192
839
621
418
165
801
864
462
899
88
849
542
564
815
776
533
819
588
673
613
201
515
774
710
533
214
563
675
288
131
71
611
179
330
109
528
470
886
702
962
626
156
929
253
960
481
769
950
880
361
267
209
182
704
581
97
594
533
992
442
427
478
987
252
789
409
907
718
234
829
450
540
158
34
541
644
508
565
672
328
552
217
865
578
602
679
811
561
527
943
589
285
856
742
596
45
59
635
979
543
323
820
890
496
782
405
368
166
677
657
500
456
378
691
780
145
547
180
287
396
971
929
347
857
754
559
877
592
640
147
454
564
187
371
520
605
416
630
764
645
327
616
904
446
381
50
577
280
633
623
969
761
719
708
180
532
291
95
21
617
845
772
115
40
64
836
708
720
975
671
556
784
226
905
642
144
737
29
197
616
829
242
735
911
702
786
348
532
770
6
528
2
941
399
153
871
423
180
96
616
968
275
113
920
808
177
290
788
690
820
328
618
532
489
404
669
225
753
149
311
9
648
543
71
693
584
158
788
671
4
252
93
359
394
646
32
186
102
208
924
724
312
25
396
896
677
20
148
440
343
852
183
985
530
448
130
159
422
371
802
101
807
576
321
676
863
773
988
419
457
759
563
980
581
588
779
401
878
376
726
84
726
878
201
717
27
702
249
731
653
177
885
89
516
450
442
360
331
330
59
21
454
774
596
927
626
676
626
683
62
793
269
458
71
238
290
405
334
934
303
432
35
855
926
549
250
643
416
378
432
425
668
727
324
265
450
280
364
686
398
609
503
153
607
660
337
217
622
817
678
284
253
461
952
576
913
631
343
964
121
79
217
753
395
499
152
394
4
166
865
373
971
599
413
168
253
63
332
309
250
930
771
989
683
982
280
644
377
670
613
166
701
296
825
151
235
796
958
688
747
549
841
718
709
205
848
919
381
50
12
398
987
814
524
229
591
172
505
1
91
389
888
98
165
706
416
411
101
85
30
501
192
893
386
57
775
932
846
626
47
994
33
198
535
769
1000
217
420
514
79
968
5
347
766
111
235
435
343
340
578
599
508
739
534
85
970
448
703
318
825
680
665
490
553
935
864
718
623
538
345
341
42
245
441
640
646
706
446
917
582
64
931
357
217
814
563
602
668
296
216
254
230
922
727
835
283
278
845
840
639
741
812
628
884
159
535
851
993
443
492
996
405
596
356
421
750
871
825
931
660
221
289
565
426
170
781
762
790
532
127
458
822
177
318
41
656
158
932
250
860
93
830
288
312
638
488
411
799
244
33
236
964
185
468
831
847
995
650
418
49
65
268
179
429
97
457
223
339
558
724
245
657
38
521
780
202
645
154
266
742
182
726
279
425
861
440
461
385
755
912
598
242
994
116
279
413
985
195
347
456
546
646
81
174
928
334
696
804
132
377
260
471
803
186
590
959
257
849
24
45
868
615
227
814
124
436
345
879
152
415
903
936
418
516
792
849
583
95
594
353
237
636
262
479
322
592
881
38
587
361
819
830
344
258
88
769
126
792
156
792
578
697
744
228
84
929
399
292
146
281
729
514
526
363
249
192
507
435
721
430
390
985
702
895
560
12
809
228
977
677
828
934
1
359
383
668
811
198
362
51
486
874
656
562
57
706
70
552
400
179
449
190
910
636
160
940
291
194
88
228
642
893
196
114
259
739
531
88
220
549
278
636
853
457
89
807
685
528
458
848
282
172
350
896
710
960
640
851
988
988
179
773
9
178
455
623
880
733
897
686
535
558
835
786
780
561
4
273
627
663
290
801
888
806
66
143
547
390
120
602
304
424
622
135
74
89
46
946
922
584
228
138
79
851
7
996
237
266
1000
621
266
425
105
900
874
930
272
278
497
476
934
398
875
595
224
410
374
133
794
718
66
911
603
959
21
39
510
279
34
51
902
329
216
356
863
976
531
509
591
391
321
442
852
69
348
138
290
315
674
143
297
930
956
3
981
124
374
915
497
193
472
888
616
118
627
237
958
46
753
536
762
555
94
10
400
716
658
950
109
242
901
909
562
391
789
349
989
926
239
896
512
108
251
596
242
626
746
340
482
388
250
194
63
312
72
463
439
611
557
168
678
560
325
61
893
432
156
427
971
93
307
713
687
730
620
435
423
341
727
933
737
876
17
267
977
418
814
966
985
334
391
389
688
166
999
193
31
869
134
742
279
153
601
355
194
868
782
957
956
769
693
35
997
567
48
800
112
826
559
130
292
178
132
146
757
287
440
251
537
204
626
106
818
47
479
261
948
454
546
106
648
871
40
421
523
527
302
9
368
929
842
834
171
785
652
628
906
533
566
154
435
90
951
183
841
992
874
763
549
819
230
561
420
730
1
878
821
920
919
447
360
50
370
287
565
50
255
658
296
194
878
681
95
36
687
265
990
599
795
778
493
206
817
343
666
485
454
707
160
339
686
410
83
178
144
348
380
261
452
913
205
799
895
597
374
363
758
317
592
233
77
751
611
548
354
656
858
503
982
482
334
387
753
601
832
958
827
95
553
498
991
401
264
913
841
33
3
415
780
258
203
631
371
845
780
482
610
990
403
808
183
52
669
514
597
39
372
934
372
638
384
274
137
181
934
188
576
120
224
17
648
499
403
764
397
387
865
623
976
468
750
759
227
795
293
95
242
223
357
33
891
193
105
437
197
339
239
670
785
861
677
181
378
727
837
952
437
557
922
85
620
446
746
974
669
126
644
768
718
539
997
307
774
391
709
309
299
213
750
343
408
270
539
65
197
946
509
226
87
331
650
249
890
360
241
507
507
249
236
15
785
928
980
924
69
852
25
85
423
862
812
939
327
744
912
181
886
758
331
947
249
678
89
786
966
825
947
277
491
164
667
993
892
788
637
402
95
1
41
478
677
794
29
984
301
699
460
854
369
901
912
667
380
995
570
925
765
984
543
744
684
922
889
620
397
143
364
104
321
133
482
616
826
937
994
101
149
446
296
928
552
34
601
243
990
804
916
976
94
107
30
833
270
127
712
906
31
50
291
973
485
733
633
183
69
865
270
564
185
321
121
726
420
779
786
203
387
695
893
100
53
439
342
116
615
693
572
539
613
261
198
525
967
41
414
820
69
269
623
97
904
69
611
257
370
997
434
358
678
514
910
327
687
298
196
232
576
851
546
713
20
135
688
84
408
872
710
766
232
682
502
926
914
469
53
672
809
333
888
669
10
810
966
830
894
427
206
571
59
398
606
215
397
797
603
275
589
682
937
756
232
454
771
85
124
214
239
977
989
997
906
360
73
526
855
442
572
588
233
195
833
208
143
758
626
553
694
762
545
886
877
167
794
972
689
959
175
47
595
987
102
804
961
280
844
939
614
431
25
412
992
19
583
985
718
561
42
547
538
235
942
422
746
410
717
138
146
97
127
132
574
535
617
456
780
522
584
856
221
517
619
501
915
233
227
264
85
185
400
674
713
652
700
574
525
581
156
88
138
253
391
691
293
930
875
81
141
282
87
53
549
142
683
771
249
984
468
672
447
615
85
740
207
730
860
37
528
351
151
171
504
696
918
881
421
665
927
18
915
980
173
972
565
993
658
57
418
299
610
428
971
592
587
877
98
678
710
233
236
116
401
167
904
757
629
924
314
375
626
854
361
615
441
657
778
773
511
955
626
263
614
102
551
197
207
199
464
193
157
878
363
387
297
764
51
632
103
487
408
47
967
708
672
388
262
953
943
217
377
926
716
447
409
616
821
685
31
715
558
695
347
802
189
443
199
283
195
434
508
311
849
473
678
771
764
562
25
942
7
367
469
642
277
582
450
501
416
566
141
493
221
817
539
17
132
221
961
647
851
495
789
94
388
964
62
89
322
577
639
641
312
92
229
584
997
489
530
403
485
938
82
65
557
147
227
29
570
462
713
608
783
918
100
617
516
305
85
599
99
412
275
941
46
855
734
895
271
251
837
833
456
74
578
95
851
212
510
413
924
107
890
221
232
376
492
126
849
960
722
416
451
204
367
801
940
739
344
471
61
647
265
179
46
248
499
285
731
722
715
622
973
947
507
566
404
169
843
961
771
536
540
371
137
110
854
690
219
711
612
318
995
822
974
955
525
826
75
540
598
58
273
61
440
509
689
720
193
521
46
437
316
489
547
794
363
418
685
277
806
149
430
145
731
217
199
309
228
591
362
375
285
10
833
403
810
212
449
986
170
133
442
974
312
78
279
552
72
917
557
378
768
609
439
213
559
743
307
776
320
332
958
579
983
768
641
154
405
753
718
361
808
986
506
474
763
580
138
334
492
508
920
145
16
844
678
438
259
214
114
284
804
676
971
126
404
159
161
472
714
761
621
264
970
392
778
955
488
741
989
188
928
68
217
509
258
79
491
734
207
17
434
410
790
167
231
335
206
140
944
234
965
686
6
506
635
295
53
428
11
488
996
307
805
565
388
873
199
527
676
616
730
41
898
882
1000
605
759
282
657
531
751
354
950
948
223
516
882
825
811
28
699
887
715
66
965
422
612
54
988
164
890
45
717
855
9
337
538
625
481
461
558
11
930
351
101
332
151
814
120
97
906
392
145
351
433
306
208
133
306
475
920
744
305
530
470
134
451
322
899
529
195
695
406
355
29
163
816
631
478
734
573
264
493
294
810
95
763
871
88
125
372
609
389
76
508
475
814
335
652
554
232
374
785
296
822
920
676
219
33
546
229
400
6
820
222
519
909
848
478
395
954
872
692
668
84
538
654
777
452
626
589
420
853
300
690
478
210
389
698
754
54
828
543
944
710
149
666
995
550
809
609
337
249
262
881
551
441
851
874
677
571
59
851
734
8
117
616
18
684
758
493
374
624
675
702
988
734
329
7
174
121
855
781
269
48
207
276
29
342
102
921
854
701
999
950
744
884
133
505
165
231
573
652
878
252
377
410
360
364
182
973
662
926
998
805
409
857
513
189
195
69
9
82
780
817
803
875
383
877
243
748
805
134
426
832
325
790
210
321
73
857
580
19
96
75
96
521
412
653
989
403
149
499
443
322
313
702
743
905
775
95
258
654
868
641
685
876
345
254
585
816
543
418
990
764
278
620
810
885
398
181
814
916
948
556
203
695
550
546
183
671
993
132
487
164
990
879
493
189
716
902
442
33
70
438
281
676
549
947
809
313
248
496
150
942
792
915
30
994
921
807
9
460
60
72
576
816
427
30
999
355
172
562
893
145
555
971
773
3
428
405
232
270
134
759
8
156
469
947
883
654
542
317
303
778
203
755
585
963
214
743
852
13
479
198
122
889
477
464
541
961
482
203
394
111
305
277
359
191
49
921
456
907
812
637
269
161
365
291
321
235
574
809
938
978
745
746
526
341
116
745
966
169
462
543
743
175
126
803
502
386
822
455
949
181
259
666
414
230
951
820
927
261
585
75
373
613
992
183
114
948
26
246
534
330
682
7
72
119
362
73
678
783
495
214
91
762
645
494
969
6
838
527
709
629
85
618
736
449
972
851
151
807
759
492
893
170
646
196
971
517
716
605
929
372
633
866
406
688
308
510
572
463
631
903
221
104
836
158
563
61
234
38
53
187
841
828
150
617
932
621
542
693
613
742
218
592
348
273
739
906
763
761
188
345
162
258
598
97
936
733
86
187
441
798
534
315
991
401
425
243
319
832
350
818
237
945
794
73
246
949
22
679
553
553
292
220
252
484
140
372
477
613
220
102
940
29
1000
400
598
393
653
941
169
817
637
249
818
335
799
640
619
757
297
233
344
314
292
791
709
70
144
24
461
471
805
237
576
795
196
913
442
501
634
864
53
629
775
116
167
493
139
552
882
859
984
664
276
694
206
458
591
360
986
683
954
803
92
56
761
907
100
113
673
670
336
609
637
282
978
168
463
497
598
4
273
917
405
90
560
925
590
124
701
68
457
988
506
596
485
174
793
742
68
828
28
71
448
651
805
882
259
863
288
221
198
875
791
544
553
56
330
429
716
256
351
43
342
300
805
245
528
730
418
321
234
484
308
339
180
28
44
22
636
707
915
876
816
721
387
2
111
186
737
670
995
196
362
277
257
666
590
725
149
9
656
635
149
378
102
45
314
274
74
412
591
843
840
806
48
24
411
153
723
85
299
263
656
718
318
172
729
39
814
10
141
318
858
220
681
212
759
437
508
607
722
771
780
897
576
529
324
692
301
661
518
496
502
332
673
841
76
50
531
740
55
738
910
99
33
978
160
869
613
416
847
360
59
967
988
66
679
34
270
801
524
439
874
700
647
113
941
883
514
918
263
176
173
134
458
311
409
259
772
442
457
767
642
665
776
397
339
458
42
325
326
595
775
353
446
170
949
812
704
777
544
477
188
804
226
178
627
47
254
181
205
512
263
645
488
395
814
633
755
683
430
213
606
733
412
168
431
476
883
713
230
626
357
389
310
349
630
23
582
405
940
208
545
674
162
301
559
337
247
305
659
698
260
358
14
784
151
752
89
435
788
531
739
515
939
787
715
269
568
663
557
613
265
974
420
319
662
67
163
637
406
239
940
890
647
571
609
978
11
523
517
520
711
23
578
570
815
38
144
468
652
856
841
400
15
357
400
663
122
586
546
479
264
847
154
424
681
347
220
199
502
153
666
506
507
839
651
266
63
756
836
269
838
289
18
619
786
808
636
20
482
295
938
19
67
761
990
830
969
669
308
234
71
514
614
379
188
634
93
988
563
67
602
620
579
997
454
115
48
922
761
334
226
154
860
575
205
726
968
846
418
45
80
271
793
881
83
487
522
420
197
843
503
115
166
570
246
36
39
854
466
265
31
957
617
630
673
54
355
732
407
507
273
804
857
644
312
380
214
944
882
176
594
714
138
835
741
975
780
397
177
289
462
450
726
679
162
925
380
644
848
406
626
485
403
643
683
830
35
691
585
283
341
699
673
573
787
954
867
473
609
177
21
984
39
461
789
3
339
463
680
744
307
645
406
684
834
417
195
700
575
996
480
358
26
719
265
42
97
264
491
693
807
1000
966
487
843
228
726
673
571
615
266
148
527
511
695
77
541
182
731
10
443
181
414
502
712
247
565
199
541
128
305
724
507
682
389
452
483
454
752
456
451
685
381
483
600
361
569
797
478
495
700
153
986
284
898
922
675
187
313
639
175
246
319
830
557
153
633
10
97
688
183
170
209
139
615
891
296
239
438
480
869
952
193
154
589
195
465
362
786
189
214
786
644
666
706
415
439
625
252
391
172
651
84
957
446
90
961
966
698
514
503
854
741
983
849
916
106
610
937
1000
863
758
623
449
435
47
876
242
424
9
497
797
608
811
163
817
97
24
114
935
76
763
468
581
711
901
966
721
563
228
944
601
269
608
465
632
384
173
814
896
983
588
57
524
37
211
918
386
663
785
25
96
19
918
494
348
23
188
869
973
91
202
701
925
758
271
415
596
430
715
660
497
453
933
47
334
391
539
32
959
679
807
702
499
816
641
410
204
834
45
524
196
125
837
22
376
579
953
325
168
619
241
543
675
945
73
247
76
717
456
19
774
442
592
258
886
84
974
167
157
747
183
398
283
844
545
591
908
819
638
901
297
358
485
667
775
505
912
593
560
249
173
117
540
981
447
220
869
649
218
551
10
603
869
580
990
863
41
489
177
5
446
624
869
924
852
639
330
524
901
915
676
720
273
437
210
282
458
75
369
675
75
137
456
511
217
138
687
177
794
957
942
951
241
938
762
216
187
55
776
402
956
926
772
933
787
357
15
763
729
73
301
47
36
500
412
140
734
740
350
351
731
418
726
860
485
664
158
758
785
331
414
459
625
462
267
577
522
165
742
995
858
282
504
995
14
671
618
249
116
513
814
964
180
752
709
665
346
688
103
959
652
789
630
93
510
971
532
294
632
961
257
678
671
883
931
978
239
845
472
479
288
161
265
301
78
813
890
638
54
880
314
612
22
989
358
194
931
252
6
998
444
795
288
864
204
730
80
816
388
340
124
385
698
326
990
297
414
197
486
230
507
274
240
655
116
310
798
803
853
445
573
440
538
66
455
429
931
144
680
64
978
805
815
722
865
204
372
724
934
269
584
172
128
494
375
169
156
783
380
27
47
269
179
28
64
171
542
800
250
973
624
646
3
677
469
987
169
410
139
641
91
428
49
829
970
433
809
640
629
179
981
195
513
514
707
893
325
392
31
923
210
883
158
733
820
890
532
196
897
92
861
81
243
629
675
789
75
174
47
459
795
335
391
273
148
775
99
205
598
50
878
495
497
922
308
874
287
834
66
928
536
294
694
995
104
156
586
720
81
174
62
677
458
743
27
523
665
448
727
745
209
896
539
428
662
311
572
377
151
558
85
607
318
569
382
445
444
639
893
465
72
686
610
15
970
378
901
414
763
963
17
717
861
757
255
581
603
503
851
936
688
235
152
39
13
848
500
45
42
325
596
389
692
436
783
112
498
785
835
786
544
277
318
816
206
432
572
729
298
482
634
513
586
865
215
199
971
550
953
654
881
603
734
982
499
554
825
33
538
410
925
259
182
613
28
552
672
838
128
787
786
314
433
465
86
236
700
266
422
948
723
318
602
767
796
704
569
743
185
26
675
184
262
892
845
449
962
808
539
406
673
286
395
950
465
930
370
130
849
909
13
784
865
465
204
42
367
86
356
715
836
522
595
355
890
98
860
754
976
663
261
722
352
92
229
277
592
450
197
781
316
826
607
129
755
344
992
854
35
77
796
859
823
396
351
570
29
804
135
483
840
460
46
429
234
386
896
422
500
855
790
584
4
524
322
505
586
717
779
349
541
643
664
174
81
466
873
212
539
862
826
312
359
118
675
370
87
883
491
301
137
391
978
54
154
364
832
240
117
806
338
163
189
615
181
445
494
251
734
978
631
707
256
629
745
707
583
980
408
306
825
420
397
102
578
31
693
837
904
91
670
480
96
444
490
791
871
664
198
975
156
717
840
275
87
773
239
259
181
938
704
112
909
931
53
456
37
140
818
108
195
102
374
702
91
123
75
280
664
716
149
823
280
508
237
156
732
522
984
838
433
56
15
464
686
929
944
231
317
500
837
801
297
720
664
217
168
432
841
103
258
297
927
446
677
998
893
11
34
836
145
857
679
430
695
452
8
9
406
637
36
680
266
29
29
163
30
497
432
678
356
42
722
97
798
712
106
980
600
233
175
840
284
646
713
831
443
574
873
61
960
705
850
907
162
688
981
27
10
935
946
260
516
737
351
224
22
717
531
230
831
855
851
70
980
269
103
354
575
452
902
330
247
907
97
525
722
989
310
156
443
282
682
940
445
37
775
880
413
34
386
588
962
710
690
957
701
590
775
311
560
809
74
708
208
45
681
704
114
245
780
755
958
345
719
368
647
596
318
290
150
222
80
291
733
850
920
569
928
593
828
379
791
693
706
295
524
374
211
396
577
908
62
754
728
927
700
847
412
724
596
877
837
581
767
559
963
198
286
602
524
948
618
993
619
950
681
196
296
987
387
543
758
851
271
421
464
19
524
354
471
484
382
690
807
151
356
422
523
464
224
612
360
827
78
992
627
947
938
573
984
441
642
536
301
910
766
227
662
242
300
815
893
41
710
80
689
977
771
808
544
306
276
515
183
975
293
517
161
547
192
946
587
638
24
924
691
668
190
962
102
541
548
622
245
260
227
626
214
603
470
876
885
739
759
315
740
23
330
153
109
332
927
749
80
957
336
370
342
489
765
97
594
128
648
403
991
557
806
315
274
835
200
596
852
797
687
103
151
59
307
326
925
74
618
127
100
631
526
860
941
805
837
398
971
671
539
43
149
996
399
964
232
742
18
583
161
447
937
289
531
443
722
951
914
465
220
989
878
379
322
160
37
655
668
794
346
738
673
958
188
636
144
900
482
912
545
183
153
745
667
96
858
876
29
322
753
83
893
312
424
284
120
526
881
469
482
486
597
493
210
609
191
133
719
887
260
957
487
800
261
252
990
296
102
716
460
262
275
623
987
691
963
924
123
660
518
101
759
316
124
630
474
280
248
587
955
300
701
265
391
486
729
690
887
202
590
547
102
518
495
365
274
138
618
753
728
919
129
121
776
377
840
576
646
92
116
639
685
555
149
12
661
768
571
860
381
906
633
995
222
404
888
898
427
141
345
728
162
773
618
349
404
880
422
924
721
276
121
823
854
783
720
409
822
736
792
796
952
767
397
796
842
700
917
100
754
957
119
192
373
514
458
638
150
268
804
132
707
696
311
161
878
759
105
210
28
372
854
180
209
152
24
113
564
793
815
351
176
172
365
1
165
209
776
914
453
582
929
460
69
615
857
16
243
77
636
470
830
135
388
4
805
426
4
103
647
79
608
18
463
496
648
905
587
917
699
461
225
68
740
166
439
717
710
185
370
578
592
543
185
793
163
478
611
189
797
737
329
601
396
171
711
820
602
181
570
139
942
456
650
51
433
950
557
382
502
254
716
27
760
345
720
508
300
193
132
765
708
863
406
949
881
557
77
512
118
507
816
528
651
757
220
43
952
640
478
198
702
190
132
36
244
851
244
166
741
532
175
944
6
527
52
408
148
827
758
977
778
95
933
850
489
938
38
108
733
140
18
740
14
197
469
248
523
856
514
963
959
332
771
971
296
540
900
345
688
10
223
448
539
74
826
190
984
575
355
478
705
621
456
584
37
807
435
756
766
978
242
236
931
791
342
781
141
292
364
864
680
232
696
50
667
112
333
407
113
783
367
418
537
962
485
583
162
234
702
785
385
909
362
548
347
637
118
494
939
825
214
695
518
693
886
91
924
305
112
849
148
1000
258
336
132
444
409
381
731
971
262
618
847
926
541
16
81
530
810
150
37
144
402
342
590
891
968
619
998
301
779
303
743
26
495
152
376
692
596
191
436
638
30
769
735
643
944
902
903
730
528
700
108
791
138
478
307
93
816
224
194
678
299
210
277
308
372
908
136
866
179
810
974
82
708
415
58
16
241
440
450
5
948
246
775
657
213
593
378
62
482
87
362
583
617
117
445
476
802
637
504
105
2
890
952
723
885
70
805
597
877
920
434
793
731
529
476
51
577
885
344
27
931
287
87
602
554
392
97
128
363
472
300
220
826
463
36
157
395
510
763
41
580
21
116
612
195
668
594
20
161
407
350
910
19
345
120
894
935
174
329
868
590
16
810
634
772
704
359
1000
924
955
570
858
124
398
15
723
229
149
824
913
955
466
179
798
727
32
64
575
988
587
829
592
521
951
793
575
29
960
170
990
867
491
27
421
345
509
880
41
468
67
795
199
332
263
524
667
640
419
308
338
970
195
458
23
490
905
720
521
799
14
744
334
435
748
657
219
398
700
899
293
706
614
946
535
623
794
524
353
682
177
213
342
65
713
100
496
171
565
276
889
497
608
525
306
8
827
517
362
276
542
173
433
571
814
646
86
942
991
536
782
93
132
544
339
513
959
748
999
873
45
104
980
206
214
539
98
744
478
252
337
567
407
423
301
437
519
562
85
262
119
166
436
665
65
156
52
6
71
847
453
80
494
806
169
372
52
44
916
438
525
412
11
472
309
962
536
598
645
289
659
742
423
547
83
217
762
931
807
318
955
881
252
250
965
185
348
756
365
430
331
622
543
5
889
64
978
911
735
688
659
215
892
296
22
867
746
336
318
957
410
197
3
221
50
856
526
745
621
635
935
377
877
926
786
309
614
800
201
659
863
343
324
648
141
425
54
148
931
350
691
968
282
504
41
208
791
683
630
440
243
252
856
256
897
686
363
934
727
288
401
586
920
127
682
184
607
289
75
275
95
562
496
26
836
596
546
498
5
365
720
665
814
515
553
784
646
794
663
128
668
296
471
23
845
699
299
333
150
32
697
270
375
733
67
455
103
967
99
652
333
188
103
511
721
949
54
923
635
813
36
337
35
16
855
471
682
231
747
387
357
359
493
827
559
813
750
27
621
135
92
980
324
127
58
256
830
893
510
41
235
324
714
18
83
577
885
67
989
75
353
546
860
358
136
85
310
920
460
396
555
780
690
623
460
143
202
112
431
955
966
307
520
540
994
694
484
807
362
298
500
687
180
289
902
580
796
658
640
575
480
782
84
130
38
905
454
728
105
227
425
709
378
349
370
160
661
266
332
244
386
969
35
791
268
992
156
359
786
914
634
180
516
909
27
603
715
916
776
695
151
929
772
643
891
158
817
475
663
573
392
404
445
415
664
803
128
806
790
391
458
504
421
754
993
182
726
689
448
354
445
227
659
221
181
367
350
237
645
723
43
199
612
288
743
971
112
493
475
777
789
558
348
137
401
908
613
130
173
91
65
620
62
164
241
532
51
53
79
10
239
698
112
538
875
149
786
687
429
913
220
215
515
1000
570
612
718
83
153
86
390
112
707
153
98
557
417
712
665
144
897
471
682
607
877
95
1000
499
211
292
893
555
712
321
533
448
464
95
981
27
520
121
61
294
282
25
432
451
483
279
633
299
387
87
103
173
717
54
6
380
876
410
175
782
220
56
672
791
491
644
241
527
47
233
411
303
176
781
131
938
621
918
583
595
423
956
280
994
311
84
607
869
187
29
750
485
681
263
344
906
377
995
213
394
52
776
336
69
211
529
492
443
267
224
105
976
933
205
484
150
813
397
973
844
681
211
559
13
683
40
113
730
509
583
750
690
633
148
781
173
852
279
325
276
721
703
941
957
925
648
579
56
280
59
733
999
863
66
917
334
706
364
511
590
582
822
565
212
724
724
373
484
663
541
492
420
17
19
428
568
755
685
373
572
349
552
232
101
288
958
676
456
612
958
105
773
494
638
208
222
398
44
297
48
19
154
689
576
29
488
194
558
646
458
212
359
163
580
30
508
889
981
638
99
384
418
816
353
487
241
286
430
412
241
431
225
62
390
487
461
846
826
94
848
464
252
834
483
549
130
664
928
568
664
211
609
114
583
485
268
552
157
939
223
17
732
722
76
910
284
613
345
375
150
409
224
732
154
462
275
442
781
649
436
23
948
326
131
246
155
689
644
66
504
564
151
5
150
815
1
111
232
489
851
214
220
283
292
904
947
158
433
564
264
734
730
832
394
595
27
59
576
814
368
690
523
786
653
9
528
938
628
357
827
20
997
763
937
417
680
887
274
418
384
352
274
405
651
789
650
723
543
412
146
366
916
516
355
684
41
61
733
27
950
440
952
626
487
586
93
16
482
807
31
23
884
130
524
643
941
482
171
167
730
731
398
541
430
462
69
264
733
388
155
108
712
455
123
530
261
29
366
972
964
34
28
134
882
542
59
926
258
133
179
51
612
248
715
42
35
916
940
182
731
467
634
925
49
266
76
296
282
83
567
317
510
448
889
645
618
225
814
487
435
674
883
324
606
489
210
147
426
632
980
719
357
326
653
824
374
210
608
612
587
496
136
905
826
964
206
779
987
733
427
815
999
84
944
172
189
17
839
28
681
877
711
3
228
94
765
879
515
52
671
327
576
142
892
364
387
300
942
938
140
722
290
413
928
969
190
679
819
419
782
314
348
827
199
483
493
806
283
271
104
200
711
739
555
630
28
281
139
999
84
801
344
368
868
801
666
401
581
741
103
545
57
912
759
207
330
655
315
451
212
925
215
157
257
128
536
172
359
649
449
697
547
672
86
50
253
774
387
992
427
220
215
995
400
73
613
195
337
31
595
278
436
379
248
232
767
547
274
696
817
556
304
645
327
78
433
273
977
902
505
237
853
365
568
866
378
708
800
559
580
366
963
343
147
924
70
497
711
850
568
210
203
130
762
480
907
621
633
847
67
287
438
88
513
463
728
732
770
961
473
60
574
133
3
315
535
979
405
995
919
989
797
416
177
732
654
247
903
75
975
311
360
572
620
793
561
759
589
889
182
18
375
92
266
243
736
526
723
719
464
198
170
540
720
576
510
393
531
664
976
731
897
615
58
189
765
977
858
609
788
842
925
182
415
580
568
20
352
272
947
961
841
718
29
495
519
624
581
514
864
648
980
2
337
41
541
867
380
973
448
899
372
46
133
184
492
125
127
425
194
367
993
287
646
258
943
296
90
531
123
803
500
84
367
266
346
383
422
390
525
411
266
701
722
893
135
758
573
400
362
529
982
940
883
430
894
826
579
123
591
922
218
468
355
845
839
968
940
371
865
595
829
42
107
185
721
953
80
448
12
795
737
238
303
494
807
900
142
194
415
427
231
933
548
663
368
60
254
969
206
353
134
634
750
831
843
780
169
463
806
688
131
313
290
267
338
201
309
863
377
599
580
719
319
335
890
174
700
642
777
141
662
216
410
474
88
281
885
588
455
64
965
106
45
714
414
358
841
458
721
276
154
707
949
605
556
892
862
368
185
49
284
219
862
565
848
653
750
22
904
41
477
795
392
103
733
912
881
763
378
687
849
262
985
820
479
73
578
973
923
382
31
311
16
898
250
153
887
287
762
642
792
815
807
327
730
664
366
620
126
959
800
386
905
742
974
334
800
26
749
425
616
566
767
300
479
184
270
551
811
323
528
771
880
989
115
458
299
426
882
246
768
627
982
435
694
314
705
443
61
72
209
680
71
173
445
246
603
989
720
80
553
42
348
409
404
459
833
844
222
996
813
40
397
874
799
640
47
383
383
104
16
560
165
119
745
308
94
512
142
981
359
986
763
819
177
519
220
597
78
998
793
520
356
483
593
706
358
543
506
544
219
240
364
862
434
693
424
111
413
616
327
685
766
868
110
124
640
850
771
160
818
521
101
498
700
942
213
752
482
469
260
205
65
197
344
914
241
779
470
209
725
494
768
829
442
353
847
776
292
24
302
458
293
598
903
854
604
557
912
238
442
827
327
475
309
459
574
999
258
300
315
400
179
28
613
942
169
23
617
453
135
872
325
758
682
731
744
248
218
392
928
210
934
668
991
286
5
598
140
784
901
87
209
602
197
812
944
207
617
593
513
440
375
12
337
947
24
732
330
651
161
829
105
9
314
478
482
780
267
485
939
606
874
495
221
41
175
177
437
553
198
336
392
640
440
684
783
448
386
963
152
157
845
212
172
994
79
236
919
935
901
751
271
11
961
263
480
696
434
456
260
9
176
762
427
826
239
834
274
374
281
823
353
51
50
745
277
512
597
714
487
443
298
490
675
533
73
633
677
988
420
507
230
302
20
543
923
146
678
446
54
943
339
487
857
128
749
635
756
130
90
28
873
846
569
221
25
740
537
713
809
728
154
486
213
703
12
690
373
876
418
124
711
139
223
897
735
261
187
489
169
100
864
442
954
910
930
94
867
509
646
89
176
304
933
864
782
127
104
981
769
432
894
927
148
622
803
1
829
216
198
960
576
87
794
416
728
259
347
348
14
574
449
692
633
126
276
698
114
483
24
635
162
614
570
453
795
891
568
241
627
718
790
640
63
143
49
911
501
250
415
19
382
301
795
911
78
317
131
154
150
271
630
242
471
121
461
167
78
691
301
294
379
775
963
209
523
927
80
939
318
109
504
899
84
732
630
957
210
659
321
273
994
430
521
939
541
300
886
989
132
682
995
60
477
239
787
828
685
184
847
367
652
308
140
744
769
868
536
478
517
779
245
997
566
439
891
834
454
153
487
125
770
340
23
901
69
625
726
785
389
465
303
966
336
191
647
730
215
204
530
424
526
597
826
435
510
664
635
686
91
590
492
149
695
126
555
130
937
180
215
392
116
99
125
715
749
862
31
165
169
519
104
158
302
16
717
387
340
956
704
830
937
938
222
338
968
895
230
754
616
199
484
128
769
422
694
349
249
307
122
441
436
907
523
824
195
866
744
110
851
502
718
356
143
691
861
256
724
554
72
458
767
593
634
35
696
247
326
167
857
781
958
248
221
68
365
959
833
92
613
344
767
922
814
532
836
518
462
583
137
978
662
847
799
706
960
367
973
587
759
78
194
430
426
28
723
842
315
360
373
204
853
579
647
616
758
485
678
516
215
200
638
167
553
936
741
382
529
480
929
631
876
906
665
179
146
686
968
993
214
193
998
960
24
576
35
367
298
123
674
716
957
523
377
661
944
886
364
283
3
982
927
966
693
940
893
855
611
545
910
250
347
362
659
317
162
136
870
186
776
316
234
840
934
86
941
197
595
997
554
456
717
126
391
51
588
736
401
572
575
557
762
588
990
124
82
618
479
127
131
412
977
321
482
300
815
373
320
625
995
946
932
152
1
457
84
943
783
172
553
358
690
757
594
769
204
946
3
38
316
744
746
59
240
459
814
459
957
899
122
62
786
274
730
891
755
706
638
265
74
744
732
36
392
977
170
123
876
629
676
270
343
40
743
418
815
42
710
133
913
548
42
313
427
129
906
780
280
937
328
435
814
123
778
353
42
798
41
588
18
666
613
478
6
690
656
903
467
548
792
346
197
153
572
521
117
252
525
81
344
941
106
138
145
951
671
360
312
760
884
996
307
856
582
477
229
14
174
150
333
50
133
333
297
327
970
88
960
219
374
29
516
883
877
49
475
902
468
43
822
824
94
607
879
172
858
187
368
244
48
366
29
893
819
801
938
551
478
830
386
929
837
898
735
198
25
806
218
972
486
203
29
72
623
896
376
874
716
316
404
51
241
926
7
617
754
428
594
503
783
390
821
340
18
318
139
732
196
236
767
42
734
585
364
672
75
590
237
870
179
309
399
311
336
227
161
140
726
618
249
641
739
900
604
467
109
844
138
145
321
827
729
670
602
255
619
85
42
952
243
335
18
537
192
126
185
780
682
177
711
510
414
41
325
890
155
610
18
774
740
549
898
451
406
151
795
237
587
519
696
321
311
572
993
738
354
93
814
561
168
925
436
231
385
473
867
451
400
853
236
214
126
409
520
339
529
813
514
385
948
640
634
893
537
127
357
715
383
829
577
611
974
983
187
397
758
738
503
647
430
797
961
395
476
684
653
304
234
572
893
520
406
530
963
763
493
156
597
272
158
738
557
885
827
534
867
875
194
251
897
173
430
553
472
244
41
229
661
216
299
731
684
805
77
896
644
205
766
34
437
411
637
33
222
347
676
765
311
783
426
874
203
268
841
978
747
198
476
432
92
723
621
36
191
375
130
524
82
213
756
222
79
773
810
4
328
323
800
552
838
745
527
995
287
875
782
168
337
273
403
117
196
225
951
972
455
220
670
991
967
284
719
385
705
328
895
543
69
96
166
382
69
399
420
870
188
56
719
194
490
382
250
684
714
102
873
320
688
314
877
621
365
457
60
748
220
321
791
910
485
757
34
529
977
147
640
194
833
648
383
93
520
899
313
509
899
182
37
956
955
990
397
695
59
596
878
719
253
463
778
756
113
303
812
484
206
164
351
945
8
176
937
105
432
481
92
587
796
466
639
904
116
579
975
906
140
929
758
745
402
372
467
393
890
985
169
628
625
654
602
461
567
15
401
167
791
132
860
426
772
106
153
635
1
282
345
70
844
831
817
435
730
267
999
315
306
908
381
162
137
349
847
774
905
803
315
647
845
521
490
197
293
621
315
624
854
302
368
81
650
863
999
915
514
911
499
966
810
877
946
283
742
269
701
194
669
95
660
337
899
552
529
126
951
378
348
146
9
227
419
122
615
58
616
451
243
800
769
766
458
500
439
610
847
725
957
140
723
283
26
689
936
178
527
141
747
312
452
333
830
655
25
121
967
454
143
306
860
611
246
374
825
532
613
860
820
575
849
226
369
752
35
308
488
468
606
765
613
899
527
470
895
78
753
460
946
885
262
860
266
889
198
215
148
476
764
777
804
725
562
592
808
290
5
688
757
929
291
265
195
380
162
553
429
10
346
934
893
11
157
969
61
991
175
247
738
433
330
307
777
891
993
487
857
754
870
204
993
68
584
47
880
239
860
86
988
366
113
954
595
612
56
585
546
280
708
983
627
195
750
25
860
597
772
104
918
976
351
348
109
214
283
298
73
919
525
134
397
93
565
12
869
115
28
615
966
566
262
761
476
603
574
814
876
434
515
658
188
930
374
221
557
581
569
886
728
801
188
627
931
52
305
385
411
389
21
37
10
798
434
264
725
135
812
788
160
562
343
726
129
136
737
271
448
590
818
504
124
428
993
908
751
143
161
92
880
774
166
267
556
9
404
291
999
764
548
470
621
469
641
825
185
326
33
284
926
432
688
62
893
974
427
539
588
690
579
107
241
372
308
769
669
504
635
779
759
49
792
221
48
971
75
246
743
356
815
619
791
888
434
338
301
973
799
348
681
67
259
810
360
580
812
923
849
306
822
70
206
490
587
914
672
469
849
138
352
362
17
703
366
395
493
871
774
289
976
735
954
580
40
702
836
878
599
136
526
847
95
434
437
122
368
863
973
456
223
841
189
175
622
767
625
365
300
105
678
340
360
222
460
595
41
357
101
864
444
208
808
910
466
840
842
365
563
997
742
270
272
468
773
983
581
833
561
753
370
788
344
575
124
253
57
921
48
634
755
542
518
947
481
824
532
975
765
125
457
291
392
96
902
738
933
239
985
958
811
869
619
614
351
191
687
249
348
437
150
134
159
855
183
30
249
900
424
516
402
139
291
437
513
226
107
60
23
824
477
722
524
452
941
121
52
115
453
908
865
974
629
908
275
475
35
122
239
133
7
646
955
575
624
775
685
562
491
866
386
457
930
965
489
985
35
836
351
222
788
758
499
441
96
414
758
835
198
238
743
136
329
834
37
883
936
471
535
370
20
192
73
359
356
777
501
260
476
667
732
807
250
955
193
212
879
725
295
417
870
353
216
335
324
843
327
889
487
938
49
283
42
515
806
159
86
740
987
199
43
556
541
316
76
340
867
747
663
990
197
291
114
276
524
414
761
13
466
147
420
518
133
562
550
830
195
60
177
413
877
920
293
368
508
313
907
739
611
480
372
139
241
896
905
754
442
3
442
772
220
539
122
406
417
595
688
991
206
248
92
76
727
52
389
38
532
705
774
511
112
943
314
839
758
80
418
843
397
624
657
412
875
118
826
829
318
654
520
285
871
554
612
713
86
307
170
967
702
218
330
355
347
150
563
710
976
383
583
520
471
883
878
105
896
211
472
471
353
901
42
273
261
363
6
258
127
294
481
669
582
120
325
359
508
225
599
773
610
577
865
546
643
908
716
179
827
769
808
148
690
641
441
868
696
779
451
81
512
587
746
665
736
191
346
302
195
279
198
165
704
448
320
583
288
49
114
634
445
960
751
742
966
828
612
669
214
30
704
726
516
42
793
628
506
951
793
208
845
547
562
96
718
836
882
557
924
812
805
915
166
23
992
366
342
819
917
547
286
137
13
903
398
368
931
779
43
132
110
143
421
761
718
53
874
917
910
271
210
58
4
931
694
365
851
804
813
380
201
473
781
818
293
726
29
938
274
533
582
403
270
271
341
783
144
263
745
744
980
270
192
444
365
327
928
908
387
177
770
940
52
604
185
655
544
200
754
863
313
393
972
339
506
155
670
487
666
398
92
28
930
957
798
111
178
3
112
688
749
875
806
96
316
618
60
500
517
965
523
303
749
100
454
650
288
307
545
882
591
534
962
178
153
955
591
631
820
885
242
707
789
734
778
369
857
291
769
139
634
282
258
39
559
21
691
653
560
992
870
500
95
359
21
586
145
724
759
200
453
946
715
28
912
459
117
207
573
337
434
203
158
274
477
291
330
801
44
994
218
277
242
21
860
630
153
163
291
420
368
76
978
475
238
123
188
307
386
242
657
485
155
329
613
411
167
781
827
257
99
623
843
335
140
153
968
884
293
123
918
15
855
275
232
602
974
477
704
6
88
792
106
815
478
570
448
257
903
53
822
520
451
19
681
998
361
764
28
392
522
24
581
658
778
512
442
62
954
429
173
939
730
618
493
344
106
59
963
451
223
40
169
435
727
660
876
555
699
261
572
369
408
49
613
292
809
393
919
220
722
279
791
565
130
931
970
850
868
914
472
953
248
883
127
205
866
749
951
806
883
219
691
432
597
546
916
513
986
859
14
339
242
627
341
100
977
642
535
966
934
408
724
528
556
996
937
286
647
189
539
362
764
262
921
310
650
812
4
691
208
877
317
104
55
983
551
441
638
868
546
503
283
372
574
488
303
383
649
531
470
804
364
202
745
192
380
796
138
130
301
330
980
381
103
388
675
604
699
346
224
692
482
42
414
861
898
682
593
210
193
590
378
813
474
468
466
370
160
962
983
54
679
681
414
470
39
276
247
601
474
855
892
160
954
761
315
64
766
733
106
616
707
550
344
555
723
519
744
345
959
614
45
946
258
611
472
843
129
334
450
286
75
973
409
543
972
517
681
463
857
529
964
784
110
836
791
461
497
237
750
734
975
997
966
765
447
715
468
496
914
130
648
766
574
593
962
838
452
186
374
249
132
962
855
259
932
352
376
281
704
571
449
351
37
759
259
95
235
677
808
664
929
4
298
797
519
675
215
522
986
239
144
976
748
914
407
513
382
878
15
551
997
346
282
589
997
156
652
441
743
891
994
11
392
88
596
882
792
670
619
561
847
579
592
480
234
503
806
764
681
717
165
324
263
311
102
50
368
507
675
758
8
318
869
76
166
578
388
616
715
199
976
660
256
622
387
33
901
566
674
44
629
588
348
141
348
441
357
421
209
907
501
241
37
607
111
961
951
254
319
289
406
980
240
773
897
630
733
761
520
401
184
514
439
775
932
250
42
489
527
608
265
184
41
359
92
453
984
280
735
251
236
730
384
3
584
853
672
297
80
299
234
756
440
33
803
517
157
89
310
789
806
114
353
104
281
141
239
216
333
342
500
77
844
411
430
957
708
860
721
578
96
705
730
69
90
975
227
660
417
999
774
306
37
670
1000
832
872
716
142
784
832
601
166
886
606
792
689
909
396
16
683
774
879
622
658
955
206
297
596
548
786
208
441
939
898
112
333
638
975
93
104
684
480
348
793
999
902
919
28
228
329
306
206
866
424
687
299
948
403
856
7
168
796
45
691
71
337
517
213
859
349
201
364
453
348
648
32
672
423
276
644
763
140
238
711
94
338
193
486
487
209
977
842
551
465
422
501
375
252
575
626
99
691
177
640
245
579
536
826
118
835
882
917
270
728
845
407
795
808
1000
769
158
691
266
91
412
579
550
931
859
432
224
318
697
230
895
921
700
631
462
357
777
673
637
519
89
818
942
551
484
814
699
838
185
324
686
929
46
214
921
854
175
737
531
685
427
564
761
513
57
778
978
251
838
502
926
771
69
764
626
962
185
595
17
190
163
114
867
542
476
521
524
940
165
535
815
908
460
754
743
333
517
851
683
21
8
314
463
247
746
617
38
781
18
369
484
47
52
971
674
201
849
749
322
882
665
385
37
345
571
663
659
454
859
244
416
776
533
185
391
632
770
428
361
489
27
294
340
529
416
330
30
586
77
527
976
884
559
971
419
164
598
549
712
893
304
152
697
164
466
178
631
829
582
813
81
165
270
684
700
66
911
25
976
365
738
389
818
385
77
290
333
233
146
901
280
665
628
74
421
577
194
496
483
313
341
756
486
1
143
478
961
74
26
407
996
15
217
557
74
50
347
83
426
258
553
536
946
66
528
560
798
596
202
883
470
741
96
677
426
63
971
956
467
872
68
719
576
899
104
963
340
991
202
521
1000
170
88
936
791
225
234
203
548
699
95
281
437
805
222
732
314
305
837
699
416
846
406
720
28
593
839
533
302
256
224
140
644
762
417
839
924
895
376
891
342
202
872
732
906
341
88
382
385
833
666
813
26
875
960
551
555
457
607
713
713
558
52
24
112
578
308
80
272
497
96
304
493
466
442
530
667
683
988
194
195
415
558
386
942
996
936
864
568
464
485
247
613
255
929
241
455
51
589
685
614
413
414
656
902
345
396
626
631
272
318
908
383
243
369
214
900
324
819
189
254
274
835
206
807
585
509
529
398
889
354
206
868
533
840
698
248
885
30
280
925
511
1000
741
669
950
549
756
634
220
612
559
395
558
953
265
585
144
905
225
972
713
427
317
629
45
241
964
429
277
612
965
247
873
163
951
114
870
219
358
44
711
325
380
430
575
959
233
699
617
989
457
394
947
62
652
952
482
954
263
257
55
904
522
458
254
63
641
623
550
509
716
600
159
710
554
779
996
949
833
583
765
951
573
195
953
908
896
388
15
147
433
402
545
933
559
433
583
270
826
700
513
138
591
8
180
260
853
406
980
387
723
829
650
92
828
601
419
213
128
274
995
442
334
577
568
10
108
161
677
84
734
450
273
248
776
118
811
436
537
638
498
750
785
908
118
883
317
164
999
285
409
266
751
768
96
989
391
3
529
92
346
218
374
841
594
487
311
88
931
168
229
234
909
425
643
150
535
261
162
640
198
194
624
125
631
485
615
25
923
855
659
738
754
723
340
201
7
341
948
791
930
586
37
697
786
854
448
959
762
186
944
120
511
738
574
754
295
743
302
200
168
355
218
516
19
168
871
978
569
719
871
483
627
12
924
847
989
929
905
292
391
438
390
410
811
646
314
485
263
96
80
344
924
160
465
854
75
58
165
742
876
785
657
706
439
199
333
637
994
638
550
383
223
672
306
661
984
38
748
614
705
369
629
48
737
64
95
534
776
522
932
444
329
41
493
455
801
823
57
219
463
962
279
714
4
719
760
245
821
129
464
187
488
771
885
354
93
519
398
294
253
233
208
916
643
658
645
587
834
218
361
261
73
18
125
240
402
137
521
893
154
194
831
36
465
260
786
699
878
405
661
674
520
583
414
627
612
64
168
481
263
367
355
517
591
454
289
862
239
13
739
66
241
771
336
67
26
154
269
107
71
53
817
118
329
116
666
690
120
772
878
953
588
141
616
643
197
99
416
150
977
16
884
592
408
120
175
794
887
1000
519
632
697
512
355
318
280
202
330
115
404
465
563
411
502
791
60
261
61
853
126
321
442
697
926
540
933
929
96
125
135
686
464
48
28
70
470
817
176
961
840
317
569
330
452
274
560
682
63
285
168
837
789
456
813
40
772
357
187
279
487
401
522
802
522
795
31
27
464
855
627
444
749
866
348
639
929
625
97
286
836
478
392
785
555
979
849
269
951
239
19
844
720
678
9
263
599
167
69
715
404
469
909
57
44
495
116
584
501
128
400
421
42
277
824
691
631
378
370
892
547
769
394
352
739
267
562
162
336
760
851
765
23
842
72
238
704
353
151
357
8
186
123
741
673
858
343
706
814
177
990
10
386
790
283
295
902
518
191
895
607
159
636
633
872
898
291
386
509
514
150
488
99
356
957
470
171
452
445
281
263
166
101
863
468
543
798
884
71
855
249
517
263
883
675
364
726
157
478
36
99
726
989
422
936
2
551
398
797
913
316
564
530
867
98
635
651
37
581
259
955
66
973
361
132
576
920
620
235
827
136
285
286
421
734
358
171
218
681
117
258
537
159
45
840
262
867
507
591
689
443
945
698
835
280
900
265
452
968
944
830
158
465
469
613
967
910
326
152
977
664
511
573
129
767
451
617
767
513
955
919
194
247
564
723
532
809
862
433
986
264
283
874
36
719
92
162
173
8
525
397
551
34
495
201
318
348
894
264
454
340
302
681
665
53
787
819
245
215
596
875
855
552
760
65
835
813
1
612
45
248
904
303
168
455
2
410
127
605
262
188
523
88
525
20
3
497
547
484
69
715
683
293
130
570
693
91
516
178
812
553
791
597
995
117
924
895
226
899
789
55
869
83
29
408
301
113
534
437
496
518
642
880
801
103
723
9
864
532
972
871
588
46
75
23
994
150
945
38
111
672
815
607
348
456
855
598
310
353
887
835
711
858
929
679
842
925
75
705
44
17
629
926
767
424
522
17
99
241
795
963
88
157
312
389
797
405
935
582
789
784
121
898
654
675
260
776
274
339
100
94
758
620
296
965
335
363
472
349
89
476
142
53
64
582
548
818
175
646
725
144
333
787
111
464
378
711
618
67
755
875
374
908
309
520
261
53
256
184
987
82
157
151
665
169
664
591
772
931
947
796
932
404
943
14
170
638
989
871
170
484
998
263
586
130
47
903
641
801
148
415
106
839
996
990
218
69
717
125
281
957
980
897
483
558
335
571
935
684
349
64
57
28
884
931
219
193
892
111
981
731
209
599
347
309
128
610
238
77
1000
536
734
144
686
194
752
851
485
454
496
161
38
292
430
72
830
749
503
426
102
51
100
872
394
357
464
15
492
236
410
998
221
961
726
830
424
168
30
814
433
235
773
309
558
996
733
900
399
30
600
761
293
845
193
625
843
694
451
324
271
667
574
292
264
949
599
774
137
810
252
742
337
994
147
687
797
639
245
502
166
773
49
677
711
736
179
864
556
561
798
710
979
494
890
491
674
325
511
727
253
150
970
428
771
505
344
62
730
554
858
618
832
163
458
403
753
237
297
296
320
664
996
269
795
564
247
868
400
320
757
260
831
36
575
144
281
668
557
548
381
30
123
33
588
316
449
368
737
537
959
65
888
521
289
477
142
694
923
355
779
936
333
835
953
164
771
871
182
199
834
990
33
657
526
119
732
279
846
904
920
157
844
609
403
775
683
209
524
642
500
712
782
574
751
138
371
352
300
781
614
558
702
605
680
911
31
631
527
274
119
189
774
848
249
768
75
753
198
995
604
316
21
950
498
904
114
643
403
73
916
968
841
140
49
866
741
2
864
748
323
196
79
453
501
746
689
137
110
275
374
537
544
247
403
992
875
982
425
449
78
230
604
433
803
705
257
645
13
958
550
372
915
361
817
430
806
780
742
677
884
711
25
471
582
298
99
601
711
633
161
345
534
187
61
311
919
63
574
595
884
971
198
666
161
504
897
50
917
317
151
569
373
296
245
380
867
637
8
541
889
62
86
144
658
44
414
353
141
10
753
793
786
985
35
851
844
20
801
397
858
73
172
318
825
685
663
55
544
944
635
1
871
732
319
251
986
168
196
660
247
514
925
624
908
538
198
253
788
471
616
906
963
262
169
116
693
764
947
8
83
886
505
264
434
486
655
492
849
971
567
663
405
145
732
918
149
851
765
588
221
324
984
813
655
1000
468
440
806
711
558
237
865
827
821
622
661
918
128
188
763
938
792
354
964
765
708
341
331
173
43
517
390
952
287
857
460
959
454
916
797
302
757
236
16
794
379
548
178
992
830
482
82
904
961
767
512
457
905
34
651
366
104
432
425
883
94
226
280
270
917
421
785
477
860
259
484
698
724
114
647
922
979
912
888
583
965
711
177
714
777
492
396
750
572
502
453
293
851
764
914
676
653
442
293
140
740
833
382
791
567
662
502
284
236
236
138
350
718
753
175
873
305
712
896
195
657
969
962
755
825
414
828
938
311
681
433
229
585
520
559
391
439
718
940
396
271
509
62
263
631
442
617
795
385
576
732
455
444
688
417
237
295
924
173
484
496
910
327
17
900
929
445
842
610
167
158
938
584
408
802
345
336
802
557
808
448
486
198
767
426
927
122
347
997
792
61
313
111
80
786
677
765
980
124
731
246
667
847
822
567
805
317
112
658
51
296
882
346
258
6
687
291
404
336
831
811
472
81
153
961
678
238
90
338
417
673
355
818
322
924
315
828
596
519
353
844
593
931
71
482
255
243
181
962
585
636
322
710
820
70
858
598
329
902
902
611
569
743
436
767
597
530
412
751
772
676
152
27
244
161
195
188
775
582
968
877
228
532
333
948
793
134
66
423
660
217
839
411
365
394
88
414
490
260
459
319
746
52
176
962
712
334
772
354
692
739
110
529
176
331
508
504
404
922
101
32
397
519
261
663
594
173
30
122
950
661
22
180
929
807
193
986
334
753
208
309
340
177
851
251
400
252
117
772
920
140
124
816
729
963
975
885
419
452
54
704
545
965
10
964
555
137
860
255
52
224
226
954
651
73
710
253
296
787
803
509
310
326
540
808
912
706
293
952
140
10
741
86
381
80
50
848
756
678
743
206
648
860
556
136
547
515
821
907
223
321
581
20
948
869
650
785
124
333
344
92
208
865
426
220
274
832
105
379
886
141
601
290
225
134
862
282
572
971
524
283
306
992
81
607
563
282
551
612
573
529
629
150
483
355
414
242
165
449
350
535
96
217
912
939
936
177
937
277
783
986
206
937
471
806
49
257
437
717
295
844
854
9
835
86
753
478
447
886
790
306
289
48
163
715
650
793
967
333
127
596
887
151
391
945
745
1
95
586
857
741
289
576
553
695
892
732
492
465
415
142
601
910
132
968
561
964
318
172
770
960
23
682
628
301
80
189
796
663
685
32
817
355
949
535
107
143
285
800
874
622
331
170
933
140
416
480
787
454
220
802
543
479
392
574
427
981
347
898
730
589
391
296
962
261
602
435
908
219
609
130
36
408
537
459
423
739
874
973
939
732
996
785
959
681
364
794
266
148
173
425
132
401
389
35
796
389
641
576
657
24
386
203
591
770
175
241
679
50
560
359
537
549
395
827
153
273
862
468
828
134
539
293
364
909
206
805
126
662
928
687
978
74
115
888
390
725
904
148
201
7
221
637
601
257
304
707
948
687
293
712
885
849
771
473
105
731
714
252
767
17
449
28
266
724
591
454
536
193
861
126
545
372
919
710
976
450
29
4
340
122
478
259
937
244
124
925
146
149
380
556
487
681
212
741
799
849
457
819
644
80
882
595
749
229
900
456
906
861
823
71
228
855
836
340
93
15
629
384
435
230
763
123
212
683
406
444
93
763
20
60
356
614
965
863
995
718
722
45
861
513
662
254
395
788
824
815
219
564
180
394
370
186
259
524
474
633
801
82
508
405
305
162
104
921
983
782
534
28
619
502
609
104
274
372
741
250
615
549
315
205
875
594
344
992
101
695
111
734
405
26
103
759
368
31
120
867
659
663
848
633
133
529
545
664
418
435
764
49
36
47
162
621
609
257
539
245
604
371
217
62
360
421
745
533
854
740
703
133
770
435
77
785
976
569
264
441
414
622
290
776
753
329
203
577
913
72
966
284
660
783
344
77
106
785
465
87
808
39
727
554
623
60
682
249
161
127
387
52
916
501
455
353
705
65
685
873
45
186
765
551
492
601
950
401
773
855
64
607
733
109
407
697
764
188
365
298
366
335
635
877
947
506
937
838
787
950
44
552
333
483
745
206
644
123
101
833
842
691
969
535
900
569
309
697
948
73
241
946
564
769
155
706
174
658
439
475
786
335
543
362
762
125
179
991
231
720
421
625
48
20
340
243
908
726
616
342
351
731
253
441
887
517
97
629
433
540
418
997
566
111
162
462
817
338
849
344
436
528
290
997
527
837
424
962
495
82
639
400
41
357
843
3
754
498
435
190
515
521
66
175
501
833
733
377
576
446
338
766
257
390
296
911
228
252
168
955
594
92
579
207
689
976
871
813
243
28
46
775
188
227
543
623
162
105
328
212
45
158
573
429
504
46
936
91
559
589
67
950
646
165
539
499
536
363
784
256
708
634
34
261
478
267
460
849
248
204
900
104
754
104
625
47
46
582
564
292
294
737
278
809
155
920
790
494
610
202
33
402
656
130
305
913
195
209
607
556
776
968
165
935
597
622
745
988
308
115
593
821
727
745
970
463
506
692
281
224
193
493
745
756
867
924
391
525
715
797
936
193
508
917
746
285
920
794
664
637
19
740
946
311
72
673
936
81
14
284
403
122
533
221
640
236
768
594
528
819
6
430
792
758
643
640
554
645
866
730
133
9
207
720
752
735
120
690
445
504
242
976
1
851
813
257
199
423
51
701
978
91
907
884
397
850
746
420
432
872
961
108
719
618
447
930
300
683
140
423
352
914
556
776
635
388
365
529
87
42
548
857
607
102
655
287
576
971
938
118
40
898
961
955
850
587
360
549
239
877
32
554
452
769
938
929
97
360
136
427
816
705
356
42
710
230
665
339
746
76
324
299
990
688
934
689
105
15
359
1000
27
946
732
671
86
973
41
667
170
621
407
465
670
900
201
172
82
859
557
789
139
376
685
615
238
447
612
401
763
589
642
148
630
444
865
366
2
306
502
217
642
92
753
195
869
230
67
919
349
30
435
159
291
389
404
433
721
79
970
392
591
449
446
736
477
121
647
582
454
100
501
56
569
838
265
364
992
902
67
772
540
332
417
713
769
243
658
714
242
894
78
959
895
305
540
81
654
443
40
214
566
168
570
415
786
405
10
329
643
466
563
361
912
53
410
687
152
227
851
148
609
569
183
433
809
795
971
16
357
364
154
954
934
975
653
33
673
400
752
715
370
806
538
20
28
567
140
758
265
593
295
526
26
353
54
462
838
106
65
81
595
345
900
395
483
71
415
164
164
327
913
330
837
376
221
606
77
989
430
769
662
608
147
377
725
524
574
552
656
834
670
968
136
626
897
375
573
765
803
831
12
669
795
320
240
693
955
569
456
65
730
704
351
852
595
843
857
100
576
845
150
100
657
211
707
746
619
578
360
51
854
330
302
218
38
587
975
73
323
262
588
317
893
908
781
779
290
814
629
797
939
165
707
915
664
128
449
310
804
381
394
788
754
984
211
664
342
445
562
624
518
517
3
442
203
566
73
507
32
301
694
235
925
297
769
790
93
16
612
17
105
955
484
120
149
153
23
422
432
534
809
480
965
457
660
955
656
422
498
880
704
71
784
396
774
524
616
607
360
592
508
923
992
612
799
162
707
483
392
718
270
980
231
295
193
565
525
85
488
754
212
762
457
527
601
333
539
418
417
726
389
684
711
965
908
402
227
920
921
413
853
923
525
805
724
980
959
1000
392
921
949
598
236
595
144
835
954
129
182
870
522
357
361
176
505
733
672
966
979
469
174
932
586
133
287
593
478
694
617
168
961
807
337
223
688
195
6
304
148
104
913
378
5
166
710
198
588
488
128
630
449
381
47
579
429
5
33
393
150
79
742
535
164
988
272
852
263
810
604
20
618
270
779
588
458
147
370
570
19
431
55
757
318
403
880
703
138
837
842
889
279
757
3
698
737
504
229
636
966
416
5
722
820
46
510
71
38
729
274
495
419
229
317
346
910
379
577
966
903
904
862
803
961
59
282
700
49
339
311
881
94
271
219
931
369
209
601
369
757
147
99
497
423
780
264
874
801
432
670
96
109
40
28
564
761
24
50
596
174
812
279
516
463
718
879
335
423
106
664
272
28
53
262
619
375
236
389
405
671
389
629
895
349
468
21
211
887
632
984
278
219
225
834
822
896
236
178
413
326
111
8
360
457
377
171
863
287
274
230
931
417
454
418
491
687
889
491
561
608
296
844
530
896
760
140
403
951
740
54
318
490
331
489
790
890
449
718
882
30
616
525
972
502
141
306
846
170
809
520
617
918
601
594
359
349
620
606
409
902
135
624
9
537
570
593
326
706
357
30
923
789
797
609
427
569
448
928
507
592
128
337
228
465
292
771
550
232
430
912
11
970
117
866
625
686
528
783
632
359
562
461
17
765
190
78
671
291
282
593
615
504
965
284
4
710
513
111
493
26
878
290
125
808
225
561
121
387
268
86
801
172
766
845
427
120
275
681
903
479
138
844
157
480
750
34
474
351
300
417
244
625
613
50
384
228
141
468
142
216
918
935
150
386
22
989
334
180
155
482
747
443
25
269
472
628
549
54
496
990
317
686
847
152
388
357
363
185
245
765
159
3
630
262
248
446
99
419
785
886
333
258
97
593
643
557
5
353
655
323
923
56
843
477
897
40
461
265
52
9
415
733
844
230
792
833
205
553
101
383
879
494
730
155
220
297
810
811
314
369
413
295
508
967
17
534
362
353
233
988
579
883
76
686
702
661
481
846
211
450
324
92
216
521
955
591
100
989
137
107
322
963
308
120
72
555
325
660
645
365
150
435
187
580
508
163
952
233
172
766
318
473
374
219
585
953
825
409
41
523
957
302
824
505
297
103
909
732
335
837
906
383
843
984
451
439
392
355
655
192
699
420
478
842
533
648
910
687
136
278
512
781
501
94
240
216
392
425
449
409
693
598
630
822
529
510
760
599
615
796
92
483
460
334
828
202
369
468
436
238
685
351
248
530
325
334
624
176
492
108
172
669
359
652
437
533
653
669
33
481
321
291
399
387
876
329
230
423
605
222
180
685
539
166
599
527
985
582
914
585
466
229
766
177
94
751
159
372
783
418
698
517
211
108
444
407
100
355
51
638
229
406
616
871
555
797
125
877
967
919
438
284
489
386
537
859
204
816
151
34
759
800
912
135
97
406
956
407
971
588
203
543
860
209
622
857
153
261
450
638
860
5
671
509
621
417
76
814
527
310
860
120
84
969
38
987
705
925
907
999
230
767
430
935
362
519
670
619
333
169
355
675
786
391
239
909
643
360
162
487
669
854
644
468
574
469
364
433
721
914
139
184
968
786
840
509
710
163
268
997
948
631
132
775
76
74
172
804
137
676
931
85
502
107
836
723
250
764
83
270
100
323
247
233
342
536
697
902
103
410
656
901
225
409
178
994
194
312
412
703
823
709
280
249
891
882
66
167
485
14
511
716
613
233
708
831
530
995
451
987
325
712
744
754
533
317
846
268
917
681
566
65
138
404
536
968
696
522
824
793
401
104
563
640
650
540
260
463
937
566
28
415
367
705
307
197
405
880
544
270
762
384
909
309
72
273
359
755
1
518
279
628
509
922
476
44
271
895
532
50
658
673
365
412
281
455
425
38
808
233
84
512
659
810
645
78
249
610
909
59
610
385
348
309
613
888
785
794
510
880
924
836
180
599
196
821
306
957
180
452
665
276
276
708
882
347
404
755
261
959
253
940
782
783
10
910
948
733
542
600
925
450
738
530
345
576
89
395
220
879
594
429
624
77
785
377
224
439
3
221
252
826
31
982
223
887
878
16
579
527
793
252
399
616
557
691
557
127
732
344
966
558
821
479
79
526
221
696
423
894
448
871
747
649
361
466
325
11
11
49
46
954
303
96
195
375
874
364
235
657
466
125
505
254
593
579
440
236
492
615
840
448
190
874
741
10
7
790
651
481
986
839
260
846
525
769
254
902
973
971
531
294
77
490
942
638
911
374
654
701
405
203
384
569
629
687
27
105
785
132
682
754
213
457
647
957
826
179
748
977
59
446
276
978
827
778
878
547
987
624
976
693
508
265
691
524
870
821
782
455
224
376
800
794
502
283
544
993
964
737
883
676
638
626
199
803
742
457
35
976
433
912
987
921
195
189
551
680
726
846
397
875
481
276
529
689
882
335
848
890
805
840
950
300
146
885
378
611
149
923
114
327
711
585
870
930
50
60
580
70
975
661
565
691
500
878
25
529
668
842
903
342
302
597
627
565
827
22
950
826
461
538
909
906
819
960
923
258
449
11
155
199
865
3
607
201
422
186
815
523
777
72
657
582
716
817
529
33
870
404
69
551
213
929
677
668
236
775
336
837
408
833
582
107
865
211
62
395
248
84
785
374
298
405
47
404
90
237
13
796
779
345
115
905
349
528
745
220
112
884
208
648
679
829
529
675
675
238
516
921
748
501
423
899
305
658
651
448
973
3
225
414
12
751
151
616
758
369
380
59
716
210
820
620
101
923
699
185
478
914
686
298
626
837
301
905
931
661
581
726
395
405
408
96
855
6
630
861
59
130
900
78
120
948
151
790
199
13
761
134
446
459
751
382
927
623
823
305
677
84
629
399
89
853
449
138
552
105
356
357
639
429
38
308
151
9
654
702
31
580
520
287
494
245
940
86
699
447
209
495
988
509
663
806
962
113
681
604
690
51
690
701
936
365
560
914
573
727
273
61
289
547
351
990
284
808
360
340
907
119
733
976
65
756
270
743
825
786
939
264
823
481
6
963
980
313
125
448
540
805
715
635
643
376
872
732
484
114
82
312
591
91
218
221
933
459
657
992
361
42
855
774
356
565
403
522
175
970
400
339
279
513
969
412
347
438
871
949
268
68
471
869
277
127
769
804
759
892
789
96
353
598
416
117
672
135
661
165
335
647
428
646
39
146
79
1
78
606
482
88
73
279
774
298
641
221
768
766
420
42
792
392
152
952
763
281
514
79
449
419
975
812
237
50
279
717
162
285
45
120
615
914
605
70
947
267
419
767
106
243
320
935
594
285
407
863
242
199
612
973
784
147
841
889
709
105
114
909
679
323
329
694
629
72
91
745
743
45
565
974
682
331
456
214
819
780
34
83
708
930
569
975
737
389
700
293
690
734
6
278
958
509
488
864
262
894
786
98
42
963
666
541
133
214
740
959
938
256
443
340
73
94
982
956
392
450
375
734
356
976
703
699
961
968
401
605
804
461
730
176
435
135
603
572
829
534
559
765
662
500
8
566
114
558
830
893
56
242
30
753
829
980
438
69
305
215
369
178
526
910
746
295
58
421
459
745
108
14
598
70
584
980
793
381
518
371
99
505
713
876
709
519
40
257
366
258
537
54
463
245
360
996
703
297
672
642
684
733
771
326
905
724
81
375
527
825
188
945
664
139
737
502
120
876
842
175
259
305
649
736
123
219
818
899
15
70
1
49
503
871
815
218
212
818
452
357
824
337
793
495
417
910
845
398
670
631
375
706
446
872
848
357
7
873
175
287
399
303
308
35
578
76
428
886
496
761
322
613
658
988
571
718
652
88
308
315
755
102
682
422
8
944
585
516
88
196
896
621
878
506
236
103
921
15
222
591
801
601
281
127
88
962
380
731
685
735
409
63
292
911
569
744
221
776
814
217
3
500
307
721
37
265
886
83
52
525
729
538
305
601
781
710
232
288
998
255
746
593
149
356
508
27
726
437
243
99
522
18
655
778
528
567
528
762
148
595
413
283
134
990
637
69
283
772
487
822
680
50
99
222
206
901
974
63
84
360
64
562
492
443
56
304
645
368
825
533
291
767
27
720
269
648
442
426
650
359
6
475
953
596
427
389
146
737
894
814
434
460
692
441
331
626
430
498
142
864
228
483
790
199
412
197
851
268
203
535
798
424
422
700
673
34
460
701
875
829
638
58
290
21
599
582
734
221
561
28
573
889
117
147
411
179
736
419
970
537
304
279
584
359
818
217
324
345
857
500
353
908
530
594
2
160
411
607
8
553
388
164
488
181
459
205
546
154
238
104
827
189
350
379
956
771
953
2
570
787
332
994
547
559
883
542
123
575
853
359
842
20
860
391
618
439
564
241
792
435
877
905
727
384
732
475
348
514
738
510
60
579
38
648
643
568
285
878
21
540
941
605
326
749
29
259
290
634
85
760
787
175
256
576
318
325
450
450
325
963
955
164
474
836
195
821
502
504
139
240
741
157
419
987
223
497
401
494
113
572
277
449
291
575
772
394
77
134
171
5
479
546
233
81
830
753
970
654
369
569
443
959
128
847
462
220
490
806
534
351
902
698
502
686
522
357
33
823
50
968
556
481
573
519
271
57
32
40
605
208
827
682
830
365
179
100
606
544
48
405
887
224
852
156
979
310
735
475
520
440
844
400
822
941
941
997
315
797
674
606
802
850
14
824
854
320
669
473
951
423
800
864
921
499
969
103
797
628
59
82
493
95
864
33
558
488
125
232
874
396
92
495
348
892
70
626
525
22
6
835
598
494
906
497
441
663
743
267
163
679
578
749
158
341
802
377
799
845
780
138
703
70
664
68
995
480
853
211
94
41
351
866
341
771
299
516
203
660
78
753
908
747
662
924
73
90
379
967
336
179
813
76
19
142
363
441
594
728
895
286
94
616
980
802
611
93
460
434
756
493
466
106
245
127
555
656
813
546
331
739
289
174
781
874
977
265
557
167
471
109
608
480
619
202
900
434
670
822
436
718
544
90
417
620
772
129
202
555
879
360
648
652
919
359
538
112
398
911
66
170
59
93
744
939
867
257
709
354
48
797
108
692
254
402
132
897
727
351
339
10
861
61
67
555
702
684
126
649
734
101
455
932
776
30
101
162
922
294
716
451
243
534
716
691
413
760
431
658
490
185
819
654
845
716
809
314
640
340
926
397
301
383
594
927
157
295
486
95
790
167
301
661
655
670
630
464
241
488
933
800
345
582
199
80
80
856
568
185
833
840
47
354
744
66
455
304
231
669
915
470
688
621
530
963
787
674
365
829
742
752
478
708
477
63
573
810
885
637
749
430
293
342
980
883
769
701
167
822
156
979
78
399
578
84
22
623
679
786
855
573
63
670
806
813
232
985
653
503
812
268
961
195
15
222
484
236
108
813
313
37
92
989
45
210
954
709
60
696
607
225
974
608
83
671
484
402
621
51
105
430
54
673
753
629
290
902
740
333
751
882
487
734
337
532
222
542
876
672
957
770
22
637
308
372
266
93
83
678
72
73
128
183
111
413
605
259
277
926
741
796
413
575
93
611
703
902
560
684
260
711
669
963
742
792
169
486
761
51
602
70
438
984
291
646
699
854
166
606
815
281
939
219
260
226
397
215
148
490
16
166
412
925
659
170
398
539
873
654
747
531
149
792
253
105
612
204
908
586
743
65
497
977
142
704
887
568
829
129
655
670
255
599
811
814
16
564
122
5
255
816
35
759
865
650
231
651
897
218
619
94
44
20
982
868
658
633
532
715
535
401
362
942
615
768
152
574
811
337
491
43
445
556
913
797
101
106
28
500
315
733
161
672
161
223
564
731
689
700
558
394
178
233
942
313
308
971
626
643
719
702
722
932
881
748
250
404
845
586
242
201
239
446
222
599
814
408
991
589
981
190
175
424
991
913
232
941
885
609
461
492
878
135
109
331
588
467
838
144
400
38
670
238
321
924
13
550
841
170
529
285
716
503
409
452
77
3
114
17
939
32
703
671
8
880
721
476
691
136
995
741
309
743
812
547
834
68
678
273
931
84
282
310
657
937
333
928
963
769
646
906
62
621
256
102
768
686
341
632
192
933
415
681
531
375
626
270
247
830
951
500
621
77
762
877
545
715
534
343
400
868
438
535
60
137
167
623
379
813
658
791
983
444
261
77
872
309
534
776
62
176
75
122
531
52
698
246
747
260
840
706
414
283
286
30
404
308
162
781
482
273
713
625
126
566
519
768
656
182
676
920
897
305
957
607
851
756
111
299
146
728
294
276
612
508
50
602
941
670
432
880
255
332
587
682
365
656
593
680
657
701
414
554
818
113
580
665
87
907
631
366
290
784
375
546
728
980
784
687
851
658
669
270
776
252
345
842
900
944
157
430
272
706
88
294
922
910
668
172
44
563
58
299
787
632
473
472
428
765
115
332
856
949
354
892
639
291
232
12
409
176
251
183
950
473
20
529
170
385
591
335
69
744
186
799
952
289
616
955
364
494
875
834
678
47
289
75
816
952
108
79
315
524
629
760
868
282
773
687
471
822
533
113
539
307
870
990
698
119
437
573
469
545
980
629
746
132
389
577
771
474
147
109
309
738
361
991
856
220
647
744
14
566
895
888
599
65
338
242
685
607
403
562
516
479
558
426
155
144
712
879
830
586
777
800
122
546
680
325
579
243
444
988
851
738
965
377
153
158
762
253
718
391
286
48
915
725
333
595
873
128
750
731
786
499
871
175
540
313
78
685
956
486
465
34
732
204
822
809
104
681
79
364
386
535
888
528
767
514
249
811
199
820
960
943
770
155
190
542
679
938
659
575
845
822
771
84
184
784
502
338
840
548
51
145
962
63
13
600
165
64
356
932
474
495
558
433
364
725
79
687
507
12
736
434
962
671
681
442
847
726
405
718
976
623
587
213
547
735
694
947
746
11
936
145
35
52
547
516
965
354
404
327
608
221
676
246
64
60
535
272
59
417
960
214
343
82
309
308
467
75
661
568
493
101
885
349
424
355
8
453
397
160
748
807
209
996
6
394
373
934
693
618
682
348
534
777
227
46
370
622
916
648
70
258
784
117
340
795
848
829
632
239
779
480
851
58
448
420
755
768
252
713
791
660
192
334
591
462
857
442
523
370
854
592
475
339
700
69
563
972
884
294
513
655
635
366
304
787
892
380
55
120
134
104
246
229
9
976
110
95
145
135
433
618
152
392
50
644
570
624
67
746
441
61
177
554
263
336
493
936
312
968
992
672
696
157
13
573
81
378
239
193
677
293
250
355
986
914
64
749
777
796
999
746
963
270
872
408
347
365
786
376
701
138
700
970
289
580
588
365
716
115
208
134
951
13
426
823
482
676
606
448
807
875
767
5
892
483
103
105
819
138
980
860
546
608
713
993
612
294
263
966
663
445
493
575
863
191
776
87
617
382
554
493
554
616
922
843
372
522
418
988
978
544
993
223
346
13
563
509
640
244
630
941
452
778
225
118
452
645
804
865
356
698
805
570
869
669
287
10
209
561
445
152
849
424
806
834
384
308
627
680
800
459
337
821
969
388
850
237
887
487
265
599
54
282
743
531
363
268
338
69
80
470
178
986
803
566
652
290
749
420
229
920
400
362
95
112
293
386
43
436
704
745
984
783
102
60
966
878
457
165
832
36
988
400
512
968
415
955
464
375
603
157
986
1000
302
327
928
561
779
926
865
679
299
236
923
537
815
756
259
491
688
811
688
268
972
629
29
712
583
270
563
252
704
355
404
407
853
493
681
669
391
680
180
50
662
685
499
431
586
668
817
613
256
794
117
600
65
649
36
255
892
627
603
918
178
282
735
946
57
819
777
452
283
547
311
676
374
101
150
565
277
701
719
80
828
524
1000
731
502
509
852
607
225
582
763
904
535
296
67
602
7
396
215
453
634
624
952
899
838
396
155
888
865
640
650
799
590
162
523
866
178
406
338
542
630
372
186
222
944
744
677
641
558
6
834
8
732
417
332
687
775
259
699
776
340
683
879
485
547
814
51
599
355
525
691
642
433
418
677
571
750
117
629
971
253
933
808
757
303
312
623
310
959
278
190
859
847
214
477
640
77
955
259
55
620
129
475
595
604
68
642
779
246
453
622
746
505
18
411
405
98
286
603
257
207
310
828
93
82
836
796
784
732
123
517
274
96
901
909
731
369
594
280
511
695
988
89
222
19
976
13
735
724
876
566
401
620
106
423
88
940
649
187
937
290
847
512
850
895
535
403
824
75
442
27
214
599
66
545
864
469
949
340
876
729
393
483
425
72
180
460
679
410
776
980
350
54
835
134
819
831
577
343
132
305
728
247
322
217
284
189
706
427
317
979
807
930
388
416
485
945
935
419
758
718
140
701
486
407
406
604
798
375
513
128
689
243
981
176
699
341
902
747
952
539
762
129
126
3
371
174
132
126
30
340
342
724
499
553
256
615
178
854
370
863
115
458
854
284
149
114
348
312
491
573
833
950
571
610
62
311
772
229
480
238
6
641
902
568
716
132
491
874
999
154
724
957
28
868
103
904
835
864
354
294
840
2
718
984
199
116
736
988
159
874
626
136
159
186
939
566
294
405
684
615
135
997
540
347
609
511
68
770
802
431
87
789
110
941
466
67
80
720
672
275
704
636
316
643
656
604
807
354
151
935
964
55
702
226
129
717
23
202
841
108
720
958
654
415
233
723
36
908
684
629
566
97
900
937
868
538
914
852
787
282
646
350
331
999
350
413
822
946
582
698
508
312
157
921
596
921
568
204
338
921
826
188
291
902
525
2
338
798
217
36
418
66
866
69
135
892
201
491
604
570
334
234
948
814
832
573
838
457
805
111
347
906
229
138
165
742
856
26
939
87
593
478
65
676
143
279
812
119
31
633
3
488
904
315
877
193
110
634
894
101
119
643
453
973
331
118
464
603
140
579
712
493
931
31
750
484
841
152
858
559
703
382
230
921
588
744
141
545
748
234
312
622
568
316
69
720
343
418
178
993
305
272
443
519
355
651
223
662
381
322
69
387
857
29
563
622
689
916
259
91
893
105
376
505
754
65
490
660
565
989
34
771
930
664
834
324
848
207
289
827
518
612
16
122
838
248
987
328
112
346
218
47
332
25
56
218
719
591
998
896
937
696
748
234
456
427
920
208
122
558
384
930
872
2
778
934
886
970
83
475
204
464
518
733
982
509
210
738
105
958
216
50
855
819
547
444
656
754
737
354
739
861
400
413
706
853
927
190
568
515
161
152
843
644
464
942
644
751
32
316
552
447
720
439
228
814
924
817
349
23
244
817
487
145
758
594
951
387
753
263
463
974
653
308
779
493
711
551
997
817
752
499
354
648
888
500
788
314
658
954
366
706
492
762
998
125
735
317
488
402
752
576
94
836
748
215
228
388
57
388
845
89
588
404
362
813
13
470
649
385
70
721
766
529
38
956
622
271
40
849
678
253
353
910
119
870
279
170
708
259
489
342
615
954
946
234
136
453
657
311
117
30
540
588
300
888
620
506
549
124
637
22
132
70
902
951
760
253
863
459
134
630
474
731
103
750
867
49
350
188
257
884
752
945
268
207
131
503
71
844
181
866
822
631
749
236
890
94
487
951
286
558
157
900
505
918
471
955
732
789
445
843
981
383
671
524
287
246
796
338
494
974
754
132
547
79
988
108
439
498
958
349
143
598
755
883
896
167
498
631
209
544
532
801
835
3
116
113
725
474
423
752
673
956
210
85
995
273
400
990
31
380
200
130
725
70
72
591
822
767
69
117
453
73
545
595
23
874
256
515
320
91
198
920
749
645
318
726
409
765
404
361
489
574
41
407
157
780
514
272
617
390
931
972
561
575
645
765
546
233
254
746
180
315
79
488
135
685
49
467
160
155
315
343
210
328
800
99
783
63
83
698
316
709
684
163
263
709
872
948
65
854
567
38
796
210
763
483
686
742
194
944
79
733
624
427
644
360
220
566
807
237
974
697
449
257
29
514
883
867
51
233
5
723
517
96
309
774
900
481
117
998
241
89
28
370
527
450
29
157
648
482
182
310
412
941
86
549
270
391
529
692
941
758
911
964
89
600
14
268
563
11
676
889
493
442
729
673
701
813
368
524
477
974
742
943
743
982
129
439
52
653
552
849
644
557
53
18
2
964
133
803
959
220
57
92
440
723
834
372
333
957
667
393
824
994
595
654
776
541
857
737
366
835
239
45
253
660
289
68
7
337
819
168
396
783
573
767
385
648
255
969
399
87
408
870
469
951
757
275
376
37
721
77
795
598
769
302
758
441
162
717
457
860
424
916
503
65
572
47
311
994
736
635
191
147
287
535
38
593
42
664
300
383
387
23
5
417
410
476
200
218
265
913
110
169
9
700
689
531
111
773
9
920
680
352
99
41
192
998
435
136
200
661
289
12
29
441
500
526
969
24
72
98
842
128
189
155
108
848
865
407
870
486
444
532
225
311
633
106
439
701
532
642
304
296
414
170
875
110
615
108
492
32
974
83
645
784
697
960
742
205
406
593
321
670
381
702
565
557
709
841
245
963
100
652
386
245
659
451
999
586
762
740
219
478
515
409
44
927
969
240
677
209
367
821
151
232
254
133
531
885
169
874
469
291
993
62
326
542
767
580
366
316
929
82
777
759
469
152
381
159
487
667
942
228
953
71
927
250
293
680
411
982
567
188
588
925
584
257
991
536
331
453
125
5
428
823
634
455
176
74
573
810
937
683
589
140
227
225
18
959
891
913
29
829
191
599
926
642
450
488
622
94
131
421
155
227
890
870
800
355
193
722
977
368
521
505
706
171
85
985
759
988
228
938
68
341
348
472
145
809
307
503
470
68
728
825
858
291
513
795
775
725
204
775
488
153
512
382
680
972
465
32
878
854
144
463
646
263
884
701
965
682
190
426
686
994
303
787
200
353
559
521
751
828
168
645
900
246
69
97
709
957
815
435
157
696
259
115
140
320
971
928
154
962
894
889
455
56
752
240
9
784
99
270
61
696
722
325
510
665
293
724
565
880
808
313
355
269
348
7
263
607
128
20
755
590
655
409
391
292
20
217
518
784
17
753
879
151
839
486
978
792
538
632
609
677
312
748
377
180
960
559
390
238
505
792
569
807
86
20
165
52
696
390
158
240
246
613
172
71
727
830
429
49
971
740
49
540
600
946
690
380
292
560
129
239
406
978
886
448
357
153
402
705
855
849
602
848
276
116
898
918
983
681
814
825
378
22
458
254
819
644
996
901
310
488
150
697
73
459
466
501
638
765
812
599
146
146
60
474
893
94
457
502
998
842
511
653
230
262
530
783
704
777
149
844
123
79
258
151
710
732
773
901
777
716
580
269
132
576
820
768
183
139
392
5
610
689
187
637
987
58
102
96
547
385
323
623
601
141
723
242
763
639
453
589
235
407
6
892
887
713
48
27
771
44
339
248
6
518
902
128
659
79
407
256
409
775
432
450
252
624
845
606
448
333
67
810
274
650
387
999
827
202
824
313
327
495
225
217
874
150
463
653
616
566
593
751
591
935
800
76
341
936
792
19
530
510
71
664
390
805
162
430
812
787
443
815
304
15
722
829
813
773
35
88
650
91
484
75
341
189
77
782
262
513
664
793
350
878
53
910
995
158
292
543
477
602
955
462
943
153
943
953
976
44
995
87
280
562
591
565
831
114
410
611
163
630
827
424
104
881
206
18
355
549
906
673
828
707
959
789
515
932
396
684
984
438
38
759
314
471
379
481
362
701
864
869
814
476
479
484
371
672
66
468
773
254
181
839
83
873
650
52
821
535
182
859
72
844
535
595
660
410
773
340
840
759
85
854
732
468
486
767
895
339
491
304
25
114
484
700
761
618
109
590
937
253
445
830
493
416
138
642
380
815
929
497
482
586
226
848
552
817
448
689
604
378
890
935
43
915
758
770
21
494
850
442
213
672
75
483
177
672
637
934
9
979
238
984
790
873
110
361
649
346
30
926
901
414
712
188
847
18
162
865
260
623
611
207
516
121
654
511
626
840
69
165
104
302
596
586
762
867
653
614
9
561
531
316
180
179
168
607
738
239
955
822
944
480
402
163
734
359
660
932
75
458
67
619
62
797
913
176
359
786
530
281
356
964
719
1000
614
730
219
7
722
979
638
451
708
937
796
629
517
523
912
861
890
225
476
343
175
847
874
302
222
472
97
479
517
621
895
821
177
930
805
276
204
602
338
742
690
540
471
578
275
316
279
530
222
95
203
577
940
208
959
14
635
311
557
5
49
982
227
969
925
163
326
425
915
69
447
328
126
51
10
506
429
449
621
558
916
629
324
429
621
263
695
953
745
387
380
828
108
945
319
872
526
316
377
891
102
814
511
188
189
232
940
538
904
337
993
472
655
592
446
804
55
528
180
678
24
898
974
826
574
176
43
348
32
997
724
89
959
874
365
609
79
881
26
802
878
40
99
478
370
805
303
576
716
409
835
254
986
816
600
777
423
677
605
997
916
10
539
213
315
271
523
391
367
119
819
36
776
454
984
481
894
238
625
21
19
204
425
81
156
795
545
596
344
599
880
846
344
81
880
286
564
644
817
307
582
926
446
455
523
753
991
356
858
362
234
488
884
356
318
981
279
336
537
826
618
314
979
247
704
826
425
467
854
120
278
809
54
927
656
864
35
86
960
466
852
749
405
331
546
965
998
527
792
197
417
377
236
730
80
19
388
982
449
598
518
456
283
990
6
428
110
27
970
513
673
437
826
917
473
81
610
535
827
631
537
53
58
517
272
859
499
848
816
875
59
7
763
407
934
785
892
700
932
272
725
201
563
174
742
431
688
876
364
983
62
371
728
409
530
105
504
635
20
929
717
147
677
560
600
366
704
437
988
522
498
366
678
868
657
136
477
251
323
136
340
895
109
77
166
758
525
89
289
979
463
861
657
727
763
963
31
237
317
200
235
957
481
621
693
470
778
851
979
333
27
491
118
27
45
667
705
997
21
239
681
121
518
796
816
55
808
314
482
567
891
297
331
397
143
262
860
149
997
693
667
472
436
957
392
64
376
224
967
84
202
139
807
162
813
833
16
558
557
903
489
929
322
131
64
845
883
40
497
422
332
895
89
405
25
362
275
621
50
834
310
950
630
423
488
896
243
661
4
372
493
267
634
546
925
741
915
451
30
98
393
624
699
829
819
161
219
24
861
500
720
665
42
661
659
270
107
872
542
458
973
316
570
488
725
174
320
509
886
301
882
83
310
601
109
515
616
654
745
680
33
196
256
304
887
830
108
138
738
719
114
35
346
113
192
747
234
235
569
121
601
448
7
511
725
653
123
402
824
536
242
656
524
650
510
337
703
275
178
755
512
706
101
232
802
870
446
126
983
191
566
772
642
204
782
384
830
724
548
383
27
297
116
301
226
253
326
184
442
933
622
359
244
563
713
563
555
793
582
658
74
177
672
627
140
672
190
49
778
848
392
65
951
608
645
659
748
104
806
179
374
21
163
188
300
548
803
109
883
170
747
632
77
880
605
525
616
532
861
317
182
837
57
294
618
923
339
399
229
512
817
908
547
443
162
216
725
765
690
671
903
585
963
139
463
671
576
941
74
83
369
823
858
226
796
921
749
331
541
989
394
753
761
786
503
459
540
144
607
729
234
156
604
401
363
881
289
982
678
191
340
520
774
646
827
466
412
823
420
646
291
124
867
73
581
895
248
589
946
642
710
187
164
230
121
477
667
217
134
938
521
893
649
478
415
167
559
366
203
177
959
764
425
404
727
945
28
66
463
776
172
833
335
181
652
210
267
143
917
468
281
234
124
673
496
813
958
186
469
783
168
977
106
258
937
258
320
573
173
209
973
800
828
37
448
370
137
210
309
426
458
465
154
270
51
122
716
642
684
290
668
566
456
806
414
226
580
123
317
643
167
898
461
935
256
756
54
594
401
536
998
521
170
358
1
526
796
7
830
626
40
459
957
752
65
855
900
393
728
870
27
336
259
207
435
863
702
919
812
692
894
333
844
517
946
658
827
192
424
725
637
508
427
937
74
1000
791
196
950
453
481
480
951
576
51
787
443
835
735
363
915
571
311
481
648
367
429
548
584
53
457
17
52
898
246
346
195
292
431
302
476
676
17
972
596
538
20
203
540
79
912
582
205
521
413
736
280
117
988
429
600
614
13
919
197
309
193
45
675
870
233
814
311
750
204
581
534
401
272
517
2
466
702
708
551
785
108
131
705
375
952
724
266
479
192
976
745
446
800
750
49
431
593
566
871
884
455
180
709
356
560
119
293
417
652
755
467
375
770
618
263
35
93
927
970
988
716
695
505
739
235
395
279
569
9
854
53
153
832
962
1000
856
546
813
282
68
808
106
986
137
819
967
196
254
354
909
283
87
814
257
270
129
338
247
249
464
278
956
390
100
405
363
27
127
312
146
705
675
381
253
781
75
544
907
428
672
834
469
391
466
360
473
901
106
920
270
515
830
949
901
453
581
858
242
214
917
123
995
885
282
667
787
539
909
178
524
594
889
17
131
782
936
266
993
673
995
308
743
300
104
23
494
508
868
345
306
97
505
442
396
695
629
219
636
580
903
225
906
314
184
252
201
179
57
110
763
863
490
133
115
740
888
899
582
415
995
597
784
882
954
189
632
778
313
262
556
732
923
34
41
725
493
489
67
726
20
34
732
592
443
380
132
384
645
580
577
783
355
276
359
257
617
257
560
5
198
363
868
452
759
622
957
261
631
257
751
420
778
872
814
914
898
680
188
940
635
120
225
374
552
586
344
452
889
273
200
200
79
351
448
196
694
753
124
676
766
897
710
799
422
547
92
161
378
853
952
270
114
324
628
756
498
125
102
547
217
612
564
97
593
486
967
46
317
262
93
326
141
42
889
874
816
701
277
529
421
701
220
640
772
699
513
205
763
994
734
29
350
658
740
565
374
876
380
576
592
630
398
697
51
350
19
315
472
587
419
920
366
56
39
217
429
655
755
861
170
154
995
608
846
316
226
65
475
148
666
980
177
807
695
182
61
485
176
883
682
206
858
35
390
70
67
812
972
954
143
128
649
29
477
271
827
780
511
372
19
365
815
439
991
291
165
110
488
348
577
120
900
694
442
715
792
761
187
883
554
409
406
330
330
366
34
594
984
537
911
538
116
198
70
747
28
450
150
26
115
557
631
277
367
960
975
528
531
806
372
776
30
838
480
613
895
340
459
302
831
639
649
109
22
342
412
180
430
99
59
216
173
183
245
502
996
573
931
612
14
585
800
229
656
260
28
99
179
911
411
77
211
209
189
589
549
186
306
620
800
327
505
488
560
725
375
277
498
901
411
768
126
475
217
112
25
349
213
289
11
428
591
618
49
205
820
159
729
731
684
926
771
566
705
199
315
350
824
97
765
498
351
798
523
396
552
427
263
131
717
716
320
490
169
951
358
437
489
640
726
762
187
558
822
923
124
535
342
363
299
409
496
742
978
95
163
601
781
559
471
936
14
848
482
49
461
988
497
822
882
709
990
263
654
446
348
752
372
35
386
951
706
793
81
722
520
487
95
723
41
766
416
596
884
244
915
767
856
340
669
906
758
366
676
88
862
115
975
477
346
375
252
155
710
401
729
376
164
327
495
67
994
931
475
900
191
952
930
622
992
369
682
617
533
651
303
882
514
54
130
673
630
393
285
105
530
637
848
879
264
830
950
156
445
556
828
289
900
170
833
767
183
505
951
285
113
607
662
244
479
341
854
387
137
369
85
501
996
96
673
280
798
671
997
525
198
13
897
807
348
141
268
634
98
802
755
902
975
496
980
152
278
515
874
713
7
549
490
346
844
743
151
393
75
819
907
761
180
38
42
306
763
311
818
291
683
748
737
635
503
268
332
629
832
696
918
619
752
931
791
926
275
354
64
928
698
631
722
801
798
476
500
890
36
734
854
48
341
326
665
587
567
272
298
662
439
956
283
22
647
286
215
40
752
196
415
884
766
192
541
476
556
286
582
619
744
720
634
316
359
322
435
813
359
228
881
373
26
947
653
112
385
441
637
484
56
963
55
187
334
907
57
302
921
778
111
458
415
742
651
708
585
883
322
579
478
436
659
435
626
767
162
928
963
803
566
781
582
960
562
575
125
341
340
527
432
118
116
475
53
589
230
403
352
331
490
878
257
248
205
741
128
84
720
183
832
143
359
164
894
540
374
735
481
310
877
422
72
71
775
298
906
769
380
744
656
219
745
193
351
778
741
328
259
509
571
340
293
619
699
806
530
784
165
694
576
220
857
827
873
999
607
805
488
162
891
103
586
643
539
503
568
874
56
539
826
218
119
936
141
58
320
299
46
440
479
456
873
660
706
945
789
108
912
86
849
922
681
981
995
799
225
556
952
327
660
446
207
822
987
158
561
483
974
393
326
105
607
887
832
245
873
385
805
946
469
631
95
635
397
367
431
793
564
373
118
345
201
520
84
491
341
666
272
889
665
969
126
661
716
856
867
701
869
458
302
149
472
791
159
715
262
344
313
704
478
16
830
259
122
545
442
327
454
673
927
277
112
276
884
960
233
619
553
209
548
715
674
439
728
471
822
65
177
946
358
888
54
597
842
498
575
792
799
983
525
266
753
925
481
409
763
755
472
460
90
997
649
750
187
869
95
82
983
975
63
263
254
544
801
543
972
800
581
435
699
537
745
981
449
923
352
43
962
888
512
580
1
180
578
236
99
324
175
744
178
277
467
801
593
517
155
111
443
678
441
222
454
615
615
632
332
947
948
413
258
725
333
228
100
848
446
224
21
262
261
733
354
749
406
82
43
362
231
143
459
137
397
391
127
762
514
383
734
291
605
548
816
837
188
96
695
412
355
684
532
718
522
181
886
767
467
508
776
652
830
87
45
638
543
843
779
61
516
74
642
139
499
746
237
940
241
952
45
191
931
301
42
546
452
30
850
211
155
462
147
539
696
256
124
319
988
558
951
12
455
795
598
102
615
314
858
73
440
530
71
252
117
516
910
918
559
226
542
613
493
667
617
560
16
338
853
452
263
263
406
647
248
714
847
989
974
543
309
37
650
669
312
505
201
823
803
73
306
177
249
568
870
790
932
702
179
166
206
167
989
355
122
907
457
150
723
838
108
943
311
81
34
694
134
42
109
314
315
308
309
446
269
378
139
303
550
707
777
724
806
414
779
67
524
262
108
900
306
196
779
721
726
829
681
63
189
724
938
467
827
233
774
704
184
964
967
584
316
631
865
411
9
180
409
885
979
582
759
812
308
644
956
516
864
475
485
249
119
28
740
196
627
261
189
933
376
14
430
278
391
660
463
557
234
952
220
224
533
263
818
610
226
580
39
380
32
209
278
876
520
133
564
143
267
360
273
871
802
390
868
899
426
162
307
183
553
439
785
338
901
594
109
972
731
240
329
6
333
905
208
113
143
266
735
219
184
49
160
716
12
776
977
692
993
1
863
11
516
529
820
496
706
383
690
854
319
984
756
214
724
57
368
308
359
286
397
404
558
641
847
74
419
587
163
734
257
96
574
735
238
514
341
397
968
826
919
63
201
820
850
679
311
961
678
873
863
529
293
786
434
747
885
161
822
119
137
295
905
228
368
525
732
549
80
842
842
633
774
86
456
184
965
916
907
149
13
427
631
901
808
856
77
17
321
253
174
954
765
439
324
104
412
793
493
373
141
649
611
395
420
163
418
965
754
505
829
78
584
182
131
212
246
52
594
142
889
384
604
611
166
887
26
662
118
208
326
268
917
826
921
211
23
609
328
790
891
581
953
60
567
577
781
775
375
555
795
96
456
298
688
453
62
117
324
634
397
955
436
284
246
986
274
558
820
398
226
545
45
560
11
449
985
172
654
239
210
330
307
636
710
650
968
837
376
728
261
353
166
251
757
695
827
20
763
411
439
978
97
159
104
119
150
72
834
780
438
685
45
422
939
51
107
455
722
519
79
38
785
817
97
104
532
724
875
13
65
619
461
354
270
627
649
433
728
920
468
858
645
966
746
499
295
155
59
786
987
305
293
945
177
990
629
328
154
501
37
413
681
524
239
410
57
294
676
653
368
78
224
144
67
297
282
646
642
535
380
730
828
958
633
35
727
373
219
806
243
285
552
454
419
834
970
481
654
380
572
636
258
909
304
544
484
95
514
409
18
52
976
583
857
351
812
936
662
802
848
3
980
926
663
818
141
745
6
186
286
758
337
931
706
492
907
271
624
71
230
89
604
583
787
300
7
864
485
922
320
517
776
726
690
580
273
560
747
316
424
497
597
983
57
5
938
302
603
230
370
571
431
286
330
18
982
202
551
48
352
775
579
466
544
140
678
680
864
275
416
85
845
65
304
573
630
731
155
151
971
660
217
166
866
693
746
514
399
915
370
517
502
889
533
867
234
27
308
148
653
515
96
947
499
797
87
531
738
111
826
365
471
18
981
495
823
140
133
984
241
583
478
110
14
625
421
16
969
303
336
859
3
460
243
270
542
680
733
131
71
266
251
224
579
117
758
351
158
888
867
847
11
306
788
291
808
917
800
348
673
777
499
361
87
838
807
275
627
857
537
939
799
661
352
647
165
517
128
27
587
171
35
28
713
850
137
801
738
134
972
745
70
167
339
840
797
90
478
652
717
952
944
98
300
592
732
120
124
158
620
904
218
995
299
199
288
591
552
563
945
179
666
99
944
360
294
333
906
794
167
431
156
644
446
851
129
910
974
889
253
252
413
294
342
176
9
283
311
717
773
837
455
851
957
115
640
925
25
197
479
330
754
111
984
494
724
322
243
12
194
388
384
416
296
526
464
636
567
195
929
680
25
619
26
448
451
379
822
877
3
821
533
800
68
25
504
19
50
544
476
64
840
928
765
67
881
294
590
951
42
843
57
894
36
296
249
626
704
661
475
689
341
599
951
198
135
966
103
16
925
737
262
486
747
630
684
49
52
242
769
139
38
373
818
686
306
554
893
503
903
476
163
554
877
136
638
828
662
59
316
142
981
836
607
684
438
607
354
533
682
806
869
705
800
667
238
495
633
524
509
19
795
896
532
901
504
723
940
973
777
880
142
733
122
271
317
32
674
403
42
145
584
307
624
940
586
90
186
324
878
189
272
537
856
608
65
151
759
47
296
814
18
832
617
884
922
992
465
99
257
674
448
357
724
290
910
459
276
487
565
440
989
37
87
705
726
222
85
738
651
158
156
600
576
763
626
770
270
752
119
137
82
126
336
126
676
116
290
997
241
431
759
323
269
966
931
559
883
833
15
363
746
686
140
64
780
843
974
226
266
630
317
806
439
696
412
781
331
801
793
454
453
716
324
867
899
434
455
881
565
831
878
517
499
307
448
96
835
682
700
568
362
814
287
160
563
989
454
159
854
108
956
189
851
110
925
831
707
863
833
805
954
956
54
231
838
457
523
658
817
703
647
671
766
626
922
878
438
962
696
996
895
889
104
562
956
349
536
535
188
296
859
673
600
615
285
102
998
300
960
957
909
765
279
292
81
803
505
742
848
856
451
560
44
673
894
728
733
384
878
817
776
296
296
141
96
433
930
546
602
942
669
860
888
34
748
648
200
22
679
373
677
387
999
543
539
509
92
684
709
876
113
229
363
100
476
539
5
69
467
313
994
898
285
566
870
108
210
237
458
683
675
207
464
172
708
197
226
57
617
560
333
949
785
486
72
24
147
472
41
275
252
253
822
805
830
521
292
384
396
917
19
931
784
735
201
422
421
722
766
925
823
165
594
181
14
169
274
117
572
681
490
202
522
326
875
394
624
594
159
683
426
231
530
943
79
973
389
869
84
902
94
267
35
777
881
856
937
675
862
60
878
145
891
962
650
864
160
700
446
487
526
123
877
978
9
445
391
205
335
958
622
996
123
618
337
192
103
456
401
416
767
325
656
444
960
438
650
85
237
529
944
411
242
240
101
45
995
503
530
955
710
275
76
874
708
984
607
17
47
412
905
268
734
574
806
358
769
342
930
857
807
176
297
3
940
360
792
476
943
540
762
226
343
235
975
402
849
189
805
208
997
100
794
275
340
313
638
728
170
525
301
706
536
390
127
493
271
219
806
799
868
621
531
974
278
16
973
84
153
461
506
874
597
87
698
596
262
798
222
564
475
538
228
86
145
586
661
124
397
840
223
605
241
980
430
847
77
744
724
949
538
272
687
313
963
630
228
706
802
185
985
394
381
440
337
884
741
318
136
822
732
650
669
366
136
797
430
161
367
926
13
686
195
433
766
307
50
421
918
848
654
936
556
879
146
859
169
187
400
989
470
115
926
855
881
518
624
228
349
133
643
136
140
34
792
431
884
669
267
586
413
728
927
469
874
664
18
298
186
297
998
819
164
300
109
63
527
779
419
682
578
364
324
950
542
418
936
23
444
38
336
930
917
472
413
67
526
488
909
701
23
985
297
60
467
863
378
152
270
731
772
350
54
568
49
128
679
839
877
75
896
915
412
436
883
822
111
24
353
536
324
256
998
14
278
464
790
149
537
396
86
640
619
983
482
554
232
53
163
11
471
651
773
966
446
11
954
587
993
54
297
50
537
457
860
896
722
995
362
280
85
834
834
532
977
920
814
461
864
410
135
745
382
357
979
561
797
484
159
344
28
941
497
184
19
417
801
904
41
799
143
322
457
896
72
521
584
367
966
234
563
125
899
594
544
933
323
570
97
851
350
387
451
446
639
108
110
421
707
339
369
416
986
709
513
270
123
381
802
927
794
358
876
547
799
733
870
88
304
405
367
776
900
926
286
457
558
367
953
741
661
37
886
250
48
905
275
29
394
375
757
373
321
839
833
886
349
103
206
595
151
315
380
332
643
543
111
391
81
488
665
694
703
138
406
279
450
331
920
999
942
324
737
683
206
439
747
893
613
793
542
634
105
932
276
4
65
884
84
854
129
834
765
949
832
93
210
28
190
527
16
386
294
940
838
312
468
150
264
797
838
684
468
376
961
60
424
934
748
617
212
535
67
713
854
92
259
930
125
780
302
574
14
640
511
394
856
727
465
932
668
489
329
329
885
830
845
725
538
416
62
625
869
370
297
732
538
429
916
767
863
40
267
763
983
587
507
146
437
177
110
693
431
958
582
100
960
931
260
462
44
647
109
462
570
934
113
404
605
52
208
572
600
259
679
513
604
793
619
18
469
731
350
517
16
974
662
566
334
883
365
867
687
720
912
50
990
103
797
8
455
143
20
179
808
789
147
543
408
191
418
520
731
548
888
151
928
24
836
138
585
746
515
384
404
873
859
631
232
954
965
690
772
537
968
546
342
110
467
284
263
949
783
425
784
411
156
731
13
492
449
954
927
279
44
353
431
988
398
965
354
919
172
823
455
532
910
274
771
285
24
556
115
598
214
595
122
499
540
767
16
102
57
17
177
32
305
301
671
335
974
784
132
186
753
611
794
944
694
365
960
684
457
483
978
396
401
53
560
424
852
373
377
595
804
580
959
687
953
489
307
569
227
485
87
356
928
950
893
422
169
235
904
947
572
659
171
958
43
313
889
503
55
750
287
666
55
788
159
645
483
704
669
980
430
91
749
344
146
527
351
6
435
980
812
198
500
576
811
124
911
951
764
286
236
915
984
150
274
565
640
870
14
304
342
987
184
439
183
532
688
183
188
934
352
884
436
515
107
281
546
79
171
433
850
338
830
685
312
454
153
749
194
979
329
510
539
888
359
641
759
174
512
520
21
705
291
185
660
640
661
306
552
730
946
189
225
267
94
905
517
246
995
482
752
585
155
954
706
854
287
778
168
49
354
749
490
386
142
89
330
950
738
828
766
326
138
937
14
998
828
934
304
384
341
845
844
883
705
466
393
178
204
850
698
364
73
806
935
173
568
28
335
671
382
97
378
328
490
262
294
305
353
372
132
103
851
750
304
496
463
128
366
772
944
979
750
905
255
703
326
201
509
175
943
345
524
94
570
536
911
437
236
590
730
46
772
452
434
74
230
561
216
556
971
913
879
860
612
444
58
138
434
601
936
208
384
541
632
461
506
454
35
500
500
909
238
236
104
973
627
49
189
74
346
455
748
241
112
456
477
391
310
346
263
813
861
323
679
829
632
662
569
919
45
579
880
251
95
162
175
642
226
898
681
480
361
406
296
6
921
954
717
697
863
212
725
142
585
492
729
986
65
405
852
969
736
468
202
66
431
711
492
49
166
723
839
509
685
911
388
566
449
960
397
6
183
622
563
573
207
982
644
473
495
313
899
965
836
451
468
45
515
422
582
834
649
645
395
275
692
691
333
130
648
956
53
62
207
74
536
822
379
114
327
139
176
837
688
968
569
379
250
147
224
713
788
371
526
188
883
610
993
223
592
760
472
992
708
359
436
530
838
655
308
274
307
197
961
432
877
353
478
991
340
876
771
369
326
705
926
918
97
659
971
542
641
618
317
641
143
44
287
526
777
442
14
181
821
435
461
971
292
688
487
495
639
813
676
266
579
733
136
334
801
718
569
277
88
457
715
201
419
74
689
528
704
966
834
396
151
679
459
416
663
852
221
389
309
390
990
358
659
641
730
1000
688
326
324
952
35
374
277
140
645
616
934
534
188
486
175
86
200
516
568
735
614
410
574
537
164
922
770
906
200
588
952
936
583
606
655
524
689
808
883
799
3
701
773
938
443
45
523
34
333
254
145
75
906
232
524
495
319
883
800
961
414
639
340
257
908
856
398
181
235
780
127
343
14
129
769
630
4
28
692
906
453
140
453
176
924
369
203
87
81
435
569
93
391
954
613
58
384
390
592
385
942
397
8
961
58
618
890
357
656
975
335
761
339
827
69
43
412
169
213
228
99
206
488
374
652
216
795
552
991
627
518
164
530
596
873
312
151
214
363
324
606
637
694
814
226
87
544
866
471
658
194
1000
756
321
372
609
953
322
599
459
178
433
979
659
787
142
608
234
958
938
766
56
917
288
608
449
639
777
321
185
791
151
640
979
820
675
155
820
329
313
54
644
319
713
843
916
429
874
82
683
67
693
386
503
178
284
767
483
478
60
887
311
143
134
967
806
330
465
870
973
405
562
386
1
419
251
824
929
216
203
839
942
510
417
809
394
434
871
216
675
346
864
194
997
117
382
832
17
751
971
871
962
941
204
147
597
78
799
522
937
318
858
41
69
532
483
773
846
363
247
111
492
138
600
311
353
115
328
699
115
366
576
304
840
640
826
599
54
693
421
705
967
926
887
657
595
614
358
264
218
702
870
724
122
869
132
339
19
585
692
656
898
918
52
835
301
191
398
337
188
920
80
850
624
118
896
910
475
739
502
870
222
923
19
695
734
762
985
576
580
513
346
483
29
513
86
619
411
581
458
175
901
377
484
924
141
974
555
968
290
917
521
371
274
160
601
543
993
573
819
920
238
164
441
969
869
756
57
527
589
638
550
272
311
609
172
425
668
940
339
882
696
953
573
597
103
388
213
413
820
185
139
537
730
68
778
479
544
157
65
620
838
837
901
514
147
292
856
664
821
439
529
788
124
468
22
519
608
848
451
89
409
431
263
770
495
259
427
775
275
768
210
869
231
354
364
143
382
690
15
303
470
740
455
337
728
170
337
603
964
722
469
242
487
184
538
297
97
769
604
77
954
82
121
132
634
361
598
637
123
364
731
143
787
71
998
399
592
375
249
404
978
62
789
939
824
684
806
548
891
361
790
386
966
178
732
376
694
584
502
841
748
132
782
157
539
981
331
997
173
775
153
420
695
968
360
396
2
127
117
361
941
524
102
47
265
120
311
152
71
102
903
344
294
276
985
775
633
954
922
504
3
463
761
186
257
12
868
985
422
495
700
896
192
707
919
572
701
594
741
316
913
399
487
111
93
996
784
427
905
280
777
85
643
197
5
623
4
914
298
484
571
636
175
795
888
813
750
699
593
814
43
6
594
667
986
364
663
125
90
322
172
158
941
385
878
928
194
641
838
475
736
590
532
605
19
594
239
934
359
720
557
657
161
864
693
354
611
710
843
83
375
487
519
71
239
479
171
563
412
982
823
744
439
666
746
238
282
382
342
345
136
38
577
69
984
508
224
972
737
521
181
82
11
52
848
395
281
58
360
994
175
322
45
455
137
749
27
991
556
717
350
738
717
991
333
701
630
259
122
143
841
564
573
593
861
788
666
262
700
873
612
359
330
621
716
696
594
807
825
23
186
779
889
715
862
919
778
812
968
113
966
903
679
881
148
44
119
894
135
678
658
428
620
570
217
715
534
839
421
240
736
524
738
791
729
527
569
477
958
408
402
964
971
255
726
921
411
783
404
27
363
885
586
924
54
80
61
174
285
716
130
637
266
302
715
671
702
61
453
207
93
644
898
77
212
968
863
914
625
289
95
596
949
976
186
448
262
905
636
391
702
48
448
781
845
617
525
949
870
81
363
353
897
465
259
814
107
632
304
509
450
622
928
293
775
758
676
418
220
893
158
940
573
118
876
904
89
261
691
926
948
717
259
929
156
503
658
607
150
956
786
648
834
139
834
880
51
870
285
273
731
246
449
167
94
701
497
191
309
893
323
87
967
204
330
38
554
221
411
180
891
323
3
696
147
446
29
229
612
140
5
420
878
289
331
42
476
238
36
534
281
619
830
759
197
872
366
434
746
312
13
25
169
591
289
825
571
609
356
601
455
208
583
419
719
492
286
257
806
266
169
540
253
830
886
23
315
385
385
347
684
340
407
122
591
143
555
640
735
614
876
188
541
384
772
433
244
740
355
578
145
90
86
782
208
281
648
877
824
227
499
545
193
640
520
917
266
191
469
60
606
69
708
897
833
764
826
916
570
852
293
437
894
716
296
307
381
426
221
648
721
448
40
653
795
461
38
544
786
327
895
448
625
168
121
386
592
597
246
555
392
355
973
784
394
23
689
392
15
999
372
646
418
648
929
720
785
361
433
296
454
323
578
991
94
896
873
351
921
894
781
465
685
500
38
189
782
190
845
542
381
850
499
86
908
216
302
37
555
853
246
353
771
186
74
332
816
486
803
62
560
296
671
630
655
537
806
185
103
376
594
753
35
25
844
240
187
824
379
204
172
302
609
752
163
458
939
445
980
130
673
146
928
188
146
596
934
233
421
870
662
644
826
12
334
101
958
852
921
161
588
447
200
70
28
614
965
767
160
768
299
937
256
631
417
62
173
412
36
641
258
754
630
137
548
53
196
767
423
799
365
925
933
187
776
908
411
614
651
629
843
584
401
137
679
221
938
132
452
824
55
125
576
859
905
509
197
365
116
661
810
2
533
61
622
856
937
608
344
706
316
503
145
648
464
542
14
843
714
199
666
716
614
625
420
66
214
597
198
441
425
448
899
587
618
254
936
963
194
892
622
100
409
87
461
68
101
256
117
426
321
761
975
803
66
184
778
716
469
351
772
286
807
156
146
296
655
662
351
415
355
562
23
479
709
875
855
437
504
627
719
939
987
385
762
574
946
712
980
456
379
7
998
173
57
759
394
147
449
909
908
81
604
894
342
479
566
955
748
210
828
461
770
678
134
315
635
484
667
11
352
341
300
519
124
647
98
9
845
349
737
326
842
612
825
283
667
409
371
64
852
333
827
477
25
803
168
337
669
396
477
42
124
177
345
232
120
779
239
518
269
458
609
434
445
505
175
138
903
225
297
888
351
128
745
16
888
121
531
897
908
272
650
451
577
126
741
810
495
671
694
95
478
791
177
692
196
425
913
30
560
756
275
613
341
418
454
998
504
125
987
459
106
119
945
332
450
550
432
412
352
213
337
325
32
88
495
478
127
769
470
85
769
172
229
727
512
908
838
132
95
278
170
127
730
179
301
254
592
114
938
120
700
84
723
402
214
421
726
333
448
483
780
631
572
717
552
75
80
818
434
370
556
551
378
503
204
371
789
528
866
128
463
614
11
11
343
216
241
357
564
449
422
132
852
93
444
672
845
155
977
757
318
620
292
209
616
803
404
985
812
729
303
154
248
102
33
270
141
682
730
365
897
409
479
217
594
138
70
587
892
676
280
858
243
702
312
845
889
222
412
622
553
466
502
847
177
491
847
446
279
325
415
485
735
175
596
739
893
71
379
750
894
355
902
156
29
553
566
668
748
549
505
389
680
401
289
59
640
820
177
432
141
112
112
230
368
326
916
20
933
482
817
913
951
969
518
218
195
690
539
39
83
30
408
341
292
523
614
184
631
935
949
687
606
535
935
755
797
553
619
770
777
137
878
262
794
662
758
22
854
915
93
258
167
480
787
171
120
666
710
760
109
411
103
743
554
945
763
262
391
391
45
402
188
129
882
647
761
490
636
90
845
274
551
596
950
654
999
155
980
279
491
314
605
736
650
954
630
135
955
666
814
213
67
603
708
271
4
50
39
227
238
862
124
264
48
587
602
854
89
343
468
448
209
463
76
734
983
507
258
172
313
501
193
467
712
147
979
739
550
309
133
414
655
333
399
292
112
560
308
796
34
2
915
167
358
262
12
240
436
672
905
480
304
89
534
168
32
966
319
974
486
97
606
665
165
927
19
384
510
426
313
726
243
308
586
857
824
805
795
31
94
310
588
174
520
940
391
634
229
466
550
819
220
137
61
213
674
630
114
139
340
716
214
782
303
289
128
135
289
68
302
999
852
629
643
643
396
425
790
475
26
94
70
924
624
685
364
716
394
371
979
943
368
864
503
609
977
16
273
841
888
12
763
582
724
183
735
380
178
677
390
837
288
158
183
382
318
247
134
308
782
647
713
421
620
746
366
224
450
47
785
300
108
932
868
434
405
134
119
71
134
760
911
887
892
888
665
632
195
553
472
900
722
407
108
149
225
464
720
128
825
119
664
848
941
54
123
360
77
752
157
923
25
75
795
552
855
763
601
601
201
786
940
732
961
182
783
611
504
383
512
674
873
89
594
601
293
382
454
487
473
172
77
247
817
23
128
512
702
68
450
98
362
49
794
174
793
462
579
406
309
419
261
676
28
129
644
476
632
800
69
691
182
397
986
295
648
916
812
436
88
720
376
465
63
93
468
780
993
329
187
708
618
571
854
280
635
166
216
462
892
418
559
277
211
557
135
340
45
138
978
470
671
330
822
467
577
289
301
587
4
334
45
970
374
711
587
71
447
574
249
136
628
175
258
904
796
409
430
7
389
557
659
982
235
522
333
440
841
852
522
669
367
629
467
889
574
617
459
443
371
120
665
441
418
681
846
761
458
94
194
862
628
186
709
545
60
502
635
685
488
313
478
937
411
348
39
607
612
263
719
211
464
152
73
701
518
320
209
995
315
143
182
240
250
90
970
181
545
873
958
118
122
247
120
191
183
232
250
171
869
351
658
474
187
46
718
893
762
598
544
385
641
730
842
329
489
556
692
847
82
703
610
158
847
240
730
426
636
513
385
245
554
99
652
732
891
891
679
168
721
741
715
275
674
178
827
505
802
494
201
175
172
843
803
879
49
121
905
374
62
45
658
61
794
278
458
248
575
442
321
621
99
544
860
743
681
714
761
912
573
105
821
462
807
495
732
403
416
427
788
318
775
678
602
635
977
498
757
663
874
302
996
312
392
471
246
33
259
473
247
298
90
791
38
911
82
27
895
545
227
132
549
134
48
895
709
218
342
740
946
861
313
371
992
536
790
1000
380
232
903
753
134
96
752
313
924
116
73
43
668
709
871
620
116
597
298
686
313
7
816
150
188
82
801
536
735
342
328
225
358
190
809
520
27
757
539
206
801
803
958
699
137
36
630
907
159
932
518
683
729
103
112
67
697
288
377
613
234
308
293
704
478
708
939
164
51
335
729
439
165
822
388
269
164
793
708
117
319
617
964
534
645
721
62
315
290
775
208
541
788
557
873
556
94
953
326
503
862
318
861
322
852
383
109
967
720
26
507
202
687
432
87
540
753
643
215
736
177
38
839
824
933
29
66
810
722
145
636
36
913
710
951
676
455
545
836
9
455
452
155
920
543
764
719
527
643
930
674
977
4
887
686
220
640
4
827
8
398
475
978
453
962
369
959
234
999
959
373
933
525
602
286
54
330
156
511
983
935
878
185
526
152
809
783
689
769
866
476
45
281
288
960
383
841
583
506
310
854
852
986
168
670
223
69
891
890
111
609
434
671
230
482
999
273
584
783
581
769
132
349
278
514
508
5
405
461
909
837
706
906
272
26
847
534
917
485
940
942
140
599
74
951
628
876
675
92
147
203
82
625
716
703
864
327
312
905
299
82
254
38
875
978
572
798
879
243
40
853
911
816
71
682
645
820
323
96
283
447
705
918
901
59
451
867
369
396
60
631
554
819
205
502
331
496
152
687
263
230
847
613
933
436
593
115
571
408
138
378
37
582
100
913
220
985
863
646
607
447
473
396
119
413
618
646
309
409
448
526
657
310
886
351
33
544
60
894
329
315
667
810
923
692
422
279
878
201
186
979
746
115
55
962
412
234
446
875
680
359
173
223
195
6
648
80
856
193
546
687
89
250
742
918
236
720
874
456
820
347
636
833
653
46
774
200
570
551
822
797
109
97
800
629
556
124
455
765
641
466
145
19
586
918
136
509
363
396
891
735
787
101
932
366
494
261
984
899
961
41
397
692
466
156
310
659
276
576
612
102
442
467
519
709
254
161
519
765
823
534
493
2
256
629
64
322
581
755
609
827
932
554
918
225
490
766
175
671
324
458
801
551
605
549
706
552
606
340
674
578
552
573
913
739
638
287
315
691
472
356
563
40
815
125
62
415
695
28
598
80
911
373
724
607
488
793
168
254
861
977
945
143
436
377
450
265
713
571
532
610
320
833
429
440
188
234
522
845
539
325
5
235
563
8
2
335
437
745
92
617
826
642
953
801
102
271
590
238
330
315
644
514
471
252
390
587
372
324
335
135
826
1
783
539
434
959
316
142
10
391
944
973
27
87
550
128
950
342
367
399
344
145
437
541
312
580
396
759
189
557
470
653
374
270
266
822
879
806
810
811
449
393
273
870
85
642
29
275
443
977
978
573
811
175
569
187
371
544
601
257
968
834
657
481
922
392
981
964
266
436
726
777
403
571
754
6
351
842
580
561
638
663
648
912
428
959
845
207
663
737
34
969
801
52
474
634
295
90
131
764
45
620
311
654
905
630
501
411
781
324
998
313
977
25
745
393
230
695
735
771
293
974
528
179
42
619
675
522
812
217
336
64
69
842
953
15
593
145
609
887
68
960
644
954
323
124
140
567
526
666
147
862
300
897
893
625
68
218
777
670
948
676
626
122
154
365
581
420
183
791
963
686
23
243
651
349
241
1000
828
554
97
952
444
935
760
835
350
809
282
815
892
679
244
593
673
233
903
566
311
694
196
827
287
450
205
932
380
392
539
465
786
291
634
368
717
819
131
908
200
559
366
928
811
445
472
727
289
601
772
505
340
457
928
822
442
392
796
930
132
847
54
147
90
30
435
674
304
867
853
382
756
833
788
135
333
626
42
149
156
461
385
752
90
899
675
643
985
734
739
430
103
442
686
786
279
82
343
20
563
364
196
280
516
785
557
838
852
352
664
154
824
450
102
463
609
810
207
680
965
389
110
299
594
206
683
775
971
818
941
649
890
177
362
234
594
70
226
277
191
199
262
431
944
234
839
702
209
860
492
335
978
894
752
713
467
61
183
956
725
912
993
844
990
660
829
593
394
407
150
792
679
397
130
486
760
372
133
23
368
126
668
745
467
600
156
53
854
664
992
664
154
843
139
130
398
805
950
781
536
385
986
332
490
301
348
306
847
446
459
287
872
868
269
770
274
101
588
32
116
497
627
19
292
637
832
726
251
649
806
901
35
525
453
225
224
107
442
280
103
427
800
743
212
561
695
222
444
921
469
91
51
209
600
472
209
867
536
241
304
925
302
593
726
589
333
185
739
812
291
370
984
302
461
350
227
172
941
344
272
450
8
35
348
202
950
597
871
899
167
628
207
965
512
139
942
140
730
576
235
437
295
525
995
942
140
353
3
688
565
548
609
127
77
916
300
480
38
138
260
391
783
383
17
854
286
823
440
349
571
927
588
488
780
355
434
225
241
111
18
892
915
388
413
872
346
177
761
733
574
301
731
37
527
994
979
835
89
531
578
60
361
690
930
675
664
46
372
412
446
168
533
398
603
800
549
776
661
36
352
679
908
295
635
567
823
643
537
959
107
614
742
93
192
257
486
874
364
533
900
763
530
580
245
922
224
576
843
31
670
123
919
659
565
133
174
990
814
154
609
989
593
992
23
808
993
222
652
348
960
915
614
413
427
491
176
814
338
101
382
117
710
374
245
472
33
668
525
97
56
196
109
558
465
508
142
915
38
891
334
208
603
125
358
494
551
956
821
837
684
330
66
237
931
158
2
469
795
895
194
203
460
730
714
564
155
539
629
528
699
48
525
130
182
852
209
503
360
18
543
191
662
23
411
998
679
674
965
896
618
487
638
147
488
713
885
832
709
848
248
483
453
967
143
324
229
706
719
932
176
35
222
798
50
226
600
349
124
586
465
480
91
595
128
537
588
46
141
10
134
694
675
891
134
671
112
746
82
637
404
130
250
250
144
824
983
999
783
767
142
909
100
271
406
888
859
247
893
771
574
729
996
187
426
948
442
450
694
565
298
608
482
435
82
619
151
461
173
402
632
685
443
146
693
737
398
851
320
169
160
529
624
998
271
893
28
998
692
622
72
880
312
510
863
538
984
890
36
955
384
724
142
183
951
681
496
99
831
324
902
202
965
253
99
868
444
694
454
841
825
543
186
683
349
333
389
111
905
921
188
882
155
963
680
922
437
411
656
925
932
301
770
505
142
121
444
324
852
889
793
293
659
873
813
79
585
584
322
675
488
260
488
679
776
562
289
323
393
635
915
972
179
968
969
993
477
757
259
449
290
558
180
991
396
87
900
748
560
955
85
723
399
968
452
421
508
387
240
8
167
195
572
273
335
5
794
83
652
680
78
818
856
160
973
462
374
237
150
663
834
244
249
94
883
698
631
850
58
957
834
482
341
860
689
481
739
121
403
690
435
5
378
158
48
398
178
423
77
970
852
55
903
524
773
595
592
13
252
653
305
930
452
67
362
964
552
459
834
855
681
477
124
390
861
248
117
317
126
346
383
781
963
629
360
560
495
868
642
969
116
989
270
832
858
86
418
296
378
121
963
616
351
351
238
243
966
73
662
667
401
266
74
535
446
28
302
478
868
520
939
936
745
269
343
38
749
301
574
236
268
522
396
979
345
208
459
165
642
227
480
506
17
841
592
225
849
554
996
688
953
488
743
673
773
185
752
2
562
594
146
142
424
197
622
227
412
934
827
654
372
569
664
58
843
661
37
985
139
128
787
46
656
665
485
654
595
986
293
744
518
903
336
992
600
758
884
148
986
647
182
55
437
120
954
818
280
809
429
354
784
509
260
279
216
772
832
644
261
8
298
575
931
406
108
264
812
729
962
74
299
200
852
760
443
225
331
910
190
668
210
788
88
758
652
653
949
478
12
524
624
452
861
83
753
958
318
80
297
637
213
181
745
922
600
656
86
948
870
693
70
982
998
421
773
957
512
887
230
773
373
365
732
411
312
362
382
770
99
593
721
359
856
29
493
620
816
829
179
732
837
617
480
167
594
83
811
172
612
328
741
593
204
753
474
151
941
493
711
351
482
622
633
703
507
355
356
824
958
510
914
298
38
329
720
868
234
555
510
667
108
369
951
685
805
366
480
637
968
280
429
687
286
542
181
259
968
121
900
284
243
282
390
799
417
31
757
771
97
89
844
376
955
113
865
738
799
800
259
312
773
225
573
676
240
420
62
481
257
806
810
715
593
519
379
225
903
85
399
659
58
166
36
613
561
298
3
746
702
639
602
125
362
762
332
816
365
404
735
35
903
947
505
801
825
99
350
55
515
871
726
727
694
511
394
40
704
462
649
639
743
787
223
812
98
743
95
136
606
361
875
385
473
939
4
432
93
343
736
160
701
889
765
136
539
353
390
884
691
365
332
148
926
37
655
420
670
161
757
383
712
763
86
636
366
73
33
211
582
225
457
960
945
124
414
825
585
941
996
401
770
655
572
930
352
900
396
86
317
138
266
454
361
827
854
623
844
833
400
194
451
813
688
820
613
644
625
573
44
306
268
592
788
788
864
941
784
681
306
71
305
155
430
85
546
898
761
255
318
441
601
890
21
977
885
711
48
460
823
304
346
272
174
169
107
199
921
55
465
801
250
31
644
530
965
781
200
95
934
102
890
649
685
509
224
333
47
107
925
633
590
650
398
719
682
773
762
717
161
939
185
372
994
548
70
155
797
1000
79
191
763
241
132
780
374
455
288
449
244
144
844
629
585
758
89
98
89
436
872
237
447
175
599
27
355
910
263
473
617
594
892
752
852
339
125
30
421
78
685
289
384
19
183
928
728
351
40
191
610
299
303
638
75
629
794
991
587
138
321
712
677
487
678
529
231
2
748
6
226
669
323
918
234
646
193
875
622
40
616
125
203
579
578
952
18
78
107
406
36
263
485
364
848
612
438
91
809
361
208
518
703
706
985
452
691
557
348
794
228
877
175
633
659
780
38
783
408
76
191
908
32
858
114
921
918
97
16
717
90
913
831
631
391
352
24
254
302
57
946
337
797
172
578
572
930
167
253
976
282
81
335
452
31
811
905
851
143
697
225
527
123
615
98
950
819
202
304
388
34
628
953
96
45
547
938
677
716
473
684
536
566
825
27
388
17
358
370
831
54
479
231
878
714
221
927
170
122
281
394
320
298
578
106
456
577
250
629
582
294
871
593
795
318
938
776
782
142
361
557
232
502
759
182
996
885
875
216
868
902
290
9
863
212
951
260
705
567
709
542
78
607
186
205
835
214
816
178
996
625
831
25
846
965
284
84
864
579
951
620
548
346
103
704
384
131
676
984
386
684
349
584
626
588
363
120
153
292
746
230
513
896
714
68
869
95
667
937
363
619
145
596
930
588
513
812
248
409
970
414
905
266
643
440
123
752
185
972
583
936
280
903
7
992
913
189
134
525
73
111
658
918
814
685
501
322
234
644
522
427
993
350
392
753
429
573
911
24
231
341
463
118
852
955
675
200
571
821
590
918
152
976
834
934
568
46
307
671
141
924
924
855
750
603
798
355
467
480
40
823
101
914
54
887
655
1000
807
958
595
304
35
268
223
782
785
381
110
247
991
295
773
486
25
182
248
597
263
987
245
198
782
395
877
897
209
108
758
827
614
996
439
105
97
452
711
792
352
184
330
298
96
762
75
212
694
478
893
212
712
442
45
58
396
398
837
676
293
452
484
963
302
732
127
295
465
35
831
657
712
688
640
938
603
155
401
231
806
422
148
889
717
816
248
691
135
730
428
728
353
635
28
495
399
919
537
272
371
317
521
49
12
118
569
170
725
943
755
356
184
564
436
976
604
191
895
281
512
618
472
779
532
904
329
135
327
540
924
732
321
637
626
541
261
286
604
50
956
90
292
776
805
856
290
326
805
553
495
70
815
948
642
222
744
782
194
538
229
952
702
896
78
927
336
734
464
546
279
720
359
422
65
3
249
411
762
144
470
975
89
114
865
845
169
771
589
53
669
870
45
285
471
981
892
509
868
642
11
6
516
695
112
243
18
60
396
534
71
91
319
44
554
290
31
515
813
376
522
4
662
621
836
83
296
927
979
150
401
316
317
985
217
401
304
194
240
927
383
985
508
628
750
534
166
546
493
316
78
384
275
912
813
682
360
203
234
366
259
365
260
727
705
719
104
959
976
373
455
228
795
503
591
616
196
335
410
409
754
102
677
950
523
783
619
651
897
960
113
850
331
963
352
897
550
323
810
220
417
693
773
181
123
578
466
164
733
629
35
739
404
800
248
695
804
344
803
408
322
521
561
321
707
855
850
276
658
993
219
57
706
503
687
783
461
465
561
728
930
318
371
734
131
242
320
623
689
281
939
931
434
550
283
837
295
104
127
374
914
470
59
893
508
447
319
257
455
462
492
463
964
700
881
187
984
253
529
276
197
726
321
361
529
108
591
545
127
224
941
641
160
746
740
493
118
583
918
743
508
427
210
815
970
394
977
985
885
980
83
151
470
1000
88
321
226
793
180
905
345
735
869
594
340
19
448
999
752
741
605
240
222
548
411
375
651
521
72
872
395
478
479
355
686
600
595
485
540
138
159
164
426
963
994
202
885
906
482
213
94
143
372
798
108
365
187
975
133
126
900
447
724
538
468
522
233
438
34
392
210
256
327
76
670
92
836
508
348
898
848
139
89
266
331
964
528
40
927
37
72
858
66
422
992
777
270
969
124
331
306
515
273
739
703
882
928
469
538
519
296
67
100
764
986
952
205
467
899
877
474
175
8
896
859
127
747
965
44
112
669
742
147
580
891
796
304
528
585
149
301
328
447
28
426
94
634
779
81
169
144
92
526
36
976
125
315
265
721
610
597
122
390
765
494
130
421
656
171
140
788
702
71
497
53
143
996
446
24
670
404
252
389
837
288
408
360
562
519
913
850
793
356
842
195
368
111
345
746
210
652
752
931
263
466
685
546
980
548
976
84
759
226
660
918
465
380
561
998
37
173
783
530
250
579
942
794
881
462
110
848
905
926
271
388
837
971
532
417
24
228
473
721
507
701
796
366
55
985
849
541
114
400
724
134
701
827
334
367
735
829
329
633
893
783
711
489
843
363
783
359
630
686
388
119
62
834
458
177
181
258
560
57
272
804
475
773
439
671
834
485
451
686
494
5
425
651
657
755
924
401
674
655
235
412
126
280
880
476
37
299
932
974
10
890
329
782
674
308
160
667
68
278
882
325
505
194
496
880
995
379
995
760
557
812
815
328
579
816
580
572
958
137
183
432
898
766
121
83
108
615
46
566
640
855
697
720
733
329
740
260
884
957
544
213
783
452
591
630
913
999
67
659
370
750
114
613
897
147
428
615
223
97
98
781
537
972
125
656
342
263
580
809
978
470
186
70
828
448
991
878
602
49
891
613
89
305
986
578
511
840
149
508
874
444
720
104
793
949
941
99
851
651
615
797
900
514
463
858
680
312
854
337
718
680
865
645
795
774
153
125
166
852
733
420
334
649
552
670
402
844
710
816
955
272
274
25
970
786
897
257
461
833
890
567
466
897
924
547
466
888
339
688
564
498
850
102
547
269
551
175
475
867
270
251
594
606
706
350
171
807
291
288
311
965
386
266
967
33
245
193
79
333
156
497
280
755
322
200
632
939
327
341
653
52
476
642
266
658
929
472
379
912
280
741
518
964
170
359
297
51
609
281
546
201
877
975
607
872
300
322
639
134
722
629
770
173
186
398
595
34
224
953
834
476
134
866
897
775
810
337
775
82
11
335
911
693
451
392
663
223
688
342
556
180
648
212
760
918
503
718
154
266
779
499
864
399
812
304
419
673
79
852
493
221
533
948
788
67
779
774
730
414
820
963
558
518
166
182
823
301
262
465
524
389
587
490
859
835
257
271
92
146
661
557
109
572
451
282
58
839
233
50
861
642
390
526
518
221
822
21
832
337
773
287
618
761
590
756
493
174
955
997
92
37
107
193
878
540
602
814
806
232
425
458
721
298
626
68
759
747
225
316
997
959
804
988
245
145
75
607
201
273
733
403
140
927
47
935
941
376
999
332
520
876
229
197
693
828
715
632
60
962
888
727
774
185
826
151
929
29
321
109
898
941
811
45
136
778
645
977
860
971
692
183
527
762
50
334
220
833
486
828
908
395
303
196
27
538
501
13
976
203
492
614
956
663
105
291
32
817
305
380
405
900
886
771
690
437
347
953
409
431
331
641
8
755
279
421
440
719
417
583
789
585
783
540
429
590
776
758
972
676
635
156
588
715
304
303
346
457
402
558
877
861
382
494
32
693
523
566
177
518
85
13
440
295
816
394
521
764
37
997
661
777
652
613
953
490
801
786
504
88
339
733
849
342
942
550
629
812
475
229
793
991
169
226
483
981
287
57
316
604
200
429
2
972
237
944
106
615
228
274
283
253
398
35
509
173
158
281
677
935
386
660
396
873
985
784
25
392
859
306
747
634
977
526
976
430
847
70
510
838
545
367
605
736
451
158
596
97
948
271
788
612
658
222
58
249
232
9
41
208
308
599
821
465
38
248
766
773
473
727
512
563
190
953
138
629
779
328
254
904
182
276
65
885
423
111
476
475
985
357
941
111
920
95
94
29
807
728
143
468
845
811
635
389
687
213
491
34
85
960
131
287
100
537
104
303
374
318
881
345
937
43
389
109
136
941
395
58
513
204
94
461
893
965
112
907
514
860
651
13
769
562
728
950
1000
338
251
180
853
850
205
508
881
905
371
117
446
794
794
815
500
208
700
64
453
422
671
744
219
642
679
788
449
888
995
962
155
815
105
114
182
191
483
140
456
534
509
778
537
603
834
79
767
993
267
97
226
98
576
856
778
85
653
191
728
337
183
367
994
15
276
742
243
20
525
864
133
644
632
537
685
635
998
372
781
228
709
271
987
926
906
72
216
492
856
363
219
613
940
36
531
206
386
759
315
176
818
914
454
689
592
970
405
755
437
443
519
923
171
829
39
456
97
888
467
192
225
707
811
623
661
780
37
439
326
177
155
875
692
559
525
744
331
357
342
952
939
999
778
618
916
432
927
687
726
511
490
33
38
88
192
636
86
697
968
354
763
841
334
175
728
767
750
618
198
507
419
120
160
687
722
820
452
297
390
164
546
154
633
130
857
279
621
678
150
789
146
241
890
188
814
692
424
131
822
234
519
835
235
86
87
323
682
680
910
586
574
315
773
577
246
867
723
665
945
194
80
809
180
350
434
262
787
565
100
30
966
244
410
685
704
887
773
376
216
936
677
41
487
45
625
885
548
136
597
193
870
945
743
375
146
451
910
977
755
675
65
53
423
908
848
906
955
297
303
701
401
93
272
873
708
575
102
569
738
840
51
572
485
166
248
322
513
641
128
627
862
104
22
666
191
208
988
677
478
611
19
514
390
856
483
903
345
532
29
800
361
639
214
722
30
964
792
308
320
408
944
652
482
860
736
133
18
230
729
585
518
665
997
632
215
821
737
944
242
291
335
975
925
945
960
473
915
978
758
674
601
936
269
649
46
835
939
682
634
775
532
944
719
122
765
946
834
401
740
441
439
567
597
510
759
171
352
521
994
276
65
549
65
667
318
635
127
25
495
927
247
242
486
378
23
996
283
158
436
18
349
360
877
254
819
882
132
229
338
620
81
512
768
204
20
110
124
559
777
994
809
533
278
742
630
638
813
432
162
763
994
534
705
325
362
515
473
926
615
272
686
41
727
329
902
661
553
900
284
67
103
591
490
138
353
471
513
683
308
732
139
275
63
936
614
6
763
126
782
376
698
698
184
263
234
10
587
550
951
111
969
510
106
916
261
524
541
339
20
6
213
639
800
714
834
272
175
754
481
63
258
662
650
393
77
932
929
384
371
212
384
809
176
213
761
533
119
30
841
833
431
203
607
857
556
334
435
831
661
492
150
348
487
953
638
228
763
54
684
979
831
61
827
868
236
982
351
940
749
225
927
144
745
804
96
836
865
607
486
585
649
852
597
134
168
447
88
807
731
450
685
424
424
183
242
25
566
871
48
283
183
826
131
539
243
344
205
798
704
452
893
866
397
562
48
49
393
923
300
464
759
453
455
103
580
201
997
195
675
191
749
320
710
868
687
981
308
694
21
14
294
718
909
307
479
84
592
785
191
527
313
510
353
862
124
58
56
374
552
23
419
777
158
639
42
122
217
4
490
629
94
336
77
915
430
22
661
500
881
943
307
819
17
732
438
137
947
143
531
957
378
700
507
494
119
124
719
761
472
831
828
659
579
972
934
195
548
43
31
654
95
120
242
69
521
134
304
854
76
426
457
809
138
20
253
9
197
669
775
287
322
751
412
99
632
514
661
585
353
1
381
534
145
248
540
798
765
942
797
403
583
845
156
243
112
688
584
794
515
146
646
690
992
737
201
401
56
219
693
467
985
68
835
915
134
191
321
574
384
845
758
937
726
108
171
143
875
885
292
397
832
618
333
873
554
319
95
722
195
535
79
309
934
133
732
245
62
580
69
54
821
497
723
576
474
848
861
308
222
70
541
948
881
808
811
323
668
709
247
754
84
883
703
648
597
243
749
778
790
909
668
279
697
258
858
852
273
28
252
69
349
46
621
927
948
814
694
22
566
167
636
797
839
679
757
321
72
284
291
971
239
869
686
218
417
197
154
415
71
590
136
140
272
266
954
173
709
71
143
623
294
631
877
86
304
618
469
945
215
915
110
112
858
947
916
562
42
335
870
978
584
363
419
725
512
395
348
149
308
575
26
867
204
582
295
364
949
200
73
650
943
758
194
216
323
259
157
769
398
146
225
520
820
212
718
876
17
116
500
452
696
338
332
250
688
170
240
707
13
508
34
62
779
825
890
155
501
647
255
353
442
299
342
735
850
445
214
97
340
193
754
579
207
115
833
944
172
584
654
604
900
238
519
529
661
208
290
53
655
16
382
436
876
658
435
735
823
466
744
203
64
780
104
939
398
360
991
966
352
677
887
276
828
975
125
608
989
12
855
919
905
927
581
535
13
532
259
995
245
673
157
427
483
980
452
113
127
450
122
596
684
834
767
254
716
722
850
796
932
540
301
534
931
437
544
609
889
165
797
559
490
620
906
772
526
653
107
369
888
144
807
45
125
98
919
204
338
682
318
505
971
726
721
594
936
188
656
353
627
490
202
485
579
414
901
621
931
477
544
424
395
304
551
378
120
539
325
4
717
280
249
303
711
820
974
92
853
751
273
741
55
120
994
550
195
369
608
594
679
260
411
458
412
857
698
676
842
878
151
65
764
446
189
389
925
325
308
958
800
215
263
821
564
601
498
194
957
911
394
652
662
496
777
375
840
16
589
464
682
358
806
910
184
141
477
325
859
178
242
949
791
30
794
757
229
905
539
728
937
732
127
455
618
174
643
316
45
737
974
372
989
866
265
998
611
136
473
21
784
188
697
782
692
93
364
126
168
178
382
779
434
190
26
969
301
842
696
423
446
445
673
57
54
308
633
798
12
42
31
961
797
717
375
525
432
93
92
459
160
739
928
989
991
967
760
320
914
912
310
850
345
992
486
373
359
226
965
115
327
585
220
691
873
619
388
235
459
101
253
36
507
322
152
971
670
967
794
903
779
223
806
26
11
878
359
788
55
673
331
667
366
137
301
544
164
419
140
841
445
412
62
932
147
580
799
503
568
473
989
736
269
848
952
168
14
712
789
55
709
336
135
908
957
494
948
625
559
753
454
289
251
631
713
306
24
827
324
983
589
550
452
70
984
156
722
45
804
935
488
128
293
907
682
103
338
902
725
44
474
50
957
925
129
20
666
951
694
37
85
125
466
698
633
241
174
117
300
990
550
775
293
335
418
702
994
655
803
340
805
392
914
464
701
132
183
84
177
82
197
90
787
914
32
752
673
781
421
870
331
159
219
475
331
793
827
540
882
678
601
41
947
478
768
65
53
220
75
415
92
387
167
270
172
801
736
43
4
771
562
522
433
51
907
749
423
79
136
859
255
824
76
278
718
308
367
267
817
564
985
781
878
313
196
13
964
157
417
792
199
448
868
216
945
263
430
504
753
149
820
89
697
357
68
389
970
315
277
518
620
990
818
468
910
614
451
901
57
972
326
770
66
63
469
436
935
508
147
802
773
505
451
278
277
481
555
54
558
844
361
230
537
412
663
869
8
148
535
912
963
805
392
201
2
987
32
570
456
876
52
78
368
618
194
959
621
910
550
825
317
880
73
967
973
725
498
328
223
914
605
917
500
984
747
910
587
65
686
717
48
347
100
607
263
592
537
275
225
698
243
905
287
33
12
876
792
934
152
228
874
352
733
425
737
56
493
732
437
228
202
745
495
552
794
215
691
87
289
350
28
312
405
174
183
764
726
376
700
549
511
331
831
883
520
580
184
488
724
164
299
341
417
604
831
789
16
249
296
485
813
913
224
957
22
468
122
873
760
90
871
221
976
373
55
706
965
412
238
618
799
265
402
318
912
887
590
281
114
793
300
311
518
167
333
152
202
111
593
225
962
29
827
626
170
900
381
840
573
330
871
854
856
814
54
474
936
633
316
695
228
131
912
901
599
913
516
555
310
687
686
736
30
27
571
608
900
365
557
417
724
869
575
122
590
710
492
132
589
393
316
897
879
464
989
322
23
923
145
39
373
73
560
601
319
428
966
564
358
460
527
228
285
690
555
571
268
627
978
479
242
535
663
973
801
878
947
538
773
557
617
14
717
717
168
776
886
17
361
80
588
716
970
519
474
827
169
520
2
918
152
673
217
807
456
484
20
557
924
833
332
643
424
7
870
162
236
711
801
207
477
823
185
337
84
27
976
179
622
657
270
764
628
201
714
147
318
986
192
248
188
476
427
594
471
484
702
832
477
330
688
471
531
674
261
294
624
285
305
264
908
495
684
583
841
483
988
736
157
784
184
982
801
645
14
779
640
925
824
51
74
263
536
31
621
122
646
666
187
155
422
210
3
63
13
681
149
729
772
317
167
955
907
33
528
589
522
148
610
151
229
330
398
328
747
788
352
892
351
230
746
630
593
7
307
867
452
153
180
47
960
747
84
600
398
140
1
54
337
104
924
898
194
890
982
261
435
508
718
844
274
301
442
875
511
2
335
81
144
41
431
797
529
811
693
367
154
968
126
947
546
624
306
642
421
442
748
698
983
259
232
101
158
824
614
520
654
643
661
2
948
732
116
200
715
279
580
206
717
828
747
257
923
630
229
676
433
215
478
409
842
93
303
443
800
716
89
205
901
482
110
749
464
616
264
193
446
217
136
383
503
639
557
224
169
614
731
433
221
234
537
774
581
979
871
942
507
453
716
374
399
419
202
213
297
987
71
534
11
547
816
748
888
146
259
757
404
506
483
63
137
850
849
520
194
992
282
850
806
915
154
319
673
197
840
257
583
196
493
163
994
855
641
241
540
385
975
105
900
802
109
254
43
517
117
699
645
745
420
736
401
474
905
474
993
154
257
168
759
55
102
803
443
451
954
659
1
400
911
772
79
928
748
315
703
819
303
921
678
73
87
877
383
336
605
958
989
215
205
354
578
493
178
820
305
679
423
664
522
207
266
690
743
871
877
495
432
750
344
834
859
970
632
891
683
132
554
369
511
142
401
299
388
452
59
328
96
477
300
53
145
12
390
636
570
45
374
558
987
245
130
858
886
769
833
628
787
759
510
831
748
31
215
756
645
49
745
547
831
186
919
265
37
674
202
902
852
413
838
612
719
951
729
164
136
583
25
307
687
468
716
283
590
59
616
205
689
974
738
408
202
609
459
145
69
425
846
213
480
863
156
182
960
262
857
905
470
985
478
902
95
210
194
27
243
479
363
548
761
143
147
408
1000
321
943
956
657
829
604
894
189
827
319
536
676
596
602
702
282
942
32
783
896
222
276
519
92
870
447
61
274
606
36
720
796
231
496
644
834
7
55
295
45
155
491
257
360
920
400
368
802
3
972
599
861
870
393
417
816
632
784
594
336
694
19
548
869
386
846
350
595
95
489
453
182
234
326
75
176
533
259
898
647
732
162
422
601
741
109
869
754
734
156
21
516
428
113
732
376
36
85
171
471
963
569
15
795
364
533
934
355
90
227
692
625
391
420
128
774
980
410
63
516
711
407
941
870
170
834
605
785
942
669
173
364
181
236
407
375
377
700
324
844
883
124
44
784
877
152
39
550
885
237
16
850
911
882
628
207
523
544
102
551
932
673
655
635
235
877
250
205
511
352
852
194
370
509
868
715
907
233
811
312
745
274
622
753
992
118
228
612
492
55
112
40
716
300
663
429
990
734
32
92
530
276
70
716
949
907
681
103
448
129
568
615
934
983
943
841
669
791
215
214
880
474
90
707
944
631
749
265
410
561
25
359
100
84
546
866
992
279
836
531
407
288
293
397
246
894
753
956
711
908
88
211
945
301
907
524
513
632
984
865
522
543
457
86
405
35
196
898
120
753
2
529
561
760
464
437
492
133
337
36
188
242
319
136
301
780
961
655
128
410
226
238
630
449
927
597
26
95
851
755
731
588
896
878
748
84
943
57
338
216
525
227
970
35
558
379
76
494
534
385
113
717
626
14
784
49
74
200
56
264
91
217
780
405
264
159
293
412
113
90
396
82
998
247
469
933
79
959
310
219
394
294
470
704
395
25
493
773
501
178
479
133
311
295
806
657
112
557
699
894
266
77
565
380
821
1
644
180
484
542
611
18
656
685
186
925
814
140
693
621
938
24
786
710
53
880
211
357
190
914
580
306
238
734
621
2
244
445
238
63
648
712
57
593
886
261
795
596
500
348
962
326
664
935
852
483
580
631
788
43
718
27
844
929
304
656
59
874
743
700
286
601
926
496
350
879
457
52
190
96
915
88
985
765
177
546
55
738
699
130
502
11
375
201
129
678
305
273
185
988
316
416
854
489
597
126
222
898
158
591
676
723
130
836
271
618
110
927
648
127
837
270
511
783
524
55
487
485
45
64
453
692
24
388
37
290
567
68
82
855
48
342
286
700
841
936
119
282
401
814
383
485
367
903
453
834
695
566
321
927
925
10
59
222
787
418
212
878
321
287
927
486
563
375
336
428
626
682
832
31
712
102
383
897
183
738
970
561
321
378
564
106
831
302
780
492
427
430
527
129
117
769
488
658
874
293
237
992
461
654
185
425
100
587
260
18
524
483
486
513
713
349
119
779
270
302
67
125
964
835
655
866
445
293
637
217
491
411
555
916
482
297
138
976
933
948
494
635
52
242
235
858
294
356
542
739
760
749
385
746
158
145
785
47
719
449
43
86
122
179
319
168
1000
759
808
54
59
996
49
490
174
159
543
111
81
343
974
441
467
219
800
513
301
836
875
214
233
911
70
616
776
863
579
413
758
969
675
51
229
152
247
344
619
317
352
108
417
629
330
888
94
828
828
905
266
465
143
177
358
955
933
182
125
469
222
521
450
974
57
792
760
198
893
295
262
879
1000
226
951
451
730
755
15
198
516
757
797
32
821
965
992
234
100
33
103
920
24
319
481
519
821
195
459
255
642
348
201
489
251
859
871
774
185
772
667
657
792
548
54
593
144
11
262
790
948
389
769
483
963
599
978
880
350
182
789
31
625
228
80
912
569
143
381
338
532
355
185
702
48
935
408
128
606
598
476
335
665
793
410
446
781
368
54
953
758
842
288
307
317
450
667
931
653
925
440
960
616
482
291
706
988
541
483
652
448
553
317
763
401
707
900
46
787
359
325
576
359
842
240
675
666
635
676
496
207
993
738
89
729
826
429
874
713
990
453
582
413
187
298
926
674
358
301
642
926
780
663
124
377
85
592
528
458
81
844
116
975
545
926
605
292
134
157
453
64
193
580
349
736
485
463
651
23
846
728
147
77
324
219
333
919
624
125
300
942
575
257
503
18
911
105
870
786
858
782
191
213
887
16
263
399
554
332
11
910
480
447
701
623
420
679
387
183
823
870
957
702
464
923
473
239
535
549
32
946
30
249
43
506
415
840
628
621
311
107
850
877
388
237
596
255
741
780
250
931
768
779
732
780
973
598
87
165
188
692
576
185
400
276
127
548
769
358
104
607
428
119
546
943
357
993
459
32
955
69
250
200
925
644
117
46
768
862
49
973
450
356
125
286
809
746
939
549
871
639
325
547
522
528
38
262
939
587
675
694
733
922
912
271
57
265
101
821
778
445
348
771
429
236
494
333
822
340
803
914
112
318
759
863
600
275
91
26
793
967
61
215
6
800
39
883
380
870
662
751
260
799
158
122
736
627
987
897
608
428
585
82
137
633
825
704
750
281
824
617
287
523
799
621
462
766
47
696
977
782
502
924
117
925
980
828
710
410
955
469
67
206
646
618
882
724
259
693
82
898
471
12
348
683
607
41
309
245
546
15
458
340
41
249
466
451
42
952
888
280
593
148
215
83
55
553
858
171
723
927
922
608
409
432
557
780
171
25
276
40
177
748
871
68
651
72
455
951
937
103
734
229
994
570
808
319
43
977
691
795
672
220
256
973
427
252
501
150
817
94
869
591
691
624
864
92
150
51
329
525
526
958
607
278
450
98
227
914
715
877
904
695
471
605
419
837
242
148
368
492
440
560
875
490
282
661
95
811
538
278
748
625
79
44
988
458
2
254
604
743
3
229
956
549
753
77
40
776
277
506
801
476
680
578
118
242
174
880
894
814
989
650
357
124
674
767
953
39
248
405
205
945
877
340
525
152
42
589
231
796
674
70
991
594
352
457
461
282
449
271
174
52
87
493
599
649
837
687
896
15
387
693
58
563
805
437
49
211
607
307
35
285
570
848
28
274
116
222
67
230
134
7
592
252
318
431
787
150
444
49
504
834
524
228
833
427
455
508
507
394
584
96
113
213
615
267
500
231
411
423
896
411
533
915
961
592
810
510
418
729
862
560
979
379
225
514
971
295
660
395
460
618
337
275
689
582
742
572
342
73
628
192
467
616
807
187
908
614
317
572
740
713
348
419
512
200
311
138
68
241
622
131
331
593
74
613
742
127
190
483
935
162
536
554
858
109
811
346
789
398
464
872
573
981
689
592
9
996
920
705
500
292
368
536
949
621
709
573
449
263
773
97
449
716
961
989
963
899
175
465
848
977
234
956
373
538
103
344
61
346
798
21
305
313
464
52
326
636
979
811
874
290
399
40
452
169
712
237
997
246
639
630
631
10
708
778
551
339
384
15
168
687
860
525
313
148
968
837
703
500
804
923
916
840
843
875
749
775
757
362
251
426
633
658
640
696
51
75
39
367
293
51
217
554
985
982
525
8
641
108
828
542
906
442
496
577
767
748
486
464
651
58
94
741
110
61
254
948
757
988
111
957
209
279
200
51
72
408
745
107
402
726
495
362
671
85
5
151
989
298
496
951
211
211
232
788
633
262
881
806
133
934
445
371
21
434
191
591
340
259
458
550
39
42
333
862
264
251
990
392
4
807
900
90
446
708
212
965
705
61
377
114
41
729
444
622
273
946
570
873
879
866
958
468
164
986
836
552
991
766
101
764
758
603
953
483
730
494
173
238
351
353
699
430
886
960
802
552
564
957
493
113
454
120
734
414
426
407
657
85
917
881
281
68
662
715
145
333
229
887
857
150
955
89
824
204
859
605
323
154
190
607
620
529
554
404
92
991
963
665
135
57
727
522
211
386
869
776
550
553
583
132
859
88
338
498
906
187
418
909
986
150
37
560
86
70
698
778
42
745
113
471
89
48
841
780
999
284
789
175
419
123
826
214
133
793
95
547
686
110
36
500
265
814
734
783
726
397
982
416
423
302
373
979
850
916
781
666
124
264
864
462
38
694
565
918
748
122
176
660
156
596
187
767
694
50
40
571
546
115
882
289
285
756
604
125
550
341
781
104
631
461
586
1
818
447
411
134
895
64
719
685
470
330
582
482
686
714
497
831
451
256
308
100
521
304
494
220
653
620
655
177
568
597
767
871
647
195
649
421
135
998
135
105
102
482
663
665
599
191
320
605
215
8
905
466
740
137
259
788
747
709
907
626
682
176
63
23
493
747
168
816
911
210
438
509
262
370
342
715
56
218
546
853
706
697
602
357
404
576
606
661
576
522
100
600
362
938
740
681
243
506
640
893
299
655
830
304
551
384
985
776
507
964
426
476
359
22
417
778
206
461
942
315
330
466
467
644
828
561
697
996
810
333
942
70
14
965
535
686
878
152
658
361
54
350
74
600
902
529
508
703
697
786
827
465
177
244
778
958
576
605
736
948
479
648
837
175
665
720
879
847
618
961
611
227
511
628
362
99
325
351
473
261
170
591
686
902
51
894
450
883
71
717
85
502
503
788
898
247
260
952
624
450
23
423
22
490
728
203
63
378
109
183
904
171
786
95
766
587
688
83
916
656
687
81
163
8
958
615
686
603
959
914
553
341
887
397
982
3
152
711
250
399
695
516
187
425
956
86
343
990
913
654
236
403
900
115
604
859
833
370
175
145
82
91
302
512
449
156
736
979
649
341
937
959
211
119
557
222
973
560
181
683
176
415
963
387
732
424
530
389
386
782
434
917
362
460
440
322
564
807
173
857
570
415
980
217
444
771
395
155
886
606
242
178
335
188
255
506
442
2
65
30
739
423
546
918
449
7
808
960
106
961
563
428
67
208
217
478
63
237
782
645
635
546
639
17
698
102
244
40
469
675
111
712
729
313
791
161
669
486
96
159
634
647
550
208
663
27
868
214
94
507
302
623
431
320
848
120
303
132
644
644
624
811
368
522
1
781
70
982
23
434
679
168
302
488
387
59
68
533
179
349
645
273
93
468
382
126
164
366
458
900
620
601
530
261
601
600
366
565
581
597
446
433
701
961
19
115
428
57
244
320
316
780
875
662
147
190
374
309
412
440
526
714
900
318
321
565
162
298
391
175
749
918
311
622
406
707
860
837
867
623
729
737
511
164
222
216
864
864
206
494
902
923
961
864
141
69
577
400
765
582
252
495
401
606
183
461
720
482
729
560
727
887
196
964
461
939
874
126
853
316
961
977
636
632
595
166
540
995
522
282
498
684
832
640
190
383
824
742
89
241
271
958
97
313
278
339
968
606
497
709
983
54
644
364
770
211
173
755
704
351
461
513
103
4
68
65
276
594
451
855
556
28
27
889
626
570
628
929
838
255
201
144
687
461
58
455
319
970
139
129
756
4
478
384
487
268
553
919
252
12
235
295
96
445
852
65
258
658
244
362
27
346
769
453
509
218
933
384
118
981
673
444
708
177
375
625
501
929
380
652
317
902
61
432
203
364
574
971
222
276
30
894
33
738
133
728
913
997
310
6
24
413
977
57
69
449
865
102
955
817
246
871
708
326
531
517
718
900
904
35
275
443
619
740
546
961
90
619
327
395
164
536
381
125
812
321
713
1
13
772
890
47
796
448
375
709
217
948
911
620
597
45
185
376
434
648
339
752
283
59
452
113
293
433
724
509
281
627
989
113
933
881
99
171
222
876
903
641
171
782
822
10
865
820
476
605
12
723
419
829
418
250
806
396
440
543
738
578
868
700
91
911
724
411
899
582
118
873
697
941
675
500
834
195
36
126
413
350
565
503
415
920
746
893
535
716
676
483
466
306
725
142
668
363
669
787
148
162
568
243
403
967
247
15
513
899
468
849
245
142
804
284
231
42
776
670
455
705
31
280
767
224
205
226
690
531
671
822
516
194
504
977
587
174
896
938
688
666
705
411
691
694
1000
696
938
30
261
972
362
344
371
258
24
254
649
939
559
59
950
917
10
509
300
615
660
923
630
92
786
322
896
438
682
23
306
527
918
312
408
886
577
390
531
176
101
806
425
279
480
931
983
514
739
892
621
848
56
543
206
269
412
694
448
684
346
824
323
797
263
941
365
423
755
69
694
615
554
114
209
795
69
459
699
797
937
733
524
376
660
637
137
249
185
572
943
193
254
90
916
88
418
872
935
1
929
4
17
619
86
830
526
383
220
533
917
637
235
932
803
17
481
646
948
59
819
929
293
724
902
985
283
114
77
490
552
173
818
404
517
578
255
862
534
331
219
122
42
797
178
55
590
57
585
654
680
488
457
383
161
418
455
965
272
548
330
390
508
613
375
495
199
367
434
469
60
611
108
14
8
380
999
731
203
864
264
453
643
847
254
917
611
713
736
153
949
99
57
400
424
345
590
208
431
738
19
597
886
423
297
820
466
532
634
311
246
740
468
844
425
985
209
839
26
519
464
957
412
835
573
868
972
226
543
111
581
952
883
473
287
991
435
216
230
386
2
767
956
27
482
209
143
546
249
5
268
635
740
946
864
757
525
182
853
674
703
594
893
668
91
446
814
605
517
442
970
269
516
851
800
468
848
306
949
491
564
279
88
416
794
969
927
629
37
554
15
655
483
306
617
83
851
75
332
914
251
49
151
149
858
491
328
807
548
343
787
851
184
250
788
693
968
528
208
48
104
45
132
908
39
835
390
319
726
472
307
474
672
898
228
335
1000
450
268
650
427
275
395
745
819
202
131
942
958
402
120
774
241
845
326
432
322
647
865
59
92
893
342
537
9
401
87
429
472
227
878
570
868
373
560
642
937
323
502
704
301
515
946
299
376
800
137
214
382
268
592
435
844
578
959
100
794
27
740
523
884
211
540
465
725
28
627
874
99
177
324
254
116
64
160
678
993
192
753
212
918
720
145
168
354
842
640
193
231
41
262
652
698
84
612
161
493
812
247
397
544
415
711
516
96
883
990
602
535
766
478
586
80
204
508
953
683
416
113
428
807
505
991
494
245
474
527
272
739
790
389
805
16
745
385
237
739
73
240
724
41
10
459
180
522
36
696
99
33
36
885
793
159
526
962
320
998
859
139
304
778
76
589
593
853
145
835
403
847
870
353
230
48
681
659
251
699
831
644
415
461
289
30
690
186
748
606
191
93
719
325
13
598
644
460
667
319
329
730
911
258
768
732
672
732
584
77
456
427
937
329
347
832
697
225
237
414
107
689
413
97
943
828
11
38
387
442
111
184
465
577
483
840
889
305
35
306
601
229
76
677
121
157
368
30
62
35
804
610
821
506
237
30
477
364
621
216
429
810
198
560
137
634
839
726
609
344
70
667
970
866
503
631
502
586
614
415
58
453
816
648
639
323
802
637
231
963
987
204
682
929
649
981
565
71
115
809
427
531
860
286
812
947
971
982
738
13
774
531
66
680
787
622
341
68
347
904
230
571
425
955
656
757
153
741
70
383
530
474
89
277
655
359
909
868
533
488
456
897
224
64
272
167
622
208
481
275
649
836
22
900
37
480
520
601
122
471
785
47
309
592
957
286
940
200
733
930
299
770
943
143
418
50
4
896
156
282
387
275
733
467
324
523
559
275
408
121
709
976
628
437
847
761
636
378
764
887
725
66
911
368
73
732
523
334
320
921
951
782
407
640
815
143
931
225
474
997
983
588
68
317
512
981
133
789
841
550
313
159
823
813
280
39
499
598
309
277
856
151
337
825
404
876
509
30
869
601
364
393
245
385
871
145
816
577
414
438
523
300
738
556
238
537
563
312
82
762
285
713
911
387
711
66
509
361
269
894
794
906
521
472
590
761
62
281
95
252
118
413
238
187
225
823
488
905
399
285
579
707
90
160
790
608
73
317
110
542
97
118
650
151
798
939
118
844
879
551
52
70
20
600
771
657
327
547
669
610
384
685
576
13
125
274
394
507
828
411
107
376
489
971
571
454
720
863
196
884
111
870
747
300
663
555
8
100
534
61
989
344
810
160
673
232
444
561
62
278
824
312
402
23
635
131
31
637
840
612
265
769
614
575
69
821
27
244
57
179
100
580
542
22
640
839
917
23
895
333
662
650
652
485
652
785
873
453
254
76
341
24
903
772
71
4
449
784
445
32
620
386
118
606
342
255
744
127
491
525
500
916
929
176
181
506
261
302
383
994
862
799
897
837
128
559
5
334
826
527
776
922
619
870
846
566
595
74
378
763
642
996
99
106
59
768
363
929
633
994
144
278
778
833
780
364
965
445
44
662
862
732
822
47
60
494
282
712
231
905
915
117
873
683
237
884
548
483
267
396
662
753
128
819
383
807
212
421
250
896
432
337
411
838
994
403
164
163
987
264
683
789
830
743
369
962
296
365
284
557
379
7
485
882
755
893
918
796
975
502
693
288
792
545
230
703
238
846
733
381
163
808
912
860
926
184
691
707
893
11
887
694
144
932
476
295
591
557
134
421
267
207
185
907
137
139
949
513
198
324
775
78
977
939
688
65
821
17
704
930
506
91
301
604
760
273
493
952
297
918
203
199
805
920
362
206
137
727
286
943
636
371
373
668
136
157
117
141
675
162
761
654
371
382
632
782
221
180
378
554
832
657
861
142
189
734
407
313
627
1000
509
571
102
847
811
374
712
15
421
834
174
429
145
46
615
135
242
553
614
216
699
486
902
796
819
602
501
627
118
779
373
317
158
537
855
922
945
794
221
511
964
379
761
322
745
797
645
278
88
349
659
972
753
10
659
720
416
374
163
891
212
589
82
540
6
453
26
319
822
713
940
735
532
217
117
90
994
749
784
873
315
253
506
926
808
705
654
449
517
41
47
806
885
416
667
112
278
568
44
805
557
177
490
767
860
974
892
29
55
780
163
831
92
783
778
564
604
163
33
157
671
575
828
572
624
123
759
395
113
175
299
925
450
807
657
816
412
681
687
32
255
927
855
861
710
923
863
741
97
925
991
941
515
186
592
479
266
519
468
251
284
275
64
996
362
366
471
622
408
249
288
394
767
774
261
684
915
416
461
296
456
681
472
844
422
419
691
337
306
366
400
874
161
487
665
344
335
580
525
101
103
193
141
861
548
73
753
490
504
297
378
913
315
708
115
126
411
501
853
155
458
631
914
876
930
207
896
794
465
201
557
235
316
606
90
934
520
633
559
643
166
680
565
241
263
563
460
781
293
945
533
63
463
992
639
616
54
23
692
407
24
326
270
223
205
381
356
419
10
442
899
645
570
792
419
255
597
25
394
310
82
393
522
493
150
596
235
786
992
377
46
474
831
964
410
875
299
685
768
229
427
52
376
337
706
263
321
870
314
290
853
743
643
719
808
603
746
56
406
243
164
468
178
751
876
857
90
256
776
684
243
436
203
206
612
362
479
656
435
804
363
409
772
905
596
375
673
954
434
715
164
92
170
424
953
951
189
542
367
583
989
516
521
574
976
720
133
870
547
263
746
699
140
984
284
942
473
990
58
440
163
145
336
20
248
703
553
479
966
669
65
371
246
514
144
189
23
612
513
479
412
128
361
474
231
110
173
86
117
220
165
460
709
904
337
877
999
764
393
428
938
575
851
827
839
680
688
641
944
480
757
481
761
347
46
952
418
565
571
679
335
843
315
349
982
539
172
509
347
969
290
813
996
92
559
496
319
408
246
156
599
135
939
299
59
593
25
713
918
255
909
444
806
114
53
49
590
845
706
846
755
750
886
60
58
621
769
157
28
461
155
129
294
481
91
199
387
908
22
217
883
905
119
3
232
357
507
44
641
365
174
227
694
19
311
750
196
448
627
968
878
188
984
673
209
641
340
242
533
738
554
160
147
1
84
648
737
818
991
530
810
148
942
989
357
826
106
602
8
307
925
862
373
6
759
424
89
340
297
498
336
219
478
96
225
984
334
365
528
761
864
844
646
754
523
299
624
276
390
720
236
206
423
192
895
114
448
591
177
534
693
501
271
710
781
298
557
691
3
98
793
819
638
141
131
505
838
234
278
684
280
74
642
486
426
626
228
477
692
256
395
292
267
956
297
587
627
870
6
49
21
277
856
591
329
322
489
996
729
118
473
990
560
243
126
142
606
296
336
42
787
931
785
920
904
700
941
271
650
116
605
15
575
581
580
491
69
206
247
844
722
103
449
419
600
408
105
393
82
187
395
213
913
354
187
350
22
908
644
517
497
149
556
769
796
964
21
846
957
964
543
698
38
1000
493
392
523
583
128
492
742
789
66
578
618
543
178
760
214
551
349
952
623
760
475
159
722
926
330
247
173
789
690
490
858
368
164
687
627
112
750
802
820
988
28
879
550
99
255
461
127
105
343
859
335
529
887
389
489
26
907
144
326
826
978
941
835
839
750
852
52
405
656
108
718
215
755
238
434
758
269
24
607
508
347
214
86
191
981
967
785
664
806
697
67
350
739
316
855
709
990
862
699
925
33
185
86
838
542
629
308
188
112
661
87
368
858
972
17
251
596
890
551
90
384
876
942
189
657
431
53
765
36
35
399
431
190
616
142
810
786
603
2
47
647
854
219
424
737
602
756
844
477
95
929
683
211
806
499
405
325
904
72
370
670
189
334
467
430
860
252
564
514
259
873
281
898
234
764
247
54
874
453
854
769
143
463
466
215
368
646
216
53
662
579
798
772
57
702
98
175
571
751
158
161
472
781
677
482
712
735
207
175
899
85
278
763
168
549
881
92
48
254
179
934
697
24
813
31
943
639
903
334
158
21
672
596
362
324
664
290
862
776
674
107
405
992
836
893
65
136
806
958
32
18
608
147
69
658
507
916
640
388
212
931
614
817
850
406
22
318
367
430
543
807
479
85
285
671
840
986
935
677
827
249
561
559
261
521
160
790
377
888
584
716
596
969
571
838
999
417
488
530
904
404
788
905
622
412
376
827
304
757
777
326
759
879
523
785
259
339
183
303
664
868
271
585
605
560
628
555
135
478
963
659
944
545
928
450
228
555
495
658
313
555
428
390
414
639
306
493
266
406
932
417
932
953
914
68
761
291
912
288
373
488
296
566
503
702
971
505
759
481
729
407
634
362
758
31
626
853
897
229
915
351
789
698
902
380
356
521
793
850
896
528
581
672
696
756
1000
176
239
456
467
252
969
147
581
38
113
213
516
281
225
391
485
190
982
327
537
741
232
2
127
895
469
512
266
112
714
111
556
901
239
904
106
860
695
836
128
823
4
904
18
272
767
590
827
135
84
606
370
454
377
938
628
181
252
52
729
525
464
871
547
882
799
796
888
323
15
601
277
76
52
526
646
166
391
250
544
654
772
725
95
474
492
43
587
924
164
605
452
290
94
862
407
876
447
816
692
25
947
286
668
280
181
656
513
951
458
472
411
781
829
773
391
258
50
491
960
433
243
603
749
726
514
982
675
333
36
25
522
305
960
248
445
283
56
974
608
161
170
135
59
671
403
2
11
987
459
331
858
973
708
27
661
623
367
932
303
570
633
744
213
298
757
398
372
800
783
464
309
35
165
254
899
418
508
339
113
25
476
159
287
893
283
227
99
17
251
193
205
218
640
695
391
27
311
494
194
157
844
867
159
915
373
587
297
107
780
146
845
639
863
34
136
995
757
7
241
223
199
263
57
896
177
386
683
744
152
690
253
289
291
377
883
904
107
491
2
127
484
237
174
964
303
650
417
158
809
940
177
105
394
135
351
152
716
752
168
519
906
324
353
985
193
592
660
765
417
27
825
730
764
141
973
215
558
751
754
208
68
950
807
616
151
30
695
645
954
41
95
84
74
965
873
389
323
718
645
80
685
321
561
842
155
609
351
161
880
806
121
43
436
137
981
564
132
377
368
581
946
950
831
919
75
707
132
746
102
15
737
646
476
165
170
118
329
381
238
833
676
921
834
3
655
846
901
651
830
46
119
395
489
17
76
598
530
714
1
395
795
499
598
134
636
876
203
257
110
201
217
492
413
13
789
490
118
1000
763
743
282
828
218
688
742
254
319
377
795
10
771
22
945
891
931
990
642
404
477
560
718
72
610
849
785
225
949
845
947
670
650
404
50
168
761
411
117
38
543
34
752
526
265
153
76
818
991
590
195
683
3
736
285
778
804
524
121
600
88
468
299
902
684
672
442
146
218
300
402
246
188
962
843
394
203
902
626
265
362
640
77
245
162
968
601
639
841
768
46
996
776
187
942
794
417
86
985
708
238
558
140
645
357
510
355
490
815
969
145
272
975
833
244
71
134
215
122
527
248
423
393
255
618
884
70
815
477
967
151
146
700
794
265
530
271
570
957
229
707
888
735
885
379
751
175
698
570
779
227
130
121
144
365
624
749
367
367
389
463
946
328
832
12
204
977
609
983
423
487
606
973
519
744
359
261
17
472
579
525
109
720
463
456
860
945
423
567
490
329
714
94
740
43
199
667
5
872
143
330
827
989
495
564
801
708
604
219
700
709
685
630
864
586
630
735
492
555
962
724
525
828
837
599
183
442
972
42
124
325
333
146
356
994
187
894
747
540
887
777
967
530
363
520
220
995
836
756
918
973
714
366
785
933
983
368
502
4
649
450
128
118
957
714
997
62
190
714
689
979
784
662
988
997
445
513
432
560
655
718
190
487
732
625
498
973
129
844
846
524
231
443
411
317
259
482
983
566
267
219
779
276
378
321
87
190
599
531
643
838
537
555
998
313
315
352
925
857
827
669
67
328
208
362
629
408
86
14
890
728
736
414
732
139
710
690
149
54
942
286
940
85
571
514
387
251
932
110
735
642
280
81
745
755
785
140
381
673
276
201
974
904
8
731
825
928
477
219
268
498
892
696
670
264
502
994
723
597
388
414
627
349
670
558
466
873
370
354
147
819
293
721
764
121
386
890
147
92
988
139
656
746
274
571
994
300
990
627
908
307
243
219
199
30
729
715
353
458
298
527
474
860
122
741
904
866
106
16
89
866
356
984
792
932
680
533
699
578
124
608
848
405
481
659
75
86
567
446
844
217
816
676
406
247
397
882
237
117
630
998
98
210
956
360
829
951
73
199
258
709
184
283
164
646
432
36
274
836
747
325
718
257
317
121
170
247
796
421
157
632
195
112
669
3
119
967
241
556
643
600
139
523
654
978
164
427
935
62
831
332
608
246
375
815
817
528
113
572
676
755
188
486
600
876
598
487
89
870
735
710
917
867
363
335
485
84
54
945
762
342
672
426
844
324
363
228
689
220
884
261
960
102
833
855
256
172
470
957
214
17
399
181
108
148
315
441
608
389
405
614
286
123
734
91
325
35
159
156
643
719
872
808
277
466
664
53
477
604
417
703
405
12
104
390
732
794
806
877
696
662
872
720
397
273
338
985
176
615
196
60
960
557
884
544
348
839
657
819
23
117
106
205
831
136
161
514
454
779
378
426
176
486
154
338
675
527
811
268
98
705
138
919
970
321
86
264
622
665
790
851
898
857
990
572
872
612
224
832
201
379
865
866
494
339
215
488
807
973
358
672
948
245
415
209
785
959
185
109
168
542
879
593
388
290
807
239
317
135
441
323
518
101
205
483
625
931
748
548
254
795
183
819
560
622
995
125
282
329
864
696
810
185
671
275
361
563
322
903
815
632
858
515
171
854
498
820
838
781
889
917
175
258
862
783
824
63
416
54
332
2
467
497
515
628
185
193
806
119
327
722
574
291
73
586
7
384
313
685
707
58
186
924
590
947
968
914
7
282
62
299
283
313
930
467
29
691
301
247
632
561
890
753
317
826
142
708
56
943
253
403
375
656
813
989
805
261
936
900
331
376
696
55
690
664
972
930
770
679
603
730
706
767
848
647
472
3
724
650
894
221
759
324
65
531
35
35
74
149
192
88
799
967
230
626
299
77
524
701
958
345
469
362
152
253
557
588
633
402
496
625
244
517
175
577
846
286
927
149
524
99
522
50
267
604
762
907
274
989
415
472
11
97
409
574
893
789
888
489
251
447
794
388
835
175
50
73
640
999
337
493
323
379
692
401
771
402
849
101
685
314
311
439
175
456
661
50
442
262
474
434
592
671
528
586
507
251
707
763
492
309
101
466
95
523
326
864
103
940
37
698
232
735
891
182
418
764
30
506
953
791
207
366
929
237
326
355
567
445
46
140
76
751
512
114
592
75
23
590
635
408
639
694
232
263
290
797
563
141
975
732
509
91
985
36
2
708
942
169
401
278
605
995
461
333
34
790
614
575
730
726
395
1
764
66
850
35
778
272
678
694
955
875
667
86
711
189
708
72
910
941
320
517
869
423
125
374
267
69
176
798
364
230
391
563
594
497
576
367
696
120
716
976
17
975
253
776
536
14
60
7
444
369
678
850
834
76
214
588
167
904
927
245
687
940
187
487
915
350
961
53
643
260
395
691
638
753
407
348
361
826
380
403
592
535
219
819
809
669
57
411
504
43
818
883
425
888
729
855
890
889
597
923
907
142
346
655
816
647
875
542
580
19
754
135
644
752
689
989
483
734
929
591
586
684
26
130
639
874
418
838
95
755
348
638
153
132
491
4
407
96
551
268
79
251
732
81
778
670
692
381
229
627
64
13
220
392
115
98
352
277
438
339
791
687
832
746
354
137
689
649
724
77
277
464
482
890
275
393
969
614
793
145
666
779
913
793
930
253
462
83
416
126
328
889
452
500
152
981
977
491
616
987
367
894
882
214
652
705
957
17
140
190
878
490
470
207
665
599
421
295
923
301
636
416
810
794
551
303
879
820
420
80
910
857
325
208
478
115
430
809
417
467
566
132
759
856
431
261
2
242
296
139
750
879
143
677
864
528
578
978
279
275
693
722
552
750
309
331
2
884
641
850
55
840
525
400
30
345
763
635
116
508
22
917
765
93
15
786
49
379
326
900
802
956
355
800
511
265
344
754
11
230
334
457
986
89
206
528
174
397
664
621
970
237
145
429
773
862
150
44
86
348
418
914
804
365
696
139
623
819
613
941
729
963
285
928
239
547
858
225
922
715
127
611
811
661
756
559
237
478
385
483
674
288
80
552
539
450
175
138
736
603
545
358
335
360
739
173
207
690
195
219
854
444
997
853
935
983
208
929
191
606
873
442
575
307
177
516
380
408
101
148
95
792
159
763
512
779
410
911
347
165
50
363
260
594
282
460
694
212
81
816
413
516
702
377
929
408
485
394
307
735
572
104
978
1000
648
744
239
524
727
107
131
57
277
976
243
723
713
658
766
247
396
314
844
573
765
935
837
386
224
638
639
529
654
401
588
993
229
499
833
960
332
666
244
407
904
446
79
858
553
296
661
208
84
738
253
980
889
267
184
973
834
784
11
42
819
29
186
640
226
878
247
873
825
377
37
989
539
78
822
674
656
598
488
19
700
292
162
764
200
597
712
238
3
930
608
478
632
950
481
129
416
668
612
90
764
103
226
324
21
191
158
920
776
171
967
243
389
978
8
16
747
39
349
225
945
455
645
51
679
728
268
419
616
124
30
338
911
227
842
955
323
471
517
98
129
257
690
162
103
755
568
379
378
665
778
853
931
997
103
282
756
408
316
949
528
763
617
364
726
338
433
966
706
563
423
387
202
238
635
114
63
954
625
793
855
820
271
62
65
673
704
554
305
650
502
600
825
395
803
294
119
182
508
750
125
925
104
822
809
392
928
73
482
936
888
474
233
695
756
207
313
556
146
908
93
102
204
897
497
409
868
248
445
845
248
33
877
923
350
718
408
900
857
480
522
4
158
164
479
136
148
704
781
395
585
104
152
37
937
472
435
314
740
209
749
203
445
146
507
184
616
351
650
94
135
334
518
565
752
613
342
720
921
924
243
592
365
913
961
228
237
769
281
518
41
131
266
611
709
539
965
191
378
878
200
971
408
515
436
542
168
321
478
66
932
342
921
423
998
676
882
81
804
3
509
370
376
306
168
847
918
557
1
131
745
523
787
941
24
376
598
30
6
527
823
406
502
928
511
513
401
103
841
12
887
370
775
444
880
981
558
300
913
460
827
998
309
995
520
834
43
567
638
214
134
449
212
401
734
796
463
559
370
324
268
80
921
500
500
74
12
216
720
418
455
690
14
937
255
169
444
156
498
127
726
525
113
772
251
208
95
99
509
305
317
191
278
862
416
169
715
141
598
6
616
398
420
395
649
846
717
14
352
592
911
810
27
54
857
387
444
799
234
174
442
764
250
832
104
590
95
259
152
112
126
637
631
128
252
199
737
221
383
766
843
761
53
674
424
213
563
382
558
526
63
936
142
693
2
450
788
525
281
958
584
320
287
306
573
380
663
221
852
260
355
358
630
225
957
907
478
643
868
280
251
941
81
526
856
315
717
375
108
589
536
228
413
505
774
985
916
251
581
347
47
206
250
95
105
737
184
917
645
379
278
527
940
861
948
204
726
294
577
369
767
245
544
505
517
600
320
532
302
858
353
750
1000
948
560
582
142
752
330
660
744
259
830
235
927
688
308
498
569
958
787
174
828
627
255
661
336
765
999
58
284
279
193
659
420
873
260
898
160
177
793
226
671
587
17
169
766
972
871
596
902
772
803
314
396
918
270
212
212
673
763
539
325
744
884
384
703
956
660
26
434
381
787
670
366
41
951
983
890
235
730
993
221
64
816
151
552
983
478
773
986
49
239
684
45
79
726
580
830
119
515
530
653
444
598
96
26
837
786
716
480
32
944
388
535
997
485
180
543
248
943
770
832
452
775
45
716
400
740
772
527
822
378
478
725
667
103
990
577
140
385
526
590
271
356
825
134
791
912
587
210
826
46
395
350
317
729
384
15
50
112
126
661
915
213
621
847
324
532
803
380
721
239
683
514
783
673
95
627
200
880
47
677
903
866
817
910
233
18
286
12
798
901
466
899
736
243
822
804
669
475
785
209
875
639
803
412
133
791
374
216
232
333
777
283
365
824
635
238
488
909
25
426
276
983
549
609
459
61
729
535
189
154
65
454
578
89
344
184
695
366
127
221
129
104
838
769
675
567
593
260
847
64
674
115
676
252
579
13
694
989
702
939
108
927
986
599
895
981
340
586
962
644
245
867
580
901
687
709
8
107
531
193
596
833
475
827
688
75
985
590
334
679
995
939
146
57
689
928
650
510
392
608
119
536
446
304
206
535
977
198
629
210
598
882
820
798
450
198
694
985
436
734
654
971
175
787
519
719
946
497
328
845
907
91
859
938
920
890
276
404
610
787
520
28
707
396
945
570
264
995
213
638
116
648
662
2
804
625
198
269
239
346
242
547
589
602
447
312
221
718
683
222
40
662
266
996
245
864
524
828
342
617
589
7
238
508
694
560
364
295
411
752
98
968
941
238
176
559
43
509
419
392
170
4
822
85
177
961
29
571
270
616
234
838
937
839
823
858
265
693
436
400
398
664
681
23
874
520
431
594
265
842
487
62
799
291
417
77
676
574
518
294
342
887
225
809
333
348
712
268
167
560
121
609
418
972
609
303
297
145
377
186
7
416
955
693
678
641
239
348
922
928
265
894
886
295
201
302
257
170
843
235
817
545
725
224
5
366
46
951
439
433
795
525
508
700
798
602
934
351
963
490
695
444
630
161
815
242
768
207
287
562
769
337
857
607
678
981
465
781
38
923
909
938
953
638
671
351
587
230
935
443
72
401
522
8
735
898
849
169
608
279
39
853
427
636
1
889
715
117
642
154
87
706
360
374
603
758
624
292
883
175
766
898
660
981
61
362
676
267
802
101
100
138
361
142
161
335
135
577
303
673
914
439
992
284
397
778
217
951
543
37
881
467
952
130
484
57
725
739
974
377
114
442
182
511
774
250
993
674
666
1000
317
60
452
871
928
353
743
930
475
983
719
263
307
97
430
724
267
572
570
751
292
127
640
18
462
734
166
918
138
90
118
993
963
864
724
474
781
787
645
24
8
445
873
641
563
797
774
417
247
22
416
528
384
296
685
369
589
496
733
261
784
616
984
501
962
907
252
830
729
353
539
586
384
123
724
904
122
66
670
325
981
132
234
104
310
882
292
297
861
838
172
466
103
538
821
433
971
557
611
85
76
679
957
641
348
624
808
177
175
450
637
428
396
802
772
55
889
695
776
657
93
398
125
741
526
294
604
773
261
287
692
217
336
468
694
134
313
243
543
554
525
71
1000
301
91
282
435
390
413
198
511
403
730
910
867
516
266
632
318
933
648
485
199
547
565
964
212
600
97
89
549
916
734
403
119
96
889
612
418
682
597
595
967
879
210
950
253
896
82
10
812
359
661
512
410
502
942
670
309
80
913
453
215
12
517
300
856
769
636
303
82
462
794
177
993
365
582
932
908
357
305
250
893
392
978
16
178
624
607
309
23
293
610
436
511
784
387
277
303
569
258
276
586
854
450
907
358
871
367
358
670
699
107
442
681
370
97
485
188
841
738
45
797
50
159
815
65
940
554
39
753
764
58
42
768
462
812
264
533
182
670
313
281
243
19
97
201
986
265
63
462
969
890
945
889
931
394
170
473
780
66
255
927
623
271
139
270
510
885
334
728
147
552
214
333
286
707
550
235
894
654
603
109
484
574
699
35
194
3
251
867
270
208
589
444
648
863
817
924
227
643
149
180
231
637
802
457
798
987
615
421
565
788
984
340
531
89
580
356
955
763
605
737
371
145
977
546
59
584
971
379
488
486
280
688
301
979
395
764
372
96
485
599
396
219
664
713
184
611
666
524
596
34
446
993
609
820
160
73
517
271
327
980
698
945
677
398
674
177
384
545
426
218
888
414
64
456
494
641
963
520
301
170
442
495
776
286
905
97
456
685
116
399
874
899
932
644
758
841
411
738
977
203
650
249
490
159
133
140
775
151
596
983
813
545
676
133
758
574
647
159
790
334
605
880
551
515
322
506
752
217
860
690
197
453
712
817
548
878
910
468
568
883
30
794
481
434
509
486
340
940
17
150
976
993
876
120
184
44
695
212
290
934
450
451
132
762
202
558
812
714
553
878
256
347
693
448
747
313
599
129
122
656
564
75
240
625
691
315
664
418
461
907
245
392
735
938
429
42
834
632
681
506
426
967
350
429
9
479
686
764
721
412
485
507
31
942
3
406
668
9
386
416
749
161
821
19
690
933
42
588
900
494
604
639
705
671
550
147
162
44
720
135
683
453
956
353
432
159
907
204
506
889
933
43
798
173
898
559
249
700
230
280
965
915
735
141
237
694
56
651
104
753
582
449
497
377
836
947
371
179
92
297
475
843
11
160
589
234
619
605
107
845
802
14
820
255
833
34
643
182
125
481
820
751
536
567
800
800
69
6
625
396
728
350
139
257
632
365
741
431
234
390
759
433
617
402
680
979
422
932
678
650
882
75
842
57
838
599
517
576
363
523
964
291
790
635
342
569
549
119
641
607
186
817
792
350
327
714
640
430
186
886
835
160
380
518
11
142
458
567
786
780
565
339
227
824
87
511
441
71
942
133
835
568
458
751
435
921
378
66
365
851
630
490
201
747
909
549
489
760
37
311
124
951
282
958
648
85
543
141
782
961
352
992
665
542
159
552
350
770
256
866
52
651
977
222
566
95
556
818
21
39
113
655
847
577
752
616
432
186
721
469
436
643
862
35
160
886
368
859
672
937
982
505
619
930
325
47
777
465
14
388
449
805
578
816
738
840
968
594
578
408
605
443
179
278
538
488
167
44
223
631
312
242
862
301
165
247
51
265
347
873
640
494
477
173
400
67
966
602
46
793
956
593
626
489
723
590
110
843
744
756
260
432
490
898
482
688
664
643
460
609
308
513
768
541
677
374
584
644
255
643
853
545
632
795
940
234
198
915
905
487
798
516
9
964
538
377
957
663
915
908
693
593
320
437
267
365
758
839
393
912
304
154
876
682
441
173
961
480
883
503
35
580
968
279
831
855
941
520
424
475
748
103
878
113
28
479
349
737
76
537
809
773
456
472
343
854
815
133
133
428
189
67
829
189
767
419
9
697
628
909
794
566
467
332
533
293
665
435
633
115
398
550
252
328
615
73
596
97
859
731
961
150
888
591
520
666
968
938
90
328
520
474
748
770
554
762
222
585
912
488
447
651
913
914
543
789
415
809
714
650
671
312
291
316
596
377
175
278
242
924
476
373
321
361
982
748
621
890
453
117
4
885
397
445
496
695
124
638
643
397
385
21
923
407
835
162
505
347
887
84
46
257
262
27
565
45
703
683
606
69
837
293
84
863
168
51
220
328
519
42
903
162
25
306
683
882
953
720
360
598
201
71
761
569
332
90
908
694
382
226
224
275
490
640
810
825
589
232
119
196
53
508
536
19
155
754
491
329
678
287
699
199
806
529
76
454
694
258
669
784
745
682
672
127
682
907
217
772
941
962
200
463
817
802
793
721
20
590
684
713
997
153
326
248
465
682
632
919
75
653
632
964
23
458
571
162
747
415
813
973
515
686
708
161
885
101
248
341
461
74
971
269
375
568
47
168
201
568
906
101
760
614
82
168
448
750
174
348
230
653
946
895
426
818
635
519
776
413
470
16
37
827
259
645
541
974
651
265
732
170
348
218
684
731
102
982
1
492
812
863
296
130
404
381
665
503
487
546
174
233
944
934
400
391
728
302
508
469
138
524
155
794
769
779
772
131
118
255
408
542
594
109
379
469
272
72
418
618
293
867
893
455
236
572
913
51
155
151
856
541
208
664
880
701
983
45
529
15
692
967
388
129
360
986
87
763
42
91
617
26
868
805
89
533
413
189
526
903
491
460
260
34
982
440
817
985
688
733
881
445
564
340
150
541
878
410
355
164
966
963
756
85
330
711
734
892
713
563
892
166
686
988
268
374
994
193
806
703
607
976
269
376
950
205
139
73
296
87
849
740
664
794
945
397
857
550
321
593
465
979
748
754
761
390
326
44
415
653
306
258
879
529
986
947
83
612
34
214
842
529
620
569
979
702
226
820
703
735
839
237
254
472
528
95
137
856
63
305
537
990
329
22
689
232
769
15
6
700
996
94
775
328
4
89
85
485
125
716
459
207
984
131
345
312
241
191
210
9
814
171
505
116
622
225
162
711
640
941
621
807
163
170
583
676
779
699
843
556
469
459
568
768
628
699
347
747
593
943
174
51
399
635
298
238
104
76
499
342
997
626
976
836
398
176
435
135
567
600
409
116
439
193
86
669
530
143
135
987
354
715
98
160
154
138
960
657
549
151
365
456
955
797
815
870
286
311
879
656
485
905
85
580
887
831
695
437
307
350
19
452
985
151
249
129
206
295
82
823
521
16
523
797
935
547
368
32
383
682
797
852
53
977
433
257
886
312
965
959
648
60
161
252
509
244
670
269
5
870
533
634
559
110
729
231
509
113
397
606
708
996
599
517
343
34
625
273
550
108
868
819
777
272
247
932
631
651
3
551
97
997
442
989
613
877
862
704
485
920
490
396
496
504
679
397
386
996
54
751
84
978
539
878
173
906
402
459
114
265
567
2
159
655
428
590
725
140
317
449
254
864
602
340
192
191
109
211
822
582
188
235
101
971
291
106
534
716
361
461
396
25
678
350
270
392
85
993
966
738
641
446
374
846
855
381
697
222
596
921
805
661
676
368
177
682
877
668
993
450
890
719
468
991
231
919
448
298
708
911
620
400
419
127
418
563
574
571
868
628
677
252
155
851
708
820
663
758
1
254
583
261
451
903
988
656
518
779
419
229
280
764
620
877
415
336
60
540
588
445
264
258
171
462
766
363
615
462
743
651
82
663
953
368
124
563
663
518
311
133
652
279
699
483
229
325
957
537
418
418
771
628
141
961
880
366
251
106
734
797
745
624
267
640
337
968
774
367
863
891
179
972
635
506
263
559
978
928
576
273
641
489
833
704
702
35
538
602
854
31
505
632
699
5
692
951
765
396
471
592
497
981
70
964
404
904
397
347
850
785
893
870
757
484
370
328
592
920
11
154
596
731
837
5
148
695
998
724
530
537
158
862
134
194
133
600
318
630
641
616
713
36
758
399
757
608
155
590
647
134
748
121
685
292
706
369
207
917
89
25
908
485
573
138
374
710
791
595
93
470
875
353
5
240
634
884
939
824
680
631
889
472
482
742
163
387
17
8
872
228
151
697
118
460
412
956
474
299
74
525
77
572
804
813
671
12
242
758
499
394
952
506
775
445
179
659
814
628
707
721
581
766
908
440
541
960
755
918
215
387
183
731
777
413
688
821
344
894
440
569
370
661
538
297
692
973
236
443
316
163
106
749
22
764
139
145
187
182
728
430
28
373
326
458
642
25
326
325
782
494
368
945
316
86
858
482
705
328
937
364
642
527
538
946
194
294
439
475
406
675
429
691
361
200
787
253
85
469
282
195
551
855
829
794
268
536
726
542
556
326
148
409
718
738
180
211
714
284
231
699
860
256
91
934
310
168
250
613
766
557
373
278
962
98
933
769
919
819
149
833
908
768
268
556
320
647
169
165
380
763
33
779
734
170
503
914
481
3
382
875
121
828
395
698
252
289
981
971
564
467
368
694
844
136
432
291
235
536
958
73
979
370
964
696
204
498
681
647
118
176
647
367
135
770
109
406
21
578
605
909
189
778
152
815
612
531
959
380
658
966
922
24
346
109
512
38
151
824
785
399
476
468
393
800
376
293
469
988
917
575
151
707
813
99
343
848
626
869
51
891
847
877
215
360
675
353
546
831
132
142
286
927
437
790
166
915
270
454
105
709
568
980
322
565
81
361
648
278
708
321
747
461
28
939
875
348
77
101
575
623
587
17
389
967
390
246
296
376
630
432
54
819
772
465
66
461
100
868
686
526
590
5
119
820
546
143
183
108
389
478
264
817
314
999
699
973
344
455
711
922
436
746
740
105
922
800
707
118
533
329
280
326
657
933
725
561
272
658
268
794
236
496
198
252
179
282
143
107
310
117
23
753
861
738
211
691
701
237
339
202
942
149
999
330
946
196
309
157
252
924
962
13
341
53
891
39
82
614
135
478
915
829
845
185
549
285
612
91
10
137
464
787
372
963
958
974
395
414
749
237
611
4
910
511
81
195
49
642
178
462
996
631
279
153
372
539
148
784
924
510
156
853
873
61
199
420
854
597
335
422
260
101
711
181
922
92
298
612
88
212
335
418
626
286
133
936
200
288
81
366
941
397
282
855
793
284
216
223
267
799
241
217
842
496
546
807
584
798
361
401
889
168
857
867
420
329
195
871
408
454
580
378
503
244
58
114
265
994
977
412
200
60
730
148
982
631
405
401
111
336
472
65
816
34
446
889
437
50
790
322
879
254
963
100
978
642
610
732
791
469
386
903
873
602
803
358
602
451
768
998
455
753
229
771
977
518
417
429
820
629
723
387
875
992
162
723
991
578
708
819
214
431
538
270
770
502
348
478
261
157
461
750
662
367
432
856
737
846
167
703
466
883
400
215
864
208
499
569
408
991
198
623
860
8
810
786
928
59
882
569
607
977
61
770
476
938
145
579
481
349
889
860
940
249
200
576
596
71
719
567
568
570
691
915
927
938
203
706
486
409
553
313
71
183
550
235
198
98
5
125
626
288
538
895
652
23
98
677
425
26
264
979
760
810
490
613
116
29
928
803
476
384
381
459
823
368
214
731
792
28
783
864
882
944
47
808
268
855
538
228
886
691
805
367
960
310
782
662
526
868
256
157
868
631
763
509
971
960
800
854
240
384
189
854
770
950
792
15
383
481
552
762
521
999
16
822
810
326
70
170
789
778
599
186
862
977
211
667
9
994
919
59
150
472
938
594
379
870
309
11
441
718
134
201
953
595
608
436
848
573
856
782
454
24
858
939
436
37
356
27
520
138
699
756
611
679
54
32
381
36
259
280
900
700
865
674
211
482
601
27
990
277
575
310
633
275
9
627
135
87
193
20
124
955
686
663
301
147
432
818
295
629
645
456
655
369
777
582
306
917
856
110
265
476
786
618
881
308
946
408
119
170
577
99
679
431
1
398
843
698
649
808
998
14
276
735
705
213
483
919
56
555
855
121
791
573
598
745
335
970
573
430
455
465
972
688
731
740
742
336
410
14
20
822
487
320
484
534
70
257
548
837
161
845
724
894
11
137
360
291
107
383
142
111
662
902
445
373
216
267
636
698
584
63
910
645
895
276
90
405
964
299
104
465
529
677
517
381
173
953
594
43
916
401
847
675
502
22
916
342
408
879
942
910
460
776
294
287
749
292
620
196
213
403
733
975
849
275
740
626
58
327
179
855
976
324
661
944
29
95
655
79
118
445
609
194
4
971
564
481
488
793
768
457
919
635
579
898
419
343
131
992
967
636
786
782
138
848
429
367
879
483
26
307
148
605
673
418
659
533
593
444
219
801
116
109
387
56
727
697
220
464
690
629
950
129
564
454
274
280
212
310
814
253
488
179
989
793
915
198
200
841
40
880
738
769
97
349
288
959
821
576
240
741
953
203
287
982
74
710
916
991
870
593
518
44
841
722
771
505
761
242
845
440
910
233
786
665
214
814
79
355
939
556
51
694
526
868
218
594
469
477
141
126
911
274
641
180
720
527
463
823
438
954
606
973
367
194
562
303
499
992
674
719
712
787
632
407
857
486
929
147
937
899
715
564
575
685
91
32
346
694
326
180
376
276
897
358
791
455
492
925
238
882
362
975
700
115
449
921
272
106
779
397
379
717
475
121
181
719
578
635
521
23
609
388
861
794
393
209
88
715
235
38
929
905
974
737
9
903
773
881
244
686
785
738
345
899
966
14
713
366
409
553
875
455
501
900
940
80
133
518
250
931
947
495
502
66
305
794
167
97
262
432
929
64
348
493
221
523
336
563
664
500
534
990
365
769
333
338
572
294
880
580
163
830
798
824
785
367
780
857
246
541
781
364
942
185
241
472
659
900
465
155
124
915
836
157
20
518
25
259
34
34
725
171
670
658
727
820
217
464
376
541
233
548
482
507
383
571
838
771
268
960
358
448
123
607
675
885
939
228
790
177
570
431
941
971
876
185
464
370
816
581
789
609
649
715
123
377
119
50
592
828
541
880
781
828
220
318
688
490
537
834
79
832
300
499
98
247
711
963
784
537
394
671
852
458
428
990
651
69
310
725
772
717
47
964
149
121
348
314
823
885
45
377
786
715
369
736
408
773
739
830
26
900
23
824
208
860
33
992
20
409
188
198
441
707
859
772
664
550
899
428
644
949
251
945
697
832
352
968
341
12
216
664
852
126
753
934
222
952
831
576
271
343
83
46
688
62
244
499
702
940
67
339
865
136
506
865
188
731
907
454
476
539
402
386
260
812
572
605
159
472
714
651
854
585
707
544
109
88
594
608
451
178
442
116
151
342
963
146
178
767
679
228
611
720
117
221
851
565
629
314
595
253
972
249
205
512
676
636
541
443
612
709
798
924
847
999
159
20
78
170
326
626
452
701
116
641
555
195
334
334
695
821
89
958
413
839
571
310
294
163
40
682
747
687
470
562
429
435
831
542
355
636
486
93
554
510
542
277
340
895
296
993
879
835
104
71
740
898
87
372
575
332
116
61
876
82
416
415
3
367
941
814
348
752
402
76
508
615
475
927
839
475
212
176
596
916
173
138
164
726
95
936
528
444
209
589
241
723
449
199
638
768
885
141
900
677
662
873
938
649
646
887
716
906
705
360
784
646
317
253
288
513
726
991
679
864
427
331
636
600
134
733
503
428
729
342
648
214
897
694
720
517
284
378
749
484
63
194
363
33
719
799
218
659
724
411
855
246
524
956
834
3
921
894
954
990
500
112
763
750
228
433
387
241
724
719
881
584
998
87
960
175
637
436
943
340
516
362
209
9
130
543
280
896
539
829
876
235
732
637
955
454
973
684
781
65
264
760
539
666
664
37
868
172
578
342
951
323
544
939
499
56
237
630
20
547
629
411
275
621
259
460
712
711
591
17
958
798
271
554
187
530
912
719
264
285
714
704
106
40
836
63
615
751
926
518
886
413
633
947
117
65
256
593
803
823
885
494
339
413
536
285
135
818
809
811
676
349
550
450
768
896
833
632
361
142
350
819
935
261
934
135
420
985
540
882
21
946
453
444
116
901
882
447
604
771
399
585
696
431
846
248
164
844
463
909
480
434
966
262
128
557
239
274
593
578
107
621
183
282
384
479
902
363
20
266
31
235
714
731
951
746
785
736
12
201
467
172
933
713
16
743
268
92
221
723
30
363
930
419
376
528
214
766
639
362
656
382
631
914
39
450
311
814
391
18
393
711
973
611
427
919
259
626
184
858
405
603
948
967
1000
309
455
558
121
550
747
523
848
771
205
876
423
779
362
874
198
400
871
868
324
466
197
72
951
295
163
187
306
763
480
154
625
117
786
375
381
921
527
378
608
926
200
306
444
177
119
542
169
381
866
480
150
431
28
742
79
956
641
121
814
982
14
121
967
74
250
297
60
836
820
466
766
282
19
514
216
358
991
726
866
890
278
487
695
295
538
776
838
692
128
48
839
431
784
26
841
680
484
404
973
390
904
684
68
890
581
188
661
375
997
782
868
777
357
30
392
840
705
269
369
757
401
583
188
376
712
778
757
820
380
226
877
336
651
883
542
349
128
897
13
952
235
931
440
553
826
766
687
982
644
789
733
136
937
691
714
144
497
74
216
126
834
688
926
855
928
716
94
979
289
851
584
65
593
917
453
376
251
436
117
173
640
850
150
343
592
73
694
321
960
682
250
595
740
304
370
578
253
739
374
249
385
899
780
779
717
916
551
294
666
684
630
39
418
637
472
470
541
796
473
219
629
978
221
448
240
613
503
855
695
760
874
454
992
792
356
329
230
703
572
733
445
122
167
284
681
979
924
496
464
166
350
579
583
736
858
248
219
881
866
276
31
433
291
640
748
681
938
450
190
57
214
233
420
651
482
827
879
570
76
830
974
869
715
529
542
159
560
264
51
34
695
441
146
113
131
784
415
874
777
967
815
426
959
444
259
23
219
204
247
448
83
122
306
338
435
796
211
166
933
82
601
855
624
981
689
949
566
218
186
843
767
621
443
837
236
358
83
663
238
211
73
713
159
305
254
396
497
159
865
932
584
476
466
428
632
831
974
237
536
306
248
476
708
157
747
57
844
805
341
735
187
799
235
505
314
907
347
124
890
160
194
669
172
513
476
826
245
744
136
16
115
372
587
584
815
653
207
4
620
185
931
458
333
219
974
225
333
593
295
1000
746
61
393
666
691
927
441
57
986
70
529
918
108
876
51
655
482
108
818
408
356
464
572
675
631
421
926
9
6
973
662
273
727
52
503
574
25
725
145
253
75
769
389
264
911
842
659
858
298
269
63
724
973
410
426
671
53
695
396
452
614
654
810
596
662
711
999
939
734
56
595
116
379
685
725
418
620
533
160
299
305
719
123
291
934
82
972
238
161
569
892
584
655
537
79
905
435
708
636
995
101
326
522
610
613
67
484
379
384
377
843
526
514
206
347
742
916
570
125
993
935
954
896
89
830
372
221
548
124
766
536
694
427
556
119
898
789
338
946
635
11
147
595
283
665
231
965
669
727
985
609
948
845
542
900
781
271
561
87
668
386
870
530
993
574
5
47
543
918
116
381
259
829
385
214
517
244
875
56
531
480
696
581
325
179
446
679
329
26
206
560
827
99
721
747
393
756
28
677
943
956
486
952
257
787
80
965
629
739
888
762
817
5
822
502
622
614
100
822
228
785
414
740
893
243
448
458
724
587
191
588
27
12
517
867
171
814
595
392
983
161
16
756
455
524
970
256
934
48
403
508
25
868
848
378
164
45
562
166
179
375
638
316
198
789
37
785
921
428
843
374
657
798
589
953
476
564
223
529
519
669
114
537
791
453
528
563
750
362
170
945
603
663
702
348
521
290
648
466
909
586
713
442
453
234
352
484
923
132
382
423
613
283
499
606
846
56
881
652
206
319
425
31
27
23
773
372
171
768
3
678
364
796
748
328
145
610
548
903
12
131
452
333
501
888
226
841
729
265
49
460
407
202
243
666
455
106
409
773
122
925
322
345
946
473
73
785
992
137
251
660
545
26
385
71
833
501
509
568
428
722
433
690
679
585
252
184
902
925
700
377
91
360
162
956
586
542
569
640
485
855
948
812
568
771
66
230
188
230
506
350
847
350
499
621
181
730
7
358
675
411
886
454
727
272
441
216
594
298
301
105
356
651
375
990
286
968
553
815
899
604
962
260
536
841
832
38
534
216
445
983
915
197
218
960
59
412
706
948
1
509
195
339
835
520
597
617
221
295
568
110
112
143
105
410
658
381
431
424
699
829
593
724
380
669
73
38
184
278
655
248
160
776
964
252
150
76
343
372
627
167
234
802
110
188
795
731
217
638
268
386
112
702
527
202
481
256
317
761
210
570
906
889
594
138
286
572
283
317
587
904
144
663
67
350
876
971
915
999
532
985
83
345
55
700
578
339
570
974
924
132
451
886
18
971
98
929
231
148
979
633
383
803
717
687
212
612
914
945
17
117
958
990
442
472
295
59
792
943
473
223
833
330
865
676
763
828
81
881
934
515
996
77
946
809
754
393
934
714
311
357
221
637
862
143
35
865
959
273
638
555
280
827
70
209
751
441
643
179
172
486
526
698
612
871
988
285
533
851
356
172
61
73
357
546
842
838
228
993
665
231
966
538
379
331
105
41
687
180
665
534
62
598
312
276
380
169
298
926
873
966
453
265
628
653
361
289
209
603
866
373
902
609
213
413
741
543
473
516
728
97
357
843
607
293
189
689
132
73
576
732
33
648
283
657
764
678
924
49
702
587
325
508
659
500
863
457
458
331
632
989
841
543
44
403
175
970
335
801
235
894
517
216
884
232
484
267
579
324
381
274
468
283
812
72
307
310
154
541
529
662
82
978
605
223
361
10
246
716
127
705
95
665
142
875
313
143
8
396
853
185
864
459
281
517
918
343
726
889
37
217
896
900
726
905
148
643
32
363
259
903
318
784
912
901
384
907
887
817
115
92
609
354
691
169
18
675
419
890
687
923
384
66
730
347
488
104
340
811
883
715
710
50
471
24
686
618
918
171
764
874
606
781
928
742
16
323
384
188
328
502
481
570
444
282
965
41
173
57
239
186
118
780
503
931
627
568
469
588
245
408
854
530
320
129
17
655
720
718
882
257
200
381
801
347
553
518
89
797
583
897
780
879
836
884
549
926
236
531
874
858
26
704
229
270
865
173
523
624
564
808
39
844
675
569
866
271
93
975
175
499
884
156
717
104
803
367
609
631
337
56
826
509
664
208
786
766
615
686
107
471
576
735
879
894
292
636
809
240
697
739
171
649
216
757
818
879
473
240
401
712
976
624
570
671
136
97
157
47
943
806
255
643
701
604
649
823
529
615
300
680
708
380
434
157
557
266
307
971
256
86
942
18
891
614
923
782
80
789
871
916
714
900
349
782
697
13
787
246
114
185
431
423
889
785
515
388
844
387
552
103
43
213
149
927
435
114
782
106
123
413
762
620
23
695
984
553
278
832
151
961
569
105
842
853
378
253
200
451
329
709
16
401
972
58
689
960
753
979
877
493
466
525
635
771
185
641
533
716
512
229
490
176
19
903
102
288
898
835
790
749
197
702
439
91
451
841
76
638
210
139
774
388
720
68
175
510
973
542
967
455
465
950
170
997
237
806
340
620
217
924
642
769
432
967
288
457
427
467
18
582
67
164
134
103
983
595
106
929
107
419
922
950
95
849
144
154
953
923
125
204
849
96
952
128
927
731
448
35
909
681
21
875
406
66
216
319
178
730
606
743
996
642
17
204
403
661
178
983
398
688
594
991
20
203
793
864
853
594
162
62
735
469
230
668
310
365
631
856
634
885
964
203
725
291
417
119
822
36
326
663
112
534
833
923
871
711
401
983
268
528
225
183
595
712
535
34
288
396
347
684
920
228
496
267
294
789
657
818
866
816
649
688
993
836
508
562
918
291
709
253
986
120
426
396
302
92
915
75
952
868
946
183
926
896
700
22
107
766
704
223
25
558
194
607
597
91
742
986
761
663
136
246
690
75
240
253
310
243
39
280
942
675
128
661
199
462
674
349
716
184
278
879
910
322
213
1
695
354
248
921
37
682
621
632
293
957
773
311
486
152
114
130
108
954
462
110
522
650
771
844
803
710
415
30
651
690
641
717
69
923
706
131
635
684
911
724
557
190
949
831
132
817
980
957
929
396
398
224
751
302
514
986
423
337
292
943
538
50
816
346
568
271
397
56
150
71
96
272
954
304
959
731
251
149
467
46
198
805
516
660
897
595
756
557
494
256
285
484
919
122
454
957
407
234
78
697
589
157
393
508
782
432
948
782
73
122
985
995
941
907
32
551
457
502
92
309
536
979
293
944
347
738
874
78
721
445
114
759
335
258
189
436
529
56
959
62
822
181
378
320
601
412
557
268
998
513
516
887
657
708
303
113
973
867
468
928
365
16
859
31
350
28
317
379
486
7
128
654
737
892
19
312
459
319
95
431
991
599
339
993
797
963
209
604
192
899
429
897
966
474
285
32
635
58
603
775
613
709
123
597
345
846
163
144
314
480
306
176
895
426
345
806
215
448
876
431
539
166
722
278
226
949
861
894
936
707
642
215
650
677
837
86
975
815
541
225
407
407
1
665
485
824
203
656
226
175
462
834
836
727
308
250
471
601
686
499
707
204
843
743
488
265
331
922
538
151
212
809
603
333
908
849
442
501
129
936
195
839
979
350
584
392
618
106
459
311
862
868
311
977
708
395
774
662
28
213
539
441
661
852
811
521
667
481
180
9
798
275
772
436
119
144
612
3
275
739
422
615
133
802
485
255
372
996
785
140
151
323
354
414
144
115
665
824
90
377
931
959
503
956
385
137
314
581
970
960
73
369
377
885
758
763
42
900
391
205
533
550
422
73
743
87
293
522
451
492
668
932
81
488
567
584
975
410
55
50
74
2
192
527
672
765
643
17
833
502
770
805
136
70
995
191
630
175
961
770
281
237
319
880
748
975
4
7
991
393
464
42
108
232
679
287
790
860
723
19
953
721
261
250
431
202
660
13
115
742
318
179
523
536
399
307
619
8
432
483
621
512
104
475
658
399
169
744
402
662
588
54
200
874
887
457
835
18
274
430
749
101
205
805
474
196
954
916
30
594
231
101
290
359
53
266
620
422
859
751
666
742
365
120
784
779
738
852
462
657
463
94
55
974
731
789
290
160
225
536
303
633
957
446
394
811
216
161
335
173
729
894
779
183
850
68
281
844
1000
663
488
75
556
861
294
890
119
972
162
570
405
887
322
628
1000
525
290
399
899
806
991
503
20
729
781
262
883
991
846
409
246
462
762
39
784
499
491
839
807
745
742
72
640
595
375
652
498
926
537
937
617
74
266
518
955
259
605
385
981
860
668
335
970
964
673
375
719
630
703
179
796
158
819
380
289
448
230
567
498
248
384
389
172
640
226
113
712
670
380
275
218
412
678
849
374
65
266
465
968
939
537
783
249
275
248
83
424
915
472
484
364
760
508
992
961
806
465
744
652
308
982
402
354
287
509
628
400
140
599
994
113
615
926
450
339
783
126
706
587
907
82
485
443
328
7
628
549
577
506
462
786
914
833
672
216
419
701
147
25
584
365
948
906
59
146
551
348
848
218
17
796
787
275
583
970
577
633
447
486
987
446
188
503
103
960
358
327
669
163
265
787
611
754
860
710
830
85
937
17
216
634
590
798
636
580
944
236
316
290
741
372
669
847
240
543
95
288
286
783
715
877
69
579
291
564
307
192
844
768
91
141
579
755
612
575
765
173
348
995
203
766
59
176
687
888
116
222
701
200
269
389
190
859
960
681
848
569
658
265
831
124
532
422
172
412
945
98
477
460
905
124
665
723
587
802
608
753
517
901
549
331
795
35
70
364
1
47
206
134
70
280
26
7
464
564
636
312
433
333
79
911
24
537
68
940
767
909
826
284
631
713
568
627
954
326
311
347
500
842
777
73
736
469
126
468
688
623
122
711
463
494
146
143
627
346
134
801
167
976
140
871
657
540
720
640
631
463
735
171
858
226
511
771
381
638
487
275
746
608
647
348
773
551
34
253
615
271
612
31
606
620
576
602
583
227
978
85
936
371
171
562
655
393
185
544
12
107
577
683
332
326
702
614
515
981
641
399
581
301
195
690
525
165
467
653
218
67
563
641
887
83
840
819
992
856
951
254
909
906
671
452
937
480
106
986
561
776
422
635
782
604
692
408
610
455
772
939
467
515
422
998
350
363
996
272
82
981
128
173
879
214
808
124
763
24
115
697
65
698
649
994
349
693
441
877
660
928
656
7
862
168
959
166
220
595
808
990
93
777
244
97
749
53
986
537
867
753
777
669
269
781
926
822
757
831
987
590
717
926
313
180
337
986
17
20
853
903
504
739
235
928
334
712
113
231
614
600
567
160
539
683
569
86
949
356
537
696
990
829
429
269
42
956
260
766
110
108
758
539
755
189
102
84
482
207
333
532
212
310
99
527
103
813
817
712
524
563
245
292
404
905
679
68
572
650
708
864
906
698
524
508
313
375
264
391
614
138
780
161
361
24
515
280
534
98
887
42
822
222
677
107
891
648
453
795
638
292
999
174
954
79
10
451
901
399
109
284
544
543
335
435
904
982
840
583
612
468
481
255
899
252
332
528
488
144
964
597
803
772
465
344
670
120
776
771
345
396
930
518
265
305
136
725
397
73
475
188
446
927
187
76
454
301
132
500
531
728
25
868
537
235
486
256
566
63
768
18
971
735
269
454
496
768
575
652
805
858
847
538
322
971
795
784
844
575
387
437
822
219
667
62
542
726
765
746
732
580
256
514
233
481
505
601
475
599
544
522
457
841
316
107
815
272
850
467
346
926
9
386
44
413
15
765
323
86
857
580
567
74
14
237
608
102
699
393
2
907
930
25
245
988
327
5
146
602
464
523
667
178
977
432
437
817
410
8
19
101
948
675
763
229
758
947
728
427
680
236
734
599
368
177
71
499
814
827
783
8
378
420
715
715
57
366
712
647
779
835
474
889
882
575
531
814
829
568
773
853
390
782
727
4
233
507
551
826
852
748
303
243
265
698
599
312
764
593
221
58
256
124
563
554
442
173
89
733
126
820
104
804
472
477
234
729
890
507
966
947
560
872
496
437
298
223
905
221
579
291
375
639
58
651
768
77
872
687
388
327
295
94
155
441
112
339
745
778
188
315
455
884
257
835
721
31
954
695
199
498
415
827
317
150
606
407
4
465
665
881
96
926
159
585
567
615
130
995
282
915
209
669
475
475
863
647
513
948
74
400
794
593
335
415
837
513
895
169
691
141
583
538
831
654
405
673
577
79
320
973
944
278
268
88
494
392
554
797
440
19
174
216
761
178
512
26
540
47
116
313
85
595
939
188
638
473
518
548
656
946
41
231
701
244
152
322
945
415
661
598
210
667
5
870
193
232
451
552
269
964
531
884
844
277
124
76
725
493
967
97
399
395
59
946
435
541
627
42
424
950
830
786
26
827
360
438
718
373
452
216
772
103
593
914
864
740
388
393
442
519
636
27
656
629
636
552
238
617
177
781
140
799
421
370
192
123
137
104
260
444
324
233
621
921
318
987
346
43
865
739
511
854
512
249
928
86
872
23
953
247
5
129
618
185
162
728
971
298
646
164
53
340
355
721
378
731
908
58
125
388
852
859
514
350
617
507
999
894
296
411
971
406
279
173
648
17
53
960
691
892
168
279
903
99
526
863
22
194
622
520
243
21
340
605
614
713
197
257
824
580
705
631
271
375
631
190
482
413
517
481
102
162
769
982
702
226
975
315
607
55
899
521
777
375
787
170
547
48
150
797
670
28
259
500
716
112
900
592
289
469
808
874
979
266
355
433
187
286
714
873
190
137
731
531
913
467
153
552
845
669
717
650
502
686
816
18
597
861
134
114
852
285
660
988
985
683
981
423
958
728
597
379
997
573
281
164
268
542
174
285
325
146
410
188
620
26
527
909
428
20
832
259
519
226
191
285
771
898
415
627
738
972
534
884
840
302
760
235
472
971
889
411
813
605
204
517
545
252
676
403
988
252
446
991
404
453
59
440
335
320
946
114
884
743
954
58
787
805
545
91
986
393
425
699
132
285
965
605
163
256
770
277
616
853
124
675
838
683
863
188
631
466
441
96
152
653
528
853
84
95
557
165
182
113
16
126
327
336
139
661
104
826
881
137
753
364
709
272
64
220
796
425
419
383
656
936
711
33
126
415
318
956
874
804
666
747
290
593
154
871
685
767
389
106
235
956
740
434
987
779
194
217
550
556
379
327
798
405
401
16
40
240
842
433
611
330
855
117
791
907
804
271
257
757
309
303
54
859
858
938
183
922
407
200
468
90
463
689
331
182
252
872
446
591
441
569
39
360
800
396
762
996
890
732
644
344
568
647
648
160
625
337
706
102
394
840
948
496
501
171
37
610
239
590
122
156
249
398
957
373
262
507
169
390
676
70
450
505
670
592
754
649
336
295
149
580
68
970
95
293
59
215
326
707
302
711
411
960
923
182
315
526
38
764
983
938
556
771
31
107
555
285
127
125
861
543
536
927
504
861
627
406
546
679
796
411
605
408
441
524
58
898
83
725
535
768
707
788
793
295
679
790
489
263
380
188
688
993
818
711
147
733
26
761
570
762
41
92
49
825
585
281
856
983
378
937
597
558
153
606
491
625
53
93
199
421
80
266
215
102
619
441
259
537
943
133
543
181
711
305
34
656
184
233
47
319
834
763
579
998
472
51
833
71
873
836
263
209
80
912
296
485
236
763
617
966
848
247
538
602
822
795
476
979
507
862
58
470
221
250
670
430
431
502
562
320
842
753
747
103
118
330
32
783
884
896
469
732
938
126
398
310
316
751
63
337
968
294
428
180
321
964
472
564
945
24
708
740
842
365
91
300
653
170
822
772
191
328
727
82
287
686
90
141
871
311
772
76
594
708
482
103
50
302
824
629
848
599
574
929
361
115
250
686
959
555
646
733
952
759
425
573
250
591
309
657
957
318
632
922
739
998
249
797
827
63
877
762
930
597
965
518
181
747
80
39
461
377
619
61
118
292
411
86
118
348
341
573
150
324
734
818
50
684
626
962
198
265
416
659
208
497
673
225
311
935
973
487
332
825
781
134
48
875
303
105
19
655
163
432
691
845
496
6
685
72
803
929
710
211
443
468
459
866
202
152
173
164
750
219
330
175
138
422
6
994
690
228
73
1000
804
534
291
866
175
361
773
667
930
402
29
806
993
934
995
577
754
341
37
858
795
440
888
826
961
857
904
618
576
947
792
512
950
114
197
597
629
970
139
833
35
443
315
126
216
798
696
289
462
574
701
761
444
580
458
586
329
443
305
385
86
662
740
58
797
763
496
474
331
971
260
704
194
714
843
236
699
438
282
163
867
424
433
569
622
752
101
205
918
122
664
50
414
952
429
589
165
113
680
419
630
630
488
347
947
965
875
255
42
766
848
841
651
558
149
805
730
463
325
166
53
886
831
177
22
100
478
744
845
755
449
343
265
680
511
170
972
774
782
674
683
375
635
670
621
291
851
954
787
564
178
720
993
147
792
77
92
859
11
693
215
422
778
897
128
898
74
585
1
537
419
925
975
934
66
171
936
380
312
839
811
469
591
169
484
345
673
7
227
473
316
243
89
416
220
485
276
943
939
919
989
704
740
198
506
831
19
767
594
86
6
254
461
602
964
405
545
815
979
605
399
949
745
176
827
278
469
510
193
436
107
576
533
275
679
505
681
73
356
756
156
468
298
840
926
113
11
695
518
900
98
589
149
579
866
859
691
723
170
885
304
295
276
446
540
529
264
3
543
427
704
533
736
938
878
220
59
832
848
718
358
319
46
694
41
707
870
84
452
811
976
787
737
314
564
567
151
24
995
556
848
818
482
62
225
62
442
375
764
481
336
850
179
775
461
871
357
750
222
172
244
378
860
657
335
3
474
38
901
829
464
557
394
976
177
607
778
613
628
273
640
125
669
702
46
826
854
720
50
470
565
318
672
709
673
464
922
665
104
178
146
16
224
993
590
326
874
696
541
870
202
755
863
887
219
904
22
993
105
191
944
496
873
192
171
466
955
199
810
730
619
937
729
400
918
760
287
140
37
352
635
174
493
658
324
903
624
142
459
131
209
523
186
91
854
787
607
866
993
641
567
341
965
558
899
524
643
236
850
928
533
563
389
725
74
197
19
528
127
443
545
35
273
435
942
173
603
518
139
107
131
351
27
183
832
488
478
904
578
94
486
86
912
7
816
636
700
597
687
801
171
715
92
311
766
572
350
589
509
569
321
44
332
936
555
570
876
541
283
516
854
371
814
790
937
24
351
237
492
972
694
142
239
528
589
490
12
192
719
631
404
493
461
117
982
549
554
774
177
303
794
534
677
786
697
142
360
842
828
623
371
452
175
322
940
154
487
387
939
114
982
810
965
60
227
527
956
645
236
612
962
802
73
320
697
305
310
565
950
50
711
456
740
568
420
662
358
851
749
720
78
908
392
874
375
358
502
662
924
985
627
275
566
412
931
663
635
960
473
451
776
320
581
21
425
877
509
494
634
401
641
972
806
336
475
81
217
138
494
777
911
893
837
416
650
16
351
269
149
917
219
53
726
381
860
522
853
845
205
872
816
892
778
508
845
47
229
716
634
413
87
915
105
759
564
476
667
420
151
502
964
794
623
633
298
245
797
639
491
975
87
525
940
760
416
935
11
516
576
865
730
312
454
91
921
795
865
274
576
10
911
368
235
224
877
855
615
679
701
325
527
188
940
68
379
71
995
721
208
242
58
434
222
171
907
712
307
38
165
837
810
667
133
758
176
678
614
434
714
927
416
861
807
453
394
459
430
59
937
53
677
184
794
420
347
885
8
259
304
609
517
481
489
923
668
940
930
528
485
30
69
687
60
159
21
665
808
708
155
910
687
959
493
457
672
431
10
510
923
208
856
212
121
149
891
378
378
290
690
368
982
390
369
331
1000
307
133
780
410
834
473
802
8
667
310
274
807
455
193
106
31
214
870
895
82
988
160
359
61
291
71
578
514
750
550
383
88
380
70
187
685
73
499
187
522
220
360
138
235
884
603
838
776
532
525
49
423
187
281
827
616
763
734
144
734
475
69
238
141
485
652
345
11
336
138
329
509
342
700
284
867
783
581
327
780
697
832
669
350
59
287
545
463
360
257
723
111
959
436
139
670
63
783
658
549
920
920
90
948
549
710
372
688
408
249
243
191
447
443
852
763
369
732
485
213
306
257
965
758
765
989
399
866
447
880
608
379
459
99
967
811
518
837
430
207
980
919
159
299
905
712
560
19
926
401
489
584
381
760
72
505
26
926
875
828
655
558
134
887
140
986
377
606
697
594
44
157
706
744
648
383
2
1000
616
943
409
281
182
575
168
829
625
226
88
579
692
46
449
568
261
406
155
545
193
174
172
808
802
447
43
619
630
826
154
243
966
96
450
772
132
879
533
429
645
414
404
946
215
132
633
979
982
101
414
231
529
730
778
115
989
359
229
338
973
464
192
752
182
281
974
158
262
556
374
554
913
3
684
468
277
800
605
614
383
105
497
84
782
159
468
708
523
1000
42
997
340
198
532
281
213
311
773
317
509
952
601
596
535
450
285
58
645
100
161
732
30
911
869
64
909
558
923
336
154
4
830
643
288
848
610
330
395
18
345
692
738
865
382
970
762
51
861
376
754
899
544
964
594
8
332
648
971
32
418
547
902
479
778
183
617
259
552
708
705
517
974
504
901
966
630
984
58
526
256
362
669
611
747
501
730
767
735
668
915
737
938
189
750
209
425
536
968
660
107
344
263
722
65
219
449
468
739
961
414
837
650
12
318
179
64
522
213
581
935
402
611
172
539
153
590
103
440
31
673
266
817
340
88
101
727
261
993
46
581
612
916
265
956
406
963
306
894
883
311
250
1000
915
140
727
962
376
411
897
640
68
852
140
448
290
105
696
604
983
216
2
736
657
567
737
461
988
918
939
791
52
418
624
670
649
326
473
503
81
742
103
262
16
762
293
667
830
399
384
958
878
32
687
989
700
348
400
730
92
533
997
764
290
933
482
66
267
526
210
119
279
346
207
478
369
396
48
966
457
717
386
6
48
999
171
65
346
539
445
741
721
409
354
834
90
393
679
644
737
665
756
799
516
164
126
175
149
334
641
841
579
228
35
499
918
980
160
619
579
288
185
289
578
874
72
829
856
848
529
408
681
521
496
176
866
503
899
968
557
835
76
218
832
522
783
555
202
53
163
477
378
422
378
627
341
709
878
442
844
494
440
362
962
262
171
388
184
479
646
471
879
193
239
131
636
870
470
745
120
673
917
121
594
522
802
364
191
120
902
528
343
552
809
226
522
233
927
200
596
715
762
822
638
331
247
646
6
727
832
423
862
83
48
434
69
236
82
608
594
960
651
659
107
399
153
386
479
991
604
359
254
276
368
449
999
652
57
39
612
485
264
311
306
975
999
685
10
845
763
363
326
205
247
924
46
946
500
107
461
591
285
216
326
866
16
94
420
137
324
226
84
481
836
331
982
402
189
770
610
85
638
174
753
678
904
981
156
268
25
988
204
123
86
584
247
269
633
81
556
691
506
434
579
251
554
689
289
937
440
702
921
212
320
25
358
19
662
360
704
486
941
674
387
496
200
858
216
41
725
837
412
748
220
132
585
32
868
205
959
87
644
346
975
319
69
479
521
912
367
13
664
895
633
809
726
479
194
375
940
453
825
662
750
111
849
205
982
522
445
900
776
950
678
415
155
902
868
80
546
560
904
117
401
345
46
249
312
981
551
31
637
684
196
753
737
60
399
385
353
880
170
828
539
133
578
704
821
683
746
993
939
403
676
124
604
870
326
515
205
592
464
142
275
261
778
470
850
692
604
922
541
984
419
157
278
904
954
580
178
669
355
902
938
97
337
66
473
566
702
505
274
366
879
562
77
755
391
857
31
526
284
515
461
934
563
503
722
612
663
723
401
478
794
158
291
734
775
104
154
728
632
450
285
859
791
46
262
720
182
417
90
348
950
488
159
810
738
515
13
342
725
116
5
900
686
169
281
320
340
329
419
220
182
123
248
414
787
862
45
887
330
127
357
311
664
215
119
673
853
704
671
829
491
281
466
716
500
48
10
493
328
818
606
113
668
297
999
697
839
658
887
605
989
712
585
283
139
798
828
820
853
530
813
618
65
769
100
769
129
512
923
501
712
932
800
560
545
452
49
486
349
576
983
537
497
164
105
448
100
994
580
293
236
733
616
476
973
903
174
275
714
22
587
423
121
867
270
929
542
732
672
702
445
614
19
599
818
513
228
151
892
393
538
631
810
916
33
53
77
763
288
397
721
182
720
646
77
461
152
180
50
157
242
701
519
244
163
151
249
848
901
998
332
841
43
875
707
379
761
791
751
425
992
57
264
381
472
584
469
241
382
497
760
78
830
804
28
272
315
445
365
585
606
206
817
119
176
820
651
200
454
90
293
456
659
6
678
695
947
655
292
724
887
168
553
885
42
88
533
956
602
312
221
992
515
201
682
872
565
529
464
571
190
713
601
645
607
142
352
25
987
505
624
973
9
714
635
966
107
421
993
367
126
108
804
954
895
464
805
782
442
76
831
379
188
452
84
999
473
76
796
498
198
477
856
397
202
268
923
915
225
746
315
7
963
902
731
1000
761
635
464
996
960
560
313
37
773
37
840
980
831
949
970
108
227
341
179
802
955
206
688
988
150
619
138
668
407
924
198
566
777
855
443
802
746
356
611
573
590
297
67
993
69
501
860
617
294
264
310
692
986
28
439
814
35
997
887
554
466
253
186
523
412
372
388
561
713
620
77
958
74
572
735
125
506
386
299
696
967
32
477
822
669
485
61
353
524
268
59
636
615
763
903
942
340
383
417
874
121
45
477
689
160
373
507
139
768
743
49
320
192
529
647
2
723
962
204
99
87
543
773
273
787
310
491
116
98
136
969
18
882
864
2
624
254
297
904
707
409
10
119
420
571
456
13
143
148
107
919
544
619
192
559
75
624
181
973
832
986
279
919
619
125
107
536
67
448
180
728
902
782
992
345
769
890
306
719
565
403
708
546
885
274
626
405
15
972
780
454
891
219
456
929
576
3
106
161
95
982
517
726
940
163
182
213
137
896
588
846
546
848
826
854
978
559
336
51
795
627
577
570
877
335
158
56
243
751
247
928
146
965
118
516
163
120
323
936
678
329
299
641
120
422
176
426
549
674
178
531
460
337
294
191
179
845
822
607
854
998
978
863
849
337
19
747
285
138
226
777
582
198
652
1000
137
585
753
298
654
104
911
968
263
43
352
367
260
136
178
249
196
328
63
233
112
85
648
527
876
491
844
624
968
308
43
198
557
495
714
846
381
457
982
619
778
380
560
533
180
627
847
362
542
85
85
57
448
713
230
85
104
362
582
820
28
39
282
873
7
448
508
924
816
559
560
165
263
422
61
955
364
170
192
647
822
434
203
871
562
953
450
694
723
215
865
231
425
379
60
253
580
557
257
252
244
791
826
263
279
681
520
433
623
703
416
983
54
675
158
739
184
733
369
837
315
422
960
577
938
195
676
642
887
695
381
53
609
680
506
329
550
353
571
249
427
156
908
531
20
797
523
516
152
392
576
629
774
127
41
5
355
765
12
149
360
672
486
942
225
745
660
593
76
815
507
370
423
601
845
93
188
289
215
359
745
146
607
485
51
374
505
912
623
558
753
670
802
671
486
62
731
580
715
383
504
371
221
896
203
658
41
717
897
201
242
495
262
806
604
35
139
480
540
26
240
258
863
120
191
937
986
473
298
201
754
677
736
252
400
761
332
147
41
554
778
455
715
228
863
740
224
301
315
650
944
723
902
46
308
914
730
706
914
789
92
633
48
891
794
859
970
680
612
992
475
965
430
399
97
202
644
92
802
108
627
858
190
612
397
127
30
696
148
393
398
67
975
754
848
929
937
266
782
358
604
373
653
876
352
621
714
919
976
245
761
757
635
961
746
351
752
508
169
326
256
24
897
940
471
384
418
471
24
961
561
928
399
131
415
387
114
9
502
496
84
539
276
944
400
78
641
727
628
26
540
106
743
924
580
13
965
625
319
518
128
845
94
662
641
420
229
623
789
57
22
682
882
238
181
928
722
205
281
983
967
630
353
265
231
649
957
494
170
453
948
190
399
480
674
916
792
612
542
849
625
429
703
115
55
742
132
948
631
95
519
387
885
901
190
689
578
171
759
82
829
560
324
768
181
588
793
328
657
447
376
817
975
764
358
841
395
55
20
897
126
374
971
63
818
841
224
901
427
312
66
109
674
441
125
983
374
792
83
275
154
441
176
380
472
740
933
74
377
501
630
237
162
914
583
62
918
892
698
296
7
431
690
924
636
741
969
568
49
621
508
567
332
536
912
345
458
379
510
208
1
690
550
167
892
457
449
693
701
221
646
620
191
356
802
532
302
840
958
48
313
748
810
401
644
3
424
578
658
610
569
81
869
733
338
47
155
487
879
90
937
244
865
701
788
570
812
481
621
694
457
782
423
497
196
557
467
598
23
366
107
79
485
485
517
707
929
61
216
351
716
43
801
405
142
431
104
643
502
1000
866
932
133
259
148
580
285
855
871
963
341
16
330
204
290
934
6
373
295
141
753
631
902
74
265
208
726
1000
738
923
402
388
840
188
245
646
386
104
297
847
641
280
424
719
764
492
672
671
744
141
360
131
101
765
296
757
745
490
50
374
637
461
423
650
330
701
172
572
28
811
498
775
548
175
87
649
440
89
232
934
578
286
158
212
735
922
744
297
996
954
707
27
396
205
735
385
824
149
205
182
72
575
892
764
868
871
508
325
904
600
991
467
122
412
247
565
14
123
393
356
257
943
676
924
808
428
896
923
461
741
582
426
985
154
162
278
153
590
80
216
400
139
143
286
344
169
366
294
169
612
258
123
649
471
787
751
670
416
236
717
241
560
775
603
320
185
861
817
253
208
506
596
290
646
58
686
394
221
352
592
542
477
44
647
817
503
455
398
833
401
482
973
487
154
23
156
580
429
859
869
582
157
153
653
737
442
540
510
690
458
294
162
75
527
209
404
828
478
646
688
502
745
640
546
548
373
119
716
331
269
32
108
645
581
645
842
628
41
332
656
251
465
950
887
49
407
282
129
315
92
105
361
790
378
127
70
758
464
451
395
567
458
206
846
805
736
715
495
752
207
868
844
281
236
405
746
74
978
432
887
875
326
826
305
519
479
147
353
646
410
281
331
325
117
347
733
301
644
301
676
226
268
279
626
999
140
985
982
330
932
285
400
710
720
782
35
270
412
322
8
393
520
286
481
546
979
7
707
524
998
898
284
173
671
650
652
724
138
414
528
50
667
990
621
527
907
888
427
689
909
575
346
540
273
341
666
196
889
12
192
534
315
155
417
648
792
523
176
208
246
229
667
268
411
538
561
681
388
238
700
35
507
256
511
946
404
559
864
621
548
408
554
829
336
722
972
814
1000
651
828
218
255
438
957
802
591
327
362
573
560
565
643
982
233
523
868
995
248
574
755
170
516
653
794
372
686
353
504
370
962
5
619
371
694
434
397
495
456
984
623
291
998
977
104
673
534
974
640
55
333
77
513
52
450
56
504
853
769
248
332
228
204
28
206
214
46
155
849
703
950
427
978
510
978
921
712
20
467
522
798
187
214
603
852
458
609
475
62
218
928
658
896
438
920
139
408
560
215
493
703
39
832
186
916
635
258
412
868
257
130
530
196
101
571
569
318
918
598
254
89
430
846
732
361
367
34
489
963
68
239
958
798
355
52
969
859
199
110
504
970
739
349
190
963
367
545
557
837
917
365
418
142
500
199
611
478
124
507
967
545
81
261
590
592
988
367
478
490
503
589
18
895
998
609
150
133
867
331
852
504
765
447
116
669
749
559
785
687
237
896
450
26
703
739
116
579
246
220
482
321
520
73
508
733
40
243
395
541
511
19
227
628
702
470
311
206
333
548
682
473
581
168
315
986
135
916
364
958
145
856
125
526
33
29
492
770
903
865
380
957
188
684
981
28
271
894
726
831
12
242
527
976
552
753
188
479
258
535
924
554
404
699
504
10
33
54
922
711
450
51
405
470
980
726
222
577
925
10
32
861
171
822
430
843
499
860
952
43
467
801
58
984
681
970
477
740
366
142
908
173
431
279
249
134
613
463
408
993
895
188
294
802
90
481
743
337
394
31
1
967
750
604
863
80
59
561
737
314
627
219
692
405
775
112
46
850
173
970
127
885
307
374
660
553
465
573
656
694
763
956
744
799
27
978
681
554
792
158
125
790
305
921
872
281
150
629
421
502
58
171
138
49
539
835
307
852
179
20
42
729
865
528
362
108
727
821
758
917
291
612
202
762
182
618
875
520
757
114
861
351
188
178
655
7
842
161
633
976
320
963
563
690
110
154
811
504
626
859
160
652
360
560
61
683
972
698
681
176
391
989
354
668
463
884
883
804
199
505
694
698
456
666
11
368
747
317
77
892
926
861
930
628
692
297
398
438
222
91
795
366
733
999
261
623
472
805
807
52
445
88
905
476
150
670
911
451
781
381
682
991
590
110
500
774
603
903
828
176
458
49
474
252
907
643
454
423
450
165
223
225
625
938
974
915
735
196
369
131
156
656
437
92
927
110
353
993
23
609
454
380
576
174
199
270
284
866
687
697
484
242
29
198
613
893
102
457
334
798
170
963
181
701
452
74
419
560
935
333
735
420
683
192
489
697
396
617
528
986
232
140
975
959
757
48
975
847
418
340
126
265
129
966
201
889
382
667
812
566
813
408
865
991
292
992
26
7
415
978
902
882
760
394
345
721
363
92
81
244
677
790
873
778
683
984
534
217
940
961
442
105
90
63
621
745
748
218
73
425
748
506
816
431
463
189
990
509
262
184
474
830
201
478
686
309
749
292
636
360
648
173
821
748
63
297
280
247
775
446
972
238
507
61
635
186
443
729
498
220
610
258
477
645
70
215
47
278
814
451
539
986
842
656
471
616
135
429
432
826
170
713
162
974
145
682
724
317
337
335
95
258
848
123
67
273
564
907
81
453
291
414
520
311
930
164
6
603
978
516
465
445
870
91
81
931
431
325
753
793
196
322
364
373
481
505
978
339
857
752
71
106
112
884
29
914
891
365
462
841
940
28
306
827
272
516
306
955
672
842
249
815
618
150
195
755
118
342
76
256
961
689
236
416
578
921
870
793
37
601
888
412
711
758
409
823
800
859
951
471
191
214
397
504
128
799
997
372
756
329
967
219
915
103
748
121
461
795
622
674
10
905
168
318
231
1000
997
38
717
254
310
756
44
29
91
833
803
417
157
562
318
711
861
459
227
770
999
421
347
96
320
571
45
259
115
694
852
961
549
699
202
670
758
473
998
217
239
811
159
200
742
875
438
326
689
732
570
61
129
134
240
90
381
600
469
109
795
276
750
434
539
780
658
741
890
443
754
31
309
922
273
536
465
161
498
899
467
72
723
390
791
96
407
323
778
31
458
130
117
115
583
714
426
373
285
838
920
682
421
275
137
803
172
387
888
914
913
590
908
785
761
916
171
818
478
481
470
605
43
233
660
543
407
770
894
310
896
393
327
671
239
792
975
185
453
931
881
859
667
782
289
696
500
490
262
384
796
492
78
86
361
833
761
391
833
662
342
35
983
478
749
888
551
187
792
72
172
448
328
797
102
127
562
649
189
859
385
611
12
888
810
78
165
359
845
453
439
210
618
728
37
628
130
587
28
816
831
179
967
457
92
694
949
844
723
251
452
115
955
448
937
405
639
80
576
18
10
200
434
913
15
672
112
915
111
824
147
14
405
618
441
104
214
20
620
256
421
872
480
393
503
628
640
847
733
796
87
806
858
750
565
121
507
883
647
275
683
738
905
577
949
827
793
803
376
344
739
590
825
886
473
823
951
576
794
183
124
697
820
772
578
81
280
448
238
973
528
84
76
78
802
490
328
759
694
117
610
169
931
17
740
177
335
732
125
559
278
914
642
829
31
532
281
497
141
445
262
280
410
981
908
979
59
917
382
316
421
902
252
29
858
948
967
880
612
90
534
90
26
671
88
869
862
28
584
345
482
518
532
235
282
943
581
995
94
424
730
34
236
692
154
825
505
578
920
377
690
214
382
583
120
76
664
442
349
545
437
980
321
99
139
986
284
614
921
374
244
464
823
14
12
336
139
421
714
677
490
549
232
717
844
251
147
847
645
676
675
968
212
981
522
61
802
271
775
874
81
588
742
108
244
110
117
887
711
477
974
640
159
271
873
705
586
268
790
153
310
10
677
303
35
616
206
389
608
537
653
671
683
108
937
26
260
364
545
741
12
548
453
773
364
157
163
234
534
164
681
224
116
257
598
431
365
560
413
100
998
315
918
92
211
439
767
722
626
689
291
20
29
420
288
843
113
560
757
3
893
483
499
204
126
914
94
126
834
858
8
410
10
841
492
687
662
390
488
7
634
802
985
215
55
702
118
872
845
816
861
310
424
686
318
261
687
717
488
317
323
144
851
154
766
928
284
50
436
610
642
742
415
413
769
70
395
667
872
176
549
746
919
248
955
300
204
938
354
456
275
599
298
102
200
455
212
88
513
637
486
360
283
808
494
656
430
723
324
342
804
663
126
398
562
157
160
330
67
765
69
29
878
998
395
189
377
642
107
905
268
847
711
546
451
347
586
773
777
89
294
852
781
376
2
45
794
324
575
902
759
113
586
759
649
980
250
593
676
420
262
655
329
344
601
994
896
235
653
52
273
504
396
6
815
287
997
435
440
935
871
174
420
300
149
945
131
719
582
455
526
290
31
181
238
632
136
982
48
821
203
10
912
606
62
141
856
341
434
286
834
272
369
487
78
949
420
677
555
604
529
330
904
213
48
12
608
884
926
14
245
903
844
826
353
477
29
211
821
750
504
32
764
163
819
767
499
594
652
896
601
8
227
908
991
537
218
737
698
13
612
851
207
964
84
27
297
30
544
131
884
535
884
822
661
686
415
180
285
533
118
701
398
293
647
975
87
158
954
628
226
997
508
789
754
647
380
423
118
647
820
363
11
323
598
767
49
118
66
33
221
940
790
908
784
79
675
631
772
943
668
508
439
459
499
187
786
495
448
291
741
64
749
761
748
389
132
435
227
130
916
932
875
219
261
862
807
757
446
756
315
400
511
877
429
486
184
246
501
924
804
810
776
512
856
661
254
952
798
601
219
247
118
179
447
609
925
497
479
244
928
726
337
592
362
284
699
710
272
35
875
460
577
744
891
104
509
220
589
716
349
243
965
538
850
431
867
43
403
642
786
5
752
378
722
313
63
946
984
629
229
772
380
219
550
377
451
469
375
7
251
665
842
786
760
573
591
600
142
253
221
583
939
310
299
224
778
500
915
623
315
184
173
353
960
638
471
702
389
646
132
846
960
108
755
604
952
621
633
8
961
125
734
875
879
749
31
922
646
908
414
740
338
583
19
126
255
456
597
847
343
218
421
907
695
974
348
764
877
98
862
787
533
309
304
395
33
994
74
987
964
23
237
755
883
379
874
923
74
947
503
769
31
699
60
42
980
351
279
25
59
273
769
539
695
73
728
659
318
811
51
759
778
235
488
787
776
790
684
338
118
399
127
179
883
173
498
382
423
286
468
82
648
212
727
232
259
411
914
374
396
325
164
617
701
258
182
484
913
281
128
253
954
849
76
737
921
182
524
173
496
824
209
67
112
981
509
358
604
395
806
257
182
530
529
450
326
794
987
147
572
384
764
621
241
61
178
477
887
863
228
871
576
305
541
292
183
97
57
334
533
789
564
83
592
52
759
364
886
456
211
101
984
774
427
487
200
759
281
498
626
337
203
479
231
908
854
250
45
226
508
157
367
900
987
6
556
163
796
657
166
937
44
316
149
596
868
275
339
109
306
895
713
343
9
140
754
443
757
860
780
135
456
306
297
684
194
111
265
46
992
28
664
424
45
284
903
40
659
308
428
449
549
945
336
131
876
978
950
396
195
962
57
892
480
896
976
106
548
225
683
301
446
47
1
276
882
134
236
164
328
593
720
272
234
542
421
596
668
186
171
222
806
71
79
315
912
82
376
744
832
980
297
714
586
868
583
932
321
10
859
970
763
846
428
456
312
880
17
666
83
371
607
892
545
364
771
673
856
709
882
648
679
117
124
266
1000
197
514
90
467
689
22
732
854
769
445
745
515
391
924
943
120
142
814
682
538
936
223
637
460
221
638
441
245
50
965
398
519
507
754
119
250
457
579
567
387
582
321
484
656
924
570
584
778
952
507
223
204
293
384
477
437
808
154
681
139
676
911
521
553
503
530
731
168
226
311
264
193
800
483
597
183
184
146
445
21
189
594
788
617
100
6
519
833
815
146
467
597
430
96
784
673
839
1
899
272
912
486
357
542
260
712
818
978
416
983
469
984
513
462
842
117
176
832
835
52
391
640
291
911
598
705
79
440
83
165
28
410
51
683
448
786
399
866
176
412
337
181
316
428
455
511
833
180
744
39
204
121
395
318
149
106
876
225
310
494
935
24
371
713
677
854
788
259
786
851
723
644
325
491
259
454
248
944
237
527
927
936
303
216
548
116
896
862
180
953
903
883
689
990
699
334
438
647
97
420
895
848
517
173
849
445
320
454
927
800
850
491
495
900
165
427
837
79
850
699
705
749
569
648
951
551
219
439
974
966
643
247
138
784
853
643
156
734
652
324
662
244
335
632
861
570
873
784
167
448
654
396
234
42
317
654
606
179
748
447
535
796
563
887
142
58
745
889
205
837
185
921
354
96
12
598
330
290
514
522
268
22
376
672
698
85
718
676
30
494
123
517
855
266
443
547
274
514
657
243
852
905
508
769
475
627
908
243
595
805
377
607
842
745
871
110
986
457
413
730
562
673
880
287
272
967
139
641
426
661
486
88
284
888
8
21
155
585
44
989
484
195
405
502
973
562
383
339
4
824
881
653
213
110
164
866
103
520
854
188
35
153
788
651
704
916
258
662
530
489
983
441
957
74
893
190
775
516
406
453
987
937
451
945
636
330
903
70
265
394
464
453
369
508
268
65
266
927
655
970
325
161
623
250
354
33
440
445
300
93
785
695
53
891
561
841
340
150
228
916
144
972
93
846
50
83
504
664
258
549
309
225
699
513
242
229
892
327
150
348
686
826
77
380
18
630
274
652
159
87
136
354
722
867
935
66
837
298
933
537
538
228
177
665
337
584
790
718
409
821
80
65
567
140
156
70
453
699
39
345
964
22
416
264
946
494
333
498
648
108
78
330
217
611
454
693
789
825
435
193
367
182
939
861
720
454
68
8
996
251
705
376
628
110
813
690
352
885
105
856
846
730
36
296
596
173
208
338
58
636
354
139
93
322
45
372
970
524
140
785
906
303
785
773
248
942
449
331
934
752
113
79
760
612
203
600
350
96
272
962
446
151
780
155
279
88
515
129
347
47
335
275
879
238
963
471
603
956
490
280
269
814
97
480
468
662
260
867
960
403
377
216
643
276
296
325
729
207
725
324
486
508
856
806
104
561
863
890
878
96
71
16
888
355
741
137
824
716
399
987
400
334
540
251
67
972
376
830
358
477
3
834
278
278
9
593
575
906
60
775
621
725
455
636
898
45
6
542
736
266
813
165
71
979
708
174
453
796
180
811
434
209
584
487
780
963
304
406
646
287
339
273
967
788
460
353
855
11
699
492
695
432
418
223
986
154
636
756
699
681
601
484
79
920
807
589
363
1
811
506
846
606
213
269
98
220
126
230
884
148
305
241
553
184
842
151
204
534
34
392
952
979
555
506
15
278
567
688
115
516
770
815
936
407
682
969
962
606
633
171
53
690
55
890
551
821
651
912
513
34
946
306
952
739
526
587
562
288
15
599
499
408
447
346
217
881
248
731
236
98
468
157
995
27
255
34
597
687
835
488
369
435
397
13
619
253
363
355
882
741
506
673
252
711
236
880
92
120
177
151
547
570
849
743
778
773
862
659
795
150
536
188
76
265
271
22
899
832
318
473
481
902
804
317
540
184
22
890
876
621
10
393
931
33
389
787
29
80
307
286
225
826
29
197
223
931
457
797
851
851
345
996
952
456
526
764
361
165
783
721
854
45
327
774
554
294
19
448
307
211
570
366
966
47
959
375
367
97
231
968
989
27
644
993
973
694
849
96
199
666
446
14
590
219
761
597
677
867
154
422
722
352
509
929
382
592
815
313
970
316
898
780
872
962
449
408
555
966
452
513
926
723
997
385
487
388
259
232
868
138
112
428
810
684
430
475
643
656
667
634
581
905
675
812
946
926
81
173
538
361
726
852
956
995
835
350
601
727
596
451
473
768
785
953
653
694
916
122
507
74
144
542
273
83
833
927
635
892
233
576
340
659
214
361
651
612
378
505
691
91
134
12
329
366
558
237
251
751
900
1
350
795
669
628
324
341
84
482
681
826
521
872
952
520
321
715
967
276
922
946
539
17
842
487
730
387
474
516
149
916
991
901
440
609
936
918
155
80
214
788
735
218
273
145
184
925
255
291
365
605
744
954
503
989
550
353
644
304
657
506
299
13
50
165
467
114
646
176
515
487
978
818
196
873
576
431
167
869
235
685
962
734
462
917
328
930
468
315
177
12
981
148
194
945
14
837
323
945
483
457
911
667
231
160
307
944
570
73
94
305
936
487
932
167
638
505
207
969
947
900
290
494
987
594
230
264
973
54
130
246
353
907
297
19
323
232
490
219
987
341
222
337
190
294
161
868
637
102
88
437
490
281
766
727
50
445
334
984
490
695
514
393
858
815
8
871
727
736
940
658
954
291
117
658
941
989
152
619
734
480
237
126
18
363
422
850
805
245
834
651
185
275
142
969
31
916
942
356
937
366
465
177
27
886
148
246
437
256
175
609
466
725
44
794
378
120
579
567
807
215
581
662
552
89
489
985
317
942
997
544
598
766
578
688
493
356
242
307
687
351
673
291
243
415
87
917
111
170
777
816
457
245
324
828
37
611
877
358
806
425
754
820
897
741
835
379
908
811
873
464
158
125
913
475
204
46
434
697
460
617
737
674
168
135
325
196
366
137
746
629
711
744
414
517
201
712
428
258
897
110
312
202
726
293
891
679
322
709
213
316
637
126
582
521
784
79
239
112
117
679
188
943
103
433
980
792
943
422
26
931
191
970
128
561
878
955
486
727
758
19
412
441
332
261
300
453
250
410
233
544
544
116
718
267
889
731
691
759
761
901
866
645
926
336
927
75
157
363
862
600
474
286
943
978
477
66
461
937
529
586
354
642
657
583
310
867
46
379
712
867
886
668
92
570
186
988
356
967
867
948
120
530
84
948
954
75
260
900
180
728
772
428
160
562
543
123
671
29
103
679
60
530
777
189
346
336
795
412
347
592
23
587
205
352
961
245
382
384
387
516
338
30
738
614
582
531
943
575
770
37
868
791
796
10
14
590
610
819
363
912
615
127
548
121
55
102
598
146
769
557
591
399
42
903
463
414
54
162
76
726
617
392
416
286
457
542
428
610
299
180
580
971
405
516
727
131
8
864
208
524
317
7
403
344
346
925
175
680
882
26
715
705
291
288
316
948
739
716
497
809
597
146
757
871
488
659
903
953
454
874
584
586
200
911
155
295
214
109
468
87
864
466
514
626
218
334
111
825
434
109
978
33
50
550
625
552
409
858
432
954
738
859
206
549
123
463
251
421
735
54
719
622
166
664
580
486
700
530
55
532
612
161
797
111
407
116
374
731
984
506
880
47
312
647
595
563
133
383
673
455
590
368
756
321
442
962
298
307
691
490
91
803
59
308
186
822
712
495
949
262
48
35
471
465
142
6
923
893
673
669
749
274
771
318
778
260
206
425
411
539
830
914
80
290
958
361
69
101
644
552
596
753
450
100
795
781
357
748
864
344
901
600
163
731
540
747
524
794
454
662
340
697
716
312
289
618
827
134
706
492
104
900
652
428
302
27
750
179
156
75
706
936
241
997
218
742
652
237
691
47
537
892
760
260
434
980
117
683
699
328
572
863
63
687
590
244
474
507
747
972
959
182
706
831
195
723
347
615
813
515
604
649
282
258
430
820
339
220
76
210
563
655
501
359
648
636
318
254
342
534
156
374
812
100
693
514
406
436
882
636
405
115
134
728
366
403
261
470
81
817
29
548
41
226
71
614
483
325
713
220
789
596
13
523
38
797
928
212
964
602
58
899
445
294
869
149
934
278
646
457
884
762
664
725
330
172
243
205
281
725
425
480
444
126
964
747
143
527
212
580
965
741
281
391
801
188
529
999
477
214
35
73
73
222
228
750
381
529
247
362
684
990
916
59
185
186
466
87
968
430
235
620
325
938
641
327
663
225
640
332
948
240
757
800
855
768
512
164
337
368
722
927
357
489
753
35
887
410
240
69
90
377
193
861
834
593
672
726
253
785
448
156
139
648
99
710
344
848
76
842
213
174
101
560
323
92
154
155
412
204
971
720
481
71
634
787
470
432
367
253
795
114
91
670
299
812
629
107
842
508
735
45
839
473
251
198
559
708
782
696
866
177
253
843
407
396
571
510
955
756
439
296
728
482
19
758
10
255
772
421
366
369
290
721
34
719
360
763
834
72
789
579
86
844
797
535
580
15
839
703
569
949
835
300
173
596
659
724
305
967
633
359
429
848
509
56
51
415
74
120
799
779
109
739
395
561
875
958
567
218
695
768
205
232
496
351
651
260
336
282
43
969
78
296
63
633
356
278
251
499
886
286
333
570
1
732
595
722
22
362
438
21
683
271
680
668
376
10
42
287
443
797
532
136
51
920
101
406
477
710
48
974
771
884
128
869
845
604
215
198
990
351
672
516
732
613
296
417
696
393
810
660
859
775
397
261
156
131
706
816
926
65
86
785
78
857
532
571
186
2
7
32
941
405
309
466
519
962
651
240
464
507
462
942
617
597
704
371
479
185
147
705
154
5
676
947
665
422
641
74
27
542
697
379
902
654
354
159
72
424
691
256
235
831
267
940
826
515
335
298
665
88
829
580
231
941
482
933
284
278
637
569
372
420
975
701
466
893
432
503
628
474
29
945
121
149
220
611
835
887
606
494
240
245
570
336
336
80
455
295
226
65
383
572
22
278
751
207
739
857
686
373
739
631
500
404
59
636
259
229
657
667
139
98
190
350
131
231
483
734
14
549
201
75
259
716
618
317
644
547
541
740
938
215
627
385
968
849
320
185
731
793
634
144
989
257
784
538
991
109
505
866
486
303
481
202
257
782
934
664
733
754
859
964
84
891
792
375
393
376
273
998
106
688
358
934
11
688
648
775
380
873
284
896
787
639
284
159
319
987
423
981
555
435
542
202
756
775
871
812
132
959
396
413
946
597
842
216
482
499
95
507
554
211
234
749
359
739
417
930
928
520
8
336
349
216
257
647
217
110
737
162
504
709
542
986
118
662
932
221
978
257
695
554
324
565
31
160
350
768
155
482
952
328
132
311
555
432
685
532
520
598
863
66
599
378
449
832
262
894
986
975
492
301
102
256
836
361
595
222
56
5
388
718
731
152
42
370
562
72
973
901
910
254
926
522
337
114
502
199
502
836
782
285
805
315
130
868
596
476
322
193
598
217
4
690
419
816
343
474
701
967
433
633
475
500
660
308
776
465
750
305
421
474
696
978
112
141
79
206
751
968
565
543
861
296
525
56
576
757
785
940
498
236
494
706
52
520
969
662
674
634
163
423
266
396
116
394
893
848
307
543
617
44
365
257
678
135
999
784
7
816
311
561
165
980
901
722
380
853
277
206
297
987
150
209
422
205
113
120
32
52
57
752
455
288
431
389
263
758
134
116
854
274
350
969
353
218
165
676
503
244
139
125
478
801
317
290
125
180
359
983
192
476
533
705
505
130
378
861
897
701
690
771
938
136
359
247
144
85
264
977
422
743
94
591
930
278
484
94
426
186
294
289
437
777
225
917
256
576
198
516
864
640
112
406
346
667
619
794
300
275
592
720
1000
51
776
443
802
790
944
934
411
837
551
310
103
607
481
441
982
175
2
420
630
275
419
323
275
182
277
441
762
726
160
202
114
123
265
112
490
394
979
339
661
905
618
26
920
929
339
12
516
247
994
413
285
455
344
428
125
78
644
813
393
572
48
698
59
12
697
798
695
578
618
643
975
982
761
113
386
592
594
448
280
355
705
911
221
559
721
436
831
119
735
947
979
328
101
477
204
972
120
895
736
272
657
809
329
393
192
180
385
141
130
290
561
29
475
958
72
130
119
333
466
978
63
149
474
337
883
75
889
803
599
673
107
98
914
521
96
354
488
264
66
888
491
698
42
740
185
527
893
749
734
80
70
20
685
117
497
458
876
815
585
451
574
197
286
880
746
510
512
385
261
563
956
227
706
600
582
123
236
73
602
170
525
576
750
334
495
299
81
14
927
579
291
859
466
512
796
395
811
141
387
970
72
428
339
205
371
85
238
449
782
335
656
694
603
861
16
28
769
511
666
979
955
824
195
59
533
63
515
381
82
245
78
471
608
605
877
335
963
49
550
353
212
386
991
807
866
576
372
756
956
797
351
424
896
857
570
530
977
376
234
786
105
200
699
283
94
718
480
669
424
90
63
803
879
935
206
52
890
673
159
511
726
549
388
207
903
354
929
788
299
982
468
282
517
270
590
254
965
15
427
109
984
653
112
328
86
880
997
163
62
369
645
657
260
866
930
917
800
131
435
240
908
596
514
12
806
180
30
338
787
351
744
977
235
429
845
488
311
109
840
445
975
357
364
217
797
172
28
67
778
162
542
280
977
543
763
598
325
955
206
510
420
433
820
836
456
996
505
598
696
552
929
400
56
263
709
408
425
76
877
534
348
853
911
640
546
434
256
396
554
999
428
927
442
305
281
551
189
717
955
704
772
484
357
615
465
356
771
430
130
493
316
252
541
561
555
985
883
92
497
1000
610
432
593
337
816
88
113
612
65
885
459
805
443
73
553
881
222
502
434
498
83
1000
570
156
356
365
244
766
86
734
511
998
17
669
902
745
812
973
33
696
878
118
709
327
219
186
966
582
602
373
708
129
189
457
254
372
463
83
161
314
945
389
154
977
710
258
828
319
168
455
112
490
911
6
103
846
693
438
997
321
769
910
328
683
881
868
613
664
152
550
804
193
44
583
671
775
304
956
325
551
519
824
646
756
509
5
276
62
278
495
189
800
666
24
591
142
160
496
24
120
530
130
137
797
117
262
509
990
603
69
304
674
59
907
280
644
908
583
873
23
184
626
657
951
150
559
446
151
893
228
742
97
979
492
995
197
659
966
373
733
365
30
340
318
463
55
376
269
308
616
584
599
653
504
774
313
383
497
836
301
354
186
894
418
849
631
740
242
778
263
537
630
314
235
641
420
54
379
640
519
196
31
417
205
437
257
105
666
466
419
290
670
21
597
732
806
410
133
159
904
304
419
405
83
402
126
266
391
223
247
991
127
927
706
228
774
531
772
594
909
330
208
762
602
617
902
123
583
54
702
623
884
143
329
318
771
323
519
587
521
100
16
684
988
542
612
501
980
156
244
995
188
872
13
721
751
406
122
302
610
743
925
485
451
887
690
615
404
274
197
8
646
469
25
682
727
850
210
372
716
987
981
559
279
344
454
496
359
735
474
867
477
713
298
736
549
667
432
941
729
969
731
927
53
939
833
279
513
748
95
915
813
639
454
967
216
987
80
862
799
830
233
24
951
418
491
909
140
261
392
811
789
901
573
958
644
363
711
968
131
801
894
660
15
392
597
517
173
924
75
884
358
838
846
86
664
736
872
232
806
451
240
415
419
856
383
390
350
507
375
571
295
60
409
381
203
181
361
556
590
294
223
7
273
124
299
223
56
416
277
29
595
628
659
677
9
674
616
906
788
969
981
602
221
147
14
119
868
818
518
166
556
641
106
393
18
811
729
452
568
778
29
376
124
649
770
569
507
262
350
551
172
346
364
895
437
571
301
459
836
482
705
98
438
553
571
522
840
577
288
891
86
666
210
4
921
946
807
668
669
857
376
943
477
657
524
474
856
308
972
65
240
445
736
956
762
544
434
19
545
696
259
251
629
646
183
451
29
877
47
966
570
541
523
742
849
8
366
676
91
626
989
451
746
54
146
632
340
201
435
757
533
336
419
588
296
456
358
465
853
337
984
927
358
999
247
368
266
513
692
523
26
159
969
14
22
966
994
994
654
563
454
191
87
99
653
294
457
707
216
660
259
613
758
802
253
534
463
958
447
461
438
342
626
234
824
310
467
625
919
814
481
763
960
951
906
818
820
351
193
834
579
418
921
490
830
183
811
333
626
594
19
738
163
640
12
442
665
583
181
996
437
957
777
917
726
683
893
599
865
820
992
293
129
39
922
608
909
816
422
973
63
759
920
495
790
223
773
468
941
543
192
546
495
815
806
258
785
136
190
114
185
597
689
16
182
151
600
69
131
660
66
189
563
58
68
63
593
573
538
164
836
397
924
475
273
992
518
524
634
511
465
150
243
403
658
107
703
357
649
293
482
196
320
884
201
181
266
129
438
464
789
876
917
121
928
198
234
234
180
600
699
44
449
396
430
35
256
794
583
143
468
122
478
987
613
395
426
120
368
148
273
838
932
14
26
997
848
76
428
623
257
400
36
851
720
492
183
860
517
630
154
27
756
180
91
485
729
1000
394
637
685
17
865
926
610
883
429
383
652
398
40
1000
540
11
295
15
739
320
346
565
88
940
961
965
364
479
922
97
560
688
549
976
651
992
788
620
276
757
207
747
100
612
199
660
528
72
924
933
141
552
788
153
430
526
786
7
393
274
636
487
118
163
458
830
731
855
669
95
7
202
907
943
470
805
21
279
55
422
629
900
262
439
262
189
252
613
912
193
542
170
629
140
781
115
893
560
585
338
670
682
570
653
432
738
530
439
917
103
173
979
81
956
936
856
524
300
210
51
651
713
707
477
964
172
806
728
164
655
476
787
229
988
743
236
192
595
767
327
142
382
279
884
875
972
521
601
694
918
846
766
109
306
828
819
538
386
78
445
701
453
933
83
53
270
881
851
495
695
852
868
598
51
498
883
736
992
194
931
873
279
780
456
206
919
993
991
519
585
116
977
891
104
660
809
353
57
731
487
194
221
371
526
883
670
310
970
980
827
479
361
6
673
156
549
954
602
777
60
16
129
332
570
156
787
700
675
335
21
503
804
584
883
795
564
598
604
431
271
219
891
41
710
994
936
329
395
966
668
853
730
6
749
530
515
287
176
847
179
939
99
186
959
545
696
704
24
894
460
944
183
323
295
715
388
64
199
811
721
238
94
828
939
514
601
664
914
32
153
301
531
829
867
114
674
940
13
262
958
276
771
677
763
621
186
796
945
376
886
464
330
161
174
353
723
39
577
845
687
921
780
585
820
631
160
785
569
258
796
940
911
653
931
833
363
368
341
576
864
894
962
941
52
795
424
461
319
227
867
590
840
356
508
706
433
422
945
929
732
510
150
487
651
642
379
873
520
446
4
127
606
495
427
375
940
392
732
176
521
802
769
333
975
940
645
562
727
472
442
823
549
379
101
160
151
120
32
641
93
324
978
340
900
337
64
330
728
161
766
353
289
743
744
175
54
63
76
607
942
229
498
860
774
607
619
189
821
21
975
748
648
269
968
209
292
470
439
983
524
292
623
782
602
707
728
893
411
729
222
758
376
564
207
367
856
649
904
510
987
395
388
198
102
798
167
368
934
703
144
576
764
226
734
534
569
707
694
191
13
648
261
564
799
252
784
669
517
563
909
731
627
704
736
274
605
393
103
877
634
719
296
100
409
175
19
561
780
43
459
210
978
562
592
606
126
721
686
413
574
157
118
358
347
375
202
660
678
452
726
259
143
435
284
245
401
893
286
544
917
473
742
275
330
830
550
169
334
34
985
127
15
386
579
272
618
605
371
828
605
504
748
785
704
619
768
585
356
697
889
992
607
642
479
909
19
262
374
144
630
130
986
44
324
996
179
447
253
407
167
663
66
662
236
11
844
755
921
28
520
734
629
590
533
760
376
81
180
200
419
198
871
316
107
166
58
419
170
928
139
919
33
344
29
330
454
562
419
155
930
500
966
509
908
797
785
526
723
714
645
854
628
176
234
2
993
584
668
920
953
53
222
948
371
477
883
168
949
173
906
327
745
896
45
647
132
698
469
309
452
439
709
882
241
770
134
693
892
42
580
993
103
926
735
777
220
471
828
293
896
968
950
584
68
266
87
918
362
99
565
571
448
602
138
226
764
424
393
229
278
757
516
2
646
142
680
217
199
169
515
739
689
3
153
912
611
260
349
509
224
876
32
542
106
513
437
190
188
501
657
272
721
485
69
82
591
760
561
904
683
728
930
167
779
48
124
85
583
819
218
539
53
576
162
155
143
959
357
780
448
687
68
45
9
839
532
284
705
526
362
856
245
751
532
821
765
625
768
24
444
121
660
836
306
263
192
214
655
952
665
281
144
660
183
325
522
857
968
967
545
347
782
271
333
663
644
736
740
292
834
419
899
768
919
953
207
620
153
824
430
739
149
92
505
996
140
677
851
819
540
444
729
16
717
583
213
343
88
197
874
182
706
585
145
233
469
439
655
292
986
70
505
52
884
812
605
329
78
948
674
312
84
881
476
184
988
758
147
5
72
448
260
788
446
584
369
549
214
361
377
492
889
940
977
617
747
567
829
769
808
4
875
551
933
440
372
585
323
850
830
326
331
646
4
998
92
583
496
254
936
76
330
842
928
505
59
907
177
599
589
555
731
717
916
945
995
674
406
506
591
802
74
825
509
73
565
382
199
471
183
582
998
245
355
477
896
342
396
147
187
95
289
971
4
211
463
914
75
175
248
517
283
497
743
498
805
592
346
728
634
726
69
905
294
113
80
393
413
214
620
570
628
271
541
507
964
342
252
956
453
467
773
439
240
60
940
689
852
357
536
829
619
522
270
428
446
20
73
44
288
998
159
920
703
706
633
268
793
448
217
966
709
152
843
569
638
411
435
231
862
768
199
518
26
101
128
126
257
179
247
189
122
856
300
207
728
924
240
635
439
327
856
801
795
306
334
156
219
63
357
815
8
681
614
954
921
383
208
944
413
692
511
996
167
667
495
715
143
229
395
180
782
485
861
99
364
125
415
123
771
180
123
628
64
866
871
160
355
830
542
231
427
821
676
386
430
703
924
252
780
783
702
823
59
621
981
349
344
820
76
39
861
872
627
229
295
715
706
806
414
563
129
440
847
512
604
633
33
552
301
660
369
947
802
245
525
367
151
201
762
762
905
344
813
752
670
679
591
198
593
249
507
724
683
66
699
161
618
214
814
299
939
566
306
855
91
547
380
279
862
41
820
878
119
826
946
734
649
922
856
75
90
815
913
90
626
837
192
637
149
905
188
953
50
388
664
253
682
167
931
73
781
804
221
297
840
338
50
87
488
415
646
349
420
338
573
939
339
162
666
552
641
131
253
119
317
590
454
582
623
32
15
117
625
43
742
244
625
777
117
738
826
7
56
980
324
946
138
165
656
819
794
782
707
566
145
931
692
189
141
306
365
978
667
170
285
246
63
187
242
305
327
818
447
68
861
836
139
97
256
638
616
898
30
236
529
979
643
221
465
506
404
503
472
405
39
368
193
405
839
232
700
824
276
472
970
872
898
907
150
861
125
821
453
993
309
878
513
335
31
956
565
172
149
689
594
191
568
469
949
828
23
769
530
697
459
903
778
224
708
761
174
465
277
638
847
648
1
997
194
142
196
905
127
387
773
908
676
854
397
337
190
214
450
367
305
727
999
680
207
341
421
249
403
69
632
579
425
44
106
727
384
50
994
571
297
418
675
62
430
960
41
684
713
964
651
917
430
375
632
285
980
981
897
469
495
809
781
74
498
946
710
820
581
699
850
367
293
359
21
493
44
786
310
58
848
753
937
34
160
235
936
917
889
825
110
969
914
83
542
101
68
891
678
661
619
822
614
41
717
134
754
821
157
231
472
84
80
345
719
696
883
762
814
544
730
105
790
206
521
82
744
53
71
635
612
545
574
586
672
357
107
754
860
19
64
977
680
952
917
658
87
143
648
239
222
205
492
483
304
257
416
581
274
851
871
842
44
193
912
196
300
15
757
816
876
753
190
901
633
155
20
88
630
20
944
4
156
559
784
185
802
772
28
974
376
308
14
28
892
526
900
744
270
835
767
266
658
964
803
735
499
481
566
71
518
776
726
926
878
691
528
375
597
187
455
558
186
747
218
754
157
681
253
304
705
179
361
399
390
695
980
976
85
250
877
900
822
307
696
123
402
159
887
791
810
179
56
73
534
858
625
65
874
286
40
283
192
628
438
112
847
183
822
52
252
805
291
796
90
851
828
940
223
300
452
620
251
374
292
484
981
820
297
186
311
977
837
21
129
912
390
415
909
185
921
726
588
249
279
225
174
136
152
173
297
780
677
630
559
307
814
19
121
660
962
463
422
171
131
635
339
84
155
180
325
564
75
762
325
438
823
461
304
774
773
537
276
396
563
551
594
628
808
457
115
870
10
555
546
86
971
123
923
946
530
150
721
121
256
837
507
215
36
409
414
905
161
398
987
126
592
702
68
561
585
662
496
269
742
879
353
10
873
708
367
729
729
193
868
681
820
697
410
905
32
669
714
96
669
739
164
434
914
873
436
611
417
366
203
120
870
296
53
824
976
442
898
18
193
803
191
421
982
575
214
50
53
852
522
484
318
388
430
818
777
454
33
525
635
214
881
492
256
62
838
770
438
48
93
926
653
860
533
456
522
844
915
399
836
153
332
171
821
491
528
617
218
817
465
495
965
41
423
875
917
14
586
472
99
23
731
527
432
634
169
672
759
935
500
150
237
163
143
872
865
235
802
57
990
941
241
621
119
413
765
46
268
13
810
209
374
988
904
527
11
37
65
808
761
497
364
434
103
939
32
808
637
820
930
556
753
298
664
615
638
411
927
178
619
641
859
432
414
281
371
193
838
130
394
791
814
805
978
61
396
320
983
855
602
687
902
275
506
977
967
763
984
669
310
211
924
138
369
538
509
811
163
531
383
878
301
316
138
421
809
504
561
495
959
933
534
987
256
920
270
70
706
129
874
661
240
463
777
596
962
886
734
154
444
711
453
154
907
681
849
112
489
140
153
822
226
660
790
309
558
794
27
296
388
16
878
232
760
492
660
404
193
73
862
902
613
743
748
994
580
870
180
1
233
740
704
893
933
241
844
647
129
98
898
885
369
671
259
389
675
216
438
936
759
449
511
263
662
406
672
104
446
886
943
988
510
205
848
851
932
616
60
634
34
483
585
705
985
247
58
336
846
270
107
498
939
892
548
906
783
425
394
612
149
332
248
403
958
561
694
959
857
854
722
3
307
852
50
644
940
9
443
760
732
626
792
515
300
826
745
66
225
894
154
73
865
247
466
921
559
194
445
420
447
802
315
323
437
412
451
240
948
789
292
365
189
457
994
981
649
492
681
885
398
957
825
725
566
187
444
725
50
339
274
438
123
976
50
963
95
974
329
559
617
701
40
663
508
248
86
142
226
470
893
16
232
732
723
995
530
560
976
913
600
822
440
539
810
710
642
321
120
508
39
326
588
91
766
5
713
161
61
446
161
447
283
470
781
491
664
253
107
205
514
161
724
47
668
139
17
551
343
295
749
941
437
306
922
751
537
870
102
652
527
732
171
238
770
715
84
80
276
814
729
230
134
635
454
236
764
362
157
901
213
10
95
214
813
930
738
374
995
401
44
333
958
673
511
59
191
23
264
605
559
198
175
91
756
151
756
920
492
103
126
917
657
787
883
576
78
180
102
265
201
188
21
85
187
468
175
44
459
72
892
353
692
630
81
929
604
585
200
673
693
351
128
656
195
369
430
144
195
716
162
294
723
310
922
426
156
785
343
19
962
790
588
967
94
799
705
148
928
537
880
108
657
750
746
466
496
397
875
699
865
257
537
109
981
617
587
122
912
954
85
520
217
459
882
878
733
861
938
252
962
241
583
112
750
425
273
638
654
129
662
738
466
207
957
591
833
266
603
54
853
406
310
63
777
58
315
980
689
692
568
927
150
724
205
336
277
41
285
295
716
417
273
783
228
542
148
562
419
507
345
328
227
371
964
668
379
866
801
554
958
396
793
373
601
222
422
936
615
125
462
545
461
929
204
920
679
934
968
747
252
724
270
646
878
815
485
626
352
309
231
449
513
60
981
887
815
834
610
559
575
631
670
868
431
623
201
615
319
134
799
976
555
715
464
911
242
635
497
520
266
59
327
504
619
755
686
700
639
440
14
584
30
760
283
768
202
470
743
753
561
599
183
646
857
229
432
101
598
103
765
498
840
382
753
230
385
796
910
52
492
859
161
614
787
26
757
666
921
432
768
949
916
374
708
428
831
757
148
377
559
553
394
790
91
736
468
732
577
241
612
533
824
260
540
210
705
572
457
46
78
677
658
95
421
224
149
225
384
562
340
448
824
330
279
483
741
622
335
889
680
653
477
662
834
824
510
883
72
740
732
850
538
62
469
163
333
8
851
380
1000
969
41
188
176
978
803
536
867
681
976
780
202
99
924
721
439
653
475
335
224
887
239
123
817
850
415
257
56
315
373
134
329
901
382
498
721
682
791
54
805
43
877
359
240
407
369
836
484
935
302
945
417
452
520
911
611
686
595
915
327
339
368
335
29
663
633
420
397
965
707
809
307
924
748
385
282
672
741
315
212
352
989
510
951
274
826
403
577
821
981
659
654
12
729
392
858
978
500
504
709
625
109
8
939
478
127
595
276
7
240
224
978
743
585
234
541
160
192
330
356
585
641
798
997
385
969
489
12
277
667
416
735
930
341
315
739
893
236
134
929
554
354
227
218
13
357
967
938
700
762
608
854
113
227
483
706
251
865
40
715
232
590
813
370
61
491
123
115
741
88
230
276
734
120
663
658
295
213
693
804
338
367
234
774
312
706
1000
700
34
341
394
66
541
542
444
821
804
588
71
6
575
847
121
483
753
635
885
788
365
365
274
830
687
347
433
388
93
336
333
909
913
609
800
123
968
907
527
358
489
52
817
275
779
429
232
911
358
821
837
572
294
253
434
112
95
626
52
568
840
905
956
951
204
555
609
247
626
724
353
308
188
393
57
374
667
359
602
422
841
437
891
415
370
713
999
771
466
40
204
66
133
206
891
71
987
376
733
693
513
478
157
303
154
166
798
236
830
884
561
941
293
342
929
382
252
393
389
824
325
910
169
40
723
773
6
328
993
471
356
450
301
149
228
777
514
164
876
439
736
319
654
265
112
7
674
659
381
425
356
309
136
867
532
834
758
860
571
22
723
573
889
332
370
502
277
715
210
877
728
599
579
663
822
122
754
277
278
272
646
344
973
656
870
930
585
4
252
672
54
384
840
144
181
319
94
632
49
646
195
183
410
32
376
451
826
481
740
386
150
53
292
254
871
307
821
828
969
599
812
849
177
512
789
5
971
146
377
758
186
894
871
304
871
653
316
859
925
111
911
219
40
853
80
251
733
590
674
576
570
687
609
195
217
551
681
231
605
149
441
268
344
72
786
5
473
128
360
65
802
391
933
823
375
12
700
88
30
843
822
301
667
135
606
661
557
128
425
283
986
350
860
12
557
834
572
46
758
282
89
851
741
372
50
169
838
70
433
96
10
781
935
316
322
638
26
576
490
42
103
398
786
799
849
845
849
864
140
875
472
747
800
462
53
81
92
171
203
737
59
355
941
121
776
449
32
994
80
128
265
192
604
228
902
168
795
423
99
130
121
588
834
871
861
711
755
86
725
940
419
106
22
107
594
457
268
611
620
635
938
94
396
764
501
725
167
589
49
246
159
380
560
124
59
865
302
337
493
302
962
304
942
120
836
432
988
376
814
628
382
406
956
825
209
668
184
281
305
747
958
950
212
885
857
712
124
213
669
612
724
52
914
564
317
290
754
162
376
835
859
314
483
590
144
477
645
219
236
113
141
216
153
855
391
442
960
579
792
320
120
192
138
377
796
515
11
655
670
50
486
779
713
793
601
190
896
488
313
73
67
903
58
58
83
756
641
615
808
895
881
416
777
232
336
596
180
699
500
4
285
194
10
18
616
79
825
454
958
314
789
413
789
687
703
654
807
967
834
237
20
973
785
713
319
735
759
113
503
927
595
338
521
699
341
344
55
900
798
657
656
408
172
380
352
989
950
803
22
617
134
154
844
722
245
806
835
163
862
478
821
34
32
588
176
602
567
907
334
770
112
126
368
455
880
761
919
210
104
60
354
190
609
225
341
345
369
323
921
291
542
699
811
896
300
579
837
36
703
835
385
317
959
520
246
848
708
923
496
267
360
324
895
325
99
564
834
291
903
835
32
315
814
796
31
694
728
247
45
653
189
105
844
861
18
357
192
424
125
995
816
480
512
684
985
854
324
44
600
451
749
5
73
206
739
618
420
422
813
104
701
290
622
669
362
231
608
795
82
442
826
306
465
710
910
506
252
98
257
39
807
615
739
991
255
322
601
894
55
653
810
955
730
890
749
823
174
848
80
657
236
817
540
68
262
744
666
774
896
414
730
420
711
167
654
101
192
256
331
551
157
549
556
864
992
670
706
830
919
47
461
712
146
602
71
309
893
937
119
683
226
984
303
809
100
35
494
696
245
950
187
268
344
130
562
366
440
539
506
789
703
653
355
202
446
717
611
61
786
97
532
480
446
861
378
68
978
896
1000
344
129
48
679
286
136
777
341
938
538
768
778
765
420
805
83
620
139
930
283
791
241
625
63
550
690
266
559
51
520
622
423
221
752
503
745
471
712
3
991
714
914
911
759
150
317
31
79
739
67
92
947
89
815
897
960
762
310
126
274
601
251
978
544
766
322
433
181
619
912
462
29
445
278
970
529
297
813
575
541
891
639
616
253
600
947
909
30
60
412
872
631
794
500
581
947
586
691
228
314
20
493
213
476
725
576
816
506
382
566
973
319
493
800
208
938
210
839
162
339
298
641
483
537
437
83
91
538
604
955
907
931
265
636
231
185
445
410
857
178
532
789
873
66
829
258
851
382
479
587
796
175
339
216
778
63
820
252
665
316
469
301
722
454
304
696
170
429
519
692
960
100
194
820
117
632
75
956
32
409
327
560
982
254
387
220
962
55
705
885
659
390
204
108
18
371
762
214
379
732
845
556
616
126
759
937
61
706
576
797
229
336
968
29
561
178
586
131
416
1000
578
928
573
256
113
297
337
906
488
163
159
952
521
524
360
903
434
427
152
718
382
615
638
278
97
51
926
143
856
615
748
139
147
86
259
314
931
922
775
952
377
461
280
613
311
912
442
611
362
901
754
980
16
402
157
699
317
591
164
899
984
554
80
835
85
771
362
636
229
30
589
245
420
722
745
490
361
491
744
946
997
865
223
82
511
779
614
212
835
912
443
954
967
338
594
183
32
286
27
992
70
748
53
788
16
260
796
440
167
405
949
367
725
534
230
538
683
720
256
634
386
196
649
35
602
401
329
874
835
275
848
115
906
641
563
534
535
346
184
488
786
321
959
581
733
902
340
684
662
529
470
284
425
429
274
797
326
2
222
315
55
411
66
226
738
306
997
309
124
714
676
157
306
852
570
281
136
58
833
817
668
59
773
537
555
528
553
777
305
266
400
986
704
339
20
803
515
221
317
989
767
311
823
51
561
208
380
140
346
753
783
599
42
186
39
626
219
724
853
605
781
471
731
59
248
872
847
599
788
843
431
925
596
307
968
691
96
115
969
45
696
218
379
696
523
537
983
693
629
189
310
462
657
579
609
261
854
427
436
917
615
959
292
624
449
347
512
595
381
970
312
590
309
231
506
675
775
459
890
90
951
917
717
787
339
27
5
988
884
723
622
126
712
285
263
673
682
57
424
612
283
257
447
815
223
436
564
150
169
246
598
933
743
855
662
236
829
758
757
668
644
719
639
435
860
309
716
916
224
798
5
506
774
204
398
192
763
909
547
181
806
609
729
901
637
281
913
888
64
514
116
380
383
811
823
913
554
397
892
881
892
673
903
786
902
697
342
868
160
974
368
912
801
404
171
290
273
434
60
706
506
367
540
711
535
271
558
756
908
137
9
457
947
778
371
794
5
440
26
152
429
274
433
474
808
601
809
313
484
395
399
241
986
505
735
877
220
939
477
813
809
939
614
821
904
711
783
34
178
368
442
257
482
83
466
124
797
511
505
654
734
216
73
594
791
273
952
82
992
168
914
352
321
883
193
612
594
326
397
756
988
304
737
283
510
881
585
647
87
258
332
268
797
303
457
624
9
453
531
137
831
16
603
83
335
819
27
363
470
733
363
788
438
873
389
466
598
163
628
995
620
506
55
432
696
40
795
401
114
803
693
320
395
686
628
427
477
715
296
173
170
562
994
622
186
665
624
657
600
513
725
190
491
426
861
50
883
673
92
920
814
845
585
494
516
220
625
38
256
254
438
637
322
458
270
744
11
642
85
69
262
918
128
460
727
926
340
200
681
439
248
55
135
898
575
468
944
442
228
573
473
685
756
19
609
845
607
219
524
801
748
262
589
336
283
643
314
121
720
942
960
946
446
769
768
365
792
614
349
148
775
710
869
921
272
683
76
924
867
523
139
85
97
385
476
514
154
829
476
57
344
361
78
803
792
572
654
270
926
727
565
552
253
424
32
887
834
768
688
930
618
625
287
546
537
662
570
54
801
256
203
688
404
880
61
499
199
226
828
43
266
147
85
976
502
502
549
118
473
113
142
638
655
323
882
753
66
134
399
733
206
453
30
95
924
802
41
535
528
710
512
559
1000
114
814
791
661
316
411
610
11
436
926
119
753
825
35
453
194
647
742
66
343
640
64
962
986
115
940
799
974
418
451
418
751
389
61
614
873
845
661
917
915
760
629
740
686
580
23
488
112
93
251
130
510
372
263
299
218
548
401
203
706
628
505
489
380
115
789
745
233
942
304
499
404
92
497
424
487
365
503
949
107
896
322
624
898
431
967
416
520
864
980
556
751
199
493
689
23
934
108
863
986
856
457
322
805
344
249
152
963
617
977
588
238
753
221
190
421
975
670
148
49
421
571
700
133
538
282
23
388
348
29
967
981
3
752
706
162
517
130
718
453
14
509
486
249
626
448
984
787
936
55
326
449
966
99
886
263
805
125
872
298
334
454
569
371
989
990
425
91
120
227
737
848
310
693
955
741
975
370
485
828
657
269
501
333
694
450
402
574
368
256
523
486
211
426
137
557
875
45
51
884
855
21
895
847
415
863
705
589
254
84
570
71
798
450
919
13
543
656
460
411
514
730
960
638
751
629
784
398
700
17
561
868
536
203
458
473
734
564
254
613
646
543
828
564
473
509
745
484
750
331
318
165
408
511
900
688
545
130
214
653
253
633
175
12
274
732
24
833
743
267
587
496
53
927
125
953
650
155
536
652
651
355
665
664
299
816
76
358
616
377
915
685
94
905
466
784
894
143
530
137
827
332
71
953
336
268
428
807
795
177
961
819
734
808
250
812
978
705
776
959
285
451
598
411
819
28
698
251
620
108
505
951
362
227
613
148
804
318
866
190
768
967
783
413
941
155
761
471
486
919
628
430
285
556
889
501
586
538
432
445
998
242
577
720
44
994
69
366
952
670
51
492
968
303
73
968
215
681
952
604
74
976
637
631
122
772
277
829
887
712
373
963
75
170
226
523
478
959
914
932
455
139
645
496
731
376
692
359
309
175
31
660
408
508
470
891
694
47
301
175
560
224
465
825
820
830
791
88
9
708
142
377
399
371
175
712
969
67
8
278
835
863
281
214
31
854
992
800
153
450
995
169
68
45
245
582
809
34
722
57
803
292
436
859
778
727
103
947
74
477
873
971
561
597
945
852
66
897
53
251
18
661
577
500
17
600
438
669
147
280
87
495
180
700
572
832
229
398
142
130
58
704
849
217
972
286
354
311
178
159
525
738
542
725
396
359
923
167
807
15
644
809
326
657
200
574
87
964
24
780
825
389
949
874
674
559
61
579
310
863
779
143
586
896
324
43
123
142
239
537
251
898
243
914
256
995
495
171
186
305
306
92
319
378
439
414
995
786
392
805
710
958
490
916
256
297
173
625
192
401
619
910
154
51
700
504
328
426
350
583
903
712
580
256
497
846
776
585
333
664
392
153
432
108
845
959
187
494
227
581
491
43
442
51
983
19
505
909
127
842
37
200
513
507
454
10
252
470
913
261
315
919
908
108
459
26
251
253
695
314
310
873
309
781
584
697
140
767
62
940
132
874
401
429
195
408
624
288
65
923
902
952
139
466
9
138
266
13
195
619
46
404
552
309
524
831
433
204
54
531
115
201
717
904
687
655
939
689
119
835
822
204
539
87
305
894
35
622
442
597
703
312
996
22
249
792
50
868
167
455
536
931
427
647
411
325
628
462
711
603
783
85
885
213
258
542
585
191
900
43
577
419
49
861
573
83
982
816
523
221
265
13
375
326
702
395
394
60
776
94
862
49
22
279
404
572
282
415
245
735
644
416
386
370
710
156
117
452
976
214
249
327
289
520
186
416
766
781
263
320
87
177
790
495
787
840
888
705
13
58
523
516
236
975
94
984
576
795
563
487
720
152
394
428
895
355
510
102
993
670
28
617
749
676
851
141
817
992
20
160
679
354
352
624
623
109
62
68
408
671
976
838
826
382
427
522
107
537
160
595
979
20
370
27
273
121
519
342
128
635
727
188
231
243
327
976
33
543
669
596
544
812
344
482
146
732
812
566
838
875
826
766
473
684
148
705
817
65
801
277
748
467
496
562
487
506
939
301
529
777
440
844
862
476
605
28
134
860
949
922
661
375
914
758
550
477
149
644
775
802
891
865
713
351
940
659
528
786
41
369
806
766
428
776
982
487
940
250
466
246
371
61
826
891
655
840
40
481
100
691
611
335
88
936
301
945
619
781
345
874
573
474
248
859
843
686
727
828
306
888
896
439
179
510
536
29
445
512
204
605
914
808
935
589
956
652
524
568
104
730
729
230
539
165
224
979
932
82
832
484
224
690
377
559
743
53
462
300
449
867
661
397
203
584
843
878
730
170
866
325
294
636
425
767
227
226
646
61
108
827
900
528
811
707
421
39
638
183
518
524
446
189
564
101
28
999
498
623
983
568
272
477
989
30
521
876
684
909
767
737
332
521
609
467
73
833
717
626
837
802
879
484
932
819
28
967
905
438
961
312
535
9
388
66
699
170
96
706
439
416
232
267
739
146
175
829
434
605
992
622
158
168
250
827
465
252
806
813
62
949
276
723
613
162
52
783
718
615
113
690
478
629
383
727
524
948
54
3
528
241
127
389
950
99
391
218
263
502
215
832
939
762
802
384
265
870
28
95
440
54
570
329
466
92
809
440
65
579
904
337
230
939
519
92
41
420
884
747
57
702
315
650
948
45
798
291
17
68
2
612
923
375
890
212
223
242
145
666
307
480
792
469
947
417
700
693
926
665
156
576
186
963
333
641
476
924
253
875
788
957
816
714
711
997
568
300
445
893
130
532
393
523
651
924
149
708
195
204
213
29
745
846
946
483
343
482
140
738
971
217
49
417
959
419
897
438
69
456
677
962
905
217
538
895
988
956
162
207
642
182
312
564
827
833
189
896
189
963
289
558
903
513
236
678
307
506
446
146
969
216
542
456
561
388
168
241
845
632
196
961
153
473
381
632
980
344
175
889
665
50
766
947
732
789
409
239
112
890
755
574
357
823
208
701
950
884
289
44
2
181
637
213
929
213
515
605
210
378
663
47
939
190
903
971
702
871
162
38
240
240
478
500
472
506
116
823
729
653
128
271
441
577
582
201
125
73
190
814
218
24
268
970
233
874
786
466
707
596
789
871
662
853
588
607
606
5
951
482
663
930
2
254
49
386
623
194
962
758
956
750
922
616
53
622
746
443
752
547
618
280
692
57
192
778
695
309
246
348
868
848
181
679
459
832
577
855
885
794
93
752
379
515
227
138
381
940
834
154
149
372
868
435
41
364
477
183
618
819
470
887
965
839
173
273
648
735
849
251
312
474
219
314
230
521
44
875
16
691
436
480
337
155
288
732
687
170
235
982
196
484
593
567
5
599
43
430
954
226
223
453
203
374
950
730
934
439
566
316
464
579
747
680
947
429
186
219
323
888
747
704
359
353
61
460
391
229
15
399
878
986
291
795
998
347
920
805
257
402
781
311
580
599
153
600
382
556
681
785
895
633
593
619
446
5
599
543
388
771
675
390
166
252
845
151
313
248
152
613
250
455
247
470
412
645
398
738
573
495
289
879
262
139
643
103
768
624
604
724
602
435
785
265
187
203
81
285
228
484
674
491
443
252
112
819
299
366
19
552
988
808
751
472
109
933
296
268
433
323
793
121
695
86
324
467
566
603
58
431
824
804
379
291
284
10
386
701
222
274
16
17
879
928
120
276
107
746
970
829
404
721
95
592
366
971
797
208
63
682
405
142
965
343
143
873
834
707
455
932
404
98
785
439
793
670
91
207
323
190
839
227
825
767
802
511
572
702
784
901
700
280
281
378
337
917
188
853
710
531
862
204
154
392
290
511
326
994
589
104
885
673
825
2
583
817
957
800
1
490
740
848
146
229
582
846
736
567
694
601
274
584
317
734
969
391
492
625
126
15
595
690
889
568
835
416
127
955
7
202
794
622
50
169
343
995
397
594
599
354
668
487
78
829
974
176
882
117
24
429
148
270
234
794
562
631
253
322
535
573
695
813
526
194
330
995
387
563
720
845
794
399
54
378
557
293
950
763
59
737
123
641
162
228
107
812
672
675
676
289
834
193
203
860
419
93
977
892
657
577
405
97
657
182
101
386
969
513
95
721
650
168
797
103
503
53
874
425
191
482
905
971
562
545
553
729
824
231
972
557
198
724
375
457
273
81
972
866
589
240
12
916
889
933
263
93
80
617
86
565
206
977
185
733
591
888
248
241
942
21
933
742
348
378
79
235
19
172
614
660
152
388
329
759
435
269
614
887
630
765
267
628
76
644
691
521
190
590
171
185
796
111
413
446
616
479
203
781
345
267
868
597
541
233
218
359
981
483
754
566
221
821
252
945
851
197
272
981
345
950
727
93
456
368
457
346
818
681
624
582
810
209
837
238
736
865
168
927
95
557
566
73
9
360
765
492
925
497
437
839
328
273
240
268
514
106
399
482
452
729
620
598
372
421
496
873
3
889
1
429
322
8
349
530
240
211
253
861
951
724
595
515
508
198
602
63
805
568
916
194
328
105
330
854
921
694
559
772
336
370
147
489
530
989
484
789
510
729
971
471
4
793
543
998
425
270
160
413
382
658
330
302
451
912
458
282
67
234
594
676
147
40
163
544
514
650
371
248
265
300
312
38
987
23
211
970
104
769
872
607
739
925
159
545
148
11
232
810
176
953
385
549
216
744
503
244
837
744
598
908
558
108
394
288
297
57
640
176
624
781
694
319
288
788
918
264
449
413
616
705
651
18
547
572
877
141
538
108
937
480
371
683
54
148
889
925
735
33
235
46
934
525
230
889
77
24
174
334
717
911
764
160
479
641
391
393
459
654
827
427
467
635
190
957
283
483
108
845
663
999
243
568
920
928
625
848
766
496
843
354
527
970
726
141
4
124
36
621
986
671
640
416
900
904
776
400
148
767
335
602
421
583
497
409
726
453
714
696
853
135
746
77
798
868
413
471
975
152
779
574
112
997
724
618
378
511
251
20
677
997
406
126
986
915
407
289
316
169
413
933
145
173
408
94
168
78
799
175
825
339
701
278
317
548
327
560
804
65
557
478
30
531
548
686
881
791
195
601
296
79
369
336
481
622
112
775
632
909
381
70
208
20
538
712
348
308
467
651
197
665
141
645
752
353
456
106
339
95
387
283
979
697
852
486
710
6
197
446
414
395
888
607
787
297
791
304
913
525
452
339
289
256
876
411
281
580
631
235
713
470
554
943
701
869
901
550
909
344
616
828
100
429
236
958
271
331
95
683
622
165
654
515
372
239
240
749
697
228
959
656
135
232
294
227
394
853
723
303
859
382
730
719
20
153
741
361
695
886
827
670
179
606
523
161
398
323
744
18
735
224
547
657
432
542
481
444
396
638
332
415
770
69
367
931
874
594
572
708
966
124
974
529
826
595
864
262
329
633
607
528
32
669
804
446
284
824
747
437
524
526
453
970
254
296
119
473
614
557
460
388
640
650
250
463
33
443
355
952
731
69
682
347
637
352
775
615
634
435
223
706
390
954
659
252
547
872
896
988
575
754
660
377
963
802
454
360
444
481
315
918
628
908
635
360
764
509
724
857
352
583
532
777
966
566
772
769
984
757
726
432
851
198
155
576
156
200
87
792
66
752
730
59
598
665
371
581
797
840
967
933
143
496
21
828
404
545
507
533
723
546
809
15
930
840
112
407
950
534
219
261
712
968
518
382
121
195
710
712
546
767
954
885
713
841
258
561
103
183
366
587
717
196
817
382
568
456
599
651
376
615
599
697
695
709
52
160
180
52
315
949
749
952
603
504
175
392
767
319
26
709
788
784
938
10
446
48
926
781
531
537
796
663
21
202
771
870
932
336
107
97
865
46
830
55
884
45
711
953
16
464
266
360
537
817
854
867
220
83
943
904
888
88
191
855
940
51
325
365
3
170
683
350
488
624
903
750
649
194
487
521
660
995
865
713
355
494
148
708
538
46
970
901
168
707
699
114
334
938
824
75
626
151
488
101
434
728
27
986
719
281
810
710
28
424
884
253
854
269
693
260
980
171
648
721
95
17
401
160
816
471
498
48
199
143
495
264
1000
637
708
501
213
748
541
415
864
894
713
205
662
20
778
24
858
801
41
329
581
960
352
798
6
921
293
951
928
793
925
982
712
928
658
581
134
867
754
737
312
554
647
603
817
76
579
503
16
70
10
91
928
127
876
463
137
219
54
768
847
183
340
487
748
779
800
79
200
700
652
148
162
177
695
619
415
496
881
683
884
841
849
409
290
356
92
17
924
203
975
754
87
731
995
205
613
533
517
672
928
320
723
908
332
39
656
138
505
597
59
767
778
891
162
613
381
571
710
790
675
114
286
628
400
348
436
112
71
507
165
377
968
275
152
740
613
34
430
580
232
733
293
156
452
341
992
98
432
872
58
875
661
343
199
33
927
838
349
339
318
50
821
311
683
302
487
744
656
51
586
981
237
324
46
678
902
345
203
708
398
877
377
672
722
432
96
226
217
556
654
32
411
854
292
708
986
297
542
567
210
594
182
311
299
133
788
72
412
22
109
378
419
311
349
680
139
315
978
36
501
305
863
456
942
513
369
175
420
526
565
824
614
653
833
56
230
793
968
717
865
644
353
21
524
850
889
546
743
819
151
61
212
494
669
352
966
332
330
213
491
95
647
764
534
828
24
39
24
588
237
618
284
65
38
664
593
209
178
352
282
410
172
118
752
539
801
542
180
388
699
973
253
664
382
191
952
701
681
496
250
482
925
631
644
411
107
834
562
482
951
165
35
191
41
944
518
519
119
790
346
837
246
271
140
411
777
631
408
456
987
402
696
394
762
950
916
11
973
203
882
738
30
828
674
147
640
146
166
76
965
902
971
479
244
850
49
252
418
756
488
755
449
46
270
727
850
836
373
583
396
466
230
854
116
4
381
644
432
400
139
570
760
88
231
561
976
897
671
303
878
44
561
855
219
855
139
149
892
597
138
671
619
486
460
614
819
471
211
176
396
903
429
483
855
565
150
839
486
798
78
598
376
707
771
985
654
470
129
618
660
824
993
322
740
680
817
45
945
663
708
360
226
74
606
71
627
415
25
891
586
157
555
54
692
854
276
963
141
74
369
665
723
868
422
31
350
655
396
7
39
471
765
186
767
500
82
267
826
691
106
670
114
57
678
686
327
914
736
74
161
961
186
915
416
572
917
916
405
95
842
38
160
278
743
512
714
140
636
837
181
774
517
320
430
570
656
76
913
300
51
186
606
366
252
872
68
255
532
158
362
904
317
440
927
259
833
810
549
774
181
779
241
979
438
232
181
524
904
85
874
334
357
126
346
541
977
945
476
942
679
686
557
585
703
625
799
922
669
169
736
705
787
982
476
409
529
353
298
513
885
819
339
410
255
303
49
74
157
725
621
846
187
108
834
888
62
701
616
905
195
533
162
705
949
122
628
69
610
750
258
160
188
850
303
419
308
575
247
473
869
516
653
97
595
898
424
690
341
315
378
16
779
206
832
218
111
824
307
212
582
412
583
630
859
675
36
412
779
377
651
982
615
111
106
725
712
829
79
133
336
745
290
531
575
596
807
812
433
57
839
953
610
319
595
393
991
435
745
523
618
87
723
663
719
820
373
895
415
661
446
18
893
239
42
734
138
210
402
873
816
793
369
125
545
742
426
237
552
883
486
136
703
654
488
720
973
752
435
382
699
70
703
436
371
607
345
713
289
904
623
564
165
907
204
379
603
811
269
529
467
596
325
304
326
467
608
70
530
338
828
307
984
839
435
658
347
58
722
405
232
379
863
16
918
333
415
551
293
317
883
729
956
441
748
422
939
476
693
175
53
114
870
117
660
287
764
274
577
298
538
888
910
931
843
787
811
466
685
258
589
780
349
153
111
295
324
137
137
567
871
110
107
748
134
815
894
956
730
579
201
865
293
926
630
440
803
553
900
814
409
760
364
750
73
984
735
6
615
527
898
183
606
893
806
315
172
446
681
546
921
211
203
722
151
763
917
627
948
68
832
905
39
66
60
371
45
538
420
611
335
513
78
193
767
60
711
831
486
822
143
100
353
40
117
96
730
165
637
545
137
356
364
435
685
291
618
192
340
773
883
802
765
531
142
20
939
488
969
27
758
510
85
436
598
303
988
574
140
717
356
326
827
164
138
676
966
260
655
223
872
54
549
642
414
450
159
8
999
471
717
378
317
58
791
834
166
995
577
435
264
364
953
182
265
665
695
128
103
364
887
247
403
163
379
529
925
742
39
46
924
46
721
384
864
480
82
968
134
505
822
250
298
210
492
649
930
405
748
422
273
672
814
377
797
567
963
415
242
899
23
440
869
567
274
94
450
985
614
95
27
503
543
718
536
553
327
82
227
502
706
471
203
280
637
870
520
925
843
267
19
103
421
35
473
531
340
888
693
962
430
484
945
78
402
756
406
189
471
409
427
101
441
878
24
925
441
181
403
853
101
788
280
147
604
588
438
654
952
505
259
205
763
107
946
128
109
842
757
949
212
122
860
70
307
587
364
834
620
279
639
939
192
380
331
600
241
389
335
195
857
318
577
403
87
567
675
993
884
605
393
495
972
525
361
951
415
784
700
835
553
199
42
1000
25
360
922
228
787
131
680
530
409
867
821
863
419
286
242
348
159
669
861
365
425
234
955
163
150
54
957
714
533
860
553
601
298
427
657
664
226
36
248
980
716
633
128
500
870
940
355
337
543
736
488
265
862
920
806
447
944
784
354
818
941
115
992
813
79
376
656
325
58
227
640
884
38
69
75
59
448
142
698
964
23
934
664
616
802
310
409
571
293
813
504
915
674
70
63
230
642
66
464
582
538
346
102
927
428
878
400
604
110
378
560
725
429
407
381
345
857
430
27
278
33
338
766
296
823
638
611
226
547
633
216
178
166
429
590
709
631
540
978
247
61
191
717
502
134
153
18
928
851
108
388
487
853
68
836
138
597
349
126
473
973
959
44
899
426
28
90
579
226
93
42
127
309
613
561
698
21
114
377
689
176
713
627
743
73
625
603
103
503
411
497
700
305
385
740
491
776
583
182
703
28
157
660
647
466
856
481
623
683
522
969
339
413
159
477
914
661
199
243
201
769
20
17
711
962
679
670
828
885
42
864
393
724
216
454
948
797
238
489
134
886
485
551
773
194
150
713
148
502
451
571
892
25
918
641
639
483
251
929
336
126
737
610
680
779
147
580
649
526
377
105
525
276
831
912
110
316
675
842
68
922
665
636
445
226
201
485
466
859
619
757
655
310
504
695
140
572
993
945
820
385
616
483
657
334
197
907
993
105
757
47
223
455
153
573
542
831
385
585
786
115
123
198
563
682
52
760
971
798
999
685
220
417
716
793
353
589
369
746
127
31
450
380
788
867
909
701
136
229
707
904
810
147
894
11
142
155
590
628
315
111
881
887
774
26
785
850
34
73
875
530
78
572
86
203
517
424
510
867
560
416
691
580
637
801
68
835
201
799
698
373
836
19
365
563
308
280
464
995
604
29
825
36
312
328
771
880
940
413
269
54
878
922
957
436
764
205
250
592
940
585
446
636
542
31
956
873
529
466
364
222
592
868
1
750
493
386
135
722
813
914
642
220
494
987
275
735
846
357
235
158
871
370
771
194
865
52
972
601
253
883
745
563
533
381
200
161
25
933
324
178
823
818
878
401
11
986
882
184
711
955
969
266
988
138
92
777
981
27
819
874
893
905
458
711
615
194
821
288
846
123
253
274
531
99
923
62
334
113
38
185
625
479
766
671
184
489
192
134
388
840
521
141
186
272
124
908
559
476
711
476
473
186
98
311
579
336
575
691
27
297
832
346
801
526
776
561
923
377
328
353
731
456
500
393
176
651
570
67
760
896
250
422
294
798
45
805
133
478
884
650
920
388
251
234
161
392
696
218
156
102
616
424
879
317
599
637
444
429
514
156
672
836
697
468
114
693
290
678
593
872
809
273
967
579
478
377
354
906
744
927
489
547
641
62
244
989
368
621
590
775
500
829
451
842
777
135
949
525
281
703
532
530
119
215
348
84
463
523
12
511
865
142
606
668
339
771
363
59
584
808
967
931
80
303
838
338
526
909
67
986
217
192
905
646
547
52
832
65
722
141
269
599
203
890
936
232
111
160
721
275
36
598
659
771
254
489
298
580
375
278
285
167
799
946
494
372
193
126
377
809
405
178
519
94
817
439
570
810
202
514
824
946
549
800
714
600
148
372
407
867
500
15
512
176
218
438
612
837
178
646
991
151
601
66
430
283
643
206
432
11
318
610
527
588
265
361
624
208
952
641
493
996
403
721
543
999
413
263
50
416
547
39
834
159
899
971
210
901
714
917
700
976
499
782
608
815
170
335
60
168
107
570
518
973
763
602
104
615
560
827
279
252
422
544
581
51
196
305
114
463
622
21
469
113
246
244
592
490
873
109
849
390
734
145
223
968
516
513
141
360
821
290
899
24
404
61
22
380
760
474
209
849
238
349
676
92
884
650
831
117
633
875
209
923
322
445
507
526
206
240
372
544
345
757
340
971
231
256
921
454
535
888
390
132
673
26
265
78
192
917
821
488
640
354
228
8
662
273
72
24
568
37
74
310
508
724
812
161
677
900
124
20
706
215
638
667
497
632
608
222
272
291
785
575
540
771
597
375
32
37
309
376
374
413
130
756
418
766
506
12
704
477
912
183
502
883
536
421
207
613
175
405
671
663
494
682
215
78
591
800
631
876
432
997
521
166
325
289
654
482
44
59
871
25
610
588
262
837
28
556
935
942
448
219
754
138
345
835
812
426
299
905
263
43
869
4
372
671
883
249
270
687
175
981
984
239
444
846
741
545
436
261
423
31
95
215
324
852
681
430
20
890
108
208
274
533
902
681
349
417
270
768
39
854
734
866
997
819
646
208
669
251
720
840
232
890
387
386
495
38
374
129
600
445
434
426
732
964
547
182
770
790
230
884
948
807
833
733
171
67
808
496
564
479
992
37
213
541
868
907
818
347
642
1
161
183
701
29
868
709
701
490
945
113
84
910
950
662
317
305
471
738
495
277
787
793
276
626
217
677
271
129
646
409
130
926
189
795
575
37
752
270
522
628
512
927
273
41
958
23
462
26
224
137
95
289
856
795
526
242
66
576
691
810
761
657
234
231
328
288
444
76
238
913
72
111
29
533
148
224
91
417
925
332
20
467
928
120
2
383
883
462
768
256
1
615
246
392
673
593
903
962
151
677
140
547
201
661
819
774
21
272
172
995
947
175
869
430
605
133
982
259
191
138
979
894
522
843
604
98
319
179
706
632
972
832
669
853
687
161
52
73
453
223
480
470
799
790
597
75
629
646
135
677
760
985
724
480
942
427
132
14
268
46
15
103
854
788
120
663
623
862
97
718
801
961
737
308
484
714
507
893
255
354
694
456
374
409
359
735
485
168
544
946
169
783
880
893
889
108
805
592
55
844
103
400
10
77
365
174
688
63
277
172
598
8
345
227
561
589
788
265
329
224
842
338
797
409
647
206
50
965
235
916
868
723
845
995
659
981
976
622
981
46
116
589
984
343
35
943
101
816
929
977
275
851
436
592
875
518
740
158
170
698
561
704
927
608
814
606
253
272
125
39
263
739
168
64
563
253
35
634
788
70
432
741
670
392
523
626
158
672
685
247
177
613
249
195
461
310
558
845
768
346
300
834
469
105
161
856
158
218
247
407
447
857
639
296
568
514
698
703
748
51
390
80
570
34
26
431
702
799
270
371
445
266
177
884
517
261
318
912
380
983
762
707
191
290
807
414
157
701
837
488
678
344
675
342
158
607
53
135
777
914
633
673
834
871
110
228
507
5
500
466
978
480
676
817
940
422
567
314
423
991
213
374
730
897
50
28
32
847
371
840
836
319
910
112
88
144
883
1
175
582
619
886
447
9
141
617
178
830
646
318
71
966
869
42
515
110
740
906
805
944
574
273
451
712
281
200
506
825
704
637
587
706
286
776
885
665
681
586
968
447
829
764
692
989
241
286
797
77
966
251
89
815
755
978
245
282
439
143
326
276
456
303
98
828
715
322
100
10
749
56
217
646
174
170
186
698
29
72
66
488
476
810
226
403
679
204
783
419
426
622
774
593
187
597
542
660
879
890
966
5
537
722
185
572
482
641
424
740
320
863
367
771
316
31
272
230
229
27
712
669
728
832
353
972
865
487
692
946
908
876
29
185
35
391
248
727
8
532
176
764
961
180
373
488
866
535
228
198
82
738
143
946
615
766
386
324
371
503
951
477
749
808
363
83
342
990
915
800
433
360
272
658
178
425
708
978
113
839
519
643
647
464
294
987
727
753
815
137
745
184
310
367
62
686
678
912
224
819
86
751
71
963
25
40
450
945
528
260
183
330
728
635
250
56
376
59
923
244
243
593
686
764
545
571
382
590
676
487
925
61
565
146
344
912
899
996
633
349
341
170
116
489
576
529
568
213
729
921
365
847
225
931
298
121
664
658
513
522
656
405
225
528
825
738
491
174
427
69
328
79
83
761
896
367
156
770
311
866
213
29
861
614
815
58
86
963
614
827
189
508
372
469
751
675
21
300
539
20
383
501
505
222
445
947
730
301
409
940
161
804
841
994
459
577
359
421
203
275
226
181
972
946
138
368
535
849
250
711
513
188
197
718
376
582
449
401
577
898
861
64
956
559
672
294
282
532
539
112
951
9
415
247
409
203
186
600
826
795
65
283
908
295
627
73
517
996
270
697
921
251
604
160
119
530
945
224
622
81
669
240
521
28
635
747
433
466
274
652
147
413
238
349
401
496
675
833
237
901
312
708
807
413
522
40
350
368
468
113
283
911
234
542
998
296
574
616
17
839
537
425
605
760
773
96
818
395
760
418
205
150
536
250
113
127
779
363
556
600
256
775
167
333
689
244
602
324
108
274
78
693
597
912
455
308
167
646
348
209
134
894
318
82
31
979
82
793
547
936
36
518
418
222
118
72
499
183
187
859
496
148
630
264
922
124
900
445
926
387
12
177
550
707
825
838
843
534
100
692
988
267
918
298
294
618
13
297
437
164
989
827
839
441
185
500
427
264
161
236
322
562
378
220
184
675
697
930
47
936
721
466
486
366
841
388
846
490
100
910
124
579
622
528
770
153
412
163
334
161
780
419
413
98
523
854
802
229
253
55
76
230
951
833
126
796
891
137
290
185
592
82
826
267
327
75
412
349
34
174
276
938
183
668
300
687
256
354
180
897
29
164
292
385
770
567
431
975
784
668
991
577
507
39
495
634
465
88
574
683
984
215
658
947
485
93
641
125
575
157
771
50
901
782
814
434
916
719
337
728
302
17
593
27
757
99
66
10
269
636
203
169
811
575
258
938
557
1000
417
890
392
530
628
886
454
573
591
873
909
92
428
91
979
508
413
589
490
957
999
270
837
432
84
198
326
249
86
491
327
888
939
977
492
481
566
671
612
154
731
305
331
962
419
358
30
383
75
469
684
221
74
695
380
268
788
809
515
289
491
694
347
711
115
980
751
915
590
228
501
171
70
338
357
54
881
388
544
682
398
733
980
198
433
86
723
718
877
213
685
400
517
62
597
379
962
426
602
52
555
677
577
607
6
728
528
766
230
151
910
376
537
265
781
933
878
129
46
70
348
560
868
790
508
723
550
516
367
359
751
80
92
424
995
357
564
775
782
640
955
536
507
741
366
976
590
490
409
10
884
527
340
961
480
267
966
838
474
462
103
170
144
74
772
401
234
39
729
967
735
88
99
399
638
994
119
259
597
492
24
276
376
643
77
758
216
590
658
283
1
528
85
681
180
154
529
553
964
67
19
881
204
365
989
863
712
168
276
700
527
908
759
956
759
17
74
47
211
66
971
570
927
503
892
482
177
894
326
577
176
964
308
322
990
793
223
876
681
245
702
35
722
84
983
917
115
240
585
442
439
400
518
28
281
407
523
507
92
986
73
917
545
933
903
722
902
233
896
6
724
536
33
357
493
35
942
484
371
81
303
102
365
791
996
230
626
497
411
874
483
150
801
996
59
671
871
785
40
811
83
498
180
307
315
576
699
977
554
303
543
933
311
2
853
284
292
667
624
521
687
961
723
296
76
709
889
438
610
382
320
889
572
571
736
665
892
126
595
115
452
453
236
502
279
445
317
365
840
676
844
224
691
747
472
933
670
163
508
376
677
697
252
292
843
974
858
681
543
923
924
679
276
813
388
755
919
844
123
814
225
618
821
102
738
387
387
832
480
661
69
74
864
621
973
777
302
787
477
776
869
572
251
210
221
676
268
109
684
733
243
799
43
301
365
406
126
50
93
939
695
951
20
384
521
402
518
762
761
468
925
347
932
827
560
96
828
611
726
870
716
42
162
229
5
664
125
400
402
3
392
531
219
704
984
493
131
534
355
295
168
162
116
650
142
298
92
358
29
580
685
934
46
619
24
349
293
694
392
862
874
938
737
631
336
262
874
238
138
907
160
280
592
249
984
924
395
407
437
686
440
300
891
721
47
996
42
591
168
612
163
841
372
561
940
668
630
622
269
672
19
202
845
952
451
144
168
780
461
602
874
726
906
860
912
370
134
412
149
672
828
294
450
664
265
423
144
389
156
678
36
884
612
536
838
597
996
353
941
822
620
808
962
615
295
581
381
186
710
85
899
940
509
948
837
185
717
1
34
18
857
711
198
62
689
355
610
527
41
770
402
532
552
138
381
768
542
135
496
324
373
729
625
978
848
44
294
295
208
35
308
669
231
123
64
818
782
585
455
306
944
234
906
400
474
852
22
913
941
906
764
739
358
327
838
448
483
490
232
676
289
107
388
8
255
433
591
746
259
22
515
220
842
327
748
300
525
564
331
381
692
606
2
374
245
152
884
193
916
54
815
803
598
477
387
161
549
512
15
249
646
981
63
3
125
427
101
123
410
701
894
635
692
138
582
604
905
34
842
581
615
49
521
205
125
165
328
878
800
74
720
598
208
190
27
811
177
8
199
658
279
208
284
63
580
710
927
928
700
885
684
111
371
251
948
961
720
281
604
943
425
414
355
254
769
936
772
443
350
196
770
718
874
509
147
10
34
202
260
911
934
467
674
252
904
83
875
464
858
615
701
834
494
398
215
434
790
461
124
818
198
566
722
523
909
714
547
67
310
778
601
376
555
413
22
550
724
37
573
418
654
463
158
636
899
704
858
930
690
605
653
695
960
197
78
329
711
78
553
603
39
749
13
850
102
495
788
974
231
354
364
100
121
714
784
202
771
306
975
174
429
707
197
649
288
972
160
306
110
707
81
556
268
690
98
250
908
150
35
512
76
947
429
859
686
181
126
564
149
221
517
557
326
742
644
296
231
130
25
673
571
517
987
467
759
803
748
832
548
247
232
23
765
583
869
875
953
186
184
591
902
490
65
996
136
726
959
763
468
71
145
71
587
444
406
764
529
532
138
379
541
106
909
334
516
303
13
161
712
391
374
907
893
424
450
749
379
354
461
414
783
400
346
200
314
897
342
303
645
426
975
643
297
772
556
589
366
107
981
819
207
882
749
43
402
89
630
489
910
900
353
823
806
238
994
691
459
471
510
148
266
254
996
42
323
534
783
849
528
872
490
546
643
503
459
859
795
48
806
613
745
360
499
997
984
767
422
243
419
905
427
613
942
368
711
598
668
695
717
936
997
535
916
388
953
435
472
193
440
348
799
814
141
849
453
851
821
35
624
1
666
284
751
546
153
321
405
131
624
593
658
539
403
519
600
743
810
36
537
784
877
762
670
901
916
245
739
932
354
7
183
182
387
504
876
861
104
726
384
701
678
871
984
554
125
407
413
620
889
916
399
423
238
273
591
860
26
88
376
391
889
866
457
960
373
976
768
332
772
375
468
301
712
999
302
692
639
869
560
139
377
277
269
371
917
821
970
174
389
721
659
205
978
566
15
593
152
587
57
622
195
600
745
798
452
42
851
320
130
844
646
290
742
491
535
19
484
285
820
395
964
686
184
655
652
634
320
803
381
903
382
575
20
889
559
129
167
685
156
561
349
959
976
937
739
935
729
794
860
727
384
952
71
374
132
49
904
218
667
408
482
633
975
746
297
749
768
738
624
496
932
648
713
211
127
70
678
75
747
327
734
878
3
228
971
917
793
691
420
395
360
198
529
333
507
192
518
822
231
272
284
456
238
516
669
892
745
314
933
797
307
861
227
881
244
871
686
332
342
109
557
719
156
70
387
365
178
506
916
247
561
522
751
720
879
654
295
768
614
680
707
992
674
911
819
278
266
363
81
920
876
528
579
21
944
403
99
107
56
105
9
276
121
618
477
644
57
203
162
501
961
574
44
387
618
178
513
246
446
841
181
910
682
592
138
465
677
691
526
406
667
764
390
139
270
466
709
55
279
304
433
331
17
48
91
630
634
707
255
93
250
156
755
355
773
339
1
847
566
422
230
292
842
401
773
154
860
447
690
767
508
698
227
998
826
308
610
620
407
301
602
992
353
201
133
276
663
426
37
148
503
207
616
932
798
118
290
98
985
354
108
357
566
574
219
923
304
465
744
93
527
181
643
975
16
470
286
58
397
598
445
335
757
161
316
839
489
482
30
815
976
587
800
183
788
667
502
633
551
545
27
456
455
894
166
165
703
877
152
98
824
416
235
412
897
532
831
332
190
64
835
83
648
595
696
652
925
608
689
437
406
741
648
865
740
482
79
274
954
830
206
698
135
230
963
724
987
584
414
240
340
226
344
728
799
567
25
745
298
519
272
352
263
915
960
562
485
884
78
334
512
537
292
210
632
401
710
508
14
721
214
863
633
152
289
989
957
377
761
786
198
868
228
283
126
361
250
459
60
603
563
693
688
584
692
432
762
775
313
693
574
871
656
181
357
141
33
132
373
775
327
462
547
562
876
448
917
801
744
965
70
617
811
251
987
745
454
258
392
407
847
953
810
116
84
307
989
137
372
313
274
828
543
93
792
298
980
54
41
644
875
78
573
535
396
948
980
55
970
565
340
536
358
11
589
571
646
202
31
522
572
692
355
616
824
152
64
162
111
224
193
493
792
707
540
15
852
507
424
122
795
366
152
807
840
185
947
513
436
626
105
143
667
800
530
170
637
38
581
476
248
175
415
895
128
268
575
421
598
419
639
700
726
201
131
745
474
196
763
762
875
351
290
607
2
150
926
666
191
96
300
897
640
644
409
351
4
504
882
734
102
187
122
499
129
785
612
477
101
216
700
311
355
618
716
813
25
105
133
871
399
884
819
769
906
564
97
565
302
577
476
716
304
811
427
262
509
902
497
709
960
172
390
205
121
842
401
736
334
989
697
829
68
699
535
715
398
992
427
955
170
399
654
317
284
529
283
73
339
553
26
947
665
296
864
671
415
574
348
467
969
451
872
809
356
343
41
492
802
285
435
403
786
211
707
341
178
807
966
932
136
346
810
973
439
925
240
499
859
707
879
500
957
83
613
493
467
145
785
87
998
527
555
265
375
421
888
352
352
577
921
566
782
149
109
566
596
559
657
672
93
935
231
262
105
280
826
422
607
233
970
65
165
206
176
619
467
686
626
840
815
727
639
501
102
980
358
476
270
157
458
242
664
459
394
905
44
356
862
686
178
51
709
168
138
140
456
775
411
243
994
628
893
839
770
377
691
153
948
650
396
689
629
465
166
948
201
341
524
911
267
867
232
133
426
165
12
654
376
31
138
492
423
536
146
181
504
517
985
677
250
704
946
943
476
180
622
743
673
526
957
440
777
233
173
124
511
949
4
9
55
672
176
831
670
291
537
943
186
744
588
897
901
644
406
571
568
435
127
320
605
997
210
200
567
178
700
45
227
887
554
74
305
231
908
740
31
688
850
729
194
445
849
393
323
847
510
392
915
371
731
993
411
659
652
325
748
914
16
819
854
416
683
258
444
989
87
109
807
1
360
294
57
894
684
125
510
275
218
946
406
351
582
877
212
822
446
190
109
416
271
40
101
896
600
682
354
733
602
827
24
646
754
534
828
816
654
825
48
958
954
295
493
337
310
91
176
484
92
23
123
615
267
994
757
704
560
609
790
762
483
610
394
88
294
727
707
205
289
649
402
710
78
72
124
525
665
219
114
870
222
773
186
834
406
927
591
586
968
121
940
136
171
86
533
8
242
19
913
390
662
64
436
106
627
788
931
220
406
19
313
217
645
219
119
488
889
567
509
255
734
43
237
188
28
131
425
707
528
168
805
356
217
2
199
709
291
377
662
968
438
377
636
809
638
342
911
24
170
896
957
238
885
121
414
275
99
446
143
775
664
527
253
309
842
251
946
536
645
5
863
938
198
520
854
265
493
930
723
109
653
170
572
975
416
452
817
782
125
395
807
996
920
287
265
491
194
100
422
787
632
116
819
548
297
468
242
76
311
450
125
80
643
186
87
170
400
153
963
379
807
85
807
511
737
969
855
253
275
237
387
819
292
736
733
346
405
750
419
388
43
159
602
630
546
808
485
387
342
298
353
527
316
702
263
231
399
157
163
368
259
892
397
366
747
26
165
142
386
353
438
40
786
466
298
753
320
733
401
899
785
85
524
230
59
90
746
495
953
490
832
599
564
236
831
16
429
81
712
385
690
938
128
849
326
552
11
938
175
514
775
790
172
268
367
40
689
588
241
983
374
905
630
519
179
22
166
931
563
985
945
796
992
291
683
149
933
229
441
606
523
829
758
297
944
836
682
314
370
110
361
878
988
118
317
574
237
484
511
827
899
109
595
245
71
38
504
574
406
56
691
809
177
5
861
415
904
933
988
719
288
480
818
275
138
374
770
405
845
480
384
190
692
667
985
881
960
597
290
95
364
705
9
168
803
782
362
742
818
39
583
983
413
14
133
842
105
424
359
412
154
891
736
754
934
512
716
515
322
390
379
307
790
573
786
67
620
339
958
579
274
397
853
904
514
353
608
734
276
776
560
574
688
262
235
225
838
196
600
247
96
299
337
964
830
647
806
95
349
565
668
280
791
690
833
605
421
547
536
752
563
176
837
514
915
702
790
252
564
263
846
345
381
373
802
766
829
617
741
739
415
572
988
846
168
963
17
34
536
386
669
755
71
351
756
816
77
25
332
653
205
806
496
380
574
789
571
395
632
245
897
325
394
477
290
778
98
808
413
726
599
986
937
318
19
997
364
596
263
149
841
887
17
268
105
599
758
60
944
801
125
972
213
212
717
411
481
176
21
782
859
801
695
617
407
648
908
19
803
317
732
741
625
779
900
494
681
560
340
488
314
737
28
788
507
232
619
799
903
84
230
91
578
224
524
795
506
744
939
20
191
856
493
111
849
493
130
31
865
11
938
879
5
547
940
344
973
385
336
873
486
91
229
512
988
306
909
603
482
804
683
41
738
821
126
359
310
754
340
680
369
16
521
496
369
202
636
316
931
782
561
449
154
178
340
572
766
463
559
284
122
891
2
546
119
120
858
769
469
327
754
301
658
342
791
267
120
585
603
21
818
833
139
942
475
819
555
974
150
218
82
70
717
842
211
670
97
779
891
456
729
732
663
859
887
82
830
247
930
26
842
279
442
694
20
640
567
330
650
275
505
454
250
264
278
430
505
698
397
6
973
260
960
226
161
732
83
539
977
324
265
91
909
529
472
956
458
223
249
463
533
809
130
926
508
575
2
772
624
813
823
512
228
894
282
23
125
259
581
353
973
173
481
619
207
193
193
591
463
533
446
260
856
869
318
7
740
702
987
996
773
78
635
76
225
336
90
765
447
542
708
885
348
470
162
2
534
287
495
140
498
597
844
148
872
131
665
700
279
162
201
148
788
682
168
363
309
478
333
252
516
499
720
843
55
349
710
727
872
293
126
158
433
896
787
290
538
330
630
889
172
378
692
351
561
425
708
993
175
20
42
409
945
165
983
162
362
107
188
162
436
263
187
909
741
884
438
181
871
188
345
844
690
12
58
223
702
456
606
854
688
613
110
515
559
243
408
138
985
162
410
587
964
193
879
302
953
760
177
500
559
591
673
979
95
544
165
533
463
268
661
677
967
260
320
673
623
908
139
803
482
265
280
486
264
631
498
87
353
490
258
207
814
15
521
854
646
109
105
112
905
931
733
845
701
956
620
534
322
856
484
557
884
956
387
80
4
543
688
299
932
75
708
889
479
203
395
429
871
576
420
16
318
586
619
464
733
588
656
275
495
609
100
48
587
269
841
114
761
428
931
948
588
72
485
364
385
92
213
572
68
885
564
938
886
180
175
684
879
76
548
816
617
63
431
303
489
695
367
892
312
680
300
962
574
365
877
525
958
988
363
812
80
630
618
867
614
460
687
260
3
774
918
297
28
293
386
104
377
386
646
565
175
207
450
378
200
186
161
442
71
997
13
344
298
888
258
998
487
209
496
372
347
111
169
804
416
602
282
624
563
616
902
665
411
290
871
787
783
385
498
707
159
698
671
286
930
304
970
898
898
735
864
694
104
486
12
337
547
826
21
299
777
488
748
894
660
699
383
25
844
951
94
36
567
69
993
178
508
427
515
913
309
611
103
710
239
419
248
39
247
882
529
965
298
889
274
158
440
59
880
116
565
780
600
117
161
667
845
746
658
289
645
829
178
668
942
281
571
940
792
666
637
574
437
235
346
704
387
852
686
464
333
462
483
699
766
705
184
54
610
897
104
239
72
786
121
227
151
464
95
240
953
312
609
641
22
127
721
268
404
401
551
336
32
289
443
735
343
977
360
473
751
981
939
27
679
437
334
594
416
575
556
562
963
385
559
59
384
950
685
78
892
38
444
548
83
337
797
636
238
125
254
773
617
294
133
136
988
360
262
796
454
513
276
350
756
825
371
596
884
424
104
751
758
850
325
781
161
804
855
639
917
208
876
590
502
832
294
366
877
717
519
574
391
322
227
642
992
583
646
612
831
71
836
227
590
57
251
143
499
535
585
494
58
249
539
769
960
295
688
666
543
170
54
616
383
12
361
717
341
341
184
108
412
836
365
235
251
549
169
29
141
470
564
734
452
584
963
45
360
345
493
218
721
37
571
55
487
623
180
990
9
489
715
32
878
972
695
993
713
675
959
238
438
330
176
192
163
461
634
966
696
108
317
769
147
706
200
199
781
545
563
157
513
345
883
830
982
168
480
173
155
276
729
339
793
565
64
776
922
888
410
75
647
931
962
215
276
294
413
528
743
84
843
592
716
632
473
245
659
928
417
103
300
976
359
281
659
543
831
487
790
732
375
330
887
384
429
433
247
562
195
927
864
281
128
990
100
199
897
370
961
204
883
230
6
711
295
259
786
992
987
690
53
68
950
785
647
518
190
364
99
71
464
179
528
977
881
266
295
995
922
952
246
272
821
824
108
521
590
829
719
697
153
634
381
777
244
516
517
369
695
349
235
596
735
705
128
132
743
698
859
297
652
942
608
865
879
938
508
583
202
272
546
435
508
225
229
396
666
799
516
712
136
706
140
790
44
551
443
392
607
323
308
174
764
295
563
553
796
617
517
499
539
208
891
175
490
42
488
213
776
534
392
66
461
569
347
88
116
626
257
906
946
581
388
223
980
25
983
367
43
353
443
831
246
461
165
515
749
612
395
621
398
923
187
950
634
967
652
874
780
195
230
396
383
215
610
531
809
506
282
689
707
797
434
887
255
171
61
376
343
928
680
711
968
397
46
386
150
161
579
890
645
617
26
469
525
411
26
907
522
20
850
372
632
713
571
758
79
161
302
946
192
220
971
127
147
794
275
656
799
221
97
898
12
332
677
190
28
198
254
351
383
566
738
127
804
189
203
605
352
549
638
870
773
975
448
157
678
783
651
306
673
865
586
590
46
102
212
896
932
90
762
779
137
904
589
149
990
92
542
191
625
615
93
693
77
210
748
89
485
543
984
400
434
539
51
749
198
502
524
263
226
984
393
999
731
862
830
997
626
780
506
672
412
912
461
554
804
989
114
804
39
689
921
26
826
751
591
662
866
656
496
627
684
305
142
930
307
886
98
727
953
57
802
631
480
632
56
127
815
196
802
628
957
448
14
51
436
653
111
780
323
229
370
549
930
401
189
79
424
842
930
268
406
380
275
364
397
222
705
812
833
553
735
431
861
86
19
125
708
874
291
627
879
662
371
629
772
189
173
262
545
66
697
55
254
323
494
415
322
243
997
180
391
894
400
971
488
588
467
937
204
605
800
965
305
667
578
582
769
47
722
583
766
671
788
906
481
276
595
367
51
491
784
665
34
683
9
498
40
579
462
717
118
930
763
204
496
964
48
547
65
968
232
650
798
91
42
154
933
412
370
871
313
356
919
505
770
786
900
601
794
505
752
996
40
409
476
61
398
268
184
657
455
946
892
55
199
889
437
28
695
888
610
937
309
438
262
934
766
489
185
304
959
59
28
607
966
913
372
473
168
530
363
859
718
627
968
94
856
806
23
277
740
308
694
470
511
413
922
627
304
772
663
419
781
855
492
939
562
703
236
757
601
427
801
980
187
203
327
742
713
64
104
59
806
427
431
54
701
143
756
390
976
826
963
141
901
361
662
446
677
770
674
24
794
101
682
40
578
559
215
878
757
918
676
63
543
112
151
989
271
45
116
104
138
827
957
899
958
67
433
399
106
409
823
835
66
146
524
827
61
666
288
754
247
454
109
892
894
548
42
578
760
704
845
915
609
952
406
451
450
922
385
892
600
60
323
118
128
851
807
710
590
228
890
725
195
646
85
692
735
699
748
661
654
734
523
680
619
656
867
240
838
999
344
95
132
385
530
324
499
686
841
704
473
576
579
217
99
655
779
36
764
11
204
406
426
895
971
656
13
185
843
984
902
434
193
760
409
607
981
842
181
44
886
793
202
817
906
954
923
382
294
46
637
375
728
337
833
459
986
444
698
352
192
529
347
593
929
979
634
86
111
659
571
227
532
495
526
225
447
430
330
266
348
780
356
333
364
628
456
820
351
181
344
557
776
950
664
503
973
183
517
158
219
267
634
688
313
677
775
891
76
635
162
342
205
860
907
534
469
635
499
361
73
983
336
54
363
893
231
531
731
401
542
215
683
832
321
520
584
625
437
615
496
24
171
539
866
347
148
445
559
684
827
569
882
638
972
474
786
180
670
305
402
765
476
38
427
600
238
193
639
363
984
52
17
746
5
229
493
881
946
310
394
106
265
397
983
543
915
598
341
654
458
895
39
262
131
383
635
556
564
545
89
215
943
110
585
114
432
36
105
49
564
352
325
521
142
879
45
906
892
370
442
279
778
239
856
740
383
810
719
343
223
24
477
628
228
592
59
330
827
882
505
25
302
239
878
380
78
994
455
179
642
177
525
489
630
818
791
166
426
767
533
414
299
171
157
236
707
94
741
459
903
290
468
442
381
784
600
745
39
782
812
757
122
362
201
785
183
586
315
127
291
925
839
450
707
363
408
179
35
151
152
650
688
937
172
530
81
911
150
329
619
706
673
917
953
998
660
586
385
145
487
585
608
760
24
18
111
803
816
667
724
631
63
615
763
455
888
488
132
856
634
782
595
269
553
9
118
909
322
323
818
168
270
885
614
384
66
482
94
759
888
805
470
378
769
347
739
483
910
117
347
628
203
223
713
874
170
905
920
936
743
795
805
84
87
7
421
632
748
166
579
51
925
652
729
113
625
96
988
967
741
702
515
720
890
32
735
943
943
684
174
465
767
762
765
998
632
71
527
391
124
764
492
790
150
542
538
578
815
592
629
715
530
141
534
61
701
881
733
276
739
576
662
190
928
793
821
869
925
95
579
185
238
999
685
373
74
652
598
926
387
523
755
197
751
320
800
228
957
25
633
673
867
160
831
139
107
369
658
940
631
997
383
10
85
539
106
714
119
820
592
375
531
249
915
595
144
751
848
904
882
834
9
789
333
797
745
941
432
231
623
410
610
848
171
411
830
153
216
741
494
608
763
97
101
787
847
109
894
444
233
583
449
581
124
255
326
333
283
349
432
972
90
365
731
382
109
821
275
127
657
129
311
626
740
367
401
25
461
504
69
44
676
531
466
477
231
40
976
31
590
9
442
896
60
952
933
749
66
143
570
920
174
294
962
92
611
958
211
202
64
916
305
206
443
994
918
958
107
66
344
771
781
479
255
108
21
807
530
516
619
579
183
81
779
628
739
657
250
783
63
629
850
900
736
225
991
655
561
224
857
68
670
488
883
504
23
867
52
731
775
927
323
718
115
403
178
992
707
465
891
795
769
663
623
735
185
919
849
340
756
19
952
717
873
868
43
533
417
184
181
619
668
406
217
865
365
341
430
454
824
476
956
134
205
930
787
975
593
756
759
979
568
670
522
976
296
287
974
490
22
669
992
633
14
311
593
628
646
670
874
277
317
32
125
513
332
799
570
248
708
237
63
815
101
377
905
717
702
4
658
795
996
632
479
630
735
941
4
748
352
394
295
159
300
672
667
876
481
108
510
310
15
522
343
858
91
743
437
587
525
607
293
635
972
430
156
842
427
788
530
181
771
912
341
723
647
202
10
284
875
133
183
349
925
312
303
596
746
563
498
121
361
699
494
483
212
67
409
800
174
45
286
435
553
425
196
256
116
11
569
64
413
816
188
532
207
978
913
951
838
859
803
104
722
847
745
870
6
39
106
508
602
357
191
150
428
600
495
699
720
639
823
206
693
236
377
810
673
944
792
489
44
170
950
191
27
769
99
405
331
439
453
876
191
831
977
933
166
478
496
883
347
595
636
6
297
334
336
969
113
311
850
879
533
83
212
763
854
780
126
45
753
300
99
392
837
287
450
439
798
640
496
21
638
422
833
962
310
884
116
932
478
744
169
594
814
21
580
51
432
483
115
616
577
195
493
51
658
763
7
704
79
611
504
448
99
19
30
921
110
722
215
310
318
594
150
880
818
280
57
491
393
711
524
585
254
88
491
531
55
272
396
730
206
529
156
609
486
201
703
473
384
215
812
202
464
287
893
954
246
316
204
344
767
721
680
76
32
429
212
618
20
805
729
316
782
51
886
296
414
526
515
597
416
984
242
254
962
944
837
469
158
276
933
559
228
632
727
146
861
508
144
887
701
588
745
145
31
514
343
143
240
351
894
555
611
882
736
950
258
269
649
216
812
793
551
887
591
125
832
302
545
45
503
625
205
584
324
109
267
350
64
359
177
162
856
43
274
215
395
174
636
675
361
88
754
11
51
245
563
378
628
272
146
48
834
10
658
250
246
900
607
743
388
722
672
131
79
578
637
215
424
5
897
664
757
284
164
883
662
329
735
262
920
27
639
906
873
536
522
541
208
840
940
544
629
814
23
937
231
150
141
765
617
770
297
458
11
768
442
697
637
482
832
784
632
50
810
739
652
690
144
166
83
963
137
427
493
516
255
836
542
116
960
371
81
349
732
878
575
979
50
867
300
804
209
776
8
856
416
997
854
880
576
91
437
350
523
306
745
740
241
975
632
343
781
389
226
724
170
474
317
783
604
971
341
519
599
841
63
767
584
308
419
612
625
296
287
709
590
992
133
424
73
960
586
609
834
495
989
779
338
907
907
691
212
32
356
590
109
543
282
925
465
577
403
915
170
777
116
211
963
105
553
771
685
674
277
241
169
409
320
357
655
574
457
306
70
58
645
580
467
853
569
568
138
334
83
19
717
804
136
573
616
237
468
733
724
345
942
18
183
873
913
557
417
494
409
39
298
826
254
767
520
834
453
549
764
336
313
279
211
426
802
389
337
361
580
757
674
863
10
310
401
867
183
287
233
431
667
63
31
920
268
512
982
591
530
108
988
408
132
359
94
222
568
714
446
491
744
769
226
344
173
480
500
90
505
69
706
282
994
525
763
15
356
868
429
461
169
888
592
551
617
649
617
308
911
897
758
599
143
418
902
954
714
522
594
680
689
84
373
699
642
996
936
415
568
449
545
454
460
212
400
285
995
949
396
596
582
664
801
768
703
559
925
970
80
964
756
188
715
482
884
975
242
190
780
840
373
540
623
944
416
598
431
247
994
394
225
291
127
451
282
610
760
999
344
103
710
8
799
800
712
926
439
169
944
912
407
457
957
464
309
618
420
531
300
42
454
629
132
651
645
988
799
924
986
481
403
60
109
929
305
817
193
399
473
490
801
273
146
172
766
196
601
660
928
486
874
343
178
236
692
993
804
129
813
605
549
927
163
365
171
718
903
368
531
253
592
924
410
143
139
165
300
227
94
199
418
195
174
236
45
414
587
944
102
939
859
811
542
926
378
425
757
979
795
395
696
515
754
115
797
864
182
671
156
676
479
1
590
171
530
821
360
902
410
947
377
24
13
368
641
471
614
847
520
74
537
869
234
430
704
496
556
202
812
24
323
660
289
407
818
474
982
58
467
157
730
18
577
116
608
437
33
951
618
8
978
520
66
266
497
274
662
666
239
561
649
938
727
900
896
530
848
736
933
870
599
782
401
748
764
903
201
419
580
390
949
869
843
631
980
292
128
397
254
23
987
437
990
43
22
595
758
698
748
429
57
488
988
201
120
561
383
116
788
120
240
936
841
43
591
416
65
852
789
527
701
642
425
129
646
673
636
526
918
142
110
387
446
51
223
586
235
216
772
859
269
163
736
599
330
116
293
724
71
281
143
326
245
405
796
692
35
904
65
429
747
940
501
574
17
455
851
35
809
563
927
194
163
645
472
240
625
209
684
643
745
811
89
184
845
381
349
152
520
834
416
603
947
211
160
108
165
451
240
999
926
548
510
973
577
52
706
816
729
798
494
137
106
298
238
279
102
457
978
957
6
126
201
780
792
557
948
527
667
992
680
954
253
469
117
921
421
419
966
859
312
783
20
950
975
195
648
873
449
218
107
692
772
790
383
232
628
755
555
316
832
835
742
337
846
478
787
968
871
739
722
226
833
804
951
747
753
773
807
866
583
72
832
30
571
218
667
144
622
697
939
669
908
389
885
711
214
338
766
833
87
627
301
79
915
805
445
511
448
601
858
597
150
639
303
946
963
477
45
219
753
586
38
520
734
810
311
204
626
429
521
861
180
232
59
133
959
858
454
189
955
263
88
896
682
371
368
170
911
835
591
551
67
379
711
801
642
354
72
176
670
999
1
97
423
393
798
136
25
225
296
584
582
336
654
387
777
439
455
898
619
556
504
732
167
473
943
975
614
973
426
150
65
673
149
626
725
55
437
616
950
677
484
507
833
609
567
38
538
860
715
752
625
932
402
222
966
655
293
798
679
166
445
990
719
205
667
156
338
929
929
867
719
64
801
165
430
564
923
963
255
878
403
982
140
570
865
958
677
290
598
341
575
74
870
324
36
486
28
847
829
402
431
188
88
127
621
813
597
91
384
475
340
592
523
928
639
926
232
223
68
764
917
265
642
832
216
223
484
793
736
397
292
697
724
373
459
569
491
645
585
468
909
386
512
837
711
730
703
97
641
757
955
178
737
336
987
168
134
130
392
302
844
373
818
289
878
450
998
375
949
943
451
583
739
560
233
316
374
280
109
849
327
124
946
288
418
197
875
246
9
31
22
836
710
798
205
562
175
671
8
372
604
468
88
405
622
715
388
974
79
435
171
909
161
322
445
700
899
392
393
773
824
888
871
873
17
977
930
720
278
748
552
52
461
112
499
712
301
474
225
635
187
474
330
501
448
653
895
309
643
632
347
340
264
310
231
801
30
589
359
950
645
349
327
640
493
785
331
62
240
666
535
879
745
806
998
129
972
832
274
996
841
316
416
26
70
485
3
423
110
10
220
832
205
830
782
406
469
570
649
15
611
880
92
168
621
924
642
614
285
354
844
566
859
306
559
245
649
353
751
709
479
906
310
2
271
228
491
238
28
112
966
610
519
265
331
233
893
620
135
383
253
109
150
943
941
942
665
841
928
35
18
805
230
59
469
61
713
499
778
457
6
263
522
89
490
583
287
699
485
438
335
1000
853
243
261
610
156
314
455
443
462
508
877
285
592
451
789
735
373
10
585
883
8
982
811
866
197
507
779
964
58
384
936
960
212
275
274
305
603
786
639
59
790
532
750
656
440
600
86
291
739
275
599
154
236
480
358
755
445
180
843
334
144
883
554
714
906
462
56
959
856
763
318
928
39
830
459
116
61
142
610
193
859
944
618
296
562
610
754
442
401
10
418
400
535
988
67
967
500
409
245
893
668
709
637
614
787
509
544
555
163
661
17
16
513
45
179
534
856
518
923
209
75
724
280
664
923
836
210
205
343
939
493
257
917
426
687
359
160
742
814
812
140
776
578
605
631
472
425
365
559
538
662
907
53
671
227
428
782
360
409
487
612
201
967
724
813
566
662
680
197
693
163
179
585
471
652
491
962
724
232
873
508
336
411
181
478
372
513
914
514
243
880
476
607
40
92
430
340
406
257
217
452
690
626
156
52
680
394
543
992
893
577
298
13
303
286
942
278
324
533
650
827
127
964
731
295
608
552
171
965
866
327
833
852
660
692
457
67
118
727
891
115
908
160
849
180
206
355
90
654
49
757
100
383
73
720
238
102
230
535
840
578
782
786
961
802
798
859
264
395
369
558
76
52
18
281
777
487
82
167
492
807
398
915
540
677
267
764
199
958
515
230
124
701
426
762
205
543
496
448
730
547
210
237
469
515
534
957
690
613
379
531
200
918
99
432
191
178
978
364
68
590
724
575
443
935
274
2
185
757
522
658
739
549
204
281
927
134
821
295
120
505
356
543
929
385
566
113
598
720
766
776
834
69
384
254
144
660
31
522
640
426
446
882
904
948
525
336
709
619
532
116
339
710
730
865
777
299
944
73
258
132
942
838
563
602
150
942
944
983
895
511
774
934
313
258
829
82
47
390
630
181
101
825
431
950
565
255
203
179
412
930
506
134
275
808
177
573
918
804
620
943
86
488
854
429
576
488
607
585
671
245
482
205
483
536
603
942
424
340
246
951
737
233
635
469
948
459
498
842
196
245
955
957
607
701
60
424
268
889
582
156
915
229
685
162
138
439
760
479
761
651
1
180
76
146
287
293
768
415
526
287
711
899
927
523
275
780
584
658
429
709
348
568
741
162
206
782
277
428
314
751
568
898
344
555
23
387
74
813
623
746
982
597
276
884
151
170
980
646
978
199
786
683
5
933
640
572
716
475
345
969
259
923
268
498
903
614
918
413
462
173
193
806
90
316
906
295
577
654
216
658
751
803
677
843
667
212
968
161
1000
995
765
222
483
958
864
353
282
731
392
847
901
593
903
324
615
139
180
953
424
414
844
20
222
519
228
579
215
981
523
524
623
361
927
416
338
695
333
882
536
344
173
172
201
757
135
749
148
452
855
400
381
269
118
431
614
546
780
948
300
441
385
107
838
27
423
470
457
171
272
293
894
440
135
658
170
450
684
833
642
132
731
147
42
368
951
993
404
339
568
232
601
683
992
432
746
301
539
862
820
198
792
117
732
281
603
553
484
445
467
479
200
584
768
172
604
393
437
361
923
964
645
750
327
196
478
555
710
12
996
756
73
188
663
984
799
390
902
512
825
641
480
829
111
40
444
667
803
6
624
147
205
710
57
916
976
638
254
787
14
430
938
370
97
229
714
651
686
783
160
284
255
453
8
604
131
102
376
33
116
550
532
572
82
939
275
548
333
840
842
658
774
435
169
601
820
407
473
283
555
446
358
647
850
448
80
695
28
533
179
130
194
1000
422
375
537
194
870
431
735
73
957
133
102
937
644
895
289
386
66
975
109
71
635
594
579
230
180
8
359
306
585
770
558
163
320
956
300
559
435
122
564
562
841
77
515
544
209
369
988
229
363
538
816
32
837
762
431
582
203
548
515
892
801
469
543
128
787
790
696
261
768
12
11
244
843
972
594
478
591
186
400
475
368
523
386
625
320
124
798
852
663
764
998
810
129
441
488
966
937
75
747
531
297
636
78
788
258
882
899
749
633
174
829
465
873
499
488
540
2
917
106
590
154
139
966
417
830
845
180
680
709
635
518
704
755
232
833
848
405
670
129
573
789
697
469
915
346
583
731
600
662
830
689
438
54
32
10
951
234
285
544
407
387
73
715
582
108
549
912
585
959
462
532
38
857
783
714
743
80
219
883
735
497
439
926
264
483
767
200
829
106
553
590
865
373
180
536
37
730
909
278
424
541
365
567
24
974
489
733
144
589
204
346
223
919
889
617
552
517
972
363
189
264
627
599
55
205
579
768
867
835
515
226
67
543
430
814
374
853
527
284
915
252
967
879
162
608
832
611
41
638
177
624
683
438
922
571
215
825
637
137
906
147
13
633
760
215
871
138
310
271
137
780
29
208
98
573
207
816
607
692
610
448
647
187
522
386
782
914
10
108
613
904
377
831
297
468
800
1000
529
97
105
809
205
611
461
506
126
74
550
915
681
703
416
622
477
379
769
261
229
389
994
622
64
718
498
669
573
545
303
110
586
603
1000
844
640
705
265
492
548
55
152
202
325
929
285
122
929
930
884
222
962
300
301
656
495
708
341
485
666
526
212
368
537
837
373
784
991
353
897
463
107
943
223
950
558
726
344
650
31
509
519
298
601
936
603
488
267
840
938
825
581
181
562
283
398
407
159
558
322
268
790
559
319
889
955
708
324
400
915
358
408
514
559
506
185
267
302
905
747
509
637
880
311
887
995
389
177
758
516
358
336
909
181
907
251
995
502
854
931
338
648
806
378
106
416
210
921
883
986
974
712
389
706
666
899
386
516
825
589
837
749
628
742
47
184
19
555
783
213
398
732
390
910
169
294
493
579
740
179
187
128
63
4
535
194
449
745
789
513
167
20
1
475
300
882
578
118
437
737
925
113
32
65
493
423
697
130
472
398
254
738
840
36
111
429
727
34
422
167
833
17
514
745
178
43
285
599
598
78
627
693
211
632
432
431
558
154
421
326
207
137
851
287
447
52
149
916
72
402
633
211
383
211
819
392
283
202
213
363
712
767
126
485
777
590
810
933
593
447
111
880
274
263
940
168
509
4
69
916
851
320
158
707
187
199
473
659
870
24
421
638
609
563
938
368
574
429
716
960
88
416
487
681
939
992
848
377
606
903
647
58
618
516
535
586
884
16
137
279
54
66
196
510
875
850
177
68
96
689
90
121
643
581
672
110
701
79
689
805
844
899
810
49
549
528
431
431
255
887
827
239
662
796
257
555
59
591
966
314
350
746
563
428
847
755
907
873
72
870
475
743
549
475
162
832
40
63
577
293
731
747
242
239
652
257
500
963
996
153
580
612
83
787
9
733
412
182
499
97
618
587
484
623
204
902
748
986
556
599
942
746
145
996
355
414
769
989
988
907
368
384
840
277
254
47
347
412
545
925
40
667
244
878
871
17
647
935
79
378
730
247
158
200
740
520
239
298
460
195
184
171
528
936
764
708
756
288
592
298
586
503
858
818
727
608
533
885
509
767
402
73
711
853
199
460
422
944
154
40
31
164
447
15
562
842
458
918
393
531
158
869
884
780
726
977
505
904
224
71
910
227
217
478
762
357
307
532
264
154
876
868
63
935
768
303
606
339
260
313
102
37
410
678
926
102
822
855
716
450
919
50
400
229
53
752
112
399
168
689
264
54
285
807
67
220
760
871
420
945
143
719
425
537
463
41
720
684
934
782
475
29
427
926
148
477
484
459
48
173
341
774
346
580
196
643
401
572
896
151
197
785
353
660
234
717
236
971
422
250
924
306
421
315
259
678
391
410
401
467
272
539
931
764
618
963
439
142
428
802
999
43
638
163
305
889
709
946
755
360
217
916
427
25
496
925
738
656
120
404
535
106
493
372
521
578
876
241
198
512
929
651
983
38
263
391
736
163
551
261
702
418
450
334
816
685
983
703
363
333
27
224
223
568
279
175
343
137
358
25
588
122
761
705
841
587
982
861
90
274
468
594
217
354
5
75
410
519
792
271
429
296
696
722
431
563
153
932
710
672
750
506
491
463
772
568
882
725
912
372
173
323
888
257
953
313
932
266
926
835
997
820
885
496
42
787
25
219
945
216
688
285
439
722
640
371
959
279
224
945
444
704
40
256
941
671
373
557
332
484
194
860
622
153
450
746
11
548
290
241
389
543
26
759
20
70
950
488
880
981
530
315
558
445
149
635
677
352
305
904
484
887
109
828
677
982
981
466
513
820
701
306
971
982
332
618
52
66
102
977
317
841
1
855
397
65
749
668
542
135
745
409
226
605
846
325
442
470
82
681
622
807
945
724
27
8
500
434
59
362
373
490
186
215
612
159
76
241
530
491
102
663
904
302
583
375
310
876
6
24
970
268
15
54
189
337
95
612
386
387
787
7
727
387
695
73
602
262
755
431
518
693
14
111
512
168
647
433
850
786
54
343
591
453
664
641
603
675
510
654
734
79
708
956
137
193
760
664
213
766
955
703
217
94
254
177
374
387
712
649
215
233
897
707
982
559
781
640
127
357
254
471
355
587
779
839
178
322
665
437
681
214
126
808
12
774
586
303
164
814
646
914
760
608
766
523
887
1000
6
811
497
745
57
735
552
778
441
969
854
41
969
206
475
706
462
502
805
354
290
163
482
716
526
779
909
105
344
119
620
534
855
554
510
848
740
555
799
865
876
607
682
681
674
574
782
777
970
128
918
520
130
394
156
955
517
343
857
562
550
790
180
753
408
109
547
475
818
839
664
219
513
473
26
110
630
599
254
516
789
435
234
803
585
576
790
424
1
388
533
554
582
88
616
835
252
3
344
637
350
895
988
426
783
512
682
443
199
714
989
939
754
656
597
609
316
461
570
732
959
772
806
730
195
367
637
538
675
756
11
203
33
294
314
599
122
900
705
12
167
895
777
609
217
834
453
496
893
461
312
136
597
61
941
407
243
581
484
451
109
828
305
802
552
970
558
938
229
317
500
579
902
82
584
513
110
396
746
701
769
373
767
729
229
421
312
408
464
322
36
487
818
818
146
974
182
578
942
536
565
448
146
803
767
844
296
178
268
976
68
920
501
363
171
871
406
751
354
157
512
117
179
632
845
917
393
578
632
104
166
441
116
755
988
955
784
303
704
47
989
495
49
337
226
200
45
875
297
77
776
16
250
974
422
942
203
605
860
442
148
717
838
967
390
485
464
886
538
298
745
101
861
483
5
899
383
732
251
945
317
184
17
876
281
171
754
789
317
605
590
266
857
880
149
252
678
935
189
239
346
809
995
730
819
654
835
848
690
622
292
354
6
507
952
1000
736
303
767
361
716
79
373
779
370
702
800
64
557
961
290
920
663
621
399
853
471
732
163
499
361
327
861
884
164
266
854
114
308
577
12
404
975
84
516
136
627
545
178
869
640
746
987
809
744
246
271
295
660
528
735
265
588
331
648
508
225
858
601
745
544
352
622
224
910
264
867
578
999
884
786
131
590
808
428
726
558
92
525
404
283
261
68
938
258
625
385
325
890
490
130
813
373
938
168
933
19
808
83
332
634
410
915
880
367
266
770
654
944
879
170
928
360
138
339
218
928
441
156
746
6
70
150
473
899
635
777
942
171
645
150
764
56
389
575
516
738
350
512
193
26
313
44
133
350
175
536
488
53
228
941
925
697
341
98
205
432
32
499
715
554
898
155
784
15
265
670
870
28
166
81
286
876
999
807
176
716
274
850
848
454
890
422
447
742
275
348
156
779
545
914
761
865
582
306
497
586
521
423
514
127
708
660
181
417
614
181
729
747
549
323
385
44
265
34
263
206
702
665
727
777
216
5
880
750
552
201
109
514
780
55
323
746
119
276
646
595
327
435
848
622
902
741
711
801
852
268
872
321
208
918
418
77
755
265
666
500
710
353
78
816
167
714
278
920
206
131
434
781
462
128
99
729
842
783
733
994
801
218
754
612
263
38
919
187
835
65
248
992
447
953
519
630
912
645
533
761
202
183
4
436
424
97
925
232
570
412
685
653
138
390
61
283
614
222
445
751
632
268
292
881
349
900
857
312
206
622
719
468
779
983
481
24
863
695
275
888
295
526
408
296
246
748
547
840
923
391
336
90
626
91
244
43
146
62
728
783
311
626
507
577
308
754
873
168
96
284
467
113
815
847
875
901
603
16
751
977
651
906
888
985
637
223
829
266
910
804
137
131
913
766
416
471
376
727
542
67
773
970
320
305
341
72
972
127
756
235
436
701
199
514
451
715
125
185
798
195
508
753
857
459
728
461
873
130
545
722
911
151
799
593
516
403
571
266
522
793
557
559
270
716
296
566
768
343
732
947
924
522
300
823
83
983
364
864
522
135
369
984
438
1000
500
971
232
712
13
509
569
599
641
308
765
50
633
469
564
251
74
794
253
429
90
483
340
379
421
539
785
931
651
261
827
495
45
381
5
965
568
788
904
99
164
273
454
935
756
399
389
927
789
435
594
280
327
277
628
383
849
390
670
323
960
142
495
239
112
306
855
644
346
148
841
925
774
265
334
939
197
253
706
1
827
372
273
567
554
596
833
642
558
835
832
235
392
638
289
212
810
420
662
545
748
81
249
260
854
914
546
345
868
861
237
531
996
510
126
96
109
700
376
810
270
234
880
715
583
13
449
683
844
828
780
598
787
179
827
564
994
729
308
779
697
445
546
540
754
27
747
434
75
982
117
894
627
564
939
188
973
870
829
375
939
557
918
930
665
22
635
547
727
391
104
91
512
323
889
800
258
483
987
600
480
497
510
859
551
350
460
963
315
484
356
870
505
292
254
187
598
329
872
389
512
310
117
488
183
870
297
870
652
186
697
8
747
727
5
473
842
839
279
988
443
383
752
274
555
367
813
99
892
352
901
218
960
424
911
908
9
726
921
382
612
808
729
659
395
604
701
405
45
424
923
850
279
181
494
130
879
8
86
298
265
518
534
832
321
254
369
655
354
252
623
577
145
246
182
582
987
777
250
574
547
325
175
38
101
664
37
573
460
813
902
384
429
331
552
672
211
203
875
276
537
239
812
90
626
739
898
530
335
138
11
749
939
517
880
441
52
120
272
746
140
502
553
246
905
512
490
48
598
106
752
692
965
869
543
988
96
231
208
916
944
588
451
399
622
900
8
107
904
922
249
462
544
897
161
625
108
398
662
609
29
39
942
577
527
916
851
54
807
986
934
15
718
60
799
785
661
733
959
244
70
364
136
109
248
168
307
935
667
584
440
70
114
361
943
991
229
212
343
324
11
451
630
396
904
786
954
317
893
305
126
481
870
741
440
819
195
320
894
326
1000
822
784
182
257
24
994
253
79
348
42
876
9
371
83
621
298
825
630
146
284
867
702
365
37
682
472
872
366
929
279
6
143
166
18
961
637
121
510
80
229
639
474
862
443
154
59
187
694
823
767
19
535
804
743
122
486
735
60
362
698
137
638
808
821
364
857
155
439
688
765
960
360
326
12
793
840
485
300
714
580
42
179
370
937
66
475
661
325
200
518
107
256
888
590
3
775
508
691
975
339
756
825
783
321
34
464
83
403
187
772
392
94
629
460
675
480
841
853
825
117
209
860
809
647
416
69
373
337
928
107
61
229
652
738
723
16
488
917
826
63
341
160
673
219
132
138
47
206
484
374
901
390
63
267
464
693
987
449
522
256
335
673
712
204
553
964
369
542
460
824
838
762
647
615
210
237
275
74
88
820
693
132
372
406
812
800
29
348
888
912
452
772
220
960
356
792
285
59
98
576
986
349
940
8
37
755
53
428
977
121
983
543
936
132
922
168
88
371
326
868
663
70
371
942
499
826
273
433
378
615
713
13
817
952
497
660
542
909
87
20
623
24
853
219
128
845
690
685
192
953
205
227
609
841
767
214
406
941
574
215
364
438
320
856
133
238
200
977
405
612
732
388
584
573
351
672
557
22
779
487
421
52
960
793
506
569
724
254
640
568
417
851
331
986
455
350
498
40
106
909
444
358
876
506
987
9
512
313
63
751
6
383
655
415
984
237
615
392
485
21
763
588
488
912
724
55
467
372
66
764
924
646
671
590
76
649
738
674
850
995
459
767
909
475
192
4
682
710
911
873
278
88
840
780
717
310
399
711
148
67
45
980
548
404
148
953
993
336
788
918
710
121
217
13
4
424
823
207
636
260
576
864
373
225
340
352
261
28
921
473
611
738
398
260
846
477
111
788
90
539
657
247
861
999
384
447
284
960
174
304
8
497
737
631
410
216
278
712
718
101
117
753
423
981
806
272
695
525
326
881
571
128
205
733
351
448
769
102
981
643
283
185
211
518
455
228
957
942
612
505
607
848
880
536
978
77
874
119
266
122
707
457
576
572
651
661
602
659
362
398
565
880
436
314
811
72
964
114
334
699
888
886
90
355
220
315
138
623
590
929
563
546
182
430
619
889
842
438
757
295
15
700
4
185
250
944
694
978
162
31
676
778
137
50
943
203
562
279
101
427
31
699
207
827
803
899
288
849
776
741
284
851
367
128
263
692
4
586
476
800
348
122
254
287
17
8
786
452
303
742
540
640
325
382
473
38
114
895
178
419
372
924
820
260
22
614
65
917
223
724
163
757
213
305
40
231
213
621
548
873
610
834
977
148
853
232
576
842
762
378
90
469
491
672
271
750
975
216
891
772
511
776
61
901
78
895
524
830
77
870
199
427
474
431
418
204
712
389
206
280
364
483
473
718
204
898
160
949
287
673
238
827
635
318
941
529
383
473
784
101
531
393
719
999
11
339
226
323
423
727
314
824
620
22
112
935
316
906
230
243
15
221
123
825
857
541
446
855
429
13
801
680
205
257
319
376
14
733
259
414
885
938
153
662
677
223
76
391
133
785
284
380
389
643
836
440
517
976
757
930
364
252
27
897
837
989
924
483
752
837
244
172
585
879
558
247
744
734
905
557
485
69
293
330
234
589
948
292
866
452
497
808
424
309
203
102
916
854
886
860
27
863
408
710
60
157
483
90
957
867
57
55
996
636
738
389
652
127
564
213
149
316
900
968
422
562
427
240
581
384
964
399
472
190
360
452
599
974
791
803
491
95
597
860
603
865
211
536
945
558
828
754
939
896
216
979
486
768
467
675
762
153
547
317
104
805
218
269
202
216
286
396
925
802
143
746
331
35
265
39
794
473
679
951
719
222
375
424
51
433
335
270
580
811
125
397
125
981
993
867
792
795
4
815
857
273
52
991
307
984
509
311
685
64
855
339
715
985
900
65
95
439
100
704
988
356
15
461
974
218
213
422
670
238
741
742
770
951
872
324
34
6
962
21
587
682
146
209
979
759
63
264
631
909
956
55
670
669
334
109
630
422
808
471
222
529
849
636
142
925
24
126
914
10
645
442
877
648
904
128
721
461
299
649
445
337
540
620
185
287
223
694
162
342
238
51
881
200
264
27
813
684
753
880
12
917
435
66
516
312
792
697
897
73
869
38
85
955
500
994
364
431
320
558
531
257
872
80
330
673
798
60
598
108
313
872
84
321
162
454
478
362
793
564
35
602
768
604
101
355
312
392
951
290
482
510
644
905
621
1
964
846
669
292
155
720
416
141
841
387
957
347
427
385
463
689
322
300
887
295
532
364
345
226
507
544
763
560
652
673
812
669
595
939
294
728
92
181
922
679
474
4
850
20
641
676
436
854
936
128
425
502
651
163
182
930
545
144
634
900
505
29
325
485
414
584
321
127
340
36
777
879
421
192
622
889
191
296
181
427
630
473
551
981
948
662
184
34
934
341
457
133
753
204
967
788
195
163
915
533
759
714
213
241
393
753
898
367
369
383
2
376
565
111
312
18
370
119
313
491
541
963
211
760
595
134
106
489
753
402
295
78
7
772
185
315
636
174
502
971
359
713
299
529
390
426
795
851
816
15
191
251
126
946
462
905
186
637
548
961
657
209
521
24
656
394
65
906
459
781
50
679
171
506
68
89
579
875
541
338
869
174
425
87
489
106
591
299
184
850
670
178
181
767
530
54
549
137
584
524
3
143
804
536
814
489
660
396
11
702
204
874
789
137
169
669
864
177
262
514
554
917
795
98
519
874
420
818
423
930
27
82
259
724
766
508
721
204
780
937
807
906
461
563
753
780
946
891
566
81
153
441
619
918
827
305
237
535
988
729
767
319
669
846
338
786
28
593
431
566
750
613
407
457
175
635
342
192
712
443
887
459
921
21
362
56
127
895
984
800
516
2
938
962
476
639
997
546
372
176
510
677
5
251
908
759
806
117
281
792
174
642
238
451
435
232
980
95
648
615
450
857
806
953
527
384
40
287
403
573
117
630
733
881
855
363
645
369
72
748
428
703
358
498
549
723
239
314
680
39
308
247
574
373
470
540
971
963
775
322
159
448
220
183
505
75
487
163
25
961
859
153
16
377
427
51
911
743
288
252
736
69
625
251
1
84
458
156
418
188
359
929
569
662
621
14
545
272
220
827
608
544
382
258
138
461
747
935
474
315
909
511
791
727
594
648
791
635
855
678
842
148
425
150
163
772
844
615
805
404
8
7
444
922
599
960
488
923
206
210
590
351
35
12
405
354
820
161
376
672
906
755
405
283
507
333
467
805
847
397
653
387
201
593
649
419
870
48
352
424
778
436
212
904
671
370
857
767
895
602
769
185
311
355
75
381
226
830
20
910
116
547
297
428
540
727
246
836
867
367
845
939
344
996
536
445
624
369
202
204
29
506
21
93
758
558
488
821
739
949
649
259
19
130
460
586
424
63
244
673
737
244
401
630
760
674
897
388
472
697
566
497
929
26
931
90
705
603
61
77
429
155
985
206
400
451
311
581
403
283
970
591
513
151
512
967
170
478
918
874
788
926
704
516
930
63
2
735
425
175
357
460
844
519
240
684
433
659
638
851
941
856
654
129
775
626
719
100
576
715
900
796
618
745
795
850
377
659
648
791
283
958
703
116
895
417
219
865
713
603
278
868
418
56
262
672
560
442
846
484
658
320
474
76
199
441
500
739
249
632
657
816
278
420
49
273
294
484
598
58
613
939
791
690
386
218
576
663
524
27
499
745
834
427
490
199
935
629
261
264
44
466
893
4
827
864
84
739
250
810
441
862
877
487
388
776
70
257
534
72
355
132
793
811
587
196
167
983
622
234
852
777
908
445
258
280
801
718
602
651
408
393
968
575
469
836
106
44
130
426
803
109
430
747
353
273
25
886
486
615
919
724
182
587
11
45
897
633
813
81
115
465
43
838
584
841
676
203
239
178
658
332
623
193
730
277
543
17
699
184
837
925
76
590
347
895
183
569
660
714
751
513
716
212
503
306
139
557
450
536
11
192
439
195
879
165
997
954
965
92
677
779
915
915
901
78
931
980
791
34
805
671
567
86
195
989
900
717
456
27
13
874
503
237
453
365
443
757
151
508
189
830
851
184
862
538
988
169
557
630
866
313
963
246
312
672
403
708
53
199
98
361
702
949
832
661
630
82
753
302
947
90
749
222
515
816
667
727
193
814
691
829
488
517
336
110
421
489
866
92
681
788
391
132
69
49
574
317
856
490
645
707
884
434
379
536
174
316
810
672
350
411
691
692
412
636
165
456
252
894
649
924
844
376
692
279
227
117
447
127
227
898
439
665
373
281
504
195
615
130
155
347
252
539
113
647
951
427
433
843
868
429
470
545
636
917
909
258
453
112
231
886
553
295
270
119
142
46
978
892
227
329
100
293
871
940
257
873
103
551
822
282
77
113
66
596
130
870
276
449
33
617
947
326
115
109
671
983
900
740
72
966
562
689
967
641
834
749
973
981
933
960
925
577
718
986
805
20
564
905
369
806
363
689
286
423
670
224
407
104
246
132
717
26
157
10
653
395
141
974
712
952
201
533
700
921
193
906
551
307
790
851
378
762
296
972
285
957
702
242
557
478
835
176
990
818
601
698
522
954
148
233
826
319
243
971
180
732
258
588
780
991
964
895
627
382
741
50
251
324
931
991
849
716
783
673
856
350
851
586
553
899
781
728
122
603
102
925
431
744
56
901
942
397
486
33
348
765
513
55
939
590
67
294
239
763
330
196
153
265
801
8
732
13
16
484
663
997
907
390
761
351
405
412
74
641
196
772
694
701
430
521
983
808
815
979
749
858
756
256
836
461
97
131
701
566
601
823
819
300
499
342
175
194
332
179
671
872
815
78
19
569
661
494
566
572
126
140
546
756
533
718
464
964
206
520
652
838
27
101
569
103
319
622
85
6
861
795
790
772
635
578
389
496
328
886
350
826
709
652
277
188
746
476
938
50
734
974
471
900
757
689
54
222
531
79
270
697
50
684
425
305
467
6
361
756
350
80
654
930
779
933
651
582
746
369
494
616
992
593
137
643
693
199
377
384
404
955
78
703
274
640
111
708
828
911
996
424
547
793
880
963
67
957
274
26
67
348
938
805
815
107
366
54
907
973
656
162
943
520
891
568
763
628
798
746
385
598
137
282
982
173
186
285
72
516
730
482
582
898
137
876
626
449
504
747
606
811
325
156
767
966
829
791
389
820
958
202
649
335
922
970
567
164
421
347
566
733
913
258
920
706
760
324
757
584
676
738
366
949
686
431
241
539
708
914
700
896
953
628
915
802
561
388
905
107
292
749
351
824
614
717
121
579
266
256
16
581
181
477
595
297
711
202
854
929
249
864
207
583
646
341
456
787
352
354
393
599
797
554
262
114
349
246
551
614
140
12
503
936
133
124
265
916
95
766
850
909
537
544
923
454
270
671
966
142
954
503
570
597
902
840
420
295
448
474
64
618
389
35
676
156
366
76
880
751
554
687
108
219
727
672
144
965
538
455
250
980
905
441
713
780
464
515
744
941
381
732
408
772
275
996
673
572
568
750
704
612
381
234
269
708
2
874
487
756
9
789
168
123
397
150
690
148
409
379
696
271
347
774
892
558
308
162
875
425
685
608
231
406
245
60
121
719
784
24
180
189
703
22
827
810
291
640
52
883
163
424
294
161
103
742
295
920
482
24
725
185
565
433
910
616
243
141
226
727
188
833
591
146
964
1000
22
637
392
854
390
454
322
405
363
408
50
379
24
689
770
163
796
127
848
864
122
37
203
959
798
227
732
693
21
73
574
572
934
765
966
819
928
977
584
639
40
240
565
498
529
247
855
377
108
161
120
168
395
754
236
936
836
872
297
767
736
270
119
327
63
367
515
49
371
814
921
75
533
81
581
696
966
449
128
49
694
898
301
272
888
374
537
120
504
860
330
328
255
439
601
597
430
329
791
202
9
437
12
594
117
564
426
319
100
793
920
772
419
983
296
38
107
509
434
119
758
574
306
351
884
477
305
705
12
198
73
980
60
530
915
575
399
791
900
682
475
836
996
220
48
670
887
796
882
505
696
284
228
465
437
354
505
518
909
456
439
387
684
283
272
346
994
702
816
849
613
530
820
862
291
269
560
641
880
119
591
424
79
145
348
194
624
488
610
230
854
891
933
621
762
614
770
317
97
23
393
569
563
755
712
807
903
372
720
88
501
852
632
278
129
98
735
18
673
881
589
355
953
280
505
637
281
729
154
903
985
262
746
544
973
366
486
422
329
178
893
33
39
388
146
508
239
333
819
429
745
224
262
508
259
368
392
137
321
544
852
708
3
375
340
385
374
697
397
693
954
405
112
907
745
203
993
715
941
27
723
38
71
613
672
215
176
877
753
987
588
285
713
829
12
364
989
241
935
881
31
513
794
963
398
373
975
627
974
645
466
770
394
719
905
643
114
214
827
249
609
666
187
894
858
464
564
333
616
553
49
560
967
597
481
325
322
403
585
876
307
414
545
258
982
988
735
747
427
992
665
644
39
969
640
682
781
771
328
799
254
77
162
853
686
655
504
151
827
600
581
330
346
997
454
219
467
651
741
785
525
584
338
187
617
954
157
230
691
973
767
252
304
137
861
573
733
806
701
157
296
777
8
61
560
954
325
605
544
683
500
887
188
613
804
467
111
144
156
544
120
714
65
962
38
144
206
691
129
253
992
238
864
781
101
610
752
413
690
22
751
371
946
544
94
587
697
280
418
976
37
459
764
664
305
43
351
356
309
50
33
195
375
842
991
565
678
19
536
304
288
417
847
697
579
946
107
443
937
630
763
504
197
292
584
379
895
758
775
893
170
337
650
3
160
592
276
519
783
105
57
835
113
11
443
981
922
577
814
338
596
975
137
345
305
743
155
406
242
82
722
995
762
292
393
633
461
153
526
39
589
990
972
228
720
485
885
765
229
52
311
695
15
722
993
883
819
52
266
638
683
510
1000
541
360
179
297
299
935
363
72
358
536
882
662
700
771
413
377
953
442
211
235
499
166
978
184
716
761
399
766
922
660
117
558
806
126
498
678
390
771
595
340
617
728
99
718
692
844
946
367
197
402
457
56
835
263
542
158
360
732
561
664
914
146
866
500
478
942
954
43
639
928
388
662
192
584
349
655
353
477
751
176
535
302
348
611
688
633
158
401
196
188
810
476
188
322
169
332
917
492
669
254
542
627
313
350
268
725
259
892
270
475
189
874
278
401
440
888
984
826
5
129
669
955
71
828
589
505
700
473
670
597
651
934
29
88
97
9
666
127
154
971
449
463
757
416
151
978
373
65
885
979
452
228
745
6
325
299
844
325
446
5
236
796
511
137
380
520
997
105
917
512
82
34
548
680
765
14
676
540
216
794
332
432
49
450
601
474
260
523
412
147
25
683
72
181
424
249
394
360
418
785
588
994
96
545
359
39
276
775
814
283
57
738
839
592
776
853
586
929
174
538
597
756
242
183
861
477
350
156
812
762
791
941
855
978
780
264
535
425
288
577
849
796
841
360
537
46
541
494
413
894
133
383
902
276
897
615
25
377
494
654
980
339
687
531
331
300
29
471
578
249
171
196
528
23
466
952
470
927
925
370
612
621
368
947
632
351
848
271
484
127
28
108
774
146
197
142
141
628
77
439
64
244
347
693
448
468
118
929
136
526
183
615
231
102
932
68
756
572
318
634
671
355
53
363
763
927
550
811
243
102
772
159
130
525
229
37
696
654
868
360
281
159
485
936
787
352
605
881
12
149
457
632
795
156
816
909
633
598
984
92
11
236
110
309
202
884
406
990
731
831
505
755
947
280
419
310
463
917
41
417
259
846
147
141
353
425
176
288
853
991
871
369
50
56
10
486
977
346
72
232
526
936
635
105
761
843
734
925
560
654
179
453
89
149
68
742
892
441
320
757
595
839
88
432
282
502
340
671
656
968
716
745
958
796
17
162
482
921
340
372
198
748
891
608
681
698
2
726
24
696
725
199
902
18
639
284
263
71
202
959
421
892
55
443
439
592
155
979
792
566
553
88
264
980
887
694
908
964
396
347
687
983
382
284
108
35
526
217
762
711
454
528
175
647
218
47
809
562
138
695
344
926
593
48
615
252
868
313
693
173
170
328
656
728
253
881
508
769
873
126
585
969
491
866
513
701
180
220
471
963
733
573
54
606
330
706
526
355
931
707
615
483
777
617
309
569
992
715
274
459
298
75
651
385
274
243
962
261
449
945
781
275
723
283
643
288
283
191
390
990
219
856
767
413
511
389
638
195
911
286
625
941
531
115
317
139
605
435
458
327
998
156
683
663
500
441
434
587
865
747
672
38
828
824
861
520
71
304
513
422
193
22
249
142
293
356
953
943
661
697
79
992
451
614
599
682
905
391
394
175
882
423
103
81
958
363
585
321
365
11
192
534
359
695
967
816
411
275
766
191
766
989
23
993
516
43
565
237
320
247
429
137
279
22
135
173
316
759
210
475
573
901
86
860
984
81
654
534
196
295
877
353
424
446
848
518
673
503
621
790
4
176
928
589
136
286
640
860
771
927
445
208
456
114
771
608
664
869
412
924
62
591
646
618
595
105
942
251
105
27
445
818
693
932
556
542
918
344
860
449
257
768
544
990
916
792
252
951
230
827
980
158
397
166
246
793
224
875
264
676
884
495
244
521
430
645
298
15
969
401
605
533
925
759
665
460
804
587
473
356
214
209
412
694
688
164
490
447
20
764
320
633
404
767
892
781
664
859
754
402
260
681
709
756
548
806
471
604
981
413
81
171
566
415
991
264
891
438
904
305
482
353
398
112
70
63
312
368
588
812
683
84
389
621
722
837
172
342
993
183
625
451
439
454
618
909
399
113
55
368
54
897
181
515
45
313
226
590
123
399
730
978
794
292
824
312
869
839
22
678
730
407
797
406
890
60
304
371
136
489
191
930
121
451
285
394
804
941
348
425
520
49
792
851
795
225
399
191
243
690
655
596
10
867
241
10
267
969
619
115
189
382
397
9
723
37
337
626
190
761
468
645
414
503
743
980
682
411
69
986
259
955
360
202
596
703
452
777
656
875
341
748
950
513
230
970
997
968
288
811
924
400
869
703
820
169
160
255
287
324
897
904
353
853
816
24
539
41
983
9
412
15
994
81
387
573
324
476
917
440
770
241
417
397
12
63
497
134
818
448
69
244
309
77
933
531
992
359
289
659
1
51
417
252
62
289
463
713
268
551
873
429
628
869
496
507
725
76
831
871
530
992
158
378
585
253
579
582
302
875
48
925
102
793
596
410
461
324
801
282
724
902
497
839
695
538
391
251
635
111
975
201
240
22
653
217
612
739
490
819
7
454
379
965
366
429
679
856
248
574
607
819
799
483
734
894
824
448
960
718
854
937
239
495
362
660
159
154
877
592
192
288
870
297
60
94
671
459
213
333
591
779
837
289
672
316
173
785
163
884
178
617
914
349
724
138
370
549
588
350
713
64
478
550
57
269
191
490
247
944
826
43
983
185
619
574
459
555
617
568
685
191
862
579
950
52
210
232
642
644
199
843
801
290
617
191
293
497
554
125
492
12
736
979
707
959
916
211
339
805
910
303
968
993
657
708
133
787
298
558
549
241
891
917
914
237
800
597
263
221
214
937
27
615
521
511
557
854
450
385
926
688
14
458
218
669
264
385
361
713
792
783
795
271
751
716
911
889
839
974
268
892
379
261
6
528
123
216
796
110
871
163
891
663
332
547
555
77
923
317
188
38
341
914
8
831
845
103
992
694
122
622
125
519
505
501
678
608
117
961
377
626
172
986
834
91
284
30
533
529
146
839
8
895
323
13
582
971
262
781
188
256
807
447
323
270
652
62
194
300
221
240
409
364
360
408
404
553
131
457
924
11
695
468
493
477
986
148
770
730
409
654
110
276
277
739
424
317
94
523
667
389
59
750
870
12
379
86
674
418
53
863
746
658
816
702
277
414
834
608
17
426
554
442
947
745
840
192
719
942
170
65
485
5
175
232
575
898
271
18
762
661
470
414
539
480
720
75
888
400
266
354
561
184
620
542
715
386
675
170
129
875
396
149
864
879
294
549
390
147
601
33
703
927
623
305
893
332
315
455
937
79
462
732
264
730
232
149
748
348
37
231
360
902
815
439
664
850
836
17
700
93
124
528
571
852
394
901
229
141
184
598
546
172
521
430
711
426
4
613
451
147
704
897
305
709
610
983
445
615
675
996
124
943
703
464
849
630
381
134
827
378
822
950
39
856
849
683
547
549
92
60
295
857
680
674
698
981
956
639
778
738
160
714
479
684
482
594
56
828
230
152
102
779
113
698
874
393
798
736
66
837
979
250
64
556
141
322
18
753
130
748
802
901
368
358
999
248
297
965
616
455
201
208
133
326
62
72
826
14
553
548
57
270
526
695
350
15
641
377
641
6
863
65
39
415
623
399
798
920
355
648
979
281
999
813
443
461
780
897
426
46
266
752
890
103
261
23
304
641
555
920
243
515
950
935
447
968
256
183
588
2
145
729
994
401
850
125
27
568
711
392
638
291
451
860
858
160
927
592
631
672
788
600
455
951
107
718
734
634
621
757
643
722
609
553
533
54
821
598
628
692
115
227
804
658
614
728
771
364
273
352
837
617
716
901
765
227
71
467
917
128
351
956
15
394
563
206
361
691
400
878
267
515
802
821
818
43
148
255
791
526
99
964
726
948
392
664
674
98
967
855
129
307
879
738
3
834
366
261
258
292
318
945
22
576
109
895
568
456
464
348
530
379
550
158
148
43
997
859
93
9
905
351
683
931
193
759
864
15
835
763
392
932
626
512
56
748
134
272
617
405
382
127
384
867
658
353
994
381
534
604
5
192
841
647
378
662
856
216
782
984
418
471
941
601
22
669
894
964
218
932
139
522
771
383
127
677
142
520
447
979
786
434
361
20
683
334
57
322
263
923
82
18
611
343
965
269
421
780
952
182
674
312
104
445
431
285
753
29
443
292
474
88
509
826
237
597
646
832
424
398
155
645
698
38
628
281
527
206
785
624
317
619
773
855
709
948
236
343
565
713
26
334
576
138
888
965
235
617
861
561
94
796
383
686
887
271
318
116
66
544
195
798
771
215
968
817
69
319
518
610
515
368
918
954
788
922
233
766
140
452
228
375
911
846
921
713
196
157
337
848
19
103
178
354
76
366
383
317
144
995
707
142
797
28
508
967
918
48
932
147
819
510
526
231
502
556
128
849
676
516
565
137
695
449
284
703
494
890
542
635
929
432
217
709
688
899
584
812
53
624
650
544
379
827
767
123
88
120
257
999
349
953
774
41
393
218
905
753
574
253
346
769
889
248
586
747
635
402
632
913
298
205
780
688
565
919
803
253
546
667
227
435
926
524
549
4
776
683
357
309
174
45
312
234
639
589
861
573
601
455
378
297
780
982
139
620
417
880
183
460
714
274
624
631
768
645
456
100
495
565
202
718
741
701
49
114
882
772
238
837
651
11
583
452
892
229
927
965
172
730
260
899
955
214
974
341
107
252
461
514
58
109
823
763
842
476
990
364
591
154
948
234
798
845
85
449
788
989
918
451
420
13
545
964
964
462
248
938
506
215
599
291
954
397
249
809
937
668
377
362
449
269
395
459
89
586
96
301
135
21
916
680
501
649
315
467
829
456
630
995
582
997
893
316
24
913
233
200
412
90
489
711
526
205
545
418
947
8
743
579
104
994
452
148
166
28
472
64
340
91
528
113
965
566
523
562
85
366
573
902
857
798
124
289
220
233
562
684
766
563
863
276
623
922
736
516
474
363
644
932
546
986
835
14
517
555
244
572
799
754
691
401
590
60
330
554
437
691
697
205
745
169
47
922
871
864
857
130
949
284
545
696
570
977
442
864
801
676
57
201
796
680
456
846
442
583
389
91
29
108
425
264
983
245
934
946
24
863
233
793
983
692
582
604
665
884
5
861
788
376
127
608
50
924
259
448
778
984
47
419
478
590
832
683
820
998
756
293
255
138
311
782
487
852
708
958
522
503
952
70
833
755
949
490
496
256
340
121
782
515
993
40
826
443
255
287
427
957
130
287
980
527
516
125
798
747
535
784
834
874
749
499
884
720
773
576
902
506
360
382
980
38
594
740
867
61
168
606
646
763
103
745
353
180
454
113
827
673
680
767
103
775
412
441
948
402
267
362
996
879
232
492
23
245
877
143
576
48
318
836
82
201
446
342
16
501
360
77
470
88
383
420
698
482
267
48
813
814
439
105
834
526
190
856
711
136
754
510
796
604
117
47
442
489
196
224
94
341
799
406
252
712
355
516
169
775
970
171
6
761
807
57
422
357
116
666
273
738
513
794
171
151
276
640
129
812
455
874
445
437
617
819
239
875
888
763
803
190
761
439
14
7
815
960
591
113
117
796
898
84
541
940
333
214
694
58
80
111
427
225
152
111
137
883
185
116
212
730
433
524
982
596
747
678
504
781
117
678
351
949
509
430
310
436
334
554
596
737
859
116
718
25
276
204
617
785
941
30
99
25
502
592
837
77
256
929
429
700
92
651
96
52
794
735
607
116
332
540
922
323
994
634
877
450
847
277
942
353
101
370
722
721
367
231
409
850
698
853
831
356
549
164
83
902
482
382
16
212
526
789
959
124
573
84
190
970
117
46
580
325
912
391
759
34
863
553
918
490
550
643
52
329
331
942
67
60
876
151
650
654
338
38
238
818
82
286
725
463
52
80
779
873
425
452
752
247
111
454
233
519
78
2
209
884
215
631
652
997
625
441
131
623
852
276
661
416
494
492
624
576
84
739
18
368
897
865
710
889
575
364
641
987
51
806
107
958
284
355
367
491
757
749
821
353
492
128
900
464
615
676
650
345
102
369
707
405
446
992
970
163
378
255
854
302
707
11
413
398
550
542
993
271
956
390
307
184
965
477
23
505
669
71
979
55
706
743
141
71
953
592
300
619
853
895
273
318
967
821
73
455
822
985
133
914
90
470
127
860
439
352
392
785
143
952
242
354
698
757
692
467
218
424
257
84
362
354
502
663
906
91
980
519
832
165
45
988
989
110
757
83
978
51
795
211
876
672
823
621
833
367
267
479
359
92
792
837
345
757
109
326
464
995
894
109
607
813
710
450
475
923
839
317
231
528
833
561
401
952
403
577
813
783
5
796
469
147
107
36
641
290
641
488
413
934
611
114
88
730
160
290
637
733
663
834
364
16
563
940
534
413
747
149
539
915
226
183
518
430
764
396
38
455
884
606
572
698
381
279
7
855
55
426
363
551
899
21
241
911
380
490
215
365
757
588
601
60
634
999
506
677
37
115
88
573
378
743
278
874
580
950
2
581
505
853
118
798
579
932
865
899
157
345
602
842
761
828
31
849
764
971
867
365
521
49
165
543
177
157
94
513
623
55
996
324
147
34
968
780
325
84
58
340
635
840
408
887
57
105
299
437
687
211
122
808
990
142
773
841
864
128
780
36
140
352
817
338
470
549
863
410
838
514
398
895
56
973
494
89
708
819
556
944
955
489
783
510
500
101
109
782
815
45
507
398
389
912
66
785
390
987
165
181
619
81
403
405
53
107
708
372
587
647
136
152
802
752
503
762
747
320
870
19
707
737
324
498
929
860
246
50
74
95
422
393
959
13
964
23
791
930
977
26
668
910
302
443
599
895
485
489
673
65
313
299
285
54
873
840
538
366
128
309
20
172
402
623
169
714
31
595
348
668
649
997
572
186
240
992
549
782
130
350
325
890
565
470
372
708
355
445
378
882
377
350
374
715
368
449
56
812
548
284
358
534
83
420
362
174
310
212
638
516
945
89
957
323
183
736
133
344
744
12
421
633
421
633
512
313
607
428
661
463
637
458
896
443
487
410
584
809
542
445
838
959
692
129
391
786
962
158
590
885
258
326
113
353
576
615
864
793
207
313
237
903
32
814
617
968
13
91
562
624
380
901
555
504
794
423
620
777
997
414
378
106
67
926
293
281
417
311
987
618
89
531
481
247
763
758
144
547
95
890
944
368
683
858
327
94
986
554
665
294
988
799
765
472
268
9
364
391
399
119
891
530
282
907
17
543
94
41
705
943
42
68
494
869
972
96
781
493
223
80
684
510
806
484
911
220
91
594
713
890
730
877
615
446
450
635
125
75
704
629
18
947
878
506
136
144
922
596
826
806
828
136
325
705
299
19
381
690
375
937
374
951
493
191
52
602
676
502
722
910
123
843
436
346
430
744
247
770
117
476
106
252
897
282
335
437
349
87
907
912
274
183
955
706
17
995
24
952
486
364
599
705
416
732
326
119
674
265
205
495
40
192
702
181
954
601
414
974
187
510
403
432
231
286
799
484
504
372
608
812
127
868
895
757
118
705
713
905
322
34
177
100
323
971
80
347
854
46
326
966
950
506
226
405
188
167
411
300
892
619
707
754
98
425
833
302
419
412
164
704
664
279
168
518
245
510
290
426
934
41
249
376
489
188
690
920
55
123
119
593
985
568
883
751
926
434
701
72
598
871
929
839
658
531
313
194
478
916
421
791
417
331
387
652
431
326
826
584
426
491
1000
220
822
148
425
579
195
759
81
92
706
852
326
162
274
911
420
702
84
898
295
528
69
77
824
159
487
345
397
360
541
556
43
688
300
209
678
453
826
445
335
733
505
504
378
515
80
661
767
610
760
209
423
706
97
205
629
853
13
588
161
644
507
718
573
650
45
582
616
928
602
699
332
16
648
233
705
434
86
938
140
589
342
341
200
905
305
8
215
205
819
811
383
602
761
896
915
641
532
404
670
46
950
112
430
161
115
839
658
109
834
842
135
783
542
466
359
975
499
990
947
386
228
947
596
750
786
194
317
67
465
679
800
728
965
130
711
391
899
888
706
593
740
706
695
422
954
626
671
68
136
971
993
683
385
105
616
791
76
811
119
446
388
99
823
419
693
778
459
982
940
346
77
256
681
635
909
683
296
178
891
900
230
429
435
185
820
828
804
693
354
199
167
895
566
110
985
987
657
638
891
565
307
457
644
500
843
285
50
810
909
488
965
276
508
100
623
705
252
595
579
27
37
481
489
872
103
231
792
867
635
66
143
678
636
876
62
709
802
906
876
470
503
868
473
858
806
832
782
958
654
579
180
547
951
105
206
162
316
618
76
454
688
671
495
570
814
45
157
464
874
624
170
378
155
774
335
188
730
677
872
985
559
650
680
22
297
758
710
121
354
886
331
754
440
38
859
247
910
826
564
996
700
979
533
150
556
245
759
957
554
242
687
837
622
632
246
322
868
530
75
158
72
171
277
273
605
697
505
782
366
379
611
897
91
710
430
427
507
596
438
525
378
289
219
494
428
803
653
751
512
320
730
483
155
453
697
168
766
353
45
857
425
292
462
76
114
793
484
232
668
362
7
693
524
583
259
44
550
657
50
626
853
499
377
89
488
120
500
639
404
355
664
575
820
962
503
969
437
724
19
589
553
488
738
722
199
989
257
114
863
901
968
114
251
824
161
995
775
785
58
576
173
422
604
503
706
224
975
994
919
58
855
384
779
773
491
605
389
822
426
539
100
717
584
314
20
595
86
734
419
354
771
454
432
615
889
980
847
231
869
263
447
195
349
482
561
561
915
586
21
446
101
297
663
263
235
589
898
69
688
92
635
347
899
480
23
562
315
664
48
585
60
537
32
414
693
90
460
685
900
933
358
122
342
679
682
428
179
150
754
120
951
100
830
459
634
986
297
932
672
336
841
713
693
435
150
159
456
369
381
660
271
955
658
107
794
721
325
837
611
890
564
148
477
269
219
382
427
77
394
156
234
956
419
504
826
893
326
580
378
303
820
121
747
274
76
1000
792
876
358
109
921
463
617
245
903
83
701
871
562
523
771
405
486
954
822
180
310
869
982
314
412
810
359
521
134
346
815
347
714
946
951
358
208
621
988
603
575
734
979
60
980
909
980
807
106
793
371
435
935
305
525
520
24
106
414
70
779
234
534
483
596
252
745
947
47
797
252
175
462
117
933
33
358
28
697
930
196
764
349
807
811
331
688
173
729
323
235
928
268
622
996
633
979
67
154
498
497
935
447
586
325
64
241
637
430
526
1
495
765
41
941
313
11
727
119
592
890
367
147
647
377
92
974
261
21
292
928
144
363
577
294
297
140
837
253
553
565
798
899
359
460
980
416
326
455
628
228
229
762
38
55
866
274
640
407
671
853
378
963
32
713
189
660
11
764
863
112
612
591
136
107
733
546
673
562
708
47
482
268
706
783
391
182
248
967
449
798
851
183
507
359
80
639
755
274
340
853
730
125
361
870
120
81
656
138
750
370
186
68
262
686
100
121
352
74
679
4
910
869
573
154
18
731
983
266
600
694
711
33
418
386
881
624
266
287
722
685
428
967
985
807
917
706
481
466
582
844
705
424
890
467
743
452
85
769
466
22
476
524
531
321
795
649
858
511
924
739
50
698
816
806
705
455
87
174
695
74
589
666
229
959
253
716
1
659
638
44
788
143
899
874
597
787
353
449
896
447
417
772
510
733
464
94
455
237
58
648
403
63
96
528
446
479
634
417
566
863
548
71
501
442
727
84
753
479
198
474
84
684
443
68
195
622
167
481
229
804
968
738
364
954
651
225
46
699
454
707
336
511
47
619
450
316
993
683
810
591
288
187
818
135
717
941
146
956
17
994
537
868
270
698
977
467
497
606
647
124
196
957
237
519
410
268
30
15
995
609
697
881
926
700
863
948
867
862
325
813
700
218
287
92
433
267
58
564
680
74
492
251
921
929
822
624
877
219
692
148
617
674
881
339
495
893
676
333
582
234
839
743
56
737
910
224
909
756
886
743
416
331
390
21
42
179
121
997
833
356
696
452
925
276
22
107
449
788
967
633
3
425
411
998
871
812
747
491
332
395
482
584
708
374
910
514
340
707
734
91
233
553
117
799
991
372
887
649
552
170
522
656
371
47
109
13
939
319
672
229
981
919
148
539
206
745
821
904
241
865
187
756
280
236
100
463
977
688
509
168
369
460
267
243
924
480
314
139
355
934
975
777
490
412
254
980
321
26
785
660
331
506
524
589
352
188
364
632
475
186
602
276
2
838
587
100
39
650
949
622
71
566
493
610
799
394
270
488
594
585
302
991
128
391
162
543
177
614
957
167
79
780
218
914
81
613
894
866
632
66
946
837
698
43
987
731
369
166
59
404
306
577
898
551
104
840
984
784
260
448
262
620
228
306
661
517
6
845
440
446
798
85
977
767
557
43
775
305
636
398
406
617
345
187
571
385
955
636
690
796
563
912
251
493
283
729
645
439
429
220
392
579
711
453
422
736
980
285
609
551
719
972
809
608
316
130
483
135
118
177
398
740
427
328
988
753
864
619
710
615
3
167
140
667
769
75
596
392
863
957
807
872
382
70
512
750
912
397
899
483
548
883
488
57
752
173
389
592
427
857
878
488
361
236
874
851
986
46
220
935
465
406
631
254
237
517
794
843
521
249
384
857
733
845
704
326
422
394
222
442
105
609
567
169
363
716
394
334
642
930
147
599
466
68
919
891
204
372
502
918
95
471
242
380
967
732
499
371
984
964
364
236
784
536
752
863
583
509
181
956
175
287
333
387
261
654
963
85
221
768
842
271
264
863
210
67
870
941
641
616
572
693
306
925
440
265
374
535
47
250
713
21
329
454
66
48
517
588
641
372
198
1
407
764
698
988
399
278
157
2
53
696
86
287
905
234
722
100
6
829
222
681
35
372
548
569
431
311
972
687
794
921
228
874
473
366
722
173
490
420
663
233
916
304
617
658
394
679
783
990
757
238
258
274
573
714
623
852
42
367
491
96
859
162
45
288
528
948
182
752
172
892
609
639
18
309
124
483
634
829
362
745
440
521
474
98
200
193
584
134
11
597
361
477
745
679
731
79
60
326
557
562
835
290
122
69
351
103
364
14
618
818
123
501
979
374
102
949
561
216
851
633
172
557
849
437
968
349
673
111
594
555
325
696
515
854
11
619
962
213
63
138
227
108
230
438
71
348
269
714
631
531
625
984
556
209
1000
220
27
723
773
620
977
474
575
495
85
171
782
284
47
154
348
685
235
504
187
742
98
18
242
998
541
550
534
518
116
401
689
634
35
671
906
799
917
500
875
796
698
121
910
860
304
540
421
989
563
411
916
824
287
403
917
997
638
925
533
788
695
597
928
240
597
266
625
642
764
668
381
431
475
83
362
103
532
434
486
699
787
353
92
784
123
632
556
613
806
371
42
349
256
863
408
787
946
921
124
35
550
933
208
970
456
379
365
124
474
961
925
833
888
732
728
130
7
866
775
837
35
746
348
785
351
96
309
894
315
781
441
96
276
705
37
725
785
981
425
49
924
159
729
95
259
842
4
739
171
467
788
360
235
370
247
990
849
504
350
987
572
353
919
767
442
649
986
988
153
455
602
922
68
90
169
429
963
129
353
75
836
413
894
452
303
605
942
692
906
339
88
482
98
404
915
653
843
727
717
537
496
162
27
853
87
193
726
831
233
711
792
656
623
972
214
83
447
677
185
237
188
880
472
219
917
89
753
112
595
492
808
376
931
715
674
426
4
892
269
407
229
130
508
770
217
618
682
294
743
755
675
611
349
661
644
149
77
344
938
602
428
631
361
737
951
668
380
351
782
452
476
686
44
374
686
439
277
200
286
817
961
272
706
724
752
954
993
266
280
524
609
262
219
761
872
324
869
476
115
369
676
86
519
175
956
135
597
633
595
363
556
953
629
503
55
934
440
502
451
793
758
285
251
764
779
470
338
811
508
692
504
402
827
311
983
171
936
323
930
742
510
215
301
687
351
388
136
827
367
498
53
618
407
732
652
392
889
615
628
591
143
413
596
957
115
555
48
822
402
829
371
285
566
245
601
66
372
611
390
248
862
819
731
975
168
795
107
393
587
863
93
769
695
987
885
782
255
13
914
432
222
536
443
883
429
496
46
819
400
920
931
574
360
503
369
380
652
875
884
563
703
484
434
414
174
960
582
769
144
751
477
27
972
583
582
466
39
979
224
225
669
707
444
245
375
486
109
817
24
730
922
86
644
399
812
50
369
274
131
102
464
69
257
158
436
879
473
748
31
346
461
243
259
829
330
545
719
580
893
172
129
608
799
631
433
470
215
409
793
721
986
668
529
100
573
965
368
863
635
934
387
805
811
877
663
686
99
626
979
706
274
916
877
642
932
686
995
46
72
426
873
641
627
705
381
672
973
485
491
518
252
695
357
294
294
802
603
547
17
787
241
374
463
41
869
483
41
153
689
756
117
484
392
873
832
707
143
410
907
211
752
634
254
376
609
896
386
235
99
122
4
5
64
415
632
246
277
187
852
189
99
554
502
913
186
955
195
577
613
96
657
905
833
321
654
465
649
509
757
57
786
389
774
712
699
963
465
367
978
357
60
294
68
11
163
738
81
575
901
32
117
274
511
651
898
770
129
310
479
763
262
185
479
669
235
821
569
686
962
66
926
527
531
653
984
862
433
674
88
270
744
253
605
107
190
171
603
266
851
82
507
195
180
193
995
952
136
8
989
267
488
764
792
800
766
729
315
798
909
374
845
374
397
791
998
483
530
382
348
454
575
995
710
662
702
188
218
470
954
238
139
138
75
826
834
738
605
100
399
508
563
925
310
225
934
720
794
369
399
204
785
847
968
766
43
10
670
927
414
526
50
544
291
456
976
994
34
498
189
554
477
978
105
599
702
608
598
40
906
423
884
623
571
592
193
336
105
997
571
191
803
565
58
55
280
341
465
73
474
218
161
425
978
29
604
844
693
459
824
329
770
846
710
997
372
481
741
834
41
461
768
410
372
501
532
276
226
354
890
865
969
660
131
190
59
118
344
536
853
815
511
649
688
490
921
619
118
213
518
791
715
733
997
529
946
292
842
612
513
225
972
355
943
92
383
303
388
373
945
475
341
13
536
696
428
214
805
523
512
911
172
609
109
316
102
138
502
767
319
153
7
844
360
144
562
429
827
291
182
896
723
128
847
141
532
206
75
491
73
548
778
878
681
274
995
796
25
835
741
698
651
695
535
482
433
134
113
617
216
93
492
301
306
633
784
737
905
609
126
264
281
643
671
617
185
324
838
13
45
856
901
128
528
25
603
279
346
461
633
278
597
648
739
510
497
41
732
741
103
929
841
51
513
428
733
86
66
64
961
481
270
942
824
944
538
443
373
974
340
683
790
590
22
743
501
797
392
814
127
694
140
938
841
307
303
7
790
219
285
31
956
57
372
465
279
703
312
546
887
884
287
212
13
428
505
96
549
80
739
575
208
190
362
564
956
22
813
22
717
680
962
712
345
859
579
794
523
709
921
254
539
139
497
999
870
753
231
702
133
469
554
100
208
572
475
538
326
584
261
967
435
884
210
507
489
436
914
926
122
335
518
86
799
163
766
470
701
247
13
420
516
56
990
569
794
887
807
300
744
884
596
745
170
254
220
947
752
184
684
350
19
601
238
691
187
401
677
709
494
201
1
819
765
962
442
61
760
83
833
153
263
670
427
477
958
734
591
157
911
20
218
172
846
996
340
628
498
307
157
891
20
655
639
264
782
627
921
305
971
462
945
667
37
157
197
567
397
556
913
577
817
297
858
488
498
557
603
390
273
569
273
971
207
786
874
257
595
359
660
669
557
376
473
330
424
880
612
5
654
249
604
923
305
974
198
5
949
192
975
684
522
598
289
616
774
539
613
33
888
122
986
417
350
182
955
451
333
804
316
927
720
901
989
405
358
35
573
915
315
254
464
962
702
250
962
387
110
524
432
392
795
588
426
197
581
439
655
316
824
676
819
432
914
674
634
191
516
157
797
12
175
372
285
196
939
817
99
179
402
149
533
801
927
422
80
796
820
358
338
590
955
637
674
632
638
569
928
126
538
633
155
72
140
516
256
906
497
252
355
903
20
4
953
723
666
832
226
129
170
505
288
971
880
73
903
967
382
430
920
694
311
534
639
465
665
333
445
441
508
651
287
419
138
509
21
219
699
361
194
496
708
748
579
91
200
726
673
764
980
217
398
238
14
136
441
39
122
714
62
508
942
988
656
721
624
790
68
778
799
931
471
67
178
461
594
672
562
46
226
46
113
512
222
422
529
580
687
229
113
626
607
944
833
94
976
376
163
826
380
419
870
136
72
641
935
969
798
928
503
801
49
591
66
284
911
948
101
799
433
442
42
180
265
751
749
889
319
201
639
829
415
20
225
789
151
634
133
254
758
219
555
933
311
243
729
902
471
524
247
684
899
669
926
962
550
374
520
862
364
205
764
890
249
921
128
712
866
331
172
899
412
952
589
663
528
469
858
397
481
78
921
500
959
362
470
607
205
224
209
804
701
768
961
858
297
753
576
782
495
381
387
293
589
740
414
848
501
171
573
974
427
221
925
560
883
555
377
621
341
461
334
790
383
80
490
485
261
539
338
226
796
547
995
82
784
797
628
587
485
748
119
776
280
968
565
140
324
236
921
459
838
22
347
408
723
821
830
809
341
28
240
163
625
698
280
862
173
599
716
79
617
397
867
896
335
702
570
651
557
969
761
852
987
895
352
245
354
100
308
794
696
288
700
399
800
61
43
139
887
784
397
729
596
681
571
641
290
389
246
53
969
766
12
376
389
655
83
611
522
636
979
217
148
550
516
469
212
714
289
521
530
305
223
501
607
337
869
42
581
42
891
533
799
210
556
286
96
234
124
529
644
194
757
805
142
291
901
935
195
337
174
172
954
832
429
532
499
330
45
620
965
442
456
412
127
826
616
581
10
956
385
959
107
273
793
623
954
583
771
926
134
205
191
512
272
410
32
979
210
171
27
395
350
99
454
324
111
704
571
339
528
812
824
287
322
32
108
715
148
680
277
934
334
440
620
168
137
359
176
133
447
470
646
153
884
470
122
632
479
369
22
284
436
987
425
47
22
483
468
986
285
859
597
857
130
503
214
171
257
425
734
772
608
747
137
954
281
424
835
92
268
905
111
618
56
642
413
911
816
923
519
342
880
510
966
293
257
945
145
409
165
190
158
769
966
495
900
899
409
959
764
780
812
328
88
92
641
941
736
917
992
616
163
81
612
481
968
85
458
400
195
328
245
719
573
947
85
485
499
139
121
168
785
255
980
206
128
330
20
327
786
949
567
731
189
526
780
661
65
115
353
836
199
877
996
467
129
185
509
328
919
142
339
451
647
982
670
530
398
410
494
54
371
472
589
523
156
914
10
830
392
345
550
52
737
714
557
429
597
776
680
285
72
201
385
986
378
995
543
840
377
683
983
962
938
509
688
772
519
536
218
743
785
114
13
421
76
656
476
549
222
34
117
324
551
199
568
443
945
823
17
595
420
853
417
507
53
878
880
465
7
122
811
474
72
683
670
891
365
374
730
365
817
149
844
433
633
623
11
946
169
656
500
793
577
298
386
41
114
667
617
728
261
479
153
6
608
24
286
231
72
347
997
922
114
292
68
177
538
824
741
297
887
762
888
847
659
648
36
336
337
971
90
18
705
381
264
71
61
869
568
527
681
63
172
916
363
976
101
508
929
530
15
433
355
158
295
704
559
611
210
365
968
870
778
549
682
704
786
242
446
1
537
931
635
467
147
105
179
658
540
826
673
613
910
148
921
530
49
219
817
44
846
332
764
663
254
981
831
814
186
275
416
799
138
655
524
661
819
957
641
598
695
288
838
95
149
55
926
398
928
775
434
283
624
947
715
348
233
358
716
207
217
696
793
31
104
221
529
856
373
556
643
963
264
364
956
416
190
805
870
541
650
158
945
714
859
955
17
351
876
283
710
395
624
646
357
902
72
960
118
572
792
755
488
186
257
653
522
944
556
550
822
660
613
675
735
602
648
918
296
514
339
362
120
42
102
968
883
340
949
751
984
88
634
577
742
573
179
939
751
737
416
662
82
300
884
532
605
164
265
237
79
319
580
883
571
356
507
552
423
548
522
27
240
139
51
874
328
155
452
498
584
560
425
695
91
17
436
449
588
894
806
435
523
374
406
754
633
723
310
922
846
793
323
18
857
871
59
223
878
800
93
664
940
144
799
604
593
801
642
538
20
138
86
684
385
145
776
685
701
595
306
78
624
452
747
245
364
39
56
84
330
566
642
633
225
697
653
208
45
741
8
421
855
923
783
584
245
934
353
622
128
630
575
590
867
306
413
276
784
458
599
204
777
307
335
524
81
672
581
909
280
944
168
605
234
26
834
190
984
112
305
437
601
78
685
932
606
83
778
712
829
701
417
266
563
532
536
690
399
777
493
655
416
707
120
102
300
305
81
290
500
602
360
854
774
418
156
81
336
251
4
444
340
51
688
796
639
510
411
278
564
235
693
158
18
933
718
303
268
269
166
936
690
608
104
642
144
249
163
350
796
65
69
143
985
703
555
316
152
626
854
35
971
302
216
358
510
801
406
98
740
907
676
221
669
598
533
44
186
423
496
485
11
859
134
11
193
209
899
744
302
989
664
370
768
26
410
141
836
686
214
249
275
763
539
304
243
536
856
462
729
437
767
2
570
590
155
776
355
184
357
54
436
287
975
666
871
259
767
302
368
325
992
12
203
259
672
694
636
360
550
397
586
66
870
779
170
632
750
941
259
251
596
170
395
894
927
834
213
925
9
762
73
240
901
9
697
271
871
774
462
718
653
626
438
257
687
899
398
820
309
278
790
246
830
129
120
225
599
126
253
525
419
37
918
403
155
353
85
956
962
582
945
947
325
640
958
260
48
737
769
745
364
579
864
665
594
478
492
346
180
195
724
908
423
947
535
158
5
12
421
824
192
838
401
305
644
331
195
21
937
303
10
294
197
651
626
365
761
928
437
828
401
405
648
276
428
588
132
388
982
442
302
67
878
222
952
451
660
923
202
818
950
831
598
452
709
561
892
514
816
260
271
852
207
386
580
451
899
547
651
935
385
450
936
130
301
903
507
178
698
157
918
145
6
624
545
335
533
137
839
793
371
477
301
569
688
848
123
388
695
362
184
268
21
320
455
539
852
317
983
396
905
727
294
857
300
141
436
495
397
715
950
842
944
205
671
704
253
642
675
935
652
247
629
404
194
185
487
977
427
197
778
360
58
965
677
551
517
337
712
455
739
130
202
965
972
350
463
412
56
63
437
850
415
50
605
74
942
649
975
605
72
847
494
152
610
773
438
206
285
258
210
509
573
972
515
79
83
1
44
386
676
416
670
57
524
472
611
144
531
659
236
644
879
675
913
415
996
810
851
74
885
880
944
763
599
74
439
910
620
579
668
215
42
822
195
165
742
536
440
282
189
624
288
191
133
970
220
333
183
924
226
811
210
196
148
429
572
268
98
448
409
246
318
986
609
279
153
229
640
294
834
881
101
795
412
304
707
929
475
863
472
841
285
872
969
564
554
369
914
375
385
648
778
553
812
143
785
973
6
760
434
804
403
224
641
877
969
320
703
935
338
212
548
93
793
143
152
291
937
892
578
455
398
374
832
349
146
594
611
832
794
992
62
335
780
903
868
908
471
432
354
89
42
578
786
210
442
830
731
479
893
793
161
305
140
606
967
929
96
66
683
342
639
389
520
842
34
490
263
380
896
517
167
982
619
120
798
150
974
600
621
112
881
650
273
203
456
886
648
442
67
715
330
605
501
415
446
676
335
456
715
609
253
209
317
731
369
200
239
983
565
964
890
400
504
368
147
908
226
18
423
538
186
975
43
644
180
541
951
552
857
338
766
358
407
222
295
251
588
857
854
827
455
919
213
367
52
972
503
908
812
23
198
280
660
672
150
969
575
508
701
763
946
159
96
711
137
929
800
786
538
540
786
36
828
832
583
693
280
650
665
910
744
334
754
290
365
376
744
383
187
845
254
650
531
97
264
190
459
187
890
688
674
93
121
626
939
579
267
806
452
50
926
597
665
247
522
154
702
12
856
41
871
624
640
312
779
405
696
134
194
409
371
443
118
983
694
970
497
935
16
222
620
821
155
619
525
623
597
79
691
710
889
762
846
479
194
578
13
578
926
317
781
891
448
952
376
782
141
724
293
208
521
132
166
407
672
839
23
840
16
792
323
916
285
589
947
865
641
217
869
771
84
817
350
388
617
56
320
899
198
15
82
128
122
252
584
96
353
836
296
986
273
694
155
747
462
592
129
574
428
408
709
472
635
147
33
939
814
319
408
561
255
877
710
987
767
903
519
305
1000
645
865
317
91
266
163
598
983
938
226
492
303
454
282
419
371
617
537
941
804
51
155
45
155
933
496
22
219
361
51
131
953
759
827
954
443
720
835
999
987
192
949
619
157
748
633
767
646
963
958
474
836
591
863
160
252
331
862
60
513
441
233
144
953
375
294
831
823
901
527
720
864
880
149
326
98
990
269
508
868
218
850
879
530
833
588
975
705
928
210
395
665
342
874
428
259
891
92
900
765
446
53
127
182
298
317
870
790
651
564
143
237
831
543
580
26
2
368
806
33
726
58
938
630
736
581
877
12
651
694
576
615
179
542
791
863
573
336
159
32
688
423
597
737
41
707
160
380
688
695
444
920
553
411
594
512
110
38
740
846
945
423
442
551
773
531
343
612
972
495
757
594
514
197
389
372
500
174
687
209
120
238
634
261
1
400
906
17
355
547
412
757
254
887
197
853
646
315
578
593
457
735
157
298
211
836
52
654
144
1000
290
587
695
819
813
469
610
155
942
166
609
813
480
212
750
671
853
422
119
547
817
354
503
159
286
352
995
306
800
349
315
789
981
188
759
634
86
22
301
939
429
251
346
978
16
519
37
286
193
556
817
86
509
4
150
784
270
934
932
251
451
460
132
254
735
684
630
728
460
268
63
526
147
42
718
912
124
436
157
355
463
965
324
93
88
642
318
548
448
22
908
897
590
467
117
38
810
392
882
719
323
476
885
832
559
246
145
744
728
40
829
57
328
42
85
385
81
34
363
564
633
480
839
223
993
818
63
783
324
164
869
769
180
137
942
792
705
218
156
650
621
835
950
823
68
387
559
29
464
535
887
626
626
388
140
364
294
670
157
440
84
538
507
813
630
518
30
495
338
912
482
890
758
124
340
271
32
575
624
192
267
271
799
959
977
631
439
275
903
873
353
846
656
131
300
25
598
460
249
560
309
96
392
95
797
618
742
407
334
175
229
241
432
562
625
233
999
722
547
645
176
214
995
534
692
284
617
551
820
432
939
766
209
804
288
799
897
300
68
61
809
26
297
88
920
604
66
808
31
896
667
51
836
904
684
804
505
961
225
472
569
836
863
933
253
52
545
229
759
544
893
581
207
751
881
795
64
389
806
246
950
435
868
379
637
317
408
39
897
889
61
38
642
550
644
52
419
786
600
339
923
473
207
778
647
531
563
414
180
885
577
63
934
254
792
476
287
981
908
275
229
957
267
134
588
738
448
665
838
98
297
100
307
579
408
114
315
126
111
96
421
465
462
733
472
736
628
64
616
816
301
13
750
862
463
7
189
901
918
494
427
680
470
29
6
582
552
149
417
143
381
428
882
579
461
946
634
811
322
906
994
624
954
292
172
3
278
240
194
173
359
321
782
534
794
982
335
550
847
229
376
558
470
42
961
685
294
109
574
290
45
211
1
826
606
2
494
628
128
973
300
877
175
119
309
930
867
187
118
257
404
432
286
488
119
458
961
425
467
104
301
452
910
295
347
456
737
456
76
225
244
380
380
328
548
429
621
609
556
530
239
803
229
757
607
209
368
183
947
47
576
292
686
871
936
498
36
394
194
202
969
175
950
391
970
882
380
995
165
251
586
92
432
473
477
571
120
427
458
62
856
89
871
767
728
502
262
340
792
860
61
96
483
642
191
663
995
238
471
638
120
172
381
934
326
857
942
296
124
800
983
874
849
301
62
862
67
17
620
933
723
153
779
614
18
718
313
810
754
991
956
391
525
290
155
137
737
210
807
355
890
706
298
182
921
824
381
902
743
382
43
644
239
638
524
424
140
824
91
870
151
434
991
874
675
330
252
80
215
65
643
364
355
267
166
432
755
614
891
213
212
693
833
3
229
986
823
199
898
350
5
32
176
607
686
930
754
282
738
986
837
104
654
572
79
616
667
300
828
122
45
372
608
261
780
869
468
664
429
689
410
552
770
611
633
602
289
498
723
108
242
700
248
265
173
558
441
419
347
294
771
220
496
713
255
940
625
836
296
673
444
35
680
699
116
268
130
115
623
747
461
702
45
731
960
110
410
167
90
647
625
598
972
374
156
87
430
716
774
897
531
539
688
337
676
467
812
485
301
242
768
458
147
98
423
535
893
438
453
708
646
593
443
173
434
77
507
859
378
535
270
353
643
552
323
473
658
587
950
290
292
540
996
646
903
926
236
50
167
150
507
396
649
146
170
108
882
523
159
168
569
389
1
978
167
254
725
164
747
734
468
231
496
319
958
449
680
123
769
485
151
365
399
38
760
310
760
213
116
529
660
430
217
646
173
426
377
178
607
294
756
683
931
595
525
202
114
252
393
886
827
356
753
779
319
984
212
973
147
872
622
721
556
96
38
638
21
895
201
838
389
476
262
693
559
887
450
922
424
70
314
887
66
771
965
284
823
314
509
931
905
143
427
954
701
651
266
490
776
36
393
970
820
866
933
161
505
552
281
375
275
174
704
724
597
964
657
831
74
281
375
156
149
101
202
990
815
874
914
201
883
115
950
20
853
239
101
516
383
948
692
922
671
976
706
636
815
86
622
544
344
7
957
315
688
441
624
426
294
340
287
985
463
425
784
880
765
297
590
358
49
567
11
939
668
154
477
452
496
237
868
83
755
419
273
547
429
324
979
870
272
178
745
846
33
947
637
882
527
242
789
864
626
516
448
624
54
37
582
810
138
755
162
262
286
448
915
474
31
480
20
369
927
72
713
413
467
257
250
37
431
593
977
426
781
234
574
40
286
230
627
605
548
749
827
909
10
466
995
481
804
551
70
82
42
518
951
28
217
696
786
519
958
250
901
547
259
466
55
426
676
496
148
703
688
889
783
982
595
982
348
229
871
694
383
212
816
329
56
70
775
771
497
411
901
816
597
990
658
490
635
743
825
886
749
897
759
439
842
933
54
584
983
429
560
426
750
180
921
390
235
548
392
824
640
690
740
161
469
171
455
591
363
477
305
120
490
117
551
544
249
325
736
128
779
865
69
726
351
51
815
662
312
925
38
938
649
467
259
239
612
806
288
778
79
692
597
214
523
883
23
767
483
691
580
184
441
659
360
382
866
211
297
437
990
208
627
101
556
478
421
159
389
804
485
767
143
329
271
362
984
18
155
874
294
653
605
729
695
793
316
590
830
297
319
843
368
276
473
617
654
821
491
500
254
416
837
197
415
762
429
66
123
606
29
870
999
283
663
85
742
884
147
802
238
368
49
600
700
467
14
765
421
946
406
877
828
627
633
106
490
596
378
513
702
195
176
288
29
719
433
116
956
199
39
826
406
338
173
23
409
407
771
713
687
896
398
762
225
804
932
659
178
719
576
211
622
262
165
720
717
29
667
667
835
928
57
171
70
648
461
279
350
96
570
677
52
792
865
548
627
590
95
112
235
608
807
862
819
914
442
608
349
326
691
259
200
704
305
652
749
194
575
889
322
242
4
332
558
579
497
867
108
52
566
48
343
876
623
495
396
851
426
278
451
130
148
29
647
374
319
233
349
507
125
485
832
838
148
476
604
7
641
161
711
71
892
838
346
73
23
847
16
572
843
225
339
984
999
924
246
19
730
128
19
173
985
816
105
3
529
936
119
877
931
493
772
996
10
375
725
744
393
991
534
834
322
651
908
318
766
143
493
226
162
149
259
518
846
1000
351
59
338
736
977
527
153
621
494
531
770
41
336
725
684
217
889
359
233
252
679
563
32
830
507
604
385
305
275
527
30
30
272
867
897
502
670
572
372
310
775
885
716
933
388
696
853
160
241
792
780
251
93
516
186
15
483
561
723
650
584
26
549
530
830
409
376
125
222
895
303
902
282
169
111
339
672
985
543
184
357
910
340
686
53
954
423
807
390
320
702
385
875
107
412
759
258
620
757
675
363
882
931
134
775
35
220
456
49
618
21
7
249
78
54
946
719
496
987
837
924
190
956
199
111
804
187
865
320
475
52
557
946
914
384
205
685
579
835
369
175
619
358
583
62
961
669
557
552
720
673
949
705
88
379
876
889
22
810
392
827
316
765
928
613
109
59
90
935
483
55
271
487
566
868
233
215
478
628
219
608
528
569
144
730
309
530
140
43
711
645
32
400
440
612
351
720
304
986
113
19
409
312
940
433
389
793
24
783
10
411
91
83
757
56
771
71
545
287
751
503
294
791
633
479
929
485
713
499
303
459
760
326
647
652
459
950
424
233
398
137
861
126
327
102
46
55
971
826
159
745
859
400
346
647
452
589
736
668
384
483
358
900
748
714
12
262
192
202
713
332
52
834
965
349
863
772
947
524
368
322
701
376
599
424
515
714
660
852
14
303
625
173
914
988
344
338
983
248
7
556
559
718
70
752
843
215
452
466
295
203
11
558
681
430
940
427
704
663
97
749
704
104
254
953
596
26
928
720
106
665
751
817
322
179
301
478
810
760
953
374
816
615
567
914
591
584
785
286
499
637
277
134
361
325
551
266
450
566
815
82
636
793
969
705
477
604
988
948
436
513
862
294
994
308
766
94
172
854
319
1
838
816
645
494
246
977
427
27
428
279
321
913
431
666
884
593
913
166
650
330
253
330
103
677
188
358
88
331
937
739
607
58
945
222
77
465
651
291
828
294
132
80
78
799
101
854
617
482
482
753
211
166
711
494
62
919
990
110
709
833
940
631
443
34
505
783
639
592
487
432
402
190
802
496
604
500
401
484
660
236
806
659
381
760
388
49
874
909
845
180
694
489
800
466
450
451
89
641
590
345
113
473
403
66
553
292
120
267
878
524
601
64
325
513
283
811
447
396
957
817
913
699
437
812
966
628
424
885
833
710
639
376
423
601
861
923
866
340
617
428
765
311
98
247
602
467
336
306
346
128
800
144
181
812
355
146
241
98
940
320
361
487
447
39
178
589
985
85
328
744
173
204
128
327
103
126
871
627
382
653
793
126
1000
11
832
424
829
110
551
866
196
760
968
110
383
147
587
511
829
108
621
209
520
789
259
228
333
327
840
743
68
74
957
897
547
707
856
196
397
305
969
576
109
76
41
671
530
987
141
706
202
960
759
666
865
675
327
123
996
248
745
138
477
237
922
166
358
480
915
795
199
257
981
433
670
123
739
773
938
582
697
994
828
432
580
141
951
226
267
104
764
786
649
896
5
148
401
717
68
584
458
389
663
624
8
357
540
88
917
340
132
204
810
144
759
811
484
880
380
502
928
18
997
321
996
295
490
287
688
481
60
567
82
394
456
638
177
385
895
100
305
675
863
138
316
587
34
797
422
719
177
338
471
504
215
948
409
493
598
995
869
881
757
823
152
472
669
816
343
324
531
89
937
772
114
692
166
386
594
673
136
707
612
665
11
264
825
954
747
460
446
114
280
421
156
380
661
778
261
900
355
656
209
886
821
876
357
462
509
445
435
724
649
979
259
89
514
597
90
556
402
166
486
871
215
527
611
945
344
455
755
64
583
689
251
586
871
290
57
843
22
982
31
904
1
875
322
713
942
172
357
878
856
14
632
21
882
635
874
201
46
384
177
358
682
961
395
150
85
436
423
794
497
240
984
758
242
316
198
213
651
62
529
182
476
522
644
229
614
537
379
348
331
182
249
417
616
896
889
263
964
164
421
847
673
456
942
589
670
423
295
165
32
15
786
353
570
262
752
712
325
968
777
896
352
442
832
403
929
704
843
442
200
314
19
373
315
75
756
878
319
391
100
618
410
990
564
627
691
42
544
123
220
448
725
712
960
239
617
207
263
536
821
389
592
521
702
95
555
214
897
952
700
608
496
922
187
932
773
576
183
341
86
692
748
374
918
313
73
872
71
904
130
885
700
600
230
279
217
847
467
382
108
902
789
33
328
798
242
798
275
335
986
995
310
613
819
358
379
409
285
862
624
446
935
244
758
222
919
247
586
590
905
445
325
754
266
811
223
669
570
839
607
87
688
127
641
680
251
820
994
696
735
198
116
619
240
5
30
157
854
812
357
675
584
838
830
889
7
151
656
231
183
127
950
793
827
338
876
177
487
828
296
904
220
837
486
239
292
613
904
420
552
896
109
351
412
34
668
707
821
445
269
283
253
333
360
173
440
138
314
12
550
191
506
87
556
449
718
601
787
971
969
744
24
16
207
536
76
260
304
552
437
639
433
794
508
755
235
939
867
629
138
111
248
795
813
169
199
414
29
184
895
93
115
439
202
595
808
819
873
462
538
875
748
858
73
239
877
597
43
275
805
442
43
48
637
199
915
735
100
70
316
597
530
6
880
498
618
519
115
733
795
521
661
658
299
277
730
163
387
498
293
570
603
924
115
939
726
472
802
79
830
208
844
784
866
904
53
950
332
951
881
262
856
718
872
82
22
242
880
16
306
308
762
396
821
566
965
576
435
287
795
497
934
822
192
467
116
551
514
470
102
385
166
603
684
452
935
441
231
643
503
221
541
120
964
746
28
692
103
818
805
259
829
828
552
105
444
851
542
937
342
235
820
959
342
184
348
201
91
319
860
538
896
504
283
544
877
507
854
395
573
223
453
536
992
251
282
696
630
576
736
176
159
28
182
14
343
919
441
746
220
2
947
20
746
466
901
237
915
198
293
718
830
944
283
644
310
328
292
174
420
912
132
664
727
599
615
903
177
729
417
627
253
150
381
344
443
410
88
685
154
950
253
88
871
858
442
571
781
298
687
811
67
213
782
480
801
267
460
53
676
298
168
869
829
716
885
296
649
415
259
226
801
734
358
6
615
959
529
115
666
621
120
565
597
614
373
42
225
777
389
269
503
89
864
938
211
116
262
817
116
662
192
329
923
848
4
976
532
996
54
469
19
770
659
328
254
987
500
4
281
411
93
300
405
608
30
964
444
644
874
875
752
10
929
126
417
643
653
691
522
358
141
64
479
280
903
423
191
134
186
419
288
337
197
644
719
910
883
204
769
145
393
585
940
819
915
188
235
510
392
471
50
211
494
661
303
36
341
351
411
241
651
132
449
222
446
611
129
372
913
757
280
933
781
584
104
28
401
551
858
105
729
942
519
891
599
691
652
820
968
789
963
580
334
443
952
86
129
629
667
697
717
532
839
956
535
649
527
476
83
1000
19
836
652
975
903
535
183
844
127
105
154
835
382
455
162
1
319
407
754
806
971
179
79
463
235
223
173
575
418
482
999
591
676
592
920
868
629
975
924
913
559
100
752
507
380
403
74
964
1000
480
974
741
787
219
309
973
596
465
975
291
229
668
680
434
236
726
627
782
703
870
406
882
38
40
464
491
792
649
788
402
229
22
769
578
726
84
821
693
49
57
971
235
224
32
536
720
30
282
994
425
92
97
331
269
207
733
459
134
765
799
820
946
115
28
867
321
270
921
967
425
634
191
181
978
297
278
509
997
35
483
427
986
355
389
973
716
792
354
232
696
204
795
762
695
995
878
425
392
23
19
120
361
461
286
105
91
34
388
968
703
849
457
813
322
520
220
889
827
390
489
721
842
459
115
793
367
33
695
953
440
219
323
11
544
124
665
460
272
36
445
848
939
913
222
79
389
215
947
876
267
507
426
671
394
273
222
458
705
67
950
491
400
477
197
304
588
362
470
173
716
487
716
54
502
986
915
987
929
50
192
176
91
843
703
248
325
972
261
680
129
708
317
37
805
804
432
436
644
969
832
616
735
964
968
102
159
868
275
190
404
242
485
942
345
827
901
904
7
906
18
40
637
687
781
224
341
851
517
697
611
955
292
98
635
514
48
13
180
373
373
532
180
502
149
935
903
403
683
489
707
144
109
290
964
458
997
245
664
416
145
566
608
960
463
602
833
963
710
463
112
555
596
599
964
158
437
492
556
69
97
618
338
415
441
126
977
42
890
32
450
204
976
286
686
910
959
779
232
490
685
175
811
178
875
524
483
539
922
728
356
161
112
285
448
299
903
210
338
130
518
679
715
825
655
709
795
934
555
180
844
440
10
565
717
443
170
35
425
603
133
997
204
388
415
724
478
674
323
438
400
425
175
123
364
55
69
367
998
519
611
752
657
393
603
640
384
961
198
758
621
816
445
597
694
620
457
527
248
401
665
462
362
250
748
69
10
336
861
815
941
927
740
573
764
481
86
141
259
974
417
771
478
288
212
731
200
926
742
7
714
275
479
460
675
387
323
167
28
535
196
208
564
852
725
845
729
957
862
939
709
831
258
402
665
143
160
714
222
853
375
812
956
211
601
157
692
182
44
438
864
946
770
133
71
334
692
128
214
9
439
679
300
714
601
284
48
158
21
432
970
972
855
789
432
688
106
96
573
894
215
951
599
545
73
700
141
916
525
834
847
830
9
680
324
604
515
654
875
637
423
46
211
655
119
100
473
442
506
155
439
286
661
749
756
498
905
864
400
62
535
965
346
936
266
76
580
513
232
908
207
543
26
955
356
118
834
582
28
410
200
324
774
485
330
30
358
911
134
18
132
810
382
99
891
730
487
214
401
954
383
399
607
879
911
2
804
703
944
367
663
917
173
718
78
71
155
568
241
839
711
819
245
690
242
636
747
325
857
298
931
662
476
492
73
316
217
930
529
416
462
743
809
127
952
854
770
429
156
393
610
540
936
276
490
880
226
281
134
603
40
286
653
573
630
865
223
73
28
94
923
711
514
267
255
726
798
168
345
350
795
717
852
979
963
78
926
621
49
786
349
542
9
35
173
45
558
57
725
49
512
416
889
530
635
132
902
869
161
785
773
877
590
110
594
580
570
181
631
875
950
937
142
776
119
694
239
329
792
277
991
199
310
594
176
585
308
782
751
376
383
542
155
403
963
929
11
239
169
640
675
240
859
799
333
416
430
354
29
298
173
448
102
168
169
560
975
898
765
770
160
167
639
256
623
22
351
993
388
570
66
692
331
106
818
198
686
115
288
941
671
417
573
516
999
170
833
188
759
582
25
882
332
958
147
248
498
125
562
509
929
416
978
87
542
72
647
466
33
390
144
360
28
967
887
995
912
114
184
252
372
884
191
491
68
204
613
109
690
253
380
252
815
602
794
673
639
601
866
424
644
182
632
896
720
520
254
775
52
989
620
633
369
464
992
180
763
292
932
725
353
190
424
986
517
936
587
231
301
936
864
630
849
682
897
851
410
661
546
168
539
491
704
780
612
937
579
601
651
980
138
542
785
315
252
149
351
473
877
554
780
259
315
861
911
390
162
448
323
963
97
215
588
905
44
414
104
655
569
591
304
92
606
93
588
201
717
771
292
8
146
782
356
102
850
853
146
439
564
971
33
209
684
232
947
232
433
489
86
745
335
535
377
460
498
764
63
461
577
657
29
844
596
983
63
9
974
294
300
158
220
163
487
868
757
618
576
570
236
399
373
396
556
983
608
116
469
815
871
848
347
812
279
784
165
991
648
447
235
62
165
894
558
871
282
817
924
903
588
746
32
435
948
392
5
510
65
735
613
654
930
607
410
115
345
395
790
484
787
966
644
711
455
72
888
940
198
315
680
50
428
193
494
495
801
904
599
836
637
328
665
351
574
68
368
252
923
511
919
318
558
612
345
214
927
522
232
361
972
225
389
7
310
81
532
42
21
517
687
185
791
179
449
415
951
497
655
884
167
984
273
113
147
586
530
950
751
36
393
665
327
492
515
510
901
698
682
308
135
526
597
901
560
47
581
812
680
195
387
84
992
693
857
81
820
157
612
946
138
196
286
569
253
862
106
133
258
77
739
758
702
465
431
314
795
601
419
233
752
848
473
4
639
797
229
113
137
823
641
362
205
431
510
871
533
857
520
592
7
880
646
793
152
897
106
852
662
113
260
619
687
122
970
809
483
241
5
113
420
720
976
234
101
343
176
597
522
1
414
292
785
524
635
712
873
447
651
406
387
403
793
930
933
514
688
849
90
509
627
576
463
285
202
463
378
270
977
393
174
290
966
137
917
562
612
916
561
93
749
943
254
32
801
162
520
452
49
89
529
634
373
423
507
167
297
51
615
103
518
176
323
919
367
571
356
315
793
370
802
696
529
376
852
740
104
622
966
640
191
784
934
443
622
89
445
390
55
594
285
356
889
24
209
252
544
892
866
750
595
307
916
791
616
668
573
141
768
448
429
660
327
406
307
73
364
847
297
758
753
19
885
480
493
324
257
49
145
791
456
608
774
189
49
622
420
206
357
669
551
376
109
818
349
821
584
718
965
399
922
523
69
575
300
436
117
168
107
939
771
165
65
788
809
916
515
424
679
410
692
762
600
765
902
244
685
717
940
638
177
706
982
293
253
68
431
504
259
999
888
140
456
162
495
975
541
279
380
968
259
600
859
312
408
864
306
242
409
278
353
411
404
68
161
193
544
359
61
359
704
504
752
439
398
483
598
519
65
672
311
336
191
106
428
355
10
334
570
885
590
112
408
443
214
462
630
276
841
93
986
382
348
761
648
410
944
938
711
565
861
50
662
968
970
638
7
11
432
20
100
867
907
429
363
715
98
123
762
186
620
694
378
231
276
634
350
891
815
245
338
435
186
137
817
940
95
896
241
678
396
969
110
600
498
467
451
794
487
377
100
67
104
605
411
658
82
420
742
706
594
79
85
255
712
880
779
503
867
436
54
478
265
700
530
563
72
168
448
88
14
722
567
725
680
775
136
574
449
744
335
637
455
380
846
838
409
163
12
871
430
784
150
942
246
728
153
901
261
104
476
346
25
164
940
39
572
397
598
368
972
701
58
654
142
899
238
811
689
760
532
255
65
799
757
960
841
331
46
273
232
657
66
417
342
800
559
623
757
900
208
477
233
259
275
381
205
5
282
996
789
548
248
149
737
290
630
967
546
573
194
950
537
444
465
254
277
649
299
736
134
189
372
197
128
895
71
824
477
730
342
40
411
958
550
866
884
879
289
390
798
573
411
167
224
991
199
169
895
734
778
443
943
130
354
758
439
499
777
343
809
78
307
295
610
692
153
326
466
112
525
338
182
27
491
716
190
665
878
336
523
421
831
27
436
293
404
633
664
515
748
878
49
573
26
948
929
672
190
91
255
829
142
545
875
975
609
801
793
846
261
550
519
995
219
650
792
940
130
115
86
337
396
419
274
58
993
400
789
254
544
652
382
775
953
563
351
827
978
131
702
358
562
226
276
496
601
264
291
265
115
126
104
956
459
732
274
754
282
897
127
685
450
960
128
465
32
202
326
627
749
271
7
141
9
659
496
802
743
772
727
881
795
288
805
852
539
332
279
556
728
409
282
808
326
222
971
295
207
226
964
581
166
243
575
183
656
528
691
964
991
437
84
562
579
242
789
146
875
708
944
586
368
761
134
25
872
928
876
913
809
292
322
821
972
370
656
692
442
648
954
785
982
549
448
231
219
210
248
989
374
794
578
997
121
10
490
499
403
140
845
828
668
147
54
428
55
379
740
526
498
978
968
655
610
331
180
199
434
820
284
210
884
694
627
20
721
80
726
618
447
33
704
275
361
62
359
704
359
745
663
868
712
874
270
634
244
100
335
655
783
166
493
211
731
657
407
272
909
637
668
699
581
671
151
332
709
535
182
690
33
295
962
154
531
595
763
787
193
681
329
404
785
130
782
115
490
299
81
302
857
220
735
947
523
54
50
279
522
224
664
937
836
52
487
249
28
58
479
761
421
68
859
859
292
948
450
159
15
74
894
396
864
624
326
664
476
397
975
219
599
147
841
528
788
336
248
872
207
840
591
626
513
331
71
276
112
27
512
339
721
5
654
629
281
526
455
705
714
668
1000
937
974
117
599
348
79
113
531
279
565
439
677
952
894
784
982
246
878
13
269
307
108
651
460
166
700
366
641
189
423
376
749
15
412
441
867
603
214
591
248
180
899
771
232
145
288
388
145
437
174
108
143
517
539
332
691
810
389
480
45
454
798
603
685
200
158
860
72
591
424
72
548
926
367
932
430
27
441
419
570
577
905
638
744
617
274
606
228
812
976
473
859
267
377
295
658
13
932
738
840
726
313
48
669
928
799
199
138
672
82
377
893
696
919
869
196
101
740
986
943
915
381
857
941
281
633
795
694
618
178
510
940
802
768
552
49
336
255
286
179
491
141
144
794
619
880
75
717
198
69
923
427
659
5
923
704
742
820
630
44
931
559
370
493
520
106
753
676
970
833
847
842
557
215
400
668
698
387
857
442
20
866
20
973
935
160
880
256
451
57
547
476
991
708
217
415
253
480
809
704
491
733
235
647
197
282
282
539
809
352
710
493
959
245
512
804
781
759
224
783
966
673
798
816
569
218
843
120
71
534
963
299
828
561
503
358
819
669
293
237
584
617
836
314
329
106
988
559
440
245
379
191
67
796
681
748
32
897
381
470
10
304
891
754
861
894
660
245
997
265
468
809
906
828
217
237
267
659
362
22
656
778
566
991
457
195
318
852
461
260
991
977
590
372
305
840
339
85
177
594
806
993
779
193
644
555
931
312
872
207
101
103
231
670
944
438
726
371
698
902
14
278
809
249
590
268
794
414
65
326
741
476
401
515
802
134
647
668
716
383
604
174
697
73
823
71
979
919
554
894
961
408
538
373
132
694
64
127
931
278
317
956
259
754
853
210
625
355
979
956
793
410
931
379
388
38
1000
898
83
590
173
1
933
410
436
670
868
468
615
587
615
282
527
20
115
347
231
381
8
975
408
1
929
45
222
569
134
681
541
26
489
263
73
430
914
523
779
486
223
677
914
949
675
680
208
80
673
744
935
724
799
178
150
297
754
459
891
198
843
232
985
719
380
544
960
515
711
231
672
87
647
825
471
573
713
740
129
274
32
768
280
46
590
132
854
625
332
415
798
448
840
708
439
317
273
222
964
524
930
427
868
677
21
517
654
536
208
598
744
625
34
583
326
226
629
158
841
675
978
596
889
515
593
393
624
166
646
906
98
253
503
215
631
647
106
405
962
537
861
366
868
600
513
964
965
434
984
150
597
917
320
177
95
137
685
564
179
807
819
913
965
863
485
946
853
75
231
394
543
42
195
486
604
924
805
803
252
596
952
241
510
721
624
651
475
365
42
480
214
410
82
404
718
975
82
514
413
471
238
87
967
699
404
339
517
631
502
877
987
112
721
724
858
736
354
907
612
601
402
608
109
457
77
773
264
7
940
905
799
773
672
486
243
980
451
98
65
384
453
859
551
818
280
223
49
502
998
551
263
868
39
106
567
677
428
285
726
767
680
984
963
596
225
947
95
92
418
841
273
27
26
578
985
203
579
106
113
332
124
485
246
343
739
557
918
231
619
964
148
294
688
542
445
728
427
373
477
129
99
899
662
395
605
535
326
877
946
162
437
428
710
728
593
136
23
945
667
147
127
730
455
946
146
592
730
877
589
669
345
472
859
468
422
378
351
665
190
285
740
512
759
253
702
496
942
313
619
893
297
2
795
785
663
746
319
908
864
670
998
442
681
444
723
467
842
229
203
349
604
672
268
783
400
156
833
523
185
183
188
138
322
862
473
253
330
966
96
823
321
896
355
949
758
216
729
636
987
118
137
677
88
301
945
525
763
245
696
639
357
815
296
267
588
460
888
69
271
976
770
273
113
9
469
298
666
956
527
904
623
951
664
961
990
919
702
882
64
503
55
594
792
828
636
697
825
635
776
113
513
328
78
88
159
868
201
900
76
237
224
984
392
423
593
496
68
468
653
507
325
166
414
133
510
410
508
907
448
15
268
600
504
98
486
538
894
740
656
166
269
686
488
239
245
328
30
576
324
57
1000
735
612
343
837
323
863
603
533
918
609
952
511
716
570
480
722
127
137
544
621
461
397
888
893
783
112
121
636
754
85
175
197
999
526
889
13
125
438
826
637
25
499
707
555
509
623
625
570
635
206
349
265
299
12
542
518
837
833
728
131
355
338
156
361
502
941
523
572
222
194
658
265
779
900
882
478
24
121
730
898
415
279
121
74
800
830
863
796
341
333
600
48
240
312
897
936
133
993
206
656
92
860
862
862
219
988
109
769
690
272
383
948
935
9
720
50
383
757
233
614
802
49
30
738
818
312
823
596
637
319
760
735
335
583
667
594
353
380
981
956
960
496
148
872
572
389
147
146
723
155
110
659
409
606
709
626
307
799
101
417
33
548
740
673
249
823
295
320
886
442
237
488
197
132
411
517
658
869
41
967
945
365
173
18
384
747
534
717
249
729
107
277
287
39
555
46
652
494
737
817
208
836
199
863
814
396
471
463
768
715
427
704
80
476
734
28
591
506
670
347
273
128
145
527
225
869
843
712
959
365
785
255
621
324
452
7
658
585
875
306
273
625
711
332
759
348
385
372
388
635
859
191
106
932
406
896
706
76
93
623
507
704
309
919
821
820
784
907
651
543
15
199
127
598
929
50
170
878
905
430
743
284
980
517
837
68
191
653
41
145
512
898
132
170
785
182
630
690
368
488
675
362
965
631
911
39
244
976
251
527
410
875
578
925
858
691
426
783
373
20
659
746
153
136
991
964
71
730
976
306
195
746
714
343
575
472
133
134
691
84
147
85
760
524
386
528
321
931
474
233
112
833
28
729
286
988
639
222
441
37
129
846
760
125
236
203
809
251
764
454
178
401
905
692
211
437
81
992
516
314
229
312
823
451
824
357
15
969
355
658
858
84
176
345
999
146
834
535
336
697
40
827
727
450
427
112
315
263
109
817
462
29
852
738
391
918
350
800
158
530
713
464
505
338
758
999
468
291
115
514
374
523
498
449
979
939
671
250
81
840
800
32
864
881
927
383
638
377
204
871
363
372
415
452
562
971
47
718
784
129
834
855
776
465
277
248
934
704
96
926
368
44
977
375
169
50
228
856
35
725
199
15
482
15
357
452
237
337
981
923
304
701
284
21
375
563
655
499
950
904
370
891
549
887
812
715
878
91
728
341
674
532
530
554
192
616
962
956
39
695
744
601
63
141
935
684
574
701
851
687
994
460
314
101
405
868
933
732
107
191
864
672
477
193
197
168
872
35
750
14
311
181
496
605
958
565
318
428
183
395
61
625
134
751
103
236
285
567
781
843
393
677
46
675
668
350
669
639
717
154
165
379
9
33
358
210
181
197
165
711
515
822
757
814
288
553
719
471
507
498
212
377
754
763
424
742
484
541
806
842
118
443
652
903
725
64
640
909
905
747
797
72
725
114
230
58
222
233
651
497
9
204
360
4
1
564
901
670
143
123
27
978
277
775
979
183
971
386
324
467
218
45
760
588
399
889
382
330
796
191
840
791
257
610
739
414
296
345
390
745
60
423
730
70
85
501
815
456
703
383
795
226
309
917
716
581
396
39
774
887
460
554
887
135
394
616
600
235
963
26
332
68
314
156
960
698
240
758
551
742
103
938
822
650
901
318
577
581
942
766
914
630
4
115
497
390
645
952
539
220
544
940
458
144
359
84
328
990
621
45
382
247
604
901
793
135
935
710
893
528
965
869
807
722
552
528
182
512
972
272
354
668
114
837
799
716
996
925
178
859
912
33
625
998
171
816
190
53
506
694
494
234
689
277
745
453
812
751
210
828
976
503
146
102
834
137
952
842
584
518
10
498
468
636
300
748
828
895
326
59
47
885
372
89
476
839
351
348
571
735
807
551
47
447
684
195
768
436
590
232
508
230
148
111
442
330
950
115
434
239
325
640
764
47
821
19
914
359
877
541
442
371
604
554
773
625
5
950
936
260
227
832
897
622
655
910
158
717
722
981
718
315
350
918
321
473
827
697
160
879
743
379
862
677
343
389
590
379
270
120
626
73
229
655
583
355
506
348
729
345
685
137
551
678
90
701
771
610
702
997
531
222
333
295
338
245
818
558
686
220
878
894
956
528
77
863
324
355
7
612
931
772
414
176
475
943
488
787
747
942
975
703
341
769
41
917
947
932
86
35
156
425
811
816
680
973
879
103
268
222
461
363
326
888
807
644
486
13
724
511
890
123
526
470
997
503
559
433
79
801
908
34
400
887
253
965
250
210
137
87
664
891
89
722
633
477
164
428
56
547
444
552
538
350
978
27
336
291
429
207
437
314
454
29
783
216
436
381
122
492
753
428
836
546
199
511
349
42
513
409
416
688
244
983
659
998
330
639
219
423
831
643
282
776
254
28
534
82
751
744
321
784
296
721
391
778
603
741
625
863
183
351
83
35
401
570
36
499
848
815
369
393
628
295
932
26
393
91
902
817
106
296
247
266
514
876
691
996
291
356
382
321
632
53
638
868
853
327
699
469
204
263
463
943
661
239
508
379
967
101
557
265
528
23
734
89
97
701
563
91
342
215
690
464
518
737
752
617
433
317
615
93
858
100
473
340
294
681
930
820
780
785
243
878
24
78
363
377
687
738
271
346
101
336
383
824
28
700
470
593
347
704
618
750
701
310
256
919
205
823
168
443
296
983
685
66
685
460
17
484
146
340
727
594
592
384
938
483
451
208
734
956
909
52
593
897
942
452
397
869
433
979
734
148
836
170
739
795
41
940
694
500
63
11
959
634
189
411
591
392
5
639
165
940
519
883
916
193
243
618
295
263
668
935
432
580
33
227
795
436
671
236
566
4
520
982
827
889
538
846
713
940
911
879
87
326
898
471
133
887
108
640
511
351
801
569
355
323
527
460
433
864
58
444
287
68
104
50
986
318
721
728
431
765
718
971
810
169
567
899
896
441
522
548
353
92
711
710
132
342
919
870
325
804
695
709
556
515
169
659
107
578
676
207
499
831
878
8
156
769
579
359
150
413
838
281
717
942
314
257
424
674
969
677
388
435
439
159
921
421
350
229
339
433
870
270
422
737
573
276
238
892
500
705
566
587
914
642
183
889
854
539
671
373
50
84
186
233
124
74
845
872
326
748
23
417
212
741
825
287
789
654
486
250
643
254
222
351
500
505
349
742
451
931
92
700
842
307
586
73
410
318
10
967
828
594
664
744
227
514
81
311
639
258
930
219
545
835
545
330
877
277
427
661
888
719
927
567
286
837
662
577
896
15
880
74
910
627
141
471
472
46
175
726
943
335
723
815
703
96
490
261
747
604
82
950
663
214
939
229
786
963
842
712
471
472
509
335
455
517
177
906
206
91
832
860
50
412
923
919
552
52
975
128
366
327
522
88
277
114
159
225
655
544
321
639
925
363
602
420
938
330
51
273
309
697
888
13
912
684
521
746
697
889
568
541
933
693
840
20
780
123
883
572
816
30
705
811
800
148
823
533
443
359
567
618
450
437
911
278
413
671
718
574
398
12
419
361
231
812
605
689
564
810
918
208
757
729
921
323
503
755
355
667
922
207
269
978
506
906
72
611
942
103
452
715
296
351
447
586
510
363
701
821
411
727
81
683
723
332
367
510
657
504
711
106
710
121
905
782
235
453
271
141
216
70
182
739
400
913
773
478
629
557
420
967
781
769
945
99
175
678
314
794
712
285
791
184
284
574
144
520
187
177
504
744
361
420
909
946
311
578
404
944
440
340
800
786
360
796
837
310
483
781
565
786
796
986
194
287
282
100
545
653
880
160
489
857
230
397
459
94
713
158
171
163
428
852
222
577
851
489
85
354
880
95
353
632
827
166
776
110
759
375
766
771
216
961
538
548
986
546
10
367
97
694
907
470
598
137
242
74
23
467
513
155
660
37
495
612
865
985
460
159
704
551
36
4
151
353
674
830
920
851
872
603
745
8
890
483
613
101
688
474
998
655
190
459
633
759
798
990
723
379
295
509
800
836
869
690
613
314
12
231
531
133
511
765
962
508
520
485
180
717
1
727
800
893
427
29
818
164
710
109
817
491
769
808
439
334
27
276
670
264
372
609
848
697
832
667
555
237
257
50
692
486
820
71
149
802
24
88
397
181
224
747
280
339
363
529
984
120
740
487
951
554
156
224
8
227
705
947
568
175
809
929
111
142
831
820
500
901
765
9
919
283
31
707
312
752
364
479
281
580
169
735
314
208
469
50
79
927
745
287
263
790
558
174
106
616
850
397
344
966
171
260
741
259
925
670
791
541
924
552
422
986
124
777
767
912
493
345
138
924
335
892
347
844
252
521
445
236
171
624
745
650
488
594
738
233
454
295
128
928
370
734
758
339
27
630
632
250
105
468
591
909
914
210
458
440
937
20
629
189
150
254
141
343
941
493
245
936
824
564
370
223
763
358
162
443
131
731
969
196
752
947
754
31
494
909
896
325
142
913
779
233
51
759
380
287
231
859
263
224
52
384
563
749
708
609
539
243
982
349
242
853
571
796
676
48
449
97
601
443
312
765
778
647
134
367
22
942
278
960
907
852
372
433
352
21
412
277
594
407
141
242
239
442
766
81
212
717
536
796
390
735
493
845
655
443
998
349
876
600
220
616
104
492
884
261
844
170
996
765
840
158
142
574
242
539
224
740
351
442
174
668
433
193
271
755
221
827
170
551
799
247
662
647
549
6
461
634
707
623
52
343
863
357
712
72
443
569
389
647
790
171
978
988
988
159
948
306
964
901
944
182
738
679
169
564
899
962
902
140
532
28
455
652
831
840
240
439
615
542
385
934
761
538
529
867
381
881
986
657
179
626
478
855
22
867
17
509
227
409
331
32
438
429
423
458
265
993
486
14
32
42
390
555
102
261
410
724
237
309
685
685
359
26
129
864
910
568
190
452
719
896
855
328
928
696
821
658
42
594
551
683
635
468
253
101
587
786
480
14
964
150
118
622
834
650
46
728
381
195
621
626
629
740
467
160
996
201
729
538
663
890
92
44
454
522
370
876
499
184
402
195
480
172
321
930
656
277
11
973
182
924
699
229
476
553
198
372
482
743
244
271
766
930
788
812
274
948
805
204
453
297
423
960
198
751
720
434
737
874
528
170
119
66
8
359
492
4
518
371
680
728
545
679
887
153
56
484
557
524
661
4
475
130
404
704
259
676
821
702
239
808
167
220
599
673
325
207
328
847
994
221
193
589
199
232
472
216
16
249
607
296
706
603
327
501
93
249
7
200
144
673
211
297
154
891
430
410
872
504
998
187
192
998
44
474
723
306
143
79
708
149
995
73
238
808
79
933
659
820
727
340
405
536
474
126
208
604
861
664
810
210
85
1
826
381
24
160
390
690
206
338
555
493
221
163
214
216
936
800
467
266
622
432
951
865
761
599
636
466
874
911
982
454
186
911
169
507
307
239
295
334
418
807
83
512
638
363
618
789
315
726
106
537
48
930
449
993
105
749
674
563
734
329
920
734
617
202
698
69
300
542
658
362
998
353
884
276
618
198
85
668
165
226
671
403
994
461
813
644
476
796
75
490
776
661
80
350
358
93
5
658
754
815
387
322
888
977
834
854
972
410
774
239
550
603
287
430
810
120
397
815
668
856
951
139
455
334
350
105
259
260
945
371
119
646
886
689
270
149
553
720
621
699
484
453
466
96
889
204
195
32
422
904
439
897
865
736
635
818
790
240
484
602
40
654
148
641
116
627
322
388
131
422
511
709
35
393
922
272
252
807
423
144
665
88
896
949
170
126
139
242
631
631
217
264
135
401
757
853
905
987
239
98
84
489
784
271
884
88
262
672
266
534
828
282
393
957
132
560
601
311
533
260
524
232
608
909
300
304
129
457
504
567
489
649
574
590
199
890
998
588
744
709
468
872
533
453
546
390
120
507
115
233
183
163
35
763
975
236
981
451
74
678
401
611
329
713
878
949
797
485
978
271
360
812
817
722
433
393
174
688
841
750
984
813
537
244
391
655
254
751
408
175
629
966
378
570
565
842
97
6
821
376
429
419
914
819
723
874
424
373
119
953
682
644
132
235
676
414
481
245
700
789
242
153
922
425
821
103
570
306
125
324
887
529
584
32
348
628
328
729
889
247
952
715
64
393
730
484
105
62
100
213
835
783
487
752
271
486
281
334
540
172
869
756
403
38
172
895
316
88
32
271
425
759
153
817
338
761
32
132
800
174
444
278
650
784
633
631
548
839
280
356
11
641
707
851
234
870
547
896
8
146
270
295
826
87
553
541
916
31
471
372
498
694
864
139
56
233
69
589
778
606
376
984
621
628
210
518
625
850
55
594
228
242
545
878
315
653
13
988
663
208
997
305
242
140
857
669
580
982
729
662
2
769
466
765
122
595
104
937
369
905
654
35
718
957
700
102
27
168
360
711
535
483
668
480
179
467
314
356
321
563
999
471
380
846
353
226
642
636
489
717
223
548
794
822
733
903
452
30
735
939
569
591
462
936
490
673
597
183
20
993
146
708
871
826
545
818
547
385
200
808
302
313
581
622
532
428
864
875
167
926
837
418
205
969
490
498
511
928
225
712
398
626
142
121
342
567
218
308
334
503
467
717
35
682
393
284
905
767
117
243
889
735
586
2
100
28
169
155
157
845
773
8
507
744
314
498
74
669
53
3
77
89
779
346
698
196
330
251
556
10
237
596
621
797
568
89
289
417
188
409
829
109
729
419
291
717
540
799
290
586
753
336
781
154
399
143
39
803
206
284
603
655
283
642
847
830
440
379
199
136
262
988
738
282
400
803
71
496
766
764
932
854
422
410
901
720
32
351
7
438
645
927
760
838
450
350
318
149
905
420
78
665
274
797
997
839
209
892
298
548
457
689
65
935
171
173
401
568
585
593
467
686
3
501
714
908
151
346
74
140
947
419
684
342
660
132
966
450
237
902
548
56
302
443
526
319
978
850
65
250
181
703
167
688
535
340
739
238
336
560
726
985
312
287
215
993
46
137
838
522
15
406
766
353
158
740
832
873
789
614
54
340
422
809
957
309
812
277
576
299
70
119
984
632
238
942
498
816
137
510
481
978
573
438
768
622
254
658
328
435
880
516
718
939
900
670
249
544
395
392
553
969
357
496
432
24
439
862
422
505
855
462
532
300
730
866
984
834
640
412
597
670
460
663
655
429
963
253
735
182
747
994
953
109
218
903
562
569
334
887
621
633
724
928
732
811
640
999
458
940
885
373
107
160
529
640
21
483
723
571
356
714
409
860
640
374
13
936
47
865
529
269
411
283
513
18
523
212
584
459
92
317
34
336
119
761
983
191
87
314
325
762
513
497
415
730
932
284
15
472
272
673
551
975
973
926
117
732
884
370
14
287
148
456
800
46
838
195
971
146
51
181
451
427
537
166
961
42
718
538
242
816
112
139
824
240
788
549
700
916
425
350
852
314
989
909
18
965
816
903
504
593
99
148
92
206
402
291
325
921
835
586
524
90
961
273
906
365
321
41
81
467
724
706
25
770
80
478
348
292
606
143
308
310
710
83
555
620
690
291
37
421
689
444
833
889
8
666
968
773
957
816
371
794
924
14
268
154
234
657
218
236
667
333
929
439
221
917
727
143
811
595
294
12
125
759
859
166
767
469
525
307
185
696
861
526
568
658
160
343
111
327
33
534
513
661
97
413
630
147
587
547
466
54
634
319
551
131
829
384
857
612
418
785
30
44
159
468
693
868
425
958
960
698
616
222
123
921
323
136
663
594
970
475
362
598
851
114
310
676
591
909
25
283
46
799
743
137
581
812
168
6
470
979
621
498
916
659
585
621
764
402
77
402
581
280
180
152
166
552
301
847
932
657
432
645
848
770
731
802
784
593
288
100
185
610
771
420
954
791
9
327
322
581
225
298
253
105
788
796
644
662
852
499
156
988
172
816
30
246
742
293
657
396
614
631
980
392
421
812
25
677
675
263
5
540
861
95
464
218
711
173
867
87
841
208
911
852
61
89
553
457
303
419
458
315
62
573
85
564
659
619
146
259
437
160
534
820
203
447
99
594
844
154
848
71
69
836
259
186
654
407
361
114
399
931
201
165
246
671
90
685
654
576
759
378
375
353
196
66
240
854
460
747
417
747
204
699
884
353
8
555
535
85
861
463
414
142
294
931
68
985
741
492
898
651
678
50
703
132
952
701
294
917
532
814
213
259
570
389
47
897
281
54
834
786
658
585
310
815
426
487
558
673
984
15
707
736
293
983
916
337
795
853
828
842
495
891
32
706
274
627
862
100
346
449
13
743
534
949
64
290
707
543
966
25
257
944
962
591
17
350
200
213
353
532
504
197
485
610
409
477
253
959
542
649
686
572
893
232
680
216
353
862
52
862
102
754
35
241
114
35
987
806
79
500
751
58
497
913
606
976
579
240
220
229
832
105
331
972
930
299
176
283
489
415
824
713
928
527
627
6
423
389
17
763
322
790
710
737
51
543
199
450
689
109
87
69
886
972
426
803
744
730
728
594
601
297
716
581
397
754
214
587
462
169
792
908
97
120
911
786
290
767
346
279
271
51
630
639
381
12
61
974
899
276
640
686
71
455
891
123
546
626
147
952
861
27
326
971
372
823
595
513
276
141
639
84
952
548
411
615
896
817
347
546
931
125
56
992
220
809
372
380
835
396
492
294
301
944
655
751
568
626
424
740
321
110
190
689
422
511
945
426
531
618
735
372
624
630
434
896
240
889
676
229
738
920
819
903
768
673
791
382
465
999
585
485
544
256
893
203
651
436
122
749
780
361
598
998
541
279
278
27
382
708
705
98
585
439
250
277
45
431
924
858
353
753
149
881
684
807
940
358
352
820
869
244
650
20
52
806
800
919
124
821
385
897
879
917
652
618
753
485
459
839
866
797
436
890
673
362
156
390
580
89
699
818
79
543
40
164
33
408
105
229
768
314
167
82
530
332
502
833
684
783
880
121
758
468
487
699
60
81
361
38
134
366
290
158
771
494
355
778
623
296
23
447
747
197
755
515
534
159
576
703
580
480
970
538
15
57
747
108
665
595
249
442
257
278
369
299
512
643
382
326
623
731
509
340
73
121
471
952
202
95
33
880
209
47
675
86
530
191
85
281
653
784
125
458
451
367
285
843
90
978
415
70
378
897
692
430
212
243
368
787
418
672
842
83
855
487
975
436
121
705
394
464
598
33
708
861
827
210
210
200
427
920
621
639
855
287
897
466
316
31
913
428
24
470
121
387
869
945
880
129
234
665
248
90
351
656
446
349
118
253
107
491
749
556
666
845
967
357
923
148
706
315
920
928
458
570
730
753
461
575
681
15
892
639
808
121
137
576
68
800
941
892
944
717
8
134
586
750
145
416
577
100
601
591
738
866
647
267
112
823
741
653
440
946
894
214
969
650
914
248
401
778
312
807
160
166
551
800
908
983
169
774
447
98
103
569
684
476
135
24
380
946
19
943
743
723
267
770
768
751
983
837
423
280
408
546
379
75
33
587
26
311
240
135
932
537
424
975
728
26
482
682
664
474
343
306
694
279
965
500
37
573
840
647
577
753
575
358
380
540
593
654
818
450
302
247
521
158
371
608
425
449
892
916
694
291
295
571
165
133
821
679
303
693
284
793
330
338
598
274
311
682
270
777
521
138
625
794
320
23
74
636
104
224
106
947
649
602
37
647
289
73
744
184
947
713
774
134
980
381
209
441
151
49
670
86
852
452
622
540
832
737
972
149
299
502
538
497
242
970
601
883
209
102
173
269
602
108
35
444
718
187
852
707
432
289
889
57
381
370
931
730
984
920
41
962
435
491
664
995
63
600
437
690
79
630
774
580
807
325
915
841
937
22
694
451
201
49
679
748
152
595
735
731
405
933
277
667
763
83
658
40
171
875
206
397
302
919
391
427
913
134
490
466
791
372
887
667
237
145
867
292
558
618
340
929
957
852
425
935
543
731
279
106
930
146
819
372
36
771
249
309
237
222
422
407
6
445
83
298
516
969
28
631
457
39
1000
873
509
691
965
64
480
587
14
501
108
762
739
383
937
473
400
678
459
46
564
875
938
927
198
817
928
153
396
511
550
130
991
675
970
872
339
785
409
874
457
573
209
362
519
212
156
987
425
962
284
928
817
633
882
986
419
65
243
475
41
719
1000
655
937
649
562
956
434
314
226
518
957
171
70
407
599
522
586
397
386
837
336
408
239
673
634
528
471
325
323
27
285
570
307
939
386
212
355
609
314
649
79
31
494
352
700
970
348
967
361
596
21
747
322
837
396
141
300
703
130
665
595
619
367
649
424
182
634
26
38
832
203
127
796
638
828
336
368
766
359
559
601
233
202
673
425
231
974
513
353
656
985
513
760
446
368
800
138
26
798
397
954
429
712
222
574
657
880
719
950
447
992
284
411
901
628
154
963
366
632
25
945
534
447
496
762
997
379
365
682
379
149
916
373
737
324
601
910
129
371
928
512
128
171
962
124
585
778
559
292
130
110
348
468
744
19
517
3
214
915
671
616
473
676
359
24
592
123
420
790
700
709
929
159
182
422
363
806
347
114
606
959
117
583
514
358
451
801
96
811
907
589
773
944
188
922
828
871
560
781
882
119
746
129
187
120
271
173
574
992
275
524
131
103
480
273
94
161
341
259
944
152
412
29
442
488
617
50
151
144
406
780
31
409
760
81
871
90
633
296
609
694
673
31
115
111
27
297
623
838
617
233
802
598
504
48
403
507
884
177
525
613
817
903
814
711
975
862
315
823
620
899
276
641
501
737
945
521
571
783
280
328
264
204
523
544
557
62
823
575
212
940
411
121
381
958
374
803
248
511
723
969
482
372
288
778
72
23
943
174
528
219
812
355
543
801
405
671
956
758
56
696
237
330
681
359
805
766
604
620
187
943
130
170
404
679
634
14
991
5
130
619
765
62
711
487
756
571
770
663
759
14
626
683
581
760
15
896
392
386
952
942
536
336
609
395
791
906
186
220
348
228
253
764
701
596
641
448
244
985
805
175
603
70
470
774
663
396
540
456
763
601
469
328
798
772
726
537
807
51
566
470
161
620
48
783
653
36
117
679
643
704
636
45
874
943
424
509
773
726
734
449
830
648
113
300
120
119
254
247
159
67
262
548
67
689
767
264
436
887
427
141
393
92
669
763
109
99
968
848
383
392
566
746
23
200
300
775
421
176
126
30
133
162
989
686
269
976
946
619
211
545
815
381
488
977
168
184
663
370
208
546
720
260
892
709
760
596
705
756
773
55
645
586
879
335
307
566
720
754
425
730
583
163
900
840
482
665
88
498
619
124
121
772
579
748
103
469
172
322
314
262
26
822
942
396
953
178
481
565
574
980
619
859
953
747
361
409
747
202
162
439
947
685
41
987
393
399
19
455
76
747
727
511
698
380
682
568
94
913
598
254
874
491
37
797
113
519
859
245
974
888
230
760
919
999
399
58
550
708
34
172
200
99
709
360
94
615
25
924
268
690
933
142
493
459
57
269
94
523
212
823
930
37
823
940
765
554
714
637
958
198
512
228
658
699
993
983
692
775
834
343
950
131
557
677
330
87
942
587
270
479
827
253
461
992
999
155
589
553
831
778
867
742
431
615
667
443
327
814
772
113
130
353
662
119
209
490
751
562
111
552
701
889
373
835
750
387
419
492
526
326
408
813
932
140
284
233
529
531
782
722
295
773
802
967
757
851
405
893
280
255
662
611
732
398
710
869
820
660
689
417
159
3
658
473
533
946
216
674
850
451
301
452
34
926
564
780
459
122
803
627
545
170
141
256
848
396
64
716
286
816
937
487
172
435
340
257
341
540
428
246
12
210
499
308
951
163
166
305
143
877
818
858
465
645
561
681
763
875
454
107
368
438
645
319
268
358
993
58
135
455
816
252
903
814
719
88
832
127
847
565
879
999
488
423
696
302
677
682
778
538
368
701
136
951
738
803
326
814
430
34
872
950
869
521
883
1000
329
266
161
403
49
936
211
357
585
331
324
246
500
813
372
153
694
897
22
134
913
573
816
822
473
729
2
842
817
182
13
219
276
431
256
656
368
236
197
99
981
504
805
517
74
788
56
161
892
893
571
885
220
716
456
293
949
446
36
570
21
697
529
866
890
967
642
17
769
66
693
194
262
781
159
792
492
133
467
531
421
995
450
231
900
743
126
204
920
869
362
530
623
134
559
760
932
990
687
725
38
399
893
227
594
160
412
328
169
94
722
866
419
175
698
591
464
803
27
11
180
933
316
647
442
703
105
879
898
533
480
9
495
425
109
446
833
296
287
171
361
784
13
763
628
885
233
289
29
148
94
323
991
952
497
197
114
523
262
339
568
980
958
230
950
639
814
50
893
249
149
600
936
592
455
416
570
111
608
319
899
850
657
819
73
983
333
888
494
664
691
627
812
748
290
265
908
181
922
738
359
482
195
831
394
832
188
473
974
688
15
354
397
767
350
416
842
455
900
180
296
412
346
79
640
228
504
148
33
430
329
502
351
107
899
963
141
649
723
144
454
855
539
10
953
758
275
688
901
35
992
863
995
809
445
615
502
961
369
959
851
841
695
667
639
380
700
183
4
172
539
555
436
67
665
361
429
148
412
539
777
757
431
883
964
421
694
722
840
80
524
954
710
41
483
190
8
451
950
212
3
916
939
357
331
56
29
698
711
446
278
115
915
387
644
413
877
374
761
678
894
992
856
962
988
162
245
203
868
361
101
10
377
436
138
580
966
135
429
544
535
311
842
980
910
51
473
183
352
630
1
42
748
309
133
17
552
440
156
804
125
287
153
720
846
232
622
742
260
764
73
916
573
764
684
528
3
102
245
52
844
514
427
380
635
40
883
248
463
52
802
105
288
41
340
873
138
898
739
204
149
357
89
839
767
658
405
660
817
247
89
836
795
492
936
249
489
18
521
14
936
204
217
520
841
815
78
838
756
530
550
776
763
339
278
106
907
393
290
694
345
915
504
380
26
201
779
427
744
589
735
297
550
479
166
317
848
181
154
518
1000
377
931
575
856
460
118
293
473
878
220
543
193
880
177
885
383
730
291
395
391
547
109
333
701
421
683
405
827
336
169
305
237
746
917
129
477
352
21
21
708
753
830
125
67
136
47
483
634
139
858
68
273
314
7
504
316
379
857
382
858
599
232
279
423
151
301
736
903
340
836
469
958
851
923
39
512
16
628
62
614
250
144
779
641
380
703
477
804
599
871
827
948
159
901
654
871
723
488
69
812
499
605
134
251
912
129
481
902
563
569
343
620
664
564
506
955
984
757
586
272
560
281
844
647
71
375
487
272
856
584
33
709
965
567
850
134
556
817
414
679
156
479
200
56
46
10
356
938
52
652
476
976
571
559
858
912
505
938
617
968
116
756
872
605
497
414
43
752
489
258
983
842
380
990
242
331
651
819
299
872
376
665
985
33
607
876
656
219
241
648
876
470
394
822
523
944
283
796
249
182
978
33
191
687
146
75
633
1000
104
1
142
154
54
5
287
378
402
139
683
931
416
284
532
228
304
102
225
779
1
72
876
18
560
696
812
796
69
616
171
165
425
713
770
99
172
187
276
972
791
277
586
909
524
536
990
654
842
519
376
196
128
322
215
203
13
683
562
275
81
220
609
115
310
980
619
988
739
665
206
259
296
775
5
377
659
447
747
393
288
944
636
997
502
595
702
111
568
478
519
246
313
289
233
228
661
671
413
370
872
713
576
875
974
465
622
38
16
105
587
837
357
798
286
621
127
419
435
880
376
18
790
583
210
334
689
108
358
719
143
619
231
549
270
609
501
558
450
436
634
588
32
905
604
898
835
321
237
552
932
997
225
359
432
904
907
546
53
990
295
601
298
730
699
723
945
603
516
931
380
571
396
153
45
57
79
558
875
598
604
988
146
129
504
583
618
808
846
611
160
378
651
54
349
371
325
739
665
819
213
663
974
765
277
681
978
565
227
935
186
866
96
215
727
207
421
965
60
366
656
778
178
943
426
54
478
189
502
942
795
740
179
823
509
774
837
369
773
37
43
630
97
389
490
715
536
758
465
376
673
860
269
176
436
670
213
39
559
358
402
642
132
335
487
505
271
151
972
671
410
183
475
534
88
454
526
723
406
490
128
951
500
771
292
381
493
253
228
381
393
383
665
498
297
258
36
111
99
866
909
490
610
840
79
930
649
797
225
229
155
122
864
999
874
21
632
237
468
738
590
109
186
149
328
145
373
314
142
894
177
163
452
624
786
239
919
840
385
278
439
233
850
472
309
160
844
457
369
917
616
420
849
886
282
227
13
77
788
164
377
738
84
681
484
454
239
528
724
622
374
813
667
254
317
782
747
821
837
597
872
246
149
992
763
229
142
422
363
774
457
283
664
196
79
811
708
889
612
540
287
820
771
549
115
78
908
310
823
773
584
614
178
266
314
934
325
985
581
575
720
81
171
166
613
777
652
319
647
559
587
814
124
266
668
285
999
769
509
156
511
127
283
579
609
53
718
163
46
54
244
617
67
843
229
791
116
482
316
201
893
253
839
870
371
421
195
158
113
921
806
351
330
471
21
945
648
786
902
927
479
362
338
870
209
780
331
321
184
590
649
806
599
618
234
722
943
981
885
562
631
163
796
182
807
282
441
293
59
63
170
953
1000
86
618
596
207
620
712
68
41
691
591
193
230
96
277
655
932
722
270
331
174
915
551
784
198
589
665
317
258
467
656
838
833
124
613
805
65
474
532
695
464
979
985
749
561
117
819
241
267
599
747
160
112
391
229
967
448
880
459
64
936
389
659
697
332
826
109
299
663
474
514
681
372
781
374
53
920
546
997
612
610
94
677
286
129
856
338
302
411
271
651
423
934
88
211
59
509
958
884
979
940
645
831
21
670
348
43
991
687
369
446
980
513
819
746
412
30
131
248
451
314
906
805
865
360
14
907
11
809
935
685
397
333
40
240
191
336
889
311
117
44
640
738
409
823
357
570
886
803
343
955
752
473
629
135
433
964
373
976
597
142
287
460
553
456
115
477
350
765
857
80
269
965
671
91
830
333
367
553
126
925
939
92
55
259
888
677
979
762
944
609
459
158
388
843
951
40
366
889
806
358
485
626
437
471
475
314
319
683
930
988
299
925
930
192
797
314
898
706
654
901
147
533
732
779
426
880
902
114
202
323
714
366
575
640
871
122
461
8
613
520
149
422
244
190
406
201
343
18
54
408
650
791
362
838
197
974
629
16
70
439
78
267
42
974
530
529
448
766
369
18
881
893
995
254
652
29
283
243
566
201
591
794
184
469
494
49
668
790
739
322
279
198
876
231
774
649
642
955
288
536
472
133
744
915
410
599
493
978
314
629
679
112
493
873
744
223
790
454
642
628
732
979
562
923
530
391
374
729
629
627
616
95
12
34
548
660
650
387
690
365
340
119
318
636
657
70
570
468
910
677
193
773
796
9
465
685
914
475
486
259
421
352
876
137
894
495
882
316
889
726
47
112
795
440
878
755
304
894
402
862
240
507
118
171
552
256
595
527
964
897
898
89
194
322
97
130
627
834
351
595
63
504
428
803
463
46
91
269
637
857
462
683
463
967
333
459
527
618
427
148
61
151
748
210
657
662
507
316
521
616
593
379
973
249
179
986
481
126
866
759
757
646
698
448
373
646
517
242
881
526
351
838
663
443
982
347
591
223
395
957
123
595
552
628
631
230
810
739
595
876
363
802
819
536
271
789
946
269
10
622
379
680
976
663
181
582
62
797
631
625
228
832
916
923
999
528
859
821
918
476
665
4
335
441
448
65
295
568
654
524
955
974
611
27
682
899
111
116
925
524
304
551
16
983
255
595
300
903
137
101
365
5
420
495
705
896
396
949
826
256
34
139
698
978
473
992
421
716
414
723
189
497
316
294
920
714
563
151
439
860
703
713
707
841
459
626
401
532
455
253
101
553
508
205
428
897
884
965
768
115
145
842
613
283
86
545
124
837
774
627
287
696
903
972
864
767
513
224
440
75
620
809
27
259
444
750
77
101
761
23
226
108
335
569
804
882
536
443
946
171
23
752
124
51
783
217
57
637
944
185
258
78
495
885
923
394
480
569
466
850
248
920
772
159
116
788
175
828
121
866
201
285
591
401
408
312
948
423
974
441
502
230
297
635
961
105
506
578
85
293
695
320
180
314
666
863
108
562
153
519
121
974
817
499
93
296
794
264
651
53
206
613
331
923
835
349
80
615
129
643
385
719
793
883
817
251
496
882
42
769
639
815
174
7
698
128
926
953
410
996
147
166
916
592
221
929
70
548
262
506
277
512
219
383
615
632
810
893
485
132
644
993
711
878
62
324
840
982
957
883
371
52
290
774
772
627
116
533
453
747
671
480
298
318
469
387
982
164
427
504
39
214
763
657
588
258
750
699
695
112
469
47
556
836
382
449
121
844
867
395
271
370
893
771
399
777
615
471
81
604
28
675
550
102
754
414
835
241
669
867
781
806
350
547
620
267
271
176
413
547
237
569
480
710
839
312
880
812
563
342
109
886
788
814
449
73
103
783
819
432
252
314
554
836
537
586
275
676
700
464
884
785
156
763
788
148
912
154
627
421
705
245
168
282
668
870
507
898
310
39
421
604
725
324
516
958
707
662
802
965
909
700
479
157
228
851
988
617
416
136
850
802
242
792
411
175
644
318
386
271
19
348
993
782
135
273
581
655
224
18
824
12
475
755
26
874
481
637
542
321
218
807
72
722
744
37
440
94
175
390
440
496
397
155
564
587
644
170
690
136
324
346
330
315
419
840
671
66
378
870
411
698
656
586
368
146
976
796
945
990
930
555
771
421
763
824
300
827
61
454
674
585
563
736
939
907
553
618
545
345
66
499
141
634
706
191
855
100
960
231
606
762
760
254
525
622
471
523
210
338
629
36
372
655
510
873
427
500
74
551
697
612
885
196
196
936
387
302
430
800
293
666
237
38
923
877
449
840
36
364
106
71
60
594
988
215
683
492
494
894
418
515
271
117
122
111
538
39
427
480
762
20
715
668
178
202
558
997
688
663
516
790
812
439
823
118
713
351
748
74
784
627
357
652
929
769
14
886
465
978
170
341
528
717
928
372
945
672
405
852
839
461
142
209
617
904
681
701
584
609
958
800
158
881
346
476
529
696
6
921
688
601
741
968
905
900
661
53
124
432
785
73
256
571
198
890
989
816
472
585
601
493
848
747
211
633
123
233
55
54
252
884
669
36
455
584
306
755
987
955
515
804
815
670
596
733
149
91
530
509
151
455
90
213
173
341
47
60
557
505
789
86
374
473
202
408
477
472
373
17
894
362
529
482
892
261
623
770
24
454
183
639
74
982
317
681
105
58
297
190
749
65
742
432
465
433
244
799
736
141
214
587
97
926
832
806
406
553
262
531
42
639
692
773
532
617
354
760
672
371
388
809
377
987
326
690
341
812
3
473
85
745
892
412
111
243
244
294
723
75
897
64
496
215
310
233
541
636
192
758
453
954
66
612
296
1000
286
223
53
480
266
334
709
754
166
600
564
676
880
419
401
157
925
61
880
791
756
185
875
435
103
179
518
127
165
606
389
95
873
221
634
888
986
645
793
874
479
798
767
431
550
635
670
166
560
538
270
413
423
983
354
68
261
716
623
563
631
762
661
383
273
8
109
81
110
994
426
211
197
809
531
882
400
659
151
982
878
769
952
193
836
753
378
49
597
501
650
233
786
925
594
197
281
605
748
964
669
510
767
694
99
466
232
147
810
997
831
733
125
471
307
203
361
240
716
390
923
599
301
607
853
957
737
454
231
536
572
809
105
327
453
743
117
756
132
912
540
724
289
774
268
242
935
609
164
898
540
899
288
761
38
106
729
150
564
258
171
889
106
23
856
301
263
188
323
189
945
507
125
508
165
923
792
238
36
61
413
228
712
720
596
414
279
801
998
873
566
757
290
628
386
157
190
977
26
437
169
423
651
232
519
897
888
936
758
117
46
328
746
370
320
130
472
911
838
363
208
479
600
251
594
147
211
172
286
803
785
898
979
132
570
930
993
836
647
244
102
216
506
189
968
948
464
582
371
30
617
264
388
456
494
546
836
85
653
948
569
597
206
642
684
133
675
813
278
456
615
930
184
990
203
569
19
152
293
998
949
720
551
226
821
830
888
562
687
384
806
50
293
260
242
328
815
755
157
539
962
94
426
965
595
693
541
924
174
87
288
316
671
94
796
924
62
822
335
189
168
596
793
739
371
747
38
369
740
460
251
535
137
578
892
686
206
317
179
885
507
361
803
279
678
684
176
930
212
746
652
394
325
446
25
235
463
278
102
351
152
720
293
574
290
750
982
528
468
772
902
139
594
924
847
483
904
929
874
922
432
168
517
577
154
640
699
230
303
808
705
704
813
132
45
597
453
247
46
7
968
324
758
573
476
162
124
671
435
930
371
128
723
305
317
176
782
925
557
648
287
737
550
618
538
798
258
792
596
530
282
950
227
279
436
656
862
234
313
272
125
443
644
25
937
678
247
528
888
396
890
664
306
883
682
213
438
940
495
918
274
159
468
976
754
913
894
80
592
668
611
202
463
126
604
296
54
20
659
968
386
62
794
960
823
693
646
960
409
776
188
878
521
325
932
230
346
666
240
647
341
196
516
904
685
37
789
23
700
425
661
194
346
648
672
242
213
708
899
345
866
642
969
548
998
627
773
361
643
566
862
407
577
850
862
640
138
382
311
142
917
753
964
867
174
659
993
1000
344
283
476
795
740
361
224
849
384
99
339
757
925
921
808
43
774
298
108
40
893
510
40
142
185
282
982
470
39
689
293
521
407
551
892
841
713
871
920
74
26
490
949
24
167
252
418
514
864
441
870
891
615
160
55
13
692
615
183
414
549
980
431
157
2
637
312
539
708
89
669
461
834
792
865
717
341
474
198
938
947
247
712
187
671
962
329
449
854
827
681
395
677
232
96
827
472
127
958
140
626
41
45
21
422
18
519
323
966
336
956
732
252
845
179
415
494
179
678
296
86
874
91
1000
937
661
559
791
481
780
769
6
340
227
151
612
510
229
983
493
910
100
178
998
341
868
85
106
205
707
949
255
821
246
625
563
815
311
679
656
852
497
317
784
931
251
437
265
566
817
695
521
444
481
661
164
569
40
45
624
469
321
462
829
784
865
440
272
442
612
160
639
650
537
960
818
177
685
769
755
699
27
432
79
539
827
390
866
790
18
268
214
611
173
707
525
510
244
239
526
519
191
51
82
510
979
263
825
295
196
744
434
810
739
534
194
425
558
669
92
319
486
586
293
985
538
280
306
112
889
117
540
501
930
506
216
227
443
650
809
926
917
259
298
985
496
376
483
384
845
502
567
135
489
747
994
583
813
82
285
309
949
662
202
16
275
785
167
580
51
323
233
378
68
326
319
139
783
95
633
811
549
220
388
344
31
944
964
900
759
756
682
688
126
300
181
546
797
513
227
427
647
417
434
114
830
143
13
913
552
559
133
507
406
365
916
884
912
606
401
52
6
382
21
230
819
899
281
353
4
179
360
25
260
413
298
492
466
408
275
821
5
596
253
237
457
815
911
481
818
435
354
135
793
419
581
79
537
613
49
654
394
897
970
624
820
803
173
753
691
889
443
642
618
461
281
529
738
170
923
863
666
688
265
843
969
897
96
562
545
983
630
50
771
407
910
294
126
993
42
258
299
240
632
68
423
567
999
728
209
374
924
214
190
714
761
331
238
861
703
460
773
285
877
204
801
332
745
7
59
474
938
985
30
68
304
600
534
454
416
293
944
604
202
880
784
743
701
331
659
61
146
529
964
127
703
762
822
681
268
975
50
224
618
259
695
252
98
690
926
11
750
354
562
391
492
333
596
920
469
511
389
894
225
268
80
303
688
537
907
605
257
230
794
376
479
747
549
507
899
141
461
957
662
511
913
6
371
373
860
592
514
96
682
601
494
945
956
883
940
931
166
402
494
456
218
124
725
696
908
206
168
751
173
557
731
886
13
89
891
589
499
843
153
727
138
703
215
860
204
571
197
611
315
771
24
76
695
889
790
423
28
446
515
205
787
599
190
427
225
524
467
69
953
282
604
580
197
699
553
871
361
295
183
440
478
318
667
580
510
725
6
51
220
361
526
226
507
616
910
456
701
578
17
354
280
74
289
726
887
4
31
164
299
64
218
652
249
311
783
110
578
985
518
502
230
697
836
967
36
364
624
474
57
271
346
646
493
236
373
746
823
145
230
272
875
59
73
277
5
683
284
297
406
229
459
735
852
621
457
658
858
539
414
209
316
12
787
270
149
163
560
597
451
201
734
345
834
987
74
819
459
289
897
335
311
385
364
233
808
797
348
501
769
757
442
922
87
479
88
379
191
419
134
727
546
496
337
671
963
676
462
184
477
410
674
324
888
163
842
748
866
696
248
814
650
773
930
958
4
744
549
912
42
773
257
436
962
542
487
450
496
928
998
854
129
506
759
847
721
713
493
282
212
167
743
430
498
956
390
545
405
658
410
805
942
485
511
492
626
230
993
809
765
611
818
317
7
227
399
804
352
537
79
335
74
255
597
339
705
15
110
848
274
480
488
443
539
842
691
995
783
273
968
74
101
16
542
740
780
658
203
495
497
653
941
388
594
265
326
586
584
969
881
270
417
753
66
374
732
941
852
492
499
901
35
295
995
448
629
899
3
836
662
955
511
1000
668
644
946
85
21
415
151
373
981
4
904
439
31
265
759
732
598
341
404
799
772
10
495
78
984
356
180
492
904
534
102
106
18
19
713
747
424
665
149
790
406
835
749
297
258
108
543
297
631
325
690
301
418
269
859
44
813
882
70
67
713
731
301
994
84
379
509
248
255
415
331
517
350
191
846
509
253
682
276
391
542
516
357
835
818
906
463
794
732
137
248
960
788
281
674
347
717
29
847
617
787
882
981
555
939
446
156
568
37
257
264
226
856
389
712
610
627
56
951
690
121
597
917
35
256
480
790
914
189
456
263
233
668
563
702
837
209
470
135
400
285
554
18
507
325
186
116
564
758
926
638
853
732
727
963
378
437
775
935
178
118
314
691
390
1
632
438
699
342
433
427
749
714
953
591
719
474
534
978
554
81
819
164
263
545
413
267
298
855
595
81
261
633
664
79
116
663
585
751
603
143
854
793
804
719
951
176
663
393
303
8
797
377
400
399
110
874
635
265
583
499
430
97
88
796
467
269
241
887
138
356
111
773
905
294
79
264
869
937
242
779
725
705
564
537
220
595
386
725
394
757
8
339
172
220
799
268
317
111
714
83
370
892
113
733
963
734
547
14
812
111
496
238
758
115
123
8
484
788
742
398
892
966
85
87
691
767
407
228
436
840
168
914
117
955
294
92
410
334
13
731
874
338
890
817
696
819
929
499
73
453
581
350
955
850
73
209
671
103
713
546
911
697
743
621
622
377
860
968
684
675
751
904
599
260
851
810
40
185
69
930
815
407
406
298
710
656
228
191
693
855
463
197
181
801
146
599
427
748
514
264
585
877
377
640
689
357
548
792
605
863
953
627
3
962
425
574
516
736
311
46
566
380
764
932
780
270
974
223
520
202
678
645
823
38
984
801
957
41
937
920
889
534
257
779
167
330
391
734
134
604
342
83
913
478
739
197
326
596
280
920
731
440
965
772
819
913
522
394
543
994
41
472
688
904
114
135
98
272
710
412
160
245
605
915
3
361
444
304
756
263
388
497
374
13
905
780
762
857
422
205
365
760
487
646
956
954
557
954
110
6
779
431
700
673
903
723
832
868
26
846
820
622
965
715
147
844
917
16
905
999
485
689
831
588
294
599
922
436
214
205
569
359
595
154
292
746
63
770
458
928
134
367
818
13
333
115
276
11
536
12
119
686
2
107
796
518
909
743
455
619
246
20
661
168
597
92
91
219
688
163
585
279
583
283
590
134
42
93
909
777
880
723
696
161
141
915
769
727
490
289
676
289
543
391
408
937
767
764
288
57
168
865
393
433
261
50
755
669
681
225
764
861
381
8
399
503
576
398
373
116
446
42
824
992
164
120
944
737
977
799
794
998
929
958
623
891
294
582
200
152
952
841
21
975
753
355
765
807
363
564
50
152
221
443
369
535
30
22
36
361
591
295
160
353
941
156
909
609
452
921
820
98
982
853
473
595
220
872
654
620
73
274
23
961
331
864
377
730
868
373
848
728
310
423
757
77
472
568
364
716
817
155
506
368
895
826
914
994
986
511
56
626
173
637
501
664
650
152
124
394
400
612
969
534
273
287
204
68
93
709
408
477
690
587
385
794
624
309
792
519
961
551
138
582
652
642
137
973
944
422
961
592
790
289
678
159
403
27
42
735
933
765
854
509
751
156
310
50
983
405
99
118
733
334
546
500
904
49
737
29
661
102
428
139
332
267
468
815
10
178
662
803
183
105
242
250
473
104
598
777
984
598
522
122
793
240
961
83
858
525
221
494
965
227
617
342
394
170
815
955
635
275
484
373
853
43
419
669
783
893
19
951
401
828
831
266
9
921
897
407
353
35
823
888
22
982
786
3
613
87
198
922
152
710
378
234
773
850
376
238
970
380
39
507
590
819
531
978
346
786
751
862
777
473
557
187
535
497
228
661
332
518
371
854
113
838
347
419
854
18
326
145
849
229
303
213
558
648
755
897
845
727
112
329
938
557
922
658
535
889
378
89
297
576
883
839
353
333
450
16
586
774
40
759
172
585
379
787
274
578
410
657
844
101
305
619
198
962
858
952
411
560
183
45
597
439
846
315
830
797
980
231
797
840
433
347
288
990
745
275
245
125
571
914
450
968
196
156
853
710
958
443
199
736
714
267
858
46
961
726
730
613
890
691
659
446
389
41
56
555
31
668
327
391
130
626
264
562
246
914
762
807
923
822
118
265
29
720
684
52
784
423
816
54
471
9
938
595
852
50
2
373
504
777
795
632
687
578
358
32
808
596
227
130
271
935
358
656
290
91
350
25
245
820
22
638
279
591
504
573
154
130
736
197
811
357
659
89
698
161
491
418
682
76
122
565
294
877
112
381
127
541
744
896
427
795
304
735
309
697
83
714
600
297
607
349
967
471
234
61
873
404
591
884
916
77
277
397
268
327
865
409
250
698
560
662
575
345
739
423
424
749
262
410
302
795
620
898
593
123
953
229
814
247
473
200
858
109
101
942
911
147
930
9
313
904
739
332
375
488
875
596
32
891
744
378
259
311
593
72
407
121
438
233
920
75
815
472
458
655
467
442
88
214
233
789
32
716
164
133
473
417
325
319
12
801
856
167
693
438
569
931
962
203
819
495
525
490
381
124
819
601
842
198
771
519
351
989
546
648
600
954
242
903
622
433
891
746
297
926
629
396
479
283
638
412
295
298
297
346
493
130
997
923
664
957
250
501
795
29
32
172
887
49
805
948
311
416
270
896
152
412
732
993
50
858
876
710
957
107
882
20
759
497
57
623
973
554
584
642
549
300
572
964
383
990
307
691
304
484
502
880
138
257
386
846
969
720
673
858
852
147
803
948
43
992
372
912
292
796
315
308
856
210
261
398
657
861
432
558
473
951
618
599
114
478
30
841
293
941
317
534
305
227
600
397
688
126
176
644
756
600
425
836
252
473
577
298
427
714
177
665
502
836
504
282
836
241
739
853
110
518
379
706
480
814
230
497
994
388
362
2
490
384
540
879
853
662
994
933
758
266
870
474
985
716
327
798
960
873
58
710
449
544
950
255
202
363
709
519
936
722
542
431
244
700
394
994
895
994
843
262
504
849
440
696
774
835
213
216
296
124
85
409
444
623
133
844
23
886
12
400
142
261
338
825
268
124
533
486
511
377
432
435
994
613
941
442
578
459
173
612
316
681
803
582
744
542
780
44
540
781
213
527
116
307
943
958
443
395
274
494
779
708
405
537
983
973
319
629
814
486
281
131
907
931
664
213
171
190
481
704
961
906
886
760
709
565
917
172
663
800
912
336
997
410
359
585
838
312
435
632
699
297
97
296
375
972
423
603
636
726
805
573
923
905
745
713
845
620
243
311
462
815
181
98
226
231
707
778
983
927
334
185
606
865
350
565
704
877
219
583
297
998
788
172
560
781
546
283
494
673
625
903
896
988
959
477
76
287
794
992
590
235
764
540
659
115
859
146
54
206
909
984
973
210
675
918
820
724
225
424
896
522
42
596
672
82
227
866
738
353
258
525
526
219
952
866
582
523
712
50
523
769
649
353
799
847
903
493
33
187
301
183
34
789
547
845
527
458
277
704
272
411
649
99
537
129
619
902
798
979
693
408
148
641
732
914
146
837
348
469
726
205
515
970
358
406
325
842
860
716
171
57
146
442
288
104
699
433
250
863
777
891
958
22
158
418
667
787
774
973
807
177
693
977
730
91
758
345
987
706
612
582
448
467
18
469
387
94
105
16
621
592
635
540
965
182
484
738
510
456
248
583
744
831
313
689
75
527
788
599
126
913
391
43
80
37
775
854
406
537
808
632
564
963
984
688
643
721
512
38
453
482
598
447
274
903
113
588
339
958
142
414
120
980
859
740
685
774
817
838
676
810
15
603
988
535
29
435
829
329
86
568
654
466
229
967
406
737
590
306
619
48
373
771
181
406
357
600
980
183
594
339
255
446
531
768
151
454
915
326
936
106
762
656
317
273
84
587
527
430
277
441
215
965
870
115
655
849
785
727
493
101
395
991
47
634
445
686
179
608
330
703
885
378
319
218
30
488
52
457
149
947
58
376
774
167
81
340
581
566
737
540
517
794
377
444
166
961
79
84
840
31
351
317
278
753
508
521
347
142
635
359
892
499
740
356
687
426
985
18
485
93
872
158
322
294
860
903
548
415
177
559
560
551
541
183
830
431
58
196
617
668
852
872
725
161
866
817
733
105
818
880
436
185
553
41
610
993
855
923
818
626
350
526
696
703
303
681
40
765
932
504
72
123
404
790
456
743
784
953
976
693
47
549
346
996
722
876
225
481
856
456
403
367
764
418
55
870
471
923
121
70
832
841
157
654
86
793
470
919
967
552
911
576
589
523
523
514
28
712
109
636
873
142
895
302
87
141
668
699
166
349
176
680
955
508
115
209
447
366
722
589
574
59
858
69
291
401
472
249
214
355
513
971
720
851
667
978
677
768
804
744
890
589
625
262
992
723
817
508
698
966
970
512
276
913
607
693
649
370
948
165
738
997
451
216
550
482
736
78
29
493
249
375
876
570
882
373
391
877
848
256
878
444
268
168
314
114
314
706
782
934
254
863
661
110
412
166
641
4
880
914
465
829
818
930
688
868
280
269
857
56
840
610
265
711
707
887
823
52
650
877
659
895
799
18
770
582
315
770
431
751
998
175
75
60
133
118
67
318
251
966
106
795
53
892
32
657
400
219
400
579
191
518
570
587
893
66
965
102
719
468
809
964
728
926
913
942
637
674
30
872
750
549
876
100
208
561
164
325
724
553
915
339
67
759
848
353
805
131
882
802
280
786
645
587
308
852
435
648
870
257
224
701
931
731
173
699
572
422
614
321
810
995
584
340
855
82
848
280
58
217
776
143
460
177
580
310
694
758
196
975
985
610
514
552
78
665
784
568
291
95
719
492
277
485
284
778
729
91
163
182
989
640
652
49
481
109
61
863
922
313
787
791
523
961
844
359
778
1000
27
682
970
733
858
838
230
172
122
116
849
548
107
824
542
711
643
302
541
407
626
562
720
50
34
733
427
673
324
96
348
193
757
34
509
982
364
686
491
34
250
406
14
647
429
414
327
672
641
173
264
846
444
98
378
612
433
162
322
154
588
882
514
67
622
898
185
203
685
106
94
753
935
865
550
543
294
324
917
881
176
314
412
988
95
585
858
248
851
358
25
3
388
340
335
623
567
337
985
934
795
579
18
832
876
701
461
133
503
79
403
245
546
894
843
275
613
856
157
562
459
976
324
417
441
205
383
97
589
972
189
606
857
922
186
974
766
188
822
80
967
585
193
907
198
986
717
371
765
999
928
507
932
740
994
847
534
174
167
272
741
988
202
511
129
448
693
697
120
991
425
94
432
611
65
178
356
205
956
748
593
159
335
636
886
398
67
894
865
21
811
34
390
404
640
16
132
392
303
211
332
740
675
459
451
522
471
724
904
598
951
535
199
578
175
598
574
921
357
472
648
945
978
185
717
578
660
30
57
577
187
539
999
857
735
815
609
257
84
997
511
778
521
599
778
890
240
881
828
950
225
200
957
185
53
501
476
975
543
718
425
334
909
887
484
631
922
180
994
563
602
925
15
316
120
895
907
665
927
816
249
501
604
67
827
869
564
43
996
179
531
469
3
669
668
269
737
541
351
234
926
478
803
841
53
373
295
51
79
201
110
817
652
913
267
325
604
123
861
713
440
155
903
110
961
686
789
378
360
835
832
844
925
57
842
670
937
594
395
209
494
572
247
883
755
47
348
651
539
429
41
69
305
759
316
373
282
250
457
704
926
352
16
844
937
360
804
366
789
241
527
119
89
917
748
346
127
739
112
543
641
232
129
380
179
506
381
611
428
911
710
915
545
597
789
61
809
679
507
590
915
583
766
478
825
989
590
860
374
497
978
978
774
791
500
937
747
579
502
762
249
71
679
471
682
69
918
598
8
20
554
654
441
533
612
521
230
943
179
659
587
454
786
314
6
292
558
613
44
93
953
567
142
405
73
500
225
836
947
357
602
835
633
695
189
535
701
860
175
387
465
46
30
566
319
444
207
202
664
673
961
606
216
35
465
523
923
917
801
356
342
821
476
7
69
119
807
703
756
580
917
671
305
144
84
63
74
197
897
872
309
831
1000
884
562
158
195
900
570
800
344
555
887
80
810
74
628
279
152
209
803
573
386
432
82
890
441
152
284
994
348
400
543
564
279
914
884
878
844
36
901
11
912
156
329
110
804
716
565
412
915
919
623
134
713
387
563
286
545
961
185
750
928
732
655
668
783
164
780
303
615
876
843
64
758
246
273
303
645
486
930
826
506
281
463
799
25
380
17
892
282
746
537
27
702
22
93
67
877
97
886
170
816
486
99
254
640
109
329
244
739
788
116
328
178
464
995
437
478
674
578
579
927
334
399
438
283
234
646
877
52
933
459
566
521
961
138
23
395
294
506
738
177
114
664
918
415
746
521
593
542
494
862
517
333
832
142
302
925
5
869
711
937
666
211
889
480
605
434
584
754
949
860
90
467
520
312
713
554
147
431
72
537
823
825
430
376
569
728
542
877
744
758
239
549
320
390
65
281
341
959
797
409
387
386
634
497
361
298
140
668
325
915
789
421
443
884
91
643
300
223
845
979
997
682
3
801
466
115
16
761
385
915
283
331
917
165
508
769
269
912
367
698
705
917
852
826
233
278
67
380
656
573
60
509
43
553
468
254
983
958
374
667
164
731
803
337
918
761
686
866
390
297
988
829
874
345
907
341
711
682
718
680
846
621
855
287
761
258
338
126
72
776
447
567
483
294
879
907
164
864
256
179
860
503
955
122
212
528
728
53
826
73
442
927
601
378
619
18
729
332
115
542
518
798
434
11
948
448
662
253
397
189
944
878
538
785
770
394
787
924
57
330
4
841
177
491
383
546
613
893
583
890
904
43
203
953
894
942
630
724
59
635
156
616
899
138
989
156
910
347
485
81
695
855
443
159
141
663
826
286
377
439
624
796
479
338
866
455
456
360
988
336
102
928
850
591
717
611
715
192
519
950
404
839
845
920
654
590
835
857
444
240
382
616
675
98
586
310
123
638
791
229
35
416
571
442
83
769
717
151
634
80
339
66
489
793
700
952
258
958
286
44
577
799
931
164
184
698
510
273
719
35
826
638
760
505
866
985
231
909
476
787
816
920
896
332
418
1000
284
307
28
458
548
450
591
626
318
205
584
282
875
472
50
715
206
217
793
294
129
184
265
21
604
945
459
280
933
291
744
936
545
303
182
20
446
495
331
427
224
91
900
499
714
842
923
863
16
794
327
609
618
52
827
761
769
926
125
993
95
773
278
705
693
505
930
928
573
988
820
969
377
499
600
383
772
13
564
616
741
306
288
654
325
803
557
76
981
623
219
213
867
519
731
494
795
265
267
678
539
567
205
353
450
785
707
31
65
561
889
142
487
964
749
497
851
923
663
99
118
501
720
714
753
67
599
288
611
502
15
96
467
393
965
532
217
579
155
532
695
517
8
977
441
659
604
815
528
483
754
297
701
819
167
445
714
880
301
819
687
746
117
704
741
91
355
83
958
634
392
143
904
118
996
605
594
626
484
875
789
711
909
862
929
100
882
326
852
724
567
781
696
416
184
329
1
944
108
229
109
927
239
714
387
818
898
293
700
356
928
781
795
806
3
364
952
860
461
305
344
299
75
286
29
363
288
970
392
335
388
105
165
4
995
366
850
536
999
174
497
755
799
958
300
6
284
637
400
576
498
660
627
121
342
570
636
653
2
914
61
438
985
285
838
581
797
418
819
165
329
578
168
557
956
893
778
908
200
932
166
915
570
545
834
649
856
952
115
601
700
98
902
162
769
545
455
394
221
564
704
325
434
616
61
982
173
127
794
31
468
310
426
205
469
799
475
665
470
45
54
61
96
722
555
342
389
889
614
293
143
298
101
369
381
15
654
650
303
490
625
637
405
285
926
158
681
991
374
908
34
211
624
962
40
119
654
184
222
820
89
595
842
592
358
638
25
199
769
744
705
590
135
797
502
726
503
845
119
729
855
947
286
266
415
90
563
862
321
953
577
854
978
682
361
825
382
964
523
620
38
416
905
557
893
708
245
993
869
919
104
205
173
316
989
447
532
128
169
131
915
918
141
300
111
846
107
954
699
430
91
346
622
451
520
29
547
260
197
344
637
88
595
1
202
894
319
611
930
942
380
332
31
548
680
270
702
393
713
947
762
366
22
891
173
177
425
391
448
857
317
569
597
842
676
137
366
532
502
698
12
114
529
953
743
946
993
960
253
988
142
456
513
613
949
296
50
629
174
266
518
479
541
893
249
421
279
378
827
933
702
437
464
733
806
684
102
549
106
161
705
254
45
745
193
23
351
468
789
958
664
251
376
3
600
121
578
42
173
783
917
786
159
304
347
426
549
779
885
66
728
38
844
622
366
864
398
213
324
756
815
89
61
911
707
769
104
30
82
376
191
503
825
141
575
732
441
647
790
673
594
673
946
143
951
428
196
83
391
573
589
790
408
640
963
16
886
398
858
17
55
263
713
840
529
41
755
567
832
215
49
842
695
452
181
690
711
265
886
561
663
522
755
559
919
74
822
26
850
859
444
994
108
693
397
543
983
404
491
776
754
93
377
919
124
88
382
76
359
575
399
275
738
6
833
749
239
118
611
840
219
787
45
532
953
27
161
364
549
147
704
408
680
435
650
61
29
809
482
648
91
505
914
200
238
261
998
321
510
419
745
775
668
49
516
261
430
472
413
857
684
572
827
796
665
860
114
558
768
575
92
727
710
2
690
732
189
812
602
347
95
458
249
812
550
563
714
510
784
801
535
428
874
993
445
22
931
999
177
702
159
528
458
875
535
160
166
365
582
731
435
94
789
708
178
82
770
364
72
205
194
331
614
642
816
616
184
619
716
274
457
901
970
678
656
420
550
824
318
622
181
141
242
353
290
50
282
607
901
924
424
17
552
143
419
771
857
671
845
534
356
936
69
37
676
846
45
221
811
433
268
224
584
972
480
27
912
429
930
289
564
714
76
752
491
560
638
596
674
787
796
332
634
353
176
90
446
862
965
695
99
120
142
526
534
962
336
958
552
768
277
148
41
28
141
1000
663
865
359
461
213
626
608
657
365
545
779
994
398
999
689
80
818
64
169
185
474
917
985
18
904
128
681
811
158
46
103
32
267
281
795
573
871
764
939
937
238
967
763
755
90
671
622
964
156
86
47
94
361
214
106
433
926
122
376
255
395
151
650
942
828
188
276
552
929
816
679
345
910
552
188
816
273
377
754
47
483
495
541
555
726
553
644
374
557
571
386
792
269
501
747
44
225
601
470
236
240
820
332
5
342
989
837
668
883
885
355
167
7
193
344
704
977
965
822
783
680
420
700
310
949
841
959
517
970
893
872
732
162
866
656
452
395
268
5
719
290
684
929
570
675
18
185
192
966
69
404
463
342
895
683
762
131
575
30
303
734
769
531
718
744
973
548
338
667
457
549
402
796
671
416
429
329
346
180
111
797
570
207
405
215
918
753
906
159
77
705
249
130
487
34
990
156
225
187
389
583
744
177
546
380
94
636
614
107
936
443
168
880
20
866
374
314
766
296
292
397
268
806
504
735
334
735
273
379
143
416
618
740
723
993
985
698
745
994
715
97
35
941
112
249
822
845
743
964
981
833
505
853
423
559
165
374
350
240
264
137
322
384
777
495
927
293
425
327
403
429
309
241
718
600
416
116
481
697
572
16
536
445
652
49
246
167
172
646
299
134
938
83
306
430
70
807
617
606
557
263
525
616
486
489
495
660
196
680
114
584
945
308
238
434
99
142
184
635
454
700
896
967
100
230
723
225
106
325
817
990
423
670
190
411
614
201
154
288
394
192
201
31
553
387
398
250
465
300
995
849
324
269
278
482
185
640
657
156
112
735
599
577
28
875
289
557
360
798
861
424
203
258
591
945
522
472
736
654
858
322
565
896
123
943
729
98
310
356
287
965
388
343
621
364
204
614
971
630
964
670
512
898
740
404
760
876
501
669
544
139
366
507
976
642
119
698
652
640
578
588
759
635
17
920
914
258
729
534
330
243
758
329
326
778
979
882
311
528
996
438
98
601
793
782
824
557
650
679
797
325
626
145
322
534
819
796
915
369
685
932
354
492
936
806
697
983
923
732
730
524
948
311
318
253
655
70
784
790
521
223
728
985
431
124
703
793
564
194
753
559
76
762
112
661
573
313
293
134
34
87
394
418
567
852
681
799
411
912
431
495
646
138
552
557
357
839
740
952
429
825
791
229
691
873
199
165
899
139
403
664
907
741
822
955
421
878
378
851
958
342
303
403
948
234
890
811
462
11
263
844
701
728
404
367
219
512
428
760
817
809
536
174
197
950
185
589
761
923
729
596
368
6
222
653
504
102
102
329
45
198
217
731
742
361
22
841
613
69
771
985
672
484
270
37
799
496
53
240
109
955
844
719
878
536
861
860
937
135
759
740
451
483
52
697
192
942
412
943
704
72
554
865
278
613
353
259
272
997
407
313
89
339
532
568
129
171
558
447
63
817
369
202
122
407
345
280
431
38
215
183
64
438
897
862
181
843
45
580
514
462
892
954
512
54
463
575
654
630
388
215
790
242
350
128
897
154
682
365
282
409
734
333
124
969
408
74
183
163
724
835
693
107
320
567
705
163
580
925
620
231
477
172
259
897
249
175
565
985
790
315
975
95
966
720
534
96
124
687
113
315
731
557
423
411
425
576
100
521
759
474
816
270
571
606
240
692
224
469
669
921
914
367
349
761
894
771
780
880
704
672
846
443
468
837
186
424
871
436
60
748
720
920
891
636
854
410
780
233
760
89
554
684
449
262
314
285
17
808
47
258
872
738
575
998
748
427
15
330
504
898
969
441
190
217
844
684
13
659
99
353
649
801
671
873
818
138
559
598
141
89
334
537
109
532
330
893
395
98
418
255
859
521
559
639
313
252
765
363
556
433
731
893
207
34
126
405
604
664
507
779
413
104
818
146
593
87
749
901
89
248
552
326
910
432
496
544
309
755
822
581
384
894
922
725
754
115
488
195
929
432
526
392
606
120
467
629
398
525
99
314
468
754
656
983
83
345
215
480
390
475
499
830
599
611
277
35
332
751
834
95
83
590
385
76
657
971
907
895
927
5
547
843
474
84
722
534
503
816
999
114
915
596
92
60
582
133
656
848
683
759
52
76
404
732
965
391
454
106
534
714
613
924
679
773
955
650
426
970
505
762
312
919
807
404
439
797
302
819
313
809
472
47
399
660
410
37
213
905
870
881
878
463
856
368
271
365
509
414
301
20
383
218
387
891
211
210
916
517
889
907
301
210
758
846
293
612
176
652
352
532
47
103
221
123
217
811
310
511
586
746
165
464
401
357
53
516
404
517
673
271
446
843
109
267
718
193
372
867
965
338
340
132
940
825
455
528
862
66
265
635
838
531
802
691
43
744
822
982
960
439
127
550
123
856
565
651
626
659
793
719
110
347
575
341
94
389
201
863
252
484
604
847
713
524
881
507
521
858
220
650
158
368
695
416
429
784
974
264
68
333
786
253
141
570
858
669
686
720
174
406
85
405
572
350
306
957
139
197
527
845
372
764
643
898
788
867
800
145
520
269
424
55
450
32
164
917
595
840
809
870
792
530
492
860
202
88
460
395
805
836
242
539
833
422
340
988
51
460
420
467
907
369
584
893
812
29
496
958
260
378
9
812
45
948
476
517
593
651
109
844
278
843
587
721
670
789
613
386
848
188
285
860
258
330
929
877
125
814
539
813
99
456
69
483
608
210
604
886
428
430
883
104
52
796
728
630
800
564
675
294
6
596
521
846
257
768
548
982
420
988
915
283
92
979
50
82
206
451
953
764
742
20
953
380
894
489
836
729
567
695
252
290
798
157
952
425
547
170
718
355
307
865
841
244
159
928
571
607
224
386
300
942
947
870
128
135
272
241
84
717
579
346
493
493
190
892
917
411
376
175
621
803
29
410
762
284
615
952
348
656
577
561
562
146
100
191
209
198
30
460
908
791
790
109
128
989
325
244
338
998
490
103
322
516
763
423
231
587
885
207
982
466
821
846
494
248
422
106
582
120
313
445
509
156
831
477
887
491
264
197
36
592
280
731
994
57
168
971
37
72
455
449
993
209
520
184
627
706
74
57
71
781
749
453
611
793
597
553
150
266
973
653
301
883
177
326
385
587
195
75
586
784
85
370
105
536
855
588
463
271
169
451
34
245
871
2
461
471
77
19
871
297
567
48
705
170
298
917
549
349
129
644
533
528
264
195
784
370
493
387
913
934
51
573
713
868
795
439
88
3
437
351
726
709
795
229
174
937
343
828
815
402
900
660
656
759
919
520
25
952
700
726
995
130
812
732
829
653
148
739
805
767
355
286
534
431
780
574
304
678
736
455
13
596
626
611
993
716
374
400
385
132
706
308
774
181
59
666
439
859
245
574
967
464
602
536
915
119
10
362
926
972
26
295
947
811
423
177
216
815
555
696
273
914
317
397
552
3
941
199
25
855
511
617
972
133
876
756
199
327
577
402
926
809
528
220
117
432
450
164
264
283
452
660
482
253
780
61
316
54
415
138
849
226
166
102
520
411
885
756
590
919
663
895
311
164
222
13
694
83
214
690
224
47
826
779
979
93
899
669
425
534
769
432
549
132
145
639
116
49
679
972
576
745
284
566
527
824
895
140
745
612
123
617
456
872
162
864
938
667
399
640
554
834
390
573
987
912
276
264
823
672
235
179
589
554
275
29
29
460
539
781
706
315
284
236
979
746
885
395
29
36
536
441
887
237
786
248
351
943
709
758
270
793
288
454
919
170
534
412
91
956
998
107
101
423
559
206
95
521
813
105
950
888
969
831
560
871
858
245
500
744
592
201
906
75
415
399
873
904
505
230
883
982
859
810
524
834
863
731
275
801
866
826
219
576
866
358
351
905
417
604
566
334
997
782
503
845
368
599
186
226
924
505
779
819
600
880
856
88
717
1000
283
77
23
579
205
417
275
111
627
1
958
23
798
835
96
862
913
855
658
345
682
685
803
137
932
435
986
634
740
607
52
872
559
115
532
913
416
233
733
710
530
14
678
507
664
337
588
279
72
295
385
594
188
76
671
531
87
811
715
994
307
171
258
807
850
595
368
498
36
147
134
560
425
943
748
276
202
993
380
911
257
59
323
186
692
859
65
464
650
513
310
15
149
649
486
51
87
1000
939
963
709
624
842
342
587
130
831
915
611
384
507
484
585
251
255
314
754
830
268
210
5
521
270
665
538
984
201
75
515
749
45
991
579
770
55
764
151
712
858
781
109
123
313
632
776
953
551
235
169
38
296
910
81
302
460
849
907
422
983
255
77
591
87
655
570
870
420
559
296
317
42
651
22
710
878
207
152
239
6
238
879
954
141
197
170
137
759
694
569
995
578
806
38
237
524
13
928
185
894
725
692
20
152
631
142
640
691
836
893
430
920
859
130
890
257
64
995
693
958
72
690
249
204
973
870
250
581
947
5
998
864
32
193
539
35
303
318
758
582
736
543
617
432
347
886
672
303
991
24
852
900
380
516
232
96
456
378
185
207
253
294
902
507
761
778
687
381
135
310
869
894
767
765
414
103
380
491
549
128
311
43
783
880
567
844
716
312
105
84
972
283
983
716
350
405
706
741
71
750
130
884
588
914
746
344
976
749
33
580
375
14
839
969
268
289
416
748
689
784
845
852
558
80
36
156
447
411
419
139
44
839
732
163
453
545
7
445
264
525
990
235
16
162
738
919
280
509
69
548
79
620
868
770
791
968
996
252
991
761
705
477
903
1
974
223
279
236
205
114
550
254
9
403
28
434
645
525
804
59
806
40
737
657
61
284
562
373
230
425
772
439
375
659
341
21
891
946
763
161
384
38
187
16
646
555
568
341
41
507
916
992
73
965
670
257
697
570
187
986
218
170
112
791
236
174
145
128
161
114
342
638
279
542
617
977
210
595
572
281
875
485
103
536
763
734
522
368
367
169
51
218
156
591
660
393
346
538
151
276
21
760
299
815
879
853
638
472
986
22
165
32
432
48
846
995
740
402
305
818
160
868
491
911
784
187
437
157
501
993
437
656
409
766
119
590
238
599
911
341
699
343
336
486
461
71
436
892
620
890
379
869
107
826
936
298
490
888
129
704
992
443
779
470
376
713
98
791
530
565
729
507
229
733
854
644
543
285
59
364
800
462
688
20
856
956
294
203
639
340
631
973
597
646
350
950
734
977
194
601
363
699
25
815
579
945
438
851
712
91
110
807
734
446
235
59
614
553
588
510
172
444
841
88
826
663
667
633
961
81
141
236
338
367
636
110
86
472
177
286
333
630
781
774
463
207
818
362
327
178
849
861
444
139
703
469
425
544
797
873
356
289
798
871
855
855
817
573
893
959
195
703
216
96
874
119
394
373
12
449
115
785
246
620
312
440
505
200
116
272
800
622
439
461
761
820
176
127
2
303
661
863
577
418
995
310
885
392
324
307
397
780
960
99
481
79
482
725
417
641
599
958
437
441
607
144
215
956
735
829
817
150
536
365
528
551
747
533
324
486
724
831
41
812
635
250
421
917
94
267
289
292
795
280
113
776
36
928
44
393
694
545
346
797
363
530
803
513
864
534
293
529
265
200
233
300
896
650
991
905
565
25
694
909
347
177
82
478
834
40
186
413
755
299
637
95
155
719
366
745
175
906
311
35
595
325
462
845
908
125
307
869
683
679
220
868
364
791
895
571
448
193
240
639
222
311
470
646
807
250
318
710
319
638
386
297
368
248
650
699
936
292
65
894
941
912
18
777
420
658
102
275
310
688
321
465
305
5
368
632
60
309
57
129
366
928
346
29
524
863
632
818
277
192
181
784
135
953
593
343
800
156
200
275
748
757
168
732
683
257
861
905
722
110
705
471
691
251
407
267
815
893
889
159
446
168
676
768
198
356
848
484
998
189
833
244
135
168
500
654
314
910
997
313
129
309
770
696
94
680
7
511
586
111
530
237
608
995
816
461
297
42
379
694
464
136
247
610
292
68
621
996
493
517
104
288
861
663
71
238
172
446
871
123
800
813
521
923
265
261
495
68
170
582
17
661
599
40
983
577
145
85
281
497
162
357
805
675
713
942
903
250
944
765
345
969
318
547
167
497
190
995
880
848
719
735
626
123
4
53
832
400
623
677
775
554
470
681
280
820
902
88
456
88
718
896
967
320
429
79
847
950
610
549
293
814
848
230
143
991
978
123
35
898
818
726
306
143
583
223
778
897
543
629
488
55
218
467
291
991
626
622
990
537
642
728
349
699
556
809
873
707
263
945
731
233
381
394
590
994
741
953
380
496
356
339
239
389
954
34
966
741
633
309
309
576
980
166
348
158
279
506
33
862
41
146
659
923
181
215
710
27
572
78
11
455
638
149
602
498
844
905
59
916
689
914
285
500
824
959
909
230
477
188
548
58
184
729
107
118
205
448
223
17
646
304
705
939
474
309
542
458
86
205
630
348
69
827
893
163
69
548
857
43
479
340
91
24
748
769
114
115
714
671
521
530
291
337
116
778
208
796
765
741
280
191
558
497
868
281
589
387
738
842
363
775
571
99
380
979
719
351
916
135
644
636
430
96
646
635
278
50
153
979
638
216
802
824
615
846
27
819
536
764
665
602
333
858
336
544
722
247
16
763
654
339
260
362
72
634
977
419
625
908
563
530
354
379
421
583
792
552
612
23
93
712
435
71
39
441
249
228
804
119
732
943
314
99
59
486
971
133
229
925
245
671
842
581
357
846
179
534
876
333
341
486
536
771
561
852
17
94
515
966
741
972
633
164
937
520
926
863
407
576
844
906
400
152
17
141
5
93
505
645
272
624
363
36
48
161
924
40
195
767
159
874
365
629
907
982
62
210
532
410
22
117
814
392
284
240
449
751
493
445
592
359
78
960
287
206
949
577
456
601
285
1000
368
649
775
974
157
428
431
299
994
211
681
507
995
692
38
738
798
399
20
313
18
403
416
635
461
964
175
246
76
999
423
379
83
110
127
819
653
447
934
713
771
860
575
775
662
649
11
441
244
682
209
686
617
863
999
585
498
683
8
228
870
83
51
242
837
983
676
15
825
592
817
689
825
64
576
147
323
146
276
475
949
213
774
868
603
498
961
543
55
364
64
964
531
209
59
644
848
935
77
816
13
968
122
552
17
487
848
232
777
859
387
870
772
287
443
469
940
305
935
429
863
111
517
83
40
625
173
555
360
864
921
498
461
424
398
730
765
853
699
440
422
265
399
406
237
787
121
644
966
344
368
999
3
854
588
450
604
99
589
329
233
432
534
217
566
992
642
29
948
292
690
667
817
893
122
684
751
350
315
581
262
795
110
736
437
323
267
469
835
798
865
403
782
852
19
128
378
584
505
148
54
941
991
214
489
832
644
467
62
776
799
241
778
286
226
1
784
272
304
635
192
421
53
258
872
925
552
747
339
931
741
456
588
789
987
970
995
484
84
259
984
686
534
350
203
451
80
424
349
953
434
335
657
575
94
630
255
323
922
565
289
779
904
8
727
780
134
833
231
570
609
140
357
441
838
631
586
754
657
553
401
836
862
901
678
409
451
965
163
132
329
914
707
326
303
817
215
156
69
394
991
385
701
848
265
294
804
302
212
554
139
746
703
588
992
911
348
489
996
126
148
629
426
81
210
919
199
373
526
64
959
857
776
300
659
112
500
809
967
809
719
421
729
320
288
294
410
740
841
932
152
353
173
326
612
669
302
994
255
417
260
394
116
218
854
523
372
236
281
515
228
818
473
706
727
942
488
929
115
364
97
784
275
471
952
251
580
216
368
271
241
959
802
888
848
693
571
96
328
930
217
824
17
454
190
357
855
282
215
85
1
408
758
652
298
348
544
487
104
57
922
194
976
547
221
482
565
395
909
158
873
395
523
187
716
789
808
986
833
899
484
942
587
453
349
580
613
601
189
958
90
436
106
622
535
791
425
905
141
259
297
443
731
655
489
508
328
583
608
186
204
395
197
492
999
581
714
182
212
558
401
463
867
876
433
775
697
131
564
532
514
218
667
40
759
142
190
803
394
273
586
103
406
804
167
16
203
185
704
21
73
460
312
963
729
787
788
425
643
859
685
479
546
633
768
392
966
526
459
114
160
211
78
245
104
244
398
802
484
12
107
238
801
926
256
119
733
335
676
337
912
389
633
950
129
967
723
559
773
797
95
666
3
152
628
558
757
804
614
123
180
473
832
434
511
656
617
76
740
552
711
965
595
777
205
842
542
713
841
716
524
605
337
284
93
999
113
736
450
699
38
458
660
188
351
798
968
391
915
500
709
705
375
388
786
492
553
586
54
571
673
911
252
834
573
47
314
786
114
795
966
658
416
968
560
792
373
487
975
119
149
865
243
907
4
510
288
436
840
253
785
873
324
67
691
443
308
205
435
920
537
885
111
573
300
218
261
985
787
258
11
537
386
986
381
982
43
496
556
215
139
896
811
261
11
243
536
542
384
337
527
670
489
361
291
396
574
150
620
834
844
344
118
755
604
809
642
578
539
468
901
659
590
153
517
617
875
132
958
731
437
764
632
907
393
98
335
279
234
310
956
324
589
588
36
257
782
444
321
536
888
448
939
596
801
94
211
231
40
820
368
679
622
209
682
92
369
59
571
975
414
317
275
164
549
821
598
105
240
455
30
498
834
545
294
865
502
319
970
238
918
789
425
959
574
707
669
516
847
115
154
481
666
589
757
830
666
490
359
403
230
390
495
775
717
405
542
593
449
309
758
288
777
174
305
129
623
769
62
789
448
108
635
934
489
320
484
877
481
541
489
1000
778
574
597
461
964
898
418
714
577
22
772
474
542
264
208
68
264
792
478
578
97
170
793
757
103
695
424
484
571
549
912
448
776
141
668
795
845
62
262
739
402
744
57
512
860
262
124
557
866
718
601
600
403
294
705
52
485
373
659
257
231
94
687
215
316
320
34
778
462
295
722
774
676
185
355
162
408
286
845
113
648
947
348
856
276
144
74
251
638
205
871
283
409
396
654
138
291
973
810
38
1
799
699
796
291
830
218
911
453
625
227
69
883
500
292
126
801
132
805
3
129
207
69
428
892
189
313
131
226
381
943
938
228
269
555
169
430
536
359
896
660
244
703
912
375
426
326
703
361
724
826
330
859
791
574
893
740
858
971
147
378
278
504
949
233
839
555
416
970
381
263
81
153
540
46
862
165
467
587
384
7
18
167
13
96
227
248
13
968
813
121
384
69
139
237
258
434
273
576
240
139
765
41
684
826
345
383
708
504
966
624
714
80
556
284
243
752
378
975
309
486
121
86
740
280
718
348
634
816
406
48
794
416
754
535
854
898
180
453
887
65
30
812
466
85
390
635
514
912
666
398
791
279
387
905
526
493
828
553
543
433
840
160
201
686
683
679
600
726
765
127
822
412
941
29
388
813
403
503
772
610
300
891
508
841
880
467
421
781
383
367
512
155
881
310
324
641
1
100
964
867
768
163
500
710
816
566
190
711
876
74
805
862
745
799
352
864
920
905
681
147
683
654
742
662
737
802
791
437
374
979
448
381
813
225
310
699
521
305
782
505
303
760
893
939
453
916
107
169
498
227
596
117
948
415
974
695
955
801
258
594
30
155
695
396
733
141
121
903
827
131
763
73
460
776
702
899
827
214
754
893
167
211
200
581
105
837
602
550
120
527
937
151
356
482
410
914
79
420
619
98
827
603
164
567
722
962
429
362
455
831
18
920
163
537
226
881
826
583
39
826
790
710
360
70
755
436
542
875
869
9
889
29
592
876
431
784
631
862
200
543
574
295
177
569
788
175
317
156
811
339
329
423
693
290
404
886
733
969
708
460
597
313
245
375
86
864
673
786
713
49
711
527
800
11
106
529
42
26
482
929
327
605
11
787
170
364
561
615
259
620
868
659
487
452
319
965
325
665
141
780
543
696
127
797
101
989
584
39
499
809
806
950
993
742
237
411
863
389
455
903
353
867
256
73
997
775
388
241
790
227
975
229
69
405
226
14
17
827
843
326
440
194
406
286
815
264
132
576
663
633
619
433
945
737
554
976
575
623
960
981
85
264
190
234
171
283
797
45
137
943
372
291
230
198
638
662
475
381
412
355
896
869
507
575
965
658
320
627
663
344
606
255
850
433
917
150
483
263
283
239
821
55
967
441
953
813
561
53
862
797
243
854
772
335
772
291
696
571
664
827
952
552
46
650
924
745
890
458
463
681
674
960
176
914
32
72
284
903
636
521
865
749
362
712
73
925
784
290
373
282
174
729
889
641
476
731
753
237
187
894
703
106
660
362
275
283
134
710
627
335
692
310
403
305
435
850
96
646
398
427
28
70
94
898
428
549
157
756
52
892
218
811
503
406
20
416
637
172
803
786
490
369
130
188
716
905
677
463
846
314
978
360
595
544
751
621
36
769
246
645
718
807
965
808
685
81
269
193
943
315
581
581
115
298
381
30
897
156
711
272
480
504
665
454
250
748
232
464
952
612
876
194
988
610
473
601
662
836
556
387
18
906
329
402
360
330
617
668
681
877
685
17
997
754
901
929
18
521
307
87
687
722
493
541
853
134
585
144
755
402
805
97
47
578
775
22
828
733
704
976
480
392
637
207
180
13
194
269
615
98
613
296
779
835
438
881
718
329
935
1000
758
618
116
855
54
634
316
363
246
216
414
213
668
73
106
117
790
339
145
872
553
970
72
359
802
793
780
435
311
439
186
965
760
753
406
903
623
530
73
427
97
570
883
613
120
135
1
33
9
853
711
956
482
991
575
564
618
810
396
662
849
412
519
940
209
79
307
720
872
605
188
487
498
556
316
228
996
681
710
750
131
937
735
710
794
731
906
25
880
977
311
726
445
577
373
52
229
700
309
806
678
64
379
518
328
43
948
14
778
994
469
320
504
686
705
696
469
85
917
748
791
35
271
213
770
559
432
28
190
624
160
703
148
208
741
881
614
392
250
177
554
81
972
48
723
603
786
508
172
132
959
934
106
379
587
97
965
446
868
812
524
92
505
278
345
915
797
259
155
99
390
762
558
470
241
741
73
558
83
670
608
235
554
543
390
325
209
953
803
214
827
446
791
150
789
250
262
375
802
839
404
677
936
492
954
250
732
201
220
980
163
791
112
403
325
102
518
620
65
426
97
389
172
181
1000
473
396
970
42
67
292
753
599
800
819
862
870
366
707
975
155
311
827
967
506
893
172
763
433
209
639
944
363
973
465
861
173
446
49
446
456
992
886
754
141
685
537
476
689
164
845
355
386
707
131
439
189
72
698
617
152
243
809
688
733
606
217
533
162
482
452
623
623
157
341
157
225
734
617
643
581
186
105
616
380
985
652
490
495
518
886
249
19
344
927
801
113
989
365
329
720
603
189
912
989
303
849
21
720
418
320
212
289
211
843
524
252
827
15
603
285
380
28
550
210
118
153
863
595
553
24
582
817
263
866
968
541
886
592
583
296
418
599
667
171
550
174
76
716
227
659
861
796
981
897
775
486
918
36
598
119
376
464
203
204
421
509
718
293
313
544
945
811
10
309
466
478
592
587
497
269
192
857
604
743
681
179
855
204
854
350
844
384
356
359
296
234
871
210
639
999
418
521
6
931
705
664
633
896
593
811
492
637
695
992
329
666
973
145
954
566
58
177
771
8
622
270
38
930
812
18
286
132
199
484
648
20
134
945
596
328
728
926
739
466
869
70
845
527
852
583
280
124
196
236
342
940
211
389
796
299
678
92
73
107
794
87
169
260
191
458
284
935
376
731
636
268
465
497
676
562
409
969
145
540
232
470
31
123
985
523
499
901
208
89
298
754
716
488
971
41
411
740
459
418
669
354
301
607
546
95
714
377
698
898
272
586
439
877
789
400
795
338
264
670
777
813
421
42
333
388
490
581
620
21
314
555
287
119
816
549
439
375
122
295
835
760
357
399
662
597
262
681
909
847
264
974
967
113
599
51
599
346
385
815
812
931
312
987
499
661
727
346
937
57
489
960
358
665
880
990
831
236
251
350
670
146
852
937
393
23
453
198
39
318
970
516
293
454
274
258
456
288
787
387
748
839
232
182
834
621
159
995
724
460
433
928
424
408
932
8
779
162
107
711
974
470
897
683
66
140
725
95
739
596
957
383
194
422
249
36
712
960
667
680
979
820
327
983
686
120
584
773
284
376
462
350
9
223
96
167
470
564
478
948
151
334
651
815
162
773
823
210
434
18
584
199
357
838
504
294
557
571
932
29
75
637
720
381
761
555
953
548
66
30
483
774
759
519
236
623
305
654
776
606
786
56
612
95
256
340
61
257
394
594
269
96
152
186
172
802
840
556
749
273
779
531
909
76
191
796
772
148
492
385
870
185
512
442
33
59
471
40
329
551
732
553
425
385
427
929
218
815
82
228
345
25
278
958
493
187
179
58
18
328
507
869
462
71
160
74
18
930
208
370
845
48
449
585
397
219
45
84
647
550
30
537
112
365
622
557
126
806
352
306
674
136
1
862
409
893
201
61
187
954
349
565
563
971
184
85
212
897
961
75
169
38
666
713
120
600
142
636
693
786
279
766
876
275
689
492
217
390
373
644
418
287
960
997
326
309
13
449
55
11
766
678
191
434
391
804
571
924
582
524
168
166
768
252
951
123
805
31
449
255
297
379
908
751
57
756
573
477
359
62
640
19
759
414
842
495
258
478
484
788
483
781
951
463
404
778
404
917
798
914
374
234
329
557
480
837
619
483
313
226
167
536
829
53
278
201
259
297
451
74
628
536
826
652
463
204
345
428
174
204
285
12
874
480
665
889
147
962
848
455
337
805
321
202
509
996
268
242
107
214
21
902
709
284
915
778
982
713
368
464
125
529
248
149
595
143
703
424
916
972
685
917
683
372
313
848
709
792
111
175
363
138
861
796
802
49
516
152
735
146
160
695
795
380
487
876
352
227
644
734
851
899
569
665
355
655
162
705
977
17
702
469
342
957
945
919
38
127
246
331
243
783
864
88
397
375
321
489
779
682
351
332
383
963
455
876
286
865
584
693
998
696
770
64
977
273
802
810
537
727
210
888
907
554
871
635
57
713
535
299
236
757
454
357
869
831
69
198
555
853
407
904
469
371
455
274
343
381
253
686
593
848
889
124
849
834
867
465
320
857
581
157
963
598
710
498
398
117
429
76
853
525
245
345
217
417
135
928
441
487
390
999
109
410
274
25
7
476
124
209
893
484
31
220
479
92
604
165
857
141
601
338
198
501
415
925
578
608
499
766
224
188
808
231
280
633
262
471
472
95
45
615
643
674
274
971
238
974
210
927
235
931
716
30
901
28
105
696
11
938
874
85
873
191
85
951
531
668
284
693
80
609
957
410
842
351
466
496
532
168
295
178
186
480
232
495
782
138
793
341
977
688
799
635
329
288
516
113
698
475
199
979
252
20
158
419
667
978
734
995
644
389
676
71
837
249
444
708
638
64
919
915
56
738
848
762
70
581
94
610
462
956
432
638
86
454
207
923
946
500
622
560
253
993
828
690
847
924
249
859
955
896
799
831
322
143
711
808
137
951
737
76
38
331
355
200
699
443
470
278
154
531
795
193
86
72
738
479
720
420
159
188
875
494
797
103
963
943
514
753
416
790
778
935
108
773
935
881
814
467
916
778
662
805
984
76
818
806
12
921
359
134
563
61
414
651
744
833
158
232
395
111
165
965
687
708
1000
282
611
287
604
734
155
767
233
860
191
92
232
58
233
459
880
453
239
314
925
502
607
950
190
481
332
77
791
48
60
557
132
818
440
374
782
221
738
8
768
985
138
596
618
227
566
678
670
506
117
825
816
187
407
202
827
97
216
920
879
789
846
95
690
681
481
655
942
957
699
292
305
413
967
434
426
343
614
730
699
171
293
355
514
758
386
391
940
245
176
631
472
838
830
432
563
143
431
656
148
561
346
306
266
758
187
215
173
419
528
9
73
331
291
625
681
345
432
866
374
916
155
818
596
717
365
480
530
320
518
629
778
26
310
745
951
716
881
831
591
46
359
81
851
374
575
656
683
566
742
262
74
241
734
849
43
47
351
501
694
313
634
507
613
758
836
679
290
998
149
228
35
243
664
859
101
952
311
344
301
186
743
485
453
64
210
252
393
23
470
914
164
578
723
110
178
861
325
164
836
530
814
424
134
557
369
27
209
985
383
300
701
30
262
957
15
752
918
357
300
131
666
343
995
561
422
607
330
669
133
107
14
891
367
786
695
410
867
725
442
917
651
927
645
142
943
100
230
268
807
192
12
128
873
919
367
578
946
223
106
541
612
384
618
7
174
541
855
700
382
465
751
217
470
759
964
200
918
82
653
487
268
629
157
263
3
834
20
943
226
194
807
889
403
197
556
93
917
553
488
645
570
316
840
138
444
38
265
174
725
798
296
762
205
781
766
751
172
139
944
349
297
978
342
467
980
696
851
844
302
345
854
885
378
328
466
721
448
554
905
237
474
115
252
744
362
645
555
495
183
801
307
496
935
713
816
909
449
839
885
881
8
363
503
834
149
206
5
47
884
719
202
929
273
360
567
444
900
998
448
63
260
998
643
975
548
925
377
512
585
506
895
442
882
502
432
269
981
244
260
747
196
909
902
563
891
59
359
559
218
544
362
910
25
678
288
394
309
482
298
274
128
865
725
319
396
874
483
188
329
492
517
751
633
42
895
894
677
925
193
32
32
308
232
850
733
357
61
758
546
809
327
180
332
985
818
60
342
828
2
905
868
192
861
298
263
411
179
22
733
100
704
871
701
283
288
782
753
168
199
102
379
340
270
738
751
702
467
403
785
223
737
397
593
448
731
188
232
768
81
557
330
641
466
220
796
324
585
662
296
168
544
368
610
228
836
764
288
730
307
974
262
947
995
906
179
157
730
288
279
658
717
31
576
263
114
670
931
294
783
729
401
889
977
535
857
306
729
419
489
30
69
226
234
688
43
784
585
184
686
285
500
2
710
557
339
323
721
834
839
459
170
976
164
136
101
3
944
290
984
496
83
420
570
632
784
952
764
595
915
788
962
695
358
927
157
742
411
66
413
158
691
136
946
873
220
40
176
215
540
240
562
956
782
440
965
128
566
339
557
462
518
300
11
114
946
851
844
845
931
108
247
992
676
585
751
345
475
365
305
546
44
266
190
712
319
468
244
807
11
56
492
667
351
51
194
723
503
819
709
193
51
180
331
905
827
156
437
992
86
52
867
424
721
489
450
667
745
85
974
858
771
696
714
494
580
545
830
46
172
79
565
839
858
114
194
253
91
686
103
562
693
26
201
717
97
248
121
1
974
684
302
760
421
250
97
338
441
890
513
951
17
922
57
471
540
83
410
1
659
143
372
679
903
245
545
360
588
555
773
703
572
342
200
725
413
386
142
44
341
470
668
909
281
761
884
578
806
93
472
781
541
519
916
811
16
4
213
234
394
806
600
364
809
926
959
390
269
961
139
511
220
878
360
496
903
466
263
858
555
718
910
219
388
982
239
497
11
485
38
298
635
741
519
205
945
464
943
758
37
798
562
536
156
87
357
146
281
944
644
882
796
90
667
495
569
266
702
822
778
560
50
966
736
645
507
370
778
756
577
393
991
704
727
921
218
879
437
163
278
977
678
999
815
144
716
166
498
317
801
137
594
840
412
742
69
814
190
460
438
240
603
860
577
740
695
811
576
522
946
968
494
300
430
505
596
99
939
229
205
192
699
35
860
983
609
92
836
257
688
315
428
102
572
418
618
743
424
301
857
698
613
609
772
938
845
48
488
201
242
442
166
200
1
572
81
237
876
582
212
658
704
58
924
647
590
965
758
95
173
280
751
676
603
512
963
784
468
294
124
714
933
887
375
300
782
746
96
249
887
253
728
582
864
373
310
907
319
225
172
745
153
532
867
742
831
489
938
438
406
832
592
158
340
794
668
749
868
214
559
115
688
252
911
933
308
48
981
510
223
195
506
477
437
83
838
876
521
995
852
286
542
342
853
795
685
600
303
992
363
271
674
679
883
713
173
662
532
755
381
791
63
836
82
434
105
803
682
675
15
624
656
836
6
1
409
374
206
274
782
810
427
72
173
87
65
885
944
727
479
93
300
157
645
15
351
887
653
247
405
535
829
874
859
295
889
148
223
116
526
880
925
717
304
101
549
590
505
513
64
298
876
867
415
703
818
698
585
254
643
764
857
73
972
147
543
411
206
191
886
954
282
396
197
604
601
904
537
591
84
468
422
216
832
629
89
74
721
390
836
372
609
837
840
808
494
2
621
548
114
771
40
23
990
779
286
634
817
55
845
954
478
627
837
704
670
463
407
580
280
833
130
17
210
686
464
82
303
664
356
23
379
172
42
401
170
289
920
390
120
380
138
549
593
1
202
320
26
19
480
562
952
942
923
676
630
116
754
245
226
778
117
689
91
985
888
94
719
45
953
267
375
436
264
57
248
118
870
168
185
802
979
3
727
1
792
564
235
613
506
73
310
412
399
766
628
13
376
279
530
856
681
120
424
231
741
21
113
650
289
356
673
708
936
395
374
103
397
901
475
699
392
451
390
312
77
927
873
439
531
791
369
276
420
159
614
195
488
150
890
296
894
703
96
807
785
851
933
848
671
423
38
523
319
298
895
410
929
626
681
231
270
864
993
931
336
93
575
409
800
865
748
907
241
698
237
383
657
473
469
276
276
161
251
714
34
741
907
575
388
689
594
809
323
118
521
78
513
529
245
76
590
108
12
872
397
707
389
218
921
961
65
70
301
458
738
479
981
547
474
620
563
137
805
951
400
801
62
431
281
614
156
245
859
389
90
743
579
432
950
127
984
481
71
988
213
240
317
952
405
795
164
558
498
278
378
959
611
277
580
220
794
931
955
782
437
88
664
117
35
617
264
749
327
780
598
564
57
534
158
790
714
806
881
102
685
35
710
63
137
764
21
517
850
647
185
600
959
10
122
766
191
10
710
576
808
545
269
46
905
244
186
27
80
317
917
427
827
530
247
92
144
325
685
794
972
906
314
125
99
182
243
16
31
567
44
245
198
24
214
588
559
167
732
165
296
909
270
169
851
918
453
375
957
106
843
748
728
476
13
26
49
909
130
377
739
911
991
73
978
885
317
695
498
265
438
530
888
687
198
682
168
469
23
910
477
828
616
364
309
642
684
185
253
74
399
424
585
42
83
839
384
335
714
913
81
184
410
867
463
199
30
543
192
900
348
771
847
521
92
236
352
355
238
921
387
689
606
925
64
292
751
827
700
477
538
774
995
28
622
189
323
621
224
307
96
962
236
770
378
520
700
131
19
626
123
465
590
699
941
224
283
536
667
106
801
933
920
985
956
375
567
875
317
179
680
513
829
268
871
369
709
697
832
807
320
170
605
683
947
29
154
866
596
648
333
70
951
703
231
873
659
553
163
21
947
827
299
935
375
379
32
838
235
958
714
82
685
305
292
48
220
894
744
482
497
209
923
221
839
279
584
75
981
155
906
35
730
174
787
90
270
136
562
672
769
975
531
150
796
94
917
869
829
342
395
916
754
467
375
209
881
12
578
484
425
812
270
490
797
659
724
995
361
245
78
247
463
179
796
150
657
741
361
755
82
60
656
605
797
542
729
114
761
725
294
439
825
214
365
220
754
982
863
166
822
107
939
732
979
1000
972
981
920
239
938
350
660
428
879
209
357
886
718
985
222
575
547
166
297
381
837
666
789
775
701
878
413
901
465
253
905
353
347
370
462
263
916
298
345
815
402
493
353
991
612
627
115
171
377
474
435
180
25
481
25
535
276
666
995
921
399
300
428
383
153
192
208
318
301
469
4
136
985
454
30
347
306
632
690
938
802
694
765
99
358
375
130
793
239
83
293
155
622
391
248
446
940
34
208
130
863
436
819
650
492
702
346
649
661
670
140
727
811
874
442
268
15
211
169
550
155
705
908
119
123
983
748
355
198
14
961
297
414
194
768
15
830
90
609
255
98
26
396
684
610
219
203
725
824
360
717
947
65
382
579
941
214
631
417
867
227
848
993
182
337
136
359
586
127
594
367
896
433
380
170
362
125
784
566
942
419
294
210
192
295
748
697
694
990
403
515
423
262
167
676
55
364
276
606
972
174
442
546
632
973
849
249
85
742
420
280
591
637
438
551
742
521
971
67
977
52
536
993
134
842
87
310
497
607
724
269
832
103
495
833
60
854
271
41
564
310
961
25
569
180
266
972
724
67
762
920
750
472
352
662
25
435
22
444
37
829
407
328
930
328
877
318
774
633
741
364
759
384
668
362
263
511
652
136
613
479
627
177
417
2
415
612
522
309
754
452
51
982
44
715
438
723
854
382
71
130
396
497
996
724
925
937
75
10
467
493
164
321
375
962
157
549
947
880
190
652
752
360
910
977
371
302
482
60
963
832
908
515
455
468
328
41
175
924
191
379
430
889
580
243
868
363
511
885
483
371
725
948
735
920
370
718
614
124
953
695
395
290
115
652
500
599
152
995
119
732
601
292
202
422
947
290
31
446
209
614
788
26
190
595
493
933
223
377
209
866
548
500
622
831
848
691
18
304
71
443
152
951
371
302
741
546
903
458
104
516
259
388
13
240
509
782
954
828
189
923
781
593
81
47
278
870
298
903
180
127
12
934
63
554
162
990
895
432
573
504
146
632
276
375
112
532
200
605
497
486
61
904
366
731
30
46
288
300
650
779
883
41
586
456
969
347
1000
373
253
569
739
10
795
369
69
969
498
463
369
444
528
311
104
467
880
298
339
26
250
881
292
362
34
989
702
434
512
668
298
554
244
624
271
689
266
829
467
764
954
807
950
581
289
564
699
645
851
386
471
272
63
874
270
847
87
678
437
979
304
339
128
625
484
548
800
943
610
907
411
763
799
966
188
79
930
930
235
881
386
895
710
8
807
934
1000
413
827
626
145
381
613
866
737
823
378
933
650
676
220
800
279
846
296
645
386
894
824
345
262
806
397
508
710
833
872
242
220
319
409
450
821
860
308
887
320
933
964
615
7
352
581
772
476
488
312
764
888
255
136
76
877
270
74
929
301
405
343
898
206
247
640
419
720
559
55
876
44
938
16
535
355
306
279
167
259
720
230
632
322
285
641
39
379
617
611
363
536
373
622
554
222
885
520
236
217
795
754
88
310
926
388
842
147
302
256
669
829
350
113
365
90
869
790
381
158
216
175
244
999
567
314
306
236
774
27
95
920
554
235
764
283
242
618
252
730
341
313
818
657
427
111
552
101
779
25
299
842
239
133
219
349
428
354
828
868
400
148
963
42
239
198
579
656
891
773
652
528
725
863
770
69
955
124
178
769
48
352
121
694
688
527
381
128
694
388
763
610
527
174
134
5
665
406
343
672
190
547
959
464
362
943
313
82
860
712
791
245
587
155
626
257
672
794
747
810
335
404
356
273
796
228
14
313
309
130
951
397
675
614
224
639
330
460
125
482
207
261
920
911
61
262
624
249
940
741
991
104
737
608
349
702
564
55
173
660
806
838
581
236
251
221
991
257
683
702
290
162
664
385
747
117
12
266
775
706
657
769
428
504
136
557
110
732
990
59
634
297
694
138
147
709
598
42
900
802
511
92
62
700
220
596
21
170
225
91
673
385
428
347
239
92
306
539
28
395
381
585
416
649
414
972
1000
467
822
271
548
468
253
189
874
195
147
211
233
574
357
806
162
400
585
735
960
591
489
201
147
379
782
462
334
173
556
57
875
565
357
977
591
831
250
950
601
352
222
513
30
521
806
698
918
124
707
958
209
662
580
432
54
735
814
781
36
477
355
578
93
979
125
697
103
779
562
225
78
811
186
162
886
625
832
586
269
334
405
28
667
464
566
489
18
838
769
937
301
683
440
128
9
383
930
288
182
687
22
524
854
729
463
859
21
918
930
389
275
603
343
421
312
447
207
379
376
590
946
913
583
40
831
907
719
164
119
23
805
845
550
10
213
621
128
254
570
85
456
944
51
949
526
797
899
408
969
489
173
884
248
816
802
790
181
156
999
693
483
945
938
134
708
763
432
433
119
107
1
954
490
71
340
728
817
977
692
794
213
465
45
306
15
665
392
283
283
855
518
847
407
457
889
954
513
278
294
882
704
702
785
234
968
894
343
781
726
163
445
251
628
344
364
98
123
422
592
337
807
664
275
782
279
179
915
397
494
227
854
35
199
507
315
509
47
407
788
830
431
415
633
426
912
929
620
361
318
287
988
858
303
112
312
946
138
43
79
679
5
456
447
145
931
83
73
472
731
289
264
122
60
372
935
23
712
427
58
520
811
225
315
699
447
47
655
359
581
638
359
815
781
246
953
732
453
246
52
415
741
975
785
326
216
228
963
98
804
319
573
25
117
756
490
779
536
321
516
125
915
818
998
542
750
817
310
916
16
482
423
973
638
972
626
676
760
953
246
615
533
498
838
313
148
994
917
442
238
736
748
208
560
540
117
501
91
78
278
3
276
602
453
107
195
424
390
369
836
771
460
248
490
645
699
13
549
928
22
77
586
235
538
450
703
972
569
661
544
638
448
314
267
657
677
347
20
935
339
212
149
877
911
430
454
860
810
408
295
961
50
979
229
345
365
842
201
833
45
996
971
58
507
268
614
100
314
280
425
629
964
511
495
417
263
657
572
541
520
141
527
697
113
461
925
871
191
47
733
999
428
412
163
356
750
719
998
192
938
290
550
474
816
224
540
708
523
41
795
514
11
171
645
972
476
225
290
835
921
165
208
347
406
926
902
763
846
537
873
670
396
546
738
845
576
353
845
713
272
108
562
415
688
985
650
148
109
968
796
670
96
759
411
856
323
86
270
725
844
438
433
652
976
243
151
346
382
587
149
762
144
851
736
317
813
54
731
642
475
253
17
664
845
122
913
955
287
657
205
163
441
74
823
802
828
90
648
870
407
203
891
532
560
35
788
612
397
538
109
718
578
622
124
649
88
799
219
121
526
540
318
972
494
356
613
740
631
50
901
925
678
208
995
264
708
744
229
138
333
250
127
517
253
955
636
948
983
358
178
728
996
954
946
779
782
48
504
704
515
328
775
194
158
735
895
239
774
186
300
564
787
859
591
349
713
92
416
561
626
409
629
145
237
859
462
949
16
592
304
457
225
611
941
359
67
689
812
503
427
743
899
13
834
353
359
224
343
690
914
613
4
876
307
88
475
635
841
838
107
194
135
454
545
558
755
161
459
642
286
837
545
275
775
949
347
739
187
643
742
345
672
46
194
516
1000
212
988
8
459
298
676
158
904
250
963
540
377
724
44
981
950
987
202
669
953
302
135
12
811
631
17
948
62
557
812
690
947
967
702
226
165
431
815
465
16
162
593
624
145
119
268
296
564
130
893
642
426
849
327
351
297
24
331
305
290
795
713
386
493
692
54
489
579
598
102
611
343
178
342
821
194
183
635
37
286
603
23
793
86
845
16
587
628
4
691
1000
641
800
943
484
995
964
97
622
658
668
863
688
438
121
330
565
330
584
284
399
208
875
633
905
907
902
141
907
541
886
995
509
973
699
940
283
972
200
856
2
506
528
685
715
998
60
557
463
154
141
812
474
126
770
382
495
385
120
626
809
624
157
327
561
469
644
981
267
510
500
934
737
431
835
180
225
587
968
825
276
428
389
351
644
579
941
781
619
217
464
772
316
656
758
499
759
631
9
883
125
912
751
369
93
252
21
993
93
593
637
905
161
706
400
893
225
115
595
672
920
240
396
886
429
192
619
844
439
528
829
955
26
609
973
740
167
868
549
69
624
452
837
956
161
198
846
864
367
830
466
961
932
611
757
180
839
410
451
266
786
293
493
198
137
305
917
525
817
56
418
166
884
107
726
195
944
895
318
951
195
139
34
599
632
246
893
898
881
202
779
524
197
871
687
753
391
384
916
705
839
540
916
616
280
730
514
814
792
942
896
174
208
810
8
812
240
501
36
710
745
508
224
785
898
12
587
604
512
565
982
623
392
294
627
335
399
681
373
152
839
261
963
218
921
236
42
585
273
109
935
349
935
915
49
414
806
524
301
525
282
801
154
89
675
105
685
93
87
732
598
109
564
420
273
998
763
971
709
392
845
365
734
496
971
493
933
17
643
766
559
283
63
436
99
735
855
383
279
18
781
524
17
822
524
754
270
493
224
500
731
176
219
557
106
920
354
886
19
737
302
397
660
87
569
608
959
625
242
217
407
367
96
290
654
578
350
745
653
819
245
274
445
585
609
655
628
865
771
656
190
798
461
372
659
288
882
899
448
108
717
689
883
531
654
817
639
983
983
633
197
551
868
985
531
448
234
241
412
689
551
870
613
297
444
189
815
331
730
243
204
927
409
432
590
305
172
664
369
387
161
298
815
300
133
95
984
510
614
699
987
750
378
942
519
249
341
386
278
951
997
75
386
575
622
436
984
395
787
624
921
545
164
376
882
542
217
615
339
411
129
644
429
542
244
728
244
882
367
291
35
629
504
738
524
900
9
113
853
182
649
446
710
543
798
632
796
685
836
133
143
922
814
611
736
88
659
858
512
180
479
14
102
288
23
134
613
961
2
604
318
737
745
794
403
961
637
584
799
403
887
90
680
420
416
986
465
572
111
335
972
676
240
698
965
243
551
628
468
138
487
338
88
83
987
468
79
297
511
375
45
206
345
313
945
624
692
195
606
232
771
373
985
497
933
15
274
403
826
201
319
486
733
843
967
705
545
868
640
631
246
891
913
264
407
788
864
576
965
132
714
493
452
486
659
660
924
911
781
723
103
854
660
339
563
805
608
315
429
708
470
548
653
140
582
489
889
695
773
869
921
851
292
358
816
832
136
610
279
607
541
899
171
260
347
172
790
377
518
865
319
987
353
308
767
867
839
852
871
677
137
134
662
496
415
42
836
800
127
20
626
843
346
323
625
670
950
703
884
739
312
808
654
197
625
257
338
430
154
964
593
379
527
768
12
485
613
865
500
855
699
834
268
376
420
281
385
64
345
252
907
908
218
612
961
797
592
506
567
923
995
898
599
217
842
914
63
948
2
385
768
628
311
557
553
728
365
402
469
554
572
346
683
798
834
524
438
922
188
844
98
544
391
266
134
412
782
695
980
410
662
787
785
252
101
802
482
180
347
361
11
38
923
576
229
526
131
579
790
355
888
906
256
222
759
543
789
267
574
698
50
723
267
524
335
959
420
85
576
25
545
828
532
104
302
702
431
978
705
865
307
737
866
599
537
484
961
644
397
694
943
697
989
255
967
198
551
919
620
867
989
58
838
668
463
185
812
12
971
612
290
36
202
37
411
761
346
581
628
746
176
994
336
644
489
322
514
705
871
327
88
847
876
328
749
391
910
957
614
927
501
522
505
74
193
265
582
89
988
859
726
367
130
884
399
894
21
873
645
616
247
752
537
509
2
132
640
853
681
997
17
858
73
746
862
302
332
441
125
302
906
380
371
688
687
776
695
690
886
424
713
822
605
717
535
913
609
265
150
204
554
685
833
312
816
824
21
646
92
807
631
563
171
795
901
131
601
305
683
892
520
243
561
413
550
550
297
741
531
515
893
92
794
355
973
248
858
612
294
149
701
297
947
146
220
466
188
180
96
109
939
959
41
786
658
823
325
468
718
590
557
411
393
110
930
704
296
683
510
337
403
732
720
247
837
357
846
838
209
462
258
854
628
182
56
379
478
216
20
922
662
517
46
220
284
498
769
440
706
553
685
907
478
209
882
369
898
701
439
61
863
67
684
515
231
165
709
155
126
120
29
185
494
830
788
193
745
91
671
186
504
811
583
475
320
547
169
959
712
302
473
862
36
127
377
903
518
555
981
236
222
320
759
194
870
136
125
64
201
522
68
636
983
793
608
243
901
380
150
367
265
572
244
667
922
638
890
446
769
23
249
171
27
990
584
640
770
632
308
793
256
670
235
956
281
817
556
525
118
773
561
712
605
130
864
974
588
537
725
212
252
500
80
617
830
87
61
312
788
650
117
571
892
362
310
438
473
42
32
57
804
232
140
847
754
969
496
973
791
28
974
192
941
651
288
275
567
984
381
683
663
451
720
58
911
321
563
405
929
576
132
552
975
968
709
577
868
879
844
422
47
154
217
827
494
614
233
75
711
359
77
754
70
268
794
885
622
369
921
359
902
831
367
515
339
412
506
122
647
112
895
763
948
626
667
785
477
977
373
613
398
334
989
143
654
603
882
403
790
874
732
392
384
128
844
300
54
974
769
835
2
302
903
499
729
897
566
993
833
11
67
827
804
859
464
429
315
767
11
672
825
452
793
834
205
557
688
419
725
55
570
166
959
636
635
816
84
484
829
909
612
149
626
944
779
357
818
739
747
675
557
719
224
919
613
156
376
80
720
105
666
316
898
880
823
270
855
452
238
548
943
58
938
721
615
653
727
601
44
591
220
891
357
26
265
487
940
128
691
890
387
116
401
184
988
520
591
1000
65
821
257
718
109
802
238
934
405
547
731
863
768
984
621
923
76
282
948
217
527
216
577
15
934
798
421
618
910
127
610
180
493
386
623
162
636
377
712
103
973
805
940
293
460
738
737
764
818
377
189
719
154
241
190
177
833
396
186
120
397
200
492
890
336
277
46
918
594
165
60
132
956
125
192
562
890
89
791
688
991
653
261
101
901
278
766
896
462
611
385
1
932
918
268
360
245
169
535
465
701
225
453
248
951
913
899
747
834
524
231
293
426
397
485
172
663
815
216
849
27
410
434
888
78
601
809
630
67
400
712
553
473
68
757
979
70
713
173
468
38
876
762
795
733
589
178
888
925
148
980
475
742
85
238
493
62
429
478
478
832
343
383
271
620
692
7
387
736
893
211
280
420
662
636
574
921
903
839
54
783
41
120
830
256
566
191
622
609
406
49
583
995
32
350
378
689
854
131
551
741
582
918
305
530
677
184
963
263
948
592
278
209
628
673
696
327
974
431
438
22
576
859
945
922
27
487
878
960
601
923
295
543
851
792
125
261
831
608
299
406
770
886
163
578
564
247
937
752
439
349
973
521
489
230
559
633
545
49
840
594
49
268
173
822
149
54
917
802
244
11
210
737
596
426
767
435
431
870
105
542
153
338
894
818
918
120
325
788
823
242
480
26
408
614
698
276
989
24
838
848
583
686
163
1000
831
374
294
516
389
91
294
348
681
804
512
956
824
42
224
928
747
42
482
610
265
695
826
678
880
755
669
62
654
654
258
155
309
789
50
18
82
325
251
141
523
416
47
391
570
219
735
964
722
264
575
517
108
508
682
177
514
908
697
775
247
445
270
498
786
316
642
123
789
455
730
134
921
613
140
323
389
999
503
914
792
873
354
880
107
533
550
848
198
890
858
951
218
140
943
20
687
134
427
762
828
677
98
963
920
359
616
280
101
516
259
898
13
556
364
186
143
209
95
492
541
223
118
392
838
652
537
25
107
144
214
641
209
602
193
111
675
148
494
953
76
599
988
371
79
541
414
928
82
655
853
695
388
185
117
196
381
267
617
994
54
415
211
512
540
603
429
588
16
257
255
274
450
934
348
616
187
658
164
493
308
648
956
119
2
681
53
466
963
426
103
695
947
872
231
686
175
416
152
852
251
254
349
755
592
477
341
480
166
664
939
314
500
842
117
66
503
379
821
266
636
763
557
554
365
242
134
814
623
982
249
992
231
750
963
67
821
112
230
368
843
805
812
261
659
245
860
269
550
85
400
833
726
390
734
263
41
244
534
899
197
555
3
151
655
405
29
875
369
563
707
478
671
635
926
289
386
939
2
949
274
376
493
30
425
435
371
649
114
35
749
571
920
42
197
206
635
185
490
919
599
559
315
293
596
84
70
334
413
60
385
118
466
481
411
59
633
828
231
785
620
898
996
606
677
609
477
689
500
861
811
349
469
240
113
318
181
774
503
454
381
13
856
126
10
406
213
413
47
335
402
356
242
186
844
697
619
523
949
970
858
771
742
307
251
818
599
71
980
588
33
232
864
953
499
468
566
320
94
91
502
845
833
273
308
516
918
475
816
255
45
681
907
820
332
762
491
494
878
322
157
488
335
415
652
506
116
831
509
179
21
51
563
908
136
536
37
209
842
778
161
829
623
391
991
737
189
587
233
614
76
580
360
577
534
811
279
740
962
401
108
610
622
918
365
518
625
350
36
985
445
171
520
416
326
537
416
580
994
901
477
79
18
837
841
425
26
436
798
393
721
408
964
40
324
947
704
153
610
488
47
901
209
721
142
188
188
597
500
489
267
644
899
13
139
552
831
629
552
911
812
345
740
935
694
75
739
225
378
56
945
908
945
549
968
11
304
412
491
519
891
693
373
414
816
667
655
894
161
633
528
102
753
340
511
964
867
129
303
131
777
776
816
612
983
495
861
416
223
804
870
396
122
763
790
552
402
582
986
230
131
798
616
21
407
962
403
681
183
308
165
46
725
953
789
765
291
970
529
621
202
123
671
394
424
119
621
468
153
4
419
862
638
714
551
968
695
857
640
26
915
535
321
310
571
351
105
56
624
817
569
391
36
19
557
928
782
783
353
231
605
540
31
23
543
771
213
930
703
207
537
497
590
931
5
429
526
149
219
317
355
680
231
593
667
138
362
92
246
386
876
398
296
72
857
106
294
978
960
222
954
456
978
199
921
449
324
532
261
472
598
381
727
446
369
467
87
463
203
328
491
419
739
100
986
917
307
164
801
25
193
386
943
278
148
148
997
748
150
82
740
182
766
200
346
939
641
143
487
918
832
363
627
743
667
371
119
238
838
640
555
606
190
335
912
808
516
822
714
327
253
833
318
909
591
209
930
863
962
416
667
214
241
376
257
341
324
736
543
708
871
364
1000
982
176
749
880
108
67
961
459
903
690
37
75
344
839
941
306
992
198
763
682
948
526
432
787
320
321
39
471
416
961
788
158
800
650
722
918
896
779
622
48
42
446
902
413
769
959
888
659
614
123
615
753
953
983
154
988
174
485
529
701
33
214
473
499
163
959
652
681
520
360
478
908
37
316
302
892
843
132
618
23
224
617
878
415
894
475
655
802
280
367
194
80
220
959
835
62
943
125
395
185
177
225
373
511
40
47
733
324
645
563
140
35
463
112
704
920
121
29
707
403
658
6
340
220
291
665
128
828
350
919
653
834
391
730
118
61
441
726
520
113
951
27
516
929
316
298
508
896
761
699
177
507
977
944
427
462
122
108
688
345
751
188
624
703
732
653
549
427
499
412
279
843
779
659
724
782
548
72
242
243
74
671
695
932
803
483
152
96
315
794
417
595
736
425
893
58
797
926
826
326
217
32
622
123
167
3
778
12
403
733
915
291
47
617
587
405
113
206
782
823
607
628
529
120
434
601
585
142
426
614
984
763
481
512
115
677
216
300
87
127
540
440
363
204
242
304
48
626
43
732
735
474
531
827
532
391
85
237
752
202
180
149
737
708
430
169
487
683
370
40
70
719
229
907
268
627
900
449
573
574
896
732
415
972
329
97
474
434
852
728
25
762
63
811
526
37
93
345
87
365
958
746
23
714
794
355
432
598
282
827
628
65
395
193
293
550
111
44
425
698
890
920
505
157
496
458
827
713
266
297
594
832
975
28
230
865
303
710
293
696
274
625
581
568
190
927
245
219
269
850
225
179
665
934
913
312
542
508
694
223
641
336
973
172
123
868
330
504
512
58
701
443
235
51
879
260
612
338
128
479
134
188
466
792
522
242
980
763
377
174
571
260
188
210
684
791
92
170
928
536
56
341
934
964
89
190
471
333
677
431
617
288
890
390
733
995
498
995
98
943
15
937
334
659
785
748
138
4
100
553
463
687
894
306
968
881
683
108
488
560
343
77
289
279
736
871
95
655
394
590
212
709
283
289
599
581
94
741
409
875
679
393
320
999
997
711
3
476
379
211
169
101
13
526
954
221
293
793
845
178
90
504
965
114
42
703
273
950
696
85
188
310
707
117
194
582
296
771
228
87
907
852
38
562
289
166
236
740
272
984
485
874
114
365
98
445
662
873
354
133
469
168
995
396
700
748
706
605
869
857
844
765
458
185
329
306
980
540
412
282
375
111
970
586
456
278
91
493
745
191
981
877
216
503
631
991
343
700
266
547
387
451
334
175
38
271
666
13
355
607
490
328
468
96
193
554
640
399
60
86
102
478
743
497
547
621
893
569
280
821
187
695
806
340
984
752
67
439
986
487
648
255
542
865
983
785
728
545
38
762
902
867
970
969
222
303
8
209
528
304
149
685
49
887
305
74
652
103
221
888
719
719
811
62
291
95
583
867
817
219
439
353
692
319
492
543
801
291
462
490
441
418
865
138
317
512
487
658
790
660
538
545
212
193
525
312
940
404
71
44
611
755
865
436
327
49
437
202
711
77
716
873
154
768
162
93
198
756
812
507
714
582
763
171
409
450
446
255
257
579
556
449
655
721
641
128
423
309
175
806
339
76
406
828
514
685
373
571
764
99
296
645
126
913
946
719
774
891
718
620
908
272
857
316
634
197
708
223
458
782
900
50
773
942
121
33
650
72
471
996
308
65
450
157
881
980
294
938
472
844
723
379
37
716
171
897
357
147
196
270
171
605
105
702
608
254
788
757
183
734
353
742
964
212
475
886
11
49
265
232
790
870
88
758
105
692
979
632
998
40
236
894
204
648
303
79
996
444
297
500
682
980
375
923
570
388
701
384
993
228
923
763
821
320
939
501
967
744
210
571
585
722
31
375
999
45
4
778
950
986
386
879
373
457
142
436
778
221
282
115
270
620
528
812
383
150
406
383
210
643
650
36
740
542
172
472
945
969
934
664
891
832
766
765
97
240
537
261
427
870
138
902
26
727
394
381
204
977
379
972
730
108
607
546
668
719
205
498
772
664
516
93
454
90
506
676
517
180
18
999
148
20
147
627
198
102
979
54
341
388
509
640
572
765
816
984
394
966
451
644
194
720
584
399
542
968
656
407
577
486
142
668
234
131
586
186
753
255
240
98
861
503
470
829
7
368
608
16
257
362
68
556
811
602
367
624
618
950
136
922
212
572
360
748
752
933
826
682
207
802
230
825
769
781
457
561
870
265
312
758
644
476
374
160
249
430
702
500
269
235
857
494
301
145
51
475
908
175
274
881
395
873
944
193
179
83
943
203
139
107
925
699
983
735
411
737
555
6
517
679
999
421
106
86
878
548
804
381
662
619
562
910
491
761
420
669
748
977
686
477
769
824
17
866
981
50
766
247
848
92
550
215
283
439
176
995
591
348
961
93
589
291
995
207
280
830
89
328
348
303
983
726
778
832
894
246
113
685
631
905
209
939
321
296
871
738
241
737
410
178
396
374
999
976
237
721
677
662
369
215
993
977
171
423
574
505
10
454
361
383
130
7
830
65
361
225
337
719
493
185
581
829
557
420
295
964
259
363
498
469
519
950
17
56
389
937
546
885
627
649
204
733
879
4
407
285
681
652
883
419
517
955
839
590
749
398
592
52
529
706
482
737
735
584
503
43
576
544
889
655
729
707
858
796
807
830
787
985
496
55
388
449
921
48
862
838
672
247
578
783
452
935
559
136
496
703
953
451
730
688
692
347
176
639
764
975
222
471
865
656
203
470
713
174
219
732
983
880
204
717
629
950
69
48
371
671
168
790
223
606
412
498
270
815
125
258
326
139
128
797
725
668
598
476
251
151
958
686
145
43
440
665
178
339
992
304
46
85
850
827
694
715
500
547
746
945
681
102
903
992
795
633
39
300
356
424
728
810
98
381
109
15
979
598
320
730
600
926
212
512
472
153
700
169
195
868
885
625
818
596
46
699
574
87
712
18
750
917
256
393
644
725
915
437
456
468
684
140
481
50
274
382
143
570
206
105
275
211
176
959
531
479
991
754
963
123
779
3
626
546
634
135
524
944
585
742
332
716
545
322
126
923
931
572
753
702
735
215
601
564
167
730
255
467
393
106
929
385
545
930
629
866
902
701
719
723
87
246
928
564
188
513
868
357
947
813
818
595
542
808
869
908
45
124
519
175
318
528
470
276
987
997
672
632
139
869
645
593
537
491
712
561
520
427
77
427
171
338
583
580
44
114
620
232
473
687
864
285
483
241
438
282
397
202
665
277
517
465
779
571
663
833
836
377
939
509
600
423
811
791
363
378
494
851
491
801
668
544
999
964
744
784
601
545
275
870
483
647
603
547
543
42
508
285
919
845
444
425
458
46
947
377
151
454
910
27
718
659
738
868
214
536
835
139
964
691
478
436
195
980
910
841
430
904
389
605
87
257
3
813
781
864
312
263
460
626
252
6
899
400
265
591
41
396
359
100
335
901
614
467
535
135
700
425
388
949
109
642
257
907
162
281
9
6
302
239
423
918
844
814
988
176
134
373
165
185
25
897
142
244
690
946
623
81
33
663
447
505
409
921
674
884
916
649
326
119
254
613
144
672
58
699
559
964
620
815
587
203
139
67
502
242
2
798
945
621
71
389
598
324
681
487
694
118
817
452
360
563
962
369
295
899
236
941
306
72
720
929
31
82
343
579
538
704
284
667
570
376
629
344
928
714
923
995
826
673
342
683
120
861
451
569
963
890
867
912
800
909
737
849
610
704
603
201
943
796
107
946
629
19
979
858
993
935
947
52
14
290
508
793
190
404
996
8
752
67
16
383
493
993
108
801
733
369
449
127
802
369
516
55
36
751
897
786
452
831
841
806
173
183
732
935
172
396
389
113
128
95
998
90
972
214
495
316
268
214
466
844
658
532
934
970
460
38
970
692
948
717
672
787
976
81
948
463
378
59
467
102
21
237
307
534
465
350
111
696
953
884
29
259
827
479
302
1000
552
589
143
285
235
522
444
999
893
522
972
680
773
77
876
383
671
956
792
50
596
826
307
733
58
449
297
69
970
563
477
815
418
589
524
99
557
171
313
262
472
400
115
832
164
302
94
209
730
777
82
110
391
729
402
671
295
572
450
383
905
622
876
727
341
180
435
436
284
228
36
799
877
755
49
357
649
703
702
581
607
392
268
887
530
69
771
423
979
930
178
593
678
553
373
216
755
192
714
540
783
779
684
79
677
817
916
383
303
562
904
401
66
16
823
59
853
293
172
37
439
883
421
498
880
140
444
707
470
125
266
41
557
572
600
909
878
305
700
474
123
931
296
878
80
990
783
876
117
47
332
412
681
392
357
676
214
124
562
603
144
379
864
633
616
403
605
772
213
965
834
627
220
326
890
176
925
646
172
462
997
189
782
266
297
188
642
105
310
535
843
558
7
739
203
14
116
759
458
421
672
367
72
517
264
681
379
323
529
404
681
382
345
52
936
346
626
191
902
34
797
260
942
10
837
102
200
65
230
698
562
717
298
947
594
999
171
545
665
360
73
133
592
446
692
956
426
900
167
179
468
107
617
876
196
956
180
463
546
290
285
991
923
722
212
306
378
851
51
538
623
747
838
760
956
768
3
971
684
388
241
707
366
737
594
717
24
981
826
141
510
494
138
510
360
38
908
747
810
773
395
43
124
15
303
121
21
82
685
930
779
452
897
275
558
723
249
206
568
538
530
267
987
726
806
865
959
399
784
72
551
633
522
164
306
670
496
70
905
296
837
691
493
129
78
751
432
125
871
426
591
474
990
509
802
456
349
291
785
512
931
628
649
963
270
921
93
345
588
836
527
301
759
650
660
318
30
34
538
386
831
946
622
810
67
57
262
13
995
785
835
147
166
597
903
711
936
701
968
206
748
629
783
35
706
504
747
495
966
975
579
705
153
899
351
768
261
856
956
270
525
498
252
476
321
545
481
231
471
963
990
602
238
497
969
790
889
265
685
679
971
551
651
656
326
303
276
52
432
82
808
578
898
367
780
671
779
210
780
536
924
179
69
971
760
429
463
772
737
518
956
649
171
274
731
64
378
639
597
373
775
878
381
948
136
5
470
734
259
550
541
792
129
44
480
991
59
718
649
908
395
939
924
408
137
871
417
123
187
675
360
227
45
336
423
492
448
841
643
597
851
35
216
67
652
920
642
988
766
561
91
911
484
56
415
901
550
193
917
772
54
542
857
929
28
724
674
99
616
505
92
460
305
195
580
324
981
537
131
581
504
918
967
584
102
261
556
978
112
393
290
313
516
59
268
883
267
971
916
377
619
465
546
379
565
406
595
673
970
945
954
595
230
620
739
383
83
70
854
613
707
335
929
288
417
307
559
118
33
399
275
833
520
918
374
109
557
942
525
867
530
714
69
205
837
724
83
227
496
644
529
367
811
274
310
596
221
456
622
62
554
699
770
310
587
924
544
197
221
264
300
47
573
383
157
349
1
117
65
555
407
542
98
106
152
766
973
868
583
838
679
571
480
172
121
671
681
797
831
320
805
567
133
739
202
160
638
371
281
378
567
635
878
740
210
964
626
841
765
90
168
276
920
207
614
199
793
733
881
741
275
875
390
571
377
104
155
873
948
933
466
879
968
129
225
891
725
564
454
421
329
472
711
654
403
768
884
983
305
451
366
736
890
823
689
568
649
433
498
172
53
164
178
145
62
896
521
840
49
477
592
990
842
571
342
747
197
65
564
522
777
354
543
680
622
778
71
713
185
894
567
974
224
64
714
458
245
55
354
382
718
944
398
511
6
666
149
294
780
951
750
848
732
230
429
773
554
346
855
570
461
529
158
169
56
157
149
717
933
296
828
281
229
837
537
598
286
375
1000
321
681
597
83
501
152
58
281
156
368
721
844
904
53
503
972
567
738
396
683
539
245
434
821
528
124
878
144
929
400
532
603
722
380
25
724
266
775
195
473
798
49
520
111
730
756
598
307
99
574
315
241
621
927
227
487
856
323
104
238
925
56
307
830
78
449
881
573
153
647
811
629
635
849
878
33
598
941
964
1
266
755
430
322
343
528
426
14
500
709
582
380
657
946
575
282
736
949
468
750
626
928
568
1
959
487
786
582
146
178
110
621
843
377
898
94
625
830
92
626
215
955
376
583
24
981
544
105
132
79
20
311
88
939
565
99
49
615
684
856
889
91
159
911
822
711
416
747
35
520
152
841
532
615
762
478
168
780
623
61
370
67
236
228
610
468
511
574
69
520
300
869
263
482
337
477
622
727
375
88
143
122
211
971
276
450
693
720
145
414
547
840
42
315
50
608
914
316
169
343
195
84
744
584
921
686
728
738
528
863
264
394
129
169
608
884
327
17
519
653
841
391
743
633
306
800
668
170
603
106
33
971
11
993
844
203
276
192
263
112
403
44
322
505
641
633
728
3
629
495
946
219
143
895
961
947
212
715
841
964
643
330
269
302
143
196
739
698
294
504
975
459
628
954
445
179
898
600
562
561
461
777
257
119
358
278
139
671
275
364
395
352
96
649
896
338
146
608
724
601
540
257
488
776
308
555
334
684
47
200
516
110
942
793
777
225
881
798
527
395
301
310
9
224
100
452
220
369
644
74
332
41
470
579
772
140
719
860
902
652
774
777
469
273
796
102
588
242
115
607
61
978
465
772
243
477
98
650
521
351
717
572
683
25
975
706
134
895
14
952
927
174
153
322
84
750
366
719
494
616
640
994
982
362
631
264
818
735
324
732
987
540
536
676
72
980
177
850
468
100
164
255
954
153
759
149
370
570
877
200
238
699
629
869
712
645
930
498
142
326
533
66
897
368
256
259
807
535
471
306
752
219
167
51
449
897
21
819
485
600
946
977
969
158
522
506
971
394
586
524
89
503
980
452
56
574
148
454
305
559
819
824
794
63
491
259
202
971
831
318
803
298
347
937
955
635
941
532
154
211
990
128
30
918
655
920
482
586
992
862
427
447
295
217
230
984
782
445
982
296
395
485
218
718
22
257
550
661
860
164
950
558
27
479
105
347
762
785
337
147
710
9
74
656
879
229
770
316
805
100
437
496
347
686
708
764
346
490
412
815
24
700
215
815
646
21
761
663
450
947
114
200
255
53
27
490
500
648
696
67
652
160
251
499
100
745
139
696
638
890
965
137
619
260
93
604
692
619
518
57
798
447
72
10
753
747
33
137
329
670
609
863
189
771
544
381
454
117
332
885
924
6
118
786
190
770
391
353
977
959
10
518
42
261
916
555
884
638
152
958
325
514
426
139
755
315
527
469
453
314
364
817
949
505
228
955
809
207
198
115
606
187
254
550
61
359
740
144
524
535
346
18
30
286
626
584
115
679
408
690
491
588
136
349
441
260
319
29
496
85
759
636
553
809
181
149
102
2
201
306
631
211
315
875
608
93
750
828
658
775
539
165
668
850
176
213
623
684
545
997
885
195
595
668
485
836
419
26
769
298
963
915
384
362
596
614
145
407
144
390
848
310
824
63
396
851
703
770
977
308
909
116
148
595
878
543
838
178
312
80
251
999
378
572
569
814
898
139
189
681
959
868
925
808
373
696
260
610
933
18
253
619
223
817
157
846
49
986
142
289
208
123
799
557
417
234
218
985
695
701
543
210
397
380
852
879
400
867
116
86
641
843
737
142
332
869
909
507
696
183
596
66
980
853
467
422
860
93
498
590
64
691
314
248
209
260
522
741
384
475
456
110
970
527
760
770
573
791
193
870
669
98
895
990
809
77
85
598
729
709
844
597
782
670
202
373
441
995
198
990
464
354
8
558
491
501
459
352
492
511
507
949
459
44
302
525
209
184
495
441
970
387
352
441
660
660
46
97
431
425
224
618
99
381
597
778
512
351
797
519
816
280
230
722
814
494
974
763
309
873
29
712
392
806
413
475
137
680
619
734
57
177
968
288
969
816
249
271
635
71
817
776
658
829
39
619
615
155
540
317
378
120
247
880
847
902
604
684
123
529
669
514
233
364
23
853
126
909
547
611
572
572
161
826
992
783
577
260
997
281
923
470
603
407
908
672
668
999
820
639
84
823
216
946
657
523
661
122
402
743
239
629
198
432
830
161
366
323
376
446
720
240
416
566
121
192
213
875
351
181
671
707
390
284
94
433
809
811
530
889
57
332
95
832
865
903
196
888
867
94
21
397
794
337
10
661
295
636
277
390
492
932
109
508
897
271
745
135
194
443
604
195
688
977
12
87
959
168
267
817
335
369
572
242
346
874
963
416
241
574
866
529
969
9
323
625
799
572
264
84
844
391
384
854
377
853
369
544
710
841
197
791
833
458
233
760
748
472
633
240
609
740
376
574
381
574
877
559
707
437
694
551
63
317
351
222
98
871
637
813
252
728
53
272
362
370
270
365
985
639
546
690
611
239
67
571
727
574
90
939
1000
862
565
656
423
775
660
216
369
763
233
390
935
825
822
171
822
725
179
348
279
582
725
112
295
275
540
386
342
372
684
978
408
130
694
233
11
646
95
588
154
443
628
337
878
579
677
932
236
915
106
367
958
282
266
540
82
117
473
7
86
623
663
186
857
593
225
947
931
837
270
441
19
596
701
206
787
389
491
866
207
513
518
184
583
803
160
842
533
329
600
93
773
410
458
320
562
712
925
656
43
217
73
2
534
534
349
215
8
364
597
733
642
935
119
656
318
869
372
112
389
244
943
780
858
618
306
601
359
338
727
25
967
812
374
645
926
288
339
678
838
324
801
575
710
355
17
974
548
671
162
316
840
682
293
729
373
566
899
164
308
254
524
393
326
249
970
156
982
962
419
679
87
58
645
801
66
859
151
151
758
943
663
193
58
929
942
428
108
890
259
772
522
955
213
883
245
448
786
257
204
329
671
1000
887
828
922
515
309
863
950
764
651
274
706
391
975
957
665
747
48
666
888
770
266
691
988
771
97
560
327
377
211
681
120
297
747
124
435
105
703
769
261
938
519
680
895
873
311
900
950
736
57
799
145
295
296
747
887
95
501
165
377
670
392
924
588
528
870
668
13
72
142
880
509
593
870
415
930
554
850
778
481
678
815
642
892
734
446
981
582
524
569
713
948
288
810
934
803
628
706
670
771
116
363
558
125
925
294
45
187
201
973
469
868
393
997
888
377
430
474
614
426
470
402
213
483
899
356
147
753
437
765
331
623
465
416
637
208
152
589
760
538
578
431
931
629
786
712
687
372
645
149
259
746
452
838
180
304
460
151
414
294
877
678
602
47
461
376
85
447
499
133
946
430
839
377
681
422
651
187
39
562
760
595
213
384
713
448
825
312
237
199
95
6
378
501
185
96
395
311
913
289
440
503
1000
207
177
645
512
525
724
700
412
184
742
879
992
498
78
786
495
941
73
294
414
300
555
280
787
660
583
498
334
360
184
352
396
689
719
275
474
571
980
767
631
912
844
853
114
599
76
883
372
351
911
167
49
772
134
858
630
982
706
889
183
131
419
525
5
993
667
291
91
523
191
574
2
994
569
245
139
847
300
993
410
886
566
895
989
815
130
936
202
414
390
822
566
839
295
438
662
612
700
735
837
913
723
662
694
643
874
1000
953
597
20
596
527
769
741
552
626
467
274
380
261
439
39
996
783
653
671
694
982
738
615
940
861
318
589
864
371
674
632
870
305
190
52
637
51
53
300
111
108
526
688
784
94
925
919
677
478
99
595
957
428
837
225
58
960
93
752
486
68
389
334
256
592
1
866
32
410
825
790
602
936
902
813
277
18
642
489
172
61
722
54
77
628
474
501
843
802
354
676
745
323
718
54
297
897
727
957
405
76
650
209
507
814
222
586
583
136
26
988
538
359
10
952
457
945
393
973
676
398
206
128
450
556
603
652
212
273
937
454
95
755
276
28
424
743
692
866
333
344
188
263
555
535
559
359
679
290
834
371
842
830
228
227
941
700
640
233
892
281
862
986
397
831
582
460
961
377
197
111
619
583
179
855
935
244
495
994
375
193
114
522
63
220
203
751
270
82
965
859
738
775
439
797
58
59
781
981
894
614
662
305
810
345
503
332
791
49
143
966
349
119
452
495
270
959
100
685
635
548
388
499
756
939
609
111
30
505
864
104
570
452
657
133
609
427
876
870
353
75
943
764
948
34
41
999
638
172
303
24
69
848
787
245
891
571
856
742
463
741
307
394
560
81
252
413
360
939
245
89
934
929
622
498
684
225
375
23
859
452
95
823
371
265
742
766
625
622
2
964
952
286
18
741
561
235
127
765
611
556
45
135
144
853
612
382
110
367
825
739
674
827
391
502
289
490
423
15
814
982
256
621
35
298
537
881
550
791
924
545
923
22
716
9
357
140
717
481
938
838
465
641
648
984
714
394
960
761
728
192
781
512
500
493
939
519
488
166
189
618
857
15
928
907
461
159
428
794
35
695
409
289
142
944
202
746
432
552
591
232
671
945
653
335
837
910
580
462
276
586
476
672
568
778
640
613
264
301
657
441
124
999
924
460
807
227
889
791
235
794
392
614
19
834
957
370
388
615
807
861
41
34
650
348
229
447
14
625
147
514
5
490
426
935
906
247
89
331
921
631
871
9
765
45
180
37
455
120
330
883
899
355
856
835
344
79
907
575
756
20
690
564
562
544
929
348
927
22
117
506
952
830
123
710
734
227
343
307
240
703
193
878
316
437
176
510
986
181
161
833
382
217
785
492
258
60
90
377
81
196
599
799
99
483
43
833
636
802
859
179
76
144
404
273
690
645
542
799
457
956
906
433
528
990
655
445
834
265
5
694
603
40
145
710
230
936
435
787
45
982
889
433
984
909
81
112
77
999
527
929
989
38
515
811
509
712
116
761
57
309
824
993
744
753
843
77
483
759
580
761
969
433
281
797
89
689
75
923
453
702
940
141
322
992
177
545
129
868
87
297
182
685
424
730
891
775
83
231
49
975
226
273
275
399
715
906
708
441
268
87
460
77
272
451
108
163
503
542
741
810
355
20
670
884
327
111
938
358
635
383
202
527
813
969
379
85
87
513
691
669
113
445
402
759
402
680
559
775
384
455
556
755
585
831
158
306
864
331
914
382
971
277
573
5
957
682
175
289
151
943
11
961
428
170
495
141
541
717
356
278
94
366
203
47
587
657
668
428
604
67
847
425
841
81
679
621
182
726
229
275
399
803
605
781
444
875
363
61
435
44
801
950
651
711
537
658
826
776
75
205
11
212
892
75
102
533
706
428
898
451
202
913
208
941
469
496
93
981
784
752
815
505
218
740
418
456
701
945
183
405
827
740
373
867
699
503
786
336
531
799
639
46
545
47
219
651
991
669
559
330
688
26
101
326
609
373
967
526
434
653
972
532
904
190
967
581
40
276
432
809
4
147
537
591
426
137
983
133
549
593
65
49
405
723
342
387
554
696
176
478
631
171
200
997
40
930
474
838
677
427
657
772
477
900
59
353
919
128
840
204
348
75
922
665
158
399
429
741
369
273
593
432
152
37
78
828
184
960
657
798
483
773
982
704
580
724
986
347
435
589
65
248
512
477
819
468
816
272
535
386
505
240
40
245
884
693
788
823
220
572
270
285
819
480
910
127
249
998
643
129
412
85
250
433
425
998
372
128
887
411
821
284
204
400
468
937
46
487
493
381
929
256
235
30
154
881
246
259
7
535
384
855
244
814
944
161
319
209
912
554
766
180
383
631
402
571
67
372
753
934
600
587
208
865
56
153
933
545
678
907
491
560
323
575
468
481
539
784
122
845
533
15
233
932
454
381
881
187
617
179
823
215
271
545
533
22
490
908
705
592
598
612
228
928
310
794
198
432
411
554
538
837
385
500
198
946
854
12
673
145
99
935
839
933
192
962
677
786
466
673
493
262
178
46
669
602
170
266
810
32
305
838
400
596
218
331
700
628
690
551
713
905
552
585
454
122
577
976
676
559
253
185
415
733
697
657
460
375
181
48
878
294
972
570
250
556
174
33
154
944
305
839
743
837
174
125
957
497
436
247
41
249
880
30
555
186
113
563
978
844
804
805
356
760
60
965
187
953
836
441
847
120
481
59
467
820
685
526
76
960
88
281
230
681
802
386
90
125
892
699
101
633
665
357
13
634
249
472
954
865
515
71
686
579
886
498
949
91
927
908
42
357
922
22
359
257
825
8
656
942
82
213
245
867
791
484
119
155
638
983
282
498
799
728
193
137
777
574
272
345
728
973
899
481
408
679
168
871
269
472
975
736
634
110
636
897
84
976
379
232
386
293
477
721
346
377
756
443
946
103
439
81
2
675
58
327
364
808
241
63
389
656
723
380
985
148
841
271
59
936
116
325
597
809
264
852
927
251
123
673
927
823
525
203
107
153
113
599
465
653
466
439
45
490
657
839
875
984
545
959
820
331
708
567
460
502
875
696
720
220
149
472
440
160
82
866
453
904
897
461
9
718
757
324
619
937
981
735
429
570
580
828
297
794
272
156
633
121
395
828
854
400
795
145
93
251
792
578
358
209
794
545
926
611
13
677
188
234
973
167
477
797
205
362
723
675
597
972
883
650
345
133
205
23
374
102
335
214
372
545
153
812
296
205
43
117
341
255
936
387
855
778
135
390
631
641
367
345
330
468
975
12
529
588
437
550
48
547
650
671
723
273
542
849
812
21
596
538
515
17
830
900
915
72
622
59
802
557
516
744
410
792
809
33
125
302
296
30
573
424
15
515
338
413
203
17
733
556
992
275
697
791
533
773
881
979
344
884
421
297
706
187
753
171
804
646
19
800
158
721
302
608
594
929
951
865
648
9
734
358
826
658
401
182
579
737
538
677
212
973
231
59
202
414
186
539
541
348
405
559
817
951
426
344
690
664
445
121
331
187
340
218
137
29
708
737
787
746
608
655
223
347
542
29
733
888
634
420
648
912
619
795
534
233
473
945
949
551
2
866
999
507
731
673
925
81
733
350
931
713
864
35
279
91
9
604
469
355
548
51
938
343
233
498
328
628
56
733
802
279
506
827
304
700
806
759
913
433
339
930
661
500
507
134
270
750
659
866
257
637
599
771
796
85
395
721
521
361
872
226
174
407
200
872
657
697
487
22
558
468
106
304
671
162
789
286
392
970
174
305
98
691
603
645
819
482
419
111
532
684
941
588
427
644
583
356
334
303
284
765
317
416
544
389
116
427
878
906
724
398
414
792
882
905
715
342
700
480
627
700
922
992
114
318
567
361
572
724
833
128
101
560
156
684
560
591
284
446
990
811
58
826
199
806
368
654
855
273
370
594
441
940
683
185
812
190
687
369
896
356
481
761
299
999
317
442
174
477
511
773
753
782
968
585
334
904
414
99
397
963
383
107
720
986
790
282
27
449
673
933
757
666
290
200
999
697
325
454
484
678
355
610
832
389
137
193
890
444
462
239
104
683
553
535
354
238
988
290
566
252
151
45
729
452
63
522
650
553
255
161
882
54
12
293
803
50
934
250
734
563
266
216
312
334
845
329
105
120
840
312
552
362
689
949
912
494
751
818
833
250
246
17
520
107
984
36
272
354
238
580
300
398
875
863
362
571
508
839
695
122
18
915
168
86
245
902
336
403
58
365
322
11
257
68
27
635
999
912
248
628
514
633
628
558
865
506
288
185
468
517
149
84
849
743
655
472
871
204
615
719
302
53
393
605
86
787
474
653
183
102
765
751
135
124
631
851
819
19
749
736
962
378
387
731
108
381
559
750
659
462
848
260
515
63
386
599
632
159
587
544
472
375
757
225
962
933
631
254
59
122
216
428
426
707
62
462
65
472
230
22
942
113
775
721
805
792
511
868
405
8
218
480
288
836
175
491
166
249
138
142
628
935
405
241
634
17
650
382
773
77
564
209
747
196
177
522
957
33
911
345
289
586
56
73
455
909
361
496
303
963
870
755
521
779
962
313
86
256
797
592
615
293
7
238
493
370
534
906
296
399
969
26
557
406
598
296
366
576
674
510
642
319
42
926
166
226
397
566
643
269
902
724
102
113
795
491
942
184
925
289
787
999
867
231
132
318
359
635
406
873
355
195
737
805
884
55
158
407
269
589
418
500
965
725
909
545
457
489
396
602
181
859
398
369
400
100
100
850
342
510
616
622
655
921
255
300
430
329
235
555
621
766
911
955
670
897
176
975
558
842
154
767
289
423
698
643
31
355
474
788
752
925
618
422
204
335
48
469
536
199
516
814
664
656
399
406
734
179
46
778
699
438
204
28
47
506
723
985
202
301
204
8
963
388
780
892
633
175
481
410
166
102
976
285
711
624
573
854
492
688
465
185
761
884
182
206
966
699
74
263
895
83
442
559
731
69
633
156
450
343
6
547
915
435
185
334
365
721
423
233
740
499
221
398
406
202
563
115
422
263
281
975
438
189
53
999
665
211
546
584
157
215
987
778
792
779
281
139
947
812
381
368
826
686
240
954
819
768
119
334
62
967
401
428
571
208
380
975
938
790
640
781
623
215
777
870
245
373
208
492
188
958
702
184
990
606
131
336
711
508
613
229
456
199
884
166
747
829
254
55
255
428
958
827
708
630
41
102
440
835
194
853
157
43
110
168
956
438
978
840
560
334
755
219
997
304
670
640
698
102
258
817
68
555
886
763
137
675
330
165
791
140
485
651
450
659
676
67
771
963
384
692
113
846
398
300
62
189
553
142
243
942
240
173
42
815
819
336
615
816
911
302
735
839
323
834
624
230
965
858
897
607
766
405
131
265
989
814
409
170
784
980
348
879
77
962
772
735
81
984
206
329
839
710
763
537
180
675
880
397
418
947
553
723
899
400
386
631
270
471
832
71
927
902
432
69
683
773
747
629
97
75
952
127
280
179
699
613
240
818
998
642
990
630
303
128
710
867
908
244
229
617
65
570
966
775
931
545
277
37
568
764
807
400
746
821
92
991
225
195
127
583
522
174
40
803
899
889
320
881
481
354
297
758
934
800
664
511
107
722
893
353
410
768
336
907
452
38
644
67
663
386
892
520
194
56
467
917
371
362
340
762
394
109
802
325
762
201
164
245
105
155
141
77
743
291
917
696
281
991
897
359
1
731
237
206
641
585
100
187
368
471
414
697
434
741
668
703
21
610
851
761
264
541
226
148
294
921
55
253
408
294
723
497
170
951
5
299
304
922
331
51
749
254
15
597
135
12
362
493
237
617
455
168
677
974
204
179
263
339
949
943
849
30
488
684
577
905
904
841
630
971
7
877
424
640
485
214
274
906
100
36
140
161
409
826
1
452
496
783
791
732
160
748
581
70
868
843
880
823
492
807
501
510
568
921
443
490
332
505
620
572
291
186
72
380
455
527
514
629
654
160
675
457
530
254
913
637
932
12
15
774
409
910
919
572
431
535
339
883
774
248
927
513
243
325
635
707
501
917
427
822
372
930
331
949
349
895
108
127
463
988
478
392
857
649
944
72
629
627
719
652
532
905
187
34
108
640
600
219
725
175
445
266
746
214
16
883
779
438
258
174
534
224
851
850
331
614
876
689
702
364
103
166
872
733
123
928
88
636
55
240
935
940
570
616
791
968
288
585
516
725
405
969
335
974
581
83
602
37
688
996
830
136
16
374
902
155
935
424
877
914
812
184
173
486
171
706
201
565
722
694
717
661
908
825
245
689
8
259
948
592
717
838
224
761
327
82
117
367
302
375
372
187
59
657
573
150
281
551
362
632
881
73
160
452
74
998
159
661
643
509
634
449
589
964
762
942
845
499
188
210
624
704
611
551
263
804
465
10
169
603
617
127
527
968
671
98
23
749
64
920
697
892
647
574
411
904
876
977
152
13
10
276
521
94
985
6
324
908
735
811
140
256
774
677
88
421
789
128
813
668
863
381
860
628
673
282
205
104
694
717
701
235
994
278
582
931
678
228
977
241
429
137
599
600
873
158
374
933
684
591
811
237
450
234
327
563
330
40
588
301
422
771
153
282
614
663
360
498
375
588
449
159
609
847
363
425
197
529
546
371
328
298
317
648
37
597
79
900
652
513
711
154
985
969
967
313
195
476
617
412
208
420
355
451
461
743
212
481
535
916
324
131
914
306
433
870
726
405
410
168
817
874
442
124
914
67
245
314
964
472
827
325
957
547
862
941
653
503
709
976
695
943
461
550
524
662
187
970
338
558
704
446
131
349
799
608
483
703
819
138
339
485
917
859
501
48
81
333
934
854
251
334
265
317
454
568
48
387
906
675
483
319
466
837
256
23
639
311
99
609
593
788
473
38
266
801
516
278
728
313
2
1000
385
202
628
659
512
635
354
723
836
192
893
955
598
196
697
888
587
883
936
68
134
952
53
210
956
546
429
141
25
893
600
299
363
702
224
589
771
875
705
614
15
277
990
636
930
95
528
149
224
793
827
620
513
795
336
747
263
789
614
609
854
15
879
189
954
936
61
59
760
498
429
452
396
550
712
577
996
55
375
773
522
466
398
23
396
986
452
431
408
467
846
491
156
395
1000
366
503
742
479
933
115
460
840
60
216
63
595
439
62
13
650
291
526
655
456
457
383
994
939
689
551
951
999
458
593
625
993
210
239
698
165
822
550
374
402
937
622
117
89
968
406
52
30
850
291
77
631
986
602
617
544
463
43
490
995
308
443
519
866
461
839
379
411
171
65
669
154
743
540
330
138
896
845
369
188
515
66
289
258
264
546
771
263
319
917
901
7
492
756
713
954
146
231
858
630
583
421
6
373
43
799
956
8
83
516
501
777
822
725
821
519
494
168
525
637
812
640
514
908
878
760
516
533
759
659
465
119
410
846
937
498
289
503
448
353
914
900
800
659
576
459
553
827
635
217
388
292
106
108
362
971
778
511
2
671
682
992
789
69
583
11
812
296
67
651
280
552
944
104
154
386
907
704
346
466
859
835
848
741
831
893
626
820
216
798
367
340
867
280
934
829
695
235
947
281
582
12
12
275
794
387
962
934
570
327
924
481
262
391
149
419
199
739
323
628
446
295
520
766
759
568
24
420
334
962
32
385
397
245
607
311
297
939
358
685
495
63
1
809
821
577
339
982
372
312
255
571
727
967
937
41
475
951
957
296
665
468
789
874
425
270
999
645
890
911
685
653
592
199
659
673
599
747
548
849
74
196
195
523
339
718
757
975
230
887
412
358
267
830
889
521
163
894
913
781
266
690
214
972
800
504
986
218
208
506
525
1000
452
137
332
11
858
302
131
205
14
758
100
215
210
144
110
19
190
680
927
319
264
431
127
623
392
420
946
396
514
555
428
12
195
544
965
415
673
469
823
554
518
673
274
699
394
987
747
656
898
70
794
778
14
833
730
417
522
492
517
108
593
777
856
362
897
236
442
412
758
373
53
630
312
535
479
625
127
135
276
231
484
756
8
673
339
168
934
228
32
57
64
587
945
582
140
963
670
436
356
685
692
223
603
690
271
346
561
806
962
528
262
223
191
305
618
839
394
557
976
471
499
173
975
42
946
495
871
964
9
19
984
868
930
186
159
741
252
767
918
314
777
487
524
209
795
28
303
8
563
503
393
835
542
807
537
537
560
999
695
790
906
13
982
744
324
545
914
902
19
931
8
994
109
179
542
538
346
101
682
632
607
666
246
268
366
270
67
137
293
625
344
439
216
340
325
703
891
95
414
4
425
497
102
226
739
333
121
241
155
944
886
958
57
892
591
201
573
899
292
292
406
289
923
22
267
816
501
434
837
801
659
452
831
965
291
939
521
204
301
209
36
833
370
357
861
492
208
37
208
995
978
474
371
891
448
562
730
400
955
880
826
702
450
327
790
232
739
871
468
792
520
607
793
781
989
896
277
769
569
877
61
5
813
65
575
148
630
34
727
689
778
438
499
61
988
746
968
402
186
83
87
307
20
543
961
655
307
161
22
797
65
505
220
955
532
498
285
689
910
659
203
663
649
405
245
769
721
467
326
848
708
724
954
882
515
990
793
551
169
338
666
450
479
616
873
141
300
639
852
395
749
452
531
687
32
685
226
3
447
745
542
519
718
40
557
543
96
949
502
412
516
535
276
680
709
301
360
56
343
430
167
989
161
10
385
752
615
733
641
122
658
439
692
500
223
639
371
421
397
877
749
904
455
354
314
44
742
777
473
579
824
774
375
879
502
561
847
980
2
758
249
825
142
368
174
823
327
3
197
222
3
347
381
537
575
725
780
484
877
368
9
410
977
671
827
245
503
257
776
363
658
174
142
554
829
919
883
525
986
249
741
937
112
972
423
37
513
970
611
354
200
736
571
750
483
611
291
383
556
713
423
763
97
298
761
147
890
901
643
958
15
147
447
813
448
572
314
967
774
137
323
700
306
364
622
242
103
207
410
295
254
809
289
163
331
302
171
738
90
653
881
349
342
376
584
569
418
595
398
600
796
573
908
787
276
287
783
150
557
84
411
531
174
727
246
159
554
411
578
917
378
401
552
610
510
41
574
857
526
784
666
41
268
746
979
878
895
72
389
796
653
17
58
276
913
250
898
707
93
357
101
128
746
862
319
394
437
435
579
981
36
95
739
600
699
324
166
260
131
52
287
246
668
319
868
694
376
303
195
125
593
75
793
322
318
102
978
411
416
51
331
865
878
869
113
412
236
498
763
527
854
804
889
242
976
479
561
521
311
746
301
335
466
655
910
865
705
645
133
982
374
844
218
263
813
250
644
311
725
559
619
104
815
884
477
386
932
47
772
899
96
422
701
362
577
544
435
687
601
825
127
852
374
744
613
230
843
851
291
950
36
719
290
27
865
806
748
579
996
776
12
473
771
447
573
82
191
993
842
688
634
393
217
246
370
423
461
836
873
677
104
177
628
193
427
972
430
276
622
701
117
5
868
729
332
755
397
216
163
759
123
389
460
378
997
182
215
300
111
131
620
292
460
651
364
519
429
531
236
669
292
546
365
302
468
587
260
896
823
583
382
54
56
836
117
188
82
29
910
809
397
362
776
238
558
720
580
135
332
744
281
766
522
11
802
345
187
237
311
72
782
590
462
748
723
755
619
969
28
318
117
911
972
440
420
705
153
539
404
202
960
874
59
731
205
525
624
68
604
236
549
437
852
983
686
815
287
954
809
211
512
798
905
856
893
651
676
446
550
445
322
684
317
436
34
344
161
737
528
41
710
845
637
640
871
845
196
37
4
977
453
606
760
751
763
195
452
628
625
954
837
576
993
668
231
478
364
484
189
448
355
111
369
621
367
618
804
839
437
952
502
5
593
152
219
546
848
44
258
562
470
871
382
747
321
943
257
104
873
858
368
799
959
291
20
257
452
639
853
709
849
54
295
11
143
510
490
452
496
596
573
671
942
665
567
568
769
822
813
258
277
982
612
703
341
895
641
673
559
599
828
25
811
247
556
166
738
612
499
697
971
884
893
913
964
544
776
819
927
221
582
748
656
417
468
530
33
928
955
358
593
562
751
183
830
537
139
488
834
515
929
777
474
793
781
956
560
629
642
70
331
980
155
529
177
246
172
41
719
722
887
960
239
557
732
646
986
994
846
747
53
510
891
16
397
325
951
388
21
368
526
554
529
441
928
224
70
805
945
576
124
824
273
128
744
623
72
447
623
939
952
617
788
476
856
376
828
108
600
189
308
211
265
290
398
274
245
912
850
669
549
482
137
135
817
598
953
96
638
934
294
405
971
84
44
490
828
514
305
161
992
440
722
521
154
455
711
547
796
146
789
879
90
806
196
297
299
541
596
163
469
767
949
832
678
93
543
679
775
95
819
907
290
297
808
753
193
2
958
58
261
241
645
425
64
221
912
329
37
149
826
647
642
163
381
18
384
457
70
329
301
351
75
435
639
200
521
863
569
540
408
907
206
793
629
979
664
218
957
517
587
478
2
58
391
399
917
319
447
4
71
242
574
887
991
12
500
342
634
983
400
446
431
318
230
467
633
874
331
534
185
550
711
535
727
880
466
551
361
99
52
988
501
340
506
747
455
846
233
382
401
340
722
247
63
722
357
16
704
336
553
844
19
911
576
626
132
122
747
498
185
434
226
735
927
524
176
716
331
102
930
417
467
422
728
235
823
74
684
566
763
967
919
686
76
508
216
940
417
106
114
165
972
55
111
552
872
778
508
886
710
159
495
191
30
397
260
343
782
433
277
142
583
474
421
655
50
571
241
393
632
515
555
22
111
554
483
875
414
530
199
461
421
126
981
562
251
785
545
265
881
786
316
446
14
653
3
833
842
780
794
717
714
686
535
830
735
832
522
679
39
252
895
821
780
604
173
224
917
375
186
828
494
123
487
886
449
620
368
473
937
659
757
804
776
152
604
640
915
799
835
125
733
321
614
828
599
700
417
664
350
393
402
617
251
764
635
853
556
288
23
935
34
214
213
293
642
437
270
37
106
327
725
467
337
124
430
385
438
289
707
385
571
925
515
842
101
930
651
250
248
107
588
869
932
816
150
416
629
102
105
638
832
446
712
202
142
414
394
249
113
524
17
366
706
578
689
466
632
572
625
272
905
37
341
654
651
343
421
81
590
37
115
843
635
795
301
480
737
918
714
90
446
603
881
782
653
409
925
572
638
445
236
434
852
784
24
76
819
564
953
220
196
3
351
824
266
326
8
747
112
193
179
796
275
778
231
970
989
87
291
987
936
434
399
844
78
282
894
268
298
782
203
378
471
431
775
782
125
250
623
660
1000
730
838
39
707
622
477
642
135
312
420
155
432
126
164
739
214
420
23
892
64
715
867
549
582
462
373
435
953
240
738
229
482
314
926
80
623
536
841
350
762
488
243
259
441
641
857
261
751
29
853
573
340
640
837
276
873
241
520
771
780
877
513
231
833
627
40
831
429
516
938
207
456
640
982
590
252
700
475
479
520
109
994
587
971
776
411
982
149
463
594
43
110
356
697
854
618
110
568
162
69
167
612
850
629
582
388
173
947
956
338
679
411
313
279
790
60
925
749
569
218
166
841
15
370
432
901
607
47
61
363
465
274
958
17
652
677
335
230
638
469
568
977
880
350
678
64
809
843
357
583
253
670
774
487
462
596
622
114
469
566
999
670
458
66
744
951
196
397
800
34
340
936
23
284
622
520
606
779
471
818
950
173
657
918
393
107
914
382
655
478
296
713
268
306
250
517
524
438
982
640
674
73
734
212
216
905
990
835
94
732
491
131
576
515
153
485
353
232
654
67
170
307
470
210
890
84
645
752
452
563
400
230
619
607
994
724
771
888
891
664
220
159
405
201
739
802
452
534
2
221
967
179
671
356
807
317
679
488
707
203
104
552
942
121
681
369
888
525
618
577
586
806
870
529
756
599
464
128
444
660
753
370
635
130
722
343
707
428
589
606
566
116
988
107
667
807
961
310
898
618
819
756
465
713
719
88
526
183
433
449
287
925
374
277
683
154
401
720
558
919
326
299
479
304
308
990
922
986
530
581
594
519
641
49
78
960
467
671
824
473
374
789
755
142
532
460
380
502
996
691
390
249
202
634
139
151
975
852
302
472
602
778
255
76
885
561
411
975
317
746
818
283
698
700
820
413
591
215
483
887
961
487
779
305
245
557
235
871
871
321
867
352
950
430
739
535
456
774
417
8
707
719
920
600
386
968
498
913
652
736
733
168
112
880
997
7
549
822
262
8
361
332
612
401
578
737
608
860
193
697
791
356
292
484
222
716
128
573
939
932
850
476
606
302
78
960
421
147
887
166
578
196
58
711
177
739
636
558
501
295
939
256
1
836
175
229
177
604
712
893
767
151
895
763
308
531
1000
153
179
499
562
736
717
157
831
7
818
747
592
654
752
189
874
942
565
511
389
482
539
554
656
170
672
189
866
663
20
825
486
490
60
157
518
768
947
963
74
576
619
226
650
175
265
59
81
706
579
661
626
416
543
45
103
208
249
381
259
94
399
574
806
127
665
142
696
512
81
536
211
912
959
806
420
400
636
905
379
106
499
6
224
401
342
881
955
338
91
818
276
193
322
534
342
122
808
245
634
407
531
408
466
236
229
610
833
725
523
783
392
700
162
183
392
803
690
568
259
625
128
634
372
925
886
14
294
447
171
128
333
511
627
717
872
321
796
164
315
903
271
619
879
694
72
467
696
42
877
947
848
324
218
537
48
953
651
322
624
263
211
673
358
176
168
473
534
579
221
560
204
534
782
275
308
835
924
747
787
884
916
69
227
588
990
603
896
749
141
457
259
440
306
580
192
976
235
53
141
395
722
863
417
804
637
872
677
558
382
746
386
2
972
328
712
429
932
305
889
960
588
50
542
328
164
215
851
881
253
964
732
709
893
776
373
473
469
350
597
382
110
496
514
773
55
842
816
921
733
801
931
19
932
558
929
776
474
708
731
688
295
840
704
847
666
549
156
114
587
292
610
554
50
66
971
331
944
79
887
665
874
474
646
14
65
704
943
404
811
307
719
692
647
706
77
608
530
141
942
607
841
987
768
946
946
529
72
868
381
741
997
489
469
714
424
798
331
173
371
122
787
968
552
621
615
472
10
592
998
631
661
872
754
748
457
201
129
188
624
186
501
892
79
414
356
953
716
355
272
551
717
902
455
210
418
803
582
698
557
788
316
881
917
860
887
484
472
124
540
53
161
499
516
336
314
854
435
957
575
416
622
519
900
796
964
213
815
601
324
594
685
404
439
441
162
796
462
509
344
334
10
560
423
487
653
252
768
81
264
357
452
321
562
295
205
212
461
163
659
84
564
275
534
951
236
719
109
663
236
617
913
154
790
546
89
593
335
67
284
929
895
435
240
131
206
326
483
428
244
856
637
960
784
265
931
576
964
384
403
945
622
396
153
761
326
474
757
579
616
592
614
753
967
165
568
999
357
233
602
365
166
540
815
743
284
255
151
643
981
32
542
615
63
794
250
578
291
907
177
324
870
399
811
636
47
495
343
779
502
999
146
611
288
20
498
192
492
106
933
571
711
98
41
373
650
942
925
921
860
227
732
879
719
451
864
850
221
881
546
890
57
413
365
685
782
4
330
977
522
104
740
911
860
10
859
139
997
213
9
895
241
616
167
769
223
983
587
562
932
82
276
435
865
767
379
562
85
700
655
612
986
464
270
683
884
610
58
785
363
547
269
538
452
272
577
541
310
631
757
790
76
184
43
557
942
790
621
443
303
666
121
630
52
87
225
958
701
806
730
135
23
15
483
218
348
890
629
570
465
810
500
615
338
898
310
65
479
846
545
775
862
912
539
9
754
562
317
691
661
491
162
193
893
635
765
278
903
377
51
107
660
349
930
636
785
87
294
286
82
377
570
521
414
242
987
850
552
426
534
802
759
698
256
641
395
443
141
931
734
836
362
584
545
365
37
681
706
558
1000
187
274
592
284
680
988
857
167
304
139
661
652
513
102
15
199
572
588
807
374
406
883
780
850
164
875
397
825
759
704
94
523
738
239
411
892
59
393
204
13
746
506
456
998
929
623
243
378
485
534
998
37
344
842
612
807
544
199
785
698
278
37
743
589
524
824
658
920
294
877
72
545
205
245
210
463
869
51
310
554
519
922
4
842
443
836
346
10
3
794
299
98
492
205
354
347
612
780
501
157
119
21
942
979
41
113
783
763
951
121
431
279
945
941
597
212
351
346
580
450
709
851
18
394
216
798
360
417
662
261
148
867
885
900
588
79
867
841
7
954
928
46
520
562
905
399
654
107
817
890
723
317
270
905
464
18
782
578
819
180
295
574
786
226
336
484
920
765
732
192
436
192
264
228
847
793
401
99
722
100
83
50
464
228
530
524
975
857
249
828
696
326
703
174
777
35
623
289
88
974
543
272
354
750
973
225
957
910
535
459
837
703
528
755
498
710
629
242
343
882
856
938
401
644
519
909
95
660
578
284
827
758
744
89
28
276
699
969
823
814
995
383
587
940
568
802
503
934
297
743
687
46
735
247
574
67
926
520
25
238
235
41
58
647
242
362
213
307
51
228
262
45
801
386
436
172
796
639
355
691
412
297
587
414
867
133
125
970
23
388
99
125
599
142
737
254
586
583
908
35
184
328
593
695
286
963
285
175
384
394
611
628
799
444
463
555
290
356
513
706
440
529
293
598
666
828
951
129
388
322
361
314
634
111
554
581
342
213
294
462
723
149
227
727
280
925
204
176
557
648
289
408
202
843
468
801
697
906
267
871
8
792
322
928
398
155
454
661
906
711
949
863
319
472
534
38
980
876
47
14
445
551
878
28
841
609
62
951
733
900
335
475
474
654
549
101
270
242
593
704
698
629
374
342
944
194
458
659
876
250
710
971
911
513
618
633
765
235
31
784
371
456
730
950
659
79
564
258
424
70
918
211
214
109
906
81
24
440
1000
969
597
512
770
502
302
223
42
948
868
254
45
257
781
994
56
166
715
58
655
44
245
219
934
581
964
884
909
800
289
901
954
108
482
569
292
253
811
208
420
150
396
568
926
496
976
612
291
966
741
960
136
579
413
369
870
529
958
152
838
334
669
370
884
710
874
954
711
948
189
667
539
912
61
949
346
1
337
238
389
518
713
341
845
976
235
765
83
760
450
696
562
457
436
512
343
882
678
262
959
528
697
569
745
699
405
785
762
90
378
36
126
927
663
7
904
100
231
932
725
884
925
258
930
958
603
902
355
437
158
836
849
538
320
989
222
308
414
77
616
604
771
57
200
87
104
319
722
585
963
643
651
584
338
159
585
966
567
294
129
378
993
697
701
765
220
698
537
666
385
685
771
855
614
144
578
788
704
758
251
94
122
130
583
40
603
173
34
526
6
156
40
624
576
735
223
125
448
8
417
869
35
826
209
826
950
83
96
76
219
727
490
830
858
556
516
592
334
647
966
424
24
446
849
994
566
136
644
802
898
862
794
483
871
821
968
623
544
9
308
854
663
620
239
302
363
728
384
663
831
874
820
259
548
637
177
442
692
74
88
632
521
170
82
80
799
93
338
174
894
57
585
742
740
122
105
337
707
60
971
927
326
718
598
775
969
3
230
532
801
639
208
747
775
407
722
38
993
411
303
177
510
267
460
184
518
778
758
342
917
793
69
726
462
481
937
428
43
139
770
174
163
28
66
457
340
446
962
584
6
391
231
306
431
737
232
800
356
792
434
815
314
460
891
742
41
27
423
217
34
744
343
604
21
975
261
391
74
658
894
83
136
241
821
655
993
26
810
1000
82
98
690
111
93
601
731
914
12
157
164
759
109
651
748
615
394
435
310
883
216
244
743
590
38
757
289
442
855
805
815
832
418
660
409
454
157
729
878
606
704
227
598
610
984
99
763
40
127
523
276
610
854
831
401
636
591
574
817
957
265
767
925
94
658
38
57
197
200
544
773
31
323
21
570
845
820
268
118
481
195
695
654
481
624
311
213
278
11
658
240
764
583
772
479
690
596
192
185
338
41
402
425
912
686
875
643
879
368
52
721
293
253
184
490
773
670
933
14
389
216
56
992
151
51
257
320
232
698
549
185
280
205
31
67
409
215
47
669
547
365
91
126
813
438
682
772
520
858
643
415
204
438
893
296
828
811
884
897
904
536
303
296
846
758
493
70
280
170
341
604
423
178
50
263
845
423
280
54
148
224
675
337
114
91
619
608
880
179
449
612
562
457
984
856
540
388
402
104
309
144
977
578
402
701
140
407
387
713
648
336
368
692
390
803
709
881
506
310
965
166
29
421
92
515
261
811
61
740
392
550
966
800
715
207
519
503
908
406
616
205
469
196
307
24
372
965
71
173
392
648
767
243
392
680
17
648
5
465
64
998
828
158
333
858
224
168
30
216
254
148
117
982
129
168
902
32
761
400
322
605
686
931
693
368
645
243
357
100
597
490
176
717
778
962
267
340
708
11
731
188
717
293
365
371
644
373
534
38
852
638
413
952
604
967
824
252
138
815
727
102
488
176
253
910
221
436
826
53
775
227
540
376
1000
238
460
239
851
398
915
576
930
953
170
239
677
762
116
883
621
547
703
799
8
940
900
374
521
913
929
332
563
569
314
489
748
350
103
550
841
428
229
356
364
398
590
109
491
454
853
294
644
884
420
423
428
79
226
281
137
238
283
28
106
613
934
389
579
430
829
163
640
623
518
467
946
90
381
432
685
514
340
582
210
667
435
722
265
773
864
4
592
684
549
749
961
581
621
730
359
443
491
886
148
748
319
838
482
748
759
174
202
182
859
185
682
479
829
640
848
345
227
207
686
111
758
345
78
408
517
858
734
491
990
777
321
58
551
948
634
477
491
506
781
164
868
394
931
246
568
237
120
760
27
169
965
378
986
653
924
54
508
956
903
34
255
694
608
420
657
778
11
805
189
175
706
570
450
130
743
80
103
871
704
384
33
377
435
6
267
481
851
79
300
437
652
366
477
101
633
698
987
24
507
970
853
113
807
111
15
962
474
387
232
622
208
987
84
351
527
84
765
850
724
453
743
593
630
335
587
115
129
383
436
553
894
457
666
302
699
537
248
378
947
205
206
972
790
1000
356
733
316
434
194
486
788
630
409
488
876
324
991
811
126
470
336
113
665
778
39
893
287
332
311
304
611
813
80
727
960
16
869
614
982
25
484
550
790
861
412
104
599
468
550
774
384
590
589
287
119
519
901
561
508
656
292
877
943
571
328
197
647
549
254
122
531
625
702
640
357
763
488
737
205
127
812
896
76
390
57
705
709
614
248
130
329
537
907
464
99
23
692
625
503
35
765
253
758
722
219
18
612
135
320
643
578
616
490
435
724
161
198
500
625
891
934
428
997
314
447
932
821
246
293
856
467
91
537
955
462
679
133
108
46
28
110
931
606
174
200
310
385
721
958
17
641
852
715
407
532
328
981
170
586
446
983
271
570
16
106
459
913
147
932
232
646
60
405
712
957
187
437
658
82
541
901
770
205
713
543
505
477
866
806
860
15
810
957
964
999
551
168
864
570
727
419
598
261
985
176
492
115
664
808
632
490
128
606
650
776
687
111
262
894
353
146
494
520
600
607
161
404
876
590
968
42
878
875
542
226
508
139
819
649
962
513
454
875
654
297
384
419
521
648
182
610
792
102
648
212
507
625
905
457
873
675
353
309
84
485
15
235
356
330
176
747
754
80
720
270
835
734
243
642
284
957
848
716
462
855
501
51
246
366
981
665
626
676
719
183
257
999
324
463
592
934
132
996
257
340
945
917
61
352
999
492
402
718
286
313
854
111
607
253
406
449
87
426
177
555
463
27
407
658
119
937
185
358
729
403
707
664
371
948
779
644
134
891
944
24
582
510
866
806
911
941
546
615
269
340
533
998
515
721
546
358
635
158
825
553
136
681
77
441
15
321
116
805
296
228
155
178
743
669
248
55
28
48
550
837
593
767
915
679
420
875
852
71
179
974
992
597
540
772
57
814
972
4
768
614
11
203
250
740
810
904
291
351
754
470
218
669
71
640
271
769
672
298
81
516
872
703
272
512
292
628
273
655
968
408
122
577
636
911
442
816
229
827
768
17
842
472
120
861
842
523
25
701
295
712
227
71
633
501
928
344
301
239
762
801
159
74
640
308
572
193
232
602
457
548
133
902
23
338
692
207
594
918
84
183
679
717
434
953
425
990
711
487
686
911
696
533
187
608
487
173
718
214
946
184
831
917
955
337
273
279
586
660
245
828
92
462
660
11
153
625
740
124
935
258
663
794
356
312
476
862
413
176
179
317
518
575
683
23
617
333
336
578
268
681
865
566
937
830
855
849
562
473
339
316
786
721
695
660
356
754
788
373
881
94
230
103
528
12
701
945
256
28
494
4
866
850
859
811
501
397
244
766
216
722
240
808
898
766
887
935
114
864
24
43
447
866
516
779
490
501
546
744
954
392
587
457
271
720
386
924
671
94
4
538
968
607
962
292
164
429
634
969
578
522
275
79
390
235
515
745
384
609
712
711
183
173
285
873
482
925
45
501
592
942
590
400
124
788
8
783
806
473
510
575
200
206
124
171
595
628
244
437
444
507
649
868
493
103
606
382
208
537
792
189
167
562
71
510
857
23
609
743
692
208
419
798
157
980
199
933
678
299
218
415
198
269
115
707
462
340
688
706
714
671
124
738
820
939
711
666
866
85
710
450
903
568
990
950
827
724
972
584
367
717
657
707
745
410
803
198
880
175
811
812
922
339
504
317
493
433
800
274
290
929
213
623
552
437
221
883
514
613
813
881
135
200
945
399
301
682
195
26
198
981
665
822
758
562
34
72
908
43
742
559
866
118
461
289
849
225
372
522
416
851
291
310
76
807
338
473
979
120
682
94
216
408
871
158
751
724
388
933
67
919
386
35
342
481
984
913
420
690
119
640
854
652
727
512
40
470
922
902
828
334
927
268
26
841
752
951
883
177
983
677
7
127
606
219
138
44
481
761
873
15
939
888
744
472
994
975
4
388
820
990
117
53
478
374
207
96
354
692
685
99
410
235
809
658
137
596
257
189
64
532
617
136
762
74
321
486
568
964
713
662
649
958
871
920
633
446
267
368
716
136
587
599
108
253
847
692
659
838
445
78
747
220
930
310
867
687
110
327
833
708
552
181
234
792
662
532
555
224
330
437
390
453
517
76
294
900
300
113
126
265
606
322
185
243
273
949
22
681
154
62
630
833
676
762
556
329
638
742
636
895
86
113
212
637
749
823
133
931
899
268
354
566
456
897
658
813
859
689
886
501
485
424
60
47
396
538
971
599
815
195
111
101
979
939
324
153
4
884
175
992
937
983
850
762
441
316
321
558
473
716
650
360
846
296
537
77
804
591
660
417
608
125
922
174
649
139
440
845
794
162
21
183
524
824
895
419
896
47
683
392
536
344
934
768
668
438
84
848
651
849
339
221
623
399
830
642
628
822
372
85
24
774
259
867
90
608
882
122
455
180
351
643
424
837
933
312
294
475
894
923
483
213
219
167
688
813
787
973
277
428
797
180
840
657
633
727
139
172
893
183
711
350
20
417
35
487
812
683
448
121
124
185
16
952
214
465
141
632
540
571
985
430
279
24
728
426
476
79
256
376
534
608
132
902
709
227
605
938
351
953
962
668
949
772
768
340
394
975
367
385
503
23
604
286
539
1
861
477
383
430
363
375
21
319
217
312
253
862
778
758
841
107
752
710
865
263
939
537
700
43
584
912
867
600
148
635
975
140
699
351
138
288
219
126
507
611
910
854
42
508
922
271
231
818
36
129
241
109
539
738
899
595
876
653
967
999
732
751
433
515
838
331
894
220
181
153
672
875
261
524
9
123
696
627
520
474
810
327
118
321
769
551
788
476
486
198
894
342
763
241
229
901
107
304
596
164
204
559
550
559
334
201
870
57
869
127
406
463
574
704
265
404
653
638
659
43
343
75
361
424
388
997
416
677
919
868
658
987
97
289
616
386
373
73
612
924
386
803
179
695
304
393
474
540
915
604
3
1
856
797
816
211
178
393
309
979
867
686
893
294
31
641
117
821
211
302
236
726
683
237
869
380
672
238
121
22
108
134
469
502
946
155
808
583
79
741
249
102
575
92
686
491
290
33
654
784
928
947
741
222
261
641
640
63
527
28
960
944
998
380
71
478
333
765
597
334
599
983
633
155
795
949
424
91
277
11
19
617
768
125
367
554
497
179
432
894
612
978
177
128
191
597
648
235
73
855
25
420
252
650
175
965
755
758
170
272
770
513
275
302
295
440
83
114
714
546
866
164
542
461
693
314
12
37
569
295
342
318
625
454
250
55
431
229
761
8
591
694
427
384
88
922
809
644
328
672
499
787
379
76
23
987
717
593
639
77
694
483
477
998
985
452
445
747
572
916
42
787
135
550
538
137
314
382
1000
560
997
743
269
380
625
780
333
435
544
90
478
617
580
274
255
238
367
835
524
211
399
924
849
639
457
881
33
963
826
371
869
251
681
212
89
555
122
645
36
539
608
901
796
709
942
378
433
673
568
669
447
817
617
979
809
667
98
134
736
1000
604
581
879
435
159
204
740
870
143
795
965
613
785
277
600
452
357
581
537
275
32
171
143
20
353
791
514
893
406
971
870
840
64
169
373
159
136
210
33
42
863
878
438
536
944
56
766
123
223
842
893
646
219
446
453
812
931
458
378
862
722
330
809
294
639
476
233
716
230
453
383
13
757
103
739
983
750
351
421
569
969
627
916
560
217
492
316
421
888
118
732
499
797
733
89
404
618
992
790
813
213
515
620
282
243
512
833
907
713
483
571
844
512
503
643
761
605
443
219
261
246
851
173
216
476
846
657
708
223
571
987
990
501
208
60
479
577
512
348
269
492
167
981
97
965
977
525
4
572
69
887
132
33
834
163
269
620
288
379
748
947
899
790
290
893
695
819
189
2
653
794
19
446
944
306
707
594
591
458
350
272
519
222
672
54
746
878
362
287
694
795
839
131
205
846
179
559
861
386
25
140
655
35
330
437
867
471
673
28
257
71
710
451
321
501
54
909
417
306
505
154
21
120
75
805
233
399
710
281
939
435
959
637
684
20
79
879
435
299
254
714
852
261
638
299
629
813
940
266
735
594
124
198
106
505
598
764
454
448
950
938
379
894
892
62
888
747
574
41
779
392
849
628
57
981
376
572
720
755
677
381
799
650
409
620
482
538
104
903
533
159
640
254
969
264
482
52
166
495
543
602
96
262
145
234
449
276
148
953
739
372
753
869
318
991
928
24
431
997
612
803
42
525
122
776
213
185
219
703
204
291
358
447
332
708
497
686
841
566
702
670
699
353
490
721
272
839
481
842
297
862
475
560
432
279
501
123
945
252
747
221
749
641
522
722
118
451
567
292
872
187
109
352
727
469
1000
580
808
471
206
10
44
562
638
871
243
55
69
471
206
86
444
815
137
494
397
139
956
6
215
220
851
172
799
154
558
268
383
257
396
819
935
898
68
484
157
363
573
797
972
290
367
648
245
842
75
475
188
518
649
820
634
455
844
291
862
113
289
16
176
505
236
317
803
485
255
729
959
181
792
422
130
338
496
807
715
203
665
354
171
601
991
647
737
10
16
338
588
767
370
891
54
35
905
2
99
783
288
111
854
819
508
730
403
898
986
161
378
989
687
768
180
94
698
180
796
379
222
660
265
14
851
425
784
792
263
857
380
518
212
420
800
201
785
568
13
266
422
99
291
379
122
200
330
973
594
929
332
250
851
953
217
235
885
195
419
472
608
417
821
56
238
920
411
17
607
237
213
493
708
120
866
777
934
197
9
36
44
352
248
460
912
291
102
648
467
765
751
291
79
612
826
578
808
109
727
303
592
154
202
372
434
404
951
219
97
848
100
705
642
236
219
204
375
413
455
930
440
883
13
11
306
869
880
506
900
720
221
279
964
768
299
679
502
624
151
10
876
504
468
73
141
326
331
495
766
264
484
77
732
917
825
207
316
458
659
184
590
978
60
425
760
713
360
661
996
19
403
621
349
755
689
214
641
202
967
866
5
774
110
523
863
552
399
784
687
94
387
800
860
104
627
820
303
226
447
774
305
704
803
839
193
651
34
727
23
414
943
336
496
901
263
495
684
729
985
756
949
782
437
567
660
70
273
722
916
806
743
676
493
247
683
158
706
177
696
543
632
859
901
611
471
911
426
640
380
843
575
260
239
918
194
145
215
605
336
401
885
122
730
464
926
476
931
425
89
977
277
973
214
411
942
547
576
920
430
878
712
177
848
827
204
635
158
323
587
449
402
225
679
180
598
161
138
554
569
736
973
326
514
13
97
801
515
855
718
673
495
521
520
601
377
906
154
406
300
942
480
855
818
989
414
730
922
462
957
296
581
584
198
354
264
894
630
747
554
61
149
590
528
640
464
513
74
630
466
890
672
73
307
352
455
500
566
926
575
714
877
730
983
250
841
523
737
883
863
334
869
710
813
41
661
674
25
31
891
842
236
28
258
442
492
740
717
409
941
242
899
164
677
921
151
453
493
345
970
337
487
644
779
832
934
890
52
296
750
433
772
358
183
399
86
112
35
351
812
297
891
628
127
443
296
36
396
242
790
359
567
2
13
637
3
641
854
280
925
529
751
852
852
497
803
809
580
402
319
553
254
4
775
927
47
305
955
662
790
142
190
355
676
570
210
276
796
498
130
665
863
109
449
220
907
842
773
149
168
73
169
504
636
215
680
529
925
621
528
371
240
552
999
846
221
472
787
913
339
119
870
101
354
100
576
457
55
267
600
486
141
744
164
157
636
289
384
288
670
614
164
539
811
389
653
794
383
939
332
918
372
32
327
779
586
756
417
912
706
205
530
417
755
579
196
515
280
349
572
679
257
348
158
417
307
982
246
579
335
297
493
553
88
283
735
814
487
637
310
63
762
169
698
664
591
207
275
135
459
608
304
214
392
471
77
442
91
219
304
228
216
522
410
110
265
400
407
276
22
974
392
450
65
522
532
927
160
901
597
886
688
956
728
97
436
200
129
807
162
945
821
886
372
42
408
285
657
592
68
483
738
282
596
875
103
497
405
977
757
6
846
950
119
791
47
140
569
564
785
280
480
600
527
538
829
786
923
809
632
217
453
532
554
226
900
838
954
472
543
8
574
612
757
79
805
102
736
922
210
891
651
271
544
125
428
988
28
491
690
331
56
482
143
87
807
730
820
236
490
482
172
236
50
487
925
99
212
806
4
202
688
546
592
146
209
98
574
77
809
246
180
545
435
406
656
414
547
349
161
299
824
999
925
746
480
247
866
667
982
326
515
576
161
924
102
799
774
134
94
157
638
302
281
569
300
23
791
669
80
878
13
788
14
944
496
592
871
787
324
272
947
424
350
392
781
687
928
467
293
532
471
821
90
117
233
579
847
847
217
434
763
218
998
431
12
964
541
145
50
955
832
493
386
289
226
912
118
252
941
795
163
166
72
868
581
662
813
683
822
574
313
500
44
488
765
623
860
949
830
691
19
483
521
503
546
866
957
718
826
534
256
160
940
634
926
533
350
972
771
58
661
43
260
908
762
394
739
362
149
803
658
280
560
158
180
825
399
439
175
378
561
933
608
231
417
653
751
957
689
946
514
323
874
442
381
230
685
839
120
445
708
467
488
826
95
255
566
334
656
465
293
355
154
570
971
793
953
703
234
913
425
400
39
174
689
768
732
110
309
788
127
908
565
186
861
455
790
207
963
515
31
657
721
169
26
783
434
807
42
924
559
778
651
369
118
259
934
534
943
47
898
384
494
722
141
30
548
100
911
539
991
964
751
318
332
806
859
861
316
737
143
260
183
757
709
659
735
314
177
727
312
431
780
312
223
730
698
666
953
357
432
37
667
149
322
923
179
383
513
37
546
106
752
858
870
358
420
648
767
538
114
17
137
831
892
409
574
843
49
380
765
576
892
183
713
409
539
949
460
55
198
723
280
325
729
707
962
114
566
336
921
225
206
213
317
530
571
536
315
485
496
344
863
216
498
825
116
212
751
964
732
179
890
2
774
749
873
542
913
555
620
652
918
642
566
973
187
311
599
686
223
278
40
137
470
438
486
106
941
658
370
956
379
725
2
369
508
5
748
983
65
438
730
1000
926
161
99
761
610
495
500
349
824
990
824
517
554
958
724
643
383
237
639
918
330
934
301
716
556
552
754
930
675
213
949
63
250
640
887
55
318
224
78
129
394
726
841
444
483
143
570
951
84
828
641
677
17
233
81
573
209
502
459
215
197
750
717
858
258
47
828
805
503
999
216
607
207
372
875
343
927
362
978
120
688
963
561
982
602
395
574
599
846
684
167
492
807
316
591
31
572
349
525
142
657
467
919
454
29
283
709
632
13
581
854
744
653
322
202
836
432
948
629
320
58
965
750
384
184
792
229
416
501
631
420
335
664
454
605
797
867
228
570
488
728
217
664
93
311
494
744
77
761
841
623
117
18
818
718
877
534
150
618
829
726
487
187
998
140
255
654
831
967
585
833
870
569
230
289
546
175
982
762
210
716
347
634
467
104
134
547
971
875
179
558
129
232
641
364
552
26
167
197
688
58
779
969
789
453
478
132
264
498
454
482
496
509
234
858
431
773
295
252
567
557
455
395
510
495
832
245
927
422
279
161
544
853
976
743
827
864
311
473
115
88
250
299
277
906
168
279
396
679
488
214
621
50
564
997
62
918
942
16
526
689
501
568
990
792
26
672
908
259
422
79
858
362
140
536
566
942
380
587
58
48
274
256
533
963
580
991
564
510
375
141
428
778
859
70
643
42
657
716
322
721
945
56
560
658
321
460
875
887
571
350
670
299
405
966
795
328
785
241
544
827
691
4
851
830
25
751
10
742
911
233
988
862
804
960
280
795
682
542
302
462
80
429
525
918
890
272
889
126
644
582
573
153
479
793
854
12
104
168
605
503
844
179
984
979
311
149
993
880
299
971
860
301
291
647
695
576
317
270
427
69
28
799
824
935
494
640
301
608
672
643
308
153
464
558
310
453
14
393
767
371
199
417
63
675
293
712
25
505
413
297
553
621
688
858
868
468
33
4
65
362
63
810
985
732
926
121
910
404
798
728
192
384
356
44
758
449
794
382
367
118
868
256
582
284
979
393
730
829
565
317
487
69
901
405
351
744
971
317
947
595
233
563
51
254
953
769
210
304
283
886
75
882
399
191
901
122
834
429
186
63
611
864
86
411
888
318
79
650
620
494
317
587
168
39
253
343
884
780
428
200
438
593
737
441
69
117
110
540
985
372
320
615
876
926
513
54
843
875
173
618
118
349
424
137
588
631
7
102
508
296
759
92
787
927
171
984
851
86
422
314
440
232
323
18
625
161
764
984
984
394
573
516
126
624
199
857
704
8
248
378
655
580
711
898
622
544
661
872
452
522
303
866
204
112
544
825
318
252
633
103
467
970
28
164
159
64
371
114
310
138
315
976
883
200
42
711
159
742
445
507
372
789
375
797
255
936
795
793
484
784
423
64
170
523
204
829
285
611
986
184
374
645
880
466
978
545
90
268
948
136
459
456
230
19
552
660
766
428
898
320
856
388
904
366
730
93
51
969
62
857
181
657
890
414
117
244
712
586
358
663
535
575
321
821
325
189
446
993
579
348
491
130
749
128
521
692
831
380
416
235
734
742
200
88
980
450
140
843
849
889
346
318
375
311
573
863
454
441
3
593
928
973
77
203
687
137
848
502
736
541
907
717
672
508
667
900
235
981
669
489
397
875
634
192
987
417
170
873
983
663
405
51
414
824
329
964
289
506
304
874
77
234
12
438
65
893
107
541
321
820
963
915
115
338
214
253
374
458
219
293
163
311
213
520
229
652
638
716
392
420
103
592
891
911
454
103
865
589
714
882
823
964
998
415
267
205
77
188
677
408
968
92
693
484
760
754
627
667
916
326
438
549
466
490
901
360
816
97
978
936
377
876
346
456
886
159
626
545
39
373
89
821
46
383
546
252
804
380
649
22
649
155
96
682
81
42
60
503
395
732
705
875
942
457
861
489
562
749
731
840
833
90
16
246
952
299
27
227
414
427
98
541
199
249
150
616
804
200
330
438
325
741
437
146
740
695
309
766
701
33
390
488
433
987
488
901
792
113
97
392
124
107
761
703
352
770
623
297
625
489
723
731
936
31
596
743
355
200
441
100
902
157
437
575
644
799
818
590
274
610
938
173
322
841
883
872
125
678
159
200
871
345
585
964
370
672
829
607
642
771
926
276
112
881
734
880
929
312
519
870
940
712
771
766
900
536
892
780
813
673
652
975
666
708
132
525
443
151
447
584
3
309
694
155
302
138
428
144
500
578
458
471
661
345
921
715
147
117
369
258
295
372
128
330
637
860
238
655
764
867
121
619
901
958
536
32
395
840
455
577
642
384
273
968
373
565
138
730
895
305
277
214
583
748
874
170
876
519
466
740
96
878
820
208
635
518
951
240
442
941
296
624
301
963
28
695
68
930
163
769
916
640
428
870
624
813
814
985
142
177
364
856
969
894
9
101
360
93
248
10
49
744
981
979
918
964
132
917
33
119
544
359
564
766
213
242
352
552
147
485
327
693
988
562
547
532
89
247
357
998
893
572
55
464
343
843
508
665
493
249
337
808
704
175
675
956
572
867
991
109
217
492
155
131
701
945
742
808
85
1
551
908
107
517
456
33
523
442
997
442
931
323
575
789
262
860
710
890
219
790
605
223
653
75
147
855
201
913
576
883
597
567
286
265
714
402
585
163
729
785
803
480
845
709
851
343
593
106
149
684
116
793
902
906
741
939
825
867
808
739
798
64
985
703
344
931
242
605
535
657
235
680
668
744
113
83
23
864
652
975
141
171
193
875
281
387
57
60
174
397
3
857
746
47
814
668
211
89
271
430
840
961
639
997
743
192
263
646
190
726
39
474
395
423
326
987
141
288
346
576
346
747
213
902
464
419
547
427
605
397
29
468
400
984
367
176
920
241
881
792
430
413
316
386
327
536
561
12
425
65
656
924
618
377
847
8
62
400
488
96
242
393
244
201
654
149
429
995
417
482
269
30
790
883
575
336
458
654
583
993
429
687
710
227
603
253
580
350
335
844
970
643
856
148
242
857
14
706
423
581
606
650
361
149
528
194
254
124
54
248
443
621
848
576
543
929
707
431
893
936
624
481
805
843
473
167
293
520
536
294
789
671
103
833
880
640
598
376
208
298
28
647
532
960
80
788
378
688
837
899
856
657
932
422
969
472
927
545
213
481
848
744
317
126
94
945
754
362
390
555
22
976
81
813
802
432
780
448
759
511
356
673
166
572
285
898
547
761
634
369
210
851
331
147
898
697
923
435
770
466
725
319
579
925
99
371
243
50
657
436
926
142
296
132
433
462
354
262
927
94
612
373
985
413
537
156
531
29
923
260
492
557
84
346
883
886
799
888
603
894
530
319
451
699
812
610
714
615
308
235
242
961
750
837
79
729
875
549
577
934
500
95
420
119
107
274
118
146
621
398
366
848
627
540
111
561
893
239
302
875
939
401
60
154
330
745
472
500
531
40
267
895
464
799
399
180
326
822
971
368
881
184
970
578
138
848
26
509
317
38
761
937
20
958
328
222
796
186
431
165
651
336
450
837
614
137
281
235
159
163
198
660
159
807
287
765
18
984
31
111
862
256
210
885
920
711
564
169
776
9
612
765
761
446
606
130
570
739
839
409
145
548
441
906
947
378
340
585
36
618
311
359
762
959
865
992
470
322
301
401
352
725
402
46
447
244
95
861
857
317
925
883
433
174
296
340
547
94
284
443
79
528
278
560
415
874
817
761
76
805
778
933
579
658
524
817
284
275
665
340
238
135
881
556
527
310
628
367
212
11
622
951
701
42
705
471
343
477
74
220
84
276
880
833
260
354
883
553
9
818
206
868
294
720
203
969
270
665
144
643
546
76
685
163
928
717
99
686
397
340
847
465
394
946
336
925
961
229
666
256
949
193
753
743
261
831
449
472
84
15
204
399
147
402
350
55
309
274
338
277
219
712
84
454
324
371
156
739
284
477
687
556
699
319
744
532
112
673
402
643
462
71
891
14
501
798
21
254
217
786
547
679
944
370
254
53
723
949
327
712
389
217
989
76
48
530
524
573
888
363
481
958
701
604
330
844
133
548
843
24
399
109
227
829
165
702
391
327
340
664
752
636
761
904
693
27
154
626
98
746
282
648
401
708
902
813
254
294
996
439
185
494
781
569
640
552
136
52
369
84
431
89
446
360
233
976
95
76
973
191
138
484
475
866
85
170
196
952
819
144
120
37
357
140
520
894
431
201
232
309
450
674
629
626
977
739
257
760
13
444
935
145
236
31
213
169
826
22
246
200
676
124
508
218
588
519
302
401
517
543
657
751
61
26
58
9
157
836
423
626
391
265
872
560
413
960
147
980
695
20
976
780
286
740
280
947
246
246
895
430
209
897
400
131
834
947
693
47
986
370
230
389
142
195
192
716
867
935
409
718
207
907
566
336
485
351
68
302
314
229
956
28
597
523
448
20
892
661
978
623
844
416
105
963
249
266
307
410
985
720
451
756
227
589
692
554
306
489
664
758
114
151
73
883
175
258
238
400
385
610
690
943
933
360
678
262
115
991
313
517
592
447
123
643
135
553
9
32
45
439
914
709
277
196
77
511
727
404
368
501
274
492
51
27
968
93
297
358
158
724
910
802
462
123
12
564
235
532
897
401
575
62
861
254
973
37
586
687
453
867
556
894
372
556
95
463
125
463
802
882
664
264
585
973
65
399
18
61
418
428
447
702
917
869
147
217
378
66
810
133
349
543
845
832
624
149
280
399
226
977
544
673
882
713
36
998
579
577
192
997
69
479
701
5
57
351
652
433
401
869
604
451
837
956
63
841
648
506
353
793
187
752
657
690
376
580
849
658
143
874
817
768
235
680
142
280
13
549
392
270
658
968
767
306
647
148
532
558
520
797
466
910
705
711
576
158
619
140
424
364
360
940
742
777
29
449
430
520
150
882
664
411
694
795
596
865
944
812
25
826
809
419
539
66
207
37
811
974
846
40
154
207
51
612
965
142
296
546
395
117
752
220
445
882
458
923
685
476
709
686
971
32
861
540
870
629
37
869
964
362
151
154
849
278
265
933
463
665
523
248
275
476
836
213
32
328
27
554
980
607
371
183
918
697
343
894
9
263
901
259
1
772
836
691
416
218
529
413
281
49
997
759
206
895
219
860
940
546
576
243
78
28
682
287
239
322
18
826
862
428
559
365
775
39
8
550
782
34
355
541
859
363
221
884
958
681
838
343
49
256
607
886
783
248
852
685
88
472
793
583
62
124
767
906
790
781
430
928
73
157
996
549
618
755
572
949
929
527
315
94
996
138
418
944
901
197
926
155
612
121
994
859
581
890
467
860
229
54
617
176
42
751
445
422
793
422
214
966
381
131
778
123
826
104
830
934
298
162
414
206
404
242
910
590
593
52
236
414
221
258
189
903
742
271
699
166
516
824
257
56
930
68
922
596
881
827
158
150
198
971
173
966
216
648
577
998
591
215
971
167
358
288
463
338
456
277
258
313
147
149
170
114
285
915
333
655
950
522
438
653
736
426
533
317
915
82
812
883
748
19
837
577
474
935
309
931
874
487
878
691
860
31
440
732
239
618
52
498
662
975
896
497
762
994
681
283
689
559
501
169
536
125
454
660
657
545
243
211
516
95
583
434
473
512
486
364
907
121
391
701
134
815
675
215
888
732
289
672
508
955
135
697
584
474
346
947
525
917
779
894
412
322
914
242
535
263
819
749
213
230
5
796
864
49
809
544
793
479
393
958
831
850
597
268
798
772
627
676
743
460
24
238
29
233
434
897
654
47
451
576
633
743
206
92
879
838
443
413
776
288
525
421
562
618
195
940
722
247
947
248
798
593
532
651
446
789
488
26
84
432
560
405
184
815
530
756
128
525
311
173
552
110
91
535
263
766
953
569
152
640
684
924
12
401
397
543
781
164
202
111
557
762
397
836
659
586
556
131
128
913
458
73
312
730
2
609
606
527
141
604
5
457
385
777
823
539
606
439
869
301
741
755
363
372
451
928
122
49
973
319
863
794
210
1
16
950
553
665
85
702
68
129
424
460
460
891
295
381
635
332
187
719
813
190
690
49
857
867
643
174
897
1000
923
728
405
456
954
24
553
588
974
747
112
163
153
418
124
811
895
428
298
287
34
580
424
44
198
753
59
886
289
280
440
510
905
69
860
784
538
345
708
504
531
116
11
195
143
105
587
247
511
958
848
303
952
989
884
354
859
583
721
433
363
656
524
166
58
246
99
662
362
375
244
423
461
854
394
986
422
545
502
16
725
933
322
414
410
562
59
824
39
986
887
591
893
434
951
841
175
289
322
823
498
833
795
123
622
432
573
609
203
507
651
253
329
148
142
50
724
231
880
342
826
232
393
747
374
710
720
789
742
611
635
44
53
129
526
292
982
845
574
743
256
258
891
850
100
636
963
640
238
305
94
741
620
125
529
507
750
918
595
720
331
30
517
370
966
48
517
913
828
945
427
217
515
555
345
166
819
324
771
471
751
777
271
814
961
966
947
872
663
451
919
125
247
54
550
605
61
684
392
901
224
41
699
806
947
894
846
970
540
932
234
792
189
890
57
571
613
776
827
652
933
532
688
854
426
406
385
36
352
628
199
993
720
730
283
272
664
6
628
646
112
128
296
172
538
939
683
759
900
757
283
135
305
338
859
937
573
802
973
414
589
396
537
883
306
996
432
660
288
606
269
640
950
934
33
107
17
335
716
619
284
7
28
9
433
371
928
661
565
980
36
193
66
120
940
614
627
545
44
842
566
388
882
162
53
376
742
876
505
914
64
901
202
489
283
528
122
79
739
896
95
978
789
3
667
480
507
210
434
401
204
309
233
275
560
135
279
386
299
644
218
495
232
127
149
245
938
931
815
731
554
670
563
664
915
386
172
887
776
568
295
741
963
218
127
911
66
397
860
960
752
826
638
691
829
103
8
864
966
114
334
537
373
991
228
512
788
778
808
922
862
594
554
992
377
681
551
414
776
150
178
559
169
685
685
970
317
682
633
194
80
545
871
20
497
929
597
633
948
736
47
15
831
592
539
166
796
314
892
368
872
658
779
761
743
194
150
960
24
777
689
310
648
437
222
638
350
934
76
49
825
426
665
383
332
898
16
455
396
31
481
74
786
201
652
167
132
142
364
13
391
623
724
730
851
163
282
657
542
414
863
225
708
347
35
216
475
772
902
70
965
83
709
44
886
276
740
551
65
488
135
12
481
288
511
881
95
926
778
274
189
564
93
848
975
319
687
106
966
537
221
333
944
356
390
750
427
40
720
266
186
967
912
434
735
442
627
814
675
680
267
986
480
434
236
852
563
710
103
738
481
958
312
16
707
913
380
622
736
18
14
899
156
953
225
653
973
361
287
171
681
299
366
214
493
259
738
697
692
921
774
819
298
889
285
932
103
791
432
290
661
51
69
167
997
555
351
507
651
197
425
398
164
991
246
176
266
34
923
900
839
114
498
269
178
158
734
780
236
41
319
88
257
492
869
80
696
983
248
104
367
487
33
215
542
974
373
6
110
336
131
811
960
195
935
647
494
701
690
228
506
23
196
797
733
664
711
335
51
149
726
879
615
914
734
328
268
388
492
129
177
405
120
642
969
47
405
845
612
955
832
261
893
954
211
641
641
551
225
978
769
526
880
909
789
327
626
398
735
471
872
884
282
462
708
745
455
8
943
14
518
492
943
770
495
695
372
538
322
757
641
300
814
251
760
469
438
994
356
253
440
972
789
391
964
290
669
141
659
606
600
754
700
908
620
389
310
799
662
593
596
701
313
996
10
486
304
843
771
123
459
358
393
823
272
678
809
56
879
298
696
538
992
548
279
960
231
591
277
808
401
850
704
67
488
563
885
22
510
383
415
619
939
529
781
56
87
50
12
388
712
157
33
902
108
445
385
957
122
27
559
788
862
282
502
506
328
958
771
136
866
818
414
101
99
898
879
976
979
714
200
700
685
415
206
680
354
994
792
392
78
113
81
134
133
45
902
588
179
499
155
696
26
815
488
160
630
129
208
573
161
648
494
763
351
51
799
467
860
431
794
834
27
877
314
604
235
972
566
998
90
19
272
519
734
786
538
877
940
885
949
199
50
725
831
539
450
101
665
453
32
112
336
64
2
48
314
619
483
319
846
987
587
269
961
978
4
952
399
582
736
544
601
481
262
85
529
248
300
694
399
657
349
198
393
465
345
394
3
805
102
764
980
76
692
570
757
856
546
649
845
866
861
163
898
493
847
757
103
695
443
322
66
404
420
590
604
655
168
314
714
787
89
654
529
2
194
719
245
456
443
888
847
849
375
695
964
172
780
529
336
851
544
373
169
62
282
111
145
379
62
681
966
235
330
501
76
921
166
141
653
953
77
164
71
685
885
454
727
990
698
72
595
668
531
910
875
18
957
945
865
645
49
930
511
152
964
729
162
854
743
292
707
5
304
519
643
333
135
833
581
872
894
315
394
164
995
696
491
913
245
317
664
112
798
403
612
427
995
672
483
395
133
312
724
606
885
848
143
561
831
267
293
366
551
59
221
741
834
475
183
121
784
432
120
728
78
934
583
619
158
822
331
651
897
932
964
194
161
459
869
218
730
451
169
57
234
857
594
767
148
500
954
483
349
656
373
616
466
693
574
10
33
323
284
451
461
620
228
8
977
885
335
737
970
804
463
243
629
133
389
392
385
307
865
287
401
952
253
214
306
278
608
892
409
719
152
792
893
991
704
692
863
941
32
907
656
187
39
849
532
554
398
634
736
753
509
499
895
565
659
661
920
53
866
115
898
955
168
539
920
458
72
154
458
35
426
878
687
866
279
598
88
651
154
696
783
283
735
245
323
954
193
436
60
742
223
880
802
620
430
378
199
135
845
673
186
726
219
429
847
732
249
429
281
694
993
543
389
467
622
543
24
982
33
246
620
267
37
782
222
442
594
12
840
989
972
251
188
535
853
478
131
760
105
168
673
811
376
731
850
773
703
285
733
344
68
160
595
839
181
105
426
42
814
615
173
248
686
225
491
5
259
845
333
733
760
442
392
361
451
476
286
598
435
464
379
257
278
3
284
301
332
365
464
926
938
530
769
48
604
120
442
9
871
264
875
202
790
855
373
558
875
986
290
546
928
663
143
390
361
986
754
716
506
106
28
732
949
220
713
342
72
754
380
312
872
651
893
704
596
400
846
341
880
30
817
956
916
780
755
54
614
602
544
213
844
940
571
730
657
469
123
50
766
601
565
375
707
607
568
228
819
134
78
496
589
767
340
680
981
11
48
631
65
756
623
69
650
846
670
566
641
830
920
462
540
391
353
423
830
190
713
929
995
93
358
30
585
821
234
111
25
84
759
261
850
160
603
59
673
710
636
261
442
327
849
894
528
968
626
747
716
922
599
97
473
461
238
790
728
604
431
463
995
738
583
778
844
963
188
41
647
120
386
459
5
406
750
590
485
397
463
268
111
55
44
369
569
992
25
338
223
893
309
297
859
454
468
891
541
645
892
799
77
410
549
920
373
130
77
874
393
323
74
344
540
80
743
198
984
675
514
72
934
655
842
301
824
439
177
625
183
153
989
133
273
957
837
271
626
638
672
555
307
573
972
834
57
493
855
567
460
656
986
597
957
121
992
318
816
856
80
996
143
284
726
201
637
718
656
2
77
837
779
579
453
14
400
399
259
809
828
957
692
406
438
349
432
113
357
626
199
304
212
954
550
333
778
109
200
31
970
714
713
356
322
935
576
661
9
72
530
818
491
558
493
139
79
465
614
618
66
460
749
551
573
564
172
968
958
751
407
654
416
611
886
746
421
805
542
31
786
59
553
105
382
742
200
482
67
908
190
613
921
800
883
517
679
440
546
379
175
902
152
64
669
254
256
930
164
969
181
754
226
803
64
809
330
772
337
394
498
836
843
142
800
390
123
502
364
432
357
658
640
557
69
994
56
556
988
904
626
457
394
421
764
295
856
636
294
771
528
336
643
225
74
639
296
23
829
669
833
559
68
441
326
521
62
234
418
24
185
683
142
455
491
701
451
627
30
123
438
939
657
685
443
741
266
504
613
66
168
779
961
192
800
793
675
254
95
669
227
265
588
509
824
456
801
688
877
809
509
148
471
16
277
409
244
865
5
929
716
239
337
163
848
492
461
347
555
957
228
580
951
725
519
292
335
665
509
514
350
825
784
697
224
1
274
984
786
260
642
971
722
643
39
966
619
93
128
693
473
915
900
179
663
691
65
318
910
649
766
203
325
940
923
872
490
112
776
561
444
396
115
880
547
39
206
618
477
35
675
13
24
88
469
410
912
534
529
195
621
246
29
774
77
266
826
157
100
10
317
386
718
424
15
672
803
378
971
569
2
951
653
970
610
951
996
990
832
211
121
54
903
711
664
606
631
566
728
929
261
260
245
472
969
291
903
957
940
574
895
274
706
500
421
846
388
586
282
704
511
9
895
1000
323
127
792
35
935
317
958
221
134
44
384
511
412
122
877
9
646
538
435
419
832
53
526
930
485
22
153
949
599
541
946
810
599
52
391
218
292
17
936
737
674
135
947
52
352
834
390
97
488
454
676
404
410
625
330
153
451
825
998
526
178
998
854
888
872
427
642
235
31
746
438
111
707
104
695
910
675
10
318
58
811
306
295
78
551
64
893
981
971
941
553
686
875
639
370
459
228
725
528
444
438
975
92
420
265
793
348
846
587
26
277
119
883
658
792
716
9
481
104
546
822
785
938
423
223
543
365
23
463
358
684
95
931
627
138
951
170
26
248
474
606
414
189
977
286
684
962
251
973
937
55
40
78
582
944
19
279
607
18
55
111
329
492
178
486
384
432
209
865
577
269
440
793
494
102
123
570
441
614
759
126
375
677
348
572
958
568
836
487
788
260
954
709
135
436
535
316
250
699
182
499
386
978
835
252
238
254
415
141
404
553
185
943
810
618
938
603
783
800
363
791
604
469
244
318
921
694
212
796
357
40
852
259
22
46
868
861
396
394
904
409
239
795
331
242
758
370
999
891
258
659
506
3
881
405
23
296
881
991
71
640
26
686
961
954
404
910
780
266
868
346
912
184
832
46
80
991
923
654
826
790
257
477
136
412
749
411
667
318
916
696
641
330
78
4
19
844
761
684
18
116
325
830
354
322
573
425
885
353
132
46
462
742
920
438
879
651
888
850
775
644
531
169
227
788
392
749
571
731
853
319
650
559
82
525
314
619
874
437
493
993
517
858
582
986
493
364
164
813
27
799
370
642
996
365
267
306
713
572
709
282
434
15
38
972
219
392
869
957
959
194
934
625
953
267
633
519
416
750
513
813
691
990
355
558
742
675
938
725
716
773
829
621
966
882
751
960
953
234
169
702
882
895
746
819
742
698
218
297
668
48
87
1
196
6
206
537
17
32
12
856
312
307
654
157
590
852
741
588
263
522
756
344
813
541
459
50
544
450
740
702
353
208
482
30
898
720
926
890
794
254
960
161
208
39
486
668
338
838
756
872
758
455
143
397
562
918
329
999
565
579
285
242
546
461
767
966
692
987
244
620
915
647
315
679
718
247
728
634
599
147
14
522
800
281
638
544
358
813
314
106
992
25
758
515
382
356
786
657
752
591
65
189
503
850
272
202
822
379
640
821
836
141
116
926
880
863
420
31
878
492
311
371
674
994
278
413
393
44
693
343
538
429
173
538
611
935
547
701
474
56
354
112
552
147
222
393
234
500
862
314
526
422
632
407
61
588
808
582
105
818
754
523
32
965
176
361
123
757
485
6
164
330
138
592
504
620
464
639
720
988
110
953
959
244
742
741
386
682
46
128
874
898
387
68
247
910
711
621
916
552
411
730
725
185
906
880
171
550
617
530
936
943
903
758
869
1000
233
365
99
59
565
580
981
463
455
584
962
174
892
326
252
782
246
444
397
294
983
713
469
130
19
69
597
365
654
186
8
601
62
540
553
785
196
90
968
943
811
30
730
54
10
541
442
241
351
110
131
25
117
777
716
660
739
635
153
458
772
985
466
557
28
844
938
841
668
899
233
551
96
579
117
676
484
670
740
396
647
751
151
692
742
793
848
714
997
474
661
694
236
89
203
944
506
479
465
3
498
39
868
73
774
732
204
689
61
966
504
991
959
381
764
64
489
846
887
547
829
435
911
134
422
765
823
634
427
816
804
971
123
297
751
899
436
687
330
207
267
308
594
893
630
183
422
118
951
971
654
757
12
964
794
994
179
8
607
764
511
204
763
749
293
416
888
313
336
946
93
1
103
217
28
190
377
933
25
45
694
987
736
197
229
339
924
460
153
185
787
462
745
16
226
278
707
557
3
29
190
185
596
942
3
132
885
544
393
678
487
503
520
577
701
139
488
161
516
761
362
934
76
821
119
955
338
310
900
9
375
975
216
366
941
692
27
925
457
783
709
662
541
122
982
621
567
677
793
94
499
480
21
306
445
120
606
602
937
543
381
141
936
330
432
102
980
650
313
674
654
756
796
505
803
261
143
782
513
396
60
854
896
125
618
161
157
299
391
220
241
998
21
618
606
813
197
269
311
137
781
685
657
426
424
628
77
12
590
337
848
281
290
445
442
946
240
817
37
685
354
806
782
650
689
850
887
214
7
875
524
848
78
759
819
225
768
927
918
453
698
260
226
875
984
654
455
2
146
940
6
961
803
392
591
309
145
707
702
183
535
170
698
537
781
717
823
647
763
708
439
157
143
557
113
695
813
785
963
479
594
695
856
394
453
597
628
746
169
474
487
267
931
9
151
962
847
163
80
98
713
853
374
941
662
843
500
888
539
652
72
256
914
137
283
305
660
427
476
78
959
60
531
194
361
474
432
78
313
516
387
996
144
257
382
876
66
185
871
148
182
816
588
723
836
858
159
797
900
331
265
394
758
456
568
411
803
728
572
478
245
267
826
120
915
496
615
541
507
175
420
872
439
75
891
850
64
886
67
724
501
497
864
637
751
442
615
868
90
138
582
87
941
513
921
207
570
760
517
525
986
268
511
572
354
203
56
502
101
824
72
917
625
409
313
733
197
544
66
57
207
634
195
101
378
715
39
800
948
27
894
185
116
368
404
540
235
940
227
7
324
251
756
658
501
647
507
970
818
246
33
296
829
326
868
186
913
729
46
349
35
490
215
650
139
652
208
754
826
231
235
975
310
364
493
402
902
936
132
631
438
445
933
265
120
365
26
912
236
70
206
560
76
235
177
74
183
662
110
43
722
715
473
362
408
875
978
752
882
454
848
869
870
160
334
792
777
61
561
451
566
434
339
989
928
166
513
145
778
633
830
496
42
462
19
792
572
159
4
683
752
375
725
842
52
488
40
893
320
245
579
520
105
469
219
896
667
182
51
834
620
79
344
123
346
969
6
121
427
644
494
13
317
680
927
90
438
815
437
51
639
886
396
568
735
797
235
340
444
604
24
406
578
622
844
768
803
390
244
254
598
461
773
129
352
202
645
166
633
272
81
761
788
950
784
225
970
282
285
530
592
855
630
671
965
78
960
268
610
34
93
216
289
336
104
963
338
932
286
512
282
445
541
306
27
519
470
988
157
551
937
423
984
381
840
491
43
791
222
868
666
97
584
464
102
741
461
209
439
565
902
597
205
330
485
803
118
154
886
168
922
765
829
572
636
830
459
533
790
214
775
874
481
657
795
461
114
283
558
801
739
311
879
289
791
544
28
482
867
509
157
82
877
640
322
224
566
482
437
274
911
740
347
575
356
910
466
487
206
353
129
638
717
939
868
489
628
780
317
226
920
194
359
492
564
718
404
670
902
922
425
259
101
791
466
394
794
660
878
711
634
23
456
554
985
79
972
9
397
519
373
354
807
891
7
301
657
884
845
844
232
966
587
601
559
145
921
306
172
58
971
505
853
186
145
544
263
780
183
705
5
983
186
661
232
718
809
494
416
142
596
170
218
842
658
740
750
522
483
498
660
593
716
14
599
959
157
236
618
305
58
851
975
348
48
702
622
844
657
330
380
629
447
662
448
613
257
446
416
417
868
276
390
328
741
972
206
321
87
616
936
187
663
776
86
200
153
327
919
349
879
784
323
893
929
271
543
857
442
74
840
183
954
230
874
392
198
770
187
14
688
1
662
528
754
738
255
239
429
469
621
346
734
243
454
406
463
487
516
588
521
69
359
360
245
646
672
719
888
773
57
687
654
264
777
552
207
57
679
246
634
179
83
337
158
442
863
340
771
183
375
442
116
721
128
267
589
164
315
35
634
888
408
289
645
305
30
408
712
495
222
282
699
915
52
832
764
662
224
586
523
717
980
93
464
171
129
825
142
689
470
100
898
379
235
718
567
777
421
220
699
885
51
150
311
72
470
214
86
170
747
22
243
280
153
938
985
663
437
646
587
556
361
197
660
938
511
715
102
57
931
389
527
9
526
105
761
776
509
849
78
911
375
37
463
493
29
22
87
50
730
365
595
937
436
868
536
1
11
9
482
474
503
145
918
731
337
807
31
911
874
455
859
453
234
300
123
258
668
211
226
553
56
222
544
506
287
908
149
313
389
714
519
777
275
348
640
376
890
534
138
416
339
712
714
175
336
781
229
856
906
623
215
760
841
896
486
346
822
601
755
749
502
973
887
865
61
543
443
360
947
637
720
811
546
129
337
714
528
20
752
294
466
302
788
881
153
587
358
113
679
210
112
380
986
853
645
754
80
257
244
69
511
249
882
990
47
159
329
653
691
649
785
905
312
148
404
261
216
349
454
445
895
716
602
790
81
495
18
806
943
553
559
987
968
241
284
252
598
560
949
467
191
163
942
196
256
89
309
122
173
676
135
627
831
809
605
641
704
502
425
199
878
835
192
83
470
435
481
591
703
12
103
715
581
938
17
949
815
512
844
581
96
329
799
497
335
125
121
498
780
591
758
653
215
891
165
431
577
56
517
233
408
979
600
478
548
504
882
566
316
939
10
896
252
425
96
611
161
736
639
886
809
485
909
403
119
206
904
99
139
444
763
417
347
827
644
59
115
65
642
669
255
951
270
973
613
768
390
652
644
890
263
616
698
62
548
422
567
505
677
272
440
11
9
435
31
185
580
919
91
268
41
951
899
369
612
123
620
429
481
92
611
1
82
348
835
744
153
894
583
558
271
637
582
449
804
917
397
557
895
871
770
227
110
270
147
676
862
65
195
583
567
105
555
884
791
410
409
151
289
941
718
232
936
9
124
187
48
369
600
194
462
523
885
788
78
1
636
697
236
181
6
593
459
724
54
249
567
865
993
990
132
592
781
793
562
214
969
100
833
955
56
201
41
971
804
55
516
637
95
527
158
22
975
336
52
254
436
438
186
827
364
202
252
10
822
457
117
215
501
468
531
537
737
905
19
742
980
157
748
629
951
703
311
61
45
793
33
935
702
417
399
30
578
359
639
965
363
190
331
497
974
181
138
961
714
466
415
982
655
271
501
494
189
635
955
699
193
882
854
852
694
9
552
646
300
310
982
557
877
765
631
693
152
201
866
589
954
747
121
903
808
889
807
159
457
281
480
522
688
533
943
93
512
391
460
350
372
72
196
188
524
57
323
464
190
265
977
91
360
421
404
475
354
343
161
560
420
74
219
801
608
32
173
166
186
826
526
641
645
983
205
790
128
600
31
632
779
849
881
476
65
341
648
366
598
571
918
490
369
98
506
250
601
596
576
655
592
660
116
405
51
89
962
294
411
386
378
556
527
372
475
381
981
151
355
134
929
142
952
702
78
518
988
32
899
209
309
133
622
552
180
734
927
796
735
358
474
919
923
764
604
653
731
607
588
154
391
674
776
523
557
250
908
251
180
12
578
705
872
325
605
974
123
997
593
763
632
336
528
515
343
835
624
624
540
905
978
420
481
906
808
600
599
96
165
898
280
262
74
100
569
516
972
939
930
151
176
47
379
506
877
853
868
522
783
282
801
9
152
156
961
717
377
451
922
950
707
919
225
814
944
176
228
214
178
1000
533
313
685
501
350
540
145
780
970
139
250
901
763
927
562
318
769
159
229
363
998
377
798
59
1
672
877
314
167
60
872
482
439
578
335
415
844
230
764
357
291
190
804
490
614
476
905
476
697
885
445
106
835
141
217
25
203
56
961
577
406
992
310
978
599
81
124
417
612
461
699
170
830
244
718
499
325
65
167
927
885
843
646
449
125
804
615
413
846
918
192
41
138
650
30
80
530
319
660
614
641
434
436
871
382
68
900
778
738
733
919
59
569
221
443
938
652
574
116
886
422
688
237
382
440
44
771
377
686
719
231
989
175
141
207
988
216
10
282
785
908
438
855
968
78
638
134
906
943
407
182
599
212
285
448
706
241
462
636
688
84
452
133
48
997
86
475
972
12
621
453
44
692
589
595
319
83
583
659
754
169
351
712
875
842
367
127
631
538
631
517
553
171
501
249
715
958
264
665
503
47
545
551
853
593
832
721
464
91
115
795
464
304
148
402
136
98
841
32
624
863
127
760
974
951
982
865
475
754
376
146
36
628
640
399
241
849
90
73
801
194
798
611
374
524
83
350
75
980
614
146
581
995
40
89
401
353
706
756
771
954
312
462
609
777
362
892
179
774
846
298
394
64
895
166
195
861
79
914
84
15
598
686
660
930
882
769
976
856
2
502
651
280
869
810
889
167
394
636
35
349
680
635
832
204
815
456
285
107
50
818
933
816
968
369
364
93
747
26
17
360
778
68
663
133
724
778
478
303
528
834
282
61
57
967
347
441
798
622
167
970
495
508
695
892
664
921
879
808
726
722
761
305
846
630
999
374
663
322
464
960
791
427
458
998
357
110
179
675
866
392
301
469
351
756
920
705
145
843
647
11
565
265
350
51
482
646
890
350
49
998
222
867
827
479
375
185
171
360
184
876
6
787
102
597
89
523
70
981
399
420
210
215
579
786
74
490
247
185
255
173
547
444
462
639
529
813
570
179
826
286
706
331
620
68
215
220
65
59
185
273
192
988
284
729
809
551
858
926
56
501
592
250
102
113
541
964
914
904
23
907
182
770
687
140
214
937
31
228
114
262
819
764
576
442
97
121
437
636
2
195
492
857
130
57
155
250
2
39
258
12
108
757
658
309
31
965
340
988
461
943
404
285
211
332
644
5
971
936
446
841
169
34
375
603
215
172
123
128
387
250
471
572
802
921
526
552
221
26
791
405
951
769
533
390
715
858
533
234
156
661
529
864
626
706
579
496
964
554
121
528
281
110
731
829
146
984
443
96
179
347
39
917
762
96
874
59
474
784
680
286
910
937
253
714
732
872
99
283
159
63
933
470
617
445
362
731
950
764
240
533
387
257
932
992
481
456
179
345
348
924
329
431
834
33
470
384
678
712
371
519
386
249
239
192
228
822
964
62
753
407
952
737
242
130
634
291
795
921
424
482
94
525
282
814
455
555
975
771
475
298
836
646
439
375
87
389
648
242
792
829
29
720
114
416
680
390
817
368
516
761
910
742
787
571
905
467
60
414
422
841
197
216
759
316
962
692
616
685
164
68
389
906
646
772
288
901
32
752
106
619
842
346
609
538
498
351
385
574
776
43
480
49
464
435
294
969
343
976
33
371
116
213
462
914
575
726
854
191
144
724
768
483
888
299
766
782
227
261
233
979
907
858
248
11
186
436
808
655
861
297
831
384
452
573
15
363
847
935
44
246
739
350
656
890
448
898
743
495
72
869
40
956
512
983
913
420
553
577
439
113
83
56
269
539
528
713
725
40
760
279
230
534
31
208
401
967
19
731
123
656
658
220
480
214
244
207
666
215
270
719
923
92
505
256
89
11
161
799
578
646
340
761
459
821
589
659
856
981
74
601
56
316
815
400
567
164
428
202
857
2
48
96
651
928
453
34
495
63
926
788
742
680
46
343
239
219
452
341
786
545
578
675
854
951
507
340
159
433
396
993
411
720
346
438
998
371
225
440
376
33
714
854
703
583
728
38
576
475
494
921
812
63
760
890
849
66
3
882
711
622
71
669
485
563
356
345
879
658
489
462
776
563
533
81
639
123
839
253
258
521
38
86
603
435
135
606
480
57
307
85
285
322
797
351
384
147
246
906
577
839
923
308
622
76
554
393
56
30
888
377
395
262
718
794
317
4
774
511
652
313
837
784
798
377
426
406
718
929
647
571
800
350
120
932
692
516
418
740
663
888
150
623
201
625
595
769
297
759
823
771
329
575
346
401
535
394
646
917
815
877
392
276
8
842
722
813
847
323
788
530
504
270
626
121
32
849
523
252
7
781
275
433
381
540
104
4
894
509
571
394
381
388
507
814
973
254
827
983
496
666
148
319
338
126
247
254
674
30
760
992
233
947
989
84
690
720
322
619
401
397
567
743
414
458
448
454
601
139
625
307
327
925
856
741
267
422
336
252
875
918
833
499
518
880
962
749
491
546
831
783
958
535
339
478
361
98
594
818
996
239
300
8
273
424
445
692
620
27
312
34
135
956
654
535
857
146
850
45
975
728
7
363
350
718
262
194
531
9
981
1000
780
307
171
448
744
408
177
769
79
850
654
295
738
578
885
867
641
707
736
585
134
858
945
605
1000
817
966
274
758
493
297
936
661
189
92
156
93
280
842
951
58
228
101
852
44
750
546
261
847
622
153
634
866
266
894
454
975
795
168
862
310
629
115
33
245
144
92
106
344
76
812
534
339
564
117
228
20
767
889
730
482
993
354
6
317
131
924
106
237
967
753
75
50
688
389
35
112
419
277
244
167
204
341
318
944
215
595
499
27
293
502
28
272
171
830
225
482
832
861
820
154
516
112
469
847
803
188
145
125
77
968
270
96
419
117
38
272
630
816
382
859
660
682
404
612
199
86
923
55
559
457
980
249
253
720
757
239
887
687
403
3
71
104
661
8
58
65
51
473
736
659
576
26
406
44
590
749
520
653
493
526
167
822
399
208
631
972
772
343
805
407
299
134
569
882
954
843
520
399
269
83
577
55
354
291
74
387
57
230
922
369
996
529
282
98
885
135
7
264
685
16
789
703
656
648
530
656
272
581
998
921
346
899
200
698
401
457
254
807
505
594
740
891
312
444
658
386
45
54
155
328
471
266
108
505
740
728
526
81
102
462
459
574
109
114
798
3
909
403
877
64
614
314
304
468
544
243
785
923
350
670
28
813
622
912
991
306
644
183
823
507
326
463
880
248
247
690
89
313
913
368
758
193
41
987
644
964
671
587
743
511
438
364
774
119
117
499
790
400
899
261
700
627
496
19
722
824
241
997
962
357
888
490
391
372
664
781
436
126
451
179
312
189
681
460
992
482
632
456
401
374
356
721
30
372
364
999
669
481
551
685
360
958
581
592
994
30
83
121
202
105
575
358
323
164
986
719
254
303
13
506
936
846
301
144
99
56
661
927
605
248
53
818
419
993
112
216
800
220
364
639
763
226
69
952
270
985
865
101
857
734
985
331
637
453
829
507
687
772
123
458
845
803
717
251
855
596
308
908
604
227
39
361
939
10
949
375
163
973
734
766
845
509
125
480
49
92
469
995
389
35
773
99
620
525
547
263
602
622
294
761
555
431
349
150
496
443
126
971
634
893
481
331
267
29
70
531
437
410
51
74
194
682
443
186
806
800
765
436
703
352
338
192
201
427
746
399
349
498
552
623
298
886
269
375
689
694
988
503
455
540
833
802
305
14
561
106
906
567
244
784
440
451
937
986
783
387
635
977
10
904
634
590
353
641
601
192
961
487
293
516
66
94
869
402
221
193
172
769
279
123
192
131
731
176
162
577
776
672
376
414
293
166
877
614
443
826
625
795
224
804
609
703
710
399
633
75
55
888
219
334
628
174
89
747
759
834
247
586
689
697
526
349
258
840
794
265
758
761
699
178
178
540
988
369
721
988
894
71
114
168
73
183
722
138
869
221
866
492
427
607
103
48
342
222
414
46
57
541
397
348
194
810
592
421
375
407
1
340
830
3
724
649
309
141
387
693
358
594
689
932
35
244
968
844
522
213
170
245
900
716
968
245
559
400
65
589
324
953
934
867
410
418
302
893
734
953
732
585
955
742
545
860
837
395
145
350
206
437
535
258
775
436
449
294
627
894
44
430
962
301
559
155
7
612
684
45
667
8
629
673
567
999
73
366
627
791
204
846
222
389
67
534
250
73
294
200
177
736
80
662
207
65
986
454
277
697
701
739
467
310
451
235
796
41
118
629
64
778
462
735
583
628
73
673
168
321
786
453
742
370
347
665
235
584
64
414
277
919
1000
234
310
703
46
519
372
18
871
877
767
359
283
913
233
729
61
195
47
43
648
507
669
993
400
68
192
593
305
76
840
227
123
815
220
344
974
545
839
929
255
594
652
474
616
378
48
470
439
561
735
372
896
210
431
563
191
575
162
125
48
115
193
89
832
440
343
430
986
154
484
254
566
978
524
540
794
98
77
275
464
446
310
59
948
474
181
55
330
55
383
676
878
322
833
559
682
628
480
165
753
314
531
836
355
651
922
236
577
127
44
906
446
255
239
71
978
210
567
961
595
872
712
618
301
349
647
594
847
612
863
991
855
669
566
7
572
615
201
541
441
961
93
408
194
896
776
439
525
495
788
48
702
466
343
855
655
696
286
623
196
732
183
55
3
341
230
972
948
458
882
15
130
163
785
298
718
801
618
360
346
9
907
364
310
191
769
739
284
950
784
363
619
80
869
938
529
983
146
433
639
818
236
340
443
218
347
11
180
195
809
542
528
704
406
490
290
394
1
230
955
276
432
888
601
393
616
626
111
79
110
477
106
85
130
105
281
654
166
589
93
618
890
804
837
734
1
48
231
748
33
305
527
154
902
945
44
206
164
733
757
498
520
699
259
363
113
843
943
401
538
624
771
694
307
924
330
632
697
452
209
838
556
620
872
370
614
521
349
240
325
976
38
294
66
585
842
674
762
312
665
410
666
454
30
153
58
740
212
736
99
917
798
992
927
424
41
253
362
661
736
49
264
900
567
756
660
140
73
422
267
38
417
513
903
599
138
101
604
494
938
866
974
709
328
362
384
717
684
169
187
537
820
920
22
847
730
716
622
772
526
94
278
98
947
541
254
459
16
538
16
437
572
249
55
658
405
264
507
659
719
254
494
761
440
12
302
185
672
94
117
416
277
225
989
156
75
686
122
254
687
134
381
671
393
699
106
902
669
750
943
239
254
409
429
959
727
759
491
778
522
703
837
918
284
599
486
748
235
115
300
217
974
244
457
253
754
42
232
901
806
453
363
178
750
534
500
582
437
506
939
710
879
301
933
664
29
713
332
822
271
835
227
35
456
183
571
540
182
793
431
688
817
660
683
93
443
22
446
977
520
415
492
262
542
891
208
461
405
480
411
519
480
809
477
543
663
741
778
790
743
82
412
374
522
652
528
911
15
495
364
703
949
602
264
131
492
274
542
662
853
194
20
214
908
316
509
667
530
960
262
8
642
831
652
902
329
282
949
526
511
795
76
98
794
536
671
906
122
852
582
554
750
728
203
799
889
570
666
614
92
150
988
48
79
183
703
57
244
814
385
712
504
222
756
99
546
686
705
792
720
676
677
979
48
1
351
220
845
581
419
315
441
161
608
959
363
176
753
712
134
997
886
283
524
25
799
307
696
414
464
582
200
752
59
220
158
682
36
263
325
270
867
118
921
903
611
585
260
669
437
341
242
408
572
506
715
140
942
303
554
121
932
883
83
589
280
131
92
149
106
591
302
834
480
733
579
118
731
413
602
522
897
770
945
27
351
762
762
177
639
219
330
643
4
587
729
5
897
511
849
694
22
30
715
360
102
419
869
397
596
672
147
23
88
183
772
76
887
455
60
666
682
555
456
897
766
597
818
173
404
742
51
987
454
102
266
689
191
430
595
456
632
681
682
559
340
376
662
98
812
174
126
539
74
243
163
776
24
798
81
929
419
661
833
778
114
817
460
531
322
706
120
651
219
449
378
550
168
263
480
290
197
105
277
872
147
966
305
292
82
283
284
320
120
696
980
858
857
703
900
826
931
817
808
752
92
521
400
621
331
629
778
90
261
694
541
875
940
727
433
977
770
826
456
407
924
243
316
269
11
97
835
364
313
154
730
962
994
80
763
31
141
138
808
5
343
551
832
133
817
667
124
524
720
605
373
314
426
296
337
755
978
678
947
645
869
370
612
188
582
294
437
347
22
586
787
698
114
621
364
90
339
126
553
685
900
177
286
534
584
327
106
480
66
256
400
993
604
77
33
562
577
912
703
375
322
403
405
319
46
586
325
792
389
969
318
412
387
699
909
480
151
418
383
977
588
804
134
923
870
782
881
209
168
119
759
334
371
415
590
88
123
533
790
877
542
148
518
260
397
404
642
284
360
636
19
359
194
747
406
755
369
86
46
272
669
628
583
283
790
841
525
128
812
861
897
810
687
521
76
27
564
325
60
851
860
669
589
781
469
500
585
474
396
121
377
178
417
34
28
797
52
555
902
548
277
444
260
378
900
919
314
650
469
266
640
159
901
700
284
143
772
248
198
851
338
246
876
162
929
407
189
897
291
585
441
779
843
41
639
423
565
462
779
353
415
29
743
814
765
541
45
48
324
990
220
801
420
986
154
34
303
146
3
222
359
871
653
152
713
958
863
838
747
131
319
40
459
883
848
847
454
13
953
13
552
819
624
1000
701
230
127
203
874
76
108
461
142
269
848
733
936
960
994
802
813
579
406
941
689
294
29
771
624
572
866
927
680
458
166
751
325
665
968
947
115
793
951
25
113
808
403
409
620
429
748
267
305
205
713
508
751
891
691
878
769
192
304
755
566
53
440
94
15
477
306
928
791
269
139
977
144
191
269
216
397
779
165
703
63
465
939
563
630
699
549
796
654
496
593
501
797
201
161
176
818
288
678
973
362
696
51
206
566
551
740
925
143
113
526
86
595
444
884
688
675
602
859
283
5
130
247
413
28
240
718
859
108
349
227
84
637
585
692
856
480
460
461
875
940
140
522
132
699
672
773
874
880
75
901
289
435
402
607
441
573
787
962
589
828
984
656
715
678
117
801
4
313
179
692
55
293
329
676
793
338
191
833
418
413
155
711
247
638
154
732
945
245
519
251
506
989
282
423
289
950
740
204
582
628
163
822
438
598
324
7
992
759
871
118
64
390
662
59
633
815
894
531
656
449
213
747
813
417
40
193
972
730
16
424
559
189
819
130
563
854
608
954
614
866
982
582
403
908
678
684
765
365
179
155
881
520
32
957
389
751
951
543
691
753
724
536
363
264
511
799
368
630
408
541
745
843
5
407
514
320
263
773
853
816
240
635
960
317
59
527
648
687
54
904
403
124
204
273
561
186
809
176
275
283
860
799
160
24
706
577
865
767
439
695
302
12
867
765
978
60
85
290
662
479
419
769
621
462
960
385
787
167
3
290
519
421
418
431
66
18
447
702
454
951
402
981
266
543
535
244
719
426
645
551
518
683
93
135
178
312
505
240
913
351
848
608
735
622
519
736
86
80
758
97
207
168
6
554
445
438
784
65
876
884
303
642
936
155
294
213
252
790
460
688
482
129
578
54
791
397
489
773
502
729
154
102
620
586
480
213
143
89
851
147
511
289
189
708
133
301
849
368
634
495
906
160
382
696
153
267
866
405
707
785
742
627
200
661
660
770
403
363
563
444
551
228
757
724
784
753
934
567
891
329
252
655
978
29
771
859
772
116
790
923
17
864
123
697
828
146
907
462
929
997
363
438
401
998
783
587
958
936
141
195
796
630
936
534
717
217
257
102
620
463
622
558
386
869
835
495
910
432
948
611
262
927
458
678
6
493
996
935
256
113
145
212
380
317
444
85
168
46
324
890
877
173
483
215
820
601
184
833
67
222
28
651
374
266
69
377
686
725
505
75
432
631
790
682
342
896
729
853
727
352
7
230
973
381
643
311
519
215
80
651
745
623
939
25
985
158
28
541
357
578
823
403
236
372
486
202
951
530
460
126
742
835
820
482
92
1000
851
243
292
893
777
139
525
971
170
969
783
762
326
399
660
937
829
494
452
49
577
648
992
497
794
344
359
669
934
420
927
488
917
102
218
764
862
109
695
906
301
538
897
482
918
92
340
84
974
446
182
745
952
174
961
880
397
746
624
358
602
535
684
857
549
640
557
67
491
618
65
696
648
883
625
447
774
608
879
329
742
469
384
714
911
456
500
526
709
278
827
841
834
603
339
939
431
484
910
577
885
837
37
815
162
781
403
245
179
960
373
901
354
725
654
417
277
193
98
242
473
744
106
849
329
489
142
895
561
605
631
270
64
177
919
766
566
413
30
904
287
628
664
86
727
421
268
823
764
851
25
246
499
208
291
513
646
207
370
982
829
30
487
241
837
659
495
156
762
394
143
121
923
241
715
615
684
148
465
950
587
661
533
866
687
652
6
218
637
233
334
562
854
812
571
878
43
537
841
22
468
45
939
747
631
509
250
296
412
472
982
657
331
866
289
493
297
874
16
713
117
59
634
367
68
241
463
275
38
167
392
408
115
931
150
515
979
411
621
912
166
776
841
690
59
218
78
777
470
646
825
464
795
10
663
10
41
314
639
903
437
135
264
187
995
631
266
25
112
630
949
350
233
349
389
979
684
727
733
83
998
114
526
259
451
296
361
749
75
450
132
533
101
622
812
136
657
771
7
972
551
232
496
990
135
729
578
174
575
655
341
185
344
451
899
71
359
326
223
499
28
453
449
399
376
33
457
265
547
298
50
630
245
609
301
349
88
293
503
448
429
765
673
220
915
764
760
158
968
266
549
97
403
731
724
619
586
863
749
390
910
16
1000
581
872
656
56
959
714
96
192
534
380
816
884
889
578
244
560
424
827
852
955
808
678
760
134
866
768
824
684
957
931
355
615
701
396
209
236
512
993
965
638
22
364
314
453
902
437
570
231
20
761
442
121
97
888
803
559
283
661
214
271
118
133
406
278
385
863
730
480
248
474
837
85
903
735
504
377
686
845
563
288
208
300
334
804
635
462
869
493
657
949
538
353
58
23
197
723
33
452
241
223
585
736
350
567
362
130
623
609
326
684
90
177
461
352
320
84
564
302
937
205
834
749
385
670
567
983
220
6
782
784
507
570
15
89
688
692
823
579
391
756
774
877
215
872
820
134
498
875
9
119
415
152
389
348
547
178
868
421
212
730
482
467
473
432
238
538
666
678
243
874
762
18
293
164
604
725
507
347
331
680
841
13
862
636
545
194
388
620
692
165
183
522
934
899
947
902
551
988
75
642
654
179
919
380
162
121
178
563
771
601
955
591
690
309
948
720
342
136
472
335
599
106
691
748
369
322
537
887
483
705
269
132
958
900
525
56
619
429
17
39
5
94
743
549
210
639
674
385
56
912
432
335
561
96
374
495
177
122
829
987
687
20
10
915
972
791
212
183
72
396
511
229
94
538
109
845
584
274
834
944
868
888
92
616
779
92
726
792
890
382
831
625
72
288
557
15
722
328
338
757
537
728
767
482
27
336
572
878
297
707
736
702
784
47
839
726
763
553
129
81
418
682
651
427
197
100
6
996
984
314
976
835
348
549
257
516
751
9
62
159
141
488
163
866
801
233
246
586
657
85
126
945
522
152
432
851
905
735
882
499
82
749
167
967
103
670
729
770
275
872
484
563
479
304
591
709
329
631
943
552
812
335
953
77
551
774
539
68
210
873
979
30
929
945
411
897
863
113
353
1000
35
962
522
840
763
317
655
978
857
516
741
739
614
141
316
509
424
933
994
93
437
551
450
994
322
884
421
499
606
876
126
129
489
211
704
364
290
740
864
558
877
236
1
582
556
919
419
80
857
217
157
160
610
369
152
982
486
839
114
975
923
959
531
344
984
879
707
139
216
676
567
380
46
452
259
657
565
320
245
163
850
475
663
358
87
952
232
308
867
234
861
293
971
633
431
449
853
225
920
57
824
199
170
586
610
632
96
747
579
114
80
639
413
111
606
508
449
655
969
792
179
762
986
881
673
957
230
457
779
438
251
401
29
684
599
936
73
782
262
161
367
343
295
119
551
640
975
292
638
522
866
801
694
744
506
568
166
555
274
445
399
811
190
597
147
396
19
472
112
443
46
300
611
715
371
417
496
490
336
635
346
495
992
530
787
749
137
781
506
630
500
647
158
169
115
225
903
318
798
428
748
928
900
473
225
249
183
278
185
52
768
334
650
870
568
542
732
454
536
982
610
238
348
808
418
544
852
269
699
236
724
392
769
807
309
969
935
168
521
344
994
983
49
935
900
7
813
551
744
759
797
362
466
809
907
778
814
105
487
623
119
73
470
716
392
652
914
369
99
49
872
387
718
757
87
869
859
285
33
463
274
155
202
786
576
915
319
364
861
333
423
847
701
469
307
178
187
23
887
116
788
216
451
773
805
466
608
826
90
314
961
657
551
333
215
980
659
292
438
427
809
446
692
170
942
617
77
892
241
710
547
333
108
385
474
194
834
877
88
389
591
392
347
522
380
50
730
979
600
111
727
231
750
79
511
747
564
344
403
470
585
219
237
890
774
561
689
637
250
723
940
913
687
208
803
246
180
247
570
818
652
498
414
41
975
208
97
164
27
446
155
434
854
511
444
719
938
183
155
607
341
268
947
650
163
809
888
849
284
406
231
470
885
303
894
972
579
329
719
190
291
268
168
876
212
997
174
386
263
520
269
604
475
96
946
137
656
800
455
473
479
172
879
45
887
125
387
90
322
883
17
784
827
541
208
368
519
770
567
904
248
314
45
846
576
175
764
821
291
805
235
913
802
211
600
227
712
574
833
756
726
935
553
350
885
462
186
126
748
99
777
802
804
680
642
238
860
147
403
940
566
178
686
406
582
328
896
969
82
804
54
228
444
96
624
241
1000
26
624
419
658
166
90
443
78
246
142
602
812
889
472
650
494
954
75
668
734
831
430
437
837
269
151
510
855
707
324
515
758
614
373
230
709
56
297
591
528
553
580
147
423
309
875
410
991
64
826
178
308
142
26
197
638
757
159
446
928
259
849
939
810
821
576
170
235
998
316
228
251
701
219
194
664
403
741
610
507
789
106
718
276
667
914
663
909
652
954
76
324
74
60
244
132
542
886
634
859
849
63
621
554
237
83
147
227
549
613
449
921
471
670
151
578
902
227
787
48
456
401
228
755
229
291
630
540
301
931
217
163
840
576
642
783
312
730
722
496
67
883
65
676
465
947
468
419
808
751
999
867
561
760
369
590
734
409
520
451
841
28
374
610
561
387
331
395
67
285
415
787
17
470
919
167
356
386
64
810
415
918
406
300
271
339
708
710
961
122
567
895
950
152
327
708
200
140
718
287
282
716
228
825
248
763
420
377
408
41
282
363
692
55
226
350
68
397
534
617
316
543
908
781
548
152
234
432
37
470
886
367
272
362
643
476
707
798
807
767
280
419
195
335
661
883
487
287
135
299
827
788
169
995
666
406
20
211
591
893
175
120
291
382
33
712
846
730
982
700
279
412
976
564
640
919
759
259
967
102
129
916
98
282
31
71
711
221
794
570
903
258
539
312
331
992
635
433
200
931
112
361
374
391
62
402
512
794
453
179
385
207
196
280
491
598
979
947
658
842
183
489
584
913
106
375
159
96
871
650
966
258
632
378
601
421
114
330
293
914
107
22
847
381
246
490
130
780
334
938
126
310
460
461
129
890
401
612
754
406
147
473
282
459
879
237
317
749
436
57
838
554
90
45
534
976
472
862
721
772
587
310
245
609
194
684
519
531
234
424
236
274
634
773
382
828
544
747
858
286
9
696
417
602
149
134
647
362
120
330
396
30
576
336
404
427
834
772
880
407
689
681
435
765
660
214
73
443
468
726
919
997
707
103
996
105
15
801
599
631
512
108
815
371
913
612
261
165
539
721
402
490
361
345
709
983
356
532
455
639
703
935
187
537
748
470
775
64
272
426
458
545
310
582
515
84
661
608
997
205
267
127
493
569
850
342
8
650
550
56
898
748
806
259
214
141
408
164
974
474
470
761
638
736
47
474
504
287
260
487
822
418
99
652
192
919
498
684
195
922
917
497
265
75
393
148
553
760
973
818
869
620
489
671
842
160
886
238
115
530
704
156
725
931
830
736
835
223
377
841
612
475
368
968
383
131
943
298
134
448
954
673
78
624
153
136
255
790
650
716
104
655
968
580
486
136
799
568
956
738
530
362
897
823
701
265
769
114
846
584
897
2
538
167
97
233
96
494
986
574
86
41
993
901
685
344
926
955
971
296
459
714
459
751
51
895
496
397
605
642
709
248
670
848
302
779
87
868
874
941
758
631
391
792
676
258
72
455
411
353
272
500
23
64
865
582
759
860
256
362
958
731
904
331
300
178
165
115
909
914
331
277
855
700
975
393
263
78
106
408
611
99
169
901
761
284
639
878
951
205
808
176
256
31
372
359
30
340
603
254
412
268
212
903
312
843
491
771
182
929
955
495
504
777
507
330
140
619
97
731
624
55
945
152
12
305
674
278
134
475
100
334
967
130
28
66
355
396
98
257
522
700
649
361
627
56
590
946
133
483
473
170
910
755
323
427
794
160
291
637
791
403
861
398
252
47
170
362
98
165
984
740
639
961
11
817
586
193
513
696
634
132
656
290
390
686
605
742
455
28
181
23
220
762
769
480
293
209
274
476
483
879
138
70
999
567
830
898
806
803
747
36
120
576
180
619
663
350
859
469
600
401
575
745
57
396
591
947
745
991
833
184
471
891
367
709
279
515
293
173
542
870
970
894
561
753
466
742
165
689
202
889
314
307
31
772
986
993
436
94
434
747
63
597
487
127
571
641
715
49
655
304
126
6
151
888
581
945
306
171
232
662
694
723
135
48
737
913
617
971
468
977
134
857
20
662
111
285
259
516
701
20
174
857
480
968
886
791
868
450
606
471
423
68
488
906
275
174
60
254
619
616
858
513
613
16
958
903
21
287
324
64
637
490
280
358
865
421
973
244
838
499
374
630
84
628
221
620
97
721
351
843
97
471
994
812
913
781
948
425
184
979
58
737
29
587
5
610
889
947
256
726
544
424
959
677
164
300
660
568
836
688
995
621
225
975
939
774
888
366
740
156
301
79
429
621
836
615
660
243
758
309
696
768
838
79
542
563
287
864
600
506
575
773
712
613
122
346
142
929
990
681
880
345
496
382
597
587
70
408
764
531
788
967
715
419
781
507
873
276
65
741
9
19
467
348
108
357
984
722
391
523
305
634
70
311
262
206
683
690
642
938
215
447
153
835
771
962
306
863
262
213
668
69
421
549
209
696
483
590
467
549
24
865
841
665
786
439
649
91
797
831
467
168
722
977
892
299
197
877
127
576
817
807
639
31
584
677
765
491
874
184
308
218
387
915
60
550
141
426
713
755
299
650
803
164
478
675
167
476
278
63
903
775
933
396
966
428
355
645
342
527
363
328
216
951
540
124
667
438
999
780
199
289
328
688
858
447
90
475
762
730
589
299
646
953
33
344
394
505
844
141
610
704
625
965
992
942
217
526
646
146
339
565
494
609
567
786
635
600
754
750
843
430
576
958
382
889
557
414
993
24
812
322
178
255
734
478
918
743
34
81
548
705
869
400
811
157
264
739
32
128
682
623
961
969
388
981
68
815
199
392
981
592
314
97
319
230
208
618
377
899
946
260
21
154
893
705
635
850
506
199
187
559
778
523
306
20
964
84
744
836
398
957
785
238
598
652
939
227
320
697
742
841
955
891
603
582
421
198
414
280
736
830
82
805
567
1000
213
54
359
229
951
599
79
804
361
230
245
227
807
371
641
14
501
20
70
248
753
422
538
644
505
164
525
708
389
765
369
779
918
99
335
336
391
210
638
15
761
160
570
150
21
551
847
548
636
297
511
393
142
998
12
847
361
48
592
980
567
186
728
72
560
756
187
255
836
407
184
680
951
262
264
109
740
897
768
887
258
576
171
763
184
314
165
904
977
252
75
760
214
763
88
139
438
460
833
974
290
974
29
775
878
993
293
686
150
510
693
414
480
699
322
17
827
104
984
697
581
71
51
289
662
502
717
96
515
990
139
92
401
416
425
277
788
852
39
130
693
449
917
741
553
578
574
121
583
119
484
642
577
230
308
333
830
321
891
973
172
238
508
530
121
869
555
538
792
461
697
388
537
959
548
395
244
584
81
691
823
677
324
685
738
578
363
842
318
910
312
27
218
215
714
498
619
279
771
911
682
886
925
386
303
952
556
753
461
187
3
587
303
455
672
550
646
41
732
846
760
838
790
299
137
320
977
711
440
815
84
616
5
213
732
551
36
740
72
223
142
839
209
747
959
531
318
237
387
824
457
615
419
904
169
426
597
845
304
857
916
537
904
868
372
376
629
595
430
14
947
684
378
118
239
285
936
679
38
768
492
858
868
59
37
752
505
697
208
748
71
308
829
321
27
245
31
230
23
540
300
79
546
164
795
109
509
826
880
915
209
181
129
501
608
383
935
717
488
366
520
654
850
92
321
21
876
310
682
875
861
997
309
334
806
781
182
48
772
100
471
288
673
783
547
490
904
988
359
943
123
209
284
128
500
103
57
892
991
487
545
233
529
697
937
2
532
922
377
204
825
784
208
926
851
644
767
139
86
627
80
729
658
334
952
181
495
570
631
258
766
177
678
873
993
265
709
113
956
684
387
21
464
589
450
330
107
343
526
791
355
805
245
142
754
245
437
35
507
772
234
431
440
137
544
86
198
251
665
734
529
552
779
504
696
603
695
915
365
967
466
516
812
435
470
872
920
145
113
137
242
5
560
881
335
96
827
211
713
408
87
453
984
336
301
856
196
881
123
808
969
357
580
64
717
743
194
337
185
497
72
419
521
794
969
652
347
632
501
206
624
220
470
108
628
359
765
367
15
289
378
890
800
606
903
61
19
415
275
40
24
839
630
813
612
365
899
33
682
289
147
481
683
679
748
769
899
885
178
551
535
590
606
88
639
805
454
466
122
8
839
176
538
836
81
11
816
356
525
478
851
954
520
966
702
316
763
971
167
808
122
533
681
787
739
922
782
40
429
264
905
597
379
489
879
595
700
482
297
783
671
772
903
475
368
440
196
479
995
192
786
589
381
689
380
715
35
300
906
641
643
419
997
682
103
377
926
223
2
731
168
259
973
453
916
537
497
103
284
859
532
590
394
433
824
532
262
880
859
556
179
678
223
77
290
340
535
250
215
635
241
811
820
457
287
479
741
780
88
407
829
268
294
977
464
729
533
849
626
552
725
752
626
704
549
12
719
628
358
133
111
615
172
91
509
827
353
147
985
174
269
124
837
673
505
59
112
734
183
89
642
102
575
213
747
761
447
327
272
239
521
529
239
127
49
263
187
560
704
264
252
641
928
677
101
466
420
909
141
508
673
4
815
596
323
331
375
619
633
407
271
401
578
519
157
870
885
607
585
807
828
563
635
925
779
712
98
1000
298
705
348
96
6
532
687
635
635
598
795
276
403
116
883
32
296
121
286
95
955
503
547
144
579
373
452
715
686
923
132
363
623
708
71
963
417
936
798
448
969
910
107
706
578
249
898
146
497
895
87
655
550
197
611
285
838
540
236
17
224
131
731
405
579
494
997
682
754
195
893
228
857
104
838
855
692
231
745
503
159
805
483
324
982
808
845
49
426
593
977
780
499
604
294
21
776
436
209
866
109
637
383
725
445
756
810
887
440
68
765
514
764
318
541
350
842
595
927
580
261
163
606
759
217
637
983
677
220
436
489
351
696
829
49
89
280
222
251
684
366
548
729
393
899
763
398
268
501
469
481
807
773
656
740
648
995
371
872
186
538
904
870
635
981
715
1000
959
340
934
162
591
808
690
611
561
101
941
433
956
866
753
658
163
564
166
667
441
939
877
339
742
453
992
437
556
64
3
887
804
327
944
928
411
87
443
608
301
958
976
700
951
385
200
967
549
318
650
587
65
450
472
716
191
506
77
381
236
307
804
352
512
199
716
188
658
955
638
407
658
458
426
602
1
304
249
363
553
964
343
102
243
300
301
180
565
29
485
298
255
214
516
743
234
958
172
940
48
283
189
713
595
585
636
816
879
168
544
577
911
85
425
952
622
944
159
902
859
372
481
742
93
561
967
70
474
683
985
915
251
2
542
11
395
170
347
474
444
579
691
699
228
581
947
10
142
90
567
439
59
372
496
28
813
776
797
213
427
823
122
186
882
301
373
593
315
989
550
585
945
200
277
11
941
579
994
514
659
518
96
383
418
81
610
280
993
571
102
377
575
724
640
31
757
65
543
825
489
112
595
716
586
9
127
72
533
596
104
564
818
141
945
256
988
736
281
736
914
816
317
804
521
424
729
52
379
568
294
668
80
500
547
916
332
804
818
48
3
945
943
854
171
330
763
651
397
985
330
302
991
677
353
733
88
682
6
537
695
419
702
450
688
857
789
892
972
960
446
297
580
405
215
666
557
477
726
635
876
360
170
346
461
988
990
599
653
269
59
71
87
747
374
885
997
723
884
441
424
431
633
200
687
123
839
108
716
813
861
388
540
1
288
758
315
887
509
501
739
500
239
405
623
651
403
345
682
830
676
119
298
7
791
249
160
780
362
603
164
476
625
101
913
627
976
247
486
692
583
904
860
26
709
571
550
888
562
378
562
694
652
176
706
818
639
373
712
1
631
628
317
827
725
124
709
765
315
893
279
33
415
599
608
862
730
239
45
817
761
480
3
468
543
725
320
88
959
526
649
19
714
704
861
20
194
356
860
218
402
952
58
230
123
911
993
682
215
338
208
590
741
118
571
37
183
174
679
141
614
518
835
579
63
635
375
819
719
895
791
793
836
904
181
927
379
157
38
347
514
921
313
596
29
995
935
371
618
902
755
658
810
99
910
106
938
997
202
660
217
933
955
270
446
755
183
965
298
352
617
699
463
272
303
153
134
576
23
120
457
183
757
177
604
292
753
115
74
878
570
977
655
899
604
630
274
593
214
518
574
170
545
589
675
278
537
450
1
854
421
463
481
366
193
851
674
974
202
869
599
864
970
763
129
856
822
528
806
386
717
471
869
153
920
169
86
38
790
738
710
375
30
210
503
301
180
453
325
711
15
292
207
285
769
389
189
148
801
14
455
32
370
48
449
162
715
427
751
731
493
777
425
503
966
145
468
12
1
630
756
842
88
131
570
697
91
673
413
294
373
508
289
666
267
694
73
94
617
972
880
728
239
521
593
947
718
632
814
631
917
408
571
809
922
365
15
625
932
196
232
131
782
25
17
209
351
206
131
834
120
70
143
955
523
69
399
526
546
455
76
567
227
947
542
741
337
870
436
554
536
869
9
215
718
647
216
168
101
109
30
464
861
930
203
513
744
849
462
191
139
923
746
941
574
547
622
290
439
324
469
162
18
750
357
464
593
248
816
692
466
290
835
724
218
243
520
534
448
68
787
298
513
218
373
253
509
900
206
709
834
374
904
817
230
116
721
50
70
465
828
868
51
873
151
716
144
964
385
302
827
398
965
126
171
990
926
317
297
598
648
189
97
45
360
311
892
772
201
550
840
924
329
280
548
356
267
864
262
352
224
615
468
922
621
647
501
209
399
435
980
885
18
441
485
400
203
849
955
626
625
338
652
714
692
803
424
983
540
124
205
252
134
399
345
326
118
550
432
263
663
822
683
666
117
526
903
452
710
293
230
502
877
234
589
108
66
663
853
379
33
436
205
636
679
570
73
341
505
507
334
306
577
285
176
757
744
944
122
325
496
646
258
211
470
394
599
541
109
730
902
430
404
439
937
384
939
155
398
435
718
696
178
857
345
149
682
392
201
962
242
666
176
794
428
864
374
460
273
828
970
76
967
409
42
426
608
324
795
647
949
755
27
572
930
647
118
433
939
982
61
198
410
306
286
496
357
443
89
955
871
642
518
776
454
360
458
548
295
517
481
627
233
320
743
887
215
720
854
279
507
110
179
455
786
168
454
620
505
615
970
926
602
236
826
957
716
726
918
281
542
792
374
627
882
466
160
958
209
782
424
626
328
797
956
805
756
435
817
637
50
804
803
844
154
416
903
102
238
227
334
125
197
533
38
238
150
532
762
192
803
798
968
138
536
998
849
919
401
953
691
354
10
505
631
742
468
768
670
600
68
994
399
568
502
716
518
482
662
810
670
854
998
839
500
382
518
364
137
651
210
897
487
909
616
851
828
620
769
125
199
552
509
947
979
291
435
194
886
423
410
730
342
86
563
185
768
252
222
241
930
875
50
682
884
9
931
432
424
84
846
300
190
817
43
424
747
628
304
234
34
32
998
308
525
181
937
670
356
648
716
928
435
561
376
124
247
415
725
362
682
242
577
48
702
316
526
61
72
271
580
301
715
298
142
837
451
100
383
283
45
403
998
181
468
113
703
847
293
688
596
598
919
851
708
302
136
586
616
922
156
231
997
97
840
597
414
826
295
247
388
14
414
457
58
969
215
952
316
951
14
172
342
503
588
715
885
637
467
579
459
883
423
45
887
846
24
305
245
199
867
483
323
955
703
287
183
478
246
345
240
918
843
239
584
667
597
324
925
998
725
716
624
253
155
234
770
829
375
659
163
730
566
404
338
648
915
581
520
365
778
493
454
776
75
773
637
974
886
756
354
673
724
185
290
663
382
12
201
171
539
876
298
741
580
855
524
684
172
168
886
265
187
862
359
506
533
912
631
919
253
818
174
518
47
498
675
190
16
239
855
879
997
513
127
41
338
705
307
550
324
192
825
543
770
763
489
710
491
38
886
175
432
444
903
426
276
287
726
741
243
638
868
125
608
86
468
121
207
864
111
728
805
538
918
302
760
189
483
516
839
13
532
408
410
340
844
57
472
361
50
677
158
245
432
783
399
927
730
593
441
557
254
47
738
512
345
636
587
899
294
741
505
673
381
352
11
879
617
806
910
5
100
701
653
121
634
216
615
307
409
886
387
842
103
277
294
767
693
135
389
745
663
304
122
562
51
117
715
247
941
30
56
532
612
979
557
308
543
314
8
795
837
188
930
381
481
979
293
476
13
641
781
261
827
884
949
926
336
763
739
838
653
522
803
85
283
530
19
38
556
774
384
871
176
633
196
462
315
607
68
764
135
251
858
493
490
833
37
950
829
115
355
900
998
231
947
688
713
844
150
194
988
643
396
796
667
753
501
267
544
851
566
383
223
574
468
84
35
337
650
245
792
828
471
430
146
239
924
551
583
774
909
10
908
99
585
719
127
160
551
395
268
241
705
635
588
235
716
604
993
829
933
593
283
711
455
320
978
983
790
616
97
655
240
38
238
493
681
49
695
497
892
631
155
990
984
555
743
628
732
135
759
645
833
929
523
288
207
753
112
731
448
365
657
693
463
350
86
627
139
62
830
624
612
965
93
98
336
333
717
925
683
106
555
940
266
589
521
617
490
847
181
302
137
867
808
588
907
999
342
296
939
771
559
65
290
866
91
699
233
993
614
326
33
370
646
846
534
790
944
359
498
552
361
42
155
81
415
418
799
727
514
75
626
35
970
697
195
802
437
658
49
318
419
569
60
544
810
887
999
377
241
94
688
794
151
48
849
411
99
767
406
918
826
350
607
929
966
696
738
8
98
420
658
31
62
680
613
588
48
634
998
806
15
891
852
871
399
639
839
502
925
107
417
816
551
609
692
354
254
725
172
507
372
110
300
216
724
982
131
637
555
625
14
388
642
119
440
101
582
82
504
296
333
425
584
971
608
973
890
902
600
380
542
382
797
881
676
997
401
346
900
89
932
515
93
777
149
521
140
714
334
567
714
335
323
103
607
958
398
989
452
972
319
879
883
298
299
514
315
467
709
700
571
933
655
497
515
707
329
530
700
998
223
425
806
305
892
51
275
327
899
661
166
131
28
10
675
267
595
262
175
863
944
781
918
333
788
958
710
984
118
834
5
697
782
609
821
849
715
86
852
815
3
735
900
734
637
317
538
675
852
955
501
992
394
140
853
463
950
392
433
724
216
195
398
655
786
410
985
609
84
557
716
804
109
242
396
782
603
546
186
546
585
343
928
908
900
398
689
588
530
558
174
842
959
515
263
709
777
439
436
532
87
233
242
27
966
277
313
38
421
336
624
69
811
698
845
839
659
751
653
401
157
897
836
794
439
156
842
840
850
843
209
423
48
426
946
527
758
38
523
395
375
162
602
364
456
663
993
367
290
725
645
597
408
188
646
560
880
505
315
564
673
782
469
743
209
374
869
867
449
113
656
486
532
528
313
505
2
348
328
847
140
177
256
718
782
460
332
892
255
793
125
578
771
154
988
666
662
872
217
582
375
15
889
548
993
409
341
787
398
681
123
93
847
556
28
226
910
155
535
793
165
161
550
657
51
566
880
375
540
148
245
897
80
966
993
540
386
942
866
251
205
3
326
298
145
405
965
840
23
539
479
268
954
979
533
801
584
559
580
616
445
996
399
673
411
940
629
506
615
369
111
454
8
923
169
213
927
115
299
122
670
361
896
302
85
410
751
627
629
80
78
503
138
155
700
626
857
940
889
185
857
232
42
483
62
410
19
574
553
930
502
303
678
764
186
106
762
233
948
14
913
210
398
564
469
940
384
777
142
541
89
881
810
812
321
235
199
147
490
779
411
203
546
372
374
452
844
606
799
905
503
3
162
132
330
47
564
120
789
165
61
675
816
575
188
821
502
932
980
124
796
813
723
903
420
407
47
91
123
179
746
880
258
939
874
357
414
471
260
49
494
803
575
662
222
290
469
349
485
890
101
493
358
429
611
364
888
158
667
980
957
644
261
180
597
868
353
201
167
426
788
44
704
885
153
504
564
701
893
51
215
546
42
662
661
569
400
295
506
879
846
957
127
502
727
206
762
182
983
502
569
627
708
18
889
247
357
415
1
6
708
593
630
721
973
645
361
45
182
33
881
411
58
559
682
425
129
810
438
514
759
599
791
213
95
359
673
70
689
610
640
36
666
343
866
147
907
660
640
463
623
47
187
520
105
437
607
994
176
612
573
884
62
553
177
303
971
58
970
846
676
341
824
620
774
313
701
230
104
981
814
401
22
696
926
472
828
16
742
689
670
565
453
95
694
621
479
794
993
91
373
576
219
183
681
199
286
353
261
81
722
30
188
839
626
230
939
870
78
403
950
130
131
775
29
378
147
983
332
412
384
46
788
238
174
567
917
692
954
590
966
776
724
733
163
830
181
47
673
741
932
554
540
563
666
566
492
287
139
708
993
20
119
7
329
487
200
572
858
609
523
126
734
883
26
114
594
428
751
199
690
860
153
677
931
600
94
800
98
845
389
986
314
161
361
682
448
616
846
957
745
412
479
974
427
229
907
145
391
870
768
143
431
341
912
903
571
212
317
441
240
941
645
596
981
868
143
781
327
768
896
448
279
138
46
254
553
925
655
843
385
995
350
750
228
466
750
187
112
963
943
377
780
971
966
633
992
710
305
648
515
385
954
273
414
253
432
637
219
630
478
623
425
927
855
558
569
769
797
479
821
503
156
482
618
741
244
479
389
95
676
141
816
926
290
952
401
773
327
33
326
78
650
892
739
1000
692
278
608
370
234
127
256
304
838
939
521
604
987
27
238
824
512
762
425
818
926
328
81
627
651
536
23
843
920
898
540
931
384
545
927
556
13
541
179
654
945
802
194
861
348
159
863
893
176
34
317
665
984
859
431
268
548
617
407
364
162
834
883
254
871
930
554
615
818
107
728
891
124
818
611
407
398
462
326
538
79
134
885
711
268
146
356
544
638
564
470
214
280
178
770
989
75
188
219
919
287
344
838
896
589
491
586
621
661
209
158
547
856
774
826
540
111
729
736
803
509
176
303
618
360
301
507
574
708
765
872
257
472
317
905
830
239
400
598
518
888
576
341
804
808
325
282
41
465
115
714
266
466
706
545
227
75
307
311
41
331
556
442
420
557
298
708
126
36
768
869
140
86
122
540
92
585
204
224
614
239
67
246
637
531
52
80
137
335
137
164
440
663
906
851
30
825
677
578
723
621
280
687
204
796
508
585
150
116
499
91
624
893
143
894
966
683
199
995
160
197
917
925
520
142
867
279
624
872
123
816
563
190
145
983
997
624
474
199
968
800
850
679
115
276
477
865
767
364
913
769
342
9
555
680
652
736
700
672
991
75
996
363
322
613
422
153
520
17
58
984
341
936
582
278
765
719
817
311
380
219
684
736
739
822
590
352
8
997
636
509
750
304
6
715
407
811
578
136
885
290
75
649
673
411
80
57
94
377
816
870
584
96
915
773
431
38
292
558
985
377
872
812
186
893
127
101
188
371
313
740
960
907
837
493
28
629
420
708
922
815
559
461
465
293
366
259
798
315
10
712
886
783
836
410
332
852
757
891
493
426
622
214
265
10
129
137
428
703
253
325
78
852
357
327
527
54
850
271
37
721
769
385
844
390
683
451
302
332
126
272
344
769
118
76
118
194
429
504
410
885
930
551
356
654
778
327
58
318
169
35
933
135
121
911
999
697
54
166
874
347
963
166
947
231
594
184
28
536
386
50
824
250
885
958
726
71
938
486
743
713
310
628
883
904
242
241
924
841
83
880
323
730
404
397
933
302
841
69
343
877
543
249
887
632
261
689
790
227
31
782
529
807
889
923
160
742
282
52
306
151
646
276
504
360
151
109
844
2
720
503
146
344
305
320
483
811
797
344
490
368
123
197
740
602
839
797
440
888
962
101
864
962
872
906
186
618
886
441
875
1
475
325
396
137
172
211
716
943
949
120
67
942
179
2
438
282
356
574
568
505
425
835
538
674
893
956
634
109
934
439
863
996
300
520
329
547
203
830
713
248
277
195
267
951
356
310
43
211
90
729
582
336
331
243
903
59
852
257
440
626
168
227
523
330
161
542
101
243
748
526
672
941
70
368
801
533
538
865
191
178
586
838
979
605
210
966
855
825
157
549
612
364
177
429
943
863
859
888
684
795
415
820
166
421
232
946
54
807
119
85
853
897
980
777
241
175
56
654
535
419
986
991
900
389
672
836
318
97
347
925
11
456
298
390
696
704
403
884
40
965
43
362
698
749
939
174
600
945
181
566
504
94
40
927
383
351
148
321
942
546
303
966
370
188
450
296
492
104
348
169
611
607
86
597
704
787
851
104
65
509
309
437
170
214
552
898
302
453
799
15
445
359
941
591
54
940
603
468
561
173
580
459
916
341
398
2
27
975
273
49
685
53
925
573
469
813
538
903
141
664
674
721
287
192
81
227
252
178
147
432
995
883
243
972
108
614
281
140
113
691
620
87
76
517
878
217
785
407
303
912
963
184
92
584
492
330
466
970
198
661
349
297
518
59
244
623
304
810
235
220
62
469
106
350
186
990
223
150
133
55
196
632
989
164
301
13
639
58
332
663
561
474
830
981
292
67
626
410
791
587
234
638
243
1
939
723
322
367
328
548
582
662
617
513
434
668
389
843
103
285
221
218
99
299
288
695
962
747
206
55
482
470
270
777
157
381
764
790
412
255
212
91
934
547
268
19
590
892
446
763
541
414
50
194
546
952
468
675
966
596
450
890
629
689
135
45
555
602
352
40
535
119
155
316
648
247
660
134
158
625
975
976
635
466
432
619
764
154
392
164
81
205
603
993
777
275
459
174
797
306
544
311
684
692
537
227
18
576
869
127
830
971
555
125
79
451
236
70
135
561
826
640
227
941
72
577
977
395
995
758
469
777
447
497
790
628
943
149
603
940
539
567
126
310
747
458
818
991
412
993
206
47
10
300
517
885
51
631
235
945
155
54
247
191
868
493
991
399
509
834
898
890
136
581
470
515
260
248
538
190
54
282
587
225
625
792
561
15
406
801
229
392
797
19
13
112
16
396
156
456
520
821
265
937
456
372
531
419
362
462
405
757
717
101
95
232
24
196
17
637
802
534
264
865
262
609
215
239
438
957
650
627
261
38
108
608
378
976
801
531
536
681
56
382
988
963
151
754
698
253
392
78
82
461
476
494
657
320
486
403
213
282
358
775
114
661
301
758
870
280
428
1000
399
265
834
350
300
52
422
302
5
850
95
609
901
39
299
1000
394
986
505
816
394
777
956
695
906
220
862
127
240
280
303
831
854
779
282
421
1000
799
721
747
142
749
738
643
600
434
162
540
975
816
111
565
702
354
428
274
509
955
884
152
647
600
389
353
511
654
879
947
668
709
149
92
370
570
687
156
342
663
455
793
29
695
672
360
468
880
842
890
689
423
708
26
851
246
304
934
340
112
31
246
683
434
493
502
483
22
864
383
488
980
736
305
597
724
692
533
824
872
366
66
202
355
351
5
221
626
156
943
585
332
311
225
41
97
869
584
537
384
802
745
226
512
185
78
669
13
682
282
145
456
538
374
147
760
185
972
987
811
628
973
928
869
944
249
420
873
621
916
821
235
941
37
455
149
316
407
967
731
270
172
744
559
791
591
560
285
859
244
748
44
303
300
896
324
551
267
502
807
461
821
83
440
185
861
912
680
932
980
989
391
566
877
812
364
219
95
265
819
480
631
225
508
258
603
523
264
137
181
538
893
871
399
998
375
701
314
553
184
338
209
285
403
779
182
613
9
602
527
974
348
37
746
264
336
887
928
263
386
329
468
162
401
745
804
899
417
971
917
181
664
792
827
2
860
76
228
923
537
670
687
631
67
82
567
96
872
991
905
149
943
865
55
466
447
283
773
744
664
93
804
328
934
218
728
663
589
702
6
723
95
632
693
16
730
650
242
838
187
107
213
206
407
337
439
309
823
140
405
345
929
338
155
385
762
163
54
209
439
341
112
146
387
938
380
591
262
442
153
247
841
93
295
112
391
174
59
891
69
820
185
839
962
942
880
979
253
4
541
281
828
731
733
662
373
305
956
597
609
247
224
730
894
960
325
105
818
887
918
566
801
320
270
411
935
168
555
607
487
407
107
758
538
526
907
526
217
987
905
408
852
624
478
593
169
956
426
150
337
556
457
913
283
30
8
268
174
600
605
512
410
34
692
543
755
416
7
470
490
292
139
122
558
824
851
549
766
897
130
348
997
569
673
49
255
871
725
866
139
700
741
817
967
502
353
599
368
485
499
640
619
357
401
417
387
969
248
474
826
752
99
596
161
610
495
202
7
698
747
379
657
608
641
899
495
592
597
234
507
828
932
797
588
166
922
645
953
476
856
408
539
478
89
498
677
903
407
523
704
943
684
422
401
190
888
27
355
703
983
640
344
417
187
751
887
821
320
182
924
740
699
814
410
95
166
529
299
695
313
157
960
508
952
33
625
348
151
233
824
565
951
677
130
212
977
59
713
61
755
27
382
55
452
79
773
30
171
442
351
999
668
557
668
914
556
885
142
562
625
450
233
194
921
907
493
527
590
966
421
36
334
650
429
792
498
273
550
691
438
933
651
585
844
56
69
692
116
769
557
701
710
884
349
99
631
886
983
644
887
594
221
324
761
92
45
826
238
150
266
305
756
549
677
213
753
680
82
37
147
311
749
68
947
651
19
744
728
695
862
677
551
390
131
205
243
311
190
214
652
406
311
998
589
851
986
129
723
218
874
692
586
953
601
704
206
653
57
253
609
727
149
686
583
815
179
177
642
783
166
122
106
182
454
130
540
826
886
800
615
538
693
103
571
167
983
942
116
709
377
368
511
726
917
44
47
287
847
731
878
350
219
998
413
819
604
878
67
544
350
904
196
156
935
812
468
939
983
205
751
935
384
659
853
70
835
46
73
374
779
369
584
318
398
4
143
864
823
70
446
76
189
573
766
52
475
98
152
483
386
60
567
372
614
978
826
308
960
778
94
233
724
874
9
806
659
687
184
324
590
262
993
646
468
875
23
736
239
878
533
222
410
519
584
868
617
174
234
946
785
228
355
308
740
832
168
346
225
912
546
171
311
79
524
52
180
560
190
570
30
851
335
9
684
591
821
207
97
44
585
486
527
654
651
269
646
403
250
728
189
33
428
97
86
795
75
319
157
46
385
330
603
892
125
598
480
85
980
492
300
543
433
707
679
195
328
205
715
340
270
104
374
325
520
519
716
162
863
615
247
658
243
28
993
699
589
372
196
659
382
767
651
244
965
205
796
735
528
66
634
261
970
331
434
656
569
833
972
501
508
410
726
119
790
975
85
689
64
314
85
123
152
907
642
45
847
177
546
21
690
355
696
165
973
574
217
416
187
921
101
26
493
889
973
289
562
103
444
141
313
232
239
992
652
739
970
127
311
460
996
21
293
72
254
211
190
151
368
696
906
903
596
434
883
610
385
153
980
527
387
593
556
232
818
288
164
427
924
161
497
812
165
547
854
905
422
729
469
636
183
710
493
144
203
737
292
418
547
61
971
370
310
490
744
440
534
588
829
101
22
766
44
455
811
110
177
674
21
500
499
204
720
474
509
508
184
339
96
605
651
216
839
820
262
74
94
978
380
329
829
736
902
219
931
855
477
41
847
20
784
267
967
229
155
735
116
865
835
379
897
322
166
416
388
458
771
535
862
189
614
360
821
283
455
412
567
760
785
851
981
352
804
512
956
138
384
144
136
840
242
303
247
238
755
41
294
819
919
402
372
106
987
742
623
47
216
60
132
490
983
850
220
36
234
476
600
503
884
686
366
827
297
708
603
453
445
294
727
209
668
193
297
178
228
801
147
319
1
156
169
467
732
5
980
837
238
426
993
395
819
352
132
234
962
415
553
659
46
688
225
778
434
306
185
245
774
430
585
255
795
686
424
3
158
60
950
615
188
178
331
978
394
74
99
996
779
810
274
551
821
786
812
830
911
168
236
760
750
638
844
5
887
580
936
342
140
896
835
265
121
868
327
361
464
891
336
324
634
421
252
488
401
193
374
397
149
629
334
263
203
356
228
95
263
924
380
936
855
148
354
907
432
971
857
697
386
387
618
716
768
755
247
402
959
790
277
52
879
606
325
105
582
486
376
54
238
416
654
988
575
69
491
334
829
573
864
528
133
357
991
204
44
379
509
965
626
228
243
978
85
983
541
420
470
202
442
298
348
76
724
239
708
643
988
699
531
889
516
388
644
744
580
866
455
255
241
993
160
666
472
285
833
752
583
352
563
505
536
254
485
201
713
999
92
950
91
462
719
37
604
646
433
807
648
578
888
319
321
111
867
759
10
578
344
410
346
525
907
22
403
746
285
577
242
435
542
778
554
577
235
55
198
613
444
553
905
18
139
319
260
666
766
898
375
775
319
604
300
769
373
58
358
622
767
934
20
111
639
494
878
940
533
176
549
882
161
412
70
922
173
895
426
882
14
698
427
171
516
30
17
91
394
901
475
633
221
655
686
769
778
150
812
77
881
341
245
931
959
164
678
589
638
911
501
279
568
741
491
760
573
573
948
903
941
368
16
563
344
732
898
366
461
851
100
91
808
979
608
973
716
117
142
635
626
43
206
326
109
562
730
799
87
707
456
492
760
611
121
612
628
979
678
366
839
371
478
849
805
20
358
50
664
530
59
1000
689
604
260
358
208
888
765
627
933
136
88
745
850
168
737
24
999
486
998
265
510
15
921
426
279
169
504
386
502
295
775
200
98
637
598
737
748
128
548
731
844
696
108
121
195
266
808
963
702
326
622
389
558
732
139
803
746
426
508
984
744
860
188
834
359
239
838
257
590
115
483
66
236
493
273
878
746
367
703
651
443
517
201
922
850
483
325
799
288
855
680
473
335
405
814
338
973
148
994
814
493
91
802
619
281
306
861
542
650
978
910
739
773
227
605
195
580
852
151
274
250
607
838
210
499
273
90
989
451
577
447
310
284
947
181
229
233
225
954
637
738
696
959
945
726
234
526
223
61
912
18
563
189
189
205
626
852
644
942
163
573
295
154
818
274
717
618
654
5
553
959
652
248
515
618
928
709
632
306
489
773
338
551
174
78
984
569
825
752
461
584
835
905
961
118
991
932
310
551
885
991
948
391
268
812
374
319
420
637
789
37
982
650
773
343
728
754
24
681
433
912
609
587
339
561
706
105
725
798
504
231
721
144
819
901
832
687
958
847
606
325
558
899
482
631
440
960
151
615
6
911
699
252
340
185
371
213
967
606
69
656
185
346
576
299
971
555
78
233
754
272
755
119
731
749
97
451
8
179
117
578
569
149
838
7
950
832
240
355
571
55
384
952
833
890
556
751
503
357
105
649
351
136
98
788
751
965
47
684
708
492
740
272
807
962
635
84
707
15
381
816
64
294
761
462
268
288
772
77
950
35
597
951
990
887
957
664
667
533
705
38
690
849
519
490
46
994
292
667
26
313
101
525
299
291
674
213
629
765
906
212
683
63
295
205
367
562
129
24
343
392
876
899
647
658
525
892
861
621
524
73
898
706
590
518
266
104
896
648
625
972
32
778
548
945
729
7
685
724
510
730
915
22
340
125
672
29
850
953
346
853
913
863
563
134
175
207
177
94
658
50
14
854
679
653
769
737
180
219
956
642
981
120
502
286
634
90
376
273
293
162
638
489
501
191
441
308
822
888
795
398
62
209
349
775
153
799
87
830
913
944
551
732
535
140
161
521
89
977
250
649
307
475
683
521
641
418
308
767
894
505
22
638
741
337
964
888
102
341
160
978
647
760
4
238
655
736
95
876
117
323
281
361
189
13
262
781
99
962
718
193
153
665
730
890
769
244
214
759
334
884
206
573
277
205
64
166
948
491
114
907
747
814
815
805
524
13
255
855
395
411
687
963
19
898
841
900
826
751
966
239
882
97
901
178
852
503
993
468
20
510
339
416
410
324
672
66
875
29
167
226
410
871
615
965
70
170
666
547
604
362
334
582
326
531
520
300
795
547
121
482
610
561
165
542
975
216
511
663
728
380
895
685
228
582
462
654
800
647
484
564
472
183
673
824
356
700
337
423
377
135
649
608
971
460
462
100
37
881
441
551
682
852
752
978
238
767
180
363
625
707
374
499
384
88
816
399
592
400
270
285
441
444
697
251
492
713
41
174
453
533
891
363
896
650
732
714
482
743
385
861
132
201
302
932
45
144
563
14
650
290
774
405
379
767
608
1000
588
397
355
958
126
255
718
910
773
592
37
517
255
272
284
167
593
969
451
941
316
272
420
771
461
714
987
861
349
492
498
63
824
303
462
845
42
290
575
928
911
567
843
430
950
176
854
603
710
602
804
822
879
172
591
538
837
778
128
322
755
334
63
957
293
323
230
771
558
585
524
72
292
228
323
564
160
185
269
108
628
450
980
46
150
489
213
571
288
673
141
322
967
817
622
434
252
87
798
800
934
588
901
169
720
948
913
8
25
49
574
798
186
893
312
482
433
234
849
388
89
252
588
789
294
5
427
672
999
847
279
972
125
290
431
707
523
16
841
978
831
891
613
771
420
845
186
863
339
451
225
890
603
854
801
828
211
482
210
708
1000
623
724
388
813
519
589
592
487
91
889
220
861
814
206
172
324
524
618
495
442
138
221
731
838
381
269
743
831
586
987
121
275
583
324
555
691
484
217
134
50
899
417
667
487
762
577
500
848
459
91
230
192
413
108
944
275
621
292
318
627
890
108
970
20
684
875
973
7
567
389
304
749
183
635
338
527
619
29
167
159
757
637
679
77
935
38
809
927
824
869
346
409
930
560
973
496
559
480
978
341
371
522
224
907
907
121
494
837
571
871
309
141
612
170
677
32
573
786
978
664
528
849
408
543
193
517
947
151
657
508
836
649
13
743
919
578
701
592
40
165
709
595
844
151
73
69
1
102
326
736
847
772
633
324
898
430
342
147
491
4
626
805
75
542
663
503
311
739
567
927
182
244
891
302
784
28
50
11
333
352
488
121
176
778
727
275
305
225
700
656
918
274
955
151
85
828
345
440
465
731
825
433
322
146
839
382
792
342
580
52
479
28
71
512
962
514
662
467
738
814
983
595
443
260
860
963
954
297
976
494
92
955
312
369
221
875
506
436
992
903
342
966
832
970
472
558
563
432
377
596
706
36
278
410
616
470
421
262
560
753
663
272
288
809
837
716
396
223
674
455
31
512
415
818
91
271
392
978
67
176
973
681
149
157
279
247
6
3
970
873
912
304
244
659
539
886
878
197
775
861
815
249
385
971
295
809
221
188
6
792
915
397
43
716
711
591
763
997
137
175
732
888
739
898
84
688
962
412
534
545
602
692
197
120
922
334
155
350
676
305
380
820
775
821
241
558
271
880
325
603
673
405
706
372
335
108
120
648
805
942
722
30
587
450
238
789
708
414
358
397
861
943
143
416
662
565
111
78
722
911
361
612
848
337
810
319
644
168
150
453
192
298
630
222
312
546
117
578
69
534
220
37
848
823
403
455
311
707
161
553
1000
394
295
974
159
228
262
865
606
262
384
255
123
766
418
18
884
168
625
829
903
539
23
317
341
971
916
580
797
100
188
315
357
584
63
95
290
571
224
742
746
53
233
306
720
535
164
907
838
630
276
586
232
44
279
332
895
889
509
684
412
443
853
643
898
252
843
138
306
980
685
987
13
479
352
74
722
392
70
495
288
970
659
521
18
941
240
551
378
957
743
651
781
595
509
910
351
916
40
578
83
316
600
901
874
781
940
609
235
662
906
271
335
800
49
110
223
157
661
408
689
99
836
349
239
146
271
979
100
305
514
997
993
71
279
256
653
793
277
155
727
401
715
634
717
401
262
59
114
655
816
128
725
693
832
863
449
230
347
848
462
91
61
145
838
992
23
752
122
476
524
13
277
840
762
156
711
77
759
981
824
689
755
813
593
732
16
991
279
596
607
547
217
858
146
234
37
968
13
728
341
708
760
660
68
76
731
108
293
748
6
327
165
312
824
779
80
234
589
978
917
925
414
279
383
326
888
492
58
155
447
118
750
316
284
107
140
14
181
227
532
804
77
555
684
129
420
129
365
908
582
506
251
394
697
822
246
828
282
966
105
357
927
658
510
363
153
518
384
560
242
739
250
199
514
563
973
300
10
597
987
57
26
938
486
500
274
167
640
28
690
574
48
655
99
346
95
686
977
74
786
63
565
630
925
803
430
363
229
798
389
624
63
746
372
800
18
118
429
423
473
899
568
405
613
289
538
150
127
681
966
85
930
11
524
163
840
999
869
9
66
914
198
692
748
212
161
526
553
829
740
951
505
947
448
271
816
788
886
965
475
339
220
355
742
964
667
650
490
530
408
773
569
7
679
910
956
521
940
445
485
477
148
771
379
680
169
511
641
347
244
821
590
530
276
796
486
759
413
477
234
604
18
572
610
516
697
845
324
483
432
19
513
996
289
199
899
338
359
39
985
458
802
340
98
545
899
295
14
940
4
366
201
233
169
644
402
209
994
603
427
814
957
336
513
470
63
746
553
859
166
649
833
794
735
449
640
877
130
825
260
461
708
903
437
840
183
476
313
691
707
166
246
543
98
846
665
454
464
264
298
111
242
566
697
331
333
329
963
257
574
808
990
622
263
304
316
105
846
981
923
158
130
973
880
677
622
350
819
540
652
341
587
360
970
246
303
735
395
634
264
943
950
736
795
261
583
440
188
60
261
923
332
403
725
752
517
109
647
242
122
177
281
944
643
994
948
430
519
989
863
939
773
256
883
28
344
201
704
101
282
444
954
594
726
67
386
605
644
782
64
996
887
734
71
318
992
499
721
444
545
271
711
454
604
364
945
146
875
939
986
522
865
295
234
743
179
150
951
340
520
98
202
907
715
820
635
132
240
681
761
754
347
88
83
982
836
318
954
965
947
590
566
152
640
806
795
751
716
760
965
53
884
581
751
78
870
853
555
870
101
141
701
763
339
652
678
122
861
341
512
377
433
76
52
673
400
417
576
58
625
122
695
964
927
787
927
660
898
873
706
479
673
996
811
866
319
515
392
733
971
362
806
166
770
574
478
274
932
165
864
839
11
831
386
496
504
463
895
344
500
614
831
267
972
856
736
750
653
441
203
637
202
802
644
113
455
204
503
165
173
288
656
932
610
356
783
613
600
962
434
97
656
818
366
45
704
45
473
949
713
544
310
583
421
611
757
366
791
971
861
356
609
67
257
14
848
799
885
397
51
904
860
151
993
804
518
523
299
76
604
640
554
662
518
448
668
554
337
54
888
963
60
671
930
925
147
29
148
893
963
887
502
84
190
246
412
286
586
957
184
373
778
701
858
991
879
701
750
747
833
149
903
786
335
21
935
783
76
862
492
265
822
156
629
634
565
114
955
437
538
45
316
248
440
9
111
962
578
105
77
442
994
579
545
260
846
925
682
648
430
270
231
934
312
650
600
436
919
223
931
211
839
67
958
122
817
992
41
371
70
681
756
66
167
598
816
365
127
279
893
472
834
55
141
70
92
767
795
782
894
764
286
908
521
290
705
996
144
433
302
763
472
914
932
504
835
395
12
425
791
377
611
241
5
490
739
996
642
691
771
284
14
890
226
990
511
606
768
183
149
518
409
56
193
209
375
636
414
959
967
557
476
183
95
333
864
3
833
446
526
476
475
39
100
207
90
151
208
427
497
272
784
142
923
423
830
601
327
126
298
196
554
362
44
848
981
107
889
93
342
69
904
377
713
35
940
510
469
635
303
839
165
357
206
458
881
426
298
712
587
453
151
291
426
866
37
485
682
761
724
515
349
179
297
435
864
815
210
777
581
798
861
986
987
512
8
679
489
388
226
959
855
201
452
322
21
713
372
187
42
423
31
706
412
770
597
309
846
388
640
404
891
932
640
726
410
510
701
132
49
32
585
14
322
595
287
124
801
608
293
296
237
506
602
455
124
760
332
360
333
390
435
695
986
328
670
518
632
799
444
554
146
351
586
509
510
284
396
408
755
9
570
928
934
300
712
840
922
503
175
981
220
494
943
604
693
596
75
575
384
727
30
653
86
748
809
997
366
382
465
118
143
68
954
738
687
826
726
395
149
542
713
186
338
73
574
722
454
231
154
251
961
11
110
900
574
406
596
158
599
749
671
50
495
826
869
945
595
933
954
544
359
613
451
436
422
111
969
516
948
430
698
696
493
469
682
589
654
928
685
255
271
530
474
715
857
655
370
600
208
646
763
273
881
900
83
725
324
361
420
818
961
160
572
745
481
983
818
131
891
206
103
849
642
941
663
453
286
947
339
109
671
764
927
60
626
541
1
916
481
760
536
568
511
475
538
65
572
732
647
614
808
562
297
749
255
306
650
797
602
61
934
1000
136
712
236
49
146
383
58
320
632
90
165
798
217
87
329
550
585
660
584
597
566
119
527
225
283
340
11
90
381
511
295
945
414
635
352
480
948
984
578
529
777
884
564
875
924
175
976
970
794
201
816
167
903
435
501
464
114
689
284
345
202
412
487
34
872
750
918
363
48
872
625
502
403
594
812
986
573
461
381
861
454
254
29
240
317
383
265
279
195
711
11
361
149
172
706
287
595
943
911
405
783
46
510
895
943
998
485
885
323
524
144
675
577
406
393
109
501
279
336
66
123
518
32
90
552
432
726
436
783
619
250
189
872
736
556
647
491
863
573
875
924
365
638
174
966
403
790
252
26
263
96
14
985
260
27
246
985
259
601
934
409
799
651
597
723
400
110
810
773
854
647
47
340
229
335
74
487
877
299
377
277
931
424
558
948
659
313
174
519
590
612
235
116
469
737
491
995
988
809
633
359
696
281
777
619
669
378
943
602
321
923
729
638
210
589
95
101
797
889
961
210
925
472
308
379
181
390
637
403
441
85
896
131
588
720
457
16
865
410
345
146
306
577
639
924
491
382
935
547
152
725
802
855
265
771
410
899
898
362
883
786
444
936
492
996
860
797
489
365
189
647
237
354
962
311
329
69
11
508
512
739
884
309
615
982
309
683
107
264
95
126
583
406
440
934
261
854
884
104
520
702
27
202
612
139
697
800
957
59
477
223
842
79
371
442
903
101
896
907
544
849
107
987
278
518
874
490
72
813
241
410
938
135
842
666
395
626
171
70
928
116
951
220
230
750
996
280
870
200
693
877
966
966
727
439
622
170
707
364
156
658
126
332
604
968
494
924
592
920
523
479
436
133
979
767
229
811
181
628
783
491
141
203
486
276
56
764
555
271
163
430
690
559
10
250
847
73
804
239
682
145
840
954
274
359
968
99
848
541
676
485
590
410
650
379
109
434
600
900
732
895
740
689
629
46
554
480
698
508
376
572
262
716
886
465
882
333
819
46
8
22
94
838
780
860
35
728
1000
996
620
537
203
841
462
529
789
219
768
690
384
398
663
160
946
868
69
762
648
69
806
933
254
988
693
705
503
713
212
606
7
571
732
479
333
446
386
241
180
216
423
571
66
47
279
337
507
436
670
356
461
490
705
708
710
910
422
427
926
551
140
847
428
227
750
249
986
642
353
778
592
927
711
754
825
316
577
616
274
883
316
747
515
114
176
333
285
340
195
219
855
669
15
469
35
142
791
946
947
264
996
772
422
961
157
982
905
245
455
7
779
576
700
909
354
986
388
424
138
499
438
955
595
320
709
622
342
506
620
350
598
615
995
793
763
865
781
524
202
922
432
596
649
319
558
18
183
864
907
135
378
122
867
219
67
207
464
785
128
678
251
282
850
269
581
864
733
583
507
850
1
607
961
372
755
126
894
437
411
657
818
297
27
545
529
594
168
241
836
221
202
586
793
205
315
135
288
222
59
177
826
544
967
106
997
297
604
253
447
947
459
101
108
807
228
46
87
209
391
527
885
676
433
383
550
84
734
766
966
333
912
792
705
478
384
387
815
635
990
475
423
224
809
704
299
265
699
440
355
533
683
617
617
326
11
348
370
493
655
917
25
151
988
870
751
227
644
461
77
528
883
614
462
577
306
921
321
859
447
915
84
416
565
7
680
982
973
41
244
969
358
354
951
636
841
618
622
742
986
495
151
816
577
318
866
925
710
596
649
508
719
124
1
386
492
882
302
536
972
706
151
621
34
918
50
510
465
722
682
264
487
190
675
118
90
89
70
29
497
642
676
245
216
528
91
192
471
113
487
664
298
922
163
984
208
829
464
277
133
314
923
497
297
400
377
155
800
563
367
975
913
978
351
857
548
984
137
597
921
506
455
775
146
511
787
127
421
250
414
480
470
188
115
26
134
9
144
324
351
33
880
904
273
711
51
772
945
588
504
424
791
300
334
210
140
687
570
9
151
93
717
215
795
264
226
983
19
44
332
524
792
235
789
995
515
574
715
196
208
765
174
847
922
908
107
696
104
461
942
85
994
81
531
896
699
306
76
971
267
56
344
233
971
370
800
694
1000
609
224
503
926
609
36
938
662
921
797
41
76
295
317
164
90
58
365
265
881
887
254
230
725
739
439
829
188
386
873
199
564
99
29
870
929
476
418
459
732
354
916
91
587
4
442
514
799
545
334
658
227
605
275
55
264
798
802
172
85
504
192
187
822
757
33
168
994
821
876
907
335
136
152
921
175
911
997
218
626
554
660
513
148
547
994
468
514
79
862
419
789
997
391
798
717
158
719
94
809
293
228
807
527
868
318
294
161
247
439
782
402
645
432
136
160
8
266
132
858
933
861
112
316
220
29
869
321
425
531
565
176
74
842
256
827
812
537
357
664
808
105
991
707
235
606
713
715
454
855
528
667
845
666
490
209
886
308
409
893
160
502
353
472
470
171
718
82
140
690
590
874
858
559
14
550
160
265
572
291
740
599
364
793
301
842
76
436
596
53
337
171
634
139
972
354
751
540
68
581
433
104
11
575
279
191
763
290
484
119
699
717
575
818
253
305
912
968
493
537
617
931
458
934
217
546
815
721
241
181
883
421
426
499
620
911
978
66
497
821
555
263
494
760
237
979
626
481
787
201
544
17
907
928
700
795
66
809
546
917
665
520
990
121
7
177
103
409
538
21
680
993
319
180
789
959
539
600
903
43
153
98
537
992
400
71
590
259
56
623
734
196
729
712
258
481
461
465
783
249
123
14
87
289
879
998
112
706
46
421
912
653
228
679
859
86
529
400
989
20
968
174
738
422
973
429
642
706
970
408
819
786
629
725
159
754
303
993
194
579
541
804
558
647
346
750
801
577
5
195
73
519
921
268
854
31
851
894
476
762
359
711
652
318
91
403
613
171
682
344
736
926
738
406
742
24
323
465
634
789
848
448
561
737
59
708
692
242
80
171
20
992
94
932
714
107
332
963
295
487
445
141
420
697
251
80
529
690
83
145
935
741
661
585
202
255
483
931
820
509
224
695
249
984
526
924
371
652
870
338
288
490
913
633
173
529
809
40
568
942
531
348
160
40
164
445
503
551
438
880
652
232
542
63
903
682
392
527
124
206
69
74
268
736
111
741
677
76
719
275
761
210
673
181
469
28
967
496
712
554
744
138
583
717
72
69
775
749
560
511
64
548
542
182
111
728
828
807
136
595
588
206
181
47
986
874
806
177
602
314
45
444
485
310
375
379
977
988
261
185
25
766
567
6
808
234
749
336
926
602
285
776
281
598
241
364
48
593
219
737
797
306
177
705
941
647
802
205
132
117
147
188
159
750
246
724
191
715
275
482
899
580
653
829
145
723
115
927
399
506
435
626
10
682
961
426
773
930
529
459
968
556
660
273
208
175
151
181
975
615
304
62
684
381
79
812
467
769
403
86
672
105
690
580
204
679
420
854
458
599
255
640
560
245
756
628
33
954
221
968
808
288
573
123
718
590
471
218
196
501
55
775
962
773
801
548
875
35
974
195
973
132
102
694
971
255
667
736
115
390
981
804
354
539
803
292
250
738
818
807
904
177
535
742
447
595
489
335
331
715
921
664
729
679
246
465
839
316
696
236
799
621
495
805
198
981
802
451
902
558
459
688
7
700
244
45
260
433
960
501
221
880
168
790
757
934
811
410
221
611
259
39
789
311
564
9
997
631
825
662
473
492
588
653
226
39
186
786
615
239
724
503
312
113
217
966
142
272
5
553
682
808
177
688
899
593
179
144
886
759
176
347
4
443
22
759
305
882
887
105
173
625
675
94
519
894
389
250
707
127
505
692
637
345
226
977
45
260
218
647
129
985
66
716
84
780
210
163
977
553
568
417
670
679
414
966
182
322
314
419
949
619
101
861
941
970
924
814
497
211
397
938
24
628
723
438
413
597
500
202
179
170
560
901
784
30
824
645
595
87
655
269
221
437
574
36
729
524
581
333
375
139
472
938
54
307
742
573
608
211
646
728
519
56
971
237
260
171
897
639
783
699
92
166
171
969
844
93
511
979
587
261
393
475
689
841
294
789
698
745
266
923
577
694
991
403
611
603
283
20
805
834
532
954
558
851
421
680
351
14
505
723
962
533
859
582
481
133
62
84
998
573
269
21
405
978
939
180
159
904
96
745
230
134
666
665
711
489
504
742
694
349
238
97
146
150
921
195
422
864
821
798
989
344
350
33
690
477
278
294
576
270
877
822
939
363
578
632
674
970
53
917
522
921
377
179
43
302
66
114
424
166
335
731
313
940
895
234
950
431
954
6
783
789
857
361
604
407
4
864
14
464
226
682
666
786
827
823
318
726
863
149
192
28
71
721
517
19
11
400
428
11
662
585
573
501
693
667
882
610
54
56
969
221
401
612
531
440
66
945
937
323
965
307
917
311
853
751
906
435
826
813
102
152
815
225
785
634
94
64
740
420
492
313
938
622
101
11
734
274
742
57
963
20
351
241
233
24
764
290
650
922
57
517
948
634
755
203
719
95
687
954
29
286
260
118
203
481
188
788
988
289
509
52
601
888
828
936
413
840
300
893
143
14
817
819
451
414
220
290
806
208
142
142
306
799
258
564
919
600
288
589
243
48
120
246
489
502
774
656
822
869
775
56
606
226
671
51
372
213
62
415
529
703
546
399
917
91
376
820
338
564
485
180
72
887
766
658
246
560
137
134
615
678
972
305
945
481
949
567
756
346
211
574
589
959
21
280
315
482
766
859
296
800
247
70
309
370
670
550
262
741
683
16
687
561
46
552
857
784
307
4
199
806
892
990
326
489
599
194
638
370
376
430
943
874
615
397
938
1
926
211
743
825
491
551
875
59
680
691
188
150
533
782
357
596
90
526
387
679
344
719
534
384
724
284
721
45
641
54
228
180
587
993
6
55
701
537
408
734
486
444
539
782
606
864
710
314
264
346
646
781
721
168
238
771
929
643
601
66
63
73
125
410
11
599
24
751
511
509
605
183
660
467
119
496
13
755
576
983
316
826
371
150
223
409
892
49
989
928
561
235
249
249
885
757
450
619
216
174
425
184
830
316
883
690
856
399
297
763
372
138
807
715
644
732
239
933
128
897
308
730
317
699
376
26
963
556
887
313
496
642
749
155
685
872
476
920
752
813
878
499
128
156
420
546
33
808
178
169
884
306
476
36
306
3
868
623
154
371
134
650
560
892
336
829
466
188
804
692
489
458
104
634
249
840
676
296
503
975
839
51
488
968
294
701
920
894
77
415
976
202
165
596
439
697
589
624
863
224
929
362
283
872
566
906
525
250
903
299
594
395
37
839
978
928
58
171
979
371
220
563
310
943
714
644
286
726
702
406
904
833
509
459
995
90
653
369
401
790
449
407
834
276
471
182
677
473
83
457
473
989
563
893
289
90
111
606
421
663
160
188
165
276
959
284
488
573
367
904
482
538
148
400
411
618
849
440
20
284
482
362
535
408
857
29
433
698
374
647
629
568
486
67
211
999
850
757
225
382
377
970
300
831
39
648
90
195
258
246
631
827
195
949
678
197
19
767
38
593
550
568
697
493
237
419
302
650
559
518
136
606
334
611
324
95
326
23
382
802
787
328
644
1000
266
268
274
884
71
711
813
825
307
350
216
345
252
340
341
352
180
270
719
39
426
710
225
931
599
56
966
739
400
575
280
29
374
331
283
260
319
150
769
377
773
931
618
3
148
340
75
220
672
387
395
105
188
493
390
447
298
353
353
552
54
353
673
612
609
330
241
927
795
187
357
127
628
250
475
677
70
283
544
135
263
753
118
37
566
286
679
840
427
255
808
20
78
74
946
317
501
119
486
106
935
121
853
51
444
526
39
527
684
582
782
760
104
866
231
303
222
519
444
231
524
746
521
400
789
11
531
223
298
929
640
680
516
77
999
685
277
800
38
527
426
641
766
818
173
188
570
282
94
980
788
746
874
620
21
910
367
370
752
822
497
347
342
506
841
881
886
829
506
718
721
574
1000
545
621
604
427
737
824
192
208
320
78
851
972
885
847
471
976
602
643
160
615
539
231
957
174
199
99
509
925
569
149
861
123
4
62
763
206
943
136
265
737
809
709
932
247
430
470
697
136
976
29
231
228
722
173
731
422
907
97
183
85
569
742
484
525
547
102
303
886
742
966
175
307
341
117
132
19
933
456
133
346
389
846
628
240
889
746
898
72
728
856
196
883
398
70
307
192
961
998
873
784
928
193
715
563
686
38
431
721
24
891
745
956
443
722
435
416
782
969
206
377
109
754
497
401
987
900
81
867
986
449
277
307
746
473
724
971
1000
27
980
361
693
46
656
288
751
795
371
159
115
287
628
784
350
710
586
3
554
487
805
794
256
55
252
361
747
845
261
884
574
215
685
239
956
297
143
9
517
795
190
538
49
797
167
628
987
572
730
670
889
121
338
718
494
8
478
999
884
588
37
849
844
324
36
916
762
294
868
751
341
365
323
570
915
736
908
57
419
751
417
591
890
917
268
130
948
44
859
330
860
326
86
165
643
929
196
423
156
381
370
988
295
638
774
740
188
206
318
225
788
116
66
10
351
863
23
764
93
650
39
666
728
388
695
696
706
973
329
733
689
263
807
153
238
63
266
790
711
162
799
720
111
123
984
308
997
111
236
345
563
503
169
929
737
410
581
927
425
527
188
476
81
925
943
12
383
475
638
738
165
636
487
253
659
210
574
351
769
525
361
586
352
182
935
306
433
193
315
278
857
804
941
900
129
805
387
286
112
429
489
161
799
225
310
590
586
431
794
77
362
467
535
434
251
109
821
149
10
811
3
658
974
419
261
93
873
206
81
524
49
767
71
724
398
819
283
737
808
344
863
338
12
851
691
571
542
753
637
127
902
966
209
279
171
908
654
444
1
971
42
223
372
448
440
956
510
585
62
377
137
149
220
991
528
429
928
153
943
80
283
635
637
596
133
714
18
483
45
363
517
400
352
202
383
620
846
278
918
193
748
550
655
76
735
240
581
339
118
815
796
254
772
443
934
727
38
206
269
51
611
243
645
417
394
223
325
949
384
284
364
304
937
591
351
23
162
221
242
898
777
915
510
586
502
599
53
585
928
229
115
472
861
678
995
991
341
864
449
191
885
267
522
298
21
316
994
442
849
852
764
645
173
32
258
733
774
586
389
951
473
296
687
76
973
930
974
806
899
639
333
18
62
999
224
257
741
451
265
480
697
916
620
635
696
709
914
151
563
721
327
765
184
19
815
422
373
639
444
177
294
374
447
94
908
757
931
194
988
322
142
362
369
406
790
987
467
457
248
794
542
812
336
983
844
420
26
312
571
798
636
221
510
823
971
401
341
604
458
536
854
785
521
33
743
115
297
671
207
996
368
63
346
59
319
686
182
489
809
56
245
961
310
274
783
547
863
809
97
915
948
856
938
417
103
44
625
475
991
558
349
756
412
7
98
207
214
435
802
995
109
979
568
710
167
564
333
32
176
909
878
157
91
855
891
942
521
688
706
651
587
710
400
620
490
775
178
952
838
878
356
541
90
190
799
377
507
125
359
60
628
83
745
918
608
590
224
924
720
391
769
878
951
926
560
927
879
314
242
591
989
602
974
883
136
592
109
2
146
968
278
336
414
829
768
181
962
959
356
696
587
348
146
57
636
536
584
714
461
319
495
928
793
248
940
478
108
143
670
552
571
503
209
353
277
340
917
858
342
430
916
545
831
410
429
589
668
444
893
214
420
434
209
427
305
860
618
303
846
372
983
389
355
202
720
521
826
325
208
565
880
27
298
151
113
223
426
473
582
420
945
605
181
703
495
612
355
495
629
910
926
139
464
982
817
522
811
536
101
87
102
649
129
554
458
265
426
615
368
641
708
651
845
6
604
269
324
725
648
77
280
735
666
648
276
874
932
73
155
1000
391
846
148
472
782
83
969
650
725
234
370
553
708
527
207
722
424
325
795
627
111
507
235
661
377
713
411
900
495
38
590
298
304
318
876
933
651
681
322
260
805
435
137
34
362
688
274
745
949
314
659
950
494
16
449
825
871
266
26
652
530
839
854
715
80
535
949
249
886
396
479
679
434
419
922
368
601
319
280
499
996
377
86
505
218
775
339
677
217
122
24
190
949
59
578
812
162
924
551
985
453
484
670
803
731
618
735
639
799
692
60
836
87
57
688
930
472
746
216
293
741
993
885
16
470
609
521
45
11
631
39
329
852
893
452
776
795
338
800
317
304
964
922
285
889
247
790
594
563
794
955
931
287
747
753
284
769
149
65
640
175
96
834
622
96
992
4
171
588
641
263
106
228
214
755
549
911
391
947
755
515
42
928
841
715
925
767
267
899
754
949
712
607
878
570
137
933
558
684
432
61
484
150
29
479
744
395
250
440
932
718
959
917
474
178
326
664
501
643
74
948
836
260
640
230
731
486
106
317
1000
826
550
538
111
578
772
50
616
242
927
738
16
685
693
22
797
845
52
548
894
511
614
949
311
674
688
754
930
74
999
136
846
796
3
341
686
208
273
556
455
119
285
484
440
724
291
93
542
846
607
820
234
992
815
42
18
944
875
747
843
974
52
181
472
291
940
676
179
956
563
16
483
391
691
463
851
524
88
7
424
797
307
469
871
536
87
886
388
636
100
950
759
119
46
374
84
893
614
756
512
951
858
893
820
328
919
514
197
361
817
99
949
194
263
778
140
3
36
321
366
126
513
846
962
130
335
239
948
868
67
187
938
742
901
380
26
717
150
716
430
115
271
262
266
837
683
333
375
495
437
275
575
831
137
472
58
963
124
626
876
220
64
594
683
756
549
934
892
730
216
835
454
541
200
297
279
510
435
268
165
441
440
929
737
703
739
495
546
805
996
685
952
992
281
502
833
7
616
62
490
34
102
14
322
792
466
510
999
903
859
782
878
931
46
129
344
967
955
522
650
216
694
90
516
818
734
467
472
54
964
361
460
158
686
719
692
186
448
560
154
792
823
882
410
294
815
41
573
112
659
672
386
528
145
512
396
723
469
454
69
209
844
798
560
109
743
925
523
230
694
561
40
467
31
399
212
936
835
70
459
125
587
391
895
490
743
342
387
179
492
467
116
991
486
252
455
232
188
564
29
887
822
426
636
404
589
233
540
422
937
15
312
989
207
519
11
160
872
667
987
401
958
433
15
842
939
297
766
326
574
216
875
101
679
470
952
198
807
864
975
808
164
483
383
411
844
609
92
58
690
490
373
903
601
324
217
77
165
240
360
9
839
50
628
561
738
255
641
734
266
107
186
221
480
550
791
824
49
495
93
552
151
208
635
300
422
545
608
99
376
403
893
333
306
17
462
730
758
690
852
616
122
112
938
700
743
672
682
613
225
107
890
512
290
332
259
356
623
559
151
850
628
664
609
646
922
292
100
107
679
384
339
845
667
624
359
272
917
845
656
617
493
539
857
200
745
463
856
289
789
768
766
524
660
241
381
706
766
970
23
752
783
234
816
744
139
485
449
287
539
18
431
858
821
369
692
416
541
512
144
322
326
644
475
525
985
729
3
49
786
1
912
58
95
286
563
137
782
391
848
2
433
752
765
537
392
221
487
899
115
179
181
486
144
106
787
671
231
385
737
600
804
390
355
768
32
825
285
772
157
895
841
414
679
133
623
268
225
589
60
965
594
674
843
666
592
153
333
656
731
663
106
537
758
636
793
245
314
726
214
2
696
662
630
339
825
934
596
573
51
900
526
407
324
688
561
912
642
744
759
757
368
5
938
407
200
422
721
998
110
54
472
707
518
974
839
753
358
20
572
616
432
831
124
638
651
621
295
983
322
926
859
790
658
870
659
490
46
562
140
447
446
913
670
476
485
487
279
368
412
19
653
195
134
879
291
91
944
53
773
152
405
212
966
320
100
27
839
413
568
192
255
944
857
542
769
31
512
233
963
466
743
225
323
982
751
178
987
858
879
471
967
258
341
217
588
121
757
86
983
13
647
209
426
48
290
663
186
903
129
876
366
985
939
761
870
9
572
565
273
591
963
235
828
6
438
531
295
878
107
289
577
454
264
968
368
40
258
85
151
359
286
219
939
851
885
993
54
410
709
897
132
646
315
811
263
522
304
856
858
152
126
541
384
588
252
222
602
697
241
548
310
582
416
953
870
559
485
189
22
411
465
621
546
474
691
239
374
150
527
377
638
581
632
699
982
571
291
314
155
311
343
823
585
94
744
669
100
8
619
430
484
566
957
588
824
276
767
857
930
509
608
402
221
344
877
108
563
729
154
622
509
961
192
59
279
432
846
108
583
584
368
771
126
247
990
123
173
889
664
277
106
789
149
234
306
867
382
388
976
667
207
249
803
30
97
385
432
81
460
668
798
490
473
654
282
388
176
342
524
936
727
606
461
309
289
303
844
779
38
465
19
642
153
963
280
981
448
756
431
642
543
158
515
333
53
565
852
467
309
719
610
222
554
921
170
314
381
548
425
123
437
866
986
165
31
398
993
371
368
53
860
267
582
805
805
957
573
951
470
750
985
902
288
378
273
994
506
29
936
47
918
812
468
247
457
879
461
485
747
129
624
430
613
330
154
504
303
522
56
376
924
780
475
782
116
758
72
262
570
959
800
891
353
337
155
183
346
661
146
153
309
70
769
914
244
357
736
328
722
840
553
936
827
113
845
812
177
581
976
55
274
445
593
321
66
728
752
204
193
995
611
269
849
667
556
255
580
200
762
282
614
958
853
916
532
313
334
569
157
331
876
64
572
458
394
107
79
756
79
81
706
582
210
829
646
76
586
20
573
466
935
304
385
989
455
704
303
184
967
578
664
400
807
72
942
660
669
171
744
399
117
360
560
205
362
401
35
399
209
946
409
194
786
524
554
200
781
953
734
266
437
375
812
984
478
921
115
698
465
476
629
542
844
150
436
843
59
817
611
212
684
538
861
780
484
768
270
336
641
989
418
570
218
825
37
229
45
738
61
761
839
150
654
941
332
162
318
37
604
118
675
329
577
916
901
155
893
312
71
213
951
476
865
569
943
689
180
625
147
411
213
379
541
868
479
427
82
988
35
501
614
743
936
828
416
915
549
210
887
888
900
546
696
321
671
436
25
446
806
652
178
309
959
475
954
482
144
367
619
645
55
991
266
973
461
317
595
431
987
477
902
936
366
29
150
844
939
536
527
354
786
679
820
258
363
667
274
898
954
371
329
354
532
415
790
624
877
459
525
25
911
49
752
114
255
675
337
179
946
161
285
770
114
103
815
763
154
822
946
212
619
249
553
582
596
197
221
986
817
737
41
766
137
764
687
47
295
394
749
946
62
524
282
718
988
750
2
482
951
854
351
84
639
219
928
324
900
897
396
21
626
480
52
332
462
627
700
338
169
828
314
151
919
993
268
707
135
519
588
952
752
777
737
369
944
367
976
642
410
67
195
801
305
130
446
361
764
488
89
817
776
434
608
357
832
587
633
795
382
276
679
559
658
9
404
1000
780
354
943
450
454
372
47
202
715
764
243
45
365
969
266
51
746
815
322
87
463
708
526
911
487
1000
60
764
859
922
140
115
851
372
896
548
13
952
669
845
28
863
998
981
631
641
818
94
199
306
981
493
747
135
234
418
209
181
221
576
866
642
906
438
698
355
57
913
265
36
68
291
423
335
454
271
835
450
812
496
761
804
905
258
55
261
797
934
637
462
634
276
988
103
768
908
347
436
398
231
379
803
788
481
40
783
449
867
257
394
361
556
827
854
428
767
616
586
883
396
762
537
285
388
66
350
86
559
188
655
482
684
560
505
402
430
179
28
61
174
546
452
427
826
68
980
362
511
183
451
911
382
304
294
452
907
458
88
944
652
119
915
550
987
342
822
266
166
751
877
20
895
323
754
888
870
203
268
714
749
956
28
422
672
788
216
729
771
263
484
835
52
929
194
866
675
131
480
512
929
974
145
358
131
39
19
838
262
5
200
653
423
748
566
700
72
868
17
309
583
809
220
599
859
939
1000
305
634
3
118
295
607
331
924
310
732
81
218
158
848
563
738
721
315
407
870
646
477
902
547
511
585
381
796
605
288
889
78
197
896
742
397
292
430
763
107
472
889
126
515
314
245
800
652
305
462
479
49
899
189
778
934
555
884
203
78
186
800
73
373
413
666
140
368
448
916
122
153
200
991
753
431
425
601
231
111
349
812
133
500
208
486
987
977
598
923
670
102
323
479
731
234
710
615
534
86
971
57
871
114
265
718
296
279
570
597
980
508
320
140
328
150
55
439
951
794
3
206
831
127
582
665
684
870
322
412
608
471
584
768
36
900
758
391
948
839
347
700
36
549
427
206
231
943
527
978
600
719
874
271
116
934
294
832
223
65
797
511
431
426
18
575
403
802
241
572
124
283
680
673
774
581
81
169
887
581
436
211
189
443
833
915
321
380
995
719
243
128
90
190
752
200
760
558
970
263
150
909
59
352
886
325
711
181
617
246
136
514
693
988
384
414
44
665
840
199
106
708
637
109
905
833
546
2
52
545
646
896
450
240
673
784
977
520
523
983
256
621
786
177
930
725
576
481
500
504
143
53
871
456
928
249
284
467
807
866
133
554
205
758
540
937
673
992
222
428
303
763
321
612
27
479
373
465
467
787
541
844
510
834
540
774
161
693
450
551
591
763
744
482
479
868
400
507
907
987
959
33
80
777
705
78
104
545
960
198
888
920
641
749
14
217
801
757
38
449
895
9
309
968
867
54
816
978
2
440
977
557
653
886
577
334
585
80
233
705
718
428
876
301
431
410
747
461
471
163
305
592
721
519
276
673
727
10
775
593
958
307
89
694
202
110
225
639
389
794
773
728
382
991
1000
838
979
866
307
460
424
45
394
723
234
44
499
852
38
547
79
245
424
111
165
270
504
658
424
869
10
671
642
321
269
123
935
814
321
981
526
46
780
629
305
681
783
625
724
373
499
17
813
7
256
882
194
965
259
810
61
511
274
849
987
857
398
773
290
38
232
665
455
540
337
444
748
494
849
412
729
367
544
863
874
271
412
528
842
441
34
940
267
940
653
811
104
373
863
177
678
237
265
349
591
553
257
702
528
594
388
952
869
835
333
815
676
760
603
934
310
772
570
508
431
257
235
303
604
805
456
671
47
702
17
708
360
41
998
931
187
271
422
726
870
520
6
331
94
809
200
310
434
120
341
324
466
368
936
487
837
480
539
759
251
186
669
635
850
602
505
847
884
381
878
933
869
17
178
292
668
875
384
788
48
659
366
49
316
320
967
357
556
851
164
431
878
47
756
466
794
32
636
495
541
307
681
527
714
136
682
939
50
314
553
273
589
756
266
951
724
881
552
400
838
491
447
730
321
645
199
450
794
124
853
618
226
163
94
505
506
520
570
71
709
401
971
540
949
393
577
910
244
378
889
506
253
328
188
571
110
985
584
475
811
720
154
294
790
254
306
439
389
508
362
484
877
597
676
585
588
848
306
671
498
773
371
127
283
138
748
804
481
615
687
42
891
16
256
814
759
786
278
267
598
247
537
665
751
74
629
220
886
621
740
352
697
1
48
695
990
283
164
539
203
772
255
488
151
110
35
810
468
821
831
326
754
59
286
734
942
482
119
925
749
609
512
195
397
553
347
274
937
698
528
703
654
776
34
461
3
802
204
637
448
484
984
638
403
54
504
636
177
970
418
945
472
533
901
576
517
307
31
477
355
134
602
868
148
673
46
639
644
654
252
4
69
426
553
449
815
995
42
582
247
459
683
638
834
615
400
255
597
611
422
629
561
644
698
311
506
138
120
711
783
284
627
849
421
526
982
10
23
411
199
745
211
160
107
76
468
508
522
882
312
617
864
170
631
324
792
335
883
612
668
593
622
918
171
474
456
856
441
620
124
963
475
199
840
345
326
890
455
466
859
756
239
864
436
325
315
304
904
834
844
703
712
907
88
199
803
922
376
881
164
906
814
56
563
115
324
370
71
373
189
778
392
823
862
111
924
9
207
981
712
112
689
830
166
704
317
230
457
610
266
924
38
362
190
705
597
198
216
940
71
826
478
439
52
937
842
421
30
992
166
516
431
953
27
117
362
433
382
880
263
205
989
868
449
135
789
650
651
383
639
636
205
156
907
82
527
362
526
489
842
307
981
568
932
930
603
542
830
171
276
337
983
754
315
121
368
61
885
718
484
780
728
679
909
726
435
148
326
526
707
233
551
913
294
286
112
982
373
328
324
94
143
907
696
69
318
816
693
950
28
438
541
860
338
957
826
454
261
320
81
28
645
621
413
607
767
546
521
226
825
592
100
197
760
66
733
351
6
276
843
125
845
906
193
901
989
291
710
160
924
195
115
893
321
755
965
183
500
443
230
26
561
240
450
276
268
764
860
72
213
717
593
205
79
900
241
682
68
957
581
166
662
212
248
74
954
205
496
844
703
26
955
308
118
112
472
142
155
974
712
106
734
210
171
142
885
240
660
420
281
457
125
144
18
831
853
209
765
595
756
863
610
293
428
132
43
375
104
102
484
498
481
109
716
886
593
507
370
409
595
970
348
536
352
217
698
955
172
628
985
428
927
494
654
425
20
504
220
173
403
679
377
12
848
146
293
396
258
29
395
411
610
260
961
460
494
301
674
611
872
604
122
177
835
136
881
280
614
449
444
520
66
586
747
374
167
573
474
615
789
376
611
889
186
987
975
529
162
713
542
876
853
858
471
614
420
737
622
126
723
323
247
446
219
952
277
172
901
167
282
608
120
197
757
488
465
561
866
851
751
10
132
50
312
318
880
394
447
464
409
639
867
385
972
393
435
792
653
529
308
507
139
830
840
401
203
469
247
292
428
361
85
97
358
89
49
120
757
888
477
608
148
132
193
611
101
859
21
734
47
150
370
600
510
586
783
701
743
574
243
838
722
95
332
568
329
277
29
864
340
265
77
747
534
53
344
762
826
294
540
989
845
631
985
765
781
744
868
394
640
140
565
895
278
706
147
308
705
155
189
118
204
828
292
157
723
719
589
704
877
246
591
578
630
2
396
760
406
686
193
400
923
464
475
139
545
236
82
342
301
696
498
176
24
591
355
474
248
309
185
970
597
759
842
804
415
535
877
164
288
520
371
548
923
413
384
418
591
138
236
932
947
733
271
59
593
120
658
604
190
100
8
586
266
14
299
978
121
794
670
5
420
537
123
111
75
296
100
197
53
546
158
929
590
636
722
773
77
610
964
883
598
956
420
128
677
224
844
386
314
938
166
641
774
921
121
594
957
972
320
247
337
793
5
365
656
238
777
812
535
219
874
492
154
72
391
48
964
787
7
523
179
268
341
892
435
702
76
767
587
215
380
590
69
186
938
310
650
14
135
913
676
655
543
114
95
958
875
235
669
674
997
555
757
35
442
413
990
969
79
955
964
331
256
689
794
22
782
964
20
502
574
61
876
3
648
849
383
681
427
839
77
75
977
53
425
488
919
334
168
326
194
572
866
21
803
895
928
861
925
8
255
987
512
745
437
812
599
372
121
354
79
331
786
301
600
961
629
177
613
129
723
601
295
905
888
494
259
131
956
46
474
204
249
422
819
462
102
427
9
343
222
872
460
827
530
920
778
819
860
505
185
754
578
802
162
155
742
832
987
845
883
475
656
241
903
608
872
472
818
572
408
73
331
909
170
650
261
162
717
240
891
527
807
26
207
327
817
721
797
605
477
193
937
618
474
836
981
622
870
801
746
182
208
432
991
148
398
152
467
558
190
632
258
7
93
246
275
419
117
733
876
736
590
486
513
790
607
81
222
487
387
501
529
489
921
10
63
777
800
778
754
836
72
172
988
715
283
88
527
880
596
844
296
611
54
884
380
671
565
43
689
107
189
148
796
350
625
529
396
225
615
385
665
71
112
27
584
980
679
724
923
22
553
260
166
449
214
334
126
78
96
611
380
439
287
603
936
837
677
503
744
152
43
808
759
76
965
833
253
494
330
204
27
880
394
33
927
913
27
763
861
982
831
596
84
921
249
14
99
62
680
152
937
689
861
680
934
49
468
414
392
360
966
85
646
668
224
588
152
972
311
525
167
782
196
79
486
149
763
70
468
267
700
559
296
927
299
498
5
469
170
757
315
397
182
316
715
487
688
520
581
23
241
89
297
823
558
9
526
802
441
508
766
152
732
85
307
654
164
937
526
240
112
236
236
692
873
362
437
283
57
621
423
246
93
982
626
169
636
53
2
821
881
868
23
461
414
25
538
349
205
424
869
91
849
87
502
396
918
586
670
55
577
170
897
224
248
982
350
620
145
696
428
837
978
494
583
813
992
528
807
415
742
950
543
213
736
127
74
784
116
880
563
314
53
471
25
807
433
560
440
987
708
584
142
842
481
794
374
788
540
747
601
675
534
140
777
163
452
733
254
552
370
544
447
792
692
634
677
222
220
575
837
608
4
128
661
121
805
743
413
256
423
260
746
105
904
570
339
5
776
63
674
369
121
414
970
394
194
615
865
444
774
212
905
123
175
352
287
428
87
636
576
964
13
725
326
829
108
334
614
708
624
531
521
678
32
246
485
413
94
504
285
805
849
177
131
489
475
989
963
412
500
94
604
365
653
792
849
353
959
859
929
788
317
527
22
752
923
343
690
986
351
54
116
858
35
138
76
255
177
833
383
292
810
323
371
705
878
267
673
59
699
979
127
207
117
395
175
990
959
435
512
801
188
475
57
496
256
421
573
83
725
332
344
786
186
610
395
352
875
522
665
939
122
245
394
517
1000
654
729
473
78
809
248
52
188
464
627
311
517
946
179
515
135
445
353
289
260
86
597
383
203
152
130
591
941
497
334
255
689
475
415
765
682
691
951
656
627
495
706
213
900
425
873
993
655
734
489
296
434
729
321
414
756
893
971
451
418
679
290
589
928
399
432
963
567
872
68
700
71
354
328
290
811
803
11
137
660
715
501
81
445
615
589
684
982
778
116
287
230
909
928
216
14
315
172
1000
110
591
328
158
215
925
728
924
478
949
520
254
811
455
171
625
169
427
622
390
345
551
179
939
593
793
52
502
572
683
207
196
702
663
879
844
973
226
633
157
700
599
353
120
456
425
917
789
684
210
592
264
44
325
387
302
635
994
686
882
588
6
516
63
434
863
677
621
819
695
809
302
838
548
187
991
285
592
651
745
577
371
647
416
977
497
742
574
15
52
397
506
680
556
970
351
31
548
121
859
378
726
852
809
69
95
372
881
232
774
886
649
508
940
162
405
957
906
445
737
800
446
871
129
635
345
62
355
38
545
945
146
268
457
233
382
879
732
135
78
626
235
89
571
13
73
261
582
178
246
561
304
584
917
738
263
179
351
887
463
250
275
352
241
191
803
592
335
811
86
28
914
600
535
293
670
570
804
574
669
932
726
942
299
857
29
645
568
12
990
376
961
402
138
402
284
269
746
282
217
463
117
625
789
740
626
947
620
903
52
252
590
574
983
391
507
635
993
584
502
83
839
777
82
100
138
652
256
641
866
165
668
732
553
480
440
989
206
27
290
548
878
229
558
736
240
87
955
324
731
466
210
118
615
383
309
9
766
42
684
302
133
652
537
316
587
318
461
802
313
394
665
655
985
735
405
797
719
248
653
847
193
948
676
400
389
521
928
283
128
33
603
191
938
998
245
457
819
494
72
547
174
393
30
54
478
59
168
593
304
53
588
16
925
503
114
797
69
773
827
253
328
994
758
535
382
848
401
939
447
685
143
161
305
718
392
562
865
560
919
389
448
812
955
151
889
753
617
39
119
466
550
360
93
842
68
439
813
31
662
337
710
848
464
49
862
513
155
540
315
934
848
90
337
381
654
953
524
38
49
247
532
402
597
342
658
926
330
727
608
601
854
511
581
412
260
243
233
728
54
709
159
720
598
711
301
836
26
628
70
242
194
712
56
835
979
664
892
169
179
30
213
133
329
355
706
736
970
801
893
731
325
202
650
68
849
87
473
389
842
260
132
871
148
924
667
707
14
206
679
452
296
133
428
266
586
795
604
805
262
462
500
160
134
880
962
751
148
847
704
555
540
427
498
376
967
847
292
128
384
199
550
254
864
559
944
499
130
34
100
180
303
549
243
28
254
887
450
425
991
620
720
576
720
79
207
730
562
451
783
105
437
405
559
538
279
414
125
233
587
49
25
200
283
123
442
84
992
464
152
146
162
511
536
85
880
660
866
250
845
488
139
530
733
555
418
889
105
476
51
64
73
339
153
431
184
384
397
417
365
3
547
127
310
808
114
29
404
474
216
675
122
521
984
404
852
32
871
905
285
537
798
330
802
925
398
365
801
328
484
313
528
361
553
757
784
955
280
835
803
315
952
490
741
203
286
322
443
807
327
830
598
995
978
904
954
589
251
375
8
647
507
359
449
418
790
857
718
761
877
831
205
334
788
503
989
805
332
204
525
621
742
444
363
690
522
235
789
381
479
910
287
885
293
803
837
888
81
200
361
871
185
912
91
163
775
667
231
993
954
279
41
424
744
199
404
1000
718
645
7
357
62
946
491
839
544
160
318
375
206
268
661
482
573
464
288
285
871
159
314
858
999
311
657
54
18
611
253
180
499
873
372
584
386
689
868
213
936
67
863
686
909
267
99
304
418
527
207
658
753
699
205
195
55
84
817
175
930
893
611
950
975
868
563
382
689
523
332
522
462
388
463
389
152
388
771
779
263
218
330
589
892
135
894
28
423
134
42
463
413
843
53
342
223
831
302
821
750
211
980
246
38
574
57
625
620
324
721
549
225
399
954
850
860
259
530
391
344
729
483
37
94
987
987
786
318
515
706
470
832
343
866
231
346
268
709
162
474
27
526
168
662
596
174
57
908
885
827
356
468
100
723
144
671
959
864
450
627
761
910
396
875
42
22
343
936
161
33
711
361
725
124
68
80
166
129
286
778
177
700
310
581
923
827
97
549
144
635
835
337
298
928
406
938
905
724
373
573
98
872
482
663
182
904
777
296
720
487
952
769
222
168
487
577
53
648
456
715
565
456
614
246
783
765
547
892
214
18
190
836
436
224
994
5
213
33
385
849
787
183
921
57
854
496
740
682
501
372
463
872
18
652
721
798
100
787
854
361
376
486
142
967
648
417
135
9
445
41
258
658
738
413
895
265
732
589
576
928
666
327
730
813
465
919
695
370
898
329
345
916
631
270
712
969
183
539
471
299
329
657
3
940
950
870
21
272
662
640
429
877
823
28
168
57
665
786
268
804
388
563
269
517
997
338
419
955
570
111
807
759
407
886
688
363
230
234
772
290
176
28
193
593
844
486
176
724
65
320
207
200
387
611
604
205
474
12
974
748
774
17
994
30
818
347
302
464
479
911
67
175
353
456
995
867
188
753
74
671
941
88
405
945
612
912
800
42
491
729
680
725
804
680
992
274
67
856
477
306
614
23
642
997
897
353
228
691
130
727
788
863
779
359
223
6
223
831
782
310
608
70
88
922
569
488
177
172
33
254
450
389
737
646
670
856
463
518
828
981
238
204
784
12
917
570
76
459
618
527
195
945
466
25
901
379
983
469
900
184
236
496
278
816
553
301
639
950
228
14
802
549
112
180
252
451
433
27
281
282
475
66
897
237
988
517
123
737
325
223
299
50
345
980
306
696
38
691
467
894
721
314
3
329
360
400
542
266
281
866
143
386
49
788
711
766
825
170
468
92
841
92
358
546
944
132
885
814
360
692
881
285
894
699
166
851
832
162
849
674
678
261
296
904
713
916
421
601
65
330
7
87
603
594
215
490
545
239
330
536
47
594
34
520
453
898
180
962
99
371
144
659
743
881
294
725
755
424
18
735
171
337
78
267
616
94
723
996
848
529
147
971
405
584
378
863
425
992
616
801
187
835
364
841
387
599
455
283
417
151
198
783
193
44
435
672
173
732
259
979
254
509
487
385
190
493
789
766
990
549
511
24
558
820
842
617
445
451
948
590
195
164
107
922
211
588
652
691
461
602
783
910
633
544
871
859
522
779
935
430
554
29
391
276
340
855
993
535
70
840
136
524
380
375
341
84
36
409
776
157
419
178
150
820
328
693
151
202
59
769
900
628
74
423
551
915
809
777
249
923
364
999
164
366
850
399
191
399
164
526
233
695
845
988
666
558
425
789
728
112
413
151
58
768
632
153
584
984
122
37
245
774
274
695
804
583
117
678
143
885
972
50
978
323
749
544
901
290
262
773
16
585
820
707
191
216
262
215
159
439
297
253
250
870
720
190
543
866
621
834
620
393
169
958
899
302
964
517
746
260
192
279
160
580
58
307
864
856
26
573
47
617
443
7
853
167
992
448
924
418
271
294
983
799
500
116
473
230
999
166
723
792
599
465
1000
926
616
147
46
915
336
809
405
966
246
901
901
419
382
592
137
487
242
145
778
445
689
545
666
393
145
11
547
544
155
95
287
487
116
237
983
24
532
15
298
11
694
856
678
65
71
611
862
153
17
256
232
832
647
944
88
365
836
763
931
16
337
876
149
569
976
143
319
540
705
940
481
586
66
667
343
355
272
323
356
365
682
637
998
562
917
460
396
855
251
499
651
301
189
36
810
585
336
973
469
109
776
385
426
300
156
802
614
727
613
577
797
227
470
54
156
534
375
710
946
807
172
91
852
93
332
162
549
964
220
619
239
489
815
847
601
266
760
453
703
442
777
716
872
534
555
896
459
379
183
46
700
744
91
879
607
940
232
279
922
312
961
245
700
613
624
419
998
73
404
841
498
464
387
281
621
556
93
288
828
160
986
85
375
375
564
601
729
750
707
183
225
825
866
27
311
906
554
930
911
7
328
765
2
584
147
972
526
78
521
453
102
309
362
471
849
436
820
569
830
546
692
29
211
947
136
140
290
857
586
344
964
530
715
406
13
806
230
854
852
684
99
328
30
823
525
898
814
791
620
93
630
470
255
158
53
285
36
999
233
830
656
405
393
998
175
376
61
974
910
816
236
292
700
431
527
704
275
383
677
785
354
165
516
37
853
184
566
767
311
750
992
138
225
532
567
639
474
22
594
653
458
278
532
944
860
969
161
653
195
783
718
834
410
376
353
644
850
323
664
55
860
7
792
356
111
963
774
774
518
978
408
257
271
152
899
836
68
208
908
9
103
568
488
281
769
100
542
319
278
982
85
204
650
840
606
888
559
155
243
291
581
965
337
432
269
46
141
611
313
85
142
949
754
841
466
492
868
919
330
730
849
587
350
576
887
18
776
789
569
424
429
371
790
842
183
681
523
723
302
890
873
72
890
920
787
608
961
204
708
297
373
440
220
666
982
999
436
494
884
826
471
845
535
458
854
913
904
252
151
812
501
61
366
289
323
340
927
296
266
125
202
512
538
409
502
187
971
179
488
149
876
802
747
395
292
484
47
471
45
257
451
763
27
312
36
873
505
536
435
531
59
782
791
826
971
752
26
134
490
360
479
776
436
117
112
348
991
346
439
608
427
63
288
55
679
923
305
586
391
939
809
149
61
619
295
920
400
740
353
346
861
239
261
325
600
590
834
922
757
623
376
258
78
914
737
656
355
795
558
685
71
522
732
474
935
346
20
561
699
61
541
596
770
120
520
387
637
525
312
177
77
555
213
507
418
812
965
729
896
241
198
32
271
499
273
835
439
538
116
539
695
317
653
928
733
332
442
937
168
29
899
154
585
265
298
140
697
653
371
592
173
20
927
460
100
260
341
336
833
484
182
836
228
787
520
234
815
887
637
319
536
576
981
276
81
234
196
444
674
597
975
923
433
625
303
388
40
570
378
880
531
286
124
55
463
426
759
94
589
391
305
491
430
829
297
992
815
19
178
258
556
707
52
222
884
817
524
682
205
6
316
435
3
205
260
99
445
121
29
855
359
207
655
510
756
705
519
670
15
235
948
280
180
823
26
515
539
411
476
776
827
655
771
558
927
262
676
96
912
199
547
962
621
864
575
274
761
693
73
747
665
772
628
611
451
695
598
316
307
315
28
27
8
49
499
164
598
85
835
574
354
178
852
547
781
718
548
507
404
421
219
122
530
273
985
565
21
362
146
830
333
813
574
339
720
365
95
545
576
12
431
891
322
774
814
256
121
867
827
3
978
473
371
800
440
854
915
712
230
780
350
416
588
104
825
17
44
862
937
645
589
432
495
909
988
154
900
337
14
306
848
113
980
458
677
791
814
80
177
189
284
705
90
293
713
85
860
892
675
578
397
576
692
391
756
925
954
446
685
969
387
342
900
484
237
324
840
253
440
189
368
244
696
822
578
497
106
390
412
677
665
266
280
391
665
436
241
841
312
485
615
848
445
258
48
49
277
931
196
889
504
562
160
42
965
122
747
91
264
673
416
583
421
593
532
103
666
716
136
598
954
828
20
16
628
216
297
268
947
863
38
590
864
452
781
718
515
537
890
620
375
148
804
189
951
579
188
957
140
329
891
846
131
1000
376
951
830
425
13
611
291
497
191
334
587
953
741
671
876
815
545
823
159
372
543
547
365
288
571
949
966
923
577
877
262
6
820
891
869
550
593
307
669
323
840
329
717
227
822
127
121
654
635
588
956
282
939
553
616
774
744
598
863
541
490
797
995
80
909
426
194
372
383
323
128
507
599
409
311
975
302
932
551
77
856
161
70
483
169
559
501
273
207
966
45
723
12
955
515
694
634
323
861
702
845
611
28
711
845
680
714
162
440
606
626
67
313
604
359
780
86
239
908
640
851
926
120
854
712
620
106
811
686
615
739
540
979
594
909
161
283
416
89
991
207
648
153
445
407
504
73
969
256
699
312
50
158
688
249
759
709
907
956
390
963
932
985
483
991
905
617
962
780
203
193
126
268
83
720
998
976
927
951
869
253
845
523
932
646
564
544
559
271
954
222
143
338
82
751
395
211
376
674
669
435
336
407
165
212
267
379
860
680
633
554
611
205
998
681
167
577
992
723
761
677
347
337
535
669
887
157
309
263
279
902
100
908
463
13
365
33
939
582
144
639
526
862
172
587
754
506
529
902
805
16
614
322
800
569
45
60
264
503
592
484
817
293
406
990
481
725
614
865
519
366
820
323
370
113
164
264
102
793
376
460
752
315
703
71
80
830
667
378
559
737
358
590
856
131
387
434
684
465
656
958
664
786
844
685
740
892
867
786
788
161
594
434
268
579
800
871
184
739
664
12
131
168
126
601
921
368
64
26
153
392
565
916
67
599
539
554
235
475
516
933
925
46
787
46
494
485
960
600
765
928
577
890
182
434
732
5
435
239
487
911
408
179
468
173
511
203
226
269
932
416
838
505
865
954
725
509
550
335
874
181
810
604
475
735
842
718
490
176
204
141
813
170
298
543
516
726
168
816
101
569
97
392
838
370
305
952
27
227
53
207
462
932
565
356
466
583
502
212
604
50
159
752
616
645
150
24
113
117
154
914
368
728
143
290
835
757
657
420
114
247
888
359
729
176
715
217
444
546
399
834
830
34
345
403
456
11
165
12
385
666
329
914
617
946
835
551
747
799
660
46
392
955
231
882
854
99
807
973
101
820
443
195
384
184
162
698
700
104
57
25
907
948
346
110
454
983
753
759
630
326
245
73
703
32
814
603
548
851
929
722
179
953
307
812
105
618
849
392
585
496
959
236
673
529
959
856
382
52
994
481
460
913
648
794
9
647
451
238
648
907
637
683
974
353
754
577
866
189
231
508
536
321
560
256
323
944
570
2
929
950
136
362
172
169
775
305
341
915
806
799
963
672
129
256
92
57
226
469
238
399
700
711
736
347
503
159
614
933
32
577
31
451
439
459
947
284
817
495
987
592
415
240
381
338
676
335
452
735
671
524
393
575
460
928
940
304
31
760
147
917
701
725
657
941
312
838
744
823
113
299
938
24
952
368
208
990
295
861
547
960
630
48
276
280
16
223
546
459
885
144
337
732
737
890
693
307
12
412
91
767
266
191
577
354
758
993
773
960
678
636
940
718
570
83
7
988
908
918
910
439
444
444
638
612
658
248
73
75
609
33
119
812
506
933
623
965
601
329
275
441
367
382
26
170
464
126
546
1
708
964
912
310
124
871
18
416
139
394
152
795
190
832
845
907
302
572
324
184
706
652
881
332
184
52
33
666
626
89
605
616
252
565
779
898
23
990
680
116
64
275
345
682
316
807
715
53
231
684
899
231
20
199
75
355
902
384
277
8
795
520
809
546
135
49
144
367
819
251
39
522
830
376
998
501
737
672
384
344
90
879
230
421
734
325
256
407
178
717
672
960
467
66
102
591
446
988
371
44
908
763
941
266
897
154
527
708
341
939
755
262
259
538
803
611
53
904
588
164
726
48
476
14
477
191
417
551
761
574
119
492
809
328
142
36
591
722
788
835
367
262
265
221
317
817
903
902
217
983
99
943
746
339
304
401
833
141
580
402
377
238
160
837
803
714
28
52
154
785
715
126
863
31
420
360
905
892
55
590
773
684
25
804
598
83
378
353
799
156
473
709
808
526
446
346
829
187
588
804
45
822
196
430
393
208
582
590
842
456
718
365
92
361
417
908
731
106
35
619
227
942
447
299
519
215
424
245
635
288
642
26
498
523
205
335
995
420
4
881
488
466
223
762
142
998
980
124
859
632
479
222
144
385
980
176
918
689
611
801
166
860
311
935
314
472
178
556
389
300
120
816
357
139
970
860
509
869
181
884
388
590
788
479
579
513
593
694
593
563
402
643
214
329
739
707
921
84
647
573
435
79
75
376
985
202
870
231
665
433
589
291
91
175
168
256
649
717
5
976
804
549
143
339
312
230
73
210
673
787
120
520
842
422
517
988
40
387
35
147
492
495
480
475
40
657
458
488
893
213
548
577
219
585
448
223
882
987
680
986
400
457
205
319
125
526
627
819
690
177
720
21
49
605
683
198
775
440
884
934
855
759
829
410
908
201
764
465
626
940
625
484
212
104
998
74
812
454
413
319
212
807
519
112
593
714
679
713
738
373
67
198
913
624
637
911
577
145
192
401
176
625
392
536
549
803
708
702
904
730
239
16
865
507
806
477
854
74
948
869
944
306
274
984
367
797
107
461
61
253
549
107
986
299
859
95
485
885
537
825
584
178
614
558
995
999
423
167
548
394
573
466
912
905
925
616
771
460
133
49
59
574
691
222
480
724
521
213
279
365
810
906
170
15
228
9
404
249
630
679
154
241
80
865
840
707
347
792
512
699
23
200
131
737
78
27
447
187
965
273
173
630
359
636
329
189
240
392
965
458
291
658
933
697
546
841
32
433
781
607
648
472
418
134
927
578
591
767
684
789
592
468
451
374
147
574
531
971
810
483
483
314
320
842
193
259
940
691
574
545
633
807
989
823
447
192
687
10
598
227
897
962
590
538
734
778
150
33
757
796
888
855
812
485
372
270
820
993
725
591
262
56
983
305
429
351
140
504
970
145
276
557
838
258
160
748
537
953
488
218
460
354
251
172
218
369
785
724
39
940
710
201
777
591
336
946
531
923
89
904
651
665
174
350
711
366
990
117
65
616
805
615
773
930
786
733
993
90
773
436
438
763
140
523
114
695
631
514
359
640
362
104
158
447
31
963
809
403
973
905
271
29
898
626
960
997
28
265
321
745
870
34
241
658
52
7
259
392
492
1
560
55
659
109
958
433
847
94
413
432
189
341
154
183
595
458
135
53
947
970
390
901
618
742
822
502
872
905
110
999
736
116
699
635
727
888
301
752
196
609
938
244
121
604
311
232
889
262
210
715
981
815
758
343
514
834
484
258
263
881
664
179
126
47
841
483
19
292
207
93
794
613
326
387
135
56
739
177
315
519
111
59
327
77
966
68
201
331
473
630
221
867
433
256
376
478
384
295
607
225
704
326
319
779
695
446
199
724
887
805
581
678
228
211
473
139
404
537
908
951
251
962
429
167
129
771
407
847
141
585
342
60
320
375
476
922
232
565
857
29
961
865
445
46
132
186
985
532
422
169
145
312
16
396
851
814
585
295
850
860
675
145
265
309
822
339
316
825
338
233
456
770
468
511
851
920
524
981
544
230
698
87
645
379
471
273
584
180
937
484
804
256
883
762
269
544
201
867
803
311
25
306
618
353
24
983
303
982
450
916
232
194
850
119
556
166
850
785
953
827
44
393
837
816
823
185
8
562
918
776
629
571
563
290
960
274
407
539
498
930
757
223
67
164
302
40
883
686
182
883
865
618
174
33
244
630
803
340
62
807
387
925
285
741
372
866
73
852
851
645
205
371
797
888
792
704
395
73
182
151
813
424
401
72
920
183
550
606
715
796
343
39
719
337
376
721
170
671
745
207
606
406
394
957
392
742
906
498
755
636
499
422
182
580
670
968
387
445
266
233
610
479
763
251
709
573
189
258
366
323
430
493
736
251
618
769
36
799
957
892
904
335
567
710
832
488
905
206
610
559
893
597
539
643
136
839
73
350
512
264
709
704
975
379
169
870
640
960
356
853
71
687
129
217
244
524
689
153
811
908
238
958
178
641
633
78
349
21
943
415
698
397
181
483
596
784
4
393
316
640
820
313
744
185
590
263
208
874
578
605
168
781
455
581
618
676
436
585
765
507
601
669
985
881
143
899
96
851
57
830
724
16
694
294
875
483
689
134
899
720
997
299
673
718
162
931
216
148
488
684
890
415
472
536
62
586
731
785
343
186
667
755
541
775
250
964
52
13
681
173
710
672
130
767
45
655
399
383
482
648
158
582
279
443
359
588
888
350
502
852
992
336
745
238
677
726
224
127
89
343
543
649
433
940
129
526
369
682
23
749
694
175
728
392
702
286
938
413
760
556
328
211
460
520
79
31
153
687
526
69
813
213
82
252
946
535
624
228
698
393
638
81
399
648
723
596
551
307
492
743
624
955
540
154
146
610
881
1
230
622
196
646
99
836
304
844
160
719
498
65
897
498
768
733
169
673
498
760
505
451
902
820
652
743
330
185
908
367
593
818
791
26
611
626
156
437
28
454
209
704
910
421
749
676
285
673
603
548
70
502
438
423
888
21
51
888
390
295
788
915
938
887
968
569
946
281
64
50
745
527
893
605
559
774
296
683
86
39
587
532
197
706
582
96
495
730
138
699
809
489
980
480
218
533
26
978
879
226
558
559
740
417
370
634
212
853
441
707
21
952
796
356
719
992
936
190
837
461
648
659
221
569
59
367
872
436
488
177
553
509
68
995
451
139
99
561
469
39
800
978
65
572
449
986
130
423
929
183
80
228
312
495
196
160
453
191
272
314
519
676
778
956
1
79
84
363
34
402
783
20
793
618
751
410
313
632
424
482
333
486
687
168
666
503
893
986
165
361
780
860
554
205
495
757
280
14
480
659
61
378
737
690
999
754
843
887
961
18
166
279
418
856
904
413
121
127
946
403
748
810
44
926
179
606
480
308
130
531
226
2
697
112
558
309
753
873
263
142
272
887
832
20
371
72
500
212
284
781
617
172
530
978
554
956
256
966
306
306
110
184
20
511
27
77
890
899
992
423
270
96
191
769
390
724
949
847
756
304
519
925
189
493
85
40
443
671
313
10
545
84
407
889
286
448
901
302
814
905
358
678
884
755
731
991
135
188
397
3
706
538
769
391
608
278
957
391
537
4
163
734
231
205
364
726
39
468
372
315
120
90
543
837
563
777
228
942
768
201
606
883
624
749
622
956
386
684
636
377
661
288
790
296
568
302
270
974
997
113
393
350
824
697
889
386
132
274
848
582
732
11
523
28
763
874
629
171
740
887
780
273
183
683
479
152
885
168
398
411
948
562
753
793
945
845
238
700
959
877
337
210
794
45
816
91
348
329
869
433
990
113
688
518
824
866
193
442
845
100
287
857
361
623
276
883
516
186
28
903
379
45
33
470
880
865
781
4
811
630
770
311
206
917
25
198
707
967
204
634
905
486
280
965
254
987
260
661
864
809
643
971
374
622
113
620
153
395
504
404
282
265
174
121
99
708
793
771
654
747
974
404
20
647
312
269
304
720
171
176
125
389
11
93
500
647
106
41
353
379
276
295
328
814
654
751
172
532
560
54
746
40
285
777
608
931
942
474
216
10
582
926
15
597
456
272
60
417
641
1
373
100
249
971
943
325
83
739
112
94
927
454
119
431
615
518
749
48
643
5
333
167
369
567
853
746
790
187
535
793
455
668
98
345
350
183
788
931
451
593
434
44
257
446
16
197
774
763
650
665
336
794
503
869
153
856
829
700
668
295
259
760
649
370
483
621
440
558
675
728
932
373
384
498
646
308
92
485
779
913
351
246
178
331
192
658
991
856
524
26
182
188
345
239
189
114
890
620
729
271
315
891
201
507
74
821
146
100
963
753
986
766
680
142
595
954
848
687
317
386
685
394
716
203
861
143
665
339
669
939
433
958
298
52
1
876
886
656
242
898
9
448
470
911
466
933
570
393
518
721
140
718
240
235
34
276
262
689
295
939
990
39
687
892
341
917
965
134
115
196
571
274
425
947
653
360
993
18
181
564
707
376
478
529
571
641
640
45
59
958
177
519
930
466
705
395
770
141
674
281
861
720
900
25
523
736
187
438
711
455
383
615
498
626
60
102
36
521
370
214
753
703
797
908
801
314
196
514
263
450
984
494
179
366
347
160
284
849
80
922
193
55
49
219
913
541
260
776
737
999
242
154
6
408
782
927
737
943
16
932
839
10
589
199
474
163
854
127
159
550
81
426
340
717
252
117
526
291
293
643
540
77
555
760
71
600
908
394
523
944
88
146
95
54
837
395
144
307
914
295
124
269
305
41
844
27
801
910
332
388
659
505
350
528
237
558
470
407
349
394
683
354
558
877
701
750
800
232
478
687
541
686
976
783
114
223
892
92
33
109
856
187
832
66
625
55
445
63
915
369
190
787
809
123
207
744
131
326
591
834
798
672
496
960
889
657
250
926
128
631
840
424
522
631
205
389
153
693
413
384
493
493
173
971
145
827
115
185
658
438
931
376
860
127
761
639
216
924
210
996
856
321
964
309
262
248
281
591
68
464
549
80
84
570
708
898
422
640
568
620
593
797
965
408
495
704
258
594
537
18
880
806
502
385
528
755
386
397
116
799
122
277
787
267
45
728
128
332
939
542
221
874
772
39
332
430
507
359
830
776
964
964
414
142
321
429
822
338
692
770
9
343
206
83
181
975
132
244
188
366
895
792
510
844
296
844
480
717
815
139
458
196
694
808
361
342
353
541
342
509
831
133
449
212
119
278
759
753
679
606
829
183
974
638
311
420
520
315
235
396
854
204
739
156
806
305
49
687
635
623
74
137
924
326
305
753
590
360
618
527
26
819
172
68
179
286
855
652
296
591
618
771
216
112
608
732
316
851
212
32
655
988
31
308
423
511
266
619
548
825
272
707
193
964
783
670
912
118
884
171
455
730
913
895
546
339
309
504
480
666
872
699
62
200
38
364
225
666
538
970
643
327
255
539
805
13
173
518
307
150
65
854
553
819
981
399
691
64
625
541
341
235
466
613
624
162
770
200
41
336
782
926
16
77
965
718
277
881
551
781
818
756
652
749
857
357
832
564
91
196
345
625
537
985
228
691
436
458
37
806
5
626
310
263
319
499
764
239
232
744
833
280
46
630
395
239
585
870
439
650
428
649
992
741
348
226
820
476
377
945
320
62
539
451
526
365
985
131
329
507
180
590
896
754
825
3
702
461
393
785
810
467
518
876
796
804
997
330
209
28
819
595
558
783
472
32
615
428
752
783
248
692
449
35
81
369
554
108
51
979
120
554
297
204
461
640
914
639
208
171
799
62
585
580
181
10
397
643
493
901
429
932
867
334
356
380
949
485
782
895
650
699
770
22
173
502
32
49
910
216
1
803
809
333
156
621
403
555
291
609
992
196
920
385
396
202
639
920
286
662
39
999
348
40
759
55
442
777
330
832
471
130
748
403
906
276
131
571
749
799
377
552
305
632
492
173
247
400
128
505
357
931
917
954
797
351
395
406
910
802
671
865
389
331
472
448
81
892
933
261
850
729
239
887
682
638
298
714
642
721
679
349
413
301
409
662
862
583
628
840
503
525
735
953
777
110
402
152
781
889
767
590
473
237
185
572
366
202
143
208
458
257
341
89
444
522
486
102
285
206
29
506
832
149
962
857
547
322
769
153
291
65
830
864
809
663
862
104
789
571
510
293
322
252
794
96
184
99
935
304
591
375
36
560
11
453
194
569
133
878
866
445
358
949
767
388
10
586
120
764
15
203
829
950
968
213
17
34
365
557
437
559
255
357
442
34
724
373
577
847
464
467
343
562
77
686
381
306
974
873
129
116
429
965
995
657
827
260
219
667
227
950
904
888
107
192
132
960
547
820
699
988
187
545
761
17
17
179
588
694
383
968
738
756
685
585
140
787
880
739
15
923
265
623
60
756
1
616
73
745
506
763
991
857
145
560
394
978
604
473
628
898
985
441
92
302
891
349
654
268
758
73
850
201
240
230
276
38
717
227
556
786
905
546
371
168
91
439
281
214
748
393
522
127
136
775
499
652
59
57
455
481
88
874
682
931
431
990
648
237
128
908
682
348
385
470
136
9
674
315
527
269
722
433
779
293
580
419
538
469
792
217
511
416
90
293
902
382
141
207
338
947
612
493
103
686
246
616
115
622
652
511
856
904
297
894
356
101
490
73
431
939
228
499
606
76
432
632
515
725
451
25
149
569
709
687
10
412
13
918
57
434
372
772
410
776
118
269
862
390
752
237
650
760
233
434
367
127
321
198
565
339
227
447
365
280
33
236
373
123
254
490
282
328
492
742
804
377
333
885
23
728
502
6
784
393
843
363
529
806
856
409
813
375
372
594
826
244
437
341
432
268
645
202
571
180
952
703
426
216
476
786
382
244
908
110
657
559
955
642
460
69
628
152
662
560
332
219
270
83
418
333
432
276
292
506
318
630
203
548
990
255
595
874
264
729
215
208
685
984
273
85
925
999
564
387
336
261
851
469
910
588
785
591
616
922
293
505
920
116
676
20
334
593
632
296
979
968
21
438
497
398
496
670
115
457
30
8
304
791
978
900
268
688
564
706
463
951
559
288
426
148
506
188
478
400
54
81
281
337
822
204
794
781
765
485
912
985
175
943
959
973
317
736
259
666
164
907
178
953
882
495
430
839
510
181
921
101
731
28
81
640
790
223
469
863
348
933
408
961
536
517
545
946
537
386
524
622
782
723
429
482
248
151
219
682
403
169
194
814
68
843
395
204
817
818
963
864
593
177
682
2
881
53
330
226
123
201
13
190
72
907
338
427
408
735
166
579
281
594
662
30
383
528
563
214
794
465
890
500
111
845
815
613
309
733
39
14
384
492
815
507
51
604
721
640
696
509
378
120
336
652
577
552
538
20
699
309
153
581
890
223
222
976
162
100
601
700
525
758
705
792
248
423
259
767
576
800
94
91
588
108
835
25
375
675
817
73
404
419
649
573
752
722
650
223
872
711
815
418
699
962
54
365
185
973
177
831
823
540
549
280
306
342
342
861
235
624
61
402
719
861
398
132
774
669
459
302
662
50
139
278
705
243
735
971
638
88
878
627
291
821
544
134
208
643
190
5
875
238
42
68
338
672
164
773
378
715
252
691
832
725
986
452
348
643
397
882
598
562
948
553
960
548
910
292
787
130
209
484
605
904
94
117
65
207
892
633
975
739
610
585
540
251
342
1
772
191
282
139
107
269
640
994
451
445
901
550
244
754
695
233
632
740
997
463
518
978
498
511
78
343
784
89
318
205
369
233
381
704
737
66
599
630
291
990
761
181
503
689
639
71
636
84
608
32
101
33
92
740
901
165
668
602
639
676
850
631
251
308
24
859
964
37
483
325
976
153
257
735
5
546
281
273
185
988
431
920
713
149
165
841
314
858
805
56
844
880
983
689
290
92
416
490
28
483
970
262
427
841
912
22
820
340
376
464
384
504
301
328
718
169
555
803
776
144
498
965
319
250
6
560
261
267
816
156
107
159
161
790
188
571
795
766
546
251
922
192
137
528
20
150
467
372
229
169
940
922
813
796
923
551
163
603
5
689
954
949
4
655
380
168
29
691
811
621
288
241
856
226
434
273
540
688
901
97
261
594
108
720
241
980
397
211
431
752
279
987
209
549
898
157
753
280
607
301
691
539
222
131
448
580
826
502
773
332
936
133
41
180
519
248
310
902
557
26
535
174
856
428
34
541
347
463
48
599
376
416
228
400
416
926
946
799
145
10
632
498
89
353
732
75
884
185
453
150
739
103
221
171
875
18
632
969
545
243
750
404
749
392
770
878
894
388
472
481
483
354
344
812
359
602
977
307
171
229
118
16
486
68
774
332
433
860
887
146
830
553
398
245
511
590
958
566
956
867
169
57
409
835
992
540
357
837
858
878
643
383
133
236
495
511
792
940
441
761
536
716
432
599
171
663
475
295
713
344
745
370
596
823
450
730
324
280
686
514
104
105
144
509
324
992
808
687
205
619
721
87
598
963
484
745
713
149
397
888
478
8
60
888
370
211
807
771
799
892
572
225
550
210
635
112
376
160
253
470
545
245
351
871
51
369
274
782
225
363
139
264
708
136
431
974
68
324
336
882
894
682
741
586
843
160
976
391
945
801
138
546
466
93
266
171
756
424
749
435
792
604
74
499
606
212
431
565
365
713
766
153
653
840
551
373
402
760
971
530
28
915
193
870
517
243
109
670
639
688
274
131
967
518
752
771
113
1000
245
58
437
402
174
77
488
122
372
914
625
991
646
242
573
434
762
364
159
234
325
540
114
96
630
7
607
69
811
527
152
161
487
634
600
168
713
31
232
785
215
722
346
604
788
565
346
470
246
866
39
967
512
543
758
523
279
174
951
754
135
904
109
133
266
839
210
73
577
4
441
771
613
386
545
958
733
902
42
814
794
329
508
854
22
393
243
589
856
232
959
68
269
397
579
245
509
400
807
236
234
580
946
143
749
707
304
113
398
319
652
678
247
277
393
231
805
356
508
720
937
30
889
220
76
777
353
94
519
308
509
865
894
174
652
769
836
85
17
170
571
87
76
697
331
499
15
999
511
109
190
460
34
681
135
100
652
264
657
165
803
138
660
537
232
506
594
257
752
160
848
859
446
474
989
176
96
1
465
539
835
850
297
25
855
822
306
493
484
938
641
704
130
629
724
722
365
336
236
139
911
695
437
387
408
795
951
582
612
207
117
857
122
649
136
121
806
128
562
545
864
418
119
839
855
505
432
563
76
447
23
303
401
719
858
520
69
698
778
299
910
412
406
992
208
58
490
995
749
76
195
481
549
772
559
955
483
551
175
907
281
874
183
683
358
910
830
931
557
716
148
616
172
475
841
665
526
965
45
748
5
956
465
568
670
691
320
312
487
941
650
579
764
387
780
191
600
234
172
787
50
53
473
982
180
776
283
188
448
704
68
896
607
134
678
332
895
908
142
919
376
810
760
913
137
220
13
899
506
836
513
590
559
635
8
498
1000
411
461
612
888
407
330
180
811
565
523
26
843
862
888
658
12
80
753
530
77
55
770
477
143
172
248
270
972
399
220
667
931
648
742
136
149
614
286
620
843
554
656
342
740
625
530
650
176
537
622
366
789
254
431
878
649
401
748
524
333
840
395
389
693
621
154
752
21
128
501
832
910
774
527
378
332
64
387
887
390
153
746
949
735
338
915
268
863
22
818
406
381
802
510
210
873
285
655
157
133
119
327
583
451
522
470
856
47
262
621
92
978
664
794
932
609
718
986
216
202
760
402
171
336
526
343
816
613
613
656
901
548
487
827
600
645
236
31
585
406
188
967
853
389
393
859
864
555
681
804
125
794
705
545
362
935
940
838
785
559
49
787
793
610
462
957
633
164
254
555
179
684
617
731
986
759
330
863
225
645
615
725
919
856
701
598
154
718
205
719
579
46
205
921
552
50
463
988
762
178
833
15
21
820
295
24
161
735
448
199
700
603
497
355
974
326
978
678
944
565
508
356
795
544
814
443
712
327
206
185
959
610
404
97
480
580
362
251
774
534
289
625
711
774
619
851
307
738
50
375
189
479
107
878
657
352
929
772
775
231
55
735
893
642
91
535
378
967
17
854
69
271
779
412
191
354
573
470
7
359
840
709
501
627
626
535
771
538
373
129
614
730
637
918
995
467
471
689
701
881
440
298
508
515
313
738
615
859
481
377
923
562
80
341
987
623
593
316
114
130
439
561
127
69
689
542
763
297
584
384
570
33
963
313
397
115
72
334
280
850
476
690
594
462
939
29
835
64
243
813
286
562
842
208
139
118
174
614
326
618
202
988
456
104
481
378
754
263
602
380
828
905
434
786
439
789
917
336
163
317
555
331
6
365
917
826
556
972
627
267
249
692
337
747
644
157
129
468
435
814
640
651
31
849
956
850
185
27
978
586
102
557
547
258
856
108
70
555
770
799
772
941
595
313
4
368
949
297
198
36
501
849
187
909
812
217
600
681
560
783
942
78
143
48
824
675
285
592
478
943
310
938
370
805
237
814
235
854
681
584
302
257
845
499
835
552
531
988
359
739
218
426
121
537
723
684
367
223
848
292
41
213
744
248
331
436
411
319
343
582
867
193
802
516
63
6
338
511
507
553
397
450
932
964
203
829
69
773
580
214
710
48
578
786
838
708
67
746
532
249
431
641
707
824
468
145
573
45
446
389
799
939
26
754
24
170
399
910
287
75
582
999
386
10
282
51
954
262
101
156
250
78
158
413
297
365
403
417
989
289
970
865
236
283
943
912
50
969
818
45
704
85
752
580
747
827
418
384
704
922
920
27
762
336
749
405
594
804
213
779
747
225
115
330
691
559
705
555
735
61
117
255
459
570
525
475
259
95
272
419
855
114
86
336
368
865
260
334
628
386
420
347
969
227
49
793
614
546
466
983
159
805
381
35
342
359
430
831
482
43
354
572
484
278
589
597
284
324
90
457
972
29
137
643
592
866
734
17
807
54
954
723
189
348
262
304
886
373
392
792
822
477
844
805
376
715
454
46
702
942
743
159
455
982
983
583
737
483
997
920
453
401
706
325
166
6
370
618
709
917
268
107
521
977
298
653
682
686
600
63
94
528
841
782
130
737
254
718
330
4
858
220
396
131
548
418
837
890
905
624
102
210
646
1
909
332
593
490
819
764
943
850
778
718
388
708
489
190
342
723
980
9
102
328
666
991
324
8
542
790
552
774
873
178
890
283
900
240
130
51
628
426
753
355
726
487
281
694
927
53
402
136
92
47
108
496
262
154
884
31
648
303
610
277
436
484
427
717
737
244
283
204
770
909
262
455
620
900
72
454
462
513
273
346
245
203
921
213
176
692
308
159
232
214
389
309
152
818
298
629
990
927
99
969
389
302
522
375
165
117
985
491
695
146
646
835
815
920
578
847
673
301
392
845
17
124
840
473
919
431
950
777
807
358
251
787
4
900
506
373
650
651
171
184
32
77
484
665
844
62
685
542
821
274
377
627
557
331
446
503
14
923
278
462
405
775
234
43
673
800
469
660
752
870
230
115
145
388
688
218
160
233
241
368
265
723
934
684
670
962
362
227
185
279
922
896
820
539
817
837
390
748
554
578
600
751
966
656
692
786
21
186
757
343
711
709
261
55
391
632
124
347
796
770
989
151
806
809
904
316
746
1
739
243
645
32
85
888
406
802
277
507
271
808
409
427
355
913
949
695
217
579
571
657
656
17
385
401
939
323
573
526
687
373
798
879
479
158
417
746
54
253
672
482
674
362
547
714
801
189
884
59
754
426
731
776
427
316
573
881
452
56
302
33
436
317
296
948
998
258
934
163
415
745
281
746
584
903
376
940
871
746
815
777
195
417
827
436
317
439
86
472
898
496
874
89
360
490
8
290
956
972
166
108
749
639
851
97
386
251
254
917
655
197
712
169
821
945
271
595
644
790
132
373
791
608
375
523
103
868
417
385
778
707
140
687
86
747
447
14
671
234
310
353
837
197
43
967
477
600
596
68
468
861
183
629
402
702
442
186
534
12
611
708
664
311
941
393
490
419
658
811
653
172
315
917
271
343
306
288
307
471
642
405
484
945
815
925
804
546
762
645
948
592
441
326
945
2
523
615
572
875
70
51
836
621
805
556
805
320
805
859
733
699
991
22
157
85
801
619
164
729
816
119
514
153
919
744
694
547
768
392
249
789
980
208
937
360
457
64
357
291
677
490
688
281
651
582
113
292
452
28
289
279
879
679
980
140
879
9
576
682
792
417
762
120
358
576
50
629
704
898
239
549
172
798
99
115
990
622
772
997
204
965
416
523
263
687
617
167
872
51
959
796
510
293
935
198
70
432
69
623
613
245
733
409
184
181
613
309
921
435
239
759
466
523
262
206
818
487
425
537
324
289
268
853
445
36
687
53
335
447
355
224
4
343
918
354
23
40
586
729
337
201
441
227
701
114
313
848
679
349
577
13
939
476
594
570
780
833
800
3
451
345
656
999
824
43
740
432
449
253
306
801
796
365
514
343
776
755
370
368
258
661
127
836
351
798
546
845
680
44
925
480
750
817
274
430
766
631
344
898
948
900
483
564
454
265
442
804
549
600
342
938
500
373
954
1
30
222
365
434
840
457
849
121
823
680
486
411
146
893
644
113
259
238
973
970
250
16
943
768
707
732
291
106
369
686
963
773
431
98
271
874
301
795
7
96
980
290
212
982
19
432
150
690
154
919
766
437
342
639
608
812
863
194
725
154
606
997
537
458
401
1
77
665
508
471
242
691
969
201
935
324
555
236
43
884
469
469
211
652
790
437
289
142
892
279
143
716
718
92
239
426
831
839
42
691
621
590
822
146
941
77
868
990
663
498
502
246
376
11
503
619
490
631
734
49
522
65
828
642
230
584
755
378
557
191
978
902
70
204
700
729
663
856
375
401
857
679
276
509
917
235
410
964
363
234
478
615
179
199
891
108
177
613
102
869
521
916
607
240
371
821
28
78
990
154
638
584
383
827
510
741
778
625
259
486
783
185
979
677
74
935
566
987
859
779
76
79
163
992
166
812
181
156
917
779
574
935
577
160
589
147
824
739
321
932
164
959
266
727
8
30
543
421
751
459
829
342
949
830
84
622
266
319
607
139
453
201
834
414
20
582
548
813
631
670
861
898
507
182
403
37
281
886
641
234
808
874
145
661
422
861
944
581
995
734
771
164
959
577
172
226
121
628
929
42
720
973
192
228
672
283
47
107
353
584
982
164
599
870
870
887
825
345
619
810
278
229
613
601
505
339
436
828
26
137
121
406
75
499
370
814
26
270
741
873
753
545
828
256
787
736
811
906
567
663
599
271
481
347
955
548
675
701
637
171
797
1000
602
401
955
911
736
210
149
831
412
595
371
483
432
89
375
25
523
529
836
418
648
41
269
436
809
834
575
491
917
599
579
399
565
265
215
325
200
357
316
389
299
485
98
859
627
318
502
419
553
938
550
715
702
665
710
319
936
275
101
232
762
22
18
294
785
46
884
209
762
550
230
401
137
591
710
596
669
456
489
843
938
375
555
672
24
750
635
225
658
183
447
481
469
318
930
168
747
917
989
529
300
670
999
913
597
924
9
28
326
914
128
831
951
87
76
199
608
815
242
965
914
114
869
407
863
999
220
8
13
746
630
141
590
652
375
356
967
838
210
115
219
283
229
137
100
518
422
11
833
393
952
357
572
877
699
624
258
121
54
552
847
912
307
437
585
210
227
604
84
661
579
898
413
872
417
603
373
748
927
903
363
374
517
904
988
788
608
276
680
443
273
773
86
372
493
246
951
814
278
273
524
574
318
208
258
497
169
271
737
190
158
270
304
609
378
722
817
175
116
370
327
844
65
622
262
980
461
972
836
906
86
272
35
741
706
624
480
510
112
745
882
530
362
877
606
756
265
714
68
134
357
358
289
976
883
14
975
53
357
994
903
383
272
605
219
689
486
678
523
94
568
812
222
920
167
879
716
377
62
1000
420
530
90
971
509
182
616
70
515
187
526
311
608
312
6
426
468
937
499
320
137
792
345
299
141
421
532
90
480
290
908
591
776
258
965
300
5
654
3
604
731
329
91
436
728
910
735
335
149
880
579
618
219
296
784
192
486
692
944
510
299
165
553
316
76
743
31
131
328
843
308
864
159
90
771
544
138
764
166
935
40
912
685
720
908
484
50
998
320
937
876
87
532
377
968
1000
355
694
502
528
287
124
234
520
386
313
962
863
843
308
496
631
11
811
287
64
921
704
677
360
916
95
479
742
146
97
198
893
53
116
769
665
907
703
96
904
682
893
60
325
251
541
897
682
962
368
12
831
146
312
364
922
5
283
536
641
625
647
473
339
574
556
663
910
648
782
236
499
863
843
36
459
707
7
243
504
5
266
524
658
483
457
16
441
269
488
664
712
117
98
557
712
98
613
965
155
873
967
695
678
418
609
263
535
265
14
94
221
899
210
663
591
935
116
39
152
97
508
760
417
842
115
364
587
637
694
173
405
560
930
131
694
880
640
589
963
723
110
926
466
738
306
836
298
946
385
883
387
573
149
703
773
744
59
805
167
347
14
512
604
268
320
988
920
448
207
662
933
896
807
616
433
880
694
652
524
996
9
840
431
728
660
306
621
393
335
901
965
86
856
197
725
356
926
912
335
859
465
508
318
148
551
168
181
135
426
811
800
439
171
83
642
35
434
512
148
139
990
137
722
224
72
946
95
448
85
427
265
509
776
352
814
168
952
697
182
201
592
239
398
595
530
961
814
159
942
850
658
518
561
68
592
706
840
742
987
144
348
846
376
830
272
700
335
999
250
665
126
343
708
481
547
91
501
546
791
948
934
130
591
900
174
177
563
356
667
849
446
994
383
445
906
902
676
655
664
317
46
352
971
335
340
332
881
450
801
423
330
689
872
396
793
397
897
981
140
439
648
68
375
707
145
882
161
337
367
499
343
958
269
598
246
637
985
731
153
933
224
737
217
596
630
124
39
15
329
385
262
471
965
257
867
619
282
861
248
393
699
518
820
697
405
778
600
835
201
893
193
632
686
486
633
564
433
675
801
57
458
292
491
279
647
88
788
410
797
58
72
349
565
72
847
277
968
37
608
325
988
703
113
807
506
62
763
161
50
993
269
773
756
458
426
310
573
65
613
70
959
284
568
125
220
927
122
686
224
768
819
244
416
347
769
478
945
50
665
879
236
557
624
272
526
598
392
189
726
781
504
111
467
907
193
157
344
824
187
688
164
347
61
658
507
204
464
269
989
270
381
629
425
578
556
666
504
743
358
531
697
435
647
38
856
520
667
518
359
308
571
595
728
111
988
995
363
984
911
495
390
68
304
487
672
454
34
479
704
846
115
1000
444
593
833
61
162
861
959
290
1
803
190
305
282
594
889
732
548
112
437
501
945
864
792
696
845
466
328
297
520
639
709
616
294
201
290
63
833
981
530
184
132
936
986
570
334
2
731
325
714
370
445
261
41
944
28
905
69
729
279
674
73
739
108
319
197
847
770
814
886
661
818
414
811
111
830
533
517
951
469
398
486
781
118
211
433
506
141
674
416
396
821
284
809
4
138
776
233
274
878
439
325
85
980
822
610
338
659
502
804
445
592
175
589
749
378
342
285
948
566
217
849
100
749
325
349
141
654
439
365
145
658
132
796
758
882
244
181
305
881
976
987
108
928
165
227
448
98
542
454
421
657
400
414
666
739
171
587
561
968
858
448
52
423
122
501
672
336
136
75
704
12
930
400
663
693
99
714
454
554
186
28
615
555
986
682
48
623
277
39
486
528
238
476
780
840
892
360
727
590
446
807
807
576
338
890
671
796
109
355
640
136
978
110
808
301
137
444
539
906
331
440
306
840
252
96
821
262
638
418
400
67
733
176
290
251
952
43
502
388
169
575
308
308
39
856
155
199
155
648
219
536
656
597
183
651
94
356
136
315
991
513
664
356
543
831
309
262
332
659
576
666
777
298
579
812
252
759
239
432
485
596
652
925
869
480
912
371
796
714
167
722
983
179
157
449
30
86
824
28
125
470
837
922
886
578
33
127
847
187
858
924
958
385
838
223
778
580
22
750
783
290
100
396
255
813
600
232
826
994
177
56
589
120
490
848
94
479
591
180
249
169
73
456
287
600
415
833
538
499
138
808
683
372
378
767
535
85
467
223
166
656
914
90
376
386
978
85
77
202
658
301
162
430
501
31
819
253
108
186
54
804
581
8
390
172
464
366
342
598
904
562
256
796
863
502
558
649
219
26
271
470
507
431
915
678
858
486
530
981
426
758
634
126
231
687
367
831
852
660
959
797
896
250
901
573
454
940
906
623
80
868
810
155
921
583
49
140
754
358
268
484
619
343
894
504
629
728
214
671
333
133
648
138
688
638
371
652
303
225
419
325
115
913
708
156
75
545
160
347
737
997
258
220
871
574
909
987
336
490
470
702
503
619
113
489
454
166
528
518
29
492
99
299
543
121
296
534
678
844
992
173
586
932
840
344
756
690
619
482
538
983
677
378
531
888
218
798
215
355
193
46
332
591
984
90
481
911
903
884
360
949
770
119
856
482
474
904
933
560
478
855
903
296
686
598
166
472
952
2
9
41
774
317
321
728
424
967
424
210
796
976
310
730
801
848
671
625
982
283
102
951
361
273
685
274
223
965
7
758
646
189
307
869
134
687
84
362
607
901
978
761
358
623
159
169
307
973
769
108
47
888
198
52
718
811
87
443
691
291
7
313
438
7
686
31
713
103
517
352
344
779
840
669
528
820
126
315
518
94
796
814
962
97
846
239
974
294
860
188
233
346
243
468
987
328
746
254
902
670
400
349
88
890
30
206
482
118
398
493
17
81
846
375
622
448
60
103
185
400
163
181
44
871
925
157
443
155
278
39
665
470
716
447
221
637
375
861
571
258
773
762
324
614
263
35
775
82
190
712
938
4
670
54
925
826
658
991
659
790
686
155
408
627
235
73
579
520
233
642
503
48
544
623
740
966
677
767
518
436
128
138
509
782
925
329
98
900
959
600
658
236
651
370
107
626
333
136
226
351
486
630
776
495
640
976
441
39
302
637
46
188
753
226
263
57
949
595
263
262
14
209
350
868
55
449
672
883
66
419
491
737
758
778
367
182
10
331
812
655
478
415
644
442
634
610
309
897
96
933
907
568
697
474
497
335
148
385
577
556
503
229
239
796
910
962
665
902
264
262
44
83
470
443
939
178
979
993
402
464
160
592
863
217
825
565
928
728
964
896
727
618
293
289
402
134
760
289
652
535
559
118
972
837
502
747
397
942
837
657
96
613
732
918
124
852
679
499
6
986
998
159
582
172
494
887
759
68
70
638
344
177
738
979
165
700
62
402
65
786
544
240
149
742
805
531
899
118
761
724
342
564
113
800
529
18
649
267
961
98
780
474
469
523
715
867
270
20
438
147
573
462
428
755
176
887
632
749
919
667
807
947
764
334
721
135
503
472
108
278
811
637
482
890
406
495
115
200
598
240
517
248
381
867
758
861
552
75
830
268
7
411
53
224
530
756
194
660
860
433
606
266
793
974
158
914
369
121
163
503
970
686
824
613
273
730
941
381
564
920
740
85
876
28
745
290
795
284
536
787
501
698
88
225
850
509
159
59
839
669
817
364
806
605
821
155
107
560
977
75
815
471
30
679
197
717
904
139
328
27
301
834
239
533
783
189
410
217
434
125
251
20
161
644
462
449
448
409
808
833
155
661
881
313
553
434
903
202
334
862
473
663
764
266
426
488
527
875
669
379
18
250
928
306
39
934
828
409
917
394
621
440
6
82
207
914
455
319
753
990
890
727
372
596
336
185
821
464
345
584
113
549
755
215
267
781
944
263
162
207
758
726
604
374
502
32
268
223
529
812
139
869
989
514
425
372
237
66
717
34
270
343
303
785
288
990
168
959
156
56
184
127
109
986
374
676
505
722
966
523
821
78
144
671
370
94
9
336
412
748
309
6
420
302
898
117
283
541
727
990
129
341
420
303
265
333
110
626
471
899
289
521
489
397
856
272
112
268
441
546
703
673
317
242
324
377
938
271
915
880
165
290
129
210
785
257
469
365
793
186
397
125
208
708
908
838
925
847
891
845
197
932
264
377
859
727
496
150
367
645
599
366
11
421
122
524
430
681
954
239
706
692
20
286
835
946
28
187
372
377
496
976
376
708
233
226
571
882
261
10
816
534
970
258
542
220
911
871
832
476
242
28
184
795
272
373
828
327
975
125
650
403
592
741
417
34
650
408
984
139
831
550
629
598
113
514
465
182
526
777
132
37
684
344
606
657
976
495
36
262
917
655
952
30
731
976
63
926
626
170
138
749
628
215
141
589
49
848
851
88
856
161
729
792
256
194
645
390
796
155
413
839
161
773
773
183
615
360
577
416
762
311
463
857
861
195
208
328
464
27
319
883
545
45
119
982
600
100
765
750
442
765
162
415
514
405
716
111
609
745
212
967
817
916
894
816
350
568
984
921
689
423
472
808
121
510
986
704
323
460
967
78
115
421
144
466
889
573
555
143
506
745
919
130
629
348
247
754
602
703
951
240
933
819
583
781
391
906
545
194
535
163
786
493
209
922
530
689
164
830
543
692
534
560
320
458
282
491
839
393
137
896
194
640
766
456
525
23
74
308
127
360
649
455
541
337
261
41
704
344
282
932
972
510
625
68
922
664
525
231
362
116
62
275
933
941
845
336
960
944
691
227
28
575
420
52
827
863
154
43
415
860
612
767
983
192
924
151
579
37
444
202
5
282
893
939
298
641
904
777
772
265
702
564
594
707
240
502
267
180
562
458
182
679
557
531
622
934
552
282
213
99
375
773
822
798
639
354
361
400
978
210
750
404
893
821
562
409
685
803
506
445
654
104
948
357
405
153
157
533
620
358
776
515
80
287
359
932
118
1
411
757
885
233
525
105
15
560
655
652
306
267
458
305
42
350
982
910
441
977
628
648
491
779
470
260
160
551
525
383
536
273
484
105
964
915
755
314
670
106
417
515
672
629
806
590
985
643
32
414
299
681
666
299
292
787
207
26
728
573
713
597
315
615
142
917
48
342
556
316
452
509
309
217
668
420
745
255
834
278
728
856
572
463
545
624
678
44
331
881
326
555
171
336
162
922
498
215
703
424
188
106
330
754
48
407
36
572
984
572
736
414
238
227
665
459
498
887
843
468
577
187
92
130
627
493
401
188
499
301
702
945
994
25
290
212
195
696
168
291
987
572
582
350
169
879
906
425
270
728
786
314
296
753
185
852
159
162
540
396
450
721
763
866
577
641
220
356
1
448
153
163
476
740
208
41
721
114
897
662
932
671
819
508
910
253
448
932
317
952
106
666
797
499
527
871
241
872
48
712
494
810
68
524
174
954
847
873
88
39
125
193
942
876
334
232
638
884
329
235
497
559
712
653
149
600
789
179
671
374
131
72
821
5
526
73
804
680
825
678
118
663
816
191
448
149
812
752
453
277
51
510
561
579
387
188
562
662
983
586
873
163
892
950
839
864
464
734
335
412
515
9
207
247
42
652
854
191
89
506
305
657
29
885
710
578
147
175
66
968
910
772
350
503
708
290
956
610
193
775
480
367
536
661
460
899
78
329
627
106
867
434
583
258
541
606
605
409
826
738
440
666
719
852
546
29
46
425
220
902
687
167
442
425
204
436
91
425
7
898
357
158
476
562
832
981
644
24
741
777
145
617
245
245
141
175
525
130
853
282
662
111
131
199
914
323
229
169
76
430
579
397
65
770
889
836
715
306
349
835
69
62
43
808
100
260
971
382
906
581
193
845
887
866
711
348
321
96
669
996
58
662
314
891
766
784
983
203
238
452
31
571
864
379
247
468
209
303
796
700
50
416
133
859
913
831
662
385
321
772
127
876
499
612
862
409
273
964
50
946
206
792
105
337
853
901
99
50
143
228
978
499
492
66
884
788
264
749
559
746
551
311
206
360
84
366
606
114
264
750
566
263
943
509
942
801
584
425
635
707
864
624
887
93
626
733
185
27
306
723
862
142
625
800
202
612
373
699
523
732
585
265
194
108
260
509
41
434
46
188
904
932
6
541
380
790
641
25
944
356
846
754
709
425
379
893
63
679
707
426
285
229
814
569
56
265
667
585
442
998
546
934
547
457
405
460
536
195
705
829
123
648
964
527
963
704
368
505
579
13
358
1
618
737
67
161
241
686
839
825
400
287
828
236
621
397
873
518
631
762
400
447
878
831
112
448
502
703
617
756
842
240
935
365
911
732
61
741
568
75
336
272
304
115
444
58
674
644
227
984
377
595
402
974
944
90
448
929
765
385
614
160
940
183
38
42
68
459
420
206
599
717
565
839
843
553
379
573
72
517
573
979
399
500
425
927
277
331
430
921
545
806
557
68
909
127
156
495
617
610
238
912
902
563
996
469
425
425
921
236
573
651
825
452
967
287
396
126
936
885
658
709
36
236
855
362
933
346
826
715
66
252
886
176
565
563
628
541
849
39
785
92
150
150
493
403
978
321
894
821
225
468
960
939
122
524
871
398
796
870
35
77
508
999
74
29
954
252
708
541
223
182
481
353
70
975
704
354
188
325
836
79
79
388
741
909
924
704
921
196
579
505
871
437
481
445
157
225
733
576
692
964
131
359
943
208
217
595
484
80
690
432
408
404
703
4
564
102
593
870
520
883
612
108
429
476
71
837
700
493
119
982
465
479
53
277
392
896
667
882
284
573
653
484
252
625
459
432
999
977
357
283
880
385
674
99
964
307
270
1000
280
44
401
746
802
342
34
592
468
19
515
253
762
273
294
586
900
22
1
505
710
1000
810
736
658
373
444
242
291
315
581
520
555
322
699
560
89
52
603
890
594
110
949
68
808
539
117
909
458
708
667
980
795
934
458
173
951
450
200
656
443
262
877
166
563
14
978
362
286
266
944
935
601
454
574
276
821
373
390
738
541
256
115
998
379
370
513
546
543
598
769
91
573
632
506
565
291
300
309
420
144
962
310
151
602
152
990
309
244
391
878
777
458
580
210
789
454
522
940
936
404
865
728
449
103
233
646
135
480
363
386
666
670
843
697
365
112
439
613
228
334
51
826
701
646
68
162
631
971
252
745
914
437
314
854
551
134
41
914
256
683
138
284
277
841
5
759
794
419
251
756
120
197
124
187
953
354
958
915
60
178
365
522
155
473
211
825
159
97
301
221
701
579
323
473
511
574
846
980
287
208
44
949
742
62
419
106
801
579
968
783
324
214
142
250
302
518
469
168
247
651
879
879
309
530
630
81
787
939
225
92
812
434
861
518
414
811
755
652
640
249
178
337
95
945
124
332
84
254
338
462
521
845
854
957
915
389
288
411
18
626
876
743
197
440
647
405
171
759
185
795
539
660
161
546
427
63
154
889
675
782
351
785
192
516
371
888
523
565
805
693
197
660
69
416
117
334
819
251
152
677
472
644
45
158
357
162
959
419
654
309
311
619
515
418
990
942
741
325
739
325
965
109
227
366
518
600
335
607
84
713
251
78
808
924
237
75
710
358
378
616
172
37
154
950
750
792
443
750
783
247
440
360
89
48
6
587
545
206
193
8
502
46
6
739
792
707
26
911
542
617
127
853
159
618
408
119
589
688
391
62
431
317
706
592
535
619
759
149
491
239
344
664
810
922
752
480
654
397
706
774
688
868
359
12
9
994
679
379
112
692
758
906
577
486
996
233
458
418
622
575
377
713
753
454
981
512
11
198
722
958
755
59
872
874
148
1000
346
46
593
889
143
888
576
863
170
852
573
95
809
536
471
55
813
825
923
628
51
805
138
137
154
399
892
386
337
872
948
341
559
391
659
960
693
814
251
975
568
766
184
152
595
826
13
657
162
370
396
685
179
186
220
424
907
500
371
783
729
457
298
16
587
419
383
555
649
660
84
896
133
185
980
345
380
411
111
796
950
411
484
486
966
262
219
840
962
800
539
120
221
723
781
551
958
595
632
31
719
718
46
296
82
285
704
646
44
452
370
949
527
198
263
634
25
936
366
855
795
823
635
796
900
649
235
365
72
997
249
142
626
82
793
511
583
312
105
363
785
155
972
619
978
338
810
95
796
731
811
903
104
562
843
672
387
735
206
353
739
116
919
281
543
600
939
455
108
688
624
705
373
38
756
555
284
213
693
65
614
368
513
910
784
211
591
254
729
895
659
730
965
892
277
980
796
72
577
762
28
372
317
587
657
443
554
213
734
647
710
96
26
590
391
73
144
146
106
132
517
589
937
125
986
14
282
655
796
701
49
198
462
465
33
691
320
296
770
476
585
830
879
471
360
235
715
890
387
154
217
660
275
213
965
915
559
462
820
606
240
794
966
311
376
63
839
778
883
124
217
617
976
482
676
817
539
565
754
434
331
917
399
892
85
739
713
822
492
303
579
262
548
710
478
335
933
366
700
242
959
313
197
515
83
274
525
987
154
839
671
886
383
744
84
768
468
597
900
751
436
729
156
677
556
64
797
341
90
36
400
928
760
624
836
124
537
497
537
176
773
138
667
312
763
551
208
547
516
820
955
882
916
359
422
280
460
172
964
645
447
801
727
181
850
956
666
184
82
980
501
296
518
440
380
689
975
92
14
493
266
424
221
7
621
777
142
871
10
757
873
456
347
313
891
164
152
355
459
190
484
262
119
594
876
948
527
184
537
441
101
808
338
53
418
128
938
328
831
865
947
895
538
784
222
251
208
416
199
281
308
608
698
5
501
530
766
662
802
687
946
726
731
817
808
861
348
291
738
161
874
794
701
215
619
590
194
684
22
658
644
119
963
339
272
670
898
895
862
205
18
583
909
105
376
403
343
652
853
681
414
526
890
52
327
353
184
190
922
670
884
855
10
939
412
434
13
430
697
183
155
899
507
784
814
2
523
692
576
269
24
959
165
315
343
890
707
648
739
911
701
118
979
526
700
515
712
66
898
343
658
215
771
89
764
4
451
587
722
985
739
229
658
859
535
854
407
667
982
97
490
990
813
893
801
304
247
580
77
736
233
768
399
11
42
720
340
293
990
508
893
948
544
613
967
21
196
953
85
342
250
548
870
731
121
170
80
743
821
347
208
749
65
38
145
911
820
160
991
810
202
870
873
39
309
202
537
89
984
195
566
229
510
158
306
906
922
44
962
380
985
262
875
921
842
372
706
944
45
277
69
853
934
471
220
201
341
865
531
46
189
483
845
983
848
87
241
410
44
384
430
43
697
26
753
551
328
53
727
459
563
763
175
138
831
279
264
788
565
198
156
810
87
829
586
859
886
453
404
162
193
940
988
411
568
853
503
635
759
838
167
988
193
711
47
328
311
164
411
757
404
410
360
70
728
405
231
198
471
529
328
261
554
700
579
827
366
982
103
329
259
634
47
372
46
436
708
809
789
885
692
97
908
463
799
380
974
833
375
184
617
194
126
388
639
497
771
349
768
443
438
670
496
412
434
132
88
557
863
719
148
311
563
519
134
457
41
500
779
726
368
833
699
633
508
459
385
863
177
70
369
66
123
538
599
380
682
94
962
314
545
228
465
915
963
384
779
268
24
984
733
489
188
246
894
291
50
529
503
138
133
670
936
746
597
872
312
398
921
256
54
151
5
65
986
494
611
893
54
439
766
23
843
357
553
101
877
64
719
945
78
826
630
228
909
956
445
138
414
651
796
915
810
536
866
295
346
158
559
520
819
312
320
537
570
692
284
405
755
760
639
750
414
199
481
282
163
507
991
43
370
563
457
36
303
38
511
352
44
557
993
696
962
423
985
511
115
525
920
487
271
792
115
334
137
158
757
141
4
565
124
501
252
973
798
875
50
653
733
310
168
368
286
742
25
132
762
593
958
354
580
248
236
131
901
342
540
334
460
437
433
910
384
850
894
544
946
851
81
375
627
419
367
18
298
58
91
516
63
927
640
180
84
656
228
505
721
820
184
449
449
942
645
450
293
316
303
444
999
668
257
29
739
877
77
674
932
553
906
504
669
249
801
811
308
494
530
850
42
627
746
921
616
627
783
983
943
732
323
253
20
687
833
339
462
864
990
468
930
334
264
269
937
229
467
398
807
357
325
10
90
82
117
719
318
965
950
212
821
498
547
142
268
550
281
256
675
815
782
983
929
634
637
858
258
56
585
231
672
900
140
687
126
869
751
471
47
498
455
4
901
803
472
284
696
48
353
534
646
952
86
983
759
4
50
87
768
283
808
786
649
332
533
643
961
192
264
820
361
644
324
906
969
88
917
529
685
245
401
552
175
59
714
390
1000
743
217
674
302
917
536
16
503
167
40
146
730
175
283
30
59
755
53
906
210
763
681
319
35
855
943
394
987
516
131
526
778
585
918
631
604
760
194
895
628
218
366
674
912
519
544
845
610
429
612
447
43
168
455
859
203
853
481
171
381
571
180
581
822
631
628
897
785
1
777
214
916
848
828
864
598
403
238
591
827
66
702
687
198
799
980
535
795
360
570
595
124
871
53
356
762
535
398
228
32
52
629
620
871
461
46
713
17
638
615
536
795
683
257
16
56
761
463
584
300
753
129
808
595
242
519
239
681
939
986
337
562
645
484
918
968
253
884
25
301
70
830
495
47
969
203
813
225
495
236
10
86
47
19
455
185
714
392
436
920
156
234
276
834
169
749
608
275
211
648
116
506
233
41
686
993
596
457
466
379
737
666
757
636
510
850
9
937
801
260
454
126
108
700
78
7
263
41
681
311
356
524
760
888
254
756
838
593
779
187
627
338
737
317
127
33
540
54
345
445
31
456
833
556
507
539
647
646
653
975
665
163
240
269
392
417
6
437
546
288
85
317
729
402
724
363
446
709
784
202
570
999
721
279
125
628
289
629
887
680
248
197
915
849
698
157
557
550
508
344
880
175
494
276
750
931
620
244
985
425
511
570
92
980
7
475
129
722
303
955
99
612
479
673
161
936
840
172
609
253
582
634
236
430
706
10
222
184
10
585
130
515
234
957
951
504
123
952
369
234
242
236
613
974
885
222
299
397
299
445
665
268
755
714
450
992
702
233
494
397
352
349
800
374
582
751
388
322
929
761
827
874
828
808
678
40
963
307
438
734
732
951
800
639
414
832
146
484
554
932
250
116
450
253
114
197
424
250
676
960
687
314
926
224
248
748
599
777
250
66
189
334
560
452
502
476
206
933
350
393
485
124
265
785
164
429
315
971
236
227
192
119
92
861
757
531
836
262
126
60
669
599
215
90
973
684
370
979
694
754
343
494
175
857
420
574
376
333
932
709
729
744
744
318
552
213
566
768
10
307
89
124
120
508
20
260
170
807
61
710
258
172
766
528
327
470
966
461
211
906
205
945
717
227
143
790
709
714
481
928
458
477
288
278
316
680
994
587
861
89
499
111
252
806
979
132
470
94
38
572
496
989
750
468
243
778
32
627
226
468
495
582
567
130
629
858
880
322
712
655
12
856
315
274
403
862
668
9
21
407
411
757
483
980
482
314
946
742
959
177
811
809
698
676
113
768
514
437
680
251
468
512
843
680
555
964
468
232
698
361
598
643
521
426
808
746
779
8
686
527
703
690
495
26
760
584
192
666
477
283
426
425
80
530
72
822
624
887
135
847
223
562
574
840
723
632
712
786
904
46
416
672
849
210
161
338
656
413
408
754
72
66
505
736
924
518
418
925
493
212
177
269
39
87
889
351
804
404
501
640
675
643
305
160
612
723
322
115
657
549
303
747
9
819
76
39
237
88
342
957
142
343
856
546
196
687
111
597
747
328
270
551
380
713
108
990
915
553
152
355
552
466
48
522
548
142
408
443
654
272
47
401
265
935
574
306
846
817
744
71
742
384
863
377
949
117
788
992
711
7
759
405
137
769
369
751
126
663
472
843
3
379
726
701
221
169
781
106
358
311
788
592
451
24
88
751
373
146
389
895
561
268
719
934
942
503
741
778
256
744
782
712
355
118
57
950
228
270
121
35
669
313
546
814
519
510
187
491
371
263
161
644
457
547
851
158
212
703
814
753
656
441
486
132
308
955
951
837
820
279
844
557
893
447
689
974
337
493
549
264
312
94
926
968
899
470
246
317
143
192
104
7
643
710
707
81
541
731
547
836
544
72
452
614
176
251
561
906
54
850
678
495
380
662
705
197
217
729
544
392
360
639
925
685
766
867
132
971
601
525
466
650
911
631
608
971
804
848
741
288
842
762
405
529
995
880
586
330
152
978
465
82
647
856
571
625
695
293
854
433
948
771
297
901
594
565
283
819
557
877
850
150
406
50
358
43
483
291
852
350
676
974
587
28
933
350
758
489
363
395
464
354
253
618
354
78
881
881
166
617
319
666
615
628
748
760
676
704
994
54
346
796
67
977
372
288
520
128
298
141
345
815
390
160
937
545
669
721
377
3
313
200
930
661
172
972
181
992
974
83
671
188
98
574
239
395
445
56
563
746
44
276
505
882
490
358
968
229
238
873
946
44
51
117
296
104
633
797
589
985
561
815
66
54
196
32
313
674
124
640
808
611
67
305
876
328
888
315
904
656
519
763
921
325
134
240
744
956
890
588
941
448
903
13
816
103
906
270
443
453
198
683
567
533
95
480
803
238
72
301
186
486
182
755
549
146
142
603
631
76
676
458
54
149
341
923
554
858
49
714
894
950
954
640
952
528
196
275
330
266
229
769
683
666
101
539
690
808
137
509
194
650
878
152
606
740
57
840
83
158
616
926
360
615
454
496
355
869
712
16
832
86
837
896
488
296
605
570
771
882
566
873
664
864
90
297
396
844
288
270
794
644
645
678
550
20
68
745
183
387
445
763
913
104
510
367
956
745
972
766
985
729
416
822
618
830
428
916
860
390
793
334
335
499
344
268
3
8
249
612
835
22
89
436
532
415
81
409
6
11
180
444
738
272
612
545
585
768
588
174
834
192
569
440
527
441
459
85
170
88
561
524
936
628
919
197
402
12
951
84
657
337
899
519
355
16
676
392
907
429
155
387
562
785
815
184
538
956
898
426
734
77
958
838
818
22
720
82
618
242
674
816
828
75
744
941
23
318
628
219
840
771
164
279
966
505
151
517
297
792
603
568
189
2
314
812
252
286
976
877
551
514
801
185
377
805
766
390
1000
908
139
990
913
888
905
482
149
824
82
155
168
696
674
80
666
240
199
828
429
320
304
250
983
260
969
957
401
689
205
217
57
658
936
626
536
187
991
293
169
936
713
239
864
404
738
395
4
915
908
869
189
644
136
129
497
140
244
375
774
96
481
639
182
607
452
101
854
813
659
681
42
583
717
245
618
882
571
623
78
544
740
237
508
446
655
335
110
502
708
692
943
460
445
179
531
226
732
791
852
325
335
540
10
143
547
151
604
811
975
622
372
934
524
533
223
890
982
462
166
88
303
960
974
394
878
359
626
940
587
75
716
625
440
191
52
962
907
840
603
329
893
313
810
323
403
877
18
662
606
1000
470
993
924
61
844
60
230
641
807
902
996
183
438
137
453
144
648
938
465
768
923
21
786
251
823
782
855
382
655
775
71
725
679
874
752
1000
983
776
628
623
929
10
757
292
668
225
220
96
790
351
817
871
568
158
254
435
679
853
976
876
454
619
912
321
937
407
853
436
74
886
114
478
317
178
395
877
828
881
509
188
244
948
707
728
656
182
907
384
59
452
7
881
23
265
837
264
762
993
15
470
90
869
145
647
964
856
313
309
461
642
825
512
66
278
489
970
91
454
488
449
880
8
113
831
243
14
162
950
187
722
839
681
592
708
344
783
979
803
193
705
842
774
469
865
364
269
846
945
477
232
245
382
369
864
409
548
499
202
498
77
145
575
78
411
272
504
489
942
290
106
655
25
835
695
845
752
305
69
752
625
293
922
552
153
392
917
242
967
159
247
683
270
108
882
235
303
748
335
769
25
594
449
154
418
995
651
19
641
387
123
694
771
305
557
784
19
27
520
716
105
305
956
965
968
974
36
393
88
605
376
274
473
556
636
139
828
928
646
533
471
944
507
130
340
241
544
435
838
388
620
473
290
719
73
443
549
206
445
316
616
691
261
746
205
259
360
450
836
899
616
460
404
913
514
210
149
708
647
493
640
704
161
720
633
111
85
744
709
217
742
784
147
663
698
574
814
907
224
979
762
683
858
718
830
844
482
742
786
358
233
62
441
638
724
505
748
600
266
963
97
11
244
184
888
777
331
44
9
770
12
567
10
677
704
625
625
165
883
405
770
312
754
231
315
870
425
250
732
447
989
845
191
67
658
353
773
934
858
831
304
389
209
159
672
250
451
710
652
694
651
216
963
826
492
200
705
916
59
527
383
35
268
219
426
482
43
668
506
972
391
752
967
26
770
210
373
359
534
775
516
399
767
247
229
208
546
651
998
205
499
85
677
104
567
687
581
352
12
387
842
215
74
759
205
360
145
334
369
395
957
202
572
417
94
589
349
992
69
368
334
406
337
130
489
227
848
551
402
415
194
239
126
261
944
187
611
442
542
211
900
298
966
513
179
308
454
570
180
353
762
110
681
1
781
854
571
547
874
4
483
936
942
266
80
29
51
250
854
891
457
738
783
906
978
181
201
577
970
217
65
777
611
737
147
110
802
210
768
752
759
564
401
847
289
911
833
53
812
794
626
348
435
435
264
569
756
687
768
429
639
977
496
982
874
575
552
569
529
946
502
315
774
755
88
133
160
365
218
23
638
283
826
174
99
93
117
999
840
833
277
787
173
679
25
82
325
44
239
252
894
877
486
965
394
44
468
467
823
149
295
585
787
59
12
401
413
685
991
380
217
297
647
550
79
750
422
12
738
526
149
648
526
417
704
430
601
25
333
105
605
964
150
379
484
828
84
931
209
511
8
724
253
447
824
111
990
684
92
191
631
491
132
685
899
357
630
407
438
853
474
16
843
774
920
335
286
413
236
988
953
609
614
476
867
399
538
116
251
754
731
446
251
864
519
807
727
892
707
803
811
932
58
275
98
152
87
218
693
751
138
816
767
403
678
372
962
326
305
475
752
980
239
179
817
654
936
299
609
902
64
211
534
844
266
697
609
869
12
421
15
137
390
632
700
607
836
545
95
16
685
632
9
343
882
785
8
819
372
857
924
476
496
642
641
538
161
728
3
735
717
8
482
724
202
824
248
383
95
880
409
687
784
69
497
254
701
321
701
393
500
423
976
694
683
509
929
762
830
581
251
689
928
10
615
269
347
401
124
737
679
625
808
40
9
75
237
266
176
427
960
854
239
252
394
656
668
854
764
750
755
622
877
141
356
967
835
130
347
695
280
177
127
240
385
572
75
756
623
44
135
493
279
751
575
238
771
755
575
836
134
153
446
12
419
563
235
725
329
512
919
311
177
618
644
511
95
138
260
297
510
576
913
80
68
572
627
495
563
211
587
455
947
228
323
590
131
327
108
475
163
966
663
324
303
529
698
901
687
754
906
477
544
643
769
584
390
867
964
175
236
847
169
540
584
270
841
14
947
801
862
51
648
135
9
734
947
342
868
160
877
663
178
430
745
533
544
162
957
622
175
549
657
116
541
975
703
294
876
149
684
684
19
474
954
753
407
162
219
104
945
178
776
641
67
658
344
6
569
897
365
878
682
328
743
383
401
185
289
976
349
699
504
602
263
741
974
887
771
805
319
377
277
97
567
556
645
295
861
512
833
215
580
605
811
240
358
449
898
864
954
832
109
104
620
945
236
877
437
441
168
629
56
397
373
660
432
182
573
617
441
654
387
558
686
825
109
856
453
333
859
958
492
656
62
670
254
959
567
222
275
898
765
826
623
472
745
823
727
252
848
807
434
908
10
301
866
982
909
664
466
298
261
898
679
201
554
959
844
89
161
977
233
316
18
512
616
639
13
610
410
775
817
967
234
583
118
922
645
564
150
394
966
128
951
77
325
118
995
428
507
566
737
1000
739
583
114
675
301
565
249
219
720
590
426
380
353
44
926
419
380
977
444
593
548
663
626
586
577
137
743
315
739
250
609
847
12
905
668
378
138
702
579
379
98
176
728
25
765
170
860
981
996
667
390
452
981
569
52
193
468
503
233
780
381
722
727
69
432
557
659
209
553
690
27
955
369
715
635
337
477
76
215
904
978
488
148
880
599
370
538
576
721
660
356
286
821
622
961
753
150
882
628
979
952
9
619
807
169
398
925
221
373
77
69
764
612
331
249
829
952
728
664
803
801
188
92
245
456
242
637
317
955
533
115
674
999
882
729
894
615
987
497
312
290
901
443
834
468
989
667
869
697
969
248
63
214
982
385
897
396
364
323
554
386
975
358
655
132
433
678
631
242
624
875
495
353
159
713
752
144
283
138
14
746
863
574
649
63
694
276
457
428
357
869
928
99
230
230
108
335
84
582
497
170
887
962
659
559
58
269
441
256
436
719
797
659
648
865
190
844
411
284
495
216
509
684
113
477
874
431
743
158
212
451
890
538
107
48
714
608
370
429
278
675
688
617
594
293
315
6
130
506
594
32
577
768
626
284
793
500
283
937
748
988
51
538
234
175
922
61
855
989
643
599
512
15
177
246
202
695
132
518
460
744
259
129
153
135
867
68
702
854
133
683
984
568
848
937
335
531
85
75
72
308
670
683
934
376
53
551
661
250
422
781
704
556
415
303
694
378
838
359
917
298
145
513
439
771
260
434
987
854
531
63
912
878
206
744
796
330
857
574
331
71
594
509
141
43
746
774
79
767
933
691
406
279
82
371
926
617
16
601
829
612
678
902
496
546
929
919
979
163
135
267
217
652
418
471
296
462
548
890
233
246
922
342
818
793
996
738
35
544
813
150
454
174
994
631
778
777
663
575
414
361
320
566
544
757
559
469
668
526
910
4
18
139
794
121
532
502
727
331
332
930
474
525
760
737
800
950
57
992
837
724
747
354
846
705
580
570
347
557
708
959
152
605
363
104
848
407
943
98
647
43
810
863
346
760
560
500
335
980
744
144
203
681
262
498
523
783
718
89
813
518
55
292
509
696
661
350
34
430
14
916
660
135
589
160
960
567
441
91
63
266
371
555
805
977
47
323
160
582
793
769
962
583
16
920
63
427
400
83
541
813
66
799
448
676
864
642
931
693
863
247
231
30
854
999
190
520
416
16
436
635
661
422
305
414
298
403
931
972
53
226
641
353
821
213
966
241
109
648
110
515
522
738
683
682
8
32
876
7
575
161
20
543
25
360
635
315
986
15
696
660
217
369
778
60
698
609
193
850
525
809
989
889
955
544
915
566
306
581
70
583
543
730
948
541
509
789
57
716
781
549
96
356
996
979
911
442
359
41
126
159
739
71
354
247
393
282
389
974
897
770
630
754
319
324
241
318
984
459
264
893
475
366
954
89
645
859
103
42
496
26
29
905
759
960
188
950
872
883
87
391
863
7
282
546
302
656
779
83
140
556
69
940
686
698
367
931
454
857
360
224
882
661
927
598
167
106
827
883
589
519
326
12
734
318
87
918
962
298
421
882
317
846
178
994
838
200
136
132
886
820
726
207
662
987
357
462
575
13
357
304
503
779
814
484
254
925
157
424
755
663
380
165
574
76
224
709
394
753
453
495
965
806
622
356
896
602
363
628
324
81
275
944
199
97
963
922
388
85
619
121
295
250
844
604
20
614
42
981
334
513
838
5
915
540
435
713
356
527
743
577
433
872
387
355
990
427
443
156
587
170
831
732
770
129
845
164
384
349
197
917
893
214
317
714
43
124
362
785
565
317
547
833
799
635
963
508
273
171
998
240
303
999
851
59
614
685
386
412
844
832
764
63
535
719
864
868
884
992
499
580
98
431
824
902
648
75
140
642
139
355
501
205
749
424
148
639
426
602
811
92
100
676
357
878
188
825
81
285
584
120
181
896
118
840
616
470
235
373
576
364
225
57
266
67
912
159
571
661
136
106
425
940
699
198
404
453
727
310
132
989
536
482
574
852
177
896
210
839
796
456
353
995
824
82
606
76
816
867
565
124
426
451
369
750
614
316
679
490
703
239
932
87
274
763
517
678
256
443
632
624
743
520
130
172
239
891
644
227
36
492
634
246
397
662
742
693
63
696
77
520
323
511
576
898
603
311
612
749
57
183
396
694
122
797
546
692
393
776
372
11
457
839
60
132
494
524
969
884
590
143
644
384
686
666
29
337
994
348
561
873
554
291
497
363
305
580
876
616
681
286
958
422
293
412
868
676
665
815
430
197
386
252
858
948
262
935
57
542
217
428
763
826
780
275
663
836
945
488
929
613
79
907
312
212
343
492
41
731
789
805
325
339
867
300
151
84
622
538
412
751
229
144
152
137
875
97
849
897
178
992
208
562
498
985
888
392
507
473
984
514
339
987
802
159
498
391
694
890
421
243
267
440
314
87
286
127
377
532
988
855
67
181
306
398
397
905
749
992
549
446
244
270
307
71
323
222
867
856
420
164
631
159
902
695
469
55
692
192
768
783
980
732
307
785
567
213
630
519
875
63
109
28
475
182
364
221
293
621
12
892
305
128
19
797
635
845
43
507
453
342
269
347
948
712
175
446
982
602
560
817
720
934
966
449
651
531
289
546
926
49
999
464
896
402
881
363
11
343
621
275
50
985
880
130
731
826
725
235
348
266
411
862
27
714
548
882
532
112
629
836
371
116
738
446
91
226
22
317
235
894
168
521
454
965
679
807
629
901
248
428
670
855
878
961
882
48
701
30
383
889
626
557
81
911
68
17
162
937
990
169
852
835
412
943
465
846
361
439
405
748
962
521
810
70
981
92
28
124
694
953
940
910
378
85
439
826
78
309
41
688
553
537
689
767
481
238
305
448
34
341
528
605
968
505
396
12
170
584
419
924
488
156
620
466
266
195
625
621
681
301
840
425
435
442
36
432
794
802
456
638
266
187
672
830
449
382
974
778
686
40
38
733
245
922
992
505
616
806
743
740
442
964
637
111
294
864
78
845
198
697
753
358
374
383
463
846
119
941
408
314
165
518
948
891
93
891
494
289
622
965
191
878
651
656
498
198
956
542
586
672
355
853
726
920
969
678
475
329
927
773
537
507
492
952
606
798
135
895
392
309
513
86
280
803
649
770
760
348
894
29
845
862
377
526
185
534
754
27
478
651
1
544
78
542
911
836
424
171
718
45
5
444
974
445
113
417
405
627
556
413
962
987
841
525
720
10
69
99
563
707
935
577
854
518
776
493
382
143
573
547
938
58
162
373
812
912
701
80
336
624
597
656
376
747
700
64
315
593
531
240
656
681
748
200
830
322
812
176
183
508
49
38
410
841
924
235
878
944
337
171
389
626
196
219
942
105
362
552
961
761
279
590
267
210
258
141
807
972
452
247
770
651
977
338
276
328
547
543
235
826
219
910
361
615
549
858
542
375
529
365
959
665
170
328
392
723
489
985
145
140
954
548
884
57
176
974
467
559
698
339
574
156
321
423
477
584
263
904
864
692
838
60
1
820
50
967
836
924
644
979
890
675
719
711
904
899
962
814
222
17
923
614
889
586
516
60
213
681
133
497
382
563
301
504
310
68
841
386
508
161
857
969
219
374
694
1000
456
218
215
821
844
204
358
960
389
815
946
962
373
607
173
55
588
668
991
257
23
785
888
123
963
40
187
596
144
4
28
415
271
346
682
57
713
483
701
490
672
821
647
881
415
262
892
995
475
913
971
200
831
337
544
902
196
287
864
737
461
570
972
38
286
589
542
942
555
154
423
991
142
356
420
244
22
638
823
713
266
732
485
412
871
792
15
427
687
864
788
199
949
837
35
633
7
146
210
751
949
790
236
339
680
684
950
471
933
963
300
804
399
636
388
306
854
875
448
413
696
332
276
658
821
99
386
494
109
293
403
376
88
820
809
162
557
567
183
543
12
104
491
534
755
20
832
5
462
176
274
876
802
468
57
854
428
203
507
540
299
803
442
328
801
360
732
747
612
510
946
821
579
203
669
566
140
208
201
971
982
609
798
667
703
124
523
35
202
813
98
673
417
629
819
993
804
299
735
205
663
245
818
110
983
580
746
936
17
761
296
889
191
122
38
257
256
348
221
644
862
939
228
367
795
827
1
135
222
631
149
878
179
475
253
980
423
876
52
270
490
25
766
792
499
649
820
777
774
744
605
267
861
701
741
520
863
733
495
653
345
37
627
3
201
857
952
329
31
444
356
265
530
934
800
445
333
325
115
298
566
85
29
822
87
352
905
556
7
391
151
583
646
717
106
625
507
248
485
205
192
4
153
406
461
60
52
971
775
940
631
376
734
181
998
3
816
546
322
768
672
231
727
357
41
476
25
753
33
190
165
872
118
530
188
945
691
919
834
735
453
645
654
827
217
992
660
970
906
866
74
920
720
990
695
304
401
56
791
773
543
650
165
124
680
398
234
121
689
519
545
471
675
918
138
775
82
991
559
296
255
582
132
97
39
896
303
409
318
718
492
114
546
12
895
857
474
784
121
636
222
162
359
663
815
762
49
928
72
779
628
154
493
686
6
797
396
90
884
312
111
76
866
151
466
311
624
884
155
308
15
377
836
498
157
175
958
172
952
121
398
950
436
763
940
148
651
290
545
305
415
570
99
178
516
372
60
726
348
2
5
927
948
391
582
824
715
128
781
834
852
96
780
204
688
79
800
450
617
206
583
791
326
154
103
843
373
786
88
321
915
313
764
85
589
107
3
638
133
36
693
93
288
547
746
712
969
739
614
347
453
392
556
495
562
212
217
240
419
589
232
28
397
786
701
104
283
811
364
440
526
181
222
153
671
396
175
731
743
250
961
889
366
4
317
482
889
68
814
723
642
67
263
892
712
76
941
832
321
370
133
783
953
242
656
537
876
336
87
466
599
434
407
698
115
861
632
618
458
479
815
913
262
765
463
559
495
597
39
541
471
203
711
576
607
180
925
799
82
615
692
187
750
121
703
479
172
41
533
494
609
140
197
34
193
893
292
14
221
829
808
66
757
509
416
634
243
364
744
476
864
72
679
590
777
89
241
797
120
729
932
600
937
439
757
490
755
989
306
569
578
897
390
207
488
735
714
484
869
951
996
300
533
422
764
416
627
258
747
97
310
318
468
758
594
460
126
705
646
833
330
106
86
377
587
370
532
305
697
408
678
518
375
656
727
797
484
309
863
132
239
972
764
755
623
794
858
242
31
201
155
601
872
563
972
372
430
464
850
590
822
757
229
939
269
287
251
524
236
937
158
492
219
685
325
143
69
465
934
278
806
932
627
284
793
677
292
827
6
48
271
135
883
492
888
517
899
255
170
169
577
351
41
336
129
938
65
584
283
638
17
276
158
870
180
342
231
968
300
93
537
725
522
128
250
990
510
365
709
147
147
819
765
601
898
74
51
895
934
285
397
716
602
160
175
833
672
623
763
983
74
749
701
788
503
129
346
98
370
31
1000
536
37
618
552
602
217
971
652
452
667
901
309
312
44
324
595
573
914
515
827
781
386
668
208
113
821
38
382
431
352
385
822
684
724
555
231
246
85
835
392
755
934
134
37
181
366
143
312
105
137
366
393
678
823
331
625
310
561
323
333
925
384
742
108
506
216
500
926
765
933
965
967
973
746
587
324
392
320
720
144
293
708
140
878
230
163
400
455
114
321
493
178
639
119
245
61
773
981
488
140
351
538
339
13
318
106
855
500
757
693
896
843
680
99
327
317
475
992
531
455
30
489
819
371
808
870
496
797
572
545
256
546
13
266
59
56
315
916
878
581
508
872
503
358
575
95
108
782
425
580
444
219
233
766
310
581
142
800
435
228
14
324
32
33
697
571
42
711
323
125
542
632
223
651
869
348
382
267
765
52
801
1
240
996
709
951
938
670
381
347
469
201
194
720
567
996
647
740
961
134
306
137
520
370
1
289
576
945
186
686
341
529
23
507
964
772
653
966
106
924
91
920
850
885
394
464
423
888
21
893
443
718
850
462
379
21
893
822
458
767
582
886
551
409
452
146
432
590
114
135
379
535
726
823
311
411
545
199
509
4
753
228
505
50
441
620
923
426
575
623
862
178
765
85
945
100
876
640
286
127
890
713
451
334
917
446
941
758
937
331
868
532
670
518
249
106
976
295
794
399
278
206
151
804
856
645
318
893
251
501
324
519
674
661
373
770
36
697
314
889
169
110
712
844
856
861
805
701
541
735
320
332
960
295
459
295
487
792
369
878
690
410
57
438
449
681
26
141
988
689
874
142
365
978
707
42
262
672
522
192
429
410
614
53
739
125
695
338
638
579
618
116
703
831
532
414
134
486
842
79
269
672
559
868
628
156
514
749
577
935
412
428
409
913
922
930
562
6
798
915
713
106
559
54
683
888
398
413
479
335
780
280
263
217
686
312
751
486
567
156
337
696
842
948
249
113
223
230
142
131
243
824
880
981
80
199
651
489
225
660
212
809
551
482
801
654
78
762
171
521
118
313
292
813
473
433
484
558
76
722
123
636
795
434
649
38
115
31
239
691
67
716
433
837
86
702
953
754
443
924
178
869
517
674
19
952
459
404
439
129
719
539
517
911
516
703
707
304
565
179
935
330
285
802
258
980
268
714
87
664
7
571
378
778
750
894
785
835
883
176
499
947
418
280
375
157
14
437
2
211
448
832
566
888
608
376
719
952
897
779
170
91
392
424
394
984
225
869
665
734
452
54
627
517
66
366
714
197
957
807
73
68
322
415
43
616
458
954
905
404
920
632
316
740
745
289
826
795
811
30
904
223
442
787
138
142
31
649
698
536
818
105
636
771
935
504
349
908
511
190
361
952
902
708
591
993
120
452
465
436
117
890
529
171
884
264
717
568
256
270
58
668
888
764
415
770
145
996
775
919
516
198
730
450
748
625
63
847
107
307
741
638
37
835
219
989
14
470
690
893
604
758
775
639
526
616
228
288
76
529
411
442
366
131
652
526
681
918
107
99
712
252
438
482
529
170
414
130
959
679
547
716
460
397
4
857
666
406
314
783
530
147
890
28
409
1
908
355
461
17
953
779
485
822
651
483
654
412
680
836
682
911
709
545
581
822
249
145
571
557
925
668
650
224
367
356
22
758
814
686
864
479
488
836
902
76
992
939
864
833
326
131
176
626
548
445
190
883
796
58
839
177
148
271
829
631
769
858
423
612
869
128
399
472
309
71
997
241
50
516
535
255
267
72
902
681
664
945
327
749
381
441
657
327
999
55
872
153
277
591
742
613
650
670
286
505
28
321
235
590
96
91
753
96
138
244
488
524
396
191
449
261
123
235
303
532
748
86
408
161
69
355
336
472
954
463
680
407
816
898
651
589
46
844
354
659
655
509
663
647
601
347
276
547
700
540
909
544
506
741
548
529
308
72
358
638
200
849
143
562
211
267
220
279
665
595
206
681
236
1000
457
286
670
251
892
868
773
924
457
353
56
682
802
804
381
401
575
621
70
638
366
389
170
987
496
916
26
398
746
124
861
374
640
373
799
317
91
732
667
979
39
452
937
67
232
623
388
615
431
572
404
636
147
73
364
892
486
857
217
384
768
218
185
299
412
731
509
690
978
247
292
138
361
348
779
17
873
386
882
721
370
103
349
426
612
547
740
523
782
700
303
844
458
759
907
213
351
529
421
645
818
730
327
728
495
325
881
334
383
169
859
831
400
364
750
392
687
725
312
820
940
670
528
578
680
650
379
311
601
982
269
245
132
560
638
281
888
459
49
462
964
900
996
789
913
371
802
1000
825
980
220
50
112
258
779
482
511
695
474
798
316
299
176
243
48
287
965
96
617
877
676
708
518
770
139
35
748
576
936
327
978
878
32
995
923
105
289
388
31
644
698
386
352
883
174
234
896
989
839
45
889
271
76
704
58
911
46
735
513
696
975
838
820
157
291
384
602
146
598
159
353
485
557
35
209
783
973
59
64
875
765
638
800
664
67
125
373
306
373
148
150
788
522
414
223
963
318
581
363
992
761
23
915
992
168
958
225
395
981
459
88
145
646
324
339
416
804
654
933
963
915
251
752
573
608
631
978
328
269
515
34
571
804
170
14
513
125
864
18
408
576
978
6
95
462
60
643
493
862
198
55
335
93
609
632
10
590
289
768
900
428
869
937
14
435
592
591
19
613
456
174
8
627
115
956
472
195
114
500
977
569
353
315
986
698
497
640
124
289
188
397
928
767
513
17
794
997
171
267
397
773
175
197
328
263
730
22
85
5
128
108
828
590
123
203
509
873
276
730
80
397
160
257
492
744
187
223
113
683
19
632
992
314
203
696
147
893
695
337
656
658
424
75
899
757
881
40
700
360
8
776
508
110
343
55
985
353
438
137
539
987
76
779
402
379
704
828
838
480
797
427
930
204
569
678
196
155
588
138
971
984
336
642
77
35
713
788
842
429
802
857
895
418
941
89
523
661
327
993
575
56
895
812
29
901
180
365
393
454
258
208
23
393
598
498
324
325
861
962
525
199
242
120
395
454
971
270
840
763
948
773
774
497
318
856
62
394
983
511
592
492
673
25
764
51
208
387
725
83
19
71
752
82
829
690
35
750
617
641
975
816
668
126
803
544
523
863
976
141
129
423
340
108
353
336
477
471
269
44
22
3
343
317
979
743
678
982
227
599
17
670
479
341
64
829
923
68
996
425
669
90
746
595
887
226
764
25
240
711
453
961
798
266
438
584
132
394
134
944
688
639
836
756
872
365
681
170
495
597
404
25
342
603
752
213
702
185
791
519
594
107
116
705
303
689
136
664
588
346
205
188
578
808
358
272
946
782
782
890
426
81
3
882
105
637
915
909
234
325
451
454
463
268
676
490
528
112
526
728
407
807
246
368
889
556
823
844
301
972
344
375
872
919
286
50
836
171
163
766
924
821
859
584
323
309
233
985
531
56
234
50
811
942
896
811
79
300
23
892
141
663
306
98
187
222
890
768
287
877
139
574
472
760
443
940
618
347
437
391
10
605
945
983
921
165
258
395
964
135
141
414
320
43
64
314
122
338
747
56
440
52
19
334
343
482
411
245
433
234
618
753
134
564
188
180
730
700
340
682
852
789
838
23
634
127
222
1
278
622
488
569
113
794
562
14
536
157
466
574
413
553
153
527
610
844
362
68
344
376
734
296
934
833
602
232
365
372
583
49
803
457
98
688
815
427
426
550
592
620
774
264
926
850
85
402
15
114
13
572
457
681
554
553
919
138
329
991
76
539
404
709
346
523
817
876
857
179
727
107
861
455
176
74
490
129
5
361
369
696
363
90
82
63
617
341
922
582
172
475
655
807
886
280
252
317
295
271
704
108
845
579
9
327
657
600
436
587
163
4
957
708
90
715
538
487
884
248
606
13
628
115
606
140
923
53
18
926
994
539
584
281
488
346
787
565
61
933
829
606
847
112
410
459
353
708
676
226
136
948
561
450
878
888
598
899
103
504
989
46
841
969
342
196
997
279
40
994
55
572
638
993
5
467
26
99
75
225
363
925
915
823
950
546
380
856
255
707
949
736
310
252
134
825
550
466
911
993
969
21
348
583
154
466
111
917
346
511
466
286
214
893
708
847
394
294
709
943
201
563
420
171
125
521
693
940
860
736
772
355
647
965
154
12
657
396
296
692
981
455
806
2
571
660
377
717
108
984
649
980
354
206
658
492
28
999
263
570
613
871
185
235
780
641
910
545
339
795
711
979
684
968
471
47
736
777
849
231
289
415
531
988
470
731
984
839
765
23
169
489
693
373
131
516
717
194
241
421
470
554
157
728
678
7
209
383
453
870
47
916
758
349
826
712
937
451
143
246
181
392
219
341
636
64
523
343
717
180
174
589
817
936
951
729
231
344
674
232
639
938
77
914
839
220
985
412
820
11
806
335
420
889
855
233
984
9
17
631
461
902
608
126
314
314
52
926
480
712
201
302
364
906
661
103
508
93
532
892
153
756
313
262
380
48
559
589
895
695
72
822
812
989
24
890
982
155
432
983
505
203
832
258
84
430
821
487
770
872
400
795
483
341
672
904
408
176
508
247
994
457
258
885
829
233
456
437
94
267
696
102
657
907
599
446
123
944
816
817
304
756
528
130
666
597
806
306
252
625
469
806
485
156
818
575
31
669
706
181
598
285
958
92
133
817
51
869
402
965
324
476
347
950
695
67
910
646
47
371
262
310
965
227
503
103
476
936
908
909
807
802
785
408
958
685
798
964
29
407
424
644
879
607
834
620
617
965
67
263
888
801
840
481
666
680
724
237
494
55
686
726
742
913
207
392
440
104
264
822
699
296
501
566
552
494
782
103
284
665
179
494
979
293
137
745
50
644
219
555
988
70
336
887
406
965
844
787
768
879
213
947
827
844
240
805
891
192
934
366
553
19
273
515
368
980
11
332
305
254
563
782
482
420
840
234
826
411
529
427
805
918
974
876
308
413
272
223
100
403
638
710
988
685
403
753
9
120
216
620
479
901
188
304
719
357
701
18
626
118
611
169
27
818
344
269
946
635
232
23
476
612
994
731
949
154
943
244
498
46
864
904
887
79
991
342
723
694
710
482
739
26
875
882
901
441
670
311
481
891
993
550
95
464
236
530
936
44
133
249
76
349
115
416
763
487
192
378
104
811
953
696
378
63
716
687
507
722
167
348
867
34
149
344
744
391
369
165
179
629
874
121
878
327
135
595
164
373
438
836
623
916
79
638
250
299
550
447
405
744
497
792
800
359
741
441
107
498
61
364
475
632
769
416
424
676
291
610
122
137
162
2
995
542
808
524
18
364
490
503
762
51
597
262
499
831
242
924
200
687
778
482
285
255
417
260
370
431
603
126
47
175
186
206
957
306
696
399
23
107
259
667
724
217
748
977
731
555
790
726
53
42
171
709
71
470
959
961
504
160
446
330
382
984
582
248
569
912
151
961
247
506
365
459
34
665
902
406
91
503
666
682
648
452
715
525
887
551
873
872
995
405
497
199
507
504
774
72
778
411
688
653
526
830
515
597
909
729
262
163
530
484
26
829
101
501
597
413
222
865
13
510
887
374
937
17
890
720
896
696
230
697
449
986
23
50
285
737
157
978
101
150
133
372
884
959
99
586
853
815
86
903
909
918
848
887
900
153
490
511
400
387
322
269
962
131
935
499
42
460
554
778
841
955
149
575
345
421
581
309
756
336
359
570
304
276
165
564
177
75
413
747
911
89
520
235
153
747
465
787
109
514
464
114
375
493
266
763
80
172
676
95
453
209
371
717
957
770
995
268
160
624
815
640
334
98
913
562
612
66
38
956
186
300
708
653
645
910
143
838
66
79
887
83
854
998
754
934
678
705
859
801
46
532
50
339
209
989
24
588
104
224
762
898
19
616
693
66
469
720
186
160
559
472
523
247
767
559
525
577
626
866
389
842
289
194
83
782
319
796
871
772
329
846
147
11
318
642
777
589
609
204
578
18
334
943
386
780
291
244
429
63
854
137
326
143
296
691
134
793
547
434
274
699
940
880
72
110
926
181
896
848
104
57
554
358
157
399
706
726
447
365
531
401
103
363
768
968
379
54
587
431
980
378
417
337
801
675
999
594
240
147
433
920
841
280
933
753
525
366
323
853
71
895
56
977
840
464
664
788
955
792
140
587
269
592
657
543
503
321
439
850
876
306
342
654
380
330
895
627
644
539
125
791
949
433
479
595
562
798
565
222
998
656
212
838
230
701
582
811
125
225
667
917
592
264
518
239
31
510
9
729
657
581
728
406
205
405
868
760
330
780
618
229
736
665
591
539
707
421
322
286
246
950
689
400
455
709
423
17
180
619
513
859
133
179
415
433
940
530
473
214
570
740
815
554
603
373
345
175
674
236
108
14
209
294
459
626
261
896
953
553
860
845
837
838
791
345
320
353
119
519
567
724
115
44
489
414
441
388
966
959
593
322
84
445
635
624
342
59
200
388
564
956
581
914
389
733
486
966
858
526
706
42
536
115
495
451
61
447
945
149
782
682
18
727
361
193
181
461
833
959
781
45
641
439
401
481
579
332
439
606
417
571
58
927
223
560
488
732
37
899
370
939
603
809
458
795
332
37
560
310
518
294
998
267
124
143
257
776
96
865
719
559
284
991
555
628
515
113
908
536
257
71
473
162
631
829
475
847
230
178
795
745
297
901
747
477
376
200
531
503
439
980
973
152
838
59
495
923
187
497
651
497
388
6
724
859
608
854
46
101
936
741
740
741
842
898
498
865
308
53
886
984
695
967
409
291
979
945
226
879
990
138
992
605
677
438
744
479
222
469
167
854
40
534
835
259
318
342
213
373
749
22
333
553
567
227
27
270
815
94
537
57
995
455
122
819
942
978
14
902
759
827
714
909
151
51
127
74
348
146
515
941
69
122
558
201
652
3
100
819
593
860
294
971
180
392
948
928
824
561
823
707
8
999
540
247
454
725
524
866
228
233
106
988
51
130
502
476
967
346
906
404
891
383
330
796
274
206
136
668
278
136
466
695
414
574
841
960
523
435
316
544
392
953
437
158
14
903
179
624
734
345
710
784
45
721
577
325
846
504
403
87
328
610
697
656
478
509
760
422
379
261
929
837
128
740
627
306
184
943
755
986
402
596
992
808
836
228
463
178
647
527
61
157
58
37
427
393
416
222
237
719
799
488
946
121
549
27
630
736
316
220
875
643
925
929
935
468
427
182
541
259
200
687
812
639
862
65
676
991
58
946
126
327
877
861
366
506
799
403
658
695
565
233
235
313
297
379
149
202
545
671
381
467
642
355
792
197
939
626
773
336
2
325
543
35
830
91
113
167
528
27
846
108
611
331
406
495
324
411
658
446
915
718
707
649
812
894
867
765
42
877
802
889
19
264
476
123
64
608
808
927
602
290
172
568
29
279
916
865
654
395
130
434
947
661
784
812
596
948
170
157
473
396
311
703
705
26
641
791
477
566
771
91
72
722
627
578
913
77
565
923
56
326
355
248
670
786
57
580
515
975
903
934
334
620
253
697
384
584
589
834
23
102
293
529
390
156
634
34
743
24
11
885
948
801
983
127
915
203
38
901
564
37
377
517
18
542
191
172
263
214
61
568
520
833
140
7
870
140
714
974
515
39
587
831
177
240
498
10
750
980
442
7
309
832
306
553
961
649
749
586
834
349
595
8
707
620
325
773
410
596
410
557
105
229
379
101
42
363
458
345
165
517
579
619
222
983
351
526
640
119
308
573
526
676
385
295
560
565
112
388
455
733
451
309
897
701
554
940
579
909
966
134
9
185
986
408
273
575
915
625
812
259
961
210
611
481
382
372
845
271
285
809
213
205
174
610
653
635
929
391
86
614
412
241
170
194
319
702
773
936
186
856
23
198
711
544
358
255
655
909
931
345
657
723
120
526
192
433
633
599
803
444
900
433
447
940
12
736
491
442
464
680
432
406
344
834
918
358
431
535
997
485
849
152
835
131
558
729
313
334
972
114
28
431
429
13
218
718
60
353
55
395
858
987
542
261
374
21
5
191
548
9
778
9
601
823
231
176
817
278
708
692
296
478
333
668
426
416
848
328
933
574
848
606
829
144
825
64
488
13
406
614
383
858
58
400
720
504
326
233
316
227
333
195
598
826
905
355
521
97
167
87
531
794
873
110
457
327
50
233
329
157
763
742
716
363
934
513
80
869
180
238
65
635
592
583
362
453
207
720
998
120
697
430
467
402
440
887
111
641
740
327
560
837
383
12
840
744
157
316
955
869
201
269
382
223
265
635
929
377
61
413
823
639
877
715
753
160
553
76
798
404
717
656
858
661
929
201
214
268
979
316
328
736
148
385
859
289
666
409
123
161
964
154
922
618
552
268
733
838
547
425
749
681
898
149
163
911
380
693
364
590
268
236
452
244
404
704
577
865
73
732
124
975
671
625
711
806
699
690
270
87
978
4
262
76
335
465
174
227
224
7
39
356
855
942
659
209
481
736
572
133
387
939
587
919
18
620
871
958
410
408
181
576
757
161
793
762
512
359
96
558
910
560
611
51
151
622
418
243
787
971
554
80
59
859
16
584
995
436
380
312
124
475
916
365
539
734
293
770
885
299
637
347
552
691
734
98
994
206
648
764
636
706
866
416
253
60
385
878
73
523
791
312
107
621
499
541
365
503
804
527
683
323
256
977
872
933
240
202
761
52
273
245
514
132
707
730
269
333
13
84
779
375
756
578
186
559
711
92
542
900
296
639
945
160
660
464
409
530
298
957
724
865
37
725
586
666
594
903
211
436
682
184
521
680
811
135
727
533
521
42
788
971
762
926
816
593
551
396
959
209
816
686
653
878
558
558
466
530
76
768
902
79
10
422
665
710
398
883
871
121
774
829
613
580
552
714
94
69
619
132
285
203
91
547
677
277
643
422
224
594
707
25
59
164
76
128
855
974
148
323
11
286
127
934
963
865
973
364
18
570
798
234
62
517
717
877
387
878
841
570
653
446
253
396
709
278
289
775
596
104
405
527
525
680
229
761
104
953
120
64
319
722
755
169
77
452
737
790
194
56
261
341
775
737
164
42
858
429
510
308
71
11
10
365
759
193
157
769
760
912
976
862
508
159
639
248
680
372
44
31
936
918
623
907
613
755
287
219
410
33
429
701
222
272
323
980
256
756
105
848
502
960
744
952
424
143
80
817
486
729
37
69
733
731
573
287
196
263
833
195
335
160
178
782
73
780
507
505
239
394
312
954
383
926
445
212
24
422
437
701
322
332
522
448
92
601
242
591
824
583
592
404
90
16
212
296
307
636
51
44
342
523
251
983
831
954
757
989
432
347
289
894
430
864
868
386
270
397
53
536
585
922
400
863
287
689
427
224
87
301
553
892
592
510
62
908
781
465
102
135
227
236
189
506
916
657
408
622
872
930
784
193
109
964
854
832
611
131
529
351
135
984
746
8
639
467
236
151
64
361
992
293
994
989
657
952
450
710
94
518
713
377
874
995
588
695
277
723
992
404
665
83
57
291
777
741
238
305
551
219
48
487
616
434
110
951
431
394
216
962
400
403
922
961
986
991
38
494
935
261
19
166
286
512
916
121
732
802
983
40
257
581
522
333
685
643
795
26
957
435
113
808
473
175
302
876
814
352
806
458
503
898
613
409
272
736
58
811
422
487
284
337
507
798
836
2
516
154
401
43
143
60
204
875
540
148
929
461
143
127
339
990
781
473
945
451
308
427
191
532
403
154
603
319
47
904
287
407
380
637
959
370
353
832
419
38
558
153
18
633
160
241
196
631
657
122
604
174
499
647
702
931
260
942
929
615
144
35
758
736
91
735
971
775
656
327
501
693
120
882
22
559
12
761
305
144
326
439
17
514
249
913
241
32
133
748
519
662
778
311
604
157
841
847
456
544
318
835
210
277
607
493
990
586
618
390
483
842
757
890
116
199
379
520
541
379
493
450
870
258
69
960
793
780
300
168
242
846
558
297
771
37
592
452
178
412
725
230
195
179
403
471
262
738
498
104
493
429
176
379
956
362
969
705
289
857
950
975
510
342
534
498
575
54
491
636
899
520
219
782
565
576
172
619
405
663
631
461
474
201
658
46
707
148
191
392
694
250
680
157
589
55
600
511
127
511
470
681
633
850
686
202
644
509
643
377
514
16
83
612
922
171
582
110
744
304
395
864
135
131
621
10
1000
480
798
387
252
211
595
579
384
728
221
809
918
837
527
801
236
88
567
126
157
416
538
609
354
588
624
100
397
944
246
267
749
952
604
101
538
354
238
528
285
42
485
834
71
389
389
623
822
409
576
680
462
11
92
426
729
624
987
589
317
611
701
386
873
257
931
741
42
551
728
32
453
667
19
431
1
798
607
160
291
987
1000
884
404
674
64
20
440
959
595
961
420
994
404
87
229
497
368
952
236
100
257
245
99
145
800
926
79
578
595
480
852
799
5
342
412
661
54
394
176
361
744
868
802
597
879
135
545
207
683
627
209
503
30
574
882
610
51
329
665
464
265
808
573
526
148
972
598
910
224
320
718
374
351
111
275
528
852
381
708
715
569
853
118
235
671
527
516
965
303
80
868
991
740
191
298
548
754
575
838
443
324
815
177
117
636
24
750
706
590
44
311
759
639
97
888
771
875
810
627
309
703
63
560
326
327
404
817
178
538
649
92
2
969
861
470
337
61
103
874
320
491
249
445
351
675
656
161
849
312
676
858
612
571
853
637
355
726
117
285
155
474
459
983
952
172
383
56
710
511
882
923
535
924
813
747
891
126
342
494
995
779
525
228
645
215
228
535
12
501
304
890
380
920
353
621
425
116
469
915
395
729
67
933
452
326
281
689
530
850
431
817
294
606
751
735
154
987
918
991
867
791
902
775
908
986
331
675
711
190
843
778
833
3
914
93
314
532
211
123
787
118
850
123
406
306
842
216
289
591
611
54
953
281
726
202
188
163
859
703
909
259
593
613
800
95
860
379
967
377
712
77
410
855
624
428
842
482
728
450
277
647
213
350
852
412
624
975
547
189
941
726
821
199
141
351
709
434
402
445
564
528
229
800
493
143
563
964
480
977
379
518
353
497
346
594
30
852
897
109
935
172
432
51
97
672
467
873
161
542
228
758
526
582
580
50
838
962
210
631
340
277
655
406
937
269
107
351
415
210
952
746
912
964
610
347
628
154
586
235
746
725
594
985
749
401
240
644
573
190
31
699
599
169
403
865
54
179
70
53
235
1
218
324
887
783
989
973
196
216
266
157
100
5
959
636
63
706
882
250
11
853
855
758
866
639
808
513
20
98
546
257
99
861
303
1000
608
85
387
548
368
49
6
749
198
301
858
946
938
917
155
430
767
615
570
916
701
30
989
195
361
357
81
160
328
17
412
316
898
681
247
781
639
245
258
492
912
873
39
14
445
244
730
935
124
532
64
251
385
439
848
591
996
811
217
362
542
998
999
117
652
119
201
545
832
825
901
473
812
995
839
193
459
27
577
247
644
46
417
510
942
378
172
66
659
141
493
877
490
603
687
723
67
296
887
201
739
515
963
867
218
900
812
726
123
330
507
376
35
229
344
61
408
673
977
781
578
424
701
398
134
117
422
344
138
338
20
172
18
278
600
661
497
956
614
632
552
776
957
903
262
288
888
91
350
615
109
52
401
932
391
809
982
777
889
754
393
716
706
771
341
87
310
647
622
107
130
849
793
642
25
272
915
304
360
59
642
369
93
949
374
199
627
943
671
487
170
206
887
622
10
277
787
959
419
642
968
554
853
614
32
201
755
337
820
235
533
392
480
623
231
160
765
328
991
605
800
784
657
600
435
589
773
257
488
231
792
977
368
692
516
108
50
309
678
152
907
158
86
440
654
494
949
91
546
551
835
823
12
53
213
906
107
365
684
140
522
88
817
226
410
290
970
341
937
248
591
19
320
770
292
673
71
679
399
229
313
35
793
370
330
996
583
832
963
32
590
49
66
341
622
187
995
932
315
287
43
817
600
779
783
134
966
130
522
861
306
741
467
949
526
521
736
344
54
740
47
383
67
869
782
455
552
114
131
697
280
274
192
670
402
359
216
675
652
126
704
359
65
338
641
767
737
68
7
825
366
817
619
537
240
576
469
831
891
199
994
94
853
625
134
912
823
562
598
428
69
192
492
34
91
376
374
830
419
583
797
379
877
495
653
819
845
812
957
328
835
301
221
249
158
539
260
936
602
114
78
535
802
286
457
442
421
215
42
157
363
929
970
623
968
117
570
875
551
708
251
48
720
933
466
337
592
234
553
514
431
957
346
992
244
232
637
234
555
824
29
501
911
24
183
570
709
859
229
50
526
962
929
360
490
486
202
268
194
331
802
139
235
792
241
647
791
432
559
816
562
638
159
661
963
854
718
592
770
898
166
6
250
163
784
177
424
715
774
621
287
496
54
615
714
876
619
443
280
806
509
246
424
667
369
43
230
735
568
635
577
829
86
594
591
364
724
492
107
472
694
829
348
323
329
898
129
61
466
921
685
998
51
389
639
848
641
465
739
824
766
688
730
337
596
980
116
912
912
146
659
681
202
613
143
475
571
189
332
93
262
965
57
824
799
324
62
653
170
222
591
887
972
497
659
113
202
14
659
518
168
864
201
578
62
666
106
71
862
270
60
153
595
794
719
974
438
992
14
948
800
391
960
305
302
530
538
27
542
850
141
587
610
530
585
184
614
591
969
322
876
100
463
651
28
219
705
961
992
101
622
96
695
394
354
340
415
195
445
541
880
824
633
790
548
718
366
43
78
79
641
420
587
652
899
270
208
130
456
319
348
282
422
315
268
804
117
651
843
304
773
383
840
572
681
889
637
465
21
201
103
352
337
677
232
5
963
263
236
250
761
58
22
489
204
285
356
408
182
49
575
790
892
464
400
400
864
814
263
305
431
434
573
840
962
911
511
687
776
993
277
128
946
360
185
655
118
3
651
515
79
517
891
671
58
49
131
914
619
988
197
544
598
737
654
120
735
82
52
262
522
727
426
389
324
531
929
592
12
890
370
516
190
467
443
268
578
171
681
881
303
901
483
791
621
48
99
100
75
186
117
173
231
685
823
228
878
203
790
148
42
150
188
693
252
258
590
669
217
305
521
362
515
936
590
732
919
234
798
450
726
384
557
834
820
326
16
162
211
778
517
608
510
372
412
279
111
955
979
448
862
285
930
77
660
444
804
164
705
322
580
292
140
396
23
967
373
900
575
20
735
137
94
346
970
387
406
766
731
342
380
627
432
472
236
29
766
70
873
268
712
977
266
131
103
139
426
199
684
235
957
197
114
582
8
734
575
380
272
469
444
186
768
892
38
174
305
377
556
326
905
141
161
239
969
42
622
607
638
894
35
787
622
147
957
43
773
288
674
239
774
331
459
750
656
62
397
317
278
555
760
418
511
572
991
498
648
101
46
21
457
253
242
929
393
129
758
521
698
78
661
166
515
983
615
553
679
803
490
358
565
651
685
322
204
71
326
732
908
73
454
205
813
649
931
499
74
210
92
796
909
375
74
534
364
56
384
387
424
594
477
462
81
19
33
107
40
149
206
984
50
344
278
230
224
220
83
589
312
505
53
372
617
560
945
990
132
740
131
575
518
941
853
914
733
161
967
511
515
844
555
94
378
110
188
301
506
707
812
594
713
679
951
677
641
273
397
812
502
591
614
486
956
846
863
790
167
842
428
767
715
501
406
683
747
804
220
893
730
551
409
505
204
693
253
517
178
820
493
520
202
594
739
299
686
520
162
880
748
466
704
677
704
798
376
380
363
788
154
142
431
228
621
449
652
798
771
772
824
822
334
726
431
471
570
14
445
352
727
849
805
695
246
939
174
27
388
309
841
284
148
476
65
840
194
488
722
786
112
350
843
124
409
246
541
240
579
714
836
121
17
665
120
325
736
719
342
622
647
816
500
559
615
512
718
961
653
659
994
486
363
385
687
942
192
452
959
25
150
79
665
466
382
261
664
405
405
481
91
934
860
451
918
359
352
186
62
723
341
271
329
510
40
686
770
272
995
882
365
116
340
150
524
596
730
455
591
608
600
56
368
264
713
204
736
595
923
143
566
156
705
448
482
250
274
440
485
539
58
93
120
277
878
338
624
263
433
124
471
859
599
973
829
139
592
978
703
277
287
378
952
785
834
920
964
129
260
160
476
502
907
772
943
311
421
690
875
972
490
616
786
199
683
32
738
839
560
329
987
697
677
118
904
464
239
72
160
89
942
888
157
409
946
88
833
860
62
399
222
451
938
424
665
913
449
126
104
179
577
442
718
867
733
963
25
471
899
234
691
351
962
642
488
396
309
300
253
474
82
571
229
362
512
102
874
901
381
323
86
534
976
365
794
200
878
276
44
847
535
228
28
399
850
117
985
147
959
614
551
915
955
231
907
272
560
436
57
299
663
185
633
117
183
489
934
448
951
814
278
986
158
158
359
236
464
637
3
789
33
291
640
718
603
594
804
866
198
863
221
349
251
346
380
510
698
282
976
882
85
623
337
481
845
458
699
878
685
352
246
53
445
998
923
1
903
569
330
412
728
136
482
527
189
337
795
443
312
265
433
731
838
170
81
207
785
184
257
101
361
693
544
672
731
421
471
525
440
529
348
481
291
248
48
908
174
661
574
817
581
250
290
865
572
735
830
668
555
557
52
437
494
66
871
38
152
117
448
2
510
320
2
907
789
600
460
795
377
118
287
988
553
817
61
728
84
45
823
584
663
761
771
425
687
808
614
102
35
623
791
655
379
522
801
7
33
415
85
585
505
379
271
291
741
48
85
525
484
164
923
735
334
979
892
103
837
383
99
529
382
809
133
30
787
968
952
46
166
415
849
895
127
815
779
824
344
505
83
656
327
631
578
50
542
698
40
759
72
836
354
102
710
491
981
51
698
500
943
951
318
734
231
932
232
569
372
469
722
467
957
400
992
847
25
947
298
242
606
925
948
488
136
375
154
278
145
333
311
984
379
280
517
87
500
117
53
880
570
175
122
407
843
847
312
709
754
926
190
573
610
627
891
892
198
576
814
688
411
743
314
576
59
435
852
193
206
954
132
663
739
486
647
722
410
89
453
507
209
408
161
334
816
881
888
30
810
758
353
498
472
204
385
230
314
128
884
441
917
156
636
328
246
319
483
721
417
650
44
51
752
827
554
139
95
438
430
762
531
207
848
353
101
759
949
461
589
101
307
809
210
14
927
863
846
990
374
851
508
168
560
66
869
970
391
122
39
785
703
530
227
92
889
622
578
880
186
361
272
84
857
33
911
21
378
150
335
497
339
178
271
338
947
827
625
569
915
727
828
388
34
303
344
368
922
504
371
27
281
862
784
19
477
27
580
741
440
547
439
43
653
125
533
88
505
47
377
139
371
756
341
192
578
785
426
934
855
387
58
457
930
242
908
521
726
553
256
937
962
713
963
819
69
444
916
19
18
13
729
73
45
657
521
367
267
856
890
29
901
450
505
285
99
895
370
593
439
135
443
936
753
677
187
28
286
456
640
86
131
979
739
980
549
75
993
305
995
278
39
891
680
522
294
790
22
341
676
598
639
233
348
255
407
171
511
169
680
526
567
535
985
797
381
276
360
640
921
867
69
645
341
658
567
189
399
982
462
489
194
466
699
661
374
474
361
201
347
557
276
800
514
88
90
809
249
26
600
15
129
881
891
581
943
522
290
151
113
403
214
148
485
167
755
253
857
355
223
872
270
111
965
181
795
375
462
982
518
32
80
187
463
887
910
192
444
132
776
823
224
191
858
791
887
424
361
785
55
217
329
463
411
375
988
564
28
620
997
301
150
179
579
14
403
136
809
763
918
247
257
201
443
390
764
570
351
680
406
145
386
555
569
757
100
799
653
318
186
575
106
398
351
21
384
15
930
838
949
715
178
641
611
958
79
508
352
574
518
311
272
746
924
916
448
609
768
267
307
13
897
707
590
448
284
623
76
418
640
656
60
796
305
255
963
810
967
328
589
346
59
93
248
202
128
16
408
776
84
877
568
409
997
629
773
303
20
655
565
451
107
454
186
539
409
598
537
113
646
965
750
642
252
923
186
244
839
117
392
990
358
967
789
678
333
788
883
877
754
726
377
888
498
296
875
958
659
405
751
729
783
179
420
447
817
775
419
885
518
647
665
286
183
392
789
893
812
395
676
790
254
983
189
842
438
691
622
501
547
538
565
126
851
932
751
237
1
925
917
848
732
71
875
573
330
58
821
756
705
614
323
251
577
945
617
807
123
91
563
247
409
139
83
734
57
198
965
489
910
410
698
226
896
15
380
463
896
695
800
582
198
996
535
198
23
600
248
957
684
639
416
358
200
32
399
558
515
24
107
446
88
750
493
405
261
636
805
344
696
887
775
525
194
161
947
682
342
738
934
684
803
163
670
778
510
380
697
27
679
837
55
130
359
909
655
235
155
246
868
705
913
350
651
67
362
734
743
511
196
550
318
397
576
427
36
187
835
587
599
104
13
8
773
604
898
511
319
443
472
184
441
714
988
462
166
743
445
531
540
132
864
464
630
562
626
624
129
196
101
448
762
643
923
655
812
485
576
310
815
308
407
937
872
39
772
39
112
126
806
990
515
771
200
235
716
999
471
127
420
801
431
557
731
995
931
709
70
705
535
902
326
576
451
511
550
928
916
364
809
58
232
861
786
822
842
291
327
423
135
484
421
80
165
958
34
861
101
219
795
527
23
690
806
633
629
56
723
528
518
468
830
129
984
135
44
480
670
319
654
242
14
663
132
146
135
48
531
405
719
916
838
805
478
106
132
917
985
737
564
468
21
654
972
412
104
230
429
636
515
107
117
596
987
556
730
347
179
730
14
604
217
17
161
497
862
69
523
594
327
855
491
677
355
277
484
442
959
430
663
8
114
636
398
656
786
717
515
714
918
820
54
860
350
289
591
428
241
704
196
474
212
219
733
463
335
773
536
449
50
563
428
531
319
419
727
162
606
365
100
662
773
695
103
850
626
358
823
305
619
312
279
181
189
771
147
838
305
939
944
839
58
939
996
996
559
94
421
225
968
631
851
944
235
200
836
639
977
265
677
975
23
579
974
568
283
452
286
91
34
456
146
923
150
537
111
938
541
263
667
361
840
52
587
844
388
800
758
33
692
280
602
942
833
45
964
391
740
333
715
617
862
673
424
903
528
433
116
770
215
585
562
795
993
321
515
634
676
984
45
187
587
961
431
127
369
820
77
228
14
978
582
988
95
632
375
99
233
491
336
174
977
112
394
996
620
281
424
269
929
917
649
457
438
461
385
883
719
550
199
641
3
72
430
281
651
348
640
434
194
293
703
738
130
887
183
480
200
176
131
341
627
345
641
514
656
87
331
254
825
632
428
605
545
290
270
654
955
335
873
163
533
328
641
843
589
778
462
844
612
144
169
278
425
746
815
695
210
116
283
493
818
680
494
168
150
422
894
166
84
388
967
856
114
421
195
802
842
573
320
68
498
968
730
792
921
736
532
609
810
847
159
820
595
241
413
376
995
742
445
858
163
607
527
628
346
423
408
245
157
321
681
55
877
69
862
583
680
722
821
998
327
914
785
436
658
761
404
438
161
632
233
76
12
679
593
622
235
143
952
762
40
918
846
427
14
757
906
288
501
803
727
839
477
845
151
788
193
800
44
149
120
452
802
46
40
404
616
740
685
531
11
785
943
954
273
567
525
725
188
677
937
924
911
702
741
874
914
78
407
499
685
554
478
665
250
699
389
476
678
622
50
116
406
726
219
801
622
913
753
798
969
110
69
283
497
359
545
995
156
29
107
295
111
870
964
208
794
747
332
507
969
883
936
689
978
371
338
952
30
505
372
930
626
233
525
978
170
634
690
279
386
895
533
887
450
657
667
112
588
6
918
310
508
587
254
236
218
509
335
616
656
774
256
448
106
928
748
916
527
518
20
426
795
726
446
452
338
230
525
377
789
976
869
422
118
986
518
127
145
828
526
554
464
591
594
555
609
515
522
964
674
518
358
579
763
878
455
110
326
338
66
92
878
660
719
890
651
497
401
543
437
47
461
175
259
556
253
69
535
203
736
351
75
266
676
383
612
781
605
642
543
72
399
809
224
644
219
290
458
932
533
169
812
303
136
872
973
548
390
430
677
786
409
323
651
378
528
296
611
943
205
453
609
42
448
163
902
421
974
14
116
985
557
124
655
796
446
616
201
513
320
938
661
598
960
47
127
557
720
143
233
222
915
789
791
792
446
745
761
965
346
792
399
958
427
146
902
668
899
796
989
510
628
255
639
709
727
763
635
951
242
933
657
332
79
204
421
473
673
224
744
557
593
474
506
747
962
27
164
146
568
310
866
7
536
151
232
378
737
187
555
760
441
913
525
608
303
275
551
754
444
720
449
859
267
56
527
69
646
297
113
928
305
903
136
423
513
500
722
755
731
165
622
89
452
880
944
21
296
565
867
1
348
424
951
241
861
961
177
945
681
159
108
821
193
764
409
922
141
529
496
825
427
578
270
59
871
739
745
437
946
845
851
688
741
473
870
357
703
563
758
436
289
674
77
629
259
359
390
456
231
314
734
614
49
490
229
163
682
317
985
130
657
555
190
70
480
69
686
967
103
971
392
615
262
196
645
288
429
530
914
62
186
527
357
636
90
560
380
867
436
414
704
548
928
519
438
101
915
852
307
15
744
53
491
809
767
56
516
260
737
828
233
404
616
433
216
594
338
685
846
474
678
123
925
323
193
915
928
603
131
524
886
951
333
715
479
72
394
493
101
163
783
110
549
566
199
138
533
332
142
911
347
226
620
382
918
534
897
489
930
683
432
719
890
310
496
430
770
921
459
845
398
664
442
378
805
97
799
83
599
32
937
586
795
659
71
785
693
220
831
18
69
405
82
125
416
536
917
19
987
317
559
981
124
615
820
865
719
306
830
798
709
667
11
757
144
215
612
644
767
142
718
33
976
709
297
858
758
56
743
673
439
894
369
982
93
442
462
386
69
803
868
889
360
699
528
831
487
93
27
296
158
799
43
775
209
576
480
82
227
604
222
236
841
443
695
82
845
778
813
917
230
297
518
295
693
30
795
472
407
358
972
665
650
684
136
419
408
452
714
880
215
801
603
734
293
643
778
847
529
358
922
445
959
637
524
778
182
205
788
760
575
298
909
70
288
804
507
535
708
912
498
382
515
976
279
150
498
41
844
611
29
150
405
56
436
105
138
675
578
856
917
588
596
28
279
284
142
438
425
809
401
583
741
130
885
241
183
453
241
286
906
165
349
748
646
273
542
965
733
890
104
408
49
324
113
350
929
843
304
152
758
1
846
312
994
704
870
821
434
881
107
608
815
684
236
5
263
651
403
252
665
146
892
26
779
703
150
855
790
611
149
60
48
169
629
582
948
593
865
623
233
460
458
550
564
917
67
924
810
614
170
815
390
479
681
818
951
992
713
284
804
582
837
338
851
128
977
186
164
316
438
64
8
792
659
951
838
621
974
795
736
550
60
617
825
986
756
280
424
383
639
130
99
944
66
987
313
172
417
141
70
798
890
149
807
79
545
174
814
243
224
582
596
147
639
275
967
823
142
3
100
655
696
500
417
389
83
842
11
34
688
861
196
988
78
790
950
399
150
593
217
857
855
561
507
989
359
853
754
450
44
618
187
70
928
215
791
668
932
842
28
106
903
572
666
731
480
387
916
239
679
318
620
348
545
207
854
393
344
908
177
129
541
998
724
533
257
170
469
407
964
535
293
903
957
985
933
893
513
649
496
271
732
182
994
845
754
333
253
501
428
783
650
673
531
709
351
991
328
943
96
163
587
845
159
780
191
212
774
733
101
673
184
378
777
968
511
408
94
479
753
620
437
151
622
440
918
708
329
85
611
646
135
731
277
83
238
895
303
936
524
519
491
266
825
939
873
895
596
962
965
544
300
816
730
811
438
580
59
295
809
58
750
33
549
711
827
213
485
429
507
831
568
410
321
521
508
349
645
344
229
480
430
680
441
750
981
728
457
538
453
315
355
906
159
860
724
308
855
360
527
48
948
228
80
570
938
644
714
804
509
845
497
419
353
427
282
773
218
329
416
791
686
603
714
782
870
488
646
402
560
574
253
623
357
36
13
542
965
26
709
326
141
304
394
404
767
101
698
264
107
49
42
856
622
687
835
646
636
739
330
847
724
845
640
190
971
912
335
873
117
572
193
42
205
486
875
162
515
431
791
223
490
121
918
526
846
742
139
172
276
5
496
41
968
363
839
170
683
679
523
984
272
273
191
711
325
750
155
710
124
447
595
110
170
623
598
378
355
781
44
903
274
604
495
725
256
35
508
836
464
993
298
290
783
31
204
507
308
23
264
783
936
618
39
937
948
770
968
512
503
117
731
647
629
383
484
52
653
240
397
26
17
263
616
575
52
738
599
42
620
38
846
525
487
242
149
609
907
459
865
551
191
51
166
140
952
580
857
890
326
849
177
106
690
824
908
615
340
599
258
645
106
813
213
421
140
79
511
512
952
64
937
889
310
832
370
939
818
925
919
386
802
486
523
195
639
348
570
45
840
704
472
894
966
380
644
481
962
240
978
358
591
478
760
186
433
851
940
585
360
2
814
773
470
36
454
622
237
521
697
488
993
858
87
391
979
774
941
675
854
330
625
274
977
405
198
118
761
96
820
999
119
848
699
429
340
415
906
645
735
957
80
920
54
655
900
792
975
254
227
618
932
826
961
141
189
910
26
369
308
848
322
140
145
818
176
189
41
577
573
417
175
367
439
297
912
803
304
83
561
793
997
504
158
725
384
189
770
209
784
885
352
633
394
905
345
686
961
904
85
779
986
203
549
981
915
427
153
695
183
111
92
805
424
292
215
425
890
834
516
713
897
364
120
422
141
286
78
1
821
247
363
95
846
843
213
215
810
87
382
242
57
361
895
128
909
138
644
863
32
769
506
320
41
9
735
81
599
768
9
699
740
778
906
174
609
470
543
589
572
403
787
942
482
987
746
256
879
82
216
906
128
307
393
966
750
520
406
73
752
989
203
951
354
252
889
260
317
475
854
898
42
464
960
209
688
83
587
819
847
980
571
987
717
973
941
410
288
345
872
405
804
638
476
277
624
174
881
447
685
723
552
631
935
200
961
945
480
220
508
315
703
693
89
993
267
338
806
285
760
177
95
832
697
609
994
900
761
615
357
196
427
20
553
636
584
501
636
366
384
220
963
90
276
516
24
400
138
118
575
388
473
697
197
301
886
408
121
350
410
269
447
99
844
824
940
45
928
590
186
81
38
183
249
575
129
867
886
665
781
511
54
225
558
575
661
660
356
802
516
324
66
760
946
888
659
219
873
437
752
647
983
411
841
770
226
759
614
218
67
862
207
786
801
806
827
715
767
601
894
725
485
789
762
206
565
698
92
122
755
263
174
675
637
968
847
726
295
927
172
284
722
568
685
128
913
687
889
755
284
863
608
429
576
343
987
26
435
583
203
757
638
509
389
630
316
482
912
663
614
639
886
454
901
2
707
725
66
266
519
810
419
681
699
891
430
817
868
999
867
276
467
363
887
619
651
788
310
869
89
83
581
962
282
475
924
416
190
113
792
324
265
471
1
488
483
463
881
132
592
575
353
203
609
168
93
663
520
367
850
566
271
664
551
951
381
389
18
725
940
761
25
824
318
53
929
865
657
775
299
410
90
436
821
745
693
596
227
753
347
403
176
98
91
779
813
380
2
719
191
402
357
919
883
949
623
92
863
739
823
891
195
325
957
302
141
749
444
741
59
719
11
867
853
907
63
283
810
726
311
899
363
612
393
701
701
399
244
88
166
835
257
711
65
711
630
991
880
295
841
77
815
19
916
40
339
425
980
535
617
395
625
960
747
602
759
433
323
936
979
510
95
377
933
626
494
420
819
734
306
705
945
426
90
915
221
137
804
404
562
679
662
210
462
467
481
334
387
240
634
176
226
33
248
34
787
415
497
427
178
726
643
806
983
176
6
889
336
172
193
485
344
174
701
139
847
702
503
379
132
885
348
634
90
46
251
127
242
408
125
188
235
943
576
446
681
742
627
312
658
91
549
27
830
568
39
276
856
99
684
52
737
866
44
17
758
389
702
73
979
882
308
244
571
197
9
252
847
286
618
362
564
131
576
182
882
531
8
73
427
927
206
796
34
750
451
768
103
356
366
88
956
716
958
79
239
449
61
645
204
680
157
197
643
454
459
217
370
128
686
823
403
225
197
825
408
769
985
861
557
943
613
138
677
297
315
226
450
364
333
105
474
725
95
369
192
13
928
96
65
352
875
389
841
990
602
12
500
658
534
845
217
340
117
135
716
668
546
625
494
127
404
679
708
613
368
495
955
672
581
296
784
903
320
188
558
606
322
21
168
746
499
136
216
680
789
395
484
938
594
226
918
494
587
747
875
645
658
178
106
584
446
890
789
210
186
420
938
534
587
700
697
298
71
564
334
41
977
328
252
931
277
849
952
112
937
33
686
199
304
171
497
810
801
869
429
715
782
551
980
241
591
715
250
105
777
163
863
685
908
397
422
88
638
290
190
68
506
870
687
939
463
802
138
191
241
716
36
400
531
42
600
391
367
443
584
326
258
219
720
560
375
315
44
626
538
674
511
707
844
709
583
289
523
638
945
469
996
234
72
565
198
336
184
272
921
103
3
577
311
560
815
48
684
493
590
935
511
65
257
686
757
886
829
143
760
406
724
662
495
619
524
856
360
84
391
490
610
147
566
271
171
106
661
957
845
743
973
235
860
321
665
288
309
631
456
835
253
161
411
683
190
787
548
542
133
627
202
893
773
900
550
214
51
653
239
774
14
228
817
480
6
202
537
978
83
333
158
348
45
709
562
215
615
947
367
49
142
732
222
764
609
444
150
439
925
929
114
159
188
660
978
508
86
725
169
213
679
51
625
790
549
269
92
830
712
428
414
729
747
566
234
252
308
757
445
302
565
878
799
689
142
754
318
447
801
768
531
504
471
279
126
101
217
397
266
365
392
755
731
899
518
935
999
55
430
100
600
821
827
209
369
863
628
924
718
367
518
932
690
724
614
956
338
23
446
153
933
539
355
969
609
108
953
761
308
360
539
657
329
266
189
189
323
343
810
235
354
183
614
645
485
665
297
732
435
315
740
522
23
830
155
210
490
676
459
815
285
22
76
419
598
1
534
685
703
450
965
606
219
812
78
515
461
854
248
475
417
218
120
79
279
593
523
535
106
466
571
697
937
1000
495
326
586
573
188
464
453
917
417
255
886
571
359
941
39
606
491
41
695
173
788
913
250
436
929
1000
881
913
425
69
956
43
637
651
893
58
208
727
36
882
734
401
538
832
465
969
945
338
345
282
922
783
38
792
530
838
399
978
572
304
484
135
771
626
368
640
999
643
912
912
300
134
172
219
230
929
307
397
887
125
688
309
78
35
414
583
249
23
588
740
164
306
514
375
851
128
451
398
966
476
673
734
588
614
362
31
416
306
306
129
483
513
453
7
803
758
123
921
805
85
92
277
20
741
799
523
256
275
679
30
406
750
949
479
106
159
256
766
715
923
235
789
434
576
388
793
978
345
697
129
863
354
17
376
272
621
625
802
438
818
255
22
679
48
572
548
535
500
320
651
934
910
319
568
956
228
60
636
559
716
902
386
588
23
797
947
470
420
997
403
292
472
424
886
357
933
283
252
896
508
973
170
339
469
587
337
451
780
108
313
661
536
901
146
135
18
262
593
473
605
613
215
461
97
349
46
932
785
521
856
664
695
282
256
171
27
465
4
438
750
752
925
892
677
665
807
391
121
953
444
601
415
92
812
885
136
241
970
771
899
454
870
134
956
907
749
424
641
629
114
729
926
543
659
930
937
633
628
962
339
692
221
25
887
442
678
603
295
743
565
326
818
268
597
32
568
285
89
858
649
103
711
855
669
371
801
363
6
623
904
410
533
396
572
412
138
788
694
806
485
556
812
591
932
706
925
381
438
81
271
275
576
606
444
741
480
718
996
771
679
997
377
749
280
149
641
827
888
344
865
138
997
321
652
810
309
848
370
618
601
877
44
36
285
151
921
637
804
166
766
53
326
64
911
177
6
516
892
873
244
636
304
247
944
747
126
438
796
152
372
953
962
112
360
834
382
897
318
292
92
147
269
18
603
752
407
70
351
111
190
85
724
976
462
590
944
993
762
344
352
739
836
986
301
279
75
712
867
240
232
380
111
953
312
212
420
507
976
220
790
415
122
583
538
186
612
478
51
296
212
273
644
925
932
572
511
365
901
335
42
171
792
179
501
988
614
5
160
466
352
323
512
843
572
960
115
572
577
387
945
853
140
551
885
16
130
933
103
542
601
513
658
868
13
496
588
272
319
921
140
859
569
719
536
60
548
430
881
148
714
501
362
947
361
48
924
335
502
26
949
113
446
965
324
547
401
846
441
200
758
222
328
675
872
383
85
554
257
226
288
106
143
519
782
333
226
378
591
514
262
152
279
699
911
346
155
559
812
875
182
541
464
744
310
572
891
161
210
444
429
243
95
545
233
706
360
862
263
365
283
26
560
826
929
689
625
514
681
743
557
41
547
698
431
975
506
38
59
262
656
557
893
931
889
441
327
194
113
364
61
746
808
976
527
885
840
924
574
52
997
19
760
538
694
211
628
390
635
800
277
996
993
738
403
447
872
871
730
532
356
777
413
131
475
132
568
858
800
646
547
37
165
241
962
473
264
511
766
36
431
491
841
763
981
421
711
45
883
490
934
492
382
527
697
212
434
216
909
578
446
687
840
62
871
291
980
293
687
926
303
363
608
554
603
294
195
447
894
725
679
248
106
118
401
158
519
216
268
434
384
46
509
912
206
506
326
435
11
464
748
937
712
306
77
408
395
137
895
130
929
124
463
371
815
27
723
211
598
621
833
270
487
543
311
913
53
55
420
913
991
393
390
678
993
620
412
857
693
401
152
572
517
669
662
579
13
961
191
356
904
106
349
515
661
1000
512
947
894
471
125
794
199
610
778
699
436
465
565
752
544
741
215
236
160
963
956
563
271
594
867
770
48
766
740
557
844
606
109
133
49
613
147
71
116
190
606
962
630
232
831
903
725
598
138
759
485
439
556
707
256
574
968
768
916
563
229
917
262
679
680
895
597
709
833
13
527
435
659
103
730
633
67
237
170
691
649
20
820
251
731
63
463
834
49
681
560
41
171
32
472
771
882
647
571
876
320
760
885
796
619
933
969
32
153
212
636
752
273
459
16
419
589
572
200
139
435
988
334
279
152
297
659
44
200
746
412
888
943
174
908
50
129
194
418
26
714
477
619
519
702
644
529
228
102
540
814
887
912
695
280
100
324
343
176
872
942
675
667
201
883
937
445
731
98
562
3
279
79
786
530
974
422
86
739
872
387
362
179
165
655
966
770
531
1000
582
342
715
487
491
944
218
75
898
575
803
265
907
762
608
501
151
106
832
580
310
525
345
235
495
419
47
416
999
391
510
491
987
482
229
782
514
103
816
357
676
966
589
4
793
364
310
625
265
84
280
109
168
96
595
886
678
899
147
959
162
82
842
200
129
225
628
88
273
718
110
879
504
484
944
389
233
867
751
196
152
120
966
98
413
61
914
58
413
448
420
743
368
524
410
960
467
45
305
980
697
765
477
751
330
45
686
497
697
733
196
33
85
954
240
417
508
757
582
230
682
846
215
856
706
775
632
628
878
54
690
589
553
583
829
948
164
724
271
975
366
89
891
241
745
834
641
586
702
820
768
163
923
553
578
203
323
161
167
922
448
51
366
105
145
67
127
463
679
112
721
842
633
243
400
676
632
180
639
900
339
18
670
684
256
692
799
935
551
410
877
517
508
810
435
519
254
121
156
715
58
920
798
556
864
441
184
663
726
508
620
797
432
316
917
711
953
278
218
139
288
42
30
379
915
629
130
624
329
357
546
193
94
839
432
315
399
887
434
961
399
594
132
484
477
211
206
536
162
702
277
771
629
7
765
363
594
118
681
259
930
47
39
367
535
642
399
627
807
999
159
978
576
897
365
808
522
300
204
346
884
460
819
838
745
571
791
49
323
250
429
808
421
322
13
841
689
544
248
109
391
925
512
239
144
225
900
376
483
110
692
7
192
137
640
835
12
456
352
833
766
651
188
947
912
622
250
750
265
808
475
555
946
305
380
98
616
656
690
932
712
170
961
91
709
637
293
430
392
225
433
272
762
142
864
640
451
397
959
421
478
600
952
240
759
287
210
709
42
707
306
972
815
338
453
153
328
665
138
397
62
920
218
668
861
538
312
385
469
57
44
270
394
95
603
483
867
781
97
237
168
749
421
622
718
374
664
262
189
456
646
802
295
954
797
916
108
687
458
715
468
170
626
962
531
836
331
455
562
983
118
328
847
683
553
757
986
770
284
776
899
763
946
435
589
242
124
590
81
769
659
943
966
916
813
807
706
339
195
238
144
128
908
819
705
851
51
376
388
818
594
372
8
79
633
498
49
594
228
285
177
835
318
156
689
786
720
418
132
950
836
137
928
508
501
710
44
212
338
220
719
943
111
325
733
126
814
537
12
350
667
210
149
603
748
468
14
528
741
614
773
948
155
235
495
734
408
378
12
756
396
646
860
271
485
36
930
585
414
629
933
269
239
24
889
504
286
511
660
356
69
571
934
908
238
210
203
247
952
41
6
177
509
752
104
461
645
807
319
73
726
813
509
666
937
933
467
973
660
189
633
389
466
227
116
303
533
385
937
82
851
475
340
787
250
742
716
773
189
877
956
382
211
777
63
799
162
25
417
993
599
666
413
362
281
938
112
358
281
47
115
882
50
978
151
689
722
557
754
399
39
691
959
952
554
794
175
510
174
865
271
892
700
623
404
569
728
374
358
165
185
1000
945
157
804
592
564
195
44
738
139
37
327
435
478
609
962
903
556
107
808
333
346
382
542
748
619
66
397
680
528
30
343
377
927
800
13
560
99
494
95
557
965
714
547
813
924
545
718
346
182
508
423
718
784
858
49
484
628
120
31
874
384
86
423
701
608
848
803
49
336
572
500
381
72
863
946
72
438
547
981
252
675
623
120
55
830
940
106
29
745
910
547
505
876
145
89
190
591
495
359
111
825
379
870
299
863
646
175
285
615
480
839
571
929
995
191
718
378
266
422
582
478
479
300
550
491
809
678
322
784
357
10
903
245
252
289
993
369
535
177
875
481
19
609
260
995
690
832
262
748
535
645
839
213
930
611
574
848
821
128
640
909
980
559
149
819
580
60
860
569
129
340
399
713
630
394
715
205
427
102
510
728
805
726
740
161
879
532
131
551
676
152
817
256
607
870
858
972
723
685
383
956
235
889
569
115
801
877
460
556
974
125
898
857
34
532
466
551
156
870
413
284
477
669
960
686
189
695
290
242
184
114
754
354
192
529
536
340
525
379
76
338
781
555
63
965
874
713
689
70
751
456
160
163
39
476
170
888
645
765
169
444
27
224
747
986
445
346
416
864
27
156
388
17
868
280
685
954
715
813
65
556
20
666
809
332
246
179
357
885
382
115
155
79
542
568
838
791
371
949
69
212
752
956
904
359
964
380
579
838
981
638
983
942
131
190
900
812
659
366
294
784
50
673
551
994
170
358
578
992
354
865
126
428
593
816
491
815
895
337
32
27
670
866
563
445
766
55
727
601
371
37
929
787
558
88
277
297
668
705
218
914
110
188
270
799
371
117
315
150
220
493
398
866
152
915
902
12
69
894
242
22
116
278
943
442
337
820
81
514
529
111
573
48
264
470
763
834
568
884
28
321
121
754
937
416
211
54
569
12
849
466
209
321
621
191
563
147
854
465
7
3
650
206
155
374
173
871
220
478
310
337
195
608
537
553
905
495
338
773
355
175
31
428
607
516
217
67
617
908
368
343
109
613
254
738
536
922
1000
550
647
596
595
696
984
995
555
55
896
963
278
387
272
787
350
355
283
495
691
815
846
344
954
330
419
597
55
813
975
596
43
314
709
689
779
229
101
797
48
618
433
256
820
913
794
133
310
10
856
368
398
639
465
939
754
939
161
773
679
380
287
235
309
513
266
872
302
557
971
543
560
496
809
174
845
172
358
189
375
864
869
60
611
964
970
548
498
658
219
933
334
978
967
935
336
182
147
95
674
203
174
104
445
803
175
918
616
164
111
562
427
869
195
164
134
612
198
153
261
527
848
506
726
718
565
613
273
443
180
617
704
396
133
73
255
715
885
374
326
673
907
685
463
475
687
38
151
231
637
865
482
974
647
469
230
526
300
830
201
144
468
733
982
120
43
396
378
932
84
650
887
138
552
259
543
903
82
154
342
970
987
186
221
899
768
508
310
631
939
849
712
759
924
741
612
420
59
252
925
387
551
862
979
765
304
944
995
666
157
696
228
404
968
502
672
5
387
428
185
306
918
963
729
531
39
174
190
950
730
179
867
200
785
170
341
888
619
304
861
336
131
411
790
717
377
851
931
381
416
817
748
855
712
53
589
868
919
266
39
776
682
460
425
888
354
66
316
591
146
995
598
569
315
703
313
121
404
918
4
338
472
953
741
852
457
414
360
990
560
680
689
427
556
749
705
825
476
906
644
564
978
212
32
372
20
986
502
538
187
294
68
488
89
969
165
633
824
814
422
823
377
481
606
200
189
952
587
944
871
702
508
222
145
381
551
625
709
281
834
526
621
982
991
78
190
262
954
33
142
819
288
143
979
357
178
706
51
354
863
703
839
152
823
68
364
96
564
852
399
65
165
452
420
147
87
577
794
154
895
377
764
353
682
976
204
98
945
679
927
4
625
288
613
930
788
306
34
318
193
241
314
368
587
926
426
129
133
502
990
805
795
717
699
522
865
240
392
313
78
19
855
343
901
72
942
222
673
709
487
814
228
914
792
124
534
469
169
688
632
508
149
373
897
323
473
677
207
641
913
409
113
104
307
81
545
321
934
509
864
730
479
849
327
446
433
769
139
447
672
518
321
716
390
423
556
420
260
736
14
818
949
813
930
331
628
331
371
158
148
608
161
866
942
132
463
641
506
88
838
245
520
995
940
298
295
592
152
183
249
743
602
742
521
444
989
928
715
985
546
763
933
953
318
274
979
3
628
547
603
315
233
693
159
186
241
310
880
498
261
968
268
696
627
356
766
438
806
997
956
348
222
838
21
135
838
635
110
880
781
728
538
483
190
742
463
101
251
775
802
902
74
807
656
606
652
476
465
122
687
821
412
14
429
312
365
687
17
268
773
948
48
785
505
18
200
395
541
203
786
16
832
117
65
147
384
819
978
931
824
238
712
416
255
999
210
297
231
120
239
493
67
103
175
127
479
595
986
880
796
156
210
239
568
672
914
837
430
580
719
965
501
415
961
328
446
119
6
299
542
208
517
247
751
147
225
991
869
229
359
77
235
834
454
365
403
220
669
368
395
854
125
876
881
892
999
691
678
619
300
677
462
525
292
948
490
225
527
712
421
627
321
195
30
576
273
115
736
705
170
362
383
391
158
916
612
495
608
523
555
58
500
346
244
233
471
609
355
520
883
245
375
790
426
702
324
688
762
340
444
765
717
313
116
45
318
433
376
859
764
282
25
430
77
741
317
115
725
201
564
197
11
932
865
854
385
497
295
203
117
609
592
399
989
575
312
339
717
272
919
900
876
666
72
555
956
21
625
862
32
270
487
593
248
528
570
196
921
338
464
880
649
36
404
876
211
600
302
283
405
413
332
540
260
665
643
697
149
527
222
612
472
798
887
661
500
467
623
778
877
522
252
463
46
368
475
896
575
431
904
445
946
873
578
681
875
861
836
454
646
493
113
732
266
320
418
659
443
382
762
747
572
807
792
184
883
313
238
4
909
435
547
264
239
849
270
429
300
984
336
883
553
1
340
856
76
287
375
99
973
882
731
286
408
592
990
519
391
130
681
246
595
300
640
618
600
112
697
566
973
710
95
878
476
190
326
172
548
681
689
932
904
564
936
708
724
344
831
190
464
455
311
84
738
268
198
644
82
655
107
275
664
713
271
806
162
716
466
957
102
877
172
995
922
290
347
808
907
272
941
426
925
387
372
555
586
627
707
803
52
587
233
111
213
970
411
381
388
457
969
362
979
761
20
703
780
703
654
460
743
255
396
461
36
822
308
687
198
451
255
197
14
279
69
231
507
308
885
797
94
471
944
451
535
92
554
989
756
1000
665
467
28
20
781
293
263
35
480
150
361
586
897
139
689
762
903
859
713
209
570
108
774
207
747
486
784
113
219
500
343
955
966
660
423
569
500
688
288
513
134
180
765
892
282
969
337
365
592
18
761
862
787
855
113
960
566
461
193
425
833
34
209
181
817
243
558
851
337
435
270
37
615
729
415
734
520
120
330
620
91
495
72
464
485
949
875
582
267
891
724
89
83
238
391
661
311
397
392
698
262
849
363
17
830
882
303
716
310
437
982
401
232
75
545
768
672
801
40
436
481
847
129
999
269
548
747
512
777
124
818
990
494
528
470
72
969
517
329
673
306
744
622
322
751
3
781
894
104
698
191
608
947
242
497
495
307
382
656
5
430
349
519
91
810
360
264
868
467
216
466
913
744
662
917
382
567
719
571
369
218
438
155
362
102
367
41
222
971
579
971
840
276
264
76
524
103
771
447
197
224
427
182
702
311
675
452
861
314
822
624
439
315
205
886
850
922
678
149
251
392
97
212
664
265
934
321
894
192
237
261
309
65
873
106
4
269
449
551
464
110
300
549
615
999
704
608
69
11
832
674
439
805
952
26
840
696
139
947
67
883
35
255
499
459
214
950
473
827
397
353
719
597
1000
87
477
855
537
196
69
946
970
478
46
547
409
878
471
869
476
365
599
278
248
294
939
487
960
677
690
760
500
139
620
208
356
593
723
389
833
820
412
864
259
228
595
302
430
7
667
988
704
805
409
332
24
824
757
54
629
919
651
285
370
907
524
706
356
765
475
211
129
831
879
305
674
440
991
599
360
625
67
315
349
680
708
667
74
382
375
356
162
646
510
181
572
194
296
953
773
628
827
469
503
896
428
300
33
768
884
560
872
365
612
571
547
185
175
628
432
364
89
596
578
86
566
162
186
155
705
945
631
764
651
533
947
387
403
718
289
556
281
896
161
984
559
595
145
159
385
596
458
31
906
953
894
895
501
498
631
887
68
87
936
795
643
931
2
22
990
847
60
624
412
155
384
312
761
240
49
189
482
542
95
775
620
790
278
570
871
888
727
2
148
721
644
113
629
533
637
748
927
246
417
318
845
217
354
452
177
533
823
968
112
842
369
634
151
129
463
127
847
582
14
455
298
906
890
862
116
987
378
882
462
826
922
800
849
44
480
229
650
73
536
898
593
336
150
50
127
359
410
13
199
751
320
620
855
447
454
167
93
399
687
495
559
197
912
595
9
675
963
894
926
688
866
950
347
634
153
885
714
207
218
277
542
114
577
610
790
170
493
622
83
274
594
54
360
257
36
383
88
474
235
71
922
336
439
770
575
678
193
681
703
953
282
990
819
805
891
859
597
454
508
13
444
695
578
308
886
33
41
41
145
625
653
957
249
261
439
33
182
552
691
178
840
893
709
912
44
497
858
942
446
7
574
307
924
760
692
424
4
770
808
942
896
884
443
774
981
392
448
53
956
541
429
69
410
58
977
414
291
774
128
653
572
895
806
877
458
269
947
377
627
275
639
497
332
571
887
469
678
1
547
635
993
439
555
20
70
177
845
643
931
754
229
328
925
820
90
990
224
652
941
587
176
506
792
945
579
817
773
662
651
603
668
187
377
113
836
926
935
896
516
944
123
960
629
421
61
649
50
531
941
160
737
807
290
412
266
402
14
67
80
849
491
111
186
71
103
306
166
431
903
241
47
527
554
442
56
333
293
192
278
992
424
298
996
259
777
25
842
154
629
821
925
850
830
239
776
214
255
702
317
683
248
337
11
387
428
150
65
480
83
231
804
698
385
506
355
23
831
802
363
197
649
633
754
512
371
156
504
960
434
235
947
355
444
369
407
474
701
553
853
624
687
795
818
290
482
98
58
676
481
214
274
38
388
358
786
655
149
386
180
180
433
645
855
898
256
803
822
109
578
517
330
446
54
694
649
458
624
445
832
176
308
586
407
731
371
650
701
276
59
967
955
628
166
290
482
63
67
848
842
656
246
422
436
371
966
292
983
920
523
409
23
5
393
191
17
179
697
709
587
998
623
847
170
545
840
208
672
659
464
174
712
438
864
535
705
644
440
540
340
656
493
28
973
551
536
587
69
669
648
276
130
769
12
547
455
518
389
421
672
564
68
876
250
910
807
634
85
653
368
248
798
386
503
450
647
751
704
211
772
675
559
882
59
814
315
54
77
586
145
500
386
992
622
694
6
73
149
878
5
510
415
622
963
307
479
118
517
973
747
218
367
895
930
346
832
832
60
981
540
596
766
369
887
3
321
471
671
147
407
930
694
868
167
33
196
67
857
207
692
159
349
574
165
549
790
517
588
453
985
968
431
808
415
372
163
267
393
878
744
487
526
329
745
3
519
54
88
2
383
304
295
211
242
394
829
922
314
279
330
929
59
337
520
754
184
575
130
76
936
373
437
755
122
111
934
135
330
730
177
618
164
344
93
625
661
532
911
155
681
792
374
93
751
992
112
343
771
330
878
606
1000
420
840
336
971
685
288
6
311
113
928
316
972
799
381
386
52
428
641
295
196
989
37
551
552
577
638
218
409
83
186
431
916
953
331
8
745
949
402
703
173
38
956
382
794
105
106
99
30
192
961
582
647
329
583
140
743
874
513
363
42
435
268
285
885
94
237
863
5
666
5
735
25
149
497
212
637
354
252
380
589
947
810
1000
926
786
414
623
419
460
224
957
749
450
783
75
808
117
744
472
438
87
781
356
15
183
131
795
574
222
467
492
557
423
662
64
889
101
509
640
759
611
690
484
424
214
88
144
368
666
62
307
346
819
433
144
230
491
760
447
50
159
945
235
306
793
314
869
469
282
124
909
541
450
852
85
703
648
745
783
365
216
832
408
387
951
999
822
838
822
828
790
435
820
551
82
711
767
917
381
47
341
726
679
922
359
524
170
137
564
272
993
299
797
787
306
564
424
426
334
484
349
796
983
819
751
209
566
353
930
266
985
57
302
190
423
450
622
494
270
623
976
152
500
202
949
667
185
464
653
380
173
939
948
865
204
74
324
524
922
984
337
335
273
858
441
242
795
338
337
872
143
77
658
84
15
719
950
378
307
745
400
317
954
989
726
950
385
145
921
667
966
231
349
63
91
845
787
150
827
986
566
684
137
365
959
491
750
446
270
401
679
877
898
802
238
589
799
905
187
609
367
501
244
552
730
391
836
814
865
664
380
749
736
726
787
476
854
274
177
510
296
457
969
135
216
71
612
250
321
992
236
475
619
966
409
449
980
546
995
572
700
214
845
958
296
662
679
950
260
817
43
402
293
415
682
831
890
855
7
690
761
612
604
235
694
703
867
923
933
580
939
811
54
346
90
191
620
370
553
556
595
240
632
58
622
456
570
809
789
441
280
728
434
271
538
166
860
939
659
182
591
155
973
212
933
419
665
794
158
542
660
217
585
908
279
199
203
480
310
181
240
995
34
429
277
809
444
880
68
612
603
602
223
577
623
815
328
547
248
651
840
534
370
188
325
179
129
904
234
773
415
317
398
126
698
500
878
872
118
131
633
756
676
928
697
86
182
633
215
787
347
202
730
461
23
482
587
418
154
453
155
913
408
88
869
703
848
936
753
633
227
862
177
128
660
740
80
389
508
512
799
589
251
720
931
551
44
546
384
245
414
403
866
932
239
348
584
926
784
913
877
772
38
506
804
86
22
158
470
448
61
252
14
481
228
824
734
738
293
190
775
40
570
924
189
729
955
680
918
638
357
937
461
692
406
542
541
725
55
797
91
514
203
965
270
16
977
254
25
515
674
762
925
704
644
380
586
731
618
380
62
898
39
239
979
998
998
296
22
249
266
980
637
416
738
693
447
960
329
891
939
29
988
575
418
655
36
166
126
802
472
702
650
795
253
417
450
218
779
987
419
607
12
192
856
94
708
270
147
741
193
26
757
434
47
586
812
92
784
785
699
407
369
341
623
515
949
334
961
780
742
39
630
371
392
791
395
390
437
441
186
135
762
882
69
486
21
317
452
493
79
188
484
21
428
177
360
660
423
267
449
231
890
621
712
866
377
963
892
78
824
217
344
213
957
385
168
391
53
39
529
373
22
350
660
789
963
262
42
817
398
294
730
712
467
458
565
547
205
933
313
153
886
500
361
528
134
181
709
908
109
194
389
287
646
109
377
441
645
59
280
370
347
949
774
685
440
879
870
634
15
421
544
369
556
939
186
565
28
911
611
694
88
73
90
89
170
246
971
450
925
934
984
573
70
109
237
903
228
120
269
989
737
352
236
22
721
49
471
426
956
729
211
903
177
742
217
430
516
817
427
446
704
893
485
864
515
146
236
633
688
872
803
245
225
810
888
988
521
573
320
776
268
72
663
36
459
221
939
522
71
738
97
872
247
568
910
434
857
320
379
135
343
89
593
188
652
251
196
8
890
97
286
36
47
683
598
41
768
909
314
132
699
618
665
901
355
465
799
43
822
423
44
380
863
35
780
386
141
959
638
226
353
914
617
823
56
878
24
654
794
261
859
848
5
842
365
593
785
445
983
89
263
677
905
24
800
586
703
68
655
750
317
973
67
140
755
644
941
72
476
10
444
713
348
575
848
902
441
310
918
467
702
924
984
879
713
635
566
785
340
257
137
939
52
804
113
75
81
840
684
541
427
480
444
864
881
295
99
981
872
372
677
577
977
423
814
795
322
166
665
642
989
144
895
538
718
783
48
819
913
772
295
453
934
775
198
897
186
69
662
789
329
971
695
145
234
799
937
806
971
677
177
183
200
725
240
723
839
22
689
138
754
273
771
129
546
297
892
258
185
295
728
642
395
336
737
359
177
672
461
807
806
306
485
755
966
675
374
533
423
466
166
573
787
330
291
569
454
732
854
585
799
210
294
795
32
135
369
960
906
387
248
345
665
500
262
580
153
482
528
836
63
925
208
812
624
36
668
221
897
901
158
880
11
646
923
30
292
145
872
231
293
580
986
23
101
482
697
550
187
823
351
534
266
368
693
298
301
776
48
2
815
862
479
940
171
35
757
481
290
157
417
241
602
995
518
140
665
979
981
284
985
199
544
19
54
452
438
94
527
670
861
567
750
254
205
32
561
664
780
726
412
142
480
330
360
554
412
588
430
191
33
428
143
809
750
884
797
311
246
1000
182
270
23
831
2
895
786
819
201
179
330
113
786
658
514
847
485
671
792
998
773
19
489
207
371
684
695
878
309
594
198
916
60
495
381
739
31
637
347
539
910
340
862
346
997
514
863
146
649
822
406
134
401
538
927
228
174
66
567
117
186
747
196
456
869
831
419
288
110
457
541
429
614
29
963
316
52
678
936
817
907
361
960
542
630
717
349
530
790
38
664
543
401
552
760
811
480
769
205
794
229
811
655
404
907
498
610
190
596
443
625
181
568
589
685
440
911
398
918
884
372
402
272
625
136
913
70
866
418
496
593
416
250
231
969
983
862
883
686
734
376
833
972
28
313
67
169
868
616
514
933
350
425
811
813
325
885
891
261
562
615
842
670
924
305
173
361
466
87
949
743
905
961
268
89
603
573
190
425
83
55
568
64
75
488
149
221
303
782
992
963
512
405
470
461
721
457
116
162
359
36
105
12
679
705
471
326
852
146
999
224
203
765
352
831
345
73
159
591
374
204
699
102
862
770
317
874
114
596
909
265
53
570
650
670
138
962
635
693
905
73
252
664
102
29
925
338
887
841
324
57
216
601
264
938
412
838
289
903
833
596
375
480
752
767
283
347
798
555
829
525
816
756
737
999
559
664
832
254
422
48
998
938
330
595
740
362
970
630
201
80
802
719
152
143
643
976
857
894
194
489
661
403
556
334
845
711
649
40
583
43
467
220
783
120
246
316
268
437
977
57
971
172
160
267
800
967
333
135
382
392
717
918
188
324
249
303
383
839
391
365
370
447
383
92
162
696
983
996
612
197
365
169
63
131
530
484
140
153
516
324
283
417
691
359
81
117
662
389
642
550
644
209
48
214
680
792
377
852
755
806
950
685
670
648
176
297
542
711
862
746
905
576
903
553
709
162
31
114
946
668
717
969
251
286
351
86
570
276
560
7
929
951
904
252
403
558
191
846
603
792
369
239
410
940
256
150
216
222
413
69
623
940
72
249
436
480
374
24
765
10
112
201
237
8
829
97
658
341
360
491
914
720
873
432
560
786
36
344
340
945
197
327
824
352
358
900
448
122
288
692
531
909
332
730
226
518
350
64
978
65
749
433
745
547
751
539
183
367
869
315
981
467
108
241
784
268
479
363
457
522
321
191
989
517
299
33
976
826
146
684
470
920
932
559
954
536
135
539
331
629
821
798
134
116
39
842
573
391
914
835
700
746
976
35
670
445
2
836
49
173
987
469
170
968
931
894
755
562
770
791
461
267
147
852
482
130
710
761
95
137
277
343
876
641
510
386
309
53
717
532
704
36
22
458
654
133
410
300
744
766
104
881
855
41
301
867
221
623
580
393
317
255
142
73
793
120
651
537
906
387
639
823
349
719
312
8
907
457
118
429
163
461
640
739
302
328
190
829
151
800
10
319
768
701
105
940
259
683
578
637
22
361
762
608
253
193
617
841
432
590
578
918
426
281
538
984
23
939
679
833
2
421
670
973
269
759
105
419
235
201
141
682
330
194
9
119
504
189
434
335
620
542
35
844
887
590
458
540
848
172
342
844
18
521
204
564
930
411
988
613
224
940
337
736
423
93
611
308
215
536
283
70
359
677
642
423
859
127
662
487
641
127
473
712
796
373
139
242
385
965
325
587
917
843
30
422
859
189
737
486
982
755
238
621
900
960
907
958
888
920
361
169
980
260
338
433
361
704
48
518
283
920
485
935
94
56
929
645
465
719
373
214
596
896
721
602
973
457
383
43
271
429
317
552
81
199
676
662
504
162
957
933
25
93
943
609
763
707
808
581
891
463
454
432
994
633
532
960
151
79
614
9
827
955
686
827
978
798
463
476
364
31
13
976
756
989
854
997
559
935
981
903
410
428
245
856
473
602
139
521
460
580
321
626
920
295
122
270
945
449
908
387
262
196
388
255
604
423
870
241
389
166
28
265
968
782
964
610
147
991
211
779
250
805
850
56
723
640
121
345
176
643
712
603
778
360
446
915
166
394
204
818
328
646
764
31
489
39
672
116
652
384
406
945
303
185
863
48
748
730
624
64
712
777
573
545
95
510
148
306
252
204
950
365
763
213
466
261
425
494
393
231
108
851
408
240
201
489
277
392
606
260
863
591
616
212
940
602
571
633
720
903
870
834
649
749
788
331
346
939
556
906
500
634
322
286
209
434
940
812
463
619
37
532
461
99
402
590
19
153
580
679
559
473
468
560
110
400
853
364
273
454
48
434
345
465
251
1000
652
647
792
833
681
947
174
356
778
878
708
385
24
822
588
780
396
499
423
833
470
880
656
107
750
334
746
822
135
213
709
563
211
389
423
303
779
488
67
207
513
688
228
717
688
995
493
717
707
842
779
394
521
709
291
565
134
224
733
831
65
851
322
893
28
855
253
797
130
692
452
625
550
368
884
412
14
581
203
630
374
665
236
650
267
443
641
978
112
121
128
927
696
227
740
597
202
468
73
710
828
52
770
871
60
694
254
308
280
27
473
990
598
600
391
296
751
999
26
103
424
855
140
214
587
701
90
562
325
673
908
503
128
49
444
827
845
480
251
820
294
575
983
811
55
168
228
184
115
225
96
737
834
816
367
617
174
29
690
797
264
984
133
202
142
359
390
154
941
942
49
743
900
782
676
117
313
447
854
450
923
733
979
504
360
943
350
319
897
507
2
520
201
274
835
144
775
297
794
693
462
296
257
319
734
278
337
660
491
991
489
881
724
968
675
874
742
948
374
445
585
353
845
505
918
319
429
972
925
519
132
114
704
621
347
538
224
780
429
881
168
999
707
539
872
536
702
447
166
803
521
995
83
348
846
667
333
595
521
887
918
974
438
829
490
963
335
708
851
355
174
130
546
734
926
637
591
778
992
481
240
466
967
30
132
722
155
907
286
321
24
140
208
103
826
135
768
692
701
253
648
930
888
130
863
193
145
653
297
598
33
666
219
869
542
107
498
294
399
199
577
750
519
783
313
288
262
624
465
107
570
781
960
62
562
694
51
24
932
708
159
532
271
159
472
145
524
963
354
856
892
935
247
718
872
663
9
556
582
836
579
295
137
393
446
940
696
688
647
696
667
190
923
81
751
856
213
109
696
448
909
815
90
511
121
433
100
670
775
523
761
159
530
234
347
236
335
657
381
251
958
919
29
617
973
280
12
926
471
993
642
713
289
77
304
174
589
522
480
238
482
600
439
982
760
154
816
321
929
719
634
257
468
310
737
769
653
528
234
583
313
424
306
642
662
187
653
106
645
324
918
83
340
441
687
104
582
137
13
576
361
806
980
34
501
315
537
55
833
658
636
120
320
657
790
536
625
714
274
771
171
434
559
210
82
641
31
382
276
982
684
160
597
788
285
327
132
377
441
134
726
268
116
185
310
58
403
50
828
894
782
500
474
496
657
155
418
692
717
635
439
302
530
20
694
985
836
517
346
354
219
792
956
289
150
308
308
830
968
375
859
511
974
336
74
250
682
480
715
176
238
801
583
890
132
701
300
682
682
82
456
189
137
58
874
819
939
683
776
3
371
676
369
41
790
126
737
822
692
527
950
220
99
335
987
317
132
406
414
890
207
317
754
828
946
581
127
190
801
191
82
657
363
773
454
33
522
855
762
270
942
407
895
196
842
865
789
793
654
306
390
359
971
301
430
390
119
250
476
299
816
683
225
407
612
76
286
753
266
244
519
378
747
254
565
669
313
98
343
273
984
100
186
842
788
106
731
585
346
66
860
181
727
508
809
137
4
773
991
70
638
589
234
701
603
717
904
598
185
967
808
813
496
821
879
607
62
272
369
384
268
264
716
831
80
288
266
977
197
261
781
590
727
848
24
855
545
710
734
786
727
40
7
176
831
900
410
196
369
513
188
938
468
687
548
287
622
948
330
537
419
832
332
48
303
987
183
66
764
409
943
584
825
172
517
690
321
473
596
446
290
692
69
743
710
403
740
946
946
996
760
389
524
606
412
943
277
567
723
960
471
497
930
833
253
405
21
351
665
943
381
742
493
31
97
67
431
585
626
148
386
51
314
794
290
718
768
429
410
587
153
608
10
662
294
74
192
125
909
184
858
786
342
538
68
578
967
610
473
625
807
994
164
616
973
689
975
752
248
449
265
575
518
823
224
346
781
989
2
466
124
845
370
614
444
115
108
924
647
429
83
512
721
424
783
116
417
918
113
425
184
124
424
926
689
699
67
739
471
109
243
958
258
483
565
480
47
594
543
168
291
106
142
450
455
546
676
166
741
708
570
519
24
393
937
496
894
407
473
28
226
758
943
436
907
840
386
445
154
200
225
133
398
165
660
733
815
202
97
108
437
405
848
72
208
895
38
442
504
241
464
894
379
257
120
192
264
611
277
380
925
775
256
833
224
740
515
865
647
803
272
783
614
457
628
805
301
113
96
312
74
910
518
258
675
373
555
375
972
52
363
31
425
539
575
184
441
500
439
935
396
398
790
564
472
640
581
814
371
759
828
387
625
80
183
280
469
20
807
649
218
831
872
323
633
104
792
978
53
810
260
234
933
2
249
629
24
543
415
498
620
411
755
268
180
173
940
603
161
207
488
92
86
142
816
927
694
737
267
91
552
157
393
132
615
170
155
497
73
300
179
747
263
402
911
724
554
405
320
854
896
241
783
354
153
54
918
62
424
870
444
953
331
813
573
199
606
821
63
797
433
570
810
378
658
956
797
777
385
86
263
386
499
174
217
55
338
122
784
561
70
867
438
264
347
758
852
574
443
318
976
306
404
768
943
814
687
577
597
44
425
159
739
282
674
508
680
442
3
242
335
174
306
32
862
956
29
847
831
590
856
788
987
218
494
547
954
26
385
688
628
328
71
996
605
595
441
139
696
293
297
758
482
136
496
878
916
414
441
232
155
647
830
697
180
679
395
531
268
710
820
516
52
462
158
442
728
849
833
562
941
68
759
818
50
967
195
631
714
939
694
25
249
330
929
681
769
564
204
293
908
729
221
231
835
393
986
109
339
785
833
320
18
310
165
980
961
540
904
1
873
463
605
222
309
786
856
615
498
502
900
592
298
792
362
334
949
530
616
919
656
359
572
704
474
305
625
71
653
383
75
190
341
517
608
871
538
341
279
942
285
159
63
846
313
389
189
293
840
330
398
901
744
989
769
701
71
981
934
287
764
247
368
155
482
445
917
489
642
377
891
246
117
763
853
873
581
979
700
433
126
141
763
228
630
50
422
199
308
61
171
559
52
908
152
122
411
872
937
735
561
451
731
79
198
883
229
865
39
422
75
74
562
292
253
521
667
622
752
432
191
468
545
152
579
231
264
351
572
416
923
322
463
667
750
34
340
459
425
623
728
664
59
914
242
434
816
382
149
490
395
684
252
976
496
522
132
476
10
141
578
660
895
194
985
300
630
73
612
77
673
39
849
673
584
674
64
133
332
199
175
386
845
237
821
118
42
428
901
863
424
102
287
360
793
940
718
665
849
98
237
502
178
825
65
620
659
978
433
705
406
179
763
492
145
574
546
333
379
282
408
376
769
661
140
917
896
463
946
245
1
782
732
451
338
496
51
318
493
497
220
313
403
651
214
180
830
823
166
375
728
758
681
825
295
828
740
92
475
900
640
54
362
640
309
627
223
600
295
902
876
334
969
306
732
605
727
15
121
466
526
963
436
650
684
156
240
208
688
967
711
794
695
268
706
353
515
990
293
201
154
769
810
661
360
806
384
487
263
1
365
281
851
684
322
977
989
11
90
261
667
168
852
506
416
92
376
349
135
295
376
612
149
757
389
606
911
556
717
243
659
74
728
549
269
151
277
337
707
534
81
821
771
324
626
890
261
882
598
623
331
860
889
372
525
583
929
396
937
5
493
615
991
855
138
498
575
399
114
520
665
437
952
852
91
790
900
209
832
521
50
812
38
602
314
480
45
527
346
738
763
650
164
680
193
643
477
9
259
544
663
356
827
302
954
465
547
604
594
306
107
37
679
526
615
313
919
878
46
367
788
461
176
627
408
648
915
662
24
560
769
684
124
829
978
146
102
177
970
711
841
20
938
475
768
915
733
186
733
179
742
560
514
402
135
556
915
908
641
561
146
432
38
55
662
428
647
228
681
429
438
424
396
858
783
24
255
501
527
596
769
651
771
683
23
544
732
624
422
313
53
159
243
156
251
428
257
757
284
112
1
344
856
143
302
912
700
383
297
251
987
128
500
448
1
112
437
402
394
931
2
736
644
442
936
215
864
769
803
390
686
971
400
742
792
317
795
28
584
386
92
899
606
854
578
90
580
959
127
665
347
81
598
853
583
811
513
991
882
141
456
978
677
150
503
400
555
663
471
227
656
875
943
527
275
865
814
197
237
255
594
81
320
21
809
194
830
579
622
970
368
854
235
603
31
977
722
569
534
631
693
370
205
820
575
385
428
41
393
467
835
387
601
593
507
132
928
434
498
716
210
187
224
870
865
388
650
819
15
733
776
118
253
83
575
693
706
970
438
91
358
911
173
782
551
730
768
571
225
939
471
849
717
929
206
459
881
352
993
395
886
625
824
438
284
919
402
86
861
349
261
821
325
333
38
839
117
241
96
860
487
556
263
508
520
688
196
98
977
517
750
332
648
485
796
533
423
781
110
590
439
735
334
667
461
59
505
117
123
988
317
728
801
661
138
621
623
354
721
628
599
261
768
977
917
577
716
442
217
592
642
910
35
310
720
475
705
925
489
765
671
79
54
203
591
452
469
266
600
672
728
655
798
930
231
456
378
951
106
16
788
209
456
243
2
305
501
525
246
500
548
215
524
256
932
951
905
490
358
662
789
939
597
203
330
690
86
985
780
454
809
882
744
599
762
895
272
321
426
812
242
573
936
105
737
537
34
865
952
499
493
422
731
953
419
620
999
636
717
427
199
992
78
662
340
250
8
156
419
906
806
574
795
885
901
473
530
97
615
911
882
403
271
44
866
218
512
729
262
149
874
101
538
47
907
439
885
847
625
423
984
379
660
70
176
105
239
189
427
413
55
216
833
624
152
663
473
388
194
231
73
497
851
847
283
436
613
467
411
187
13
567
33
906
109
608
298
68
97
637
628
646
67
407
205
627
284
46
865
973
801
362
982
699
909
328
509
323
673
144
576
349
779
562
984
826
22
825
439
253
21
653
646
280
160
205
207
710
358
840
827
284
959
791
489
627
956
597
132
486
801
224
832
111
229
352
666
224
913
212
215
513
261
704
179
13
341
263
636
50
730
67
313
637
105
777
635
363
473
900
418
825
288
283
831
624
107
975
640
760
84
895
806
60
324
333
247
890
75
260
914
998
778
874
385
802
256
570
855
805
690
741
735
129
577
437
89
325
582
935
769
739
22
665
428
695
770
831
568
694
495
238
378
623
521
527
407
703
32
68
76
526
12
187
558
83
104
305
896
111
489
823
29
441
47
251
56
287
270
182
190
581
860
197
811
502
485
662
489
367
923
717
65
877
700
431
727
537
376
225
477
753
819
191
584
692
201
852
399
510
903
241
367
971
258
933
235
769
809
776
175
129
812
663
31
347
792
600
946
15
304
723
404
570
457
674
97
692
399
916
124
818
712
171
695
683
570
129
937
406
620
982
388
73
746
161
465
165
284
816
544
478
790
226
257
343
170
357
300
92
825
165
327
681
502
129
485
324
674
696
766
788
637
998
624
743
954
223
250
162
554
501
476
338
555
28
534
489
848
405
811
313
571
877
260
66
893
196
400
926
908
366
662
477
44
402
392
86
119
523
1
873
40
945
578
719
226
506
815
476
995
931
203
127
542
413
303
164
625
567
328
834
769
529
443
264
598
120
907
653
899
551
667
894
168
105
75
972
666
587
167
493
465
115
320
480
591
991
185
379
103
982
517
844
882
327
846
466
997
183
32
54
697
16
379
490
528
675
334
435
558
464
814
370
451
584
841
566
926
724
465
553
205
413
953
591
200
994
805
468
492
716
471
650
681
499
550
452
297
389
866
447
241
558
40
747
729
25
105
156
743
888
247
450
332
996
990
184
465
445
996
519
752
188
211
512
55
357
222
201
922
580
586
612
788
739
355
490
141
64
172
167
133
456
160
487
706
216
228
97
915
118
617
772
979
913
216
614
580
873
664
146
43
995
315
309
343
788
903
364
339
386
144
495
220
878
576
717
929
344
647
307
243
68
424
581
272
788
365
289
343
667
224
290
670
851
535
457
699
116
127
949
772
104
728
83
560
102
91
58
777
120
982
678
806
302
21
46
239
300
651
923
779
339
423
86
611
143
395
526
139
726
676
810
925
387
59
250
785
859
242
776
258
687
359
602
81
374
395
802
867
765
616
912
941
383
307
546
148
207
963
800
512
431
569
918
811
326
763
266
498
192
483
215
910
775
169
884
371
224
701
69
628
831
51
856
20
332
46
593
963
528
736
893
569
322
606
314
707
60
278
177
421
225
410
780
353
138
199
884
770
271
295
943
850
222
931
15
117
164
780
672
317
800
390
506
544
479
26
32
144
147
418
878
788
205
232
170
95
237
16
900
364
749
30
938
329
735
612
3
261
957
718
603
474
234
787
443
990
942
421
267
148
185
191
443
993
767
497
853
576
176
593
808
693
303
779
784
192
488
275
744
683
791
490
690
379
120
231
874
860
921
899
793
728
688
870
694
483
472
64
807
478
882
187
950
455
830
232
467
15
417
611
667
333
901
740
74
585
636
968
846
841
266
489
635
614
201
304
32
903
582
328
490
270
546
477
269
470
563
927
528
181
24
770
162
652
81
982
345
432
906
949
48
935
185
809
982
250
678
491
508
496
85
692
84
16
304
934
701
883
419
538
600
502
371
553
274
593
337
690
392
467
309
828
822
295
202
971
363
28
104
395
151
742
979
292
966
421
171
458
810
625
589
407
209
75
329
852
657
891
788
655
514
129
44
218
425
306
380
748
60
782
363
8
541
261
798
970
445
135
228
254
676
118
374
338
813
405
78
340
776
584
826
577
777
670
931
200
544
918
783
980
781
526
362
673
636
952
388
499
742
306
53
965
33
235
280
625
98
760
848
422
350
782
512
917
614
334
480
73
56
229
196
239
576
440
406
650
845
392
939
54
221
382
411
48
654
510
359
344
522
795
920
417
61
690
232
996
689
782
193
360
44
321
83
736
9
115
816
933
357
479
261
936
871
159
183
408
996
590
796
883
108
407
874
9
496
874
602
342
1
773
126
67
55
337
813
488
574
36
802
315
712
331
314
550
38
87
553
275
79
950
756
738
489
856
83
933
355
789
620
289
237
85
700
181
619
821
117
723
366
327
587
711
628
429
983
623
405
819
444
334
629
847
467
537
202
125
461
922
895
542
68
826
383
697
761
430
6
295
808
545
999
736
777
719
78
13
111
680
224
14
201
107
464
528
569
336
230
539
461
895
633
916
168
696
580
213
885
288
240
95
748
844
774
877
983
442
611
727
774
768
799
390
523
581
132
688
698
150
798
622
322
406
296
641
482
744
227
537
943
226
366
455
59
456
102
718
697
553
931
515
810
430
215
21
653
89
800
182
332
740
417
220
567
327
20
913
69
515
339
804
907
219
957
836
595
577
166
320
407
614
720
769
598
926
321
897
808
439
389
975
876
650
176
858
745
801
803
165
886
104
157
555
913
502
878
514
653
422
848
826
975
643
714
719
87
710
960
715
868
293
963
360
11
494
288
357
435
425
201
88
441
255
1000
162
564
575
302
409
939
135
891
703
257
929
30
84
72
153
454
942
305
799
367
407
276
489
883
700
489
697
283
901
698
706
371
507
499
454
969
171
789
954
321
227
976
102
738
963
722
512
330
107
371
472
115
677
915
244
51
144
529
710
827
872
229
794
318
908
193
182
700
510
629
618
119
226
842
452
686
983
364
163
306
360
534
318
526
176
966
794
140
584
697
90
772
86
619
298
37
296
26
577
160
781
691
31
132
68
925
491
579
697
503
63
520
270
159
222
115
566
601
889
294
168
648
191
919
472
116
538
730
639
583
243
872
817
985
170
250
897
279
774
301
224
107
484
14
877
444
569
226
623
718
527
250
163
801
538
879
64
538
728
708
626
222
822
475
12
507
251
821
130
810
968
491
146
133
981
460
994
605
132
925
940
779
741
384
67
832
515
276
531
425
571
754
584
876
498
243
652
710
137
321
187
404
165
370
658
303
616
150
761
313
198
132
894
906
638
2
973
427
316
194
940
442
108
723
663
120
754
842
502
219
997
270
488
292
453
812
958
137
434
218
444
371
946
14
844
218
681
883
184
271
127
881
782
30
817
402
259
474
375
348
634
794
222
407
687
678
730
674
895
227
185
130
487
657
82
618
598
421
227
76
79
302
576
695
239
315
963
615
690
969
707
504
514
549
582
102
164
607
777
367
865
768
296
407
814
305
714
764
113
653
314
944
224
205
423
308
706
256
193
579
125
949
154
238
335
417
641
32
763
91
567
684
955
336
98
616
384
138
485
178
461
571
694
454
739
159
501
153
561
51
389
515
760
138
940
421
596
865
413
93
783
478
842
875
338
914
299
592
985
354
951
882
29
694
123
726
911
837
911
126
186
790
766
497
243
945
113
885
939
860
280
575
216
73
921
971
922
173
705
927
297
464
213
829
983
991
897
822
57
648
461
537
236
357
215
563
355
24
796
680
231
87
146
575
233
14
776
358
243
1
196
696
181
470
794
796
974
726
633
794
642
237
361
307
164
587
909
72
931
85
696
591
895
409
852
672
932
393
343
607
609
277
949
441
241
304
773
517
96
546
311
977
640
234
167
423
984
662
149
310
43
953
855
898
497
591
838
843
318
625
91
544
499
904
911
404
623
511
158
73
92
822
558
530
148
247
969
634
299
773
460
342
420
879
659
391
575
260
51
630
546
73
843
578
204
84
525
5
61
185
524
526
817
240
182
235
253
111
835
401
566
18
944
125
131
95
89
630
724
122
109
562
413
919
837
274
730
849
699
574
188
153
888
814
940
644
963
535
144
387
505
101
620
556
874
861
509
630
231
462
929
428
710
824
92
288
49
184
934
837
36
337
81
407
839
881
908
122
683
835
478
104
332
475
444
12
548
604
326
363
25
777
148
691
295
172
126
616
759
912
926
323
302
639
66
793
921
69
147
352
419
39
990
763
475
327
187
128
382
115
224
338
272
528
145
651
956
109
662
276
364
449
715
493
151
435
767
942
259
756
527
190
71
349
366
577
340
477
438
669
262
972
387
321
892
989
570
491
603
297
947
448
452
744
99
976
101
15
412
457
441
240
66
511
158
304
346
973
275
958
743
573
145
923
471
610
425
267
299
299
369
228
60
243
116
528
815
623
756
986
380
346
647
880
890
300
843
81
97
337
510
468
378
358
900
493
781
93
786
71
9
793
273
146
909
71
522
391
934
532
280
506
7
706
32
484
439
993
230
33
825
12
349
72
369
773
413
843
696
561
274
716
17
277
133
211
463
268
724
107
504
328
118
765
634
660
349
944
925
69
892
483
637
544
616
147
763
702
936
873
345
265
822
393
359
862
727
924
245
966
736
211
450
691
975
713
911
540
836
127
44
889
662
773
656
180
342
589
147
315
681
582
536
725
503
678
127
932
199
789
72
214
845
819
715
136
35
47
348
321
344
7
927
787
664
553
388
614
713
256
419
478
672
670
934
794
287
294
48
858
729
238
40
350
182
709
658
39
435
437
119
307
712
61
356
411
608
326
334
986
259
675
810
397
843
399
483
961
46
127
320
962
435
795
770
627
536
642
697
915
992
12
110
65
406
899
215
315
314
245
853
127
296
986
152
530
385
696
86
916
804
487
692
740
542
499
891
78
425
939
209
949
174
88
222
608
389
157
203
799
511
151
279
57
621
148
401
733
348
513
531
355
249
618
800
318
787
572
781
647
409
308
672
773
324
152
925
834
259
632
789
999
862
874
285
732
451
384
405
669
486
428
669
46
483
467
750
178
83
335
559
553
661
914
60
494
133
89
57
204
623
671
421
230
257
772
493
41
619
886
927
460
359
507
839
131
26
689
947
115
431
380
322
916
785
709
492
972
364
672
878
683
731
805
985
572
348
525
346
54
14
760
915
586
680
408
546
691
76
917
183
457
79
990
633
629
878
8
124
349
829
284
368
921
352
644
511
719
332
183
214
517
274
231
21
45
910
737
386
554
10
269
967
532
934
802
262
479
853
307
297
827
606
905
783
687
910
8
133
61
991
455
764
601
729
90
371
751
116
656
226
353
139
115
109
381
223
735
176
519
5
367
929
697
518
342
457
557
857
317
296
32
976
257
572
898
591
397
589
191
58
738
626
838
714
85
553
725
406
149
777
692
826
534
166
617
855
710
849
845
305
230
212
694
344
502
988
668
400
428
64
325
547
73
520
435
182
337
459
182
333
273
390
701
76
314
272
138
348
166
848
790
911
530
574
585
342
149
250
338
713
876
474
742
40
627
142
53
687
67
538
731
658
867
7
132
96
201
779
487
390
885
326
988
998
265
506
805
448
491
847
245
51
305
553
63
488
846
201
148
830
269
634
426
502
146
269
825
380
751
877
591
514
298
936
79
942
133
779
358
652
705
134
639
83
844
111
592
434
514
308
29
669
753
555
369
360
944
711
497
389
907
68
358
114
568
168
682
799
119
261
742
993
640
200
925
80
142
310
221
366
856
656
418
977
405
160
917
264
138
252
617
621
572
52
205
419
325
647
578
185
388
633
792
350
867
974
160
595
565
179
586
311
902
942
262
747
700
689
155
193
315
927
520
926
439
879
835
715
645
688
142
406
415
341
771
470
966
599
804
416
651
387
464
684
85
547
790
943
463
347
606
739
688
885
788
74
64
343
264
823
285
94
33
840
379
807
705
263
77
38
715
752
803
262
432
390
102
961
824
510
885
136
202
10
269
622
866
574
187
624
104
818
159
211
127
562
798
885
984
329
691
942
396
677
245
64
769
169
20
461
337
627
783
940
496
799
286
473
939
740
314
190
89
7
74
230
699
229
418
571
192
754
690
766
489
823
221
503
606
198
630
38
265
210
114
856
129
989
855
353
47
6
540
938
850
146
711
736
858
206
347
960
206
136
648
130
530
323
443
511
334
937
60
573
564
670
737
781
547
218
891
740
465
500
620
588
950
923
853
510
235
949
449
455
532
879
370
434
938
1000
793
260
255
227
621
262
522
914
428
236
965
789
288
922
321
855
301
335
156
673
871
585
915
634
974
223
898
725
689
722
266
813
274
439
484
642
924
297
316
605
138
462
585
831
328
481
467
278
890
737
970
356
452
542
620
33
454
905
95
544
507
799
697
550
208
764
106
84
229
789
824
661
509
739
59
709
357
34
604
870
88
866
409
779
582
67
148
652
834
572
67
363
90
593
791
765
688
760
575
635
56
945
683
16
637
982
207
689
699
221
652
190
54
702
30
73
778
747
52
101
863
936
250
660
615
767
485
976
277
773
372
654
37
499
598
620
85
564
981
844
828
947
373
75
742
776
211
412
566
128
581
734
732
804
169
895
958
589
335
106
958
244
903
123
29
383
906
695
142
404
685
218
787
870
243
705
467
68
677
988
219
11
859
521
957
791
270
300
744
41
16
173
336
230
657
251
464
657
378
242
339
300
435
236
854
138
573
923
734
154
280
237
732
10
323
181
526
273
17
911
635
185
69
234
87
172
607
319
957
686
285
795
213
510
877
369
463
381
884
799
316
598
29
310
56
347
403
562
275
598
234
857
881
779
898
579
658
919
865
780
166
564
705
423
314
587
157
39
376
949
524
452
571
599
362
798
580
909
465
271
537
543
689
895
108
138
16
170
217
994
581
605
894
795
84
990
473
458
129
784
95
404
546
112
27
886
682
705
861
547
987
552
20
23
942
195
362
252
545
338
854
120
102
887
448
215
42
655
315
764
828
667
537
253
825
443
201
865
130
671
608
627
997
419
952
47
430
382
410
147
958
718
32
984
373
683
246
174
437
629
18
437
183
941
949
943
434
105
673
15
617
448
909
837
759
33
466
929
813
812
273
500
82
451
283
266
588
119
670
956
672
182
325
536
980
955
80
100
264
575
418
529
98
622
719
231
706
333
235
743
561
119
32
506
339
618
165
900
96
734
175
464
255
893
814
326
83
319
599
15
894
213
374
215
104
584
585
539
624
918
364
32
797
991
860
988
248
937
456
601
555
80
646
140
609
160
401
619
896
314
761
384
719
580
273
638
520
761
629
710
87
172
525
767
385
215
326
764
170
704
607
634
334
573
5
143
131
952
112
348
82
551
331
300
317
6
711
516
611
80
784
721
143
648
347
555
276
958
932
260
307
985
442
833
164
588
61
781
503
812
87
405
524
887
750
490
71
404
476
369
303
701
268
627
246
697
51
95
93
304
912
377
944
59
108
874
45
808
628
179
249
117
850
725
546
580
553
805
46
342
126
408
708
984
323
859
444
347
340
888
976
40
271
599
951
111
276
793
400
826
869
214
547
580
816
615
377
705
41
957
105
357
806
686
907
714
191
781
810
434
534
193
670
694
84
366
529
173
589
758
473
991
912
686
288
4
60
339
864
814
196
513
285
524
332
491
974
578
347
488
128
979
961
239
868
819
35
680
207
318
364
89
987
507
702
749
382
289
321
952
443
846
856
129
417
274
511
994
256
884
982
859
829
823
592
678
802
529
215
975
88
99
544
529
47
780
107
584
326
684
274
383
351
287
125
44
999
457
718
141
903
539
732
861
173
502
930
296
80
287
165
228
345
246
892
764
290
21
277
328
3
295
35
765
92
585
52
816
321
668
721
799
642
268
661
96
686
381
149
972
781
941
168
324
974
606
447
194
293
91
248
251
752
840
930
21
154
809
542
311
829
803
756
155
811
91
493
606
841
29
478
881
795
8
794
674
782
335
225
953
222
599
801
181
667
649
504
696
977
559
529
945
757
888
852
358
632
47
91
925
999
854
841
958
413
211
695
70
642
341
163
178
739
256
566
181
168
925
782
41
162
128
394
173
990
138
405
416
743
164
191
380
587
980
746
603
167
267
649
811
987
976
323
534
151
465
378
480
799
245
787
345
945
915
633
223
194
278
9
341
974
686
381
641
535
375
421
639
923
920
850
57
556
979
344
981
819
179
889
642
297
318
298
516
908
82
777
94
182
108
521
545
377
547
337
526
960
238
200
519
219
231
459
451
393
669
140
793
805
993
416
999
895
986
867
919
945
470
563
786
540
325
397
486
502
91
298
51
105
620
164
789
860
109
391
977
92
385
848
834
781
494
55
328
887
481
76
454
478
757
348
798
495
586
259
560
930
50
801
732
515
311
29
789
754
104
364
80
296
181
33
73
178
862
31
771
434
931
55
893
926
869
781
861
42
826
724
252
46
762
666
135
480
964
279
616
7
435
188
25
444
766
134
356
594
717
311
19
622
112
242
460
416
644
722
929
314
826
481
528
69
653
218
681
715
480
558
330
260
283
316
515
768
699
167
431
440
216
455
737
778
456
397
665
752
738
412
419
201
34
611
481
332
951
779
697
294
635
307
413
283
324
629
554
536
829
675
210
852
406
725
237
22
303
862
388
630
793
888
699
228
624
166
226
810
668
391
714
838
962
650
475
815
515
489
560
556
990
925
298
838
818
441
411
83
410
79
211
104
841
656
831
671
822
993
48
896
818
804
26
947
877
533
216
653
132
26
733
920
938
362
758
683
318
588
901
355
700
346
1000
300
971
607
553
934
468
809
794
431
893
701
483
885
62
113
628
996
52
685
663
997
552
308
134
604
204
672
531
205
272
835
742
386
237
190
527
168
836
528
521
984
586
186
551
517
97
393
459
32
296
21
202
688
268
911
719
653
559
825
981
537
652
853
622
782
819
825
821
144
699
833
391
375
767
511
607
487
333
109
919
782
808
739
571
916
777
347
81
865
844
163
716
601
303
353
362
633
437
578
652
377
649
5
817
459
702
58
495
661
30
874
635
190
496
993
729
377
963
268
825
672
749
394
160
47
374
699
799
516
7
75
373
492
665
994
856
154
530
572
328
806
729
557
863
464
515
925
986
537
101
506
623
544
293
671
125
242
708
678
721
416
558
674
717
855
924
747
858
713
986
643
535
526
888
927
945
664
807
464
866
875
293
17
476
903
171
701
485
824
98
763
950
932
389
883
279
438
877
784
358
261
374
433
169
447
760
539
15
546
881
364
224
388
164
88
241
268
353
100
108
516
788
625
673
749
481
30
262
943
562
20
225
565
793
663
455
651
523
870
960
655
855
505
606
327
807
784
396
666
931
1000
27
180
232
894
28
353
160
179
463
176
170
842
56
71
605
842
591
361
656
710
625
658
741
429
868
206
967
645
68
277
223
906
870
133
98
177
933
996
7
301
510
666
864
436
819
174
166
747
803
876
576
795
274
943
978
142
37
41
492
645
293
344
114
802
534
702
519
315
174
909
16
696
358
540
850
359
754
751
795
156
644
754
513
699
296
456
222
152
427
848
22
380
547
324
661
505
117
34
603
899
733
773
12
654
21
644
687
364
513
939
996
830
549
247
640
972
164
790
377
764
1
394
930
532
510
291
939
277
89
160
185
31
374
433
305
383
566
913
859
479
559
163
939
745
630
988
456
522
641
531
889
628
989
190
517
556
89
589
137
678
723
297
834
338
476
861
606
170
350
995
595
330
809
413
174
569
738
923
412
259
240
844
274
526
749
741
451
639
685
737
914
670
767
414
104
234
114
376
185
807
511
125
928
715
533
774
612
400
755
494
795
981
934
316
911
424
881
39
465
898
722
581
990
978
377
40
45
433
394
107
286
254
704
243
22
430
496
202
748
742
152
80
852
508
109
48
70
759
595
316
293
828
406
695
998
694
289
320
950
712
37
710
782
562
96
370
731
346
355
557
128
739
786
674
176
75
774
993
209
986
322
36
866
6
756
41
583
136
247
330
369
921
207
332
94
40
597
225
424
731
305
875
81
656
957
823
334
966
23
547
499
373
578
145
754
37
867
865
750
949
681
634
354
251
599
831
344
674
359
103
46
828
973
902
689
611
707
808
745
405
736
393
618
41
80
565
858
757
434
856
462
467
631
91
972
741
771
238
773
796
507
993
438
679
565
870
9
555
370
84
810
688
543
590
784
264
112
946
352
683
523
545
490
318
927
921
57
45
727
472
397
5
133
953
906
201
261
522
549
506
378
960
297
579
29
912
41
7
132
657
876
711
590
960
510
279
613
6
214
443
746
311
923
332
532
727
35
508
860
398
992
25
307
536
962
939
191
441
797
723
646
39
979
69
751
530
454
381
628
459
74
102
472
602
905
664
695
625
759
491
677
356
166
957
186
886
437
621
149
409
606
397
314
897
810
517
305
240
105
272
725
426
801
591
241
732
159
406
45
636
679
640
686
354
273
401
43
494
355
601
104
284
209
839
319
251
60
795
501
28
949
816
657
149
843
645
669
339
422
408
428
808
625
121
917
478
358
950
708
938
734
374
543
115
818
229
981
330
156
323
562
445
272
954
597
275
942
174
478
282
265
128
353
864
481
99
104
218
35
170
866
824
601
582
698
125
653
907
618
821
704
156
954
555
511
808
817
416
384
527
589
852
250
54
477
80
247
314
574
1000
461
329
360
972
878
909
257
543
725
425
664
368
179
179
905
91
847
39
615
957
508
7
445
244
349
371
351
402
358
909
400
963
557
382
738
848
509
217
316
705
876
832
31
311
867
558
179
853
61
453
493
118
456
629
599
267
595
881
402
818
252
501
791
985
486
201
60
251
838
931
595
387
63
225
724
695
62
442
93
366
626
857
581
263
184
140
550
314
3
171
178
986
187
508
739
964
370
55
945
249
242
679
889
402
895
539
705
506
503
914
789
784
60
167
314
455
711
273
818
575
724
35
835
99
308
725
918
345
271
344
879
359
12
181
780
435
419
590
8
175
69
187
756
39
523
762
362
274
628
265
283
506
459
140
877
11
963
148
824
899
411
578
758
983
478
383
591
138
157
375
103
324
722
58
597
248
667
91
804
870
852
621
769
540
120
943
141
609
275
50
172
752
644
611
699
95
393
849
601
469
388
607
509
758
697
607
53
364
731
533
555
273
629
121
869
58
741
865
45
433
953
306
546
661
184
121
86
176
560
394
495
286
690
519
659
720
946
148
272
81
893
497
42
957
791
88
40
601
638
708
67
549
365
967
288
545
573
340
872
393
716
976
78
180
722
898
16
383
832
426
328
986
870
785
134
645
258
900
924
337
824
322
495
674
853
88
648
261
910
39
134
40
656
830
229
575
264
386
435
597
68
73
995
964
761
194
315
371
799
747
939
779
665
526
404
543
300
799
179
633
323
756
872
217
619
859
112
63
497
22
778
888
910
300
765
849
151
374
114
787
29
653
109
748
793
275
908
533
947
634
378
732
691
280
60
771
914
271
633
998
545
34
778
706
602
858
117
330
457
935
778
727
671
730
148
589
270
84
640
539
463
105
588
402
618
381
953
474
800
463
147
333
259
887
153
917
67
226
44
101
527
802
203
13
53
698
793
638
995
688
495
89
259
526
141
41
659
791
630
461
619
165
417
716
252
571
972
556
847
72
814
269
490
823
107
514
873
641
384
938
366
972
617
722
59
92
752
625
791
436
806
916
171
821
821
826
186
152
268
820
300
947
999
2
853
623
460
460
194
25
703
203
195
128
644
606
712
196
164
992
137
921
874
2
348
233
811
967
310
559
902
319
37
235
741
436
849
716
158
997
706
958
50
35
863
85
189
415
268
16
48
364
941
253
214
50
12
444
623
907
244
634
677
568
619
358
274
827
38
853
951
997
227
703
582
393
736
171
586
444
284
329
144
130
791
832
742
992
127
877
230
970
14
422
702
738
499
220
694
954
155
635
620
122
459
441
894
300
824
34
875
987
403
593
659
875
92
675
710
43
135
725
554
376
341
716
10
651
209
913
978
775
206
370
403
127
993
283
848
821
693
811
45
959
163
269
909
653
792
902
762
640
590
585
923
832
175
851
417
30
811
664
259
325
821
172
673
426
563
537
664
266
625
547
519
763
68
399
222
521
350
466
231
624
33
347
778
373
484
750
640
991
581
33
341
875
849
327
864
896
554
211
245
667
30
864
897
416
904
428
74
313
966
134
695
676
128
335
632
453
286
214
657
796
958
370
475
331
208
891
646
941
753
788
767
487
106
878
943
921
308
282
491
671
53
718
776
999
37
690
279
286
937
469
328
844
731
509
373
891
984
553
357
798
354
228
505
586
754
373
825
889
585
692
694
324
957
559
192
255
53
8
250
436
670
957
253
924
485
720
486
944
780
738
671
100
217
236
921
442
732
214
604
409
773
767
990
612
934
254
61
749
477
233
521
658
376
385
889
707
293
909
517
228
311
963
535
683
369
777
998
612
74
20
975
171
965
824
923
269
375
644
449
862
750
787
473
989
644
13
913
497
657
71
198
230
258
446
339
646
759
831
817
448
745
80
253
842
870
459
668
450
275
37
175
740
833
965
99
89
44
202
840
225
702
986
307
841
365
961
343
661
267
413
395
65
556
524
614
682
636
874
672
7
960
698
863
221
835
567
461
833
667
208
882
699
615
172
938
258
783
943
357
533
952
832
768
557
324
743
586
417
917
452
557
20
61
575
240
29
894
790
400
149
908
221
64
98
342
83
24
139
676
848
665
9
564
206
320
460
281
55
786
367
186
584
260
576
735
280
692
200
309
361
491
110
504
667
591
721
528
562
105
3
65
756
205
838
293
221
370
469
739
625
907
811
307
738
430
792
140
326
62
771
915
931
255
276
818
743
459
985
708
539
352
890
926
229
990
79
779
148
5
407
997
635
964
613
348
792
74
101
160
602
706
714
718
706
614
285
377
221
321
669
754
982
832
255
543
418
790
663
363
103
159
436
507
701
778
92
654
605
453
774
376
109
790
122
770
338
600
691
659
480
599
413
561
96
34
131
102
417
59
201
592
561
951
526
281
546
714
147
160
842
226
703
292
938
846
639
304
66
312
56
125
812
853
465
996
776
637
523
542
874
107
44
978
116
265
168
552
912
677
625
960
52
846
424
807
503
571
149
111
96
127
295
509
956
390
680
83
304
530
71
653
842
531
592
999
499
582
344
689
737
344
947
122
988
206
400
940
26
881
710
168
246
154
260
355
900
130
761
453
302
84
943
426
890
889
856
353
835
66
739
354
567
658
977
761
190
534
549
801
261
210
736
523
827
945
585
798
918
723
763
33
930
671
998
648
455
630
263
467
159
897
209
918
230
565
146
350
801
540
18
820
482
63
433
420
789
451
777
604
870
909
838
985
336
435
183
756
454
268
719
249
178
852
496
114
751
3
824
292
651
809
217
214
710
819
486
681
100
232
553
457
740
134
227
905
360
315
188
931
135
808
920
93
284
136
192
958
524
143
939
734
575
448
94
714
198
782
988
338
390
913
436
493
435
416
516
260
479
310
350
449
187
427
906
136
816
471
959
903
730
878
855
637
992
981
663
541
160
482
631
507
836
894
594
85
828
458
126
84
10
6
806
278
95
397
876
759
572
425
992
253
5
560
488
92
731
495
784
623
753
227
137
524
298
307
927
882
48
9
62
917
561
340
896
928
747
263
246
347
574
995
736
822
361
992
683
888
103
37
190
77
311
904
940
323
712
223
414
93
30
485
912
1
729
628
816
551
289
268
955
289
79
441
848
850
350
667
831
329
229
255
768
925
820
35
128
62
723
111
699
27
303
827
92
719
51
827
524
285
234
34
32
235
841
369
420
158
492
254
746
301
613
298
82
73
657
71
621
10
573
548
934
871
38
619
342
290
205
63
888
858
817
485
398
601
627
64
439
562
933
342
785
592
968
960
158
532
567
953
606
671
241
171
871
737
342
450
478
710
459
395
95
432
602
25
930
326
975
72
505
537
374
425
219
454
294
74
506
890
895
905
227
165
831
894
200
938
799
531
382
945
373
844
301
706
335
964
769
872
211
34
795
123
232
144
856
426
197
159
402
43
68
493
513
862
206
357
140
531
265
556
257
372
748
652
534
260
56
197
881
482
710
769
282
87
64
776
913
398
470
318
418
158
328
922
567
256
878
640
284
100
914
817
116
474
823
815
851
158
453
127
863
684
405
606
198
339
234
972
140
931
917
377
193
905
710
588
999
97
146
219
682
792
531
572
536
779
733
842
736
794
468
845
8
49
559
971
753
587
832
746
188
820
424
287
472
927
275
884
610
775
486
174
193
605
54
654
649
57
201
785
758
991
152
557
610
189
767
212
96
252
844
718
235
916
291
766
373
565
593
247
326
942
181
646
63
923
370
338
396
757
493
503
471
351
775
258
526
20
225
690
535
628
569
598
856
193
801
196
925
831
473
461
387
400
219
546
776
302
357
456
17
704
618
185
571
851
181
660
983
259
244
107
1000
291
289
928
144
60
49
766
840
631
943
211
776
225
420
516
140
507
182
758
803
37
776
122
293
695
392
369
642
187
6
94
763
766
190
73
85
936
15
872
543
238
486
882
906
150
835
131
630
796
840
530
90
406
59
725
73
409
468
314
902
646
583
37
399
430
526
454
180
63
892
757
453
20
516
613
554
192
372
360
975
460
951
456
509
412
402
795
444
192
613
417
466
300
198
166
3
680
42
47
313
572
658
413
507
409
113
596
48
537
695
277
4
603
804
733
479
297
784
48
193
515
527
529
145
136
734
885
659
343
643
111
877
804
903
720
941
125
3
630
698
663
351
13
733
186
647
436
961
893
675
878
762
968
20
600
918
222
504
356
151
331
312
189
145
877
904
846
319
653
789
924
482
726
167
970
708
307
237
129
445
807
738
388
904
360
861
106
247
707
256
333
934
562
275
335
891
500
948
889
808
962
436
143
983
186
881
272
595
738
631
734
207
867
783
648
585
66
889
731
630
84
440
243
345
112
428
615
264
44
913
777
710
484
996
717
568
691
34
482
19
716
227
641
800
817
958
226
136
628
369
287
413
685
723
519
71
633
1000
838
909
858
86
409
238
332
597
388
828
200
106
551
658
972
65
77
803
253
208
954
659
601
596
896
853
444
743
185
866
10
473
548
339
836
244
54
544
779
667
14
261
370
901
34
583
21
362
714
819
820
973
947
678
653
755
414
422
898
132
688
515
272
753
264
557
234
974
993
2
975
422
618
203
183
190
540
847
699
315
539
718
655
134
878
43
914
23
110
369
442
772
980
50
757
584
967
927
741
253
419
727
929
592
695
19
824
596
447
328
947
138
966
141
74
219
494
86
574
931
589
531
835
310
853
216
519
226
845
300
790
272
577
365
725
408
756
532
814
731
857
818
848
360
197
241
521
849
390
19
733
964
973
389
955
920
520
189
991
362
273
382
131
508
166
110
2
827
139
712
388
585
804
366
914
367
844
681
757
439
27
591
496
425
324
383
802
317
450
538
898
279
60
357
646
52
977
992
670
18
52
605
126
161
710
865
620
196
786
885
301
151
4
992
326
532
325
465
755
17
448
442
412
278
935
760
416
185
796
397
893
95
881
523
832
369
98
899
191
581
286
530
125
90
576
2
640
786
201
914
76
853
993
158
570
346
288
598
40
202
544
853
305
91
739
477
665
155
547
826
641
244
356
296
598
759
431
401
658
565
903
394
665
736
814
736
933
77
155
725
202
485
675
52
486
198
268
859
516
897
898
127
53
440
370
865
671
753
702
614
503
992
528
260
64
668
731
982
494
837
465
459
485
832
822
132
688
243
690
381
643
36
717
991
122
753
930
161
329
715
243
623
548
32
999
124
713
3
732
677
843
187
519
458
445
31
690
204
806
421
111
255
545
970
997
155
936
138
976
855
276
535
147
113
15
856
993
660
456
963
307
42
576
549
741
841
921
684
204
129
600
277
72
630
97
184
123
3
15
213
156
108
881
795
520
881
824
440
115
663
293
397
33
454
958
126
656
559
610
281
903
552
175
936
349
279
927
645
73
897
596
807
438
568
368
476
496
484
691
429
325
363
386
799
408
409
831
70
136
20
876
532
586
172
698
588
7
526
46
437
881
772
167
752
971
618
262
907
514
148
479
238
616
981
315
563
927
744
780
903
890
957
824
932
209
276
373
212
699
440
728
647
343
981
260
927
203
873
78
959
831
917
793
411
943
538
583
504
426
97
538
184
198
554
617
594
27
516
670
568
222
263
642
505
975
376
478
550
246
928
265
505
300
57
830
227
393
919
369
614
655
624
653
430
903
815
37
322
993
937
790
419
315
97
229
769
222
660
789
728
487
352
397
112
385
712
480
554
619
176
532
78
116
966
395
282
653
187
312
936
401
255
395
16
711
837
332
366
913
968
57
243
454
939
617
994
435
802
670
962
513
95
871
537
145
467
919
925
386
434
174
845
785
388
581
833
442
358
80
280
975
715
830
602
930
202
330
213
202
184
969
71
132
998
626
599
245
635
676
761
71
756
183
876
58
229
98
541
388
948
12
684
383
683
377
326
317
122
142
131
614
49
430
163
879
810
231
603
671
860
73
321
697
162
291
348
916
679
828
247
77
993
462
334
377
362
973
501
251
144
55
104
793
576
691
38
923
362
325
629
257
381
387
439
512
96
662
396
476
924
505
969
742
911
184
205
911
543
434
564
467
424
910
438
325
838
328
117
884
954
1000
767
506
500
923
668
515
301
736
545
175
962
692
372
618
337
236
375
367
157
907
353
910
326
78
588
787
955
445
804
753
165
311
623
921
50
424
952
191
950
548
541
918
383
1
747
498
558
108
168
513
367
901
395
103
172
401
605
507
494
531
86
70
912
29
83
583
109
739
542
503
10
299
418
467
397
569
246
529
197
103
540
706
905
577
459
758
234
387
841
594
127
553
396
356
758
646
330
993
964
726
167
129
871
165
831
92
112
783
356
269
148
966
714
357
671
283
339
643
984
653
895
204
530
309
713
781
472
628
102
146
332
418
452
955
213
373
626
464
62
248
640
987
759
763
70
633
564
340
906
695
592
614
817
59
539
22
925
100
842
925
206
871
822
434
587
810
132
513
666
802
986
20
710
215
269
12
285
417
580
78
400
384
672
427
554
222
553
192
430
821
728
720
282
409
651
635
246
458
507
109
909
267
855
68
464
547
492
64
714
518
151
121
971
329
276
185
653
115
187
695
994
640
380
437
814
250
611
45
755
838
627
432
729
608
152
8
565
695
749
730
35
126
732
928
476
158
147
356
212
789
173
126
860
111
990
995
394
213
285
1000
514
550
63
571
496
58
401
70
173
790
57
164
134
523
649
571
524
627
213
479
77
444
519
408
101
576
505
315
234
779
510
571
662
595
785
750
397
480
941
326
927
930
559
992
239
38
184
778
766
984
331
105
294
204
906
629
228
343
687
72
928
678
99
215
999
368
539
894
513
761
960
159
174
987
211
688
313
256
917
218
442
578
290
986
812
131
345
149
47
108
421
700
468
717
799
692
152
894
468
447
144
457
770
992
455
654
718
211
691
478
317
33
173
731
55
525
426
500
82
945
764
638
276
648
501
866
511
228
999
315
982
439
384
692
334
256
231
749
716
879
963
426
587
630
6
844
263
460
985
318
744
212
344
692
312
888
847
589
759
917
331
636
883
804
948
300
49
619
870
769
206
501
117
204
746
713
710
769
972
813
837
96
752
206
113
202
145
662
258
431
399
393
776
707
735
948
242
221
769
455
873
688
241
757
926
502
979
569
315
417
659
77
532
867
966
352
618
697
249
495
435
844
587
734
968
468
486
565
697
149
88
572
359
9
861
829
581
60
223
607
910
627
462
664
770
457
593
584
734
982
523
444
286
278
1
626
963
435
343
705
334
424
865
182
797
69
273
278
585
368
6
142
686
277
684
592
604
7
339
947
17
62
95
607
440
509
296
772
909
439
889
91
597
181
4
126
984
587
292
176
886
632
543
433
230
650
534
430
886
744
813
446
315
322
384
877
12
222
829
556
966
618
460
687
425
742
481
347
279
469
19
485
268
978
74
967
66
47
130
491
972
999
180
145
618
951
410
942
614
846
621
952
475
653
764
515
577
265
625
616
84
857
783
689
987
908
454
994
456
654
739
274
668
479
62
514
173
620
353
549
616
636
572
686
374
261
755
722
208
637
642
504
576
434
316
669
657
13
996
319
435
651
280
154
436
786
695
29
832
409
361
1000
663
8
930
648
873
930
753
900
694
620
397
603
687
970
199
839
391
928
560
332
112
583
68
328
834
192
331
20
663
983
613
913
434
118
2
550
366
912
819
648
707
247
443
4
335
131
535
521
189
539
893
296
211
967
815
6
229
654
891
769
808
20
626
223
655
698
126
841
604
459
372
395
541
467
293
19
910
527
893
578
570
445
225
884
864
164
869
852
737
86
866
861
585
886
813
439
365
138
880
866
112
315
69
464
685
41
957
154
999
11
486
292
466
662
104
966
659
486
719
676
426
882
476
779
846
561
298
150
422
820
554
276
862
455
917
391
652
689
714
334
371
237
611
495
359
582
488
642
929
565
741
381
771
686
68
756
587
822
970
776
275
699
863
692
186
71
656
492
51
480
144
373
210
458
329
948
664
182
88
531
298
967
190
151
347
407
771
872
797
661
796
575
968
140
911
615
949
815
372
678
912
486
401
704
591
576
401
972
370
483
957
305
476
52
451
893
784
498
402
403
573
968
379
901
408
994
410
587
967
288
373
527
263
670
750
346
219
450
475
325
930
254
334
477
303
94
536
933
964
471
615
420
470
454
768
702
876
939
145
600
674
777
312
598
955
33
337
132
403
439
516
337
395
975
728
437
39
641
832
956
476
669
305
634
111
831
517
281
789
58
689
761
47
244
556
1000
737
15
221
181
292
213
495
286
800
40
266
737
914
132
95
198
309
285
266
504
42
238
997
299
714
673
369
202
765
571
813
207
581
134
654
622
356
797
321
27
809
220
280
626
918
759
697
889
811
636
89
573
838
913
952
29
630
429
482
238
638
39
996
129
255
882
605
568
114
879
26
877
596
367
148
839
845
583
128
947
879
680
316
77
460
129
310
860
440
625
762
783
271
79
356
425
152
876
542
337
122
356
200
739
984
375
388
633
587
898
737
918
420
788
847
788
863
360
244
55
737
800
92
6
980
252
842
77
365
248
458
931
197
141
677
485
835
384
994
71
682
842
735
169
43
765
589
116
849
719
481
754
811
563
476
247
968
492
734
198
7
293
152
754
905
210
464
587
687
243
29
558
102
269
435
330
11
120
363
454
178
624
859
228
916
678
249
175
741
597
507
109
793
363
752
588
286
909
934
993
639
215
468
629
300
854
755
989
445
585
54
780
920
733
139
387
784
398
545
201
772
963
958
650
861
14
502
819
841
501
254
261
492
936
286
986
504
464
965
631
770
888
16
504
64
115
67
530
382
42
16
136
429
580
576
749
848
401
782
906
763
969
71
935
136
621
797
780
260
770
678
832
416
773
726
566
374
682
677
356
929
836
790
108
136
266
163
240
216
924
389
108
413
70
448
179
185
526
252
151
227
109
105
701
770
269
685
786
493
860
855
213
159
992
695
716
796
158
711
932
826
122
67
455
57
634
48
654
868
651
673
13
220
602
545
574
376
212
575
463
306
521
150
606
832
41
722
447
461
450
516
921
765
819
286
976
847
118
569
648
166
702
944
90
505
517
138
953
381
15
657
222
539
157
829
952
494
415
737
332
247
387
559
164
419
522
265
167
50
406
426
457
198
299
159
201
341
882
858
701
241
687
431
113
619
308
191
585
497
283
452
863
505
498
119
293
801
62
256
720
529
861
689
15
862
430
202
798
777
350
762
485
667
107
534
960
780
235
123
7
256
632
640
149
240
89
655
680
121
494
70
492
478
628
266
773
718
163
598
751
693
315
487
466
830
541
893
962
420
854
911
400
763
601
598
330
782
980
918
760
617
240
856
732
401
184
338
829
129
604
597
385
94
273
994
241
803
414
135
535
708
906
302
375
348
62
865
237
700
498
332
594
630
483
126
553
343
142
41
307
649
100
518
764
658
439
572
40
271
333
231
420
437
387
807
977
697
455
188
303
975
712
608
688
922
817
40
656
375
300
407
991
659
705
339
232
524
609
77
163
473
352
408
22
133
223
270
945
109
872
735
726
418
925
624
60
260
140
928
303
319
945
539
199
255
881
538
192
342
277
435
676
407
496
296
16
414
200
669
212
11
386
566
876
339
411
540
559
237
797
72
543
735
405
56
917
387
459
184
148
560
996
386
350
279
533
334
191
591
137
180
660
722
638
344
961
464
408
175
429
346
981
731
681
152
847
769
177
245
847
275
989
976
996
481
858
202
990
423
553
528
314
485
130
464
669
304
936
107
351
627
129
308
374
423
8
547
334
621
689
897
489
334
525
525
45
333
212
149
427
830
669
747
151
332
669
623
1000
464
663
588
370
144
401
646
44
453
769
76
124
870
716
177
569
247
274
327
564
109
462
149
957
340
268
787
131
347
42
267
969
100
323
898
21
248
584
510
590
688
390
59
219
520
212
826
974
353
497
979
993
278
630
742
16
660
90
806
980
88
482
902
314
450
79
627
279
108
185
753
540
587
948
209
175
13
192
872
499
785
485
99
403
612
910
674
384
72
983
442
92
360
700
491
2
691
984
123
778
160
694
254
993
482
900
114
143
156
373
274
306
64
93
123
362
429
107
852
453
339
254
915
204
771
132
712
315
146
144
916
298
977
653
497
516
102
51
968
181
312
42
810
630
935
531
345
48
90
328
542
751
851
265
388
329
544
452
473
184
755
129
387
506
397
972
392
291
355
784
553
798
828
195
210
743
461
394
211
613
751
928
818
712
39
284
571
925
576
324
675
769
791
633
687
945
890
498
353
508
352
527
469
759
727
913
546
152
364
954
866
801
354
700
266
693
18
582
576
328
745
403
223
295
822
387
904
273
182
830
623
10
690
479
620
138
635
994
872
68
614
691
948
806
875
318
929
251
496
781
28
424
475
596
290
131
929
320
482
750
128
389
848
194
979
587
938
618
972
828
109
106
270
82
627
392
828
27
512
655
929
457
415
579
538
564
829
128
174
965
894
983
831
733
903
149
617
765
372
42
381
534
183
246
573
638
903
252
1000
591
828
665
918
981
701
815
121
476
336
199
310
131
554
908
17
127
966
57
824
370
113
216
419
334
413
42
285
188
152
628
461
480
502
546
867
626
179
237
132
15
863
151
755
801
995
36
658
358
845
836
915
925
81
961
485
186
150
77
278
414
914
170
801
314
921
343
885
909
576
707
759
633
280
772
799
304
277
938
838
804
553
37
831
93
653
415
7
663
661
675
380
641
941
55
631
558
428
398
941
195
413
775
281
57
789
160
77
720
667
984
883
748
132
987
918
900
645
584
881
81
272
854
461
871
490
347
334
459
782
124
263
540
611
852
127
40
684
308
282
544
549
337
728
953
728
187
952
209
543
141
148
885
750
540
777
69
868
614
52
245
849
21
998
795
343
641
186
371
367
937
128
595
600
186
540
471
918
957
421
444
988
485
932
269
947
20
557
699
224
789
945
561
559
952
107
950
147
808
366
125
608
577
571
178
202
240
590
713
283
332
53
564
502
36
628
67
681
652
849
511
593
291
678
166
103
659
525
737
277
916
404
172
61
904
273
497
118
465
377
771
236
203
591
284
474
788
331
873
880
823
606
576
192
382
174
872
383
535
563
475
313
593
925
929
21
318
314
313
405
73
998
979
94
721
825
552
387
115
523
429
962
157
30
573
962
783
611
741
713
646
560
171
14
967
752
366
445
781
164
857
586
762
770
732
406
935
868
271
305
816
8
247
483
973
161
325
365
542
663
521
770
999
784
868
430
339
465
262
205
896
896
990
70
207
104
557
526
689
685
273
600
424
96
497
16
992
720
586
422
146
7
345
791
64
592
242
250
108
214
708
608
243
649
616
818
797
625
427
438
772
871
542
934
751
37
131
291
298
196
74
13
881
60
667
29
545
826
453
419
951
771
861
158
959
348
342
263
622
543
328
836
308
683
687
494
695
708
265
585
540
190
762
418
454
983
460
446
399
473
242
984
250
848
954
563
575
670
388
480
720
282
79
442
405
310
670
469
290
543
808
358
399
7
409
111
853
926
655
670
107
561
282
209
765
652
545
6
93
255
751
604
556
341
396
586
46
410
773
782
5
723
345
140
287
493
351
805
459
522
835
189
194
320
773
925
563
693
24
650
327
177
612
499
771
427
214
30
243
885
826
76
300
606
261
671
310
127
531
746
416
642
176
807
3
580
293
140
198
850
369
406
478
658
1
678
164
819
249
43
422
906
680
940
425
416
127
285
475
363
793
254
241
381
640
340
710
426
896
895
130
673
150
944
972
32
708
470
935
994
820
725
78
198
931
392
475
171
326
551
149
221
412
522
688
315
418
568
598
101
463
370
410
948
784
953
544
964
440
439
174
500
913
587
664
561
892
612
686
875
934
160
765
127
881
656
866
993
623
435
578
161
295
240
601
504
40
660
565
913
236
57
598
75
501
369
739
655
816
923
992
948
852
63
780
4
951
969
601
685
229
499
956
874
968
283
958
273
792
585
630
851
128
617
543
18
110
120
363
25
374
21
827
912
181
856
885
611
912
528
48
380
267
631
457
881
427
235
854
600
27
561
391
223
50
405
203
819
636
524
743
377
375
458
170
326
856
421
462
137
132
945
559
30
266
968
496
89
336
895
454
803
99
992
637
172
1
122
116
21
413
469
130
112
738
372
855
968
526
811
293
40
844
423
795
52
944
111
693
834
680
486
647
982
233
365
630
995
455
545
907
347
531
882
960
101
722
470
120
273
680
392
515
139
179
46
93
71
155
577
651
279
606
258
217
77
278
18
687
866
23
454
276
75
403
793
254
711
392
259
404
15
30
224
830
954
455
331
76
919
74
496
970
68
530
343
276
180
718
147
10
798
364
797
236
654
580
671
261
89
349
526
406
245
143
706
965
295
711
12
520
882
647
563
522
229
481
867
934
94
919
72
775
861
345
108
606
580
823
990
356
686
700
71
384
470
314
458
377
106
496
90
469
195
279
242
970
332
699
301
231
142
641
749
460
644
452
180
745
515
417
61
181
36
281
689
703
93
703
461
211
554
902
128
596
793
777
208
536
883
486
69
313
226
788
532
430
978
456
979
545
663
740
103
46
786
135
400
643
94
711
445
510
372
850
791
820
304
541
54
28
988
306
407
855
139
415
186
771
894
316
817
669
390
77
569
570
972
231
929
446
966
611
527
672
445
631
640
172
298
12
241
101
248
127
466
742
122
983
150
370
844
347
768
40
95
693
724
579
549
440
442
622
902
428
96
158
657
686
180
903
785
357
292
788
915
28
670
994
674
862
50
251
164
626
339
581
334
146
467
251
171
759
524
495
223
67
955
450
976
646
151
854
960
417
249
261
299
42
322
942
612
90
461
157
792
660
390
205
192
856
407
513
213
781
411
11
69
696
704
259
801
617
72
68
202
895
370
860
415
256
462
658
383
371
919
380
232
287
297
52
903
923
187
680
56
425
471
784
331
374
381
984
545
715
35
656
319
804
80
356
890
160
970
627
617
339
186
851
770
849
379
979
723
193
64
362
614
903
939
403
835
931
351
417
484
854
750
907
47
153
170
476
117
248
928
678
946
53
760
467
942
592
561
300
55
575
729
596
109
949
891
981
779
99
437
704
843
781
838
658
795
893
250
673
656
860
220
157
53
761
642
674
247
334
296
777
815
610
382
255
102
288
485
956
413
889
315
553
136
364
375
903
646
111
446
146
889
287
392
358
991
898
341
305
114
376
732
855
61
289
63
681
771
364
434
144
980
226
149
691
761
125
687
660
599
466
352
109
923
119
759
196
736
345
145
657
119
659
133
154
860
117
220
591
440
310
741
41
894
822
476
571
837
28
393
87
69
890
228
315
740
840
760
135
1
931
628
829
448
178
545
208
412
434
540
216
353
174
683
376
179
313
351
331
298
515
697
841
635
522
456
821
608
679
565
367
293
191
418
303
615
645
719
453
421
980
22
697
711
392
38
908
152
633
724
3
230
792
937
699
33
908
231
17
726
709
930
234
221
367
202
774
429
394
277
469
721
714
299
735
940
510
569
483
357
648
87
971
465
366
374
415
408
437
521
886
132
195
307
910
61
669
997
240
205
549
131
467
140
880
218
481
228
161
752
333
753
33
358
675
422
829
238
839
807
37
259
534
857
192
197
323
562
771
657
327
235
432
152
27
632
325
665
686
299
285
765
628
142
406
20
576
194
897
23
283
931
116
800
954
325
394
757
336
3
575
637
878
502
223
92
92
641
68
637
91
439
605
710
279
860
701
504
358
893
692
30
128
124
756
614
51
7
235
658
172
508
210
8
783
645
871
748
201
728
112
567
80
782
352
103
989
709
804
835
387
240
283
157
695
629
153
244
909
327
232
191
87
603
287
718
65
174
261
385
985
439
520
904
569
830
233
598
554
140
432
511
424
403
470
952
357
79
312
499
314
813
592
621
305
25
410
102
207
940
616
403
901
431
724
933
156
237
660
974
416
690
260
648
574
92
818
898
903
248
985
910
521
501
51
797
188
782
921
651
744
846
165
257
222
843
97
855
511
834
222
364
462
667
303
362
504
895
946
962
153
44
870
427
281
587
979
6
663
463
915
18
86
815
52
623
279
917
769
106
29
910
408
737
83
81
545
411
894
875
63
387
819
760
48
368
104
334
730
83
904
797
487
286
609
6
497
821
949
869
696
938
719
739
583
628
464
833
821
79
147
404
752
737
626
568
678
625
785
221
233
760
253
465
242
478
984
281
207
482
392
14
975
242
352
355
206
123
149
146
943
318
347
260
9
189
669
267
936
107
171
348
849
281
399
154
46
318
761
917
35
469
43
136
413
622
859
588
311
86
832
251
84
131
468
963
526
80
32
284
213
443
185
91
463
253
807
872
35
248
202
575
898
39
850
113
342
722
971
336
226
644
413
324
405
213
831
368
231
698
650
913
553
937
94
2
839
756
391
507
865
688
363
514
930
272
765
783
691
801
118
95
546
917
303
664
936
838
813
506
68
329
426
819
346
758
28
966
212
693
442
633
223
550
431
61
898
733
480
73
298
556
577
737
360
998
970
135
706
994
802
675
42
548
589
782
272
402
754
601
141
407
806
571
575
999
300
320
862
393
419
367
483
201
860
540
723
187
743
846
122
776
410
780
497
763
317
696
493
381
696
914
608
527
309
702
178
466
411
143
85
797
978
128
860
789
368
464
379
473
865
87
602
20
926
923
655
12
595
814
93
182
204
201
364
80
436
23
327
913
831
343
196
486
9
773
407
788
281
684
735
261
793
514
448
190
28
247
403
4
330
244
774
462
73
204
527
848
256
957
867
342
586
165
600
661
565
793
783
908
704
359
85
358
752
582
984
518
738
22
331
415
718
701
795
500
319
514
435
970
598
412
945
562
247
992
139
107
888
122
898
173
66
671
84
202
533
232
932
391
632
991
12
429
855
500
167
898
194
221
741
803
480
94
13
198
759
321
5
358
647
767
724
248
760
96
471
344
550
823
39
989
296
956
543
536
604
803
95
530
458
819
763
26
784
62
87
955
527
973
897
119
426
672
370
15
46
937
41
182
136
318
963
171
37
624
332
572
708
119
667
740
902
361
82
998
185
542
248
131
750
560
437
932
466
845
393
397
187
96
873
936
99
718
399
614
839
693
128
16
153
47
803
799
116
862
390
363
324
981
399
380
997
203
828
98
654
728
368
434
853
112
800
887
521
747
459
201
570
195
316
532
785
278
440
597
509
948
591
906
238
365
270
723
51
493
766
843
761
820
709
606
762
428
132
853
814
787
304
659
443
87
445
764
172
836
979
599
582
766
149
661
36
767
671
814
981
713
602
739
931
549
728
412
577
930
634
924
16
62
21
444
721
92
19
379
720
583
978
42
446
133
682
269
825
169
1000
448
484
299
750
373
420
392
961
190
51
718
745
439
347
72
755
883
676
788
529
363
35
956
90
388
595
939
819
579
887
512
994
328
461
556
354
265
590
250
729
200
422
136
54
224
8
277
88
559
800
952
747
561
540
975
260
21
924
803
291
509
107
10
737
75
856
628
193
35
142
70
959
940
61
52
24
68
235
35
670
946
258
146
251
475
337
482
165
199
1000
974
285
153
648
709
914
493
733
710
844
827
606
714
252
727
363
387
962
455
601
784
97
304
598
564
221
308
322
639
905
256
586
486
38
132
878
297
315
80
615
515
97
974
85
84
195
522
898
888
250
548
564
475
42
810
711
117
469
252
550
680
950
48
406
561
689
209
548
161
592
788
62
988
610
918
240
492
935
4
801
163
810
419
274
260
635
949
36
778
730
41
848
904
327
656
169
261
377
135
218
701
261
44
507
277
824
379
530
286
993
892
422
956
833
530
620
424
94
150
21
170
191
736
681
923
68
335
839
392
590
766
934
884
959
3
338
941
124
774
704
716
332
528
219
673
752
467
536
572
600
675
827
410
286
777
264
156
895
716
154
659
760
410
154
60
947
68
231
425
249
885
534
61
673
695
905
167
464
915
548
61
434
757
290
195
724
269
927
585
171
254
400
66
119
442
924
15
869
648
734
768
953
780
813
999
65
695
841
759
806
899
582
686
352
985
128
149
783
534
732
740
86
930
427
572
788
154
309
286
751
174
98
571
917
980
586
229
701
674
685
522
276
257
9
614
216
946
398
406
837
899
331
957
101
200
923
994
135
864
65
717
260
358
361
217
908
880
645
344
984
198
285
804
8
375
951
569
874
110
202
460
151
741
89
867
641
196
932
159
367
272
568
270
208
710
683
330
196
415
264
953
847
77
825
11
994
170
831
267
291
965
650
249
912
784
440
149
40
173
627
309
382
68
989
86
307
299
925
497
207
981
191
52
319
440
220
635
563
318
178
98
926
411
65
497
515
639
505
522
727
216
329
752
867
786
724
791
173
763
486
229
441
604
889
647
343
62
765
529
98
737
673
66
364
394
442
307
102
601
958
996
673
184
778
769
645
911
67
58
581
576
382
181
627
359
19
626
842
937
25
436
12
319
456
967
198
792
154
1
346
691
136
368
84
912
651
764
276
237
142
417
970
557
584
613
142
37
186
879
38
105
984
772
973
912
674
828
155
558
912
209
489
952
406
966
340
664
339
667
905
473
71
313
200
637
596
112
662
66
924
675
19
725
440
647
378
550
287
590
475
101
973
213
624
989
780
653
190
826
958
591
360
98
411
417
554
866
291
550
84
679
936
280
554
403
651
151
72
933
114
43
548
930
597
534
238
767
775
66
193
866
630
732
498
468
824
184
993
681
993
310
679
335
586
827
166
765
229
875
327
161
142
11
785
537
755
776
990
655
535
119
411
526
995
524
812
172
4
664
664
415
811
740
506
384
634
447
443
283
285
695
64
718
70
784
754
537
89
717
755
715
186
746
352
277
985
40
268
643
858
561
650
63
220
879
73
989
228
629
609
351
829
797
325
696
116
807
558
57
116
646
902
253
457
902
161
16
846
648
415
7
929
543
980
291
897
417
250
294
144
853
341
608
409
958
998
282
68
610
463
371
692
957
840
608
542
808
63
19
405
915
726
194
74
800
881
702
799
913
427
843
272
455
835
516
12
70
792
488
583
997
782
786
712
990
794
194
212
446
57
139
594
757
198
293
390
855
281
346
503
260
925
250
358
753
127
182
207
923
456
135
744
476
1
786
77
121
848
803
186
310
853
257
218
844
204
162
392
624
570
484
784
401
662
116
993
415
655
437
539
233
258
78
854
947
162
414
896
103
229
140
736
401
73
984
975
253
587
278
440
724
598
602
448
296
57
198
850
85
80
158
179
914
707
694
498
634
489
914
943
654
843
619
559
475
686
607
730
372
13
848
413
35
935
672
417
134
199
830
176
255
353
843
815
616
524
610
834
274
272
613
371
303
59
410
887
538
703
294
33
54
566
164
640
507
372
664
62
806
251
592
530
384
31
441
801
495
868
685
151
546
994
65
664
479
751
731
854
595
119
540
888
18
598
213
72
219
680
311
785
612
114
224
773
272
846
421
548
246
811
243
673
758
713
435
851
848
577
390
107
647
107
870
778
504
830
524
713
693
612
118
852
234
340
803
306
682
522
99
176
381
57
553
602
783
690
136
956
910
522
584
673
937
459
789
931
176
697
287
294
449
156
631
477
949
291
154
561
212
842
218
404
753
921
559
429
242
270
722
714
835
677
937
73
449
277
979
843
275
947
699
202
817
47
943
152
92
550
524
737
416
965
766
696
343
548
865
481
938
13
17
524
554
283
797
684
652
920
754
47
23
492
577
654
994
513
459
236
779
583
501
794
180
993
56
660
276
392
963
722
542
69
512
659
106
8
783
355
500
189
758
137
275
505
209
125
359
287
912
781
865
649
180
689
338
790
48
692
114
933
717
808
526
815
995
724
220
494
571
274
677
777
913
34
423
769
468
26
25
857
621
621
165
964
582
863
548
50
928
868
369
656
94
387
352
730
445
362
161
132
946
76
97
957
623
507
552
277
159
631
656
976
6
700
917
107
326
989
415
612
931
95
295
272
143
651
898
525
164
217
820
106
91
212
646
525
221
948
837
76
634
249
521
409
350
659
501
688
547
951
858
27
414
503
907
191
230
135
150
525
168
134
56
676
133
561
185
994
673
387
204
373
643
658
806
948
813
668
402
251
63
88
739
378
185
91
264
251
517
776
137
299
827
626
284
716
936
297
792
33
522
766
227
875
444
775
174
658
691
505
424
444
794
686
729
346
78
625
995
683
695
207
108
536
745
575
316
496
146
999
263
164
97
459
284
396
154
587
574
387
936
896
163
421
436
712
433
528
775
777
77
341
963
312
973
181
906
193
457
724
484
20
857
701
954
41
962
699
364
327
299
519
909
93
714
512
371
805
763
3
884
530
869
176
263
28
989
809
58
230
838
826
290
97
291
942
581
310
705
600
987
900
298
979
402
708
643
128
846
517
558
151
261
816
380
953
758
398
687
258
348
432
12
487
319
218
994
616
351
556
724
312
369
560
735
489
894
797
202
923
383
802
455
719
592
414
807
233
566
868
65
509
216
248
795
435
780
736
595
569
715
83
146
46
645
837
797
71
67
193
792
207
453
752
15
140
208
96
309
590
741
846
15
816
527
789
354
479
635
732
678
710
657
980
417
860
344
712
755
803
568
86
681
607
396
589
93
98
172
21
35
90
502
496
13
82
962
36
548
791
143
630
773
204
395
139
959
757
247
48
274
824
20
862
970
977
585
906
458
348
592
383
403
10
718
795
54
495
655
296
523
445
647
61
608
913
326
529
70
32
494
262
971
589
288
179
806
559
848
152
669
782
207
303
629
815
637
834
830
404
79
915
547
205
628
977
603
88
233
711
78
874
937
254
226
374
991
305
854
395
139
374
194
747
206
980
505
378
868
367
172
450
187
230
107
557
991
18
617
312
730
616
745
212
749
586
241
29
260
701
4
988
453
205
783
610
302
78
426
459
613
616
732
943
795
779
242
998
613
121
947
693
965
559
919
814
282
902
349
986
758
849
345
213
996
104
92
580
63
382
671
422
150
322
913
499
224
763
141
570
135
390
575
307
567
513
441
638
170
614
575
509
936
342
377
477
605
847
551
771
484
683
929
217
558
45
63
912
188
748
983
651
7
205
661
885
851
628
294
427
688
820
443
206
552
211
477
133
417
262
491
521
810
933
76
594
707
719
900
287
927
627
21
982
783
590
297
764
263
2
6
560
355
486
38
779
427
512
613
138
787
221
510
961
615
632
209
583
485
448
203
424
598
826
932
963
660
826
497
74
86
703
309
149
797
872
317
27
464
156
316
965
457
880
101
830
125
481
919
218
278
565
744
440
913
763
401
184
281
315
449
178
385
36
36
390
846
207
664
107
906
994
889
766
976
166
523
542
795
271
820
505
705
929
473
654
25
556
967
210
769
696
10
372
208
67
277
160
902
619
701
34
851
152
875
782
369
519
917
506
131
35
329
654
597
478
951
718
669
981
109
621
27
205
454
822
39
391
784
865
535
306
352
439
14
607
776
3
52
877
688
693
769
437
696
544
229
31
39
991
544
679
589
295
280
293
467
754
497
155
621
540
346
971
147
570
741
28
13
78
7
920
117
451
797
422
275
452
803
340
827
175
956
615
45
947
871
491
398
905
284
326
70
198
70
490
783
551
270
854
148
483
198
558
242
573
333
109
62
25
177
390
823
192
703
787
827
911
302
522
752
208
388
213
782
427
933
845
935
885
243
630
345
922
239
666
974
618
347
940
466
505
848
953
384
315
213
180
92
180
528
663
939
734
533
236
182
239
261
299
317
209
471
586
88
997
314
80
471
472
740
71
342
200
182
388
403
545
935
980
143
691
504
366
270
892
876
950
121
170
332
821
985
297
947
475
148
115
347
832
759
171
666
21
264
209
898
696
245
245
969
26
21
861
977
115
206
863
961
311
783
627
487
765
904
320
106
653
794
647
417
639
609
967
108
564
59
398
797
816
927
18
963
524
343
371
530
547
855
296
918
199
832
488
484
797
755
346
338
411
265
346
434
644
651
643
704
878
584
619
744
182
555
836
242
999
398
207
875
810
716
251
912
190
821
950
103
69
991
96
753
562
483
1000
51
407
752
83
822
941
750
187
902
522
10
421
203
506
480
941
399
181
679
391
845
571
843
625
6
648
154
950
194
270
16
351
836
139
638
88
885
171
806
603
208
913
882
875
950
90
488
270
957
929
270
422
304
618
433
896
843
194
426
202
496
135
300
247
691
195
761
445
946
328
863
526
110
76
651
559
177
491
759
802
915
431
152
789
764
111
724
506
604
881
445
563
1
525
99
64
521
814
427
242
513
654
676
999
546
936
125
225
315
100
164
91
445
533
866
617
36
105
848
415
230
582
363
918
321
161
224
358
151
104
165
436
625
275
669
922
173
418
127
390
912
175
445
924
70
168
833
901
968
954
592
894
469
288
153
329
350
947
498
779
498
287
350
673
177
840
216
774
855
502
423
976
273
289
811
858
454
218
601
952
395
578
299
874
981
792
173
293
528
57
972
236
988
183
75
353
493
418
167
589
388
521
912
180
349
47
772
2
453
626
337
88
338
983
21
546
694
609
970
242
352
262
391
302
226
953
270
946
155
648
629
176
484
717
57
608
874
36
234
61
399
766
581
575
459
37
925
209
411
157
345
301
138
521
908
880
913
85
81
562
77
130
992
598
2
42
572
657
751
40
842
612
655
54
237
821
753
484
944
369
670
181
660
296
37
805
54
109
16
638
486
770
828
69
206
892
433
205
357
142
694
493
564
649
399
811
824
819
507
217
681
87
843
434
397
1000
294
189
949
533
189
726
167
658
208
178
315
43
623
982
680
175
109
190
539
364
676
379
973
838
493
800
561
577
501
600
969
648
765
177
769
502
440
259
639
160
77
815
229
207
764
759
612
298
238
244
163
187
686
485
170
364
424
238
238
57
12
470
778
683
674
292
467
844
47
934
612
615
423
384
757
187
620
341
715
861
544
293
431
65
331
856
757
296
648
994
245
846
405
373
528
769
631
904
730
765
735
475
621
592
695
978
883
155
8
998
973
652
349
959
530
9
9
82
180
386
106
265
898
712
471
849
778
40
891
313
202
21
85
116
895
949
373
275
292
626
533
773
976
778
719
556
676
870
655
730
483
932
524
498
450
472
122
578
759
606
870
87
946
321
211
348
479
159
793
686
155
680
566
26
358
792
609
50
209
379
40
710
54
720
868
163
493
840
998
555
430
310
905
640
162
992
676
904
606
870
227
744
151
439
479
244
479
76
242
262
931
437
311
887
626
217
46
772
613
525
321
518
786
730
265
66
153
888
659
998
322
727
202
759
748
789
122
86
361
471
753
331
697
644
785
949
523
13
851
151
292
581
3
623
420
439
422
225
536
553
377
817
351
438
82
703
731
351
558
688
872
154
72
419
256
91
994
515
156
512
168
961
64
7
3
376
334
501
552
71
715
633
753
257
227
92
885
365
981
710
43
215
159
769
67
669
343
391
982
506
769
879
422
465
914
589
933
801
993
236
308
239
591
533
333
915
655
723
367
741
501
883
258
662
336
810
927
417
20
971
842
755
439
225
279
551
933
7
912
875
641
218
827
878
533
332
457
327
145
134
340
679
699
47
790
905
416
246
801
643
263
603
516
872
321
57
591
5
224
179
678
199
856
531
992
731
589
944
680
458
872
958
250
780
909
512
863
4
494
404
688
688
809
192
835
361
146
966
606
25
52
860
938
931
363
278
950
471
953
526
436
438
808
978
4
535
177
940
321
754
187
97
572
202
241
814
818
980
967
569
408
999
249
491
979
954
89
328
870
280
683
141
960
558
88
695
42
730
285
825
858
488
313
7
809
360
332
1000
209
358
158
704
624
518
865
299
522
310
477
331
957
689
666
671
456
502
634
145
665
84
29
214
500
125
831
311
769
316
635
271
276
858
657
872
371
655
76
643
832
876
45
963
714
653
832
976
518
840
30
964
608
148
750
679
336
479
17
563
719
912
325
927
855
692
471
927
459
476
332
614
68
287
193
439
458
891
621
305
795
767
637
710
865
451
111
542
500
802
910
825
964
637
287
82
640
286
412
19
838
819
764
886
897
115
264
261
78
464
700
956
913
93
971
427
767
893
123
351
404
593
987
43
231
834
460
950
732
892
105
790
299
309
836
809
343
297
854
228
52
609
928
193
645
479
325
462
305
391
428
599
214
646
103
682
312
156
425
379
427
455
228
810
426
631
249
764
901
810
373
689
704
824
569
398
326
931
638
534
704
778
823
702
588
351
671
602
947
278
250
642
268
724
11
278
794
49
91
755
886
596
848
48
725
201
763
491
524
534
617
53
253
944
42
217
655
250
102
187
963
853
574
470
329
619
984
954
421
180
247
266
46
745
993
518
928
5
238
585
959
447
113
682
374
235
781
325
244
834
487
732
664
720
955
336
768
846
972
360
466
9
45
350
415
915
510
127
264
512
278
900
675
136
741
160
951
94
978
543
368
598
530
63
465
361
457
996
616
756
345
220
183
163
166
986
418
11
651
973
85
89
936
923
451
869
748
367
905
963
342
708
956
341
734
424
782
610
490
273
822
466
513
147
116
432
790
673
231
115
29
728
655
529
504
821
478
452
142
641
19
422
129
194
833
719
837
604
170
614
904
91
548
220
674
596
554
537
6
278
386
657
678
394
917
631
225
98
275
218
61
346
12
588
172
388
951
46
493
319
709
35
327
764
710
1
810
45
228
154
462
138
627
848
357
305
499
35
259
512
856
269
393
688
864
763
161
413
872
345
212
839
642
513
759
533
775
399
933
445
263
181
270
409
16
349
120
388
981
308
904
231
151
962
651
786
394
321
167
104
498
651
538
869
266
370
408
346
805
725
588
911
377
259
157
658
292
207
113
661
408
269
54
246
676
650
95
985
83
864
423
228
55
564
489
680
63
572
785
902
749
372
592
663
331
546
869
720
473
24
644
992
50
581
921
34
449
672
100
427
149
610
354
960
320
47
239
487
96
935
43
933
986
434
37
216
631
732
827
792
718
388
488
101
419
578
998
465
161
591
785
865
872
40
851
605
107
481
51
82
639
583
569
740
124
565
533
830
478
315
26
781
427
549
445
819
525
350
275
967
595
683
879
733
172
798
803
574
997
965
467
710
69
656
824
979
39
97
710
193
966
118
192
907
606
343
153
590
396
76
706
936
294
677
846
464
431
829
873
606
316
870
738
202
4
267
433
701
169
404
959
372
533
60
185
546
463
374
147
225
836
608
923
395
481
744
256
54
568
781
529
240
371
636
507
351
687
714
527
631
63
515
434
998
663
178
648
334
273
436
167
910
439
302
203
909
225
737
407
881
369
647
318
543
932
832
751
548
629
932
334
710
168
978
298
713
834
896
917
510
481
191
718
458
853
100
686
743
864
679
200
775
56
662
400
80
958
447
956
657
493
206
18
882
880
975
217
863
720
545
168
520
58
99
881
816
289
870
834
274
673
502
256
331
115
448
321
140
583
452
561
144
230
127
774
123
832
688
110
435
639
137
824
863
109
590
369
817
288
978
156
652
781
39
292
479
373
409
45
205
347
595
635
462
473
801
163
735
440
909
148
257
255
380
209
189
728
494
841
189
732
131
166
712
341
260
741
301
319
377
230
680
676
455
816
677
169
304
706
877
699
908
996
432
528
954
448
650
105
714
461
808
105
456
604
136
948
762
625
99
683
509
756
865
612
744
492
350
468
394
728
353
224
546
312
37
914
28
623
497
883
159
703
199
9
830
898
860
312
511
677
710
259
429
508
172
801
860
241
663
862
468
440
649
547
639
498
64
815
31
175
928
765
915
416
299
924
468
882
738
172
828
713
77
981
626
398
610
715
684
511
804
574
766
291
217
656
573
689
609
278
674
559
187
366
674
130
454
222
754
763
457
465
629
255
61
250
101
647
498
142
639
553
595
190
835
549
13
794
167
10
319
949
220
144
915
327
412
618
680
428
325
332
688
751
915
400
516
504
258
312
445
913
984
614
368
554
234
147
282
502
789
64
81
268
2
370
746
665
312
704
162
736
400
438
509
873
511
946
599
49
53
67
573
883
372
361
102
899
491
773
596
909
718
685
965
923
198
150
155
381
945
323
14
769
369
694
56
886
55
762
342
130
390
226
988
165
648
573
798
241
314
211
136
283
760
931
419
550
848
521
560
320
695
831
281
591
621
450
441
215
237
409
468
260
763
27
504
610
903
72
109
10
46
931
233
817
113
337
707
680
124
551
669
273
435
563
196
973
630
6
909
84
290
15
457
791
154
156
621
537
775
911
222
943
375
929
151
678
479
403
605
943
856
492
75
334
453
645
683
903
288
79
253
179
726
394
866
742
180
528
742
720
999
804
988
221
290
821
125
302
428
351
343
517
295
178
111
509
634
52
112
349
484
517
471
567
329
421
894
874
483
315
651
611
211
813
297
854
291
180
644
931
16
113
794
827
138
687
944
571
880
918
304
274
944
268
679
869
392
651
201
14
383
223
238
828
1000
283
715
320
848
130
993
417
646
587
922
495
799
236
928
167
790
95
788
895
306
592
273
674
206
195
976
631
768
20
467
886
209
27
360
454
105
185
31
257
183
126
468
544
927
340
195
171
586
964
303
197
461
528
339
213
800
837
251
661
240
317
604
173
483
757
31
585
841
341
236
891
317
289
898
842
178
212
513
297
293
492
554
699
130
613
315
272
932
411
472
583
513
595
690
190
80
774
590
923
677
413
984
247
181
838
593
809
233
420
378
949
160
544
218
462
698
843
901
366
323
419
314
743
58
482
264
23
913
898
592
195
537
633
88
532
211
986
289
361
76
784
364
332
341
442
196
354
300
892
220
157
154
907
750
929
995
282
337
83
857
655
162
539
349
485
586
277
263
891
775
115
503
538
724
805
819
775
122
563
153
576
231
120
797
583
368
197
243
755
615
81
299
709
128
632
11
797
772
633
977
406
830
837
902
724
236
491
588
456
112
357
134
572
389
465
811
193
938
947
914
143
972
264
943
552
401
89
593
83
489
911
388
73
419
139
271
853
304
131
72
35
778
101
622
380
554
306
177
139
229
247
957
450
178
893
855
431
601
90
798
134
657
382
797
374
132
438
485
804
302
189
807
256
471
517
573
539
157
78
790
356
77
407
55
968
865
977
773
540
943
276
671
855
68
312
877
225
880
147
821
979
180
214
368
869
797
197
856
97
607
206
196
428
702
808
771
59
758
253
652
449
359
880
554
363
415
266
43
724
835
131
726
705
306
439
542
687
366
365
839
321
954
26
584
967
277
972
942
180
145
417
468
791
887
122
294
322
581
643
67
150
623
402
839
890
567
644
759
896
796
891
217
669
799
952
20
228
743
892
326
164
601
609
274
198
292
838
705
533
177
476
935
204
768
77
259
922
719
260
766
618
972
554
96
1
456
896
943
986
876
606
495
745
961
139
493
481
954
376
272
781
322
475
972
515
380
570
69
828
985
723
554
715
549
552
330
45
362
938
901
658
610
18
984
339
546
472
477
69
990
728
111
920
688
317
195
380
103
47
105
670
900
84
536
853
704
270
99
118
742
241
538
672
595
981
683
73
634
459
308
692
641
921
176
217
777
195
937
763
304
125
975
206
416
865
972
809
147
286
746
84
513
225
837
90
23
613
487
60
185
818
845
316
897
653
718
941
466
609
704
544
514
822
330
788
246
163
650
34
370
639
856
577
453
981
609
483
692
882
185
929
814
865
32
326
379
179
991
205
783
411
293
14
124
757
387
519
464
8
805
457
154
338
593
462
607
945
229
49
320
422
613
605
17
497
444
962
470
455
213
56
955
99
157
622
326
602
697
651
353
971
304
549
327
127
280
554
948
812
628
987
120
614
44
335
641
421
93
4
690
517
772
817
682
358
16
974
306
778
167
245
505
17
67
632
763
498
235
581
291
710
533
121
611
911
835
968
608
638
478
705
332
127
684
676
684
861
723
77
682
410
329
70
168
615
748
438
642
953
850
401
455
613
952
768
686
410
322
480
893
174
888
977
339
655
303
529
478
305
379
840
205
525
861
757
847
92
657
916
951
515
928
470
667
16
919
863
935
678
970
759
742
58
951
824
432
218
275
69
421
710
696
816
691
502
359
203
150
240
940
297
243
492
263
554
233
849
479
330
203
831
759
624
149
559
437
29
495
70
751
127
992
959
613
206
222
772
355
224
887
173
7
400
637
492
474
697
442
651
929
704
417
855
842
113
579
663
314
86
199
236
840
264
331
599
157
99
585
769
590
457
422
433
206
190
78
681
90
438
728
983
307
5
648
181
428
5
942
808
41
386
886
403
322
612
22
876
560
973
963
131
532
518
266
347
749
591
837
301
880
273
86
101
130
855
427
515
936
599
815
860
129
651
697
57
603
962
131
34
624
441
880
148
149
400
930
632
893
547
271
428
438
375
726
874
385
857
317
907
388
744
917
353
937
620
953
868
921
109
494
861
331
248
391
462
927
126
23
254
361
323
821
986
14
557
990
955
770
213
728
81
54
118
833
960
723
981
784
331
810
439
248
476
713
521
528
21
144
660
599
532
26
77
276
13
599
488
510
193
176
594
984
6
348
754
986
233
952
558
9
653
802
771
623
379
962
259
987
276
387
49
756
494
830
658
269
169
258
161
621
312
437
268
641
727
972
819
863
582
842
743
267
889
389
450
973
744
795
88
75
631
323
837
486
487
967
672
38
501
712
608
19
821
308
466
55
435
314
643
485
504
167
183
394
332
228
685
66
961
69
253
900
145
722
711
774
31
305
792
427
457
169
863
677
188
714
9
198
792
94
998
135
67
309
716
58
147
604
142
619
429
646
867
816
480
725
407
943
924
67
313
144
144
414
182
1
259
233
177
725
511
254
624
328
640
563
548
632
265
130
781
81
606
505
408
111
103
366
865
256
602
754
967
263
846
132
505
245
922
836
832
295
178
111
9
38
876
682
699
330
514
712
953
674
295
109
466
954
737
341
630
765
742
325
977
982
785
501
176
171
33
880
791
135
325
748
418
168
941
686
675
584
10
756
735
678
194
17
738
582
59
29
503
406
122
621
371
625
133
17
905
959
580
343
444
856
760
658
167
276
1000
907
415
675
796
621
524
964
686
750
278
751
650
766
451
352
723
44
540
898
272
582
985
368
104
316
634
525
140
645
159
548
942
297
466
611
727
334
876
783
886
902
995
418
197
358
755
609
90
481
47
395
314
836
759
150
365
741
770
979
795
965
655
23
367
976
421
259
608
542
600
802
932
510
395
691
944
859
414
864
934
485
688
350
857
736
336
708
267
400
207
395
805
722
306
62
814
34
606
723
583
725
94
388
532
662
583
18
387
588
801
588
994
698
801
646
999
397
553
9
20
155
860
103
323
518
432
78
245
583
9
976
772
649
941
148
756
366
507
631
231
398
562
377
138
528
823
67
604
167
195
743
564
437
84
658
155
341
545
506
775
60
471
739
159
79
746
711
81
662
458
237
587
202
775
560
723
78
104
801
811
964
461
739
236
985
793
154
577
716
136
26
654
779
115
610
729
733
227
765
682
985
813
960
419
737
347
38
198
322
964
200
798
861
677
619
688
838
828
796
420
99
696
40
496
730
34
444
858
493
559
348
982
783
35
535
252
587
672
391
964
531
2
782
795
911
261
715
58
567
586
711
387
522
996
390
764
633
226
985
946
861
962
375
438
379
922
752
114
457
533
222
480
948
658
485
348
242
944
226
387
773
887
20
633
490
617
339
502
239
773
743
310
667
541
434
592
84
99
143
741
688
254
757
617
719
20
175
827
378
232
635
291
822
99
154
588
125
729
788
310
881
285
126
317
28
381
815
362
564
767
928
26
32
105
691
267
67
885
396
195
830
121
362
875
832
508
421
33
561
117
753
584
279
574
818
776
558
883
798
586
453
704
209
721
667
956
292
196
720
69
381
15
926
66
681
906
917
941
825
425
592
457
90
992
587
597
411
573
819
358
191
814
216
505
407
381
475
175
745
156
587
964
300
718
894
195
881
231
674
639
131
473
565
853
462
205
700
638
284
559
38
868
115
356
265
85
960
573
556
791
753
237
682
353
773
110
197
774
674
447
921
378
184
960
528
606
573
883
800
738
732
688
59
313
40
573
324
423
263
319
3
887
383
473
308
461
616
139
112
925
858
815
689
839
476
824
620
246
632
901
162
389
347
405
552
776
70
424
39
562
860
801
918
260
169
703
476
274
853
908
567
589
228
437
460
235
962
478
727
812
82
836
206
457
648
284
474
113
481
254
849
851
885
308
686
322
457
673
586
91
968
933
223
745
738
666
654
179
132
386
364
378
571
694
794
379
958
914
771
792
507
844
94
447
759
437
496
254
4
393
355
339
408
661
806
875
910
783
373
808
322
892
834
832
178
891
788
585
540
39
344
985
374
703
382
60
128
544
109
409
827
748
988
628
344
229
688
676
497
911
386
153
286
290
612
905
885
491
847
194
970
944
249
909
589
611
204
949
57
445
879
965
305
347
611
66
667
478
727
32
392
185
370
765
11
152
998
448
301
679
480
941
772
92
162
416
473
414
795
173
473
363
24
827
521
635
944
812
252
219
342
225
793
172
401
582
786
905
10
961
637
499
352
363
295
15
81
836
952
66
254
82
856
131
148
785
867
249
229
890
456
737
851
404
611
539
687
56
518
650
529
372
925
830
827
237
844
449
288
65
588
926
902
70
183
641
9
911
888
621
408
250
875
564
53
297
131
972
568
521
301
245
695
63
498
622
778
259
60
721
557
907
866
300
901
568
117
546
541
220
384
838
547
71
353
485
58
181
923
345
742
818
231
625
554
153
711
377
634
985
548
389
608
665
734
236
114
294
456
206
123
563
756
748
513
328
229
803
376
97
8
140
767
165
477
377
950
19
911
876
685
10
761
130
821
982
385
565
223
748
817
894
102
792
606
313
905
596
848
849
243
313
262
114
792
280
593
569
674
83
666
165
631
405
125
874
187
931
295
201
92
959
585
241
562
152
586
221
225
114
315
752
211
41
80
220
547
754
92
823
857
833
237
787
384
402
423
195
523
357
508
677
380
484
103
939
344
945
496
737
310
91
497
442
976
406
291
774
588
671
257
638
619
105
300
258
122
328
422
949
927
466
173
947
409
654
113
690
317
426
632
813
4
267
281
919
461
657
311
874
778
482
213
969
959
612
922
804
589
788
755
158
482
669
331
423
271
69
452
408
900
956
385
444
87
723
78
764
154
638
563
72
33
125
243
50
905
719
781
339
646
104
47
152
222
668
949
274
201
350
989
667
828
412
93
273
453
939
576
903
684
496
131
290
309
400
353
471
909
473
644
701
75
994
302
955
333
802
208
967
185
130
824
402
180
833
132
449
536
106
748
617
660
658
676
988
839
589
93
501
491
883
89
125
630
510
526
922
617
634
39
63
828
306
724
860
642
329
273
731
983
684
104
806
750
35
595
587
625
327
624
663
134
447
477
985
337
221
610
627
193
794
905
257
464
534
820
798
31
229
274
849
588
212
199
503
18
497
430
135
178
727
32
562
433
928
178
767
48
651
459
1000
461
68
846
679
525
977
547
937
66
490
735
105
462
366
383
635
502
584
535
225
504
750
898
958
486
387
42
303
242
958
374
719
309
742
755
430
153
300
838
657
389
344
188
232
463
272
813
35
50
472
980
167
345
828
117
92
543
457
125
256
76
873
677
841
567
189
921
382
63
918
563
953
830
208
457
503
874
61
701
709
405
192
719
405
670
735
961
260
900
875
663
846
687
883
597
694
720
711
815
219
660
496
227
631
937
833
245
84
325
684
822
342
533
93
996
187
410
710
399
640
44
256
293
835
747
664
395
15
863
633
120
732
402
691
908
758
736
707
990
639
976
966
269
67
210
557
8
481
452
831
666
367
50
126
529
757
257
770
748
335
910
638
23
361
414
153
448
366
761
711
963
191
939
920
459
474
852
967
817
150
876
631
77
856
225
196
483
400
608
562
374
618
53
362
752
992
350
772
903
400
318
20
614
227
955
305
384
874
602
924
509
364
442
977
96
378
5
894
843
537
877
398
917
150
467
236
357
999
514
170
226
915
8
260
172
52
325
434
119
811
660
709
608
273
334
189
654
889
100
142
92
907
380
63
73
674
271
571
747
539
216
455
216
532
498
904
492
398
81
235
577
826
865
1
734
926
145
410
715
100
887
384
984
449
474
455
971
781
736
906
983
93
393
215
707
135
539
935
159
280
417
562
513
467
531
843
517
438
120
232
94
804
61
861
268
781
608
522
805
545
739
592
803
265
469
763
13
821
241
741
830
100
364
751
776
556
530
858
756
410
642
566
526
453
524
148
660
930
627
444
710
410
476
638
420
822
471
638
616
102
588
272
834
8
717
435
822
697
621
713
830
600
972
765
979
979
537
923
68
318
321
68
895
333
419
800
547
990
392
349
115
352
212
444
27
505
213
596
459
42
37
837
362
836
241
994
227
876
109
2
65
990
228
592
23
165
520
921
691
994
810
373
413
511
414
790
881
300
955
882
860
303
318
385
128
193
685
854
663
517
649
612
612
96
687
501
838
293
675
523
687
860
743
403
159
33
433
366
840
417
92
162
811
13
390
456
216
404
137
254
368
736
856
924
34
623
137
751
47
524
427
647
483
450
772
845
445
86
966
903
915
552
741
337
221
40
902
557
442
535
766
532
429
649
867
830
242
377
670
204
450
230
926
945
175
761
402
563
745
4
938
207
533
678
170
400
878
352
810
317
7
902
67
829
506
731
654
967
204
213
836
310
319
725
138
18
298
469
676
879
110
984
528
820
638
902
221
745
446
25
203
460
411
238
96
708
648
141
665
2
675
517
688
47
29
913
302
11
357
721
39
816
604
41
431
915
36
573
987
725
728
508
396
12
612
113
965
30
362
298
726
158
165
937
89
99
935
169
636
451
615
180
453
601
6
203
384
456
998
635
739
467
167
137
253
772
438
607
577
71
930
704
179
988
164
367
263
295
508
480
300
338
131
317
760
406
743
965
938
597
103
237
103
923
604
896
777
27
249
223
619
900
977
19
283
410
617
176
596
292
707
829
600
486
44
959
300
349
91
987
472
338
342
587
487
189
276
430
943
517
845
57
798
996
286
392
859
981
647
687
686
512
616
839
445
116
107
80
770
741
610
46
469
425
463
60
757
56
80
308
774
652
633
220
331
124
869
27
183
427
529
916
649
320
317
653
59
694
479
845
342
579
839
233
36
507
573
555
164
827
70
536
682
977
30
506
684
453
280
16
132
420
912
545
666
468
27
80
937
20
756
905
25
298
243
407
671
538
982
98
521
370
218
318
48
885
134
310
565
932
188
412
584
609
293
159
788
772
473
974
54
576
259
940
282
766
396
895
288
429
307
702
632
432
415
72
53
591
624
795
156
909
188
549
54
894
745
726
988
48
523
880
318
110
572
453
891
531
433
438
484
953
817
472
962
197
727
687
764
338
932
316
611
6
873
627
602
958
882
328
460
300
68
914
288
479
324
816
61
317
735
395
62
899
31
961
571
97
899
44
466
869
646
83
786
238
150
528
967
45
92
141
174
152
147
906
120
742
228
561
798
775
875
193
799
471
570
778
289
869
113
771
243
143
174
86
237
387
808
897
968
986
4
669
673
533
333
788
787
495
367
924
516
474
812
25
469
948
254
444
140
866
988
258
816
296
658
260
453
625
334
464
152
480
214
226
131
609
359
227
525
470
729
644
900
153
328
802
112
580
449
496
20
617
840
923
619
861
130
903
348
383
980
621
684
621
259
664
651
974
998
518
553
369
994
999
28
218
726
354
555
748
668
848
625
635
184
721
139
234
927
349
1000
475
83
246
494
674
840
357
816
78
194
715
20
959
570
106
727
485
769
877
183
363
419
391
628
479
487
908
496
385
348
885
640
470
631
780
675
110
297
433
493
913
442
28
222
408
880
462
190
181
872
636
957
521
303
858
104
62
178
52
272
832
573
918
891
315
78
551
127
877
328
252
885
953
417
453
55
882
894
742
843
190
548
915
689
405
363
923
206
210
899
299
603
849
813
396
257
204
418
347
453
931
971
140
829
330
854
663
722
383
922
835
454
548
96
216
558
440
683
560
95
473
12
883
502
934
732
479
863
703
493
246
102
18
819
373
352
276
678
143
695
836
644
147
502
194
548
708
884
697
235
651
116
184
350
890
451
530
100
451
446
122
568
686
767
695
498
403
473
802
387
582
923
438
400
139
789
963
857
932
145
543
981
840
221
767
229
270
229
982
709
899
589
135
147
795
31
615
391
342
249
637
673
508
284
241
725
122
305
837
340
746
251
547
217
640
651
300
694
100
992
760
532
121
217
654
36
964
261
52
609
695
83
408
314
176
300
997
131
304
342
438
375
527
63
631
177
792
858
322
32
98
616
921
136
805
330
950
667
670
753
679
219
339
274
81
295
705
92
248
153
79
856
779
336
625
163
479
877
869
687
893
523
382
270
827
338
941
996
25
658
554
131
599
712
755
817
639
189
466
587
667
624
575
88
257
794
55
875
182
215
130
797
904
443
485
253
109
125
992
590
235
638
748
988
621
731
511
456
20
791
723
979
648
219
446
419
904
951
454
536
146
321
633
343
635
324
622
79
886
806
314
281
161
308
445
782
789
43
991
986
300
995
515
432
147
237
918
491
883
337
281
14
249
156
586
897
569
453
192
806
224
429
824
775
733
763
728
987
158
761
379
805
129
922
797
45
774
640
80
569
232
753
261
484
234
356
955
632
445
633
553
622
860
439
920
301
599
57
643
482
829
823
888
713
417
306
828
53
133
336
428
157
865
459
93
442
374
338
321
743
573
184
25
677
164
593
648
850
750
20
528
199
219
709
244
970
264
116
808
291
413
717
662
858
817
623
395
979
365
640
987
125
391
196
159
165
352
116
121
668
390
326
582
19
595
418
414
590
147
443
766
898
226
446
730
493
742
7
908
303
489
528
331
301
277
41
245
659
959
116
192
992
58
813
697
917
850
693
592
898
357
625
695
275
705
490
116
463
660
913
940
506
9
840
419
599
603
120
79
692
547
244
368
39
5
46
528
358
533
492
426
330
680
629
945
296
835
411
391
362
953
374
75
587
827
84
853
576
51
873
972
593
676
603
979
248
806
135
820
941
125
711
502
485
332
681
855
763
54
898
4
844
613
597
115
719
385
790
885
698
171
31
15
565
118
913
603
767
244
808
985
297
568
161
75
428
146
144
646
116
87
552
325
736
739
656
284
774
821
106
768
266
186
124
592
24
323
921
728
192
422
720
923
231
46
791
50
238
5
652
555
392
36
929
940
403
284
431
681
94
370
646
368
590
58
231
139
177
136
59
673
559
141
27
102
122
8
158
214
815
524
484
223
427
728
818
195
359
52
807
973
504
18
593
14
420
793
992
163
858
759
359
760
580
520
199
879
565
453
153
718
928
990
199
334
321
299
783
991
138
946
109
351
591
406
42
609
620
3
855
497
609
973
612
729
135
868
91
79
267
453
976
806
516
543
515
503
144
37
945
826
399
462
800
728
221
982
604
984
94
715
587
821
16
597
781
409
7
808
258
817
193
931
360
798
244
612
435
412
892
474
22
89
299
439
418
192
308
405
248
509
967
429
25
418
287
210
658
636
878
646
524
575
964
696
39
324
302
596
631
198
696
725
613
605
103
58
775
700
837
198
406
941
6
429
83
189
92
111
782
423
563
995
796
526
497
713
479
800
456
804
73
94
282
80
733
430
47
83
394
34
134
653
321
539
302
345
7
917
638
542
593
379
499
646
136
110
905
637
845
164
352
637
909
311
675
844
602
892
456
362
204
1000
386
982
640
416
194
957
878
778
8
145
848
376
488
692
75
859
643
588
233
856
64
21
592
181
161
430
678
888
106
575
481
875
411
721
270
146
445
259
368
104
744
685
280
468
683
898
183
475
897
183
132
48
903
95
265
539
493
696
946
424
838
229
41
113
680
385
469
621
670
766
746
398
675
13
508
66
830
324
884
147
239
809
160
128
459
143
387
367
349
539
452
413
423
905
683
288
586
368
203
156
16
78
132
591
4
282
203
346
754
198
524
137
515
156
29
431
912
777
613
679
41
735
92
719
677
756
881
301
965
99
738
849
80
682
1
561
640
413
493
929
102
36
690
596
993
994
770
216
578
378
926
657
472
27
643
446
822
255
725
826
867
447
492
184
97
19
937
893
783
809
628
793
328
14
774
646
761
201
212
905
711
774
16
40
343
473
55
488
106
188
115
10
577
367
130
887
356
789
643
891
752
327
890
443
935
592
795
699
368
40
699
558
558
176
909
763
615
28
982
318
661
908
204
428
883
813
920
37
886
512
189
841
74
483
754
333
966
388
461
40
722
690
65
610
658
366
849
843
212
391
574
37
622
825
88
277
600
884
322
417
375
339
522
525
812
930
301
532
738
293
493
642
235
22
863
845
396
128
423
517
983
94
506
661
489
156
751
830
338
231
845
124
353
108
219
983
151
165
874
643
836
849
186
251
221
629
832
635
802
933
948
629
908
841
270
673
740
924
255
134
522
707
141
424
614
658
492
525
231
499
995
974
351
871
229
706
536
103
622
418
604
876
95
272
556
104
708
811
699
203
183
963
665
275
354
858
896
384
442
994
227
269
525
955
367
315
774
514
478
564
772
429
531
857
773
668
794
955
800
113
648
613
333
15
887
157
721
602
807
51
566
279
687
311
72
808
703
405
749
678
933
439
929
682
863
19
254
314
744
167
698
215
191
72
659
366
686
242
417
67
999
850
509
79
109
667
653
464
902
1000
432
770
765
489
322
203
233
429
559
362
991
547
13
889
868
789
464
166
959
733
657
762
600
711
73
912
780
558
609
737
469
222
262
256
469
88
488
509
682
17
83
263
42
532
355
840
21
513
841
591
268
56
44
395
885
857
467
381
855
596
760
736
360
321
909
74
61
750
245
340
953
756
477
651
33
26
110
752
906
30
367
45
370
9
165
235
209
620
816
687
691
250
823
540
723
804
593
454
225
910
914
643
52
101
776
483
689
492
487
577
60
908
44
607
977
171
444
713
177
497
914
389
430
563
68
112
887
802
647
1000
710
951
793
799
44
668
784
424
529
294
796
82
913
498
494
733
783
548
236
282
76
462
226
418
834
118
229
472
599
695
340
9
972
482
882
107
105
174
696
486
325
288
987
644
652
177
398
207
733
482
179
522
549
519
151
339
363
252
669
114
516
984
940
49
74
864
858
519
828
621
986
918
811
661
438
292
339
848
190
339
543
802
792
496
523
523
518
868
514
525
788
675
942
409
32
786
829
994
292
613
769
724
529
340
642
21
986
1000
269
685
1000
416
472
227
321
360
386
227
347
627
400
433
686
854
821
328
88
55
194
330
132
832
252
607
989
132
599
743
221
235
590
132
845
404
338
23
841
213
412
602
850
163
586
372
72
581
970
332
281
188
920
166
418
962
422
725
442
72
47
554
13
745
165
148
72
895
796
898
605
210
439
389
688
209
167
861
427
436
575
122
557
589
443
168
262
864
542
59
260
225
649
375
305
610
685
706
51
310
852
166
638
914
796
915
475
195
107
1000
414
320
925
631
945
558
32
146
68
454
551
544
238
79
314
417
147
528
35
539
116
349
635
142
591
904
481
145
535
12
818
190
541
368
405
391
132
367
184
84
6
940
860
756
977
931
415
514
981
367
909
137
761
688
421
799
837
633
582
1000
902
26
995
100
69
125
732
161
277
587
268
419
738
296
409
848
513
529
240
719
178
953
672
993
75
932
898
671
817
531
963
910
581
337
697
877
176
962
447
795
76
658
423
571
389
997
962
732
193
958
704
143
826
116
475
106
442
817
691
6
647
365
182
626
49
297
684
618
366
742
654
368
85
721
702
716
771
1
667
513
812
774
304
48
762
986
621
718
480
655
132
167
955
842
673
282
10
267
993
83
133
744
6
544
282
686
469
820
859
982
851
178
986
397
329
183
861
532
175
320
234
39
275
291
991
469
171
699
401
635
781
662
868
829
950
200
888
565
42
914
512
805
76
525
786
748
320
381
572
362
834
894
618
789
177
187
967
656
388
950
646
74
396
588
23
860
210
299
434
40
590
624
446
264
437
352
616
131
772
395
705
760
37
413
105
158
407
492
662
75
941
166
164
57
721
407
524
370
530
9
74
293
279
949
462
62
117
889
346
380
97
991
464
988
331
585
676
276
824
73
264
267
531
597
117
622
751
690
426
482
664
79
160
78
666
288
915
40
189
485
686
237
831
287
735
822
984
855
6
852
597
681
476
494
364
923
424
378
427
2
830
76
612
459
51
50
347
719
439
659
664
538
822
997
92
348
624
353
852
645
908
128
471
854
859
851
833
808
6
776
719
116
42
212
111
170
189
335
849
528
922
736
796
684
292
392
286
21
239
25
489
858
29
75
293
70
432
618
440
719
301
615
960
478
983
795
375
431
409
361
778
988
729
419
633
231
118
731
68
31
729
933
516
620
785
843
778
153
524
871
980
976
10
808
428
925
852
494
84
27
510
927
216
385
174
421
819
842
184
285
548
319
571
364
230
280
562
465
532
922
867
333
959
67
107
395
180
649
36
913
621
933
72
536
360
297
246
503
645
470
868
926
749
632
103
595
473
657
152
803
322
97
949
484
277
207
94
803
134
415
272
12
565
185
524
961
427
125
581
206
351
543
920
15
318
368
312
932
746
535
448
751
597
453
610
918
152
146
502
362
402
24
56
768
427
1
458
77
791
868
687
826
678
399
592
541
479
662
872
7
568
412
386
684
257
220
894
946
300
230
651
65
873
32
308
103
642
159
201
935
383
152
416
655
669
968
21
506
244
730
424
321
96
496
137
158
675
739
142
457
355
709
649
582
49
712
280
47
803
610
630
85
336
510
688
454
723
710
854
563
872
457
120
41
988
953
550
862
967
367
348
21
553
298
653
522
121
272
717
161
159
357
240
152
879
907
467
190
894
798
131
906
576
242
403
36
515
404
845
814
513
625
750
245
657
986
369
948
311
323
270
201
346
575
459
663
484
523
982
14
445
554
416
405
478
85
48
181
926
669
553
817
726
606
685
382
128
98
812
135
448
591
157
42
381
983
220
120
260
778
199
496
647
129
171
997
822
929
442
893
64
770
711
154
73
627
683
188
561
598
304
589
803
884
72
845
900
464
775
327
602
611
550
102
833
443
395
319
430
252
126
930
231
173
302
543
348
131
820
25
354
656
734
303
174
308
348
474
646
942
763
962
82
7
903
929
701
368
495
600
407
906
580
431
297
287
950
331
188
842
310
219
639
454
63
275
217
734
369
168
209
499
526
407
597
780
785
686
861
160
421
797
104
209
254
213
70
211
860
951
849
167
363
668
459
245
76
267
28
513
227
458
17
749
680
819
763
595
859
922
642
147
45
982
323
285
863
315
907
732
13
618
221
851
275
696
190
664
388
822
979
441
639
337
574
462
931
458
564
251
643
513
142
661
791
981
777
656
915
788
580
569
604
278
103
878
781
161
225
287
701
521
799
975
102
678
948
433
140
260
242
207
488
389
526
224
512
261
794
82
500
744
389
873
739
815
719
628
653
811
893
442
304
501
908
700
311
904
511
605
642
663
448
362
799
517
583
983
626
69
281
651
329
648
526
974
376
491
493
275
548
890
643
264
835
213
999
44
812
906
931
444
814
685
634
81
511
133
528
393
488
816
925
122
17
858
692
376
517
656
67
446
107
997
465
12
278
441
872
244
922
212
406
556
893
242
700
477
808
224
47
153
26
719
658
514
618
428
957
7
648
693
573
118
304
188
570
621
224
557
515
561
881
408
158
562
40
733
888
933
102
255
606
389
621
686
360
948
414
142
879
712
436
217
151
780
43
336
317
517
372
38
439
747
271
804
169
220
663
856
929
889
254
157
1
90
231
456
821
736
951
814
863
5
668
531
721
827
11
735
386
674
289
232
263
761
673
353
174
797
976
689
440
862
47
555
155
793
777
984
942
724
323
832
780
61
446
319
7
218
770
960
211
924
407
361
542
733
579
823
895
690
827
12
564
729
912
247
178
514
770
80
204
882
710
947
829
968
625
602
798
382
110
968
649
516
284
795
852
183
553
214
536
301
756
886
873
257
900
940
661
939
191
298
365
144
163
324
651
221
511
935
481
364
649
461
915
927
108
556
125
483
641
425
517
155
317
474
507
874
905
231
233
851
623
71
424
499
639
829
695
468
799
859
801
236
677
487
752
921
449
85
232
574
36
178
467
273
645
119
572
705
139
835
360
821
626
101
830
333
293
578
828
510
768
598
886
745
258
298
862
858
270
253
810
936
985
182
461
798
273
666
787
846
855
68
397
138
375
995
934
21
6
730
206
549
722
15
520
219
578
459
579
255
172
626
355
795
951
553
513
862
200
42
378
895
320
580
891
999
529
153
704
763
176
527
384
679
682
806
656
718
542
201
801
592
909
975
545
600
27
487
308
712
205
77
222
727
41
336
133
935
372
909
679
679
754
594
677
640
330
955
196
441
626
29
161
377
137
40
830
728
593
171
199
79
420
581
247
526
236
845
957
504
185
912
177
148
528
479
784
811
201
429
4
374
972
577
459
450
421
542
263
458
229
962
441
800
143
670
72
60
559
646
794
222
879
770
755
401
661
447
642
458
124
134
178
201
738
719
333
549
488
446
580
182
877
797
686
696
907
339
907
211
73
33
976
748
876
936
914
359
477
526
547
232
915
112
574
448
698
919
192
111
735
474
539
873
252
866
713
684
799
288
695
755
475
42
282
315
234
841
62
726
496
799
513
915
320
991
574
895
89
842
389
341
981
870
497
800
501
533
427
159
22
999
509
386
566
682
743
423
35
291
715
326
720
949
892
415
208
687
105
223
711
209
647
513
473
406
247
493
116
499
92
609
719
58
201
998
980
413
696
765
6
95
961
701
172
54
235
21
11
351
913
919
273
903
739
536
142
653
98
963
95
226
823
491
36
734
290
213
153
880
80
415
405
959
167
945
678
628
406
888
420
575
81
434
994
327
413
761
104
485
212
160
353
606
325
351
442
800
115
157
550
895
995
266
149
622
934
797
907
917
946
796
322
833
800
577
453
7
567
40
421
852
183
698
383
875
880
198
295
612
225
490
135
664
498
708
194
243
308
984
653
442
690
138
998
192
389
179
682
455
680
35
101
782
872
815
167
788
589
124
657
431
28
685
99
277
655
565
162
38
235
807
376
795
627
173
563
254
568
986
521
266
484
781
353
652
490
587
336
33
862
177
366
2
684
555
830
430
848
284
228
169
273
989
984
680
21
520
657
360
975
822
213
485
895
493
95
695
930
402
585
905
153
483
353
373
252
31
137
412
320
364
241
885
548
758
870
209
765
905
389
38
940
984
254
204
186
626
707
768
352
667
330
220
952
620
204
979
87
191
728
335
981
41
113
901
961
193
201
446
7
160
530
706
502
901
491
425
417
182
36
359
12
779
620
486
27
235
984
958
483
540
927
617
460
226
439
45
646
814
451
198
5
469
955
620
682
35
471
162
110
275
650
853
351
341
299
322
907
922
299
733
567
535
651
710
404
688
387
140
681
419
187
63
244
865
332
75
3
33
39
803
175
937
344
46
323
622
419
128
626
340
619
834
449
367
636
85
32
486
820
142
42
182
108
723
805
977
70
855
260
134
187
709
90
178
897
905
979
281
896
3
710
587
838
974
615
985
907
460
934
658
679
531
815
987
329
485
970
26
509
933
541
819
152
77
323
296
71
580
302
328
426
911
419
821
100
374
572
377
501
286
129
151
614
947
651
22
916
77
97
75
359
421
498
717
768
43
15
436
871
671
289
340
645
107
233
134
859
338
745
100
445
475
357
11
862
75
475
621
675
695
723
525
398
772
864
755
60
39
898
399
49
735
282
927
538
798
592
670
200
78
623
54
975
380
641
812
377
787
442
350
186
290
940
859
412
227
228
565
95
399
481
705
859
55
554
450
102
68
887
2
406
791
149
514
13
31
81
344
213
527
152
354
92
120
998
643
385
518
56
133
79
219
472
897
57
647
141
984
256
44
698
751
776
983
376
406
890
613
910
545
146
950
97
944
630
535
177
772
945
819
957
708
709
458
454
107
165
525
924
536
5
314
283
459
690
41
350
838
316
201
795
691
566
808
379
437
422
29
900
965
55
941
204
950
769
298
814
861
967
214
962
508
846
600
318
711
929
66
267
874
609
735
387
823
593
92
663
251
509
531
92
516
956
787
511
336
978
749
919
137
270
515
79
416
435
673
886
506
241
939
861
567
166
260
124
437
470
411
386
242
637
948
803
286
357
52
44
813
90
507
542
681
907
512
689
854
494
524
715
881
157
654
50
234
187
398
285
416
183
642
215
296
795
957
65
955
880
170
701
701
244
58
540
562
988
838
888
711
972
781
670
784
63
888
838
986
647
89
288
217
346
804
755
170
997
56
8
516
751
518
623
846
560
37
780
982
413
190
781
636
460
381
490
189
512
828
451
506
523
565
242
303
330
209
506
583
323
851
227
23
744
863
974
26
987
832
317
336
619
87
67
752
848
485
778
479
795
247
742
77
264
585
752
828
641
839
75
557
202
602
393
590
372
64
954
599
407
444
817
521
590
885
870
627
238
653
240
59
757
827
827
860
517
915
968
573
553
990
627
6
951
18
120
633
327
22
72
410
976
590
240
498
109
41
828
483
107
255
175
233
865
739
989
425
102
63
888
130
985
157
601
579
556
302
77
371
180
880
670
947
731
58
759
99
264
624
418
668
712
146
212
322
524
460
819
523
230
254
909
336
634
172
661
751
714
440
352
574
313
473
686
736
429
321
946
87
203
77
545
368
759
583
305
43
646
857
611
123
982
667
629
957
350
594
909
161
115
751
69
558
121
29
683
3
654
385
190
466
138
231
371
575
307
393
963
121
466
507
12
683
32
914
900
625
771
343
341
207
980
677
250
430
449
116
113
572
164
900
378
40
603
568
402
300
936
395
748
172
610
272
910
681
619
771
127
21
201
589
554
881
848
828
929
590
283
848
841
22
483
515
822
225
954
733
817
43
152
65
9
816
415
127
588
396
770
163
823
308
738
893
705
868
610
277
520
474
698
330
914
85
761
486
435
104
127
296
54
504
52
456
875
54
491
234
114
930
775
391
406
818
657
589
721
877
794
101
425
554
46
361
581
306
861
530
158
742
641
767
641
554
232
370
491
891
541
265
986
494
912
614
259
987
37
427
753
242
107
179
902
584
401
384
566
942
715
934
635
740
858
856
281
445
952
773
508
203
432
983
33
928
418
585
21
536
644
455
887
753
214
234
183
94
248
683
587
114
923
908
144
49
479
987
183
282
545
466
823
864
505
59
554
489
713
626
149
909
58
164
102
755
779
124
828
143
429
837
125
216
595
197
768
28
307
61
645
734
77
5
569
114
150
155
718
868
876
865
713
957
54
869
476
485
750
393
350
310
333
421
447
562
457
930
826
753
249
468
891
1
260
866
352
185
616
244
207
480
365
713
450
871
234
349
646
661
893
57
73
947
340
951
874
295
196
735
550
576
568
351
148
33
612
869
744
171
86
186
114
983
995
600
66
369
901
738
513
328
582
653
247
671
512
89
306
536
57
87
8
938
393
114
983
990
871
841
15
151
988
557
85
62
157
950
787
127
195
657
206
943
831
533
416
114
536
91
987
788
698
921
284
425
471
194
884
964
650
543
133
558
566
719
718
453
295
421
161
469
472
606
282
721
583
404
27
919
916
507
529
593
279
484
905
78
170
63
96
939
355
830
993
805
695
149
206
226
628
379
112
294
930
598
192
223
245
127
297
986
418
135
180
429
822
446
515
954
740
500
700
13
341
76
912
157
952
11
235
310
125
633
238
269
492
52
982
196
475
757
328
973
757
213
348
870
798
250
803
935
811
95
949
856
327
842
367
850
929
985
126
272
727
416
363
256
935
925
256
667
216
838
470
38
544
879
369
985
986
726
682
788
151
20
849
435
53
792
984
463
803
339
234
345
822
615
344
3
272
103
382
281
985
949
933
839
477
864
527
992
565
940
712
473
674
35
994
972
197
867
777
546
153
256
591
709
967
255
115
74
378
39
950
893
407
494
658
782
783
445
326
161
463
307
780
705
688
757
647
165
528
698
638
484
29
406
804
16
863
229
996
35
872
639
480
409
3
751
424
515
912
646
11
971
961
944
25
760
405
165
74
650
325
280
77
624
264
778
197
169
579
278
240
889
248
398
380
874
224
162
216
676
475
684
337
509
534
276
14
539
695
370
129
720
34
888
207
647
47
748
211
351
25
226
835
760
253
795
156
820
737
876
839
894
443
677
590
123
955
893
171
874
89
623
83
288
180
247
989
189
739
407
44
305
674
458
560
830
516
920
867
847
966
549
780
29
583
585
856
329
644
659
453
89
37
581
709
105
528
950
719
711
939
137
553
857
539
653
282
518
433
372
832
472
870
380
327
676
154
417
546
963
262
65
275
810
409
815
615
226
493
130
764
625
803
437
393
702
394
765
508
920
289
390
595
217
987
413
928
906
850
679
162
582
564
836
690
24
255
580
829
724
805
375
557
665
607
993
418
424
249
256
192
492
646
243
124
947
714
73
808
269
989
73
318
120
496
789
812
388
803
820
627
655
416
898
833
506
573
12
322
782
72
576
780
983
966
868
277
466
849
966
833
37
959
448
14
790
541
940
496
790
721
434
622
280
662
958
116
639
929
786
539
233
764
893
516
621
497
756
502
353
370
922
625
701
907
2
152
239
325
856
263
158
616
792
91
521
676
528
466
495
227
529
384
712
384
78
992
548
396
92
803
57
478
284
922
720
685
729
311
948
457
268
477
517
795
491
563
686
47
210
457
810
914
443
451
660
619
933
951
502
117
142
942
234
879
460
201
517
39
122
761
888
634
921
773
304
263
373
651
429
732
412
428
257
148
47
258
306
511
675
338
756
34
888
902
341
323
709
531
729
53
122
743
424
985
686
730
922
983
786
132
969
218
760
964
308
863
754
145
188
427
665
601
299
323
922
589
475
386
192
697
697
843
316
980
465
674
911
803
554
379
96
282
555
932
768
638
362
89
691
414
937
288
393
245
270
95
575
795
464
510
258
559
222
495
393
453
871
744
34
498
219
90
449
461
178
903
762
1000
118
520
780
729
304
38
706
631
646
769
313
405
208
287
997
668
553
261
838
420
103
221
432
795
84
978
787
943
545
670
41
818
193
327
58
761
438
368
290
30
175
711
369
853
270
998
27
129
643
3
886
687
130
458
533
829
23
378
109
1000
288
449
303
564
995
230
257
80
413
694
404
923
558
106
633
831
718
394
541
718
639
878
719
128
578
736
171
817
425
609
981
234
430
538
310
156
848
816
626
306
11
373
859
555
888
92
791
250
214
737
600
242
633
289
922
456
136
110
192
231
257
722
304
164
106
984
808
947
362
99
5
500
743
186
249
734
332
137
709
443
353
84
677
157
656
73
175
243
211
513
311
229
369
512
320
53
523
489
696
961
53
347
156
812
133
52
434
884
65
674
75
626
260
823
453
430
931
942
211
190
827
99
215
327
59
767
881
997
181
573
446
387
219
142
332
375
246
9
272
348
457
974
282
605
424
460
857
656
362
178
11
649
782
843
926
332
876
777
960
253
333
986
770
315
61
703
104
453
463
436
598
939
504
281
571
735
793
654
362
419
286
577
257
392
48
394
403
513
686
84
411
825
707
368
539
727
53
449
438
832
511
522
459
739
518
192
414
128
115
505
532
908
471
637
31
632
428
167
398
30
977
494
983
296
466
163
953
736
565
816
20
470
745
996
590
156
55
282
154
108
524
88
809
779
359
2
763
296
456
696
565
613
422
324
586
911
429
774
962
72
737
331
829
391
668
98
152
222
105
988
892
924
389
240
563
275
567
156
437
541
554
231
815
483
686
915
797
910
533
981
929
827
599
922
963
828
717
800
708
145
523
741
627
704
395
597
385
583
631
363
36
527
431
588
922
535
486
378
631
112
551
597
556
441
444
487
715
623
290
285
457
111
716
338
639
665
894
878
627
455
5
864
244
438
740
245
382
762
901
608
546
746
58
382
47
940
448
716
898
870
19
665
717
339
575
580
131
571
486
425
201
65
308
311
397
750
978
694
515
931
933
530
710
537
643
204
531
428
546
152
419
809
305
961
652
376
664
147
115
438
869
983
620
130
820
469
681
757
642
37
825
510
313
613
513
35
381
448
728
825
550
513
108
976
94
319
257
655
649
732
549
498
921
742
292
270
230
150
585
333
633
836
606
846
565
616
329
203
544
679
872
856
525
256
788
593
902
490
589
295
987
415
727
400
50
622
65
626
632
412
598
960
905
211
799
593
312
599
529
243
568
553
873
291
408
399
601
219
99
550
246
151
857
297
913
675
776
805
22
720
773
997
163
997
373
189
94
383
836
177
746
688
270
978
746
433
880
582
590
640
432
878
103
118
348
382
233
437
577
526
522
571
551
25
873
196
64
302
292
760
891
21
381
726
313
525
269
859
490
390
513
19
809
372
290
680
892
701
809
347
981
108
495
60
760
937
925
478
520
437
909
352
758
619
375
790
921
87
909
409
28
918
928
289
320
931
421
716
947
696
149
816
901
245
986
545
87
686
817
951
452
934
34
298
556
274
212
388
848
797
990
423
142
589
514
801
523
172
84
547
934
849
785
469
231
542
953
722
362
181
302
181
644
932
431
928
805
366
192
185
587
178
111
233
215
219
644
216
967
408
562
242
422
560
158
847
686
300
302
743
53
977
583
711
107
972
900
687
231
850
933
339
846
566
813
900
486
339
216
653
972
870
823
165
559
281
757
368
891
551
190
577
11
219
768
834
478
844
884
312
825
18
143
79
254
763
503
207
421
759
724
83
659
180
747
782
761
892
509
534
722
346
565
626
472
837
568
612
678
684
321
259
160
496
627
546
331
951
616
892
335
384
582
976
225
77
608
711
642
332
414
390
899
288
957
592
300
982
247
147
813
325
753
381
940
507
550
867
707
853
41
144
265
286
705
197
473
387
806
20
203
481
432
233
825
323
528
583
485
724
823
102
330
894
684
852
819
369
954
494
582
143
787
337
92
18
327
149
591
249
848
783
263
286
625
566
677
771
363
488
891
992
519
469
415
660
183
346
455
253
515
787
444
111
898
24
913
184
81
170
181
590
581
883
147
144
538
310
747
616
11
581
253
765
459
593
652
137
743
465
822
190
560
842
37
569
630
170
662
251
324
178
533
844
672
57
617
531
845
260
34
39
286
394
423
519
625
441
923
426
387
412
766
321
328
580
574
15
863
649
983
624
711
568
160
931
337
207
59
881
228
795
82
208
304
825
868
916
50
121
562
819
24
920
821
406
482
76
204
42
774
977
353
957
18
355
568
477
330
942
917
718
522
833
73
309
781
505
417
744
275
654
760
646
55
428
263
576
874
144
728
4
753
303
453
724
222
573
293
288
164
388
375
32
98
41
169
837
574
413
258
116
43
997
214
371
231
510
421
339
554
168
564
921
574
651
788
33
823
916
174
77
602
234
299
913
503
292
98
130
479
737
183
906
254
307
37
945
757
549
238
838
38
188
964
644
815
404
563
700
419
637
882
433
383
39
412
431
347
375
2
155
271
993
90
445
161
469
904
403
651
664
78
350
813
230
479
265
522
48
804
557
533
693
700
46
205
778
734
760
440
951
520
544
1000
384
725
464
826
860
460
711
350
889
790
44
110
892
674
778
134
159
727
29
688
139
548
183
957
649
267
566
181
760
135
881
536
420
681
281
814
375
974
866
564
596
12
987
906
174
97
991
650
645
365
942
729
774
267
410
198
120
928
630
195
84
762
237
358
775
647
252
145
693
238
246
386
176
734
397
196
563
489
686
43
228
435
600
403
40
141
564
892
235
733
734
221
449
589
958
605
408
901
454
497
799
724
204
645
964
107
149
497
364
258
29
938
194
465
93
181
159
680
979
387
162
232
783
249
586
167
699
363
926
61
636
655
758
986
922
516
415
504
528
618
287
186
237
522
373
162
873
335
540
644
960
647
1000
195
194
908
639
755
710
216
194
81
403
207
730
312
509
372
529
825
236
669
276
402
480
720
382
36
564
260
414
328
503
733
824
546
520
105
623
904
377
34
203
494
667
501
242
632
344
896
534
61
647
324
592
593
51
609
115
272
34
54
736
82
274
537
992
546
330
911
132
304
999
18
184
917
332
840
713
665
682
433
806
103
310
336
150
473
770
90
482
851
711
339
327
96
827
760
694
228
341
698
295
872
835
998
973
790
241
935
218
326
497
598
50
800
706
296
98
497
650
805
395
925
151
339
274
425
83
144
756
85
798
531
986
93
379
971
621
379
367
602
513
380
586
131
725
268
249
647
651
828
806
308
12
434
854
203
569
268
48
956
688
998
103
799
284
610
907
902
262
20
255
718
302
343
910
8
719
453
547
950
176
551
616
482
224
983
333
581
10
497
792
716
992
428
692
109
177
68
254
759
229
616
714
415
763
636
202
792
282
937
902
392
522
140
135
208
394
963
429
452
344
434
670
183
706
844
172
420
520
201
855
817
413
387
760
533
312
990
808
241
195
1000
66
549
605
176
751
286
345
919
881
193
664
880
795
582
212
412
694
431
248
174
32
192
880
863
809
321
627
98
788
167
202
927
248
405
240
308
99
602
603
179
143
910
51
395
762
85
286
929
585
222
829
176
526
644
738
133
119
384
919
516
268
540
685
570
365
605
226
473
225
546
884
719
451
11
474
823
625
549
396
5
230
136
974
258
286
614
244
344
482
889
451
820
33
846
591
157
550
977
676
359
991
685
833
290
137
30
933
72
114
490
262
499
200
922
594
426
505
522
178
444
166
9
310
10
379
689
607
352
907
287
602
124
741
677
12
790
202
706
857
144
116
318
647
206
632
120
10
979
905
308
447
183
109
625
424
158
211
654
590
562
514
257
746
358
210
446
143
881
132
302
743
410
392
817
420
787
858
699
408
103
274
230
958
357
358
280
839
317
394
411
242
499
678
826
668
302
686
592
594
868
963
186
61
141
556
881
849
957
287
944
551
710
252
903
726
307
767
373
231
670
345
69
37
989
441
661
72
311
419
70
120
814
597
654
392
285
296
486
156
919
533
596
734
529
368
598
243
665
934
614
685
936
889
784
397
32
336
923
395
575
287
102
853
921
376
5
826
496
846
933
320
47
797
239
992
447
323
781
88
353
396
722
709
24
353
616
120
112
388
276
635
76
702
348
536
141
895
866
608
411
713
320
128
822
495
934
558
102
530
912
795
828
69
377
508
932
918
637
55
753
373
153
439
813
772
326
20
58
66
767
34
181
651
278
474
16
138
113
575
717
899
483
964
577
946
418
505
907
213
283
32
333
321
268
432
262
716
79
997
4
444
969
594
245
879
952
915
128
463
712
47
200
870
318
627
871
33
292
107
840
169
966
36
142
269
376
802
95
521
95
994
434
787
535
370
363
561
232
471
66
810
558
54
478
704
114
865
755
545
760
732
928
115
924
632
691
272
288
134
143
854
478
608
547
876
657
681
893
528
234
675
84
758
13
205
91
17
232
665
298
345
842
74
569
123
332
648
273
648
134
489
614
225
362
998
157
582
234
977
315
249
32
878
964
998
855
348
31
563
748
41
92
643
18
626
525
616
661
95
768
495
877
740
559
395
584
623
818
185
690
987
17
56
640
797
453
466
418
528
836
278
742
395
995
931
680
450
314
206
275
349
711
435
69
157
585
41
602
232
193
940
58
113
316
619
242
322
948
725
980
195
926
556
840
134
130
179
829
198
873
800
297
574
593
624
874
235
824
664
665
104
677
893
300
73
743
669
675
561
426
590
401
662
197
794
16
529
134
277
31
383
455
947
711
399
425
10
320
781
148
750
226
534
272
951
880
803
563
971
159
149
635
12
10
812
863
174
627
835
652
729
611
897
788
434
720
850
549
828
821
245
634
185
622
576
704
198
598
596
563
547
279
792
523
206
744
58
543
698
712
653
84
591
105
784
470
136
349
519
693
368
932
303
278
912
981
31
798
462
654
502
72
152
217
77
927
30
534
549
604
477
535
543
587
667
963
260
633
118
306
996
284
966
370
692
968
842
400
685
100
135
982
970
245
996
233
517
503
620
941
629
754
266
378
891
315
952
496
983
838
979
86
545
5
273
266
291
689
20
358
801
749
237
821
746
589
715
397
856
916
261
50
546
879
250
586
18
921
321
76
573
229
451
329
28
609
746
688
455
1000
30
389
853
599
733
541
19
739
603
569
620
269
526
601
406
133
79
861
553
303
474
590
383
943
252
424
85
972
414
399
597
741
661
999
524
589
105
718
812
493
74
631
920
791
650
381
388
286
157
805
38
598
127
137
522
754
180
367
560
410
877
867
21
3
816
835
934
370
165
461
634
81
396
970
502
772
161
858
195
306
176
715
799
436
455
977
121
985
462
868
177
233
563
534
8
344
671
104
141
172
125
985
370
703
659
208
49
745
762
74
765
205
901
625
56
430
786
735
856
655
357
705
466
555
231
323
145
255
91
243
871
929
913
435
429
300
999
184
733
922
459
777
231
130
210
604
290
925
539
848
719
884
999
336
942
357
729
406
909
871
287
836
512
648
739
966
142
586
74
183
19
879
942
812
124
700
377
296
855
1000
421
268
37
550
499
747
530
794
995
211
502
944
729
784
352
36
916
63
401
325
786
422
711
490
212
757
836
601
608
713
846
706
868
410
744
186
294
565
243
755
316
689
932
54
307
726
68
367
925
121
559
860
255
779
261
112
465
814
325
426
829
284
207
571
735
351
900
139
742
414
107
673
829
824
349
78
743
703
465
610
733
264
577
892
42
772
316
17
220
942
76
761
721
146
102
344
241
285
464
970
974
518
341
583
278
399
621
901
248
82
468
792
359
428
416
505
622
796
520
82
699
247
303
534
7
688
526
992
162
218
309
107
994
560
778
434
20
3
176
387
440
722
358
630
694
679
683
448
112
600
568
718
454
622
415
600
987
343
167
946
270
921
501
751
23
787
549
647
276
302
78
593
498
393
261
398
567
793
527
663
239
18
506
58
255
630
718
582
324
636
525
602
28
131
811
28
100
369
4
925
641
544
365
233
579
449
890
46
60
79
787
59
565
956
283
390
208
644
374
965
82
476
274
63
533
998
491
393
930
3
891
313
835
324
629
396
474
739
532
581
81
454
384
549
966
617
553
842
148
237
613
435
10
699
875
140
706
788
293
280
987
770
783
505
708
599
847
513
524
783
291
679
177
769
966
317
346
986
728
317
256
816
185
468
79
862
443
596
736
831
739
9
854
241
756
409
498
950
472
567
779
189
570
566
601
386
810
356
620
560
277
677
950
511
72
174
269
291
858
646
771
724
641
939
829
834
311
950
332
90
756
566
406
321
817
133
633
998
958
242
932
331
280
178
8
313
447
387
604
368
132
702
864
779
873
870
772
423
556
136
984
635
340
255
357
219
513
311
143
709
619
161
130
16
229
153
950
462
876
5
438
81
23
372
159
723
392
696
201
189
630
360
879
109
84
82
273
765
408
696
414
360
815
193
490
538
79
951
669
84
784
579
991
815
898
705
339
651
506
310
642
730
381
969
345
211
152
415
650
106
13
415
202
97
270
832
690
761
552
114
306
79
156
160
138
395
846
688
318
221
395
757
231
419
292
64
123
327
343
6
249
323
340
252
62
205
565
773
33
465
687
820
389
258
501
381
440
385
48
995
180
111
885
635
557
6
657
568
119
290
675
708
755
346
888
21
905
178
523
933
919
585
640
562
204
732
54
807
435
624
383
983
372
712
462
752
764
477
10
528
408
398
216
442
692
125
886
184
827
45
865
734
574
687
740
84
428
550
239
518
171
29
299
940
151
85
551
26
899
161
800
681
491
672
172
411
579
49
779
726
168
945
96
630
16
701
789
566
11
583
374
955
993
631
926
579
270
156
29
640
510
85
317
259
797
371
214
565
346
618
969
278
830
955
658
884
286
902
611
58
304
667
632
8
582
873
435
789
925
168
998
446
497
582
872
52
443
752
67
320
994
355
805
486
850
161
320
599
915
144
859
166
438
987
245
360
235
154
661
630
945
383
808
616
208
145
221
715
234
87
336
521
503
982
821
634
212
987
829
993
655
337
61
984
955
717
965
73
406
622
960
581
237
30
323
548
786
535
242
327
918
924
595
659
997
834
223
520
915
765
799
931
444
184
926
281
689
903
770
433
491
217
325
34
473
504
446
17
774
140
862
205
695
595
718
338
154
530
635
571
293
568
862
700
638
157
895
934
892
610
825
38
865
967
754
47
40
820
887
579
958
577
235
958
969
988
462
987
864
893
80
221
582
277
60
39
479
731
942
614
619
297
686
142
164
532
859
335
224
310
183
226
466
549
167
802
352
551
298
830
146
117
226
529
733
914
495
418
820
867
623
719
356
468
763
243
827
994
734
521
662
575
970
288
121
954
794
114
920
560
499
99
304
186
872
57
484
208
217
564
100
739
385
560
896
550
23
925
877
908
67
632
23
684
502
584
34
242
509
247
719
628
466
503
342
545
686
983
679
431
377
242
567
721
111
794
475
33
949
948
963
587
506
844
962
625
425
831
457
17
135
583
519
472
319
939
621
16
198
481
827
462
619
281
750
613
924
109
147
862
752
590
638
655
272
483
303
5
793
291
878
896
359
850
818
920
722
463
773
970
36
340
929
123
726
853
185
127
240
161
419
69
825
236
902
835
23
270
487
1
340
678
374
618
402
678
97
181
973
502
864
744
419
835
539
745
514
4
387
616
68
755
125
662
451
223
988
994
970
816
262
556
3
312
205
396
947
407
328
351
333
321
798
310
890
853
85
999
980
427
75
56
562
282
560
767
764
924
391
438
240
372
626
837
688
520
666
526
321
149
724
179
608
741
987
193
312
260
434
969
698
496
644
277
825
402
857
11
954
96
163
458
489
826
21
928
294
289
184
242
914
95
748
79
988
100
256
645
103
525
710
477
460
539
891
444
956
981
621
160
727
466
444
117
770
950
770
782
984
172
667
825
863
80
363
393
121
473
6
57
727
595
363
661
177
370
985
791
358
270
804
10
11
572
250
302
644
893
778
425
703
439
103
957
972
386
544
903
455
138
625
632
434
13
483
794
21
68
695
601
284
348
839
520
917
859
506
13
545
935
465
401
948
483
409
327
894
805
27
594
815
287
151
304
245
291
373
367
822
1
858
434
642
800
17
204
942
13
338
909
393
478
966
475
791
469
527
491
556
949
316
668
239
999
179
904
197
535
358
409
711
108
111
616
47
652
119
767
435
554
604
101
463
297
568
584
151
242
777
973
835
808
938
804
58
449
26
584
830
313
862
61
21
427
855
963
120
561
293
992
296
681
681
196
494
36
407
34
308
476
451
628
486
560
947
674
233
378
141
481
923
780
718
408
426
871
486
765
43
241
189
879
940
356
505
590
55
952
407
953
680
80
665
242
316
630
679
703
936
808
765
638
489
48
737
546
341
259
866
22
358
157
332
30
504
650
851
17
161
918
472
990
840
853
457
394
615
2
759
81
381
5
844
173
10
808
529
915
567
593
44
916
21
452
758
292
302
332
874
334
134
664
932
266
789
383
134
557
831
777
353
30
912
701
187
698
928
207
566
867
183
586
235
552
702
134
890
639
537
711
892
574
719
280
233
572
474
202
873
461
496
981
675
313
329
554
881
987
383
963
503
496
696
441
39
934
338
513
670
312
258
723
426
234
451
957
877
824
559
191
566
691
401
626
739
998
479
864
951
898
205
740
741
711
434
879
919
197
934
883
939
209
564
276
481
821
263
989
621
756
447
231
924
553
27
21
369
468
84
545
268
536
150
772
248
563
192
419
918
90
616
457
65
518
69
839
87
648
357
16
912
878
550
109
822
173
220
329
448
691
823
333
715
679
391
733
626
818
128
902
641
707
930
550
824
609
604
285
82
872
312
526
585
670
807
668
896
856
117
379
428
722
668
257
595
442
257
859
427
783
907
275
471
466
397
18
529
169
178
978
147
794
454
598
800
35
460
214
396
693
322
723
79
476
468
352
292
196
223
320
721
384
100
615
48
344
314
938
413
590
185
115
99
402
466
898
242
1000
68
164
283
418
335
948
501
734
778
628
185
742
146
844
914
485
824
407
990
359
802
546
254
608
863
321
418
161
253
933
555
664
782
956
575
512
229
233
374
409
945
281
804
722
759
587
814
470
644
78
867
295
115
419
260
192
2
483
40
61
60
539
40
400
864
197
951
562
571
161
464
57
439
164
249
297
408
255
950
62
712
769
426
691
183
910
195
675
898
846
389
909
831
635
596
302
457
69
593
865
609
778
377
639
437
500
841
57
40
478
137
405
167
365
62
69
423
834
759
151
568
353
666
873
826
218
910
891
609
983
291
287
689
903
568
538
659
846
43
197
444
430
298
383
779
775
544
414
782
401
222
105
202
232
382
279
485
607
904
60
535
478
786
368
938
683
590
816
444
315
614
932
739
703
525
197
846
461
988
910
47
403
299
306
876
843
149
648
543
946
423
276
150
379
373
677
186
410
602
730
90
35
24
167
117
427
402
192
336
211
79
916
388
646
282
940
503
763
711
999
392
946
180
31
827
199
749
424
147
576
124
495
434
868
114
416
824
643
569
932
285
175
549
201
168
633
421
2
50
130
233
385
697
884
948
539
426
790
109
307
845
182
43
294
682
377
7
972
410
926
542
523
445
135
894
425
989
505
551
932
989
236
835
691
261
849
1000
693
561
252
495
630
287
302
864
545
500
38
268
323
209
256
776
189
173
43
354
869
998
218
975
500
8
360
381
678
136
242
805
257
122
77
400
648
394
886
219
408
337
711
319
826
84
139
988
99
581
788
132
419
435
985
591
950
967
868
515
275
992
521
969
320
44
563
609
183
178
826
618
553
18
351
94
619
413
983
721
440
934
235
873
794
436
952
275
382
109
548
943
125
726
196
426
999
327
459
301
474
164
260
458
171
568
977
957
796
330
716
161
743
287
496
380
31
87
141
508
390
516
202
972
376
331
80
881
384
310
874
401
287
71
139
276
234
302
885
858
824
215
658
206
457
389
461
594
213
723
630
256
954
817
488
300
730
8
784
505
741
188
424
173
269
738
26
252
12
155
118
746
210
429
647
783
778
826
579
816
453
480
987
105
574
148
12
43
732
529
464
873
963
784
644
70
557
300
165
967
832
262
176
230
423
311
408
416
721
413
880
178
126
98
957
632
659
356
662
29
315
853
819
160
266
568
633
836
632
615
787
406
94
799
989
491
61
408
175
41
443
844
259
372
347
972
397
43
163
461
209
332
597
992
337
582
146
932
961
853
427
941
668
214
530
57
125
441
271
970
563
76
825
586
1
617
705
456
456
47
476
362
140
57
921
121
792
87
573
704
824
735
684
863
942
199
720
782
263
136
416
691
694
736
291
22
562
888
245
409
15
992
559
795
752
377
150
945
994
300
442
922
444
184
557
468
158
90
853
753
904
437
997
692
564
604
884
852
594
388
697
4
368
238
332
543
491
817
215
313
781
715
279
857
724
85
474
774
589
539
740
620
337
920
819
765
665
443
596
732
226
269
961
773
160
792
313
892
545
793
902
82
271
134
184
278
151
853
237
407
794
376
79
981
860
38
413
860
863
270
937
176
591
609
833
914
566
185
504
337
685
400
901
232
354
364
34
977
950
35
385
523
427
116
961
720
238
533
702
827
514
666
765
696
607
637
993
842
732
605
531
545
354
441
98
227
445
157
935
536
485
156
795
993
295
714
641
588
426
94
921
401
837
352
357
201
1
201
232
986
455
273
29
560
6
720
120
634
477
402
919
350
917
821
541
823
669
566
545
38
530
272
785
444
540
996
738
641
589
496
934
847
120
75
281
262
704
574
127
985
147
567
896
899
102
58
1
831
844
768
536
302
24
639
913
437
688
292
254
902
806
35
809
296
882
443
107
74
951
663
859
890
419
396
854
264
746
923
213
579
946
619
423
733
218
198
488
212
827
266
397
952
483
878
872
127
104
482
998
920
791
1000
928
404
264
845
310
900
812
344
478
544
994
377
728
379
971
48
185
948
354
852
884
240
875
97
679
859
40
353
509
433
141
245
360
639
662
278
8
656
168
222
223
548
209
260
696
824
658
292
333
407
142
705
974
336
940
508
802
786
768
898
891
416
387
235
394
628
846
908
870
48
492
778
103
435
574
709
559
265
386
197
339
423
410
270
53
827
866
638
567
281
377
528
983
545
224
772
521
442
802
490
200
774
428
154
357
995
643
884
46
847
459
609
354
643
846
98
452
468
852
954
29
346
399
345
348
331
746
660
780
552
13
265
127
491
987
259
416
143
598
424
150
249
96
611
191
516
979
417
526
572
134
334
210
417
498
526
660
326
785
989
304
443
458
149
311
832
200
869
761
346
565
451
138
511
394
438
499
531
800
943
977
657
263
788
575
410
399
950
344
582
507
676
110
481
860
178
891
674
20
976
25
297
168
824
812
122
545
631
176
707
637
953
430
343
636
439
766
29
76
82
460
357
248
245
145
24
180
199
685
664
482
385
355
845
339
645
27
353
302
456
41
333
271
600
260
496
272
738
584
312
186
101
846
78
607
865
581
787
367
813
642
987
96
566
14
172
380
13
449
834
695
561
753
954
317
483
663
623
840
945
220
438
754
277
500
541
786
640
355
458
352
567
538
385
510
747
239
216
272
28
568
395
996
886
980
617
837
458
986
520
940
848
733
775
106
604
221
378
181
139
969
561
299
399
933
430
407
268
348
350
234
50
964
144
936
829
816
351
218
713
298
165
628
737
788
183
55
682
497
757
225
189
529
570
98
324
363
42
662
178
95
309
531
198
817
801
169
650
452
915
293
80
219
864
197
630
632
568
335
840
640
346
473
903
41
273
117
383
799
263
742
83
279
368
536
109
669
283
991
141
95
782
711
607
992
648
204
746
328
679
286
524
177
518
950
975
953
388
192
832
338
274
363
243
596
766
40
942
440
534
302
529
135
381
561
369
809
917
748
226
235
163
787
920
486
810
737
207
952
426
883
587
162
667
391
924
752
384
808
632
687
609
825
640
565
582
243
543
388
335
999
110
740
868
444
837
681
628
814
304
6
805
962
912
731
966
995
997
812
671
393
396
120
8
568
314
652
442
591
718
796
977
977
559
241
390
20
839
757
211
149
903
659
214
167
365
237
397
52
781
813
824
191
487
362
259
545
61
852
188
245
469
526
726
579
328
377
880
124
621
970
835
41
864
572
230
195
990
304
907
798
147
615
210
756
200
962
749
737
971
982
460
271
168
819
913
857
491
508
92
141
639
478
270
709
802
323
179
950
757
938
438
734
867
13
46
354
125
660
811
312
884
638
798
37
59
246
218
550
415
450
688
422
994
230
491
134
879
444
249
44
259
726
445
779
208
89
325
776
654
898
50
87
789
864
384
333
566
523
813
856
982
452
785
715
558
102
634
149
832
718
862
536
648
286
665
670
785
819
991
397
734
583
935
246
495
70
28
739
870
596
759
465
62
433
762
848
355
285
206
781
266
726
278
936
834
971
143
620
656
930
369
485
873
97
625
305
538
202
409
256
719
960
649
837
240
458
310
668
191
920
539
839
189
636
466
451
921
814
496
217
674
11
840
761
395
566
55
330
342
163
566
169
498
238
506
729
786
472
730
222
533
992
505
760
794
248
218
479
907
730
437
581
84
859
767
208
945
367
268
398
629
475
631
176
549
1
926
974
883
282
491
195
642
463
464
694
500
291
509
357
617
971
546
764
372
98
673
131
242
892
1000
319
86
207
828
756
734
852
477
508
96
787
28
591
949
660
484
849
234
963
116
361
904
816
290
408
364
23
668
467
87
563
508
596
267
138
704
792
255
740
342
650
95
460
794
669
686
913
787
79
972
728
479
951
87
532
291
641
573
718
124
345
615
93
661
645
763
177
620
444
721
545
215
631
637
82
563
128
768
445
466
727
521
359
818
267
644
568
850
238
798
404
604
892
802
996
265
258
608
32
493
269
463
899
445
368
778
717
979
540
921
506
440
715
556
231
494
877
154
5
717
20
975
49
36
298
217
356
651
322
939
132
784
596
108
259
435
499
357
951
362
39
60
763
659
884
908
866
625
776
489
259
107
509
275
225
142
121
32
834
507
781
914
791
737
147
386
236
284
655
711
367
757
249
923
939
568
587
97
725
953
629
261
31
978
828
448
211
116
850
270
933
959
855
864
630
865
906
208
169
687
992
657
281
235
474
949
695
810
527
122
256
952
272
507
504
545
860
428
354
546
711
317
511
906
503
711
244
697
247
978
951
74
969
708
722
448
129
408
776
185
849
493
183
198
458
637
797
55
646
178
672
596
730
672
544
603
144
628
125
759
299
157
100
11
374
551
663
428
427
778
392
861
482
521
56
980
851
623
663
803
42
791
714
430
41
953
135
494
614
947
826
820
576
90
91
842
605
769
501
639
313
382
858
828
730
851
37
166
278
445
439
408
621
835
661
887
445
153
784
293
392
323
382
375
841
65
926
589
198
817
793
279
648
259
481
608
109
250
950
316
224
779
248
330
825
954
686
412
221
144
892
319
56
144
980
390
235
632
960
93
603
243
233
833
643
302
701
213
441
643
575
47
575
943
448
638
369
719
564
231
185
431
531
81
9
192
877
286
644
174
978
409
215
161
884
874
544
631
474
354
197
397
189
647
623
88
331
38
898
720
518
777
998
159
451
104
434
555
567
185
324
720
518
458
651
978
662
114
570
229
911
896
82
861
360
940
308
639
77
136
883
923
339
366
727
367
349
20
521
788
205
391
773
16
450
914
278
365
66
706
90
817
169
569
881
148
992
399
713
991
949
963
782
261
729
126
658
492
374
897
921
324
271
137
849
840
796
356
993
482
159
797
65
986
585
924
546
176
622
510
819
446
749
745
438
488
918
173
347
126
897
821
473
133
489
567
149
569
809
661
250
449
798
328
730
579
65
543
540
949
958
389
492
412
511
920
735
274
515
37
939
16
519
733
162
638
2
982
627
999
295
648
337
75
121
88
527
315
720
494
427
94
677
643
739
840
459
414
498
557
615
339
720
325
335
509
339
871
782
326
463
410
194
978
908
826
271
11
290
675
757
42
709
652
468
486
199
919
202
156
653
137
158
718
932
135
448
291
185
887
307
923
193
885
397
294
757
51
383
736
682
29
616
606
925
108
324
102
893
16
186
854
622
531
531
10
830
199
728
76
426
424
476
472
73
877
829
620
851
456
814
400
877
16
353
968
982
682
92
262
221
872
392
10
983
66
429
668
990
949
831
543
301
815
776
280
707
23
769
6
604
828
622
695
496
175
285
726
754
860
258
185
208
42
292
195
370
231
959
447
874
749
455
141
778
150
706
758
915
217
426
424
408
6
302
169
790
821
872
11
919
186
998
654
1
588
42
567
626
272
997
327
633
402
857
419
18
683
443
152
859
926
768
911
409
107
763
777
78
183
858
436
48
293
470
380
617
20
936
643
209
46
794
686
171
903
614
607
89
499
761
540
411
753
592
967
538
1
562
681
427
774
655
308
951
192
355
616
939
490
106
317
844
114
834
736
453
444
635
456
938
420
199
68
777
259
852
199
789
30
386
306
589
28
987
90
264
809
657
21
966
236
474
134
423
95
937
190
65
671
426
313
602
169
483
437
370
30
234
220
744
986
779
638
186
178
770
99
290
766
741
775
305
269
946
807
164
260
620
194
24
184
602
460
673
780
192
646
931
990
981
787
356
333
130
778
144
384
257
475
92
425
630
945
922
322
869
992
11
383
700
505
835
300
647
692
19
261
680
981
900
976
968
206
974
679
900
743
376
115
418
381
832
167
549
93
139
37
727
302
288
839
151
912
805
48
931
157
743
501
240
251
40
548
26
970
622
504
104
517
721
779
586
465
361
931
717
148
878
409
95
584
602
953
214
920
598
432
970
430
406
437
528
281
309
61
521
658
529
128
43
354
123
601
339
567
64
1
392
515
161
482
834
436
997
599
747
671
48
932
937
855
487
459
230
647
980
979
175
79
905
940
287
329
68
754
638
676
944
41
167
442
857
285
546
978
357
47
837
122
216
260
429
119
102
76
980
672
16
447
144
670
969
867
904
141
272
739
219
141
970
382
510
632
677
28
272
874
58
64
654
476
702
363
479
94
969
825
530
657
688
102
339
138
232
102
942
161
608
16
224
123
662
557
563
110
422
547
440
599
874
260
556
851
202
683
813
914
622
430
169
377
452
148
9
357
20
72
161
739
298
881
95
313
938
86
179
334
483
991
71
963
129
689
451
214
322
654
371
309
880
219
392
816
68
666
558
517
253
669
14
753
344
599
708
878
197
517
224
562
582
766
224
882
98
696
396
554
630
464
64
189
562
780
818
159
972
187
625
513
478
718
879
409
212
780
763
678
666
707
113
465
774
730
698
394
666
17
460
311
974
56
789
479
451
872
361
30
900
505
408
594
140
702
541
299
768
14
419
722
990
360
610
993
693
633
984
933
224
126
826
48
36
384
689
196
511
590
644
980
757
749
237
261
118
735
921
693
463
746
184
872
68
812
871
484
49
809
460
850
830
835
149
386
142
919
670
789
353
774
676
231
744
696
404
406
497
789
61
100
765
410
51
806
153
72
733
37
373
122
848
182
606
142
164
171
325
402
161
717
952
670
764
657
723
341
235
715
600
164
350
66
848
805
888
225
181
101
266
117
16
152
908
672
394
329
539
908
632
849
127
284
608
839
685
33
847
713
414
308
265
212
14
224
521
729
73
306
373
352
558
426
398
644
394
41
659
314
984
437
682
806
332
723
170
324
103
517
425
944
561
636
374
313
838
599
417
854
383
419
69
558
768
14
502
197
249
507
645
244
609
856
480
858
852
525
492
54
241
390
48
586
55
628
629
97
153
157
427
862
133
76
821
763
413
644
619
205
57
558
772
348
525
699
473
375
834
29
159
512
798
52
963
175
113
84
584
915
68
609
381
817
560
147
733
613
914
407
353
54
745
970
296
35
706
367
860
526
517
247
443
640
117
251
688
54
108
324
921
570
948
462
987
804
465
309
53
888
392
585
859
559
532
77
207
240
92
798
152
529
487
952
527
4
606
579
891
436
154
78
979
281
147
321
14
802
98
764
13
293
710
765
347
660
128
296
387
27
948
400
985
157
191
10
966
205
406
213
510
725
920
639
533
917
990
438
726
815
297
190
920
490
766
206
825
365
184
890
9
433
466
223
172
491
703
964
404
537
310
895
123
78
716
251
819
460
6
519
566
254
875
949
497
384
40
449
98
939
996
998
195
570
629
389
19
930
734
865
540
902
932
183
571
229
809
760
816
738
403
770
91
567
256
552
475
662
384
187
12
349
451
897
914
973
309
767
884
441
897
354
345
970
125
931
834
550
7
505
775
392
809
205
160
117
366
357
429
580
71
372
958
953
228
526
139
197
629
901
981
64
216
999
525
587
652
33
147
375
475
470
992
103
244
191
363
312
771
536
875
992
84
586
610
450
252
258
250
667
569
183
448
670
890
876
239
442
103
410
375
561
818
672
843
65
360
255
708
987
59
276
609
645
661
651
929
62
388
918
686
777
820
287
650
965
311
400
66
971
66
252
635
309
402
810
56
709
915
135
557
29
485
243
294
710
93
494
408
985
395
55
849
237
891
839
740
741
316
412
217
526
543
504
170
232
929
162
245
675
508
77
810
265
853
284
305
569
763
265
568
77
126
460
258
673
468
347
472
388
711
509
4
779
621
607
466
669
265
728
684
37
562
394
337
584
657
392
821
851
441
694
705
802
978
942
949
476
17
376
255
641
26
628
553
388
391
488
630
256
513
628
338
776
552
262
665
322
469
907
159
720
831
712
890
421
592
341
135
899
643
977
467
591
532
878
774
906
117
797
6
740
339
743
141
505
490
776
912
887
572
978
373
408
362
313
211
436
802
806
101
407
196
363
13
938
499
624
573
942
654
398
54
50
546
617
520
441
651
246
973
644
854
270
88
4
231
667
277
280
837
309
366
275
625
833
136
494
715
822
320
574
116
109
465
613
901
595
182
629
562
757
952
44
942
924
598
489
701
483
958
264
771
421
79
437
589
954
471
941
244
598
563
6
798
688
538
917
209
227
134
417
227
964
846
1000
589
760
198
21
641
630
385
763
221
328
675
583
309
982
363
832
439
84
996
484
344
76
801
338
640
905
965
176
611
144
485
520
317
741
782
473
322
994
201
665
302
105
780
513
678
544
421
850
208
498
673
456
163
884
881
197
300
765
376
278
371
503
710
588
295
677
682
219
460
595
49
57
821
235
361
727
612
561
328
311
522
481
474
980
101
132
628
84
61
828
953
319
839
723
811
289
489
183
757
168
512
951
329
173
731
377
134
280
666
427
902
918
182
677
823
388
360
240
489
423
634
400
202
588
252
765
213
197
37
891
734
52
216
693
188
582
832
392
213
881
879
433
407
767
829
568
650
196
666
267
124
291
893
714
821
797
232
922
405
995
898
904
802
963
389
430
769
634
718
609
13
237
890
447
107
603
208
555
610
268
686
399
285
483
452
825
234
51
521
118
131
363
733
503
449
137
969
860
712
150
979
349
409
655
288
840
81
323
680
291
549
222
702
687
932
831
492
759
363
71
959
463
822
103
42
111
555
991
308
137
894
364
653
690
131
891
224
661
282
729
984
268
217
94
524
42
611
771
830
906
663
671
719
53
277
522
558
495
733
408
719
484
432
118
921
494
425
246
261
65
844
539
253
643
235
251
664
466
72
161
252
666
396
477
783
22
605
61
877
226
917
277
266
60
925
302
64
674
953
916
485
990
643
636
271
329
312
548
752
550
139
345
81
343
160
905
681
844
402
172
352
388
208
274
812
68
959
548
657
714
945
592
862
83
105
576
992
322
712
741
205
206
841
478
7
296
670
383
464
883
191
452
227
536
959
902
310
127
843
170
22
441
603
307
840
878
271
342
298
285
964
152
148
660
773
83
161
326
780
823
943
197
104
21
26
902
119
775
348
881
617
359
930
47
759
535
212
221
98
347
15
385
834
571
580
690
727
879
440
329
771
348
167
591
818
153
191
854
824
154
942
865
290
625
547
354
769
539
214
948
27
695
172
369
539
428
797
116
557
840
80
189
868
262
151
915
737
152
968
606
238
737
582
618
345
487
639
341
677
971
889
812
786
676
517
905
211
194
57
539
308
516
487
920
29
276
867
617
429
489
547
173
641
687
525
50
479
420
17
911
608
720
690
658
453
532
278
159
615
51
500
330
582
602
305
68
965
982
464
547
310
173
449
581
774
929
337
54
606
40
240
912
431
10
338
851
767
453
178
629
114
797
318
871
163
751
746
351
424
574
758
5
580
390
160
323
425
675
691
371
100
555
568
406
653
749
925
955
683
835
692
233
883
8
173
40
890
646
164
557
715
823
960
47
403
375
27
70
275
220
406
702
292
452
156
194
582
129
275
654
185
788
568
634
380
453
868
954
776
313
880
691
491
304
656
34
346
549
387
626
985
971
746
78
221
440
508
582
721
473
547
935
344
886
582
828
55
751
262
958
383
692
257
365
772
862
44
433
63
891
960
139
539
737
959
469
629
643
178
403
429
333
94
510
628
174
556
978
322
283
441
863
443
453
27
450
228
345
407
872
228
575
483
555
831
261
75
647
204
43
718
288
817
841
567
497
464
423
617
494
771
354
140
437
728
64
861
969
705
568
854
438
719
847
604
330
514
14
948
308
85
172
878
186
909
307
274
343
43
636
713
366
633
606
407
139
177
105
202
240
2
545
293
232
57
153
10
387
80
222
551
429
601
54
59
135
41
64
783
1
382
799
372
748
502
673
524
117
263
841
333
275
903
958
668
169
83
523
825
320
211
157
518
883
276
397
10
282
512
573
784
361
634
891
720
795
292
100
176
440
618
36
707
423
453
880
438
30
901
197
240
860
361
674
940
309
68
36
780
154
493
766
187
921
648
135
737
737
461
497
870
590
904
18
520
270
486
754
309
765
57
508
403
575
605
995
408
217
873
626
919
178
177
648
489
719
776
504
774
220
470
956
605
201
934
4
535
776
403
609
214
41
975
8
561
833
724
745
306
362
266
583
925
451
183
145
370
505
934
477
317
885
505
708
789
50
48
659
163
681
204
540
548
49
641
853
439
7
546
239
359
351
505
278
946
762
208
200
558
171
914
42
995
204
438
35
408
291
730
918
778
141
762
428
647
552
540
429
887
936
542
17
420
512
771
477
733
862
933
126
930
427
939
954
847
559
45
434
446
952
485
53
304
630
352
917
519
189
838
233
761
631
660
634
521
3
669
37
835
984
174
201
870
729
476
235
831
578
471
24
555
666
956
990
31
83
432
632
826
23
817
3
62
232
422
690
163
183
976
843
53
612
286
519
877
450
294
933
590
718
948
209
971
668
300
876
695
291
668
659
117
349
561
98
328
219
259
122
860
220
635
8
139
506
818
88
418
316
774
126
463
95
758
591
685
27
809
894
800
549
215
265
306
739
888
128
266
869
108
734
935
959
4
308
745
969
411
176
39
74
470
176
748
572
448
127
862
143
781
337
197
546
244
871
407
350
537
832
641
961
247
990
561
36
352
877
625
367
960
915
718
426
914
233
215
87
302
544
509
478
643
919
907
519
721
279
513
471
603
213
419
738
389
46
59
239
607
151
85
901
9
145
472
199
682
993
867
238
48
999
394
552
323
345
195
640
432
143
31
326
218
910
146
114
22
36
437
129
353
59
683
629
410
514
213
777
699
700
957
119
832
986
216
178
874
129
898
668
268
693
157
126
488
835
593
131
3
609
189
895
77
467
177
732
221
827
858
776
799
404
244
398
429
506
24
954
340
659
998
840
748
709
615
373
680
50
639
666
391
715
335
477
664
865
729
41
866
645
681
969
536
460
513
652
709
470
882
1
885
516
448
18
797
744
631
409
652
896
413
393
546
643
717
925
148
317
353
800
531
133
922
468
245
290
332
951
354
362
795
951
162
43
248
86
779
599
172
218
538
375
677
987
465
303
541
14
707
648
615
692
825
158
641
142
347
383
68
690
826
155
872
190
934
160
767
595
771
47
420
477
688
778
467
583
377
767
175
110
909
889
583
109
677
640
828
303
911
552
147
673
578
465
747
344
949
430
324
656
93
801
511
862
845
565
980
486
576
50
188
284
211
967
30
669
491
148
757
626
466
439
570
445
522
967
250
17
60
380
7
88
85
748
509
594
585
498
709
126
523
151
647
674
703
650
881
990
552
748
592
331
56
267
672
873
748
53
321
785
596
67
752
814
139
413
643
246
1
15
837
270
176
336
660
103
111
739
914
710
675
106
247
605
555
851
140
985
485
748
183
432
988
896
667
502
971
686
786
789
634
867
867
474
589
675
170
937
38
507
710
756
113
833
487
282
219
844
270
47
318
864
761
440
636
683
608
468
157
798
186
902
660
991
517
797
746
828
1000
208
463
396
855
865
707
83
290
768
503
251
481
898
656
418
349
727
36
981
3
815
904
542
451
513
328
646
850
756
659
82
145
970
490
957
388
355
290
407
448
219
117
178
80
535
447
289
529
640
148
637
927
831
84
746
773
611
636
786
670
535
702
636
317
919
343
42
502
147
340
843
428
968
336
840
275
942
140
130
341
189
22
618
428
635
509
1000
420
291
276
698
152
440
206
139
739
253
613
249
496
32
886
273
476
198
561
812
433
179
908
529
703
540
665
76
104
72
460
626
456
60
808
876
735
614
300
472
189
792
756
611
970
193
656
16
975
875
124
538
599
707
107
423
77
753
169
660
924
857
467
903
733
384
104
152
259
987
998
788
293
334
841
539
283
978
487
681
50
920
354
86
252
978
997
754
389
773
78
93
307
973
335
542
114
496
27
78
349
489
545
799
72
278
544
18
244
917
973
260
426
637
882
147
325
265
704
383
200
665
13
981
445
317
423
407
960
441
365
552
58
506
3
307
731
481
398
44
72
994
370
484
530
390
203
298
461
744
437
253
123
109
543
884
879
590
172
491
859
385
21
702
749
589
96
996
706
376
289
320
587
168
750
413
856
531
483
501
531
831
955
796
492
134
307
634
325
449
886
138
607
158
442
15
239
412
296
463
960
337
202
198
667
142
405
294
562
575
621
861
391
759
282
597
282
109
387
901
746
900
757
519
441
65
306
715
181
978
169
508
521
291
221
871
946
385
496
652
334
625
558
628
901
417
672
305
275
986
928
9
682
943
145
352
520
932
455
392
704
82
964
669
282
584
772
813
761
402
963
641
486
55
837
455
184
429
827
793
483
783
13
9
821
468
104
877
656
407
84
887
303
11
450
6
41
92
125
477
358
254
672
645
324
429
410
901
139
490
361
568
816
327
784
988
827
401
166
83
296
517
170
417
973
511
14
140
798
590
135
231
337
329
824
125
743
684
699
186
204
945
515
436
999
243
812
645
414
96
361
177
752
465
159
957
598
987
994
540
296
363
244
554
356
364
602
715
93
554
909
198
368
626
124
410
740
193
721
100
669
988
504
309
685
684
901
869
588
968
278
53
815
72
728
479
79
712
80
574
278
246
583
743
436
933
836
872
155
364
60
971
633
481
716
547
834
138
834
782
771
809
137
697
220
866
191
283
377
865
375
986
118
367
411
57
541
168
571
984
429
210
426
681
121
97
207
101
999
874
419
724
524
652
321
695
250
749
313
430
778
224
46
203
951
105
296
552
902
117
243
350
742
437
832
33
797
871
303
791
271
823
824
498
164
637
398
759
65
192
849
766
166
120
754
549
492
649
655
831
844
882
722
926
433
248
336
24
505
998
723
781
515
853
858
315
588
351
345
629
38
999
873
958
735
84
160
766
939
871
986
935
57
968
52
180
421
826
906
915
837
724
110
542
102
71
159
674
157
546
389
857
802
419
280
186
184
366
82
613
329
250
672
849
107
612
915
508
874
79
545
543
962
498
806
82
887
373
622
487
834
93
97
843
541
514
527
89
170
709
895
714
145
49
45
261
202
368
348
888
127
624
666
896
702
361
884
418
443
247
90
467
574
185
717
125
532
770
633
955
10
367
186
660
171
744
693
564
204
938
711
798
852
32
708
923
855
596
423
299
544
824
286
751
961
806
772
909
947
961
429
165
628
375
660
352
601
698
19
109
889
259
897
373
477
311
13
607
770
622
37
181
893
180
998
783
94
427
896
862
887
265
48
881
756
72
287
606
393
89
53
716
464
831
803
816
853
649
947
278
175
139
656
448
105
891
512
443
726
975
926
140
683
630
679
995
385
869
712
995
879
86
509
422
326
304
43
63
177
406
269
185
250
525
552
890
939
827
298
427
651
31
246
683
439
383
561
315
464
271
903
953
614
278
97
488
76
310
918
688
155
344
759
310
952
480
617
422
778
212
945
878
345
295
374
745
821
99
230
12
852
146
58
122
493
348
81
658
783
543
625
71
427
128
83
434
590
921
892
60
364
922
345
265
847
292
805
681
106
713
15
311
518
249
757
948
98
1
90
658
495
97
729
804
232
55
922
460
653
131
345
146
772
35
126
511
902
330
102
984
477
884
788
433
987
988
363
536
308
141
174
955
1
45
875
353
328
51
338
975
881
150
900
818
651
636
340
376
350
706
235
574
561
612
961
785
46
447
680
739
159
297
118
759
846
275
755
972
163
904
401
71
596
423
716
736
699
868
396
85
757
168
173
329
227
99
727
409
693
656
854
517
945
300
999
280
593
570
326
861
289
758
57
408
269
695
714
57
394
233
241
210
308
619
725
873
631
864
566
666
332
112
525
528
576
211
998
233
335
944
272
579
36
849
253
536
353
159
354
653
981
144
801
796
946
78
629
614
506
109
986
186
231
549
231
981
187
496
455
590
457
222
722
704
429
499
309
462
353
845
666
593
698
726
662
745
753
885
897
27
711
331
523
55
217
960
63
732
989
453
183
589
651
875
216
743
357
348
536
463
155
273
527
859
259
870
3
443
594
163
401
195
19
189
984
260
626
862
567
634
384
889
26
985
177
104
920
297
990
848
115
159
598
343
190
324
588
532
783
642
3
524
718
588
166
614
950
381
507
826
897
136
313
50
668
558
375
170
92
468
453
4
212
825
302
485
63
975
797
288
178
588
318
24
215
106
142
179
519
533
68
238
220
129
865
789
693
866
431
978
798
525
738
358
355
964
739
48
733
383
419
131
259
402
74
376
399
362
738
708
303
559
380
326
366
49
137
5
896
250
385
914
878
808
879
232
54
118
564
955
250
434
888
529
931
710
634
406
497
217
335
142
679
470
323
426
736
223
337
308
840
91
398
919
161
895
370
217
675
943
186
588
652
295
274
720
118
522
83
760
306
567
953
655
280
141
791
508
450
465
139
953
667
311
263
834
932
13
829
910
557
518
593
944
745
643
261
269
197
362
362
863
279
383
542
16
747
252
138
939
756
930
295
16
157
132
164
972
648
694
923
905
391
921
431
19
130
135
379
869
678
649
656
128
866
990
527
205
724
479
881
511
677
211
485
818
39
76
698
956
900
692
534
33
836
37
326
466
482
133
486
388
148
327
33
410
107
610
601
275
105
938
647
707
922
684
428
603
549
228
127
805
636
142
178
850
396
635
457
479
76
680
502
178
445
741
332
720
471
142
771
469
533
876
377
222
31
112
237
465
240
730
898
259
620
969
675
377
539
679
389
947
572
720
385
622
101
775
298
178
947
204
650
583
145
615
776
736
784
489
24
527
41
545
403
371
150
552
66
86
69
895
140
845
34
572
365
935
21
221
973
224
385
414
1000
578
568
745
7
931
853
141
761
363
569
459
992
332
27
635
785
145
750
594
510
881
216
657
430
221
422
418
329
75
87
930
529
449
169
561
651
764
706
76
380
679
685
332
235
561
766
486
76
904
177
735
656
390
86
468
48
770
13
130
164
431
650
235
934
336
552
764
899
986
756
578
134
236
307
611
437
31
64
310
660
633
897
241
917
483
607
795
156
609
435
670
230
438
52
170
194
887
302
394
6
915
771
62
202
31
467
75
397
859
517
908
658
515
783
572
890
437
763
199
391
310
938
288
627
889
996
226
112
877
984
32
990
452
521
166
546
720
621
849
426
134
583
593
759
881
655
536
753
348
839
736
567
34
324
796
439
690
500
75
115
69
392
234
583
357
689
105
16
298
210
653
602
1
802
344
635
702
153
362
841
20
948
927
409
839
127
450
621
562
740
359
292
326
42
229
432
766
13
267
709
22
468
309
291
997
257
224
616
328
858
13
474
111
811
988
536
228
45
76
138
1000
137
724
690
981
922
856
547
960
702
60
573
591
483
497
904
630
292
36
603
476
663
757
27
533
783
298
690
953
633
457
352
483
699
110
859
447
487
765
1
391
80
17
265
572
506
757
913
214
479
237
242
472
399
980
261
93
135
125
220
63
227
956
658
932
616
281
644
82
910
849
883
948
493
136
256
76
508
746
110
952
832
98
340
737
702
259
892
393
577
602
808
213
138
399
376
416
94
618
231
305
573
943
497
478
462
485
189
685
996
742
125
269
275
116
535
526
140
674
422
969
41
943
458
207
81
205
885
109
451
149
440
959
821
767
810
558
86
48
484
628
64
400
183
393
353
675
214
923
582
379
212
693
707
927
723
806
860
766
10
504
455
840
269
924
953
113
156
515
697
827
196
211
711
755
121
192
206
954
683
71
818
418
804
414
283
612
185
777
305
75
664
865
915
128
685
982
471
292
183
696
760
183
120
488
395
479
648
253
775
95
586
671
439
791
502
858
531
316
191
198
454
609
733
935
526
708
675
935
581
826
54
989
30
443
149
195
842
385
860
219
276
607
572
715
950
775
193
769
47
837
830
3
991
454
211
899
953
569
533
962
933
387
899
593
950
744
878
920
113
180
1000
367
912
30
217
475
148
489
423
305
290
925
170
792
926
690
595
589
177
283
407
240
623
994
513
40
312
133
463
533
903
473
474
446
839
849
191
748
740
710
723
687
857
10
732
876
533
20
514
939
84
534
94
805
441
451
306
462
155
915
726
864
109
29
109
756
382
649
677
337
219
944
185
92
15
174
226
583
532
646
623
699
305
913
81
667
363
43
507
116
916
254
512
628
636
272
671
484
502
532
40
798
983
740
284
798
479
371
535
809
528
404
739
390
309
949
841
173
302
477
608
152
842
17
296
599
457
42
626
286
511
774
747
425
711
260
956
581
435
908
939
816
690
139
228
510
742
393
377
622
104
73
70
633
635
876
38
43
922
600
148
118
36
739
536
490
978
93
924
361
828
161
603
290
689
339
642
995
17
760
13
132
797
207
270
807
359
656
289
391
318
880
390
324
238
39
830
733
135
328
270
93
880
554
308
639
882
13
609
927
160
112
445
750
82
8
702
627
592
936
552
165
682
998
990
962
277
943
416
99
425
864
260
919
877
779
426
545
746
821
969
490
893
93
25
819
89
292
426
520
831
891
881
156
852
3
835
394
26
43
353
731
360
985
426
560
190
272
159
764
563
454
162
179
980
217
314
589
366
760
772
412
145
399
744
852
786
885
78
115
38
161
149
207
338
172
882
961
560
937
17
183
354
264
866
259
818
406
871
87
131
441
284
992
76
381
126
112
117
828
395
835
763
510
175
28
521
172
904
187
620
117
551
118
64
144
884
472
276
770
297
226
767
380
927
237
796
409
888
95
961
716
500
816
10
109
337
361
950
315
756
570
680
819
332
865
999
656
283
994
786
648
532
172
569
585
533
184
506
545
370
437
980
887
909
452
669
441
993
23
923
83
763
103
748
189
183
504
505
415
780
645
683
895
395
955
743
216
501
944
93
449
251
675
691
138
951
103
671
364
124
726
615
927
637
87
814
235
664
949
907
714
382
347
798
414
382
339
651
28
749
978
32
719
650
926
24
979
31
178
206
273
749
562
949
330
52
24
377
798
798
253
692
409
270
828
299
946
705
931
308
67
914
617
540
496
492
814
131
142
143
468
190
513
601
744
721
133
470
763
222
779
57
154
945
44
942
587
779
102
593
547
131
607
802
829
976
309
104
645
450
330
632
729
981
35
37
597
967
93
215
900
447
611
590
884
31
233
595
96
598
654
828
827
934
345
86
246
500
177
78
836
9
226
209
514
339
314
213
791
591
707
798
416
748
984
708
213
532
292
766
260
476
67
545
99
177
844
259
426
972
952
374
589
988
747
210
257
652
505
504
839
232
277
496
579
937
815
611
758
430
114
220
126
331
289
272
493
462
223
836
381
105
924
681
822
530
548
112
607
392
853
167
830
391
228
170
87
732
477
375
529
542
305
86
840
370
782
228
303
278
105
797
344
872
667
18
339
798
776
294
10
837
362
265
419
798
674
348
461
773
268
179
734
207
557
247
855
433
813
861
607
2
800
295
787
158
135
593
265
287
79
50
540
35
696
833
69
38
236
543
697
912
138
786
832
214
284
973
389
579
988
649
124
145
757
601
699
659
16
909
715
382
856
851
986
18
347
300
537
420
110
835
154
733
660
279
829
994
499
815
134
931
39
138
336
847
250
308
100
43
325
123
727
167
766
859
182
272
46
156
617
103
386
692
704
334
256
38
836
52
943
737
212
765
857
240
844
626
323
776
813
345
256
648
435
486
479
690
591
448
420
869
126
463
610
45
127
355
667
974
868
649
467
509
385
851
783
775
990
374
982
840
485
628
282
12
497
252
683
425
138
330
905
58
142
719
608
614
757
255
682
10
895
739
662
339
512
42
142
264
715
604
637
753
858
882
500
964
772
7
340
874
293
55
910
911
501
804
548
487
374
842
107
811
145
153
736
767
258
119
26
977
678
950
796
387
291
176
230
832
245
732
189
87
405
569
223
849
525
488
261
937
353
50
990
767
656
36
647
795
49
878
337
221
617
908
3
690
524
66
868
127
206
903
502
120
281
353
677
453
21
745
807
506
61
968
96
224
78
527
481
283
285
474
66
889
966
841
37
376
707
244
978
400
676
805
86
43
26
382
58
627
514
384
290
323
496
119
628
966
721
695
82
581
794
8
833
252
715
218
349
885
666
445
646
348
85
92
543
208
119
345
266
19
742
914
932
685
190
987
205
943
864
727
935
418
541
370
673
1
530
117
755
576
422
597
78
175
194
590
770
757
750
107
730
689
389
666
382
876
349
794
80
260
299
359
291
41
586
331
72
547
113
970
383
179
965
226
445
189
279
365
718
388
403
428
64
31
77
170
291
250
251
534
618
400
138
561
548
601
294
883
252
558
817
559
859
500
273
109
985
671
551
26
394
366
686
929
982
937
607
775
122
548
891
243
17
711
863
473
886
793
789
827
707
755
512
265
753
362
583
177
350
968
836
289
116
785
417
304
456
220
446
517
225
480
879
536
284
134
627
587
139
740
666
619
991
959
698
563
272
815
911
670
208
862
504
784
19
83
957
790
130
280
466
247
150
545
579
378
456
188
807
187
932
135
946
455
753
382
867
771
199
580
822
538
85
166
640
114
811
804
790
881
980
28
937
1
212
111
511
118
77
198
806
25
55
625
286
617
24
172
122
48
90
749
451
95
470
587
476
169
774
610
361
293
224
47
760
619
315
735
994
761
917
779
103
264
97
451
437
61
750
206
39
636
711
739
774
924
162
830
65
680
23
541
153
182
486
19
962
623
14
742
42
504
950
566
556
657
325
335
950
258
583
134
780
363
735
491
128
28
864
956
207
32
8
535
24
608
202
388
432
332
835
50
508
509
576
195
954
986
813
617
136
287
913
675
458
387
684
918
983
234
39
986
631
321
272
183
791
251
288
281
911
240
841
242
480
932
94
536
818
742
821
645
274
171
157
159
752
192
117
605
959
848
5
758
414
668
452
747
58
379
46
679
233
637
450
896
931
202
426
175
454
61
427
410
67
474
292
322
772
839
77
765
99
555
282
38
664
773
536
419
305
61
326
834
811
478
504
157
606
551
90
143
253
912
406
433
351
138
644
346
170
460
782
431
392
575
193
867
444
730
368
836
216
632
940
937
380
507
582
561
174
789
427
898
244
527
361
908
56
573
925
161
509
5
567
913
536
68
712
178
949
81
403
843
264
414
318
37
980
630
571
113
624
334
69
557
894
88
100
84
409
1000
514
982
872
240
76
493
967
781
563
646
933
131
712
503
547
677
424
214
206
536
485
613
903
492
668
380
164
661
269
905
395
43
998
105
730
995
705
379
123
957
567
794
386
503
235
364
865
855
916
993
684
569
526
228
822
981
867
496
804
379
229
897
464
566
958
952
56
659
296
905
971
488
245
354
461
951
288
966
57
17
554
15
823
851
407
318
194
715
522
889
914
881
189
308
491
767
1
362
687
928
75
977
768
313
659
870
649
417
316
609
584
575
865
956
793
651
919
512
230
827
180
627
734
992
583
493
980
517
50
140
940
804
849
778
93
80
519
556
208
344
901
362
360
256
52
695
774
14
745
34
189
950
799
346
708
659
703
552
526
951
880
846
477
838
446
716
109
41
526
400
839
230
13
329
837
314
157
735
439
623
530
277
269
746
723
977
776
137
575
218
521
310
900
843
417
629
407
625
84
210
973
524
611
444
519
159
337
1
470
871
693
930
199
628
755
681
905
733
931
421
92
997
112
33
197
585
702
575
932
213
169
764
592
788
142
280
932
809
635
274
190
106
668
525
521
543
414
59
383
335
21
933
393
553
411
91
812
168
711
862
65
768
408
701
655
647
20
270
423
559
791
771
338
825
956
756
931
874
139
293
999
500
796
455
492
345
950
588
286
121
122
717
146
99
18
735
321
257
485
743
71
270
238
19
919
211
102
603
592
442
848
441
378
663
215
315
159
517
390
594
438
448
30
906
495
745
902
458
235
834
354
635
369
904
106
903
329
914
341
802
718
864
624
976
147
969
996
820
51
35
482
239
407
923
310
475
358
420
425
736
375
256
194
544
980
278
815
384
20
970
590
211
138
628
116
824
413
496
417
942
87
75
268
52
936
638
230
754
102
715
431
369
155
923
756
48
741
85
899
459
408
971
685
440
113
415
183
633
480
742
367
250
84
659
548
554
907
791
315
597
650
47
516
990
768
864
647
257
917
149
96
383
38
483
870
716
406
679
786
307
832
354
651
97
634
544
581
100
128
731
464
887
183
863
545
218
790
88
255
626
708
944
679
129
991
715
537
10
596
469
139
784
349
109
539
57
232
361
47
964
369
258
310
276
73
85
427
64
24
197
931
14
2
355
34
111
548
439
217
408
650
506
101
61
782
145
568
602
659
1000
251
685
651
158
840
186
82
811
132
582
603
240
412
995
380
686
503
141
102
157
817
729
735
507
821
476
481
448
594
45
613
249
587
657
775
3
253
55
801
271
964
776
335
817
500
413
373
931
455
653
313
522
109
403
290
760
636
233
362
574
95
717
583
682
239
968
118
194
80
834
344
19
81
747
302
439
986
198
965
280
631
165
527
5
470
591
339
951
217
185
137
639
722
408
984
796
144
494
659
254
543
736
290
389
261
103
712
133
831
420
346
883
718
993
434
816
873
554
63
236
958
856
783
545
99
49
537
399
200
235
273
370
174
227
875
193
930
607
992
298
587
602
923
865
186
220
975
72
124
279
614
569
632
725
267
464
878
644
895
249
720
910
263
192
676
283
435
671
428
84
145
812
78
279
568
588
369
911
511
213
352
349
184
278
277
751
523
570
39
459
526
939
145
797
147
873
37
876
97
693
531
573
338
389
328
806
126
163
803
580
228
678
747
67
321
886
347
153
668
19
439
454
843
38
997
823
695
364
897
730
723
206
217
729
760
184
732
418
173
210
801
901
800
817
552
827
500
190
105
438
484
178
620
968
582
473
91
904
213
956
163
313
101
938
696
480
715
650
488
541
13
877
293
681
301
63
299
732
935
585
270
678
136
113
855
654
432
174
992
538
83
79
866
87
390
344
672
926
973
646
272
351
940
96
906
69
365
351
303
475
649
639
911
39
148
314
455
662
919
959
721
644
545
341
284
2
808
811
865
493
368
790
164
584
741
102
296
27
598
788
395
453
793
917
595
561
627
681
314
77
528
667
717
654
735
825
303
246
580
103
785
341
647
70
826
591
450
191
733
42
238
566
915
143
212
61
780
184
734
753
718
599
91
552
39
853
971
631
28
240
123
67
751
11
567
696
929
657
351
732
934
94
67
141
953
723
259
107
461
28
410
189
391
482
412
919
832
971
290
669
651
888
497
577
158
333
248
210
827
551
239
436
145
874
573
643
834
943
870
68
67
920
351
500
799
715
148
10
26
22
233
708
568
68
91
738
4
576
765
840
487
341
916
862
474
242
358
549
859
251
875
756
603
173
226
34
705
460
941
142
302
396
879
664
734
387
567
338
653
854
2
107
664
451
956
183
474
952
804
601
296
159
566
857
51
615
158
201
964
732
794
97
296
200
138
147
286
173
54
542
864
778
750
684
330
974
701
197
979
612
978
976
616
872
518
255
11
865
442
960
581
338
704
757
57
848
279
255
404
721
587
848
52
359
52
497
346
227
522
593
180
904
799
705
986
153
654
610
597
864
521
547
8
59
539
993
755
904
721
618
426
795
806
284
818
161
806
87
394
564
319
460
965
43
446
338
5
451
559
181
586
653
208
457
699
88
172
803
641
168
68
689
209
371
888
861
712
708
611
213
151
433
280
50
501
502
19
869
694
270
57
905
808
398
162
679
912
707
858
698
253
22
395
293
748
636
751
269
257
131
867
711
717
691
884
793
61
970
452
900
737
791
16
715
796
673
612
170
756
232
864
342
874
18
784
416
39
234
487
831
219
76
121
597
289
154
157
559
116
572
672
65
969
746
426
123
681
986
326
596
499
187
349
439
242
720
111
252
191
765
59
701
129
858
671
427
91
416
174
169
660
333
12
692
115
537
711
38
335
557
840
305
117
748
494
868
506
795
81
498
790
528
244
316
50
859
410
902
550
903
818
160
798
896
871
729
779
611
297
849
767
345
929
563
93
420
884
76
435
352
514
893
520
522
822
95
600
188
924
723
723
185
781
794
577
485
625
907
684
82
428
743
772
333
329
35
475
977
133
709
875
534
883
16
16
692
20
389
223
578
844
700
970
535
822
328
71
123
789
164
162
600
239
285
823
46
715
514
172
643
770
508
459
360
98
329
989
427
207
681
707
545
444
107
887
737
269
517
710
96
427
311
892
477
67
240
216
337
922
905
507
529
363
437
561
813
542
473
585
303
832
38
957
787
489
288
479
149
778
385
866
671
815
951
889
55
22
650
470
415
418
458
24
315
904
80
510
184
360
807
998
85
618
810
15
840
331
515
586
10
333
232
687
59
349
649
744
333
803
160
967
119
29
243
530
188
435
272
43
661
993
205
338
972
8
579
328
979
262
94
563
998
503
901
177
635
711
352
113
834
764
591
851
449
913
888
406
23
930
989
14
169
964
102
743
94
850
361
273
375
111
719
202
44
949
288
531
399
274
53
457
731
237
766
172
344
780
559
154
821
423
488
355
463
913
784
743
257
346
55
924
492
92
83
914
390
176
104
718
696
768
717
31
215
92
586
283
711
371
188
200
389
391
691
279
468
887
933
877
946
241
146
73
749
902
730
154
895
539
892
311
177
191
443
122
124
560
355
485
703
179
958
944
281
380
823
744
869
873
422
552
566
268
650
501
414
72
164
95
599
497
284
577
20
965
890
538
806
296
353
919
246
422
34
65
976
890
304
155
952
584
361
165
941
836
319
500
767
563
206
558
532
119
518
802
395
353
940
351
248
701
666
719
819
267
542
71
317
499
880
325
696
497
385
458
64
978
88
641
493
617
597
187
769
839
200
877
174
118
618
883
445
487
254
399
482
304
804
99
192
246
18
684
113
139
202
141
88
538
779
795
344
854
859
878
748
460
313
135
905
433
265
943
23
491
285
506
152
272
817
971
475
262
538
736
838
620
389
750
579
616
45
406
38
621
397
452
821
410
486
428
23
44
953
324
112
751
702
508
135
25
986
492
201
647
501
765
971
423
431
764
11
263
577
8
413
592
859
585
69
244
502
462
315
679
153
533
466
813
54
949
904
767
102
3
10
602
352
797
170
439
17
970
511
417
550
998
830
613
741
985
358
403
60
383
641
713
659
788
834
308
567
834
122
515
579
182
825
809
302
803
984
252
585
73
858
101
324
654
828
806
243
816
653
216
792
605
894
74
753
252
589
761
473
283
927
829
931
98
789
58
968
163
454
675
116
567
733
864
396
410
26
913
376
375
573
157
524
898
219
407
623
525
590
666
583
422
458
783
505
512
451
131
261
368
948
538
175
844
208
471
597
370
275
895
318
22
203
347
785
716
478
486
36
382
312
798
112
529
631
191
462
426
197
929
522
983
250
724
208
558
501
848
544
86
65
785
22
354
154
312
576
785
966
872
255
762
215
780
755
431
171
77
10
888
939
852
912
852
907
453
86
246
971
274
342
571
174
782
70
633
870
985
378
932
378
829
204
11
367
907
12
148
887
401
883
42
45
432
49
556
814
818
897
182
361
822
530
577
574
602
782
462
190
964
415
170
20
479
896
365
313
204
762
791
202
34
75
431
527
208
893
123
59
576
990
499
301
52
285
107
586
73
571
710
158
13
171
30
283
219
93
693
203
752
92
702
933
978
818
549
475
859
888
985
11
178
272
551
52
955
870
195
278
990
547
695
80
822
146
147
351
377
229
488
157
251
367
857
315
843
818
639
738
585
348
185
663
59
747
528
501
144
335
919
123
209
379
602
836
6
875
87
172
128
580
101
894
835
559
505
284
568
732
751
866
732
92
835
220
172
315
317
413
295
466
673
900
997
399
167
436
365
187
437
669
651
679
236
598
146
820
69
1
395
903
38
286
678
337
828
942
775
812
621
925
842
990
693
849
628
954
600
835
385
717
133
213
543
989
684
45
647
310
285
634
97
339
311
742
958
829
790
236
468
307
318
293
918
16
818
72
238
21
764
989
997
673
44
330
477
821
317
970
188
267
604
385
445
946
840
980
648
239
292
994
479
644
82
890
547
746
519
189
917
56
599
165
576
844
807
675
118
500
323
696
827
340
834
767
934
8
406
678
989
792
307
183
197
236
241
452
87
415
166
240
60
104
801
499
204
867
908
242
279
788
700
998
897
156
37
133
762
921
602
634
275
162
918
692
963
110
893
577
925
501
548
837
968
155
748
811
166
735
15
833
336
551
989
232
322
150
671
457
43
169
384
201
975
603
275
415
102
200
273
471
412
165
644
569
692
749
677
658
711
563
565
771
886
677
270
702
182
640
991
358
291
563
876
971
118
344
805
597
212
892
364
943
64
962
645
656
138
835
110
648
55
600
588
871
660
248
397
287
535
150
691
380
137
718
419
707
921
221
667
423
698
815
763
655
1000
780
221
851
407
877
531
996
636
491
801
649
685
953
487
306
484
987
800
523
307
782
873
530
669
567
466
860
560
891
794
620
632
51
46
594
402
206
316
340
618
792
933
792
693
767
663
649
491
66
828
18
841
424
169
355
844
348
203
745
427
622
874
944
613
192
566
412
671
633
903
791
648
728
310
876
783
858
38
142
946
985
160
354
570
61
113
571
508
553
488
130
847
639
124
829
27
312
18
579
509
301
224
252
858
211
692
324
332
765
961
171
984
349
706
563
840
338
432
982
929
832
998
868
817
492
239
814
829
158
705
13
306
794
382
971
124
99
350
631
158
814
498
556
556
347
789
741
483
866
84
984
463
381
183
458
576
698
596
280
541
316
510
434
143
490
573
353
564
710
401
823
926
784
178
670
740
577
298
829
43
196
801
6
683
81
225
134
634
32
622
187
192
664
675
764
643
173
269
21
301
586
395
177
816
832
980
816
314
120
80
643
248
54
898
192
762
885
247
206
66
72
407
82
511
68
813
781
71
884
640
122
464
502
142
183
429
657
572
841
570
865
584
151
734
823
321
333
98
459
769
651
41
992
568
336
371
335
184
24
679
30
232
891
440
734
799
764
950
920
799
18
383
87
760
1
20
274
948
58
195
64
417
953
612
609
365
647
478
413
213
944
308
740
895
457
385
567
201
740
560
914
426
158
527
269
202
298
731
547
145
262
797
700
881
195
752
673
64
788
316
839
263
309
234
471
959
904
974
58
446
541
95
482
123
990
245
179
544
637
68
380
563
795
262
489
124
399
640
412
549
600
340
443
651
858
267
867
660
579
408
53
724
179
958
189
707
781
62
194
107
375
540
597
191
393
199
313
838
117
193
329
192
239
416
293
925
202
103
861
819
655
668
446
407
457
282
734
630
203
859
876
794
164
927
832
662
867
338
705
154
273
861
240
961
678
514
902
378
977
917
35
764
938
22
692
375
441
338
626
719
464
182
797
231
729
513
516
798
532
671
984
597
251
653
576
789
449
651
671
821
252
219
225
513
926
777
571
601
170
198
101
164
671
816
615
171
894
555
104
416
897
823
643
299
239
431
918
184
644
85
593
607
177
943
378
196
121
285
198
987
627
647
287
761
460
601
398
132
860
6
561
380
596
687
987
452
817
441
799
98
158
754
206
896
888
804
658
735
585
200
290
444
951
340
629
395
863
497
199
296
738
491
89
901
575
301
22
18
802
104
742
38
190
969
785
178
662
894
804
768
756
977
675
226
906
219
554
785
429
905
883
655
321
529
114
88
524
980
589
688
332
47
557
431
987
360
802
43
318
529
731
826
498
634
56
513
594
170
391
470
604
229
199
404
118
8
510
752
563
694
756
90
214
392
884
237
842
64
618
204
873
349
396
764
421
753
25
242
423
935
540
49
342
699
109
588
629
909
87
457
177
701
454
243
511
292
988
818
343
170
437
763
441
666
894
430
432
736
323
194
320
274
890
671
986
437
361
999
873
276
318
823
400
423
363
271
382
717
801
44
868
410
508
736
392
64
824
601
549
308
355
325
200
376
491
774
386
771
315
317
168
443
326
74
250
578
53
356
176
489
218
668
332
101
570
820
751
248
886
152
960
275
950
346
681
518
468
73
271
806
17
512
160
508
108
843
412
560
368
951
771
569
640
929
184
342
557
415
852
138
747
485
332
526
379
563
48
980
196
802
875
242
524
483
98
55
22
223
174
67
67
232
164
594
766
424
656
447
545
895
243
223
139
210
371
289
611
953
471
202
712
201
801
436
483
958
367
126
516
68
612
983
709
811
314
663
642
221
259
649
956
128
837
159
221
66
631
638
829
500
470
199
390
253
152
726
950
638
260
450
111
548
24
509
793
691
230
370
949
221
529
32
3
245
319
613
184
99
575
242
195
779
629
218
858
679
898
994
473
590
14
912
632
944
613
539
146
476
315
94
552
772
25
730
394
665
794
367
106
92
881
379
858
787
566
654
165
175
499
485
408
899
81
276
687
708
426
292
556
829
954
535
290
537
575
366
281
359
695
665
60
238
7
180
221
28
145
207
201
898
777
876
501
557
662
164
402
757
531
192
666
176
356
497
23
605
776
748
460
376
934
809
470
69
995
144
449
844
944
294
369
209
38
587
713
610
483
273
401
32
460
998
107
670
648
925
924
855
738
805
823
612
307
13
718
633
536
886
236
1000
970
712
498
660
447
359
290
557
820
855
38
293
890
185
889
396
207
195
23
575
83
788
55
827
144
496
998
918
274
145
817
514
623
547
18
238
643
59
93
993
786
435
876
177
573
569
35
829
262
646
3
318
190
704
586
923
217
832
426
531
370
39
227
743
916
337
375
845
620
759
173
501
848
788
420
493
530
194
474
540
726
365
241
24
694
14
792
455
890
554
395
625
309
566
820
715
937
482
702
47
842
46
593
804
617
163
103
781
477
456
172
159
292
230
104
381
233
572
443
411
522
994
179
76
961
366
25
713
568
904
736
58
619
590
506
158
866
753
507
108
514
485
525
579
769
188
492
439
443
822
407
226
122
387
795
906
891
720
363
105
448
962
988
980
726
965
480
995
815
422
856
123
59
777
996
416
681
796
633
474
208
234
595
54
254
222
102
965
916
805
709
430
189
607
163
292
278
713
71
822
658
679
739
358
33
70
1000
715
97
5
126
104
155
1
165
290
184
831
166
855
917
203
804
730
844
801
828
592
852
663
650
365
339
899
94
779
291
477
44
910
732
200
235
652
401
980
970
338
292
251
858
106
897
653
17
133
623
169
331
582
855
499
479
962
582
797
444
588
312
863
113
32
280
479
433
760
552
885
262
636
717
309
718
606
292
55
360
685
854
920
968
311
153
575
35
215
170
156
369
274
129
479
310
163
10
196
196
256
949
728
636
922
266
981
54
273
530
728
749
437
204
998
405
660
936
983
585
879
471
792
247
919
517
836
743
152
603
744
48
261
162
512
236
754
566
985
305
985
841
913
516
770
144
503
347
88
843
874
10
11
221
788
230
744
424
842
660
565
247
592
852
565
745
174
202
286
465
634
645
759
314
525
174
988
664
345
454
613
337
20
883
364
545
960
475
913
660
176
840
897
975
568
358
229
222
778
372
283
687
929
837
172
211
165
427
143
235
156
512
58
323
634
794
34
243
582
630
587
828
920
229
29
255
400
993
457
346
954
228
394
738
912
344
41
522
368
436
123
34
456
852
537
19
440
923
354
313
363
561
222
509
440
830
938
833
501
909
708
586
595
105
673
54
262
681
350
779
113
328
980
399
59
18
196
84
984
865
39
730
667
336
124
698
514
837
651
824
2
273
61
880
796
630
347
409
148
26
426
112
572
961
520
555
735
687
198
984
207
709
585
479
989
453
248
488
714
24
456
50
42
813
827
630
47
431
840
563
322
71
366
560
122
937
129
572
124
836
969
620
261
359
911
826
677
328
251
4
33
386
361
633
300
612
416
949
678
84
40
173
470
134
714
630
594
862
860
583
893
166
682
191
574
111
254
852
905
19
796
589
766
20
798
837
785
151
449
159
546
312
821
940
812
512
388
107
781
864
766
254
152
762
998
328
172
478
319
230
901
213
99
236
643
272
584
156
871
604
126
538
984
437
816
13
949
87
854
117
192
349
481
494
109
22
56
455
239
266
670
251
414
453
734
275
205
114
130
656
582
382
833
315
988
79
433
645
963
186
557
427
57
17
54
424
989
818
710
419
944
898
377
104
443
625
686
307
433
790
894
567
129
925
15
920
661
108
127
96
763
685
595
16
582
127
33
591
186
920
21
357
501
990
912
406
210
683
649
388
633
701
95
121
696
749
285
479
908
842
924
783
687
363
646
878
454
6
797
437
683
662
995
821
487
175
296
979
380
635
579
464
562
540
669
646
476
737
788
563
375
498
187
687
348
514
147
80
593
813
138
10
705
863
571
149
416
180
489
874
539
774
499
55
809
686
473
905
958
684
818
182
641
894
637
4
733
800
718
79
164
551
96
936
636
994
864
86
545
149
41
659
913
156
545
189
422
834
750
688
462
93
681
35
664
396
626
51
555
356
839
273
822
333
41
628
180
599
649
659
954
221
987
936
348
337
273
591
795
889
831
650
925
216
808
8
472
120
658
415
845
151
778
818
228
889
6
758
768
961
105
296
854
353
990
130
527
350
209
110
789
100
96
405
938
348
122
914
101
382
153
361
807
590
767
682
793
334
270
967
222
25
800
201
158
395
738
509
449
937
648
411
121
449
182
866
33
375
648
500
795
400
478
481
915
374
431
957
692
177
192
836
665
564
936
973
298
416
587
466
147
32
711
903
985
289
440
835
215
561
384
688
444
238
206
603
259
604
461
418
111
587
292
100
684
598
832
479
293
281
462
49
668
492
641
931
938
232
643
845
754
600
407
71
273
15
647
937
144
138
541
335
760
903
586
111
740
64
667
978
66
474
999
734
291
79
361
203
27
285
945
250
218
903
243
665
793
350
610
485
945
197
531
528
619
397
168
559
828
735
467
491
10
171
938
459
6
688
270
479
172
239
88
564
757
145
482
903
987
60
431
689
195
224
884
680
953
288
43
434
390
389
349
423
807
571
773
900
232
835
298
504
791
307
862
56
643
61
637
882
752
115
236
339
944
987
331
895
556
3
211
243
474
225
3
438
496
465
646
996
795
380
206
196
684
9
808
589
56
486
261
860
597
839
467
722
349
938
803
510
264
694
997
474
147
537
437
577
789
68
492
735
149
517
142
73
162
314
183
708
116
650
314
4
579
352
652
30
530
817
611
150
708
992
638
317
157
630
965
632
637
87
435
175
852
998
434
947
426
25
162
985
174
724
773
388
498
281
422
9
663
511
870
43
317
30
114
624
842
988
444
769
51
51
432
726
286
622
653
849
195
417
301
607
345
612
498
238
342
702
785
864
332
159
176
575
572
699
232
128
289
696
765
398
167
885
172
677
636
957
904
223
592
125
239
219
294
995
347
428
975
343
645
412
125
510
535
102
517
161
956
907
753
106
593
296
563
734
216
975
108
332
387
354
267
282
663
13
276
627
539
233
81
36
573
488
487
527
538
9
506
615
995
102
308
758
355
982
828
40
401
253
405
60
192
53
782
904
511
70
418
875
269
317
358
414
827
594
812
244
789
20
214
307
631
882
768
546
481
331
380
865
474
109
454
923
353
596
236
532
430
950
256
517
571
990
959
864
623
805
798
874
579
756
888
795
804
658
839
142
888
457
528
470
998
634
373
905
152
904
152
119
489
533
522
784
434
696
184
725
656
921
43
166
816
547
853
459
448
552
537
660
728
827
798
136
494
188
700
168
667
979
598
164
129
109
181
654
167
767
422
739
868
871
892
6
199
490
269
265
70
109
846
578
370
633
493
241
831
433
864
290
576
591
574
102
380
722
714
397
10
416
345
751
473
368
538
283
649
759
134
777
582
268
630
905
640
421
514
585
882
607
909
744
209
206
638
942
312
757
657
366
1000
985
350
661
221
810
371
984
980
163
537
421
389
571
794
602
315
956
426
967
410
56
469
625
848
180
790
157
745
784
386
46
85
445
251
621
927
431
574
562
830
958
166
999
718
635
695
248
858
348
777
6
220
7
990
639
280
186
595
816
210
644
155
342
491
137
220
489
233
712
975
532
836
907
63
447
204
866
801
962
408
421
664
222
549
602
203
330
600
901
569
976
153
798
377
127
332
774
982
525
635
25
141
335
63
586
626
850
719
423
608
571
20
338
549
353
716
175
853
560
260
941
809
318
393
908
166
37
475
688
256
343
749
546
732
441
675
946
865
709
459
435
795
27
154
473
330
940
17
777
663
246
371
45
866
37
836
685
122
510
657
323
447
113
835
398
97
706
870
124
910
445
274
466
638
80
414
530
655
146
867
958
567
336
259
511
884
975
424
979
362
83
848
988
590
10
563
63
120
978
49
499
762
170
254
235
670
191
538
917
494
830
200
793
178
43
260
879
972
14
349
115
813
938
863
847
540
912
41
30
324
956
250
4
298
695
558
574
595
709
637
371
949
877
111
163
515
325
778
864
840
711
512
489
744
691
230
174
416
354
77
702
217
293
816
685
528
794
502
652
445
280
683
825
328
771
753
279
973
619
584
545
676
184
225
408
555
441
301
843
293
724
705
545
889
953
332
511
100
717
887
436
993
527
249
531
459
420
483
465
551
821
365
795
274
255
175
178
808
59
618
78
145
717
954
497
863
820
793
432
51
950
587
408
416
959
499
435
260
230
257
183
320
516
533
971
419
832
629
447
520
737
528
454
37
33
867
616
194
552
36
692
819
234
376
529
202
145
429
799
553
433
275
315
154
462
268
841
511
550
892
797
693
778
44
134
565
330
776
986
814
689
413
383
489
820
17
459
315
135
349
69
134
659
877
685
697
318
828
776
450
656
16
581
104
641
962
379
554
418
816
869
135
8
723
261
306
989
591
21
604
122
633
999
88
765
689
844
589
632
94
179
762
153
758
17
341
237
227
282
995
716
700
110
896
129
381
800
425
806
83
913
466
368
698
26
361
906
17
96
941
62
376
175
982
177
787
529
85
470
542
776
238
949
741
790
259
376
855
506
916
143
211
679
754
369
249
889
572
864
494
772
57
870
464
540
282
646
144
334
653
32
236
875
439
98
116
128
164
876
331
473
23
934
514
924
940
275
770
501
82
620
975
767
409
642
927
888
351
140
947
290
777
448
379
171
245
602
393
634
920
923
651
195
664
690
681
777
529
559
256
72
314
182
683
311
857
278
670
107
525
42
352
978
646
369
143
586
746
806
299
516
60
577
482
624
187
262
135
610
714
935
209
481
317
658
603
999
129
216
730
42
168
925
758
49
188
116
417
362
656
662
739
328
434
529
745
480
378
855
868
999
292
530
874
898
586
581
128
72
539
922
331
429
300
190
269
813
608
474
675
315
765
681
69
878
563
200
292
813
713
287
520
949
824
298
730
657
128
488
957
942
962
612
188
81
478
952
397
80
174
735
85
326
627
128
615
378
235
99
836
808
863
505
717
347
43
693
227
376
778
741
237
973
60
243
51
322
927
180
26
251
253
995
878
92
502
481
446
849
353
434
120
848
450
348
650
692
521
586
778
329
770
602
961
508
753
736
516
672
917
83
613
657
597
693
957
124
550
121
389
776
34
963
351
823
51
555
911
47
576
437
995
73
551
562
612
145
943
463
70
779
395
751
653
152
881
411
768
988
272
290
306
5
960
103
874
688
452
35
571
267
432
708
183
312
850
914
58
271
489
975
396
609
865
37
382
954
484
912
407
810
206
288
609
906
972
287
99
274
157
373
521
455
636
538
73
27
997
577
700
836
429
986
925
873
517
699
736
735
530
439
989
17
863
923
37
766
925
568
677
348
138
597
47
685
712
659
818
841
484
174
867
381
457
605
636
720
606
787
562
959
175
254
262
336
925
212
668
450
779
477
926
922
841
186
668
963
77
563
225
648
792
353
457
319
640
812
107
664
85
280
72
479
136
437
469
43
685
331
197
302
955
131
513
810
444
341
217
446
200
926
253
479
450
367
839
462
398
198
821
775
480
973
553
373
488
926
464
457
739
815
453
296
928
585
372
443
357
488
176
907
14
274
742
629
357
896
995
799
726
938
713
107
27
617
326
36
688
813
77
689
929
9
169
442
79
445
891
924
982
48
255
448
578
901
412
24
347
125
916
525
666
28
975
390
45
304
951
521
870
887
724
639
537
767
5
439
792
718
328
339
715
445
230
470
985
40
95
848
9
65
247
318
31
764
105
957
567
107
688
130
380
430
276
241
724
402
816
579
804
922
498
317
199
371
21
888
526
280
230
413
750
132
185
868
379
475
213
935
226
966
203
255
557
257
173
964
226
888
174
895
801
441
691
841
833
299
30
593
100
237
598
278
119
969
619
659
240
503
566
675
376
827
527
469
776
14
786
555
293
309
139
574
271
133
856
302
526
246
720
173
877
473
311
627
367
526
533
990
582
435
399
439
478
28
265
864
727
719
29
37
884
559
277
601
599
184
22
815
698
781
450
875
205
661
55
888
271
380
645
258
543
584
956
335
728
940
51
648
957
557
231
960
108
293
933
667
415
219
978
776
540
296
558
824
775
10
578
604
195
312
307
488
398
722
802
498
938
851
259
977
655
926
242
893
917
125
751
323
196
651
200
671
517
510
692
486
32
928
426
556
413
135
646
106
787
60
367
529
664
104
959
56
686
726
804
172
47
83
444
379
113
295
24
136
120
239
398
385
832
946
936
137
675
763
966
971
187
479
753
177
585
487
126
471
877
910
159
900
215
304
813
563
129
220
79
266
876
403
945
68
358
883
474
970
20
544
386
655
634
13
783
275
137
871
100
784
555
269
918
191
552
986
21
420
350
858
958
178
599
292
416
323
279
268
924
785
851
829
741
964
700
580
301
922
390
94
287
374
335
485
173
669
308
589
112
467
618
358
146
814
897
79
36
643
162
6
429
537
244
799
725
726
714
962
730
922
178
102
128
528
151
419
864
214
782
286
780
595
367
193
202
6
925
581
758
942
131
301
376
779
523
541
288
812
238
38
868
463
479
336
295
778
544
657
387
959
523
660
390
726
717
19
176
786
393
270
93
521
780
820
639
287
73
374
281
417
787
265
940
57
47
368
159
498
202
304
467
538
770
657
252
711
823
778
296
941
816
541
195
283
335
116
69
927
407
420
348
588
807
411
905
720
287
792
492
739
741
26
264
582
142
785
135
487
477
56
888
826
24
220
195
203
62
294
230
782
486
436
80
3
895
533
1
410
390
357
428
323
743
348
742
468
582
564
45
480
950
691
553
421
913
330
782
35
930
932
389
520
287
882
400
999
274
211
552
710
710
361
669
184
43
195
283
312
552
228
238
258
97
624
599
646
454
99
35
289
525
250
758
20
614
250
216
849
518
28
16
762
396
281
943
958
265
685
551
221
471
672
498
432
704
15
712
913
942
228
510
438
204
528
980
240
174
641
316
293
522
304
289
454
270
669
715
821
607
175
603
787
409
657
650
813
85
588
886
941
507
402
569
387
515
773
870
343
888
586
509
313
732
75
258
850
955
283
143
588
876
556
258
835
32
254
336
813
931
247
598
815
864
50
966
189
849
643
403
65
462
123
23
165
610
323
597
882
261
477
283
43
780
793
709
420
790
550
36
99
410
927
237
292
323
360
677
12
359
612
956
341
203
123
154
653
366
463
827
274
809
839
553
538
455
723
388
73
361
593
331
497
514
702
778
365
37
545
986
352
116
389
793
174
85
865
155
661
925
70
611
739
914
82
436
831
259
95
77
301
347
596
434
144
660
143
710
70
514
347
817
500
523
589
809
760
69
859
387
931
155
859
308
402
713
173
441
177
806
870
277
331
211
389
952
892
535
921
214
547
368
808
316
260
975
650
514
857
670
923
709
88
340
922
776
494
548
729
310
667
249
757
822
108
471
111
911
960
198
666
588
347
323
280
684
911
768
4
278
409
771
511
131
923
901
205
423
278
591
652
476
823
821
13
738
543
145
169
25
842
428
74
923
996
471
686
262
424
265
495
815
418
695
281
703
917
373
241
508
242
729
15
770
435
615
486
362
9
441
434
217
452
320
261
35
799
775
34
863
932
304
45
927
64
521
929
663
23
625
132
692
526
690
202
381
652
628
905
707
87
697
690
390
537
137
370
633
905
823
180
353
438
859
579
488
81
649
255
831
692
337
779
844
614
425
294
63
328
40
429
71
568
581
339
444
323
407
431
754
613
837
840
487
789
951
188
688
375
620
496
259
151
723
362
86
260
736
708
591
604
754
439
906
693
524
347
553
420
273
462
435
932
922
853
990
886
811
553
520
899
182
898
121
933
503
78
101
681
161
85
474
756
181
581
932
655
420
443
679
979
88
829
642
393
576
696
892
152
290
609
521
773
608
539
861
655
127
116
682
985
94
424
908
285
277
60
499
346
564
575
347
89
268
851
445
105
440
241
109
247
520
467
757
658
264
410
589
46
251
888
535
861
177
476
987
253
828
187
200
352
847
605
664
438
388
658
447
67
309
773
277
36
824
585
68
376
425
732
726
224
457
517
326
508
921
377
160
880
986
168
743
198
195
262
587
208
532
296
457
727
381
252
834
803
880
181
552
784
344
540
897
226
230
562
991
826
587
535
938
380
56
152
53
853
265
340
448
235
891
83
421
792
765
821
354
715
130
906
309
896
566
502
83
787
179
3
281
843
321
773
855
54
532
524
649
468
385
150
723
408
611
218
597
287
237
576
131
542
441
764
426
251
500
996
8
365
511
469
566
406
528
711
671
631
383
446
250
379
748
220
49
327
892
634
982
862
240
572
10
622
18
278
219
541
234
437
793
424
758
725
889
114
505
406
836
859
590
656
639
351
853
244
501
200
339
106
986
359
144
91
470
71
563
909
723
481
602
850
844
959
747
398
261
499
322
242
194
345
928
508
785
77
200
284
105
3
557
610
365
614
750
152
959
258
687
727
426
929
502
694
2
273
822
961
223
466
947
63
942
645
10
267
199
925
226
217
616
876
2
925
390
518
41
271
476
513
572
330
266
260
464
941
938
10
325
965
638
973
631
563
838
606
565
655
550
932
507
440
531
784
77
491
282
331
192
481
403
99
881
11
863
987
466
399
798
430
310
517
748
968
536
926
659
957
978
642
534
55
191
815
369
415
484
519
880
236
821
588
588
422
918
177
14
635
1
286
98
939
525
16
476
574
613
710
909
151
78
490
982
667
698
875
179
336
821
341
575
152
497
686
682
501
43
20
428
861
398
60
869
864
631
133
974
522
736
986
779
452
170
49
230
303
655
268
324
393
431
23
484
794
491
921
715
682
329
435
718
827
386
486
54
486
677
40
429
835
78
728
349
280
323
302
728
657
96
460
490
371
500
214
876
979
787
501
936
605
476
188
639
821
910
970
155
315
823
894
112
765
743
444
55
797
906
153
907
830
898
689
963
888
406
262
850
189
328
961
891
419
969
337
577
132
205
128
123
620
315
568
680
976
644
74
389
755
377
479
293
828
479
157
151
557
318
561
260
378
531
677
759
247
494
896
289
167
105
614
509
206
706
632
731
980
637
118
860
579
312
416
872
305
734
488
346
383
42
163
894
36
34
621
933
904
594
762
893
830
616
194
857
444
333
584
601
818
895
29
204
714
699
909
703
566
233
422
754
421
126
634
901
491
705
386
854
860
582
878
105
138
732
73
350
547
38
333
417
999
542
850
840
211
469
504
783
810
661
772
760
677
202
159
464
478
893
437
94
459
705
651
730
94
502
468
706
101
144
930
402
683
532
99
575
571
285
390
159
627
509
616
450
260
586
898
732
939
940
631
690
383
551
627
401
813
347
435
322
842
675
547
424
112
781
911
570
836
576
696
296
746
22
754
381
788
131
595
992
91
927
976
724
366
712
405
568
890
628
941
672
682
834
711
797
302
539
423
540
927
824
34
690
35
383
407
604
40
321
431
98
729
687
647
160
166
694
805
738
23
465
196
948
992
723
786
334
969
32
411
215
238
101
291
731
742
161
162
931
860
619
135
149
790
53
244
923
772
81
294
962
887
801
219
962
128
318
703
650
722
329
179
51
473
855
675
816
996
4
179
456
309
70
334
413
161
368
311
236
877
942
646
577
253
720
671
286
207
696
940
712
491
484
699
181
742
943
9
718
556
577
638
329
70
148
166
505
736
237
92
199
591
497
866
193
363
19
925
649
141
500
757
641
215
907
993
631
897
922
274
197
802
758
438
772
101
853
134
816
731
533
548
624
408
22
360
935
551
18
395
586
909
673
676
763
773
997
775
773
125
581
402
864
987
80
151
352
535
58
210
184
239
653
619
121
419
17
351
930
112
634
110
328
89
424
210
914
176
22
339
33
791
730
323
295
734
422
218
502
840
116
195
828
43
20
735
423
781
611
546
46
431
694
536
949
636
454
848
988
992
250
694
851
522
236
257
398
779
952
401
289
215
696
324
519
671
839
581
978
432
228
64
883
348
505
657
766
910
432
284
739
39
326
953
890
557
305
258
25
972
319
484
438
249
895
121
10
710
104
109
778
56
494
592
11
784
670
295
979
953
714
900
837
312
905
971
489
330
25
7
838
524
96
223
598
822
576
508
709
364
850
799
438
297
401
817
460
613
155
688
567
20
322
498
166
176
530
233
378
314
145
858
418
500
473
544
867
257
971
160
613
264
660
174
538
232
718
84
459
780
608
314
439
356
163
279
373
792
762
990
628
113
117
130
639
573
199
997
561
726
532
113
475
525
418
561
197
77
649
323
424
681
926
968
823
221
505
74
679
807
560
649
866
801
379
654
271
13
771
452
232
901
24
617
241
59
317
105
914
160
751
212
200
777
71
85
914
176
699
831
920
289
911
407
731
513
891
563
854
941
883
53
942
860
879
246
718
133
108
30
642
135
85
600
548
469
139
316
770
604
156
339
857
906
711
146
580
288
923
339
805
821
112
414
783
236
791
253
505
179
613
156
131
446
636
175
884
223
675
353
458
491
566
216
724
368
893
560
445
155
90
103
788
211
865
74
644
627
565
176
171
853
471
653
503
45
972
382
271
938
245
6
447
455
376
136
29
105
807
553
249
479
638
166
324
758
569
195
236
242
219
697
678
344
152
65
89
356
151
591
655
570
247
524
256
24
509
312
607
207
852
871
252
549
980
815
656
444
112
509
360
808
330
743
60
938
204
562
511
494
886
519
357
3
984
176
350
165
344
227
924
603
354
991
770
419
482
363
867
85
540
525
430
725
629
848
352
819
761
462
15
725
958
897
809
172
980
71
281
59
933
617
626
501
697
257
126
1
501
438
238
80
996
972
238
465
859
758
760
137
302
985
55
190
871
390
547
435
544
235
89
134
478
701
338
70
699
271
862
401
669
532
867
402
912
505
981
229
863
284
94
313
647
273
123
861
768
763
448
195
592
938
945
340
54
662
725
372
250
531
193
516
430
792
534
851
452
653
528
848
942
415
445
600
220
649
836
768
591
303
220
773
711
267
45
677
585
379
782
554
184
312
719
870
826
62
809
547
207
16
940
939
447
668
105
892
550
129
266
454
490
489
140
526
479
951
760
977
62
411
396
273
413
813
381
707
533
183
423
681
134
722
244
304
629
698
752
785
25
188
525
697
489
907
45
225
30
439
26
929
23
224
140
389
304
537
669
333
148
529
880
508
749
120
449
588
742
152
872
884
901
769
597
477
393
421
571
673
874
220
993
359
272
673
331
894
313
933
82
701
723
810
319
596
570
737
819
180
385
779
435
365
552
549
420
186
947
593
640
579
961
405
921
756
855
739
328
98
861
284
832
261
553
106
631
325
810
471
395
365
105
785
825
784
980
449
222
98
255
350
204
677
1
547
322
54
282
503
83
68
466
840
806
42
214
171
823
629
318
48
762
731
246
436
16
134
564
399
100
87
435
904
227
103
31
717
360
656
3
383
947
303
123
213
771
999
843
969
632
1000
774
718
71
819
44
919
997
158
70
347
856
585
530
922
933
14
233
831
492
717
129
612
717
680
931
6
836
601
680
471
387
727
127
207
311
26
979
448
450
909
903
528
81
807
672
941
288
459
997
224
367
667
408
971
941
628
978
710
154
671
852
700
127
400
290
914
827
763
372
618
676
556
614
969
483
210
492
41
743
504
246
476
970
996
447
770
468
570
465
833
887
480
410
23
962
655
85
368
92
853
233
11
774
444
652
259
476
211
781
765
223
602
997
486
18
275
185
81
252
605
92
294
407
84
612
698
691
167
430
920
729
188
364
57
64
410
372
556
8
155
401
281
363
216
180
797
605
440
620
217
401
442
681
58
760
919
464
662
660
905
784
700
777
628
700
135
767
331
287
853
647
527
446
809
3
691
707
174
97
318
778
464
480
585
64
24
369
637
502
583
884
620
840
812
217
160
915
935
931
946
575
490
914
421
654
285
923
375
788
425
281
404
941
64
63
768
204
162
998
203
829
145
407
601
468
789
736
298
267
59
605
907
833
915
864
254
67
281
831
994
500
481
753
892
117
445
534
638
582
903
952
228
405
601
914
664
905
289
756
734
696
881
272
90
84
700
922
734
943
176
609
268
600
715
573
954
767
702
139
694
824
775
544
566
578
560
601
406
197
47
696
248
175
651
519
159
26
800
961
71
917
572
794
792
598
524
153
262
776
331
289
465
581
289
796
155
871
33
285
696
896
75
497
855
308
855
967
371
543
68
641
448
412
963
324
149
72
149
406
775
677
209
110
949
659
80
398
102
21
730
769
426
998
114
395
212
176
817
447
635
460
19
989
735
299
658
521
289
234
754
142
760
125
822
247
298
398
294
921
29
262
599
457
509
135
331
933
267
440
560
430
828
541
837
230
455
810
946
338
148
749
747
710
77
623
753
912
750
305
224
270
663
866
623
219
120
21
270
241
170
686
907
696
347
752
646
876
999
699
514
839
518
801
359
898
700
492
409
189
813
928
199
392
676
920
864
503
202
143
55
551
418
26
843
270
921
760
15
53
90
651
121
948
173
414
468
75
501
94
3
586
705
994
720
238
775
373
755
702
203
701
837
969
264
944
119
592
674
693
725
84
505
947
513
430
241
15
674
588
276
312
787
832
32
781
851
966
45
314
647
766
83
803
494
494
367
399
107
948
430
140
781
330
35
370
591
135
822
254
622
408
25
267
531
937
726
753
854
404
537
512
598
65
553
907
585
291
697
168
910
143
275
407
675
261
703
370
834
485
863
68
583
24
476
292
257
486
229
437
77
754
112
202
424
510
578
513
546
211
689
449
713
431
366
26
896
801
230
475
965
216
283
4
272
590
870
162
219
194
928
556
93
551
530
117
986
907
118
104
142
560
643
708
397
689
991
505
696
901
748
949
871
364
337
783
928
319
983
561
136
709
839
405
86
875
790
783
737
582
133
340
168
120
382
778
388
848
877
335
102
377
773
707
771
505
246
115
639
131
408
806
669
661
541
483
490
800
723
44
519
237
823
503
398
421
153
208
767
563
751
244
176
996
411
475
637
247
64
773
915
546
82
825
159
965
362
375
876
113
832
857
599
67
127
184
784
259
777
859
629
147
151
702
533
800
832
199
860
967
805
903
515
829
66
378
603
374
813
876
90
264
380
324
972
127
473
226
910
469
58
757
683
744
482
678
97
698
982
707
171
797
808
596
520
388
569
531
889
279
271
378
642
575
737
980
899
942
771
923
687
945
435
187
114
754
328
643
121
295
549
623
809
872
366
706
662
421
233
377
275
761
916
494
339
703
966
326
703
373
663
455
310
907
882
48
686
515
10
822
442
972
180
526
942
810
594
913
895
804
654
14
122
894
915
942
179
342
662
619
811
733
18
581
450
428
64
442
102
224
399
707
1
228
945
357
334
458
553
44
222
245
166
767
874
295
855
671
485
186
49
906
52
148
682
589
710
199
740
533
607
118
971
802
600
252
56
90
261
875
622
639
773
674
868
661
291
926
429
245
293
132
318
310
198
173
470
476
326
551
416
639
846
900
119
636
918
764
828
634
688
579
116
770
123
892
900
144
931
148
371
470
989
742
216
567
756
658
420
404
112
728
250
582
970
413
713
14
772
96
901
997
680
28
166
106
876
465
972
62
877
22
639
275
200
949
888
813
18
858
283
379
663
402
201
288
993
571
908
520
631
523
700
700
76
367
833
231
484
866
147
883
725
856
851
841
929
18
968
616
348
801
274
206
807
451
438
635
398
531
206
278
379
848
153
433
404
410
486
215
324
880
860
169
810
14
969
984
941
747
922
267
733
900
71
671
302
973
987
549
994
124
762
950
325
233
659
971
53
886
421
423
22
237
207
301
690
963
231
778
406
935
634
315
569
820
56
989
789
559
642
359
22
531
947
998
468
286
301
333
692
922
732
593
33
519
466
451
879
578
342
444
781
80
252
351
712
588
817
497
989
815
111
389
510
205
155
180
10
389
311
191
936
789
438
144
459
298
876
808
822
689
903
473
952
345
274
46
769
962
895
591
155
128
423
810
883
57
865
315
116
285
791
536
269
884
849
750
129
534
670
50
136
889
95
7
620
761
894
436
641
40
776
925
776
693
581
737
817
872
948
279
931
910
672
584
208
974
193
154
925
222
347
68
83
579
621
472
936
688
587
459
319
131
147
849
518
779
465
581
344
994
228
265
839
472
936
941
728
685
484
236
353
284
206
939
305
275
880
455
395
519
956
741
925
862
382
101
432
248
985
641
212
251
292
287
976
791
76
12
925
240
650
331
371
718
120
152
807
159
409
835
968
644
815
632
11
548
300
755
404
332
486
962
489
127
549
933
996
877
818
664
939
448
896
794
464
991
567
77
185
879
568
162
491
652
541
492
97
803
154
405
849
646
399
425
421
195
540
374
79
765
81
134
121
943
334
824
968
687
907
695
110
599
467
288
306
794
652
228
469
406
882
615
668
464
144
100
536
790
496
614
197
598
197
194
453
677
854
521
646
400
912
566
58
307
161
246
144
687
658
78
223
413
603
607
443
237
287
844
4
937
148
997
626
956
375
559
216
654
241
213
515
880
540
54
292
360
75
382
266
275
146
649
555
524
364
203
893
365
940
148
240
529
790
962
709
448
416
550
909
921
552
18
918
430
969
804
95
292
695
730
848
35
124
203
309
695
137
23
567
214
415
239
762
751
583
50
866
535
682
3
419
811
737
664
850
551
872
460
247
859
500
648
622
435
611
193
770
6
67
919
800
392
127
426
298
757
120
154
861
619
309
434
441
427
511
553
536
835
946
646
762
347
146
693
761
645
475
49
707
768
969
674
912
265
750
699
142
601
230
28
311
376
671
445
141
383
473
84
251
115
691
181
866
118
904
753
18
490
528
212
668
895
72
941
655
730
617
577
759
408
43
40
451
335
102
391
83
794
484
214
400
856
436
559
228
419
338
429
113
663
866
425
522
515
21
438
916
232
373
209
644
805
296
178
146
715
856
285
392
516
283
279
842
804
620
670
444
426
249
659
370
179
456
266
256
833
120
388
670
42
882
720
427
595
894
304
153
506
327
964
176
633
364
63
464
880
319
775
768
551
848
603
608
88
982
932
16
248
832
211
172
767
379
812
229
685
719
658
634
803
510
498
195
199
96
110
6
325
26
728
89
991
202
773
275
425
934
279
404
713
525
470
415
130
869
611
269
264
691
615
921
389
722
851
776
223
94
297
137
97
675
451
170
532
912
409
837
427
945
108
18
356
466
58
827
985
787
766
721
228
74
690
525
565
565
792
989
913
841
647
781
514
926
658
124
599
46
111
416
984
388
699
249
337
74
647
222
590
897
796
820
856
41
791
400
239
142
58
57
163
564
400
691
153
685
825
146
558
331
721
678
352
213
596
325
967
412
374
999
126
446
694
217
739
477
723
457
254
522
763
34
292
350
329
275
992
892
419
497
268
579
449
969
107
40
648
603
72
938
787
591
468
570
768
589
955
45
946
326
972
459
60
717
35
526
304
670
808
540
369
732
885
379
256
704
355
497
290
114
603
497
36
172
207
942
747
493
498
492
579
367
108
355
51
821
778
271
116
69
823
959
787
184
907
27
481
7
193
813
84
357
507
575
318
597
916
680
123
470
951
208
653
935
813
476
952
390
53
496
539
293
595
345
948
695
486
710
724
592
409
658
500
344
835
789
564
611
678
499
756
407
418
39
619
894
7
419
499
474
274
965
649
621
169
532
506
597
970
944
974
909
447
235
956
891
110
640
388
294
848
114
717
140
694
342
99
373
960
827
611
44
725
662
394
861
470
27
976
945
711
258
990
526
615
619
102
164
940
504
274
764
81
892
390
310
698
298
894
788
128
354
305
161
804
421
406
677
948
287
449
993
112
126
928
767
538
348
357
475
881
886
20
125
598
760
821
472
148
472
238
96
235
885
849
394
507
790
73
165
475
243
572
933
936
153
225
603
869
267
696
320
555
911
432
668
706
351
313
449
484
618
303
315
604
996
182
494
171
157
854
674
488
84
770
873
849
509
726
788
248
613
683
680
11
75
266
325
573
415
280
939
51
744
952
280
742
672
568
305
459
126
848
888
388
281
717
66
227
617
65
244
510
362
763
559
339
240
418
360
245
465
339
373
520
419
747
661
174
275
512
942
606
130
611
146
183
869
63
396
207
82
296
703
138
816
791
782
537
882
368
329
914
687
665
19
568
333
203
225
524
759
918
200
901
310
220
18
384
972
407
105
989
879
770
593
980
445
823
36
623
587
873
275
447
90
587
340
806
104
289
344
848
131
503
232
432
636
597
131
152
582
518
779
387
788
266
174
197
977
150
168
1000
801
910
178
147
908
434
602
952
343
191
764
218
176
455
462
70
277
70
246
691
591
813
576
630
76
372
930
481
739
586
723
70
822
864
659
781
256
639
726
259
959
308
614
556
413
346
758
714
224
195
580
894
63
77
709
415
434
116
200
502
250
3
744
99
52
976
926
844
32
83
399
193
721
512
668
713
318
294
848
777
164
820
381
242
767
437
177
210
160
841
73
627
59
114
811
330
492
32
975
85
71
697
428
360
64
654
862
807
787
371
988
922
598
404
757
944
956
588
745
801
595
340
520
872
837
517
339
348
489
306
43
274
548
308
345
681
155
313
51
803
851
266
886
60
216
585
748
336
390
265
180
100
806
234
786
107
717
974
120
695
732
754
304
226
631
739
268
819
197
806
27
346
644
200
867
581
521
996
652
526
620
966
726
193
522
600
24
524
888
948
114
734
502
454
824
66
385
156
4
858
990
444
778
846
618
77
290
846
695
333
601
291
513
927
840
642
318
855
185
335
431
393
501
760
166
298
757
755
922
671
407
226
741
30
2
810
7
908
224
929
728
673
383
217
30
345
175
36
48
881
155
734
412
787
965
370
926
939
796
858
812
186
981
876
125
622
870
422
544
460
360
601
783
39
524
102
260
852
804
798
532
410
143
107
225
418
246
72
816
978
877
564
729
491
743
710
591
532
38
381
431
177
183
575
825
222
604
596
688
236
709
227
491
648
319
487
179
924
931
153
949
408
124
959
356
619
322
255
924
582
911
982
546
334
391
990
489
843
841
99
735
421
510
812
728
162
700
263
342
71
495
792
11
310
50
543
541
438
321
593
56
614
154
449
918
453
562
155
202
674
910
904
526
683
443
771
565
4
289
137
629
800
601
423
13
789
12
3
696
503
923
535
122
235
455
514
435
961
78
533
557
204
21
597
925
129
599
864
530
92
464
335
146
504
638
350
286
171
906
232
457
152
743
48
773
833
540
259
816
101
286
986
933
456
244
698
811
419
398
437
284
842
612
61
778
568
519
613
726
444
118
603
578
860
938
934
731
823
430
191
824
97
924
259
369
56
84
560
607
738
322
727
816
48
20
210
31
155
723
99
295
952
727
484
94
830
564
755
605
157
963
578
731
562
786
724
685
550
304
510
58
23
902
414
868
8
13
319
123
243
591
910
764
333
954
13
717
849
182
8
945
77
546
32
35
158
644
366
855
969
5
251
257
433
942
423
625
908
338
782
325
907
865
974
714
717
858
116
492
381
710
556
554
119
177
342
427
509
414
21
627
649
947
501
927
76
4
971
649
450
806
305
549
861
489
911
780
163
293
778
703
919
538
301
47
370
701
557
5
364
575
872
397
298
126
892
949
979
141
877
61
732
177
612
196
239
648
147
149
356
104
565
21
582
877
112
662
974
327
317
739
5
841
179
331
314
599
117
138
316
875
107
978
379
297
407
237
637
62
278
309
547
578
394
911
966
367
5
317
880
387
440
190
907
76
277
736
348
557
320
271
877
430
579
199
920
489
580
561
391
534
683
41
746
144
550
285
239
936
562
921
857
353
753
474
655
468
808
682
128
656
747
370
796
214
212
133
423
188
664
565
120
738
392
673
162
325
963
404
491
907
616
934
739
96
174
476
99
941
216
876
521
585
640
225
521
550
233
992
369
831
544
991
510
269
197
571
901
936
722
31
335
348
173
177
937
400
44
319
768
831
481
783
853
896
380
173
40
658
722
220
786
990
417
21
349
931
16
890
902
533
850
838
752
686
590
889
191
726
715
79
531
800
114
995
477
78
886
132
353
885
418
180
626
766
996
615
814
287
509
569
135
119
323
54
193
560
3
38
575
223
379
749
508
8
392
860
589
881
257
870
198
186
773
86
399
422
971
104
8
449
942
579
38
86
338
373
924
926
999
882
752
990
151
456
231
530
847
347
294
893
672
543
21
860
245
191
48
273
717
29
744
122
302
419
213
424
841
104
629
417
551
778
479
591
403
930
54
24
9
172
926
365
532
466
203
524
861
219
83
822
250
234
584
898
658
865
368
162
287
575
255
948
187
238
362
818
348
212
817
655
393
169
615
284
855
144
532
353
9
52
956
151
436
202
123
805
778
966
509
77
669
789
111
569
420
245
861
698
870
628
754
258
737
913
102
700
925
552
927
554
497
660
698
553
449
654
524
91
993
288
382
638
784
325
219
578
425
807
543
765
610
1000
656
760
492
590
812
302
184
661
412
101
849
292
793
425
481
382
309
279
312
419
165
209
758
489
911
872
966
768
592
565
299
114
282
849
564
121
162
242
379
215
338
718
861
904
308
404
696
343
389
451
783
707
411
498
809
722
678
556
571
870
556
420
339
434
18
891
299
534
139
210
960
763
860
104
401
849
277
754
442
1000
355
801
110
263
241
258
275
251
266
799
961
60
360
446
636
70
793
101
727
583
110
758
719
937
657
424
460
809
327
4
705
912
12
420
519
206
785
236
881
993
31
941
724
50
556
808
685
992
235
963
45
626
890
880
693
977
907
32
458
979
561
837
822
578
164
348
868
159
877
376
260
707
530
847
245
128
827
239
902
496
84
894
362
741
65
831
304
512
511
456
787
502
685
224
434
522
652
863
12
1
993
267
722
397
377
516
879
215
747
798
205
923
854
168
687
102
553
207
757
587
566
631
623
157
388
817
696
639
641
26
421
856
447
840
279
970
334
937
382
177
781
887
853
617
743
83
165
600
424
267
685
941
91
377
971
287
976
582
737
782
154
477
40
348
833
327
910
133
667
195
585
383
542
509
522
152
795
379
570
713
968
511
46
540
997
131
968
989
246
690
366
605
857
474
406
93
716
452
84
549
739
827
320
516
295
787
640
786
311
909
42
632
10
502
263
347
311
933
438
546
621
653
28
656
101
194
11
447
574
887
533
242
862
430
601
631
715
719
975
188
509
558
79
629
480
945
629
359
655
651
689
114
525
710
16
711
200
270
917
506
994
949
267
248
394
515
44
466
887
196
459
394
436
407
772
684
232
7
943
876
961
465
567
652
19
470
929
374
974
589
618
349
110
551
850
519
88
616
551
1
563
265
280
31
130
160
298
350
103
899
411
40
451
603
759
111
675
795
374
908
531
337
157
537
296
406
917
77
692
645
232
266
668
637
210
775
29
807
658
883
242
695
790
605
861
313
343
869
708
938
931
334
305
288
491
861
113
470
946
415
795
499
583
403
54
456
187
74
635
544
666
607
667
410
783
969
909
103
591
409
358
934
359
767
342
353
101
337
495
648
277
156
927
916
914
976
505
305
153
109
421
943
188
543
90
326
687
449
25
218
18
262
517
233
52
9
836
371
860
455
196
741
384
947
909
580
23
527
992
476
132
14
997
371
632
274
979
565
284
816
318
373
688
187
609
592
747
389
914
153
145
674
480
649
397
622
449
483
126
388
175
474
566
336
519
659
687
72
880
915
991
66
808
735
763
604
724
211
486
855
674
779
205
171
64
819
868
600
992
524
31
743
165
788
897
756
347
20
311
269
980
907
252
452
892
152
304
284
990
119
819
311
469
137
769
838
310
945
795
537
820
370
567
930
521
900
398
53
962
217
974
877
928
137
187
763
71
635
327
278
212
814
266
215
446
722
917
527
670
920
892
234
397
563
259
11
509
547
262
319
122
986
142
462
900
845
485
849
923
94
97
106
746
151
23
410
330
676
188
549
375
35
110
789
972
871
255
571
607
234
928
427
278
700
21
268
916
735
549
404
329
313
690
189
629
479
919
226
459
84
950
420
377
430
405
995
424
903
505
787
258
999
669
744
229
292
542
585
411
56
894
989
942
185
786
532
961
25
627
811
73
517
11
861
545
791
760
3
362
959
184
730
878
421
420
99
39
420
606
372
49
923
790
315
914
192
725
663
535
538
119
727
851
828
483
39
107
306
456
216
474
135
371
929
105
890
868
998
195
891
567
131
791
894
160
769
870
140
808
815
716
174
377
790
690
193
898
71
336
861
595
448
127
689
978
180
312
112
779
89
19
324
973
29
212
796
723
191
129
133
848
361
569
631
347
162
751
406
570
766
501
490
863
325
212
635
920
602
355
875
582
881
329
76
560
267
71
796
391
906
179
814
974
497
243
542
152
688
738
425
212
624
55
78
558
939
244
609
550
954
580
64
207
705
349
402
483
705
126
733
915
1000
401
838
678
180
598
108
546
490
436
162
798
83
77
308
858
751
714
971
330
185
81
920
159
933
872
882
815
735
201
687
779
848
42
608
124
308
84
989
623
807
499
530
680
17
966
865
339
745
683
162
759
254
200
554
861
445
672
88
276
399
504
806
346
893
441
256
692
160
875
437
775
86
484
737
948
480
382
881
750
831
632
313
551
179
284
710
229
342
161
499
230
764
195
384
253
675
498
873
786
76
245
692
903
324
137
829
48
708
441
640
29
498
563
97
61
355
692
779
509
910
303
673
921
543
205
184
59
107
402
993
882
394
198
609
869
654
931
481
644
361
152
528
578
716
344
838
962
110
46
57
359
843
776
669
963
970
300
11
138
7
600
320
830
633
352
557
211
194
851
48
735
23
115
227
780
94
311
869
171
512
739
264
183
702
381
708
79
915
397
540
825
873
28
714
409
929
63
546
94
129
429
853
15
948
463
175
771
277
114
134
27
436
687
302
713
634
704
100
90
266
139
393
812
913
576
421
125
719
809
623
523
58
34
732
492
59
50
256
460
604
817
50
716
866
337
271
840
338
28
408
155
541
705
459
792
321
818
554
263
674
819
504
800
582
403
830
348
191
896
759
800
10
246
608
950
458
921
727
703
277
493
869
258
768
880
474
358
811
983
822
193
889
953
467
230
146
430
644
56
593
880
572
308
178
588
733
892
350
957
200
15
149
506
63
953
603
372
842
145
388
179
517
917
310
831
485
82
129
203
315
745
671
683
637
835
945
241
891
334
219
12
954
651
601
405
829
346
701
382
714
227
382
866
741
871
423
212
615
795
187
286
176
810
987
978
644
590
952
909
941
121
595
698
1000
477
194
369
439
338
344
415
311
761
722
580
889
981
189
627
637
435
839
263
540
780
507
872
988
405
551
954
246
833
415
933
359
439
617
578
14
115
304
356
501
886
469
909
382
961
227
258
941
407
313
513
751
432
94
604
966
259
954
993
29
707
838
443
573
889
158
624
191
886
975
780
620
865
591
713
644
865
248
64
664
408
634
258
474
154
262
479
225
48
640
748
975
814
300
518
472
172
416
175
47
872
738
523
554
482
990
598
337
889
742
166
79
639
966
839
236
560
166
67
467
607
8
144
93
490
826
17
182
459
267
884
263
544
584
498
58
687
786
644
843
426
910
474
231
262
202
260
227
354
853
643
395
975
278
655
820
7
591
622
388
828
80
549
545
118
990
765
333
492
838
373
993
363
850
569
826
105
805
967
340
443
758
878
916
923
646
907
377
506
725
343
852
600
185
527
295
286
36
844
854
118
530
976
50
634
992
830
370
626
898
891
462
305
451
784
589
718
687
526
377
167
377
274
170
919
587
392
526
211
782
286
441
386
792
784
940
24
780
816
553
114
609
730
25
598
635
907
328
149
8
231
678
641
22
596
786
586
929
849
34
766
886
488
586
366
384
997
731
219
610
895
889
153
655
486
794
29
392
763
350
793
152
191
494
724
22
835
256
143
715
894
814
19
477
765
31
274
420
650
372
109
13
126
604
327
188
249
914
466
680
539
373
538
751
617
750
287
435
364
760
206
769
224
735
978
279
659
587
613
150
843
665
336
88
383
773
177
885
239
202
302
81
31
72
352
930
615
686
447
75
157
865
46
953
899
449
576
981
514
215
572
986
212
501
102
190
744
708
414
286
87
692
70
797
833
776
307
957
282
715
1000
820
797
537
423
136
255
570
913
861
292
349
671
782
652
344
214
863
112
595
370
389
372
430
308
898
789
416
842
153
55
532
93
173
732
405
672
404
62
86
741
656
636
470
653
360
292
958
392
20
101
382
711
488
408
517
670
819
674
730
294
36
311
466
154
72
772
272
29
530
937
33
209
685
192
932
636
290
718
389
817
388
162
919
393
264
279
400
296
107
145
708
659
735
213
89
67
948
855
878
222
690
4
410
849
220
176
39
502
918
448
199
931
182
965
342
873
127
129
422
419
417
931
298
618
634
813
73
599
36
42
915
299
425
808
349
815
112
187
368
548
644
652
946
495
45
30
711
561
806
692
611
236
760
271
350
805
281
396
295
78
934
778
286
712
861
470
535
374
658
281
345
376
452
130
915
886
232
602
902
534
189
82
725
19
1
613
822
330
538
80
193
318
412
394
621
651
174
107
875
643
725
284
69
45
685
533
99
649
44
787
738
491
416
830
549
478
603
554
225
546
988
669
374
795
473
865
38
626
302
484
415
580
124
358
390
459
76
837
433
301
513
929
385
962
219
166
435
379
629
29
327
72
585
742
470
78
661
810
154
301
917
931
511
223
229
825
232
19
27
67
273
379
335
237
981
764
512
559
96
404
983
758
101
65
558
14
245
502
622
751
354
575
635
502
248
179
851
226
167
516
133
273
129
746
57
671
530
712
230
503
654
270
913
937
927
735
564
922
948
95
912
616
295
918
487
389
105
363
360
645
245
275
966
746
644
142
510
67
37
577
427
549
929
87
754
178
41
121
96
484
925
756
57
494
675
952
630
577
881
987
56
273
63
552
98
502
827
982
494
520
896
289
607
597
988
980
926
706
235
110
128
393
472
681
865
643
244
282
316
762
857
802
792
227
95
182
384
998
538
412
712
9
528
402
323
427
934
946
184
796
808
705
25
363
940
42
982
737
67
586
107
506
220
583
845
616
266
469
487
108
212
609
957
285
268
797
13
490
952
974
108
470
765
549
694
734
96
909
703
381
34
940
341
654
729
870
40
859
774
336
658
348
846
332
541
994
505
643
92
937
605
404
859
437
270
693
986
316
726
430
33
859
627
404
846
991
635
960
120
253
170
718
764
346
229
727
988
57
65
601
294
915
375
546
170
286
341
620
352
489
492
260
993
139
930
859
910
155
848
141
370
789
682
210
564
572
424
373
959
305
854
288
264
93
458
541
594
927
806
508
745
552
39
233
185
133
891
82
491
796
362
185
487
221
786
959
243
303
497
591
445
356
744
979
392
455
807
477
3
287
499
761
774
319
352
289
595
196
837
87
688
990
915
88
704
382
38
814
184
854
502
989
196
742
707
570
913
335
429
753
334
247
714
771
104
974
359
657
659
884
236
703
456
899
916
55
160
753
142
716
1000
49
710
269
408
294
209
782
242
701
925
693
584
841
901
942
116
161
795
273
567
959
709
408
567
681
608
744
523
277
282
349
812
943
90
274
658
768
842
621
566
691
287
409
61
692
618
959
802
340
299
464
827
643
293
413
833
653
491
752
866
432
693
33
775
799
44
294
86
728
216
87
685
402
940
918
880
707
734
312
925
382
777
872
72
123
954
995
566
700
991
355
780
542
486
868
861
309
383
615
833
673
93
128
103
924
38
504
705
22
872
63
421
419
6
628
121
306
348
78
298
938
373
499
755
349
726
131
880
67
565
324
721
419
778
854
370
628
4
334
756
190
118
866
49
940
492
784
286
822
837
70
742
625
919
36
799
830
754
924
767
297
169
355
195
726
755
989
669
698
328
318
45
626
965
241
297
143
574
985
934
284
749
940
14
322
340
218
306
261
767
65
104
821
633
797
497
183
574
585
663
923
611
231
882
299
515
93
537
533
782
400
298
788
892
559
94
301
446
430
185
538
635
234
900
286
233
442
113
333
990
972
579
727
855
70
617
672
931
478
423
768
445
896
533
669
315
274
543
212
69
186
228
742
986
375
621
639
312
588
445
54
351
976
554
461
12
672
639
899
134
634
551
761
543
464
25
506
323
748
470
990
228
361
733
959
523
332
465
845
765
90
756
192
234
367
222
934
772
577
621
265
755
239
355
27
818
898
957
380
738
40
747
16
548
689
374
345
606
751
894
868
770
663
347
436
335
576
559
202
613
143
22
875
335
942
269
282
129
723
112
373
412
939
474
530
932
492
327
443
69
224
411
888
767
434
999
451
604
647
969
606
92
908
827
604
774
126
120
290
55
366
933
327
992
546
696
292
476
680
640
753
305
683
585
779
693
739
648
258
635
445
630
53
388
209
550
281
36
934
792
964
758
590
838
850
929
108
370
492
641
982
853
547
582
47
336
830
458
184
330
863
303
118
80
555
97
41
478
138
91
536
121
714
85
164
774
565
742
99
577
911
670
437
875
939
626
117
457
720
684
937
356
135
649
803
61
15
279
174
171
499
123
651
52
46
924
796
28
621
532
558
992
335
260
138
101
199
439
722
396
744
679
286
755
942
24
583
608
266
744
518
204
723
975
316
42
407
813
303
289
446
743
665
596
212
476
215
788
323
381
115
283
279
674
438
952
522
470
696
392
350
606
736
169
396
852
909
715
290
795
46
953
751
176
578
645
565
924
79
675
849
490
616
207
518
301
572
707
120
362
992
308
61
68
106
920
775
269
418
759
578
525
599
688
783
251
519
885
153
170
906
853
924
60
510
749
435
327
142
296
866
294
643
317
728
473
641
69
478
255
961
88
143
625
680
240
836
521
100
16
884
403
383
893
625
464
191
755
11
632
425
949
904
216
101
539
251
593
446
736
430
799
557
239
696
294
327
492
999
431
911
411
474
365
693
213
520
233
559
367
713
445
324
531
772
824
301
590
388
175
341
543
51
551
149
29
885
159
323
777
166
336
351
79
357
508
753
702
491
376
664
300
209
820
423
480
31
195
127
176
293
734
715
863
700
776
868
454
646
387
877
433
288
759
713
881
850
421
707
592
801
959
604
373
347
375
287
991
147
678
113
932
296
600
651
318
369
548
562
848
795
38
545
617
878
906
514
998
559
496
663
577
406
931
665
283
378
265
9
447
622
28
406
512
946
207
280
521
625
205
560
282
885
672
413
364
768
429
80
646
46
847
683
193
529
194
725
638
429
418
20
108
369
795
971
934
295
641
404
80
799
48
694
218
298
207
517
891
112
438
380
40
735
480
23
431
474
933
890
232
227
16
136
43
345
964
49
166
431
432
354
841
435
291
572
413
599
22
526
165
642
763
106
611
76
711
619
613
693
191
398
575
71
229
858
316
432
839
867
969
267
599
108
384
973
260
96
75
128
318
665
706
170
468
9
473
957
833
831
518
104
691
758
670
58
189
929
419
564
185
595
988
579
942
653
774
702
844
234
261
857
721
894
650
347
612
479
138
360
41
427
744
661
915
150
42
556
230
131
960
109
610
554
91
288
588
601
555
944
198
37
533
481
140
331
57
667
266
381
480
278
593
828
343
168
425
68
17
927
363
340
591
499
209
672
965
997
785
53
998
499
687
915
862
771
874
933
470
718
767
137
953
874
236
593
681
345
441
216
249
499
11
826
199
107
446
197
949
781
945
710
599
342
93
155
782
171
966
422
729
693
242
58
58
891
871
159
567
151
668
655
500
795
991
805
338
382
295
650
131
217
937
242
823
555
60
689
788
647
811
459
24
139
362
927
55
315
473
832
624
348
366
196
668
1
741
241
915
222
629
35
687
676
633
901
106
532
798
118
998
788
13
74
209
966
357
835
932
284
258
25
912
316
680
47
61
691
806
898
121
612
853
298
469
855
701
384
97
410
29
982
48
149
491
341
360
699
280
258
619
250
106
746
794
125
212
708
933
803
569
641
619
496
796
32
852
565
649
946
158
770
191
279
250
855
834
303
586
988
521
398
454
393
228
341
68
851
848
119
257
861
229
990
977
913
845
440
819
767
119
767
111
574
888
236
996
446
912
155
86
354
564
758
901
276
82
477
329
142
833
50
753
447
35
917
354
373
339
537
304
858
430
567
234
359
588
330
406
979
725
663
461
204
5
982
514
764
548
390
599
34
96
751
170
929
769
903
433
489
197
614
783
206
375
466
510
681
572
559
238
375
516
847
272
77
815
932
151
176
340
366
195
24
823
849
812
430
474
237
606
856
816
939
115
939
259
101
120
803
141
961
36
15
124
903
852
155
848
26
444
706
682
485
851
381
287
486
315
54
437
568
410
180
201
723
633
978
201
993
194
645
57
385
537
595
593
383
362
15
607
817
511
74
220
608
93
719
920
723
679
359
420
707
208
661
357
322
483
324
671
154
808
968
251
514
321
216
26
621
103
636
258
828
925
447
197
618
856
809
636
181
543
81
145
680
128
620
924
698
218
596
287
959
227
821
768
131
720
742
692
408
73
651
889
637
928
592
869
909
363
651
413
937
714
109
19
26
244
378
66
124
633
815
859
255
409
232
970
642
962
392
383
922
783
854
25
204
895
292
173
122
239
789
110
669
948
704
120
354
14
390
610
146
865
440
683
728
744
153
987
848
584
589
22
901
307
953
389
461
54
5
647
140
891
877
548
54
973
978
427
141
960
621
431
789
725
657
82
515
57
648
412
962
79
64
515
75
601
579
919
141
450
777
602
323
124
501
834
411
774
615
303
785
608
177
93
14
294
910
206
71
852
338
257
883
802
198
861
835
54
534
26
861
159
400
534
999
16
242
935
598
116
844
223
905
667
188
732
428
760
694
69
281
813
95
151
715
123
625
510
167
306
305
106
456
756
827
801
201
41
995
504
155
323
666
760
897
468
932
197
240
514
584
849
825
545
978
790
534
830
79
964
826
301
808
309
562
31
831
536
659
437
536
955
705
309
323
811
731
647
219
440
472
487
527
426
793
576
436
637
417
783
492
637
761
598
405
546
450
953
914
817
39
831
342
788
591
855
24
85
6
78
20
146
414
739
374
184
549
602
738
873
703
814
344
964
796
934
146
752
106
887
472
89
431
114
652
163
782
136
921
828
250
60
347
631
332
307
668
44
844
985
676
596
521
886
262
750
552
30
286
403
567
60
206
830
88
556
792
730
8
502
326
809
473
752
383
969
428
287
681
770
180
498
500
273
556
492
866
783
627
650
31
273
503
277
780
470
417
183
738
698
163
503
193
550
968
854
860
389
48
183
698
503
428
326
115
438
71
309
871
690
22
915
548
451
48
884
733
561
216
398
934
164
947
171
835
806
361
544
691
905
138
490
554
560
688
308
522
644
177
105
433
38
816
858
217
602
888
989
643
198
167
854
359
686
764
543
900
298
919
663
851
211
953
542
421
477
405
440
508
662
355
885
749
698
97
237
137
480
588
923
536
681
570
573
845
112
864
446
597
696
93
149
503
812
17
599
843
304
733
616
592
933
224
301
906
444
133
589
882
690
179
959
545
443
337
322
647
649
741
521
164
845
326
721
381
416
327
187
22
146
151
629
216
265
566
304
977
816
804
549
503
701
991
275
826
213
227
232
254
196
779
503
598
255
103
814
418
571
813
690
357
960
324
417
188
787
590
44
373
222
276
399
786
112
734
174
715
435
340
672
462
911
145
746
623
823
252
764
629
550
49
194
226
596
219
560
370
146
457
27
440
297
928
887
756
157
830
543
141
940
853
370
691
42
937
8
919
820
498
241
237
492
204
573
22
95
470
27
628
959
51
515
308
507
528
279
429
475
1
578
287
863
10
785
548
1000
579
471
591
124
261
938
54
790
259
830
446
228
990
174
18
513
996
184
989
8
664
672
822
121
98
742
501
812
360
730
649
686
463
28
894
696
712
497
113
723
455
692
33
295
839
988
232
714
929
23
725
752
414
556
203
825
183
983
456
288
250
244
684
61
851
804
209
314
71
704
546
354
11
448
948
165
335
590
289
289
22
488
590
840
278
618
600
509
868
203
563
352
561
713
737
980
16
937
264
558
161
916
713
655
73
39
14
572
417
974
476
235
747
909
335
134
354
806
552
49
889
968
632
546
696
243
849
258
638
609
607
35
211
747
586
905
930
402
3
656
265
13
544
519
903
136
488
109
762
636
118
285
948
482
780
60
825
280
839
2
449
320
333
864
902
6
372
324
466
55
171
764
159
697
148
30
882
452
703
962
323
754
126
287
790
792
598
154
368
487
370
180
133
418
55
409
677
878
400
960
871
947
43
485
594
638
538
775
192
717
357
967
487
743
687
866
538
265
557
823
737
861
266
455
463
880
128
257
287
359
247
826
596
538
451
950
648
813
504
336
225
778
402
82
506
185
940
336
277
296
669
719
326
106
82
249
707
334
123
450
592
943
117
290
567
150
820
374
590
561
568
562
281
118
460
806
865
967
62
528
886
276
403
319
749
258
917
80
264
345
551
971
618
554
476
714
637
548
700
850
752
831
425
529
835
763
173
285
954
846
525
53
119
810
842
342
331
554
485
126
566
937
836
467
856
730
925
335
297
792
558
392
634
680
637
728
61
431
803
667
1000
253
594
813
942
179
94
422
843
557
430
59
218
376
538
239
810
61
335
410
632
316
811
232
278
16
574
527
597
940
78
711
240
356
90
765
113
60
956
23
496
523
897
116
401
193
830
468
805
872
225
602
531
279
113
361
874
601
607
864
573
858
293
641
348
369
387
935
18
489
824
611
180
28
345
424
509
468
215
699
37
154
392
612
146
147
891
323
631
295
550
200
876
407
658
254
114
111
675
677
749
76
851
71
947
840
617
576
52
355
507
571
871
756
790
76
596
543
129
260
885
551
355
716
672
618
894
279
370
815
457
188
441
475
363
376
760
37
254
457
794
862
50
799
398
812
663
695
928
329
409
207
467
166
48
770
175
732
86
975
164
188
310
272
857
95
517
507
475
382
70
319
158
876
194
407
232
430
920
626
323
952
191
633
319
277
928
589
673
854
780
998
191
723
885
350
213
68
214
622
81
946
961
104
861
447
17
206
566
625
769
120
559
36
356
239
353
604
8
224
792
858
329
500
466
255
166
723
270
466
257
473
194
977
976
22
817
310
299
528
471
505
597
409
712
217
985
996
570
955
705
750
18
538
497
488
255
772
973
88
662
766
767
77
789
25
636
376
281
669
745
208
449
705
96
844
118
238
401
447
420
965
782
716
472
12
301
431
245
475
717
296
479
564
840
634
198
312
497
634
241
221
463
812
234
67
645
280
581
292
452
242
421
98
545
842
925
376
115
115
980
86
405
368
103
543
459
697
339
355
972
759
70
437
680
123
844
585
943
718
830
606
47
940
20
892
280
974
70
608
16
751
530
412
894
757
287
687
657
589
216
838
396
778
414
88
723
869
883
578
883
192
227
289
945
47
708
458
949
282
45
719
385
331
420
146
397
860
491
750
926
74
649
735
344
615
342
26
236
707
94
133
687
903
726
417
787
313
384
224
132
709
201
157
751
232
807
938
239
780
466
968
879
275
270
679
196
159
742
211
661
450
156
785
282
609
80
377
385
277
971
937
217
672
122
463
896
76
911
693
858
342
81
27
162
842
757
588
959
594
964
988
955
555
742
454
933
266
299
459
258
55
277
902
844
16
899
170
198
836
682
140
65
351
415
278
612
373
328
534
331
971
718
618
568
849
818
626
121
910
360
693
418
393
112
490
597
206
646
961
233
190
736
635
544
108
81
205
674
81
477
868
19
37
217
54
662
513
193
794
673
796
161
943
404
953
652
873
950
786
274
67
621
129
529
224
611
174
815
137
55
715
965
589
307
304
573
972
592
313
323
136
144
791
734
245
571
860
52
32
451
72
509
925
127
814
781
953
215
377
307
216
640
726
57
967
873
382
446
45
621
80
363
453
443
4
697
402
623
499
311
997
174
107
166
80
10
681
154
425
196
81
284
614
652
689
14
417
856
548
933
476
901
445
467
353
716
679
969
820
405
552
387
346
404
861
664
335
619
799
183
611
790
693
843
995
63
971
831
618
175
573
720
772
691
817
340
685
476
331
722
603
932
298
559
953
584
676
804
161
244
475
447
910
379
433
36
237
254
648
226
888
93
800
475
778
835
614
43
225
979
132
593
891
679
154
43
986
503
973
780
343
212
111
997
456
504
337
698
390
928
677
880
805
39
464
491
949
484
750
39
608
861
552
139
451
117
471
857
149
745
199
459
890
239
311
37
682
113
529
535
899
270
313
925
76
672
271
585
882
67
359
501
515
10
246
548
520
498
576
933
185
373
25
896
182
26
238
844
127
68
728
456
65
359
778
685
666
197
224
243
94
519
781
859
106
700
190
593
894
892
66
484
621
880
801
105
379
109
217
952
495
900
14
153
764
828
180
665
162
940
693
12
49
752
793
603
708
972
67
846
268
473
354
615
764
374
253
80
69
959
597
572
964
816
836
938
410
775
685
787
401
154
746
153
438
380
90
337
742
261
910
130
831
56
460
190
947
24
433
68
177
324
850
274
750
951
281
823
173
927
930
884
341
97
722
527
705
691
15
77
918
278
988
229
100
879
56
945
31
754
921
85
113
838
937
910
910
872
582
856
444
46
697
436
181
343
54
748
829
871
544
806
658
137
938
849
17
645
764
853
147
181
275
690
180
860
906
794
408
338
882
701
551
595
830
563
733
352
348
576
349
480
512
274
793
740
162
821
288
805
693
735
696
811
728
4
223
580
751
126
420
299
247
471
723
647
402
257
47
286
705
559
642
173
100
52
485
401
458
562
973
95
237
132
594
479
144
980
535
361
521
669
895
154
929
815
309
47
140
880
281
76
299
937
456
674
564
828
421
730
908
784
325
320
118
411
771
44
213
926
10
344
675
679
365
257
879
247
244
820
87
897
823
743
199
778
682
1000
216
968
245
762
21
450
885
392
682
131
917
328
903
273
546
292
686
78
5
667
506
728
759
838
524
869
664
960
448
379
387
936
655
307
240
335
114
980
821
618
439
663
479
311
161
596
698
690
901
882
941
160
696
506
355
725
140
688
20
875
383
913
90
755
252
212
264
722
954
715
518
233
861
47
908
574
861
885
581
96
645
879
811
478
69
191
12
23
451
73
203
173
218
317
292
197
877
873
937
511
645
621
418
185
423
111
158
987
8
65
26
736
578
554
573
834
496
91
659
598
464
300
742
397
859
446
252
687
882
863
71
733
763
244
116
177
897
832
429
657
185
768
978
353
304
266
567
673
859
797
888
308
603
202
760
514
990
465
19
813
333
935
360
244
748
926
693
947
898
952
170
117
253
352
157
309
223
675
822
669
62
14
919
907
873
398
591
734
390
491
704
47
493
77
310
352
539
257
313
807
679
844
319
768
303
171
952
931
640
420
617
985
301
643
820
211
282
790
654
574
510
496
17
719
550
809
426
701
462
783
62
430
168
623
806
575
856
96
583
108
122
45
291
778
568
117
967
508
507
298
576
179
303
445
37
242
600
742
643
397
368
969
37
883
272
510
298
3
312
289
498
146
104
175
302
948
419
981
765
218
816
850
561
887
293
697
245
585
879
372
18
389
20
399
690
916
411
451
193
218
650
217
32
857
742
941
534
152
984
727
608
805
234
623
16
48
902
648
803
996
243
137
657
102
732
242
416
498
320
976
873
520
382
927
304
917
26
663
861
51
232
876
104
936
965
530
421
89
28
626
79
976
903
717
903
313
257
956
395
600
89
315
198
45
747
566
374
460
132
770
956
819
483
313
529
898
58
960
451
836
867
39
426
503
402
586
770
280
921
247
684
235
456
765
250
697
166
150
649
925
28
980
345
897
170
865
553
251
327
769
348
74
989
767
214
504
848
813
628
126
15
275
556
742
355
300
335
350
941
587
528
160
332
727
725
996
850
141
201
747
521
517
544
374
665
811
102
581
396
115
138
469
433
114
90
324
704
438
230
285
203
943
315
764
420
836
517
357
472
609
68
486
743
957
531
150
438
187
573
985
980
158
434
295
553
461
16
830
455
353
676
883
116
969
365
693
780
451
678
250
885
932
788
327
116
777
986
984
954
70
708
835
294
109
561
96
385
591
800
797
886
241
127
567
325
866
492
101
617
213
760
731
600
551
749
554
706
586
142
193
31
191
215
598
21
436
158
246
949
569
991
731
142
937
749
999
654
307
618
446
715
683
221
649
808
516
56
780
689
155
409
639
990
485
709
807
319
965
390
632
919
702
807
646
32
771
664
514
63
709
683
832
537
22
984
898
638
572
750
116
768
908
246
807
226
982
238
38
548
175
138
531
508
255
978
849
74
692
451
821
839
752
789
612
587
918
245
922
670
489
272
575
845
656
286
115
34
953
64
134
254
754
429
744
605
401
836
976
783
625
887
940
55
151
611
235
12
760
533
474
702
648
181
738
940
593
702
481
687
311
687
675
402
399
124
974
167
434
656
281
223
89
950
394
264
674
48
347
461
67
23
616
757
872
118
663
357
530
838
146
757
248
130
707
852
871
850
457
851
226
248
166
796
60
64
657
451
414
126
133
192
163
90
974
348
508
20
46
105
385
73
738
693
139
460
708
96
291
183
838
904
935
797
973
286
86
595
840
235
311
150
925
424
107
123
247
993
762
590
634
568
926
945
588
646
681
572
822
236
697
88
306
305
962
951
19
154
649
598
636
318
920
110
43
951
865
582
958
975
283
11
883
422
756
528
301
543
292
213
323
218
843
600
970
144
160
168
879
83
782
818
514
183
433
333
897
991
743
310
462
353
994
912
872
803
553
46
568
413
754
265
343
311
251
757
493
266
291
301
926
770
933
931
159
49
948
385
336
297
55
89
198
230
173
580
464
730
563
753
239
961
113
269
846
840
514
791
968
159
736
442
113
971
79
45
164
65
992
226
245
510
60
453
194
262
791
435
714
770
332
50
640
396
820
205
851
166
847
552
48
88
451
12
14
794
86
447
976
766
289
614
393
771
130
748
825
420
93
734
533
959
705
856
135
503
126
521
904
921
888
205
328
485
176
102
106
244
332
599
84
771
781
758
536
572
182
436
814
6
428
548
601
969
56
237
948
971
733
411
806
484
752
155
976
585
891
62
309
18
563
383
463
731
902
217
761
863
353
661
491
913
336
969
521
530
781
271
230
966
684
342
579
717
329
234
608
317
530
345
767
544
11
605
269
532
91
61
85
412
926
55
293
138
880
582
239
97
41
173
376
956
511
833
699
944
841
140
422
439
930
595
889
283
758
732
777
746
572
267
308
409
510
800
524
546
227
177
699
768
743
665
589
788
630
486
563
185
638
115
578
925
46
991
632
264
351
900
576
326
365
379
105
321
461
934
356
882
484
717
755
455
788
605
705
14
988
259
214
632
253
884
823
605
408
835
39
886
665
151
11
564
565
404
381
2
565
913
84
32
778
554
336
303
553
848
252
463
954
999
316
389
706
839
379
52
825
391
26
956
15
938
875
283
856
972
866
46
961
423
635
540
593
890
851
355
635
377
773
66
471
220
376
444
50
470
65
720
348
983
413
986
527
867
352
293
285
735
963
398
318
434
319
366
348
501
855
478
840
672
391
937
447
126
220
908
176
55
682
329
475
328
216
736
745
695
209
91
281
23
849
203
264
512
832
900
233
697
960
524
417
331
627
690
399
896
715
492
867
591
639
505
609
132
182
9
499
581
238
806
928
746
825
921
59
381
519
228
294
538
992
757
556
944
468
23
355
210
740
241
94
980
838
670
769
928
571
693
20
576
949
405
482
546
907
677
526
730
869
640
760
302
405
513
119
215
682
534
994
25
416
513
575
463
798
175
544
167
197
56
300
378
512
140
143
204
686
871
225
272
277
396
632
201
945
128
634
331
389
804
42
606
575
212
569
302
39
691
303
562
712
291
712
322
949
250
76
288
417
33
881
56
47
736
512
344
554
100
533
588
876
716
922
805
483
272
934
722
711
844
653
674
142
308
871
631
579
909
683
64
371
928
58
24
644
146
690
956
539
513
640
262
664
37
641
585
817
381
426
87
473
105
148
757
674
779
745
914
706
429
117
641
435
918
90
824
203
866
471
841
976
700
915
728
826
235
946
804
885
971
250
341
624
929
243
846
691
432
29
908
564
707
63
379
961
561
257
864
281
660
766
102
376
170
434
838
556
563
710
238
105
444
864
686
482
137
509
99
60
594
747
481
511
929
748
542
859
472
207
628
864
820
917
100
594
768
640
537
985
375
585
863
723
655
30
526
12
559
83
389
666
988
127
876
466
517
219
200
954
430
640
231
620
434
785
677
993
102
823
739
247
710
892
384
787
643
113
640
712
922
383
141
198
772
708
209
609
328
859
384
578
731
228
231
406
900
82
617
850
207
863
448
799
112
769
7
376
614
639
628
735
983
59
428
188
837
707
212
315
111
160
488
421
797
796
686
19
684
952
364
20
464
218
128
985
704
567
476
68
172
89
588
277
920
210
307
295
349
636
239
354
199
743
921
631
33
747
468
206
335
809
989
851
773
166
329
860
519
495
346
666
797
958
51
199
970
832
413
841
544
160
505
327
465
628
16
161
930
741
816
916
749
412
401
335
967
291
556
248
68
513
510
171
582
51
171
912
315
534
799
597
770
216
584
365
518
754
174
366
426
619
153
805
679
207
819
532
484
223
393
66
173
482
982
8
210
38
152
505
221
493
27
820
784
375
162
65
158
751
278
857
509
580
141
990
501
904
481
219
285
631
874
892
36
557
924
496
189
255
940
127
425
659
507
541
294
461
26
685
71
960
336
592
75
609
990
56
223
310
619
810
22
454
103
777
565
831
920
572
329
757
152
613
773
219
90
95
752
405
318
588
782
702
394
232
33
155
20
311
749
416
664
513
461
399
131
317
952
234
512
768
478
615
262
368
107
301
909
915
402
372
28
932
857
801
681
736
663
53
471
288
396
727
721
742
145
676
75
968
497
677
970
433
501
475
39
493
405
933
467
561
568
116
741
614
348
352
17
209
224
706
558
503
648
846
279
776
316
987
488
614
683
446
327
203
511
354
227
169
166
249
982
12
203
596
636
460
498
745
466
2
806
510
788
457
177
306
179
676
85
767
988
387
499
849
653
731
354
693
480
282
47
953
973
198
680
844
734
671
689
931
238
61
439
528
511
893
100
654
832
439
849
672
121
729
20
112
586
655
334
663
550
309
755
19
106
787
837
75
391
513
643
946
843
525
450
423
738
303
496
784
680
415
963
318
490
713
228
523
108
827
201
708
719
442
180
655
280
225
273
55
48
258
872
680
494
574
69
626
194
676
166
519
915
963
652
272
124
612
88
829
578
780
380
357
484
972
787
509
971
14
887
711
228
380
377
897
760
527
284
771
630
509
646
445
444
367
189
289
102
711
876
880
2
458
449
268
492
916
250
127
822
258
676
999
783
996
599
508
471
196
950
368
384
61
470
996
106
993
307
804
423
379
750
527
571
187
877
532
722
898
341
660
483
441
779
16
389
557
621
89
870
475
143
729
188
855
683
781
136
704
873
667
127
386
578
763
430
896
1
228
924
281
68
824
704
466
767
365
296
790
616
651
17
199
768
147
231
437
603
173
882
517
800
138
673
467
12
124
715
597
257
220
301
543
63
107
672
945
193
769
324
894
547
665
438
236
415
321
463
375
836
140
770
517
226
120
553
142
815
331
825
100
666
211
444
910
219
226
605
727
379
938
110
980
118
325
38
835
465
34
160
521
534
326
520
19
923
656
172
786
434
185
953
997
558
44
516
233
579
837
593
692
467
678
602
761
975
77
244
232
447
78
731
512
912
387
613
975
971
658
963
940
825
715
864
876
563
257
686
122
470
492
687
782
707
259
813
501
156
383
415
488
645
434
780
523
11
574
5
639
679
906
764
882
531
574
922
800
832
878
817
322
896
846
240
290
4
28
812
198
788
745
492
599
953
695
409
276
705
562
95
477
747
282
438
447
5
681
372
30
528
485
396
344
172
119
499
395
712
274
974
36
43
973
903
834
982
745
787
292
971
538
939
327
693
260
745
89
184
117
864
998
552
500
723
346
813
797
445
948
678
341
475
71
333
709
715
342
416
684
953
398
396
531
715
812
515
646
465
202
317
274
233
529
523
747
340
262
671
597
884
508
532
996
41
177
761
193
40
995
622
9
876
481
945
997
441
999
615
568
769
686
41
249
528
317
15
250
723
183
322
671
788
629
239
36
944
234
826
287
683
491
501
35
769
491
967
649
943
313
965
712
842
764
700
487
291
650
35
285
209
983
707
65
887
396
884
161
250
575
365
746
51
699
596
575
641
699
464
542
62
694
527
816
756
51
928
679
81
379
755
683
185
204
17
428
505
209
723
79
315
678
763
733
305
258
453
867
116
200
601
407
131
14
922
405
587
872
468
908
258
145
491
384
523
184
831
968
658
823
472
879
534
103
393
598
760
429
220
750
485
668
467
233
682
731
349
783
796
824
253
42
8
852
941
232
262
436
503
661
389
631
854
641
334
692
324
890
542
191
510
89
17
362
91
99
418
806
754
270
841
601
724
381
622
390
658
35
544
276
801
711
362
201
392
299
425
6
267
634
489
590
504
456
523
379
704
258
423
862
246
694
58
56
412
554
25
609
789
858
797
710
795
253
701
63
452
757
297
19
778
848
306
335
307
53
161
162
248
470
634
595
773
127
776
519
759
661
552
544
51
583
174
554
994
318
81
744
539
255
963
61
706
315
968
652
558
889
495
250
144
585
552
434
33
879
693
368
196
672
981
886
967
707
231
824
733
34
72
55
839
980
962
10
892
602
372
381
282
211
809
288
302
375
209
455
648
732
499
841
466
70
804
707
342
392
866
357
811
89
725
625
15
932
602
733
124
332
242
320
999
174
662
278
383
620
387
540
582
431
744
109
199
748
764
435
1000
770
505
698
380
435
415
691
248
38
456
781
333
704
280
830
80
774
703
88
313
437
78
787
807
425
964
588
739
153
627
74
761
493
531
223
82
251
933
131
533
515
113
330
45
263
574
680
355
19
723
202
47
866
206
176
228
855
49
510
219
684
212
682
676
535
974
526
435
146
824
751
223
487
174
371
80
922
245
145
964
363
972
727
577
701
587
473
844
794
870
739
885
335
671
91
507
245
442
44
474
621
983
822
823
848
496
158
503
232
356
358
473
374
713
651
200
575
151
400
176
734
148
839
670
592
13
882
456
647
306
939
635
773
489
864
33
374
694
896
825
899
61
906
219
669
36
343
28
290
401
36
927
328
576
392
25
578
889
611
151
992
138
226
896
257
699
684
41
92
882
684
451
560
11
680
926
86
914
309
751
406
135
486
907
377
190
563
986
447
614
278
874
560
392
155
163
491
592
663
70
888
677
707
382
801
6
971
556
111
514
200
650
64
408
790
200
72
998
919
505
34
450
54
45
714
338
840
907
116
353
288
170
377
440
681
164
426
900
823
417
555
758
64
859
81
748
82
583
481
840
497
24
745
129
254
949
198
250
139
53
704
222
943
262
16
776
544
92
982
752
627
521
485
130
850
879
273
625
3
195
286
523
120
299
706
639
559
725
690
838
784
119
713
576
944
433
464
283
396
653
523
230
974
187
393
737
167
339
43
162
363
455
781
183
965
477
157
243
493
589
606
933
759
600
699
277
821
478
203
544
695
232
636
267
751
902
629
618
285
10
214
107
50
233
100
913
381
418
99
766
142
322
149
424
933
607
772
260
859
695
396
377
698
60
710
960
488
421
75
305
390
68
111
41
192
268
714
632
955
274
188
118
132
997
612
437
938
759
303
372
883
930
6
333
152
416
454
727
962
132
73
631
93
606
891
852
568
835
168
209
831
313
881
73
851
963
930
775
301
313
885
467
292
869
156
443
237
75
671
706
39
653
600
789
180
395
133
444
271
667
70
833
275
992
832
300
922
75
479
601
819
558
539
743
349
584
748
211
762
8
278
414
779
697
698
644
619
900
664
706
615
123
330
638
495
284
537
639
925
179
133
371
194
451
171
335
712
325
324
867
602
335
574
646
781
174
146
291
815
541
648
729
301
606
649
573
708
255
229
628
377
837
562
21
910
503
283
155
225
564
179
859
392
522
763
631
781
545
392
863
114
206
913
270
825
232
261
523
455
885
25
285
948
315
784
398
366
918
928
984
951
292
732
603
473
833
723
431
502
436
724
595
561
11
539
467
138
750
919
684
171
147
319
134
939
808
967
949
252
982
918
809
460
560
131
481
79
31
27
601
755
486
704
130
900
319
689
808
562
711
134
184
2
330
432
484
5
929
481
653
179
696
288
419
365
271
123
83
783
326
215
86
782
461
838
77
831
996
690
341
947
885
669
953
871
616
501
955
127
434
202
206
564
670
994
245
104
231
168
711
188
575
311
378
860
604
506
827
516
928
372
149
82
933
272
847
796
901
632
262
839
207
58
455
754
258
880
445
984
434
803
120
868
736
598
919
146
246
138
606
335
782
642
56
360
322
669
22
458
877
288
237
697
488
838
83
409
943
881
252
461
614
254
518
566
564
633
753
778
660
641
788
885
19
326
599
683
499
804
550
18
351
940
111
8
360
238
545
131
978
481
561
676
34
301
814
629
562
525
428
224
169
77
453
242
156
248
242
631
304
324
300
184
824
962
41
798
475
164
250
344
273
425
772
246
531
397
112
705
185
447
156
876
501
587
199
461
279
560
842
866
645
324
50
529
314
772
889
41
38
288
997
423
533
672
878
296
810
23
462
683
284
413
206
905
395
570
198
333
809
332
364
796
412
332
868
59
432
233
249
127
39
843
660
77
644
608
807
745
991
313
852
890
811
296
566
355
461
108
508
391
508
377
849
487
649
548
727
28
709
296
728
592
732
680
122
975
313
498
16
846
396
910
461
525
766
98
844
494
282
646
634
160
748
343
626
823
971
337
382
7
165
894
471
87
370
566
459
627
953
200
326
967
601
83
150
359
402
471
418
412
774
913
332
669
19
36
784
918
236
964
491
203
145
92
943
601
182
741
375
516
824
120
18
631
724
91
214
677
669
489
845
868
789
106
676
200
697
13
879
774
459
588
985
22
382
477
953
939
608
714
889
475
418
419
170
801
971
801
378
463
919
667
507
393
976
311
360
294
50
405
910
198
985
496
692
891
331
807
935
443
780
316
263
320
98
474
250
415
430
544
40
851
852
229
523
633
882
182
263
9
506
11
525
958
908
595
207
324
742
907
478
965
253
6
194
726
984
584
956
173
116
239
775
813
721
635
894
952
313
868
259
423
164
619
494
195
736
154
19
236
481
812
100
92
983
417
246
360
93
928
309
575
264
749
75
103
778
346
912
278
938
189
270
386
556
601
423
87
314
786
876
515
611
164
278
619
566
163
530
259
728
773
990
204
870
499
353
447
978
845
813
203
145
63
585
530
661
736
717
757
993
695
413
838
716
857
731
273
712
886
648
463
108
933
933
263
492
343
183
987
925
912
675
333
152
182
410
520
167
299
800
435
45
159
21
738
472
934
938
686
982
561
867
889
267
478
167
362
285
671
802
976
76
138
578
883
355
943
685
562
983
392
576
870
336
276
970
919
477
729
929
618
763
47
563
468
182
687
903
555
305
781
857
715
188
701
4
528
945
617
139
154
2
527
150
992
241
944
781
829
324
266
301
434
508
886
898
519
165
263
878
623
42
488
400
749
21
383
490
501
754
782
604
94
116
459
790
818
820
111
847
472
927
905
507
824
210
362
759
382
501
785
948
613
224
989
133
309
286
842
533
943
370
998
569
735
474
269
146
621
227
256
309
477
95
233
375
778
138
793
942
297
335
419
922
623
854
981
912
3
847
132
740
498
487
734
994
487
1
699
712
333
387
131
171
418
357
213
896
809
815
91
585
536
810
877
657
838
508
20
488
761
169
476
237
168
516
544
367
575
155
732
545
213
913
750
680
378
42
580
242
428
252
559
855
777
452
622
402
817
875
138
505
24
22
281
318
404
439
493
16
42
940
424
229
755
271
631
942
766
595
484
52
867
430
945
879
741
812
328
382
27
557
710
750
188
425
413
347
461
916
837
665
5
175
994
93
847
206
282
796
390
163
388
958
51
27
743
933
67
351
586
642
634
105
561
648
298
853
719
917
992
642
946
248
158
999
149
672
187
403
939
939
767
411
211
362
825
406
744
872
445
579
866
141
532
321
337
7
988
684
790
248
899
953
483
965
530
639
670
430
941
413
559
293
695
601
726
466
423
840
839
818
993
441
721
87
635
795
117
20
674
897
990
843
434
682
830
594
488
417
247
720
654
817
59
631
69
920
204
550
199
999
71
94
889
956
248
531
410
705
276
508
996
26
721
391
541
267
765
47
990
22
560
1
412
648
802
447
948
49
309
499
591
677
935
407
250
106
792
209
666
856
600
418
512
359
948
918
461
104
389
184
94
12
611
306
254
58
339
79
875
995
246
583
352
776
930
284
262
970
908
629
587
976
653
571
640
387
963
195
577
159
301
872
710
584
310
957
831
238
397
79
439
159
152
486
21
538
365
755
560
114
568
417
18
262
385
660
847
506
412
386
515
818
29
289
606
585
305
528
319
587
118
841
98
667
749
580
647
22
404
291
859
230
619
901
6
170
3
493
98
965
561
957
491
999
702
491
661
772
66
65
580
130
552
465
245
943
230
459
763
841
372
984
831
22
488
959
580
460
81
494
542
69
822
822
908
505
978
217
374
329
220
549
570
187
389
884
520
534
412
713
607
142
307
985
237
343
146
105
792
494
927
450
456
626
515
755
210
633
223
951
614
626
131
613
5
295
956
236
388
187
130
958
600
834
758
186
307
583
309
832
998
774
194
504
441
651
898
36
976
26
936
228
629
234
735
506
270
372
451
485
945
169
878
117
67
74
842
159
369
309
903
203
400
739
748
408
860
311
429
358
269
786
426
200
298
187
622
313
579
138
434
292
994
850
710
942
210
995
543
333
730
151
766
688
828
809
779
14
532
132
293
979
237
825
737
437
636
494
370
417
386
787
566
139
356
522
384
797
334
690
261
438
804
939
610
260
777
680
166
27
675
441
168
127
960
474
830
994
553
903
126
215
50
901
601
701
444
476
756
686
318
441
620
182
494
90
227
734
696
864
94
996
97
75
250
652
548
338
2
717
852
912
442
86
741
623
618
467
73
328
426
531
341
205
514
187
821
249
948
357
518
486
915
568
641
325
519
928
491
403
571
804
489
34
354
605
605
72
520
611
534
595
634
699
855
337
413
178
802
175
351
649
451
329
264
978
874
136
262
9
257
394
796
612
79
307
721
10
172
15
766
117
907
517
408
780
806
582
912
412
584
878
218
494
16
125
420
800
30
564
842
31
141
380
58
720
644
60
801
917
19
786
362
151
630
134
953
618
111
297
533
365
820
6
743
480
325
101
927
945
207
466
721
865
365
630
284
236
626
921
89
285
684
454
101
678
317
613
303
589
382
939
779
669
301
485
992
494
626
771
451
905
801
459
728
21
421
720
627
360
135
86
399
635
819
240
53
342
824
819
213
125
896
792
433
291
836
405
609
555
85
983
900
251
207
116
581
802
678
889
389
187
460
824
194
512
609
190
303
580
567
146
306
499
822
954
111
973
380
160
775
913
819
209
783
383
755
418
657
705
223
647
201
773
818
247
174
203
432
90
940
1
91
585
468
847
693
560
63
912
416
832
416
385
190
92
828
522
906
451
12
76
965
631
447
444
364
319
105
702
764
639
298
2
883
57
493
451
129
273
229
699
582
831
659
947
334
240
846
962
694
360
652
13
981
708
942
350
444
118
904
928
348
864
442
646
445
981
980
263
813
7
532
500
557
783
543
575
951
268
845
563
416
546
54
521
115
337
860
282
96
352
972
187
600
791
911
780
606
104
476
689
713
915
439
492
182
667
976
334
340
94
391
501
576
121
935
910
827
171
910
726
812
117
775
891
272
364
706
406
94
573
874
612
556
615
757
549
847
201
942
724
684
478
227
264
80
602
276
456
291
916
760
174
539
916
679
521
365
614
527
310
352
265
58
674
550
678
686
172
120
484
960
263
589
825
135
898
673
865
587
299
744
436
718
687
933
913
34
846
284
76
266
924
600
357
797
799
362
351
123
681
621
880
792
336
867
221
51
507
634
344
432
596
87
112
657
697
864
456
503
386
258
460
743
457
164
152
891
980
336
547
211
641
162
157
401
280
573
730
426
996
721
483
198
927
727
443
191
77
175
831
649
132
992
571
698
262
31
157
570
299
971
69
141
553
115
874
156
727
294
938
848
72
360
433
115
948
685
909
101
439
682
279
766
505
584
474
26
460
673
407
133
210
643
98
205
786
53
19
297
194
681
745
896
487
86
5
529
294
937
73
16
705
430
258
962
579
687
918
274
813
117
40
848
66
578
920
99
763
623
898
636
925
237
412
263
541
242
869
417
729
13
938
335
906
201
955
495
541
914
999
370
841
253
119
100
896
76
907
471
392
678
271
518
983
353
855
115
823
912
4
166
556
853
557
406
250
263
51
351
411
506
84
623
201
411
714
777
437
987
753
724
756
655
741
30
585
595
184
708
210
124
399
583
264
897
884
953
427
383
729
79
5
237
979
951
305
172
221
927
408
431
952
72
41
209
389
457
700
240
503
252
117
281
2
175
435
438
884
752
169
73
943
877
154
581
345
382
192
441
941
646
41
773
530
835
728
90
667
990
886
58
949
22
988
865
922
664
895
220
888
556
61
101
923
922
166
117
370
783
652
757
902
224
859
848
25
995
22
272
529
686
381
355
990
726
52
369
878
761
120
287
203
277
599
245
947
951
543
198
688
857
596
868
939
545
703
432
722
998
539
336
823
674
445
255
968
120
309
497
898
182
887
78
961
406
502
294
344
99
951
853
545
377
681
543
12
728
11
969
132
804
238
97
931
614
949
236
890
869
787
601
272
922
178
783
234
697
269
309
765
979
429
955
222
676
178
642
789
24
349
541
723
187
609
484
648
407
219
918
474
660
34
379
750
775
335
935
383
88
989
122
689
16
859
629
699
392
97
433
466
963
184
94
904
293
108
673
329
146
122
96
445
573
865
809
993
105
459
262
670
877
402
96
192
29
680
915
579
447
560
159
843
747
916
912
253
435
835
464
273
334
412
32
76
689
362
353
273
865
70
782
112
157
207
125
954
65
858
677
255
296
418
854
652
896
158
338
2
149
478
910
358
333
318
983
982
957
116
387
423
866
2
158
587
483
623
893
525
481
96
766
326
412
129
413
129
145
257
750
765
493
490
201
933
78
384
995
167
306
730
903
38
304
563
290
192
804
196
377
837
277
301
429
271
23
876
910
840
590
82
785
522
602
527
791
953
32
562
933
313
13
562
447
926
521
938
167
847
641
864
602
966
682
305
972
364
106
943
161
757
81
45
809
849
487
131
776
370
396
552
773
330
315
726
310
804
36
837
967
155
507
259
645
146
982
824
672
847
624
332
544
582
867
382
647
402
87
668
528
765
563
392
132
143
271
331
976
253
806
403
402
506
593
273
892
30
608
679
936
344
13
639
68
324
495
682
549
643
572
508
573
241
833
300
58
743
881
990
807
917
753
365
317
433
688
865
542
204
464
257
710
532
926
175
688
124
955
662
419
828
895
461
722
559
363
765
65
476
448
555
992
949
531
439
545
220
356
118
360
951
515
233
148
62
219
337
873
326
71
202
288
235
590
464
446
525
382
885
419
588
190
123
736
719
548
983
994
757
367
555
685
259
616
529
515
725
190
231
424
808
152
615
35
644
831
514
514
627
643
963
677
22
109
279
702
757
238
901
8
651
371
692
682
89
599
535
351
874
72
545
541
555
885
181
364
71
725
850
866
925
137
342
467
455
101
594
706
956
576
794
957
573
824
852
850
885
600
574
885
90
766
670
139
483
480
926
25
749
872
392
747
187
46
501
529
601
322
370
655
25
856
365
89
873
167
223
774
336
649
613
689
100
837
71
419
515
67
643
288
360
161
422
83
279
953
392
1
747
803
641
745
184
706
73
628
436
251
166
132
391
497
236
599
953
747
911
680
906
340
181
669
514
822
523
116
797
300
31
952
552
314
418
898
117
360
34
124
781
14
776
947
520
705
856
867
428
351
922
392
820
453
962
900
483
734
756
280
964
96
344
173
90
475
185
461
172
178
176
50
427
408
695
96
228
970
181
578
714
629
527
509
152
166
771
157
182
968
103
331
756
876
251
206
140
125
647
139
811
421
641
649
492
577
164
61
815
715
928
307
321
681
214
41
606
243
773
528
397
596
147
729
302
907
9
639
736
935
729
196
311
263
442
37
554
282
340
936
392
916
793
34
253
963
156
866
18
90
801
743
274
736
6
267
511
646
806
633
957
271
820
893
712
69
361
550
756
578
850
682
143
190
665
302
425
780
81
799
933
658
876
141
41
862
519
950
968
451
598
717
971
306
271
182
19
913
106
340
160
740
605
632
835
123
91
631
334
18
401
915
430
587
992
900
998
348
682
125
65
536
201
816
333
390
143
647
654
347
712
225
359
444
855
243
585
859
992
177
975
142
576
106
196
597
141
507
743
275
330
862
395
179
633
544
522
662
203
698
151
423
197
792
327
188
504
105
868
928
629
643
13
428
741
909
852
140
591
480
655
479
74
584
382
183
703
735
742
910
173
12
110
964
463
738
531
973
665
192
783
330
819
441
199
459
578
566
527
290
417
348
626
855
481
945
178
581
853
232
960
692
224
226
398
84
451
475
285
226
470
372
566
870
402
104
42
857
435
344
687
892
277
867
43
909
515
962
794
595
247
922
205
694
725
879
595
957
542
974
354
982
135
155
350
739
954
944
725
278
702
103
204
956
439
498
17
559
217
392
487
844
117
21
109
352
242
606
700
841
214
867
816
305
260
705
179
350
756
968
278
649
430
112
686
303
64
133
866
187
640
368
404
801
347
616
701
706
778
578
74
343
940
796
163
968
397
90
271
414
7
35
991
657
203
117
53
460
730
60
847
938
37
269
465
505
316
441
452
523
280
196
648
947
348
6
662
380
858
788
533
284
291
268
88
488
264
659
357
806
212
197
136
278
291
861
500
513
994
923
568
659
379
32
367
776
618
202
958
762
769
442
317
526
295
716
645
819
881
641
861
968
510
558
63
790
602
668
639
112
274
463
536
668
388
23
894
621
139
641
931
573
386
866
440
761
770
266
757
52
976
144
365
465
127
980
586
229
421
605
951
777
570
972
914
676
551
912
558
204
413
482
805
187
653
300
443
745
751
801
957
811
989
497
777
605
601
96
32
820
635
862
328
877
655
658
379
486
540
943
554
705
204
389
502
821
9
911
103
701
21
614
888
672
9
592
943
629
276
560
70
815
2
26
623
634
752
65
20
948
201
798
396
526
945
372
248
712
450
555
200
902
828
69
220
160
139
452
720
109
336
517
948
292
834
468
42
332
873
354
878
569
550
796
615
318
392
894
432
540
839
773
522
506
849
509
818
984
120
50
299
590
84
330
972
205
932
968
777
774
414
842
747
383
22
331
708
246
523
212
710
110
462
54
138
638
408
422
162
528
207
375
784
489
463
552
237
690
773
596
897
989
993
789
211
59
969
564
342
514
696
980
363
275
843
335
901
721
938
847
15
589
283
747
17
237
845
153
611
611
941
846
481
192
540
431
943
270
404
369
799
131
50
99
903
115
799
757
215
64
702
41
346
368
240
391
648
679
51
986
964
370
812
10
14
992
642
269
247
305
999
523
683
937
159
811
927
361
751
672
51
689
756
384
492
708
596
247
468
715
631
519
650
948
493
810
15
846
127
606
851
932
335
148
864
867
932
50
230
75
284
895
202
418
165
545
582
582
365
41
977
198
395
804
239
218
1
280
931
773
911
327
951
516
395
404
679
478
774
41
153
575
957
209
802
205
468
888
206
837
187
604
214
79
191
701
498
489
701
893
274
309
88
944
509
380
314
432
387
715
981
150
197
612
361
122
87
719
396
141
330
178
690
435
831
803
929
355
624
309
988
942
6
714
266
875
791
421
372
546
864
933
399
979
873
796
431
871
405
177
835
297
470
407
122
522
417
953
863
912
722
520
224
172
179
431
164
983
164
973
249
675
556
167
323
717
814
275
2
676
484
426
45
785
106
920
215
408
74
147
122
503
539
558
922
654
822
796
450
361
141
923
512
55
677
654
656
737
127
660
622
245
940
278
124
874
356
436
311
510
242
182
480
460
446
1
180
923
79
992
829
372
673
73
371
172
662
602
305
448
4
200
610
531
41
91
723
339
891
993
733
681
774
432
392
790
667
379
365
350
597
261
390
928
693
756
670
956
864
211
841
390
574
213
365
734
721
603
13
367
104
185
410
36
262
492
271
903
764
216
48
778
162
359
192
34
910
700
136
220
509
944
399
585
11
761
928
557
841
16
902
723
533
653
743
11
613
72
11
583
363
341
190
398
588
265
106
568
857
142
878
355
889
46
830
134
891
574
788
712
703
326
499
158
524
820
734
687
871
146
774
210
141
434
576
879
855
140
908
319
177
191
131
271
818
316
110
67
799
231
945
675
811
911
829
74
157
886
352
351
295
342
9
237
56
827
496
753
497
533
615
277
173
444
255
591
333
128
985
439
185
585
217
686
888
359
801
429
408
63
158
321
683
596
738
912
824
562
687
38
237
843
82
161
601
851
983
90
638
698
882
683
468
438
801
10
131
551
424
903
571
64
179
6
948
39
80
251
659
685
510
121
878
22
837
215
712
827
913
391
309
610
58
205
396
471
82
442
731
1000
271
308
930
847
26
228
942
146
31
262
245
804
387
888
440
534
176
234
549
617
262
908
745
582
5
235
652
417
694
55
634
428
194
249
670
600
268
787
533
134
491
420
974
886
490
105
545
568
501
859
487
911
859
34
862
488
101
922
707
492
826
212
550
601
293
35
56
980
55
282
928
603
545
389
426
315
669
45
58
488
914
107
31
707
391
585
53
629
518
689
931
70
785
817
219
411
132
838
844
605
989
171
250
434
987
997
99
185
639
370
973
549
55
161
856
428
905
496
377
252
370
823
946
607
807
822
924
212
199
109
952
791
245
99
362
935
104
456
391
859
417
260
552
848
192
404
104
281
549
759
20
324
119
333
233
822
109
982
252
401
629
235
382
544
945
454
944
234
697
842
832
768
4
794
710
539
566
704
928
878
573
617
986
548
230
42
993
121
207
856
107
248
166
452
385
796
779
194
814
927
368
813
565
464
320
578
657
284
979
955
283
94
577
6
53
635
70
936
245
276
473
67
975
986
378
5
882
895
879
908
509
973
40
586
79
918
387
626
781
965
633
857
973
186
3
250
972
828
65
767
189
348
941
803
432
138
127
560
133
346
938
137
106
838
742
158
188
78
768
491
788
642
225
958
943
155
888
997
916
667
102
898
812
869
371
576
911
101
280
866
655
799
582
939
299
893
632
782
262
666
248
643
92
760
287
933
824
359
856
419
180
13
182
401
741
265
556
222
714
983
678
664
391
289
997
707
723
57
279
690
712
229
769
99
447
608
771
129
726
381
369
650
133
318
324
411
352
532
883
160
273
680
351
848
130
723
796
239
531
694
190
64
720
445
615
304
841
26
900
343
285
140
222
479
417
144
717
717
126
166
142
893
662
214
981
879
175
623
141
52
216
758
589
265
217
674
846
261
628
362
250
865
952
255
291
292
398
936
125
616
256
338
586
767
365
314
625
444
263
113
121
950
690
189
444
300
120
754
985
909
920
682
95
756
539
664
528
266
864
41
540
9
501
322
240
974
281
248
673
369
732
156
365
842
607
557
745
554
810
62
949
755
222
229
997
394
16
482
212
810
978
977
84
754
295
169
459
806
992
908
68
775
942
48
923
810
939
961
34
753
863
807
235
753
323
127
645
251
550
119
442
258
477
957
165
257
105
637
743
160
277
142
771
496
942
156
382
426
800
170
185
199
34
588
357
434
428
343
951
935
803
643
885
811
122
657
877
329
30
364
789
295
869
336
476
736
391
903
240
318
523
22
428
233
487
191
527
284
552
892
384
475
474
396
777
730
399
237
655
276
668
300
807
834
470
251
577
982
727
13
529
990
984
67
627
968
275
647
591
379
154
298
567
855
92
854
164
777
466
612
178
258
214
378
75
23
18
99
384
162
583
997
686
886
176
464
815
255
76
525
212
259
25
299
113
802
61
748
404
909
359
972
524
876
820
445
753
231
193
884
587
60
458
893
674
711
37
127
966
913
168
494
311
60
427
808
719
821
957
422
910
219
438
554
571
32
201
438
939
707
185
979
975
975
637
256
359
997
524
120
24
196
666
114
740
896
478
116
504
483
66
450
152
131
88
658
650
17
490
809
980
586
702
961
397
633
357
395
123
916
938
300
185
524
1000
897
230
487
795
358
604
960
181
499
898
838
668
924
451
869
348
202
29
142
238
696
983
349
231
865
747
358
498
217
421
450
649
604
563
39
376
213
8
810
649
447
716
999
714
848
175
965
318
382
861
294
581
668
607
433
909
205
523
235
169
256
261
888
121
797
16
372
741
867
653
14
658
741
721
677
388
553
937
873
430
410
925
363
579
565
601
859
6
927
635
61
735
35
819
584
184
642
42
305
316
219
762
264
787
18
567
536
177
812
418
449
60
69
659
70
150
112
727
170
264
756
772
759
123
47
71
842
348
960
202
281
78
338
435
496
798
962
700
279
845
314
771
187
35
544
46
799
547
152
385
643
973
117
9
735
983
560
385
495
597
529
354
248
435
176
492
678
678
427
851
344
632
191
773
817
992
344
428
97
869
981
87
695
643
880
922
195
509
760
298
132
370
635
86
790
368
519
562
847
937
792
786
844
705
781
229
153
980
484
559
430
824
929
164
553
918
341
965
707
515
145
544
567
792
876
400
508
815
200
424
391
147
583
301
759
855
655
623
193
320
906
921
189
744
197
739
154
749
468
89
25
759
173
335
568
157
212
645
645
316
555
597
591
740
333
471
382
455
883
25
465
711
161
280
943
844
934
941
316
809
388
614
152
524
159
887
827
656
265
706
973
891
133
185
402
51
695
143
7
650
557
241
631
584
335
496
944
737
575
368
142
167
125
354
660
435
415
197
182
364
876
435
916
185
649
961
493
611
812
689
874
815
562
218
328
712
220
583
886
196
421
806
687
202
591
987
255
541
651
76
98
465
899
336
934
854
199
714
530
690
926
998
361
253
594
699
273
63
750
20
904
167
475
193
863
776
824
676
597
634
618
421
381
738
263
500
151
199
714
836
714
94
243
727
425
143
431
121
610
910
669
308
830
32
522
836
607
649
480
943
364
831
2
751
160
289
263
791
237
61
666
164
566
207
51
793
297
743
456
773
507
185
464
780
703
121
463
876
284
151
567
791
574
394
575
977
105
527
118
278
537
950
31
73
967
284
80
127
421
838
424
199
5
84
538
664
519
475
900
5
357
100
439
75
147
807
582
437
903
400
775
922
448
439
493
813
436
998
117
665
650
443
487
850
118
929
640
386
235
858
965
429
292
971
35
125
727
102
396
170
984
879
952
508
53
801
906
102
675
231
872
597
685
750
460
987
181
267
537
137
29
20
408
88
719
314
364
617
748
433
406
447
487
680
450
831
998
894
996
966
348
119
91
866
770
331
343
835
449
234
947
677
799
213
923
118
848
425
250
695
749
899
167
550
493
255
695
133
626
299
325
831
124
347
921
912
634
585
93
985
945
156
711
396
924
947
741
569
126
262
316
346
945
627
791
795
492
21
548
782
350
711
496
863
957
689
523
672
681
441
642
53
557
406
219
627
264
9
452
370
149
619
229
18
41
87
600
816
110
836
353
211
289
574
612
558
624
809
939
825
435
309
171
573
392
514
94
199
415
722
97
546
823
537
182
494
303
674
12
92
80
738
238
102
147
968
982
585
515
299
201
289
231
276
627
161
366
520
108
254
218
459
495
682
777
980
639
16
872
532
695
724
469
921
667
818
339
749
81
874
661
973
702
970
160
559
495
911
64
582
369
301
509
405
829
640
21
753
323
653
334
628
956
463
148
971
246
92
374
937
760
961
30
416
805
757
257
206
817
51
826
832
740
526
129
571
480
524
861
667
455
924
535
76
393
991
520
343
768
956
486
348
699
572
54
772
710
770
945
44
467
848
107
481
522
355
174
56
107
896
55
961
242
675
651
718
784
446
488
95
519
930
510
491
118
472
423
792
565
857
731
881
666
758
69
180
376
261
503
559
979
244
229
970
617
195
502
940
236
203
683
868
830
456
17
698
735
550
114
126
837
341
143
956
756
830
429
619
500
825
489
143
565
694
536
46
229
589
123
757
581
901
937
120
876
579
689
514
975
162
683
868
917
18
926
636
219
363
562
393
60
43
32
246
359
979
568
724
682
404
579
129
18
721
4
606
732
888
950
337
423
720
797
349
993
402
482
372
949
803
849
98
863
889
803
945
968
654
515
141
24
498
35
545
14
916
539
106
668
694
849
302
539
538
23
181
159
225
566
894
768
902
270
698
285
121
759
470
442
559
578
708
486
160
68
840
445
587
314
414
708
467
187
422
612
914
862
553
780
179
223
664
205
120
261
121
447
344
890
962
859
539
630
27
471
488
240
278
993
713
699
562
429
524
897
972
967
480
36
771
107
920
985
575
508
274
806
123
642
317
230
492
159
410
128
59
796
6
915
869
790
429
381
305
11
957
675
131
427
788
26
56
143
310
312
903
918
448
788
394
13
515
106
318
223
169
271
543
175
538
321
952
319
554
339
853
539
824
858
868
16
149
853
586
753
915
282
503
192
141
589
908
479
934
650
401
210
466
414
670
967
330
873
15
550
370
69
851
559
578
558
76
923
730
122
789
32
754
539
265
368
674
936
538
910
158
546
168
137
317
729
992
157
422
739
772
346
649
55
611
875
757
37
967
703
889
299
888
917
293
478
809
791
841
2
907
557
662
42
522
714
71
114
602
601
269
655
488
101
932
495
593
602
913
338
703
741
767
254
697
55
694
695
438
378
813
752
494
726
372
199
106
428
624
356
545
512
615
996
555
638
58
273
137
470
802
169
286
958
133
45
661
910
314
672
339
145
291
546
994
706
480
400
819
873
887
543
490
200
614
91
315
355
943
183
444
371
814
27
699
767
470
954
153
136
447
725
30
973
910
981
924
946
497
103
571
334
501
723
649
63
202
791
138
621
604
404
808
167
661
581
288
284
316
772
16
184
327
195
63
626
893
997
475
481
568
846
304
621
801
814
946
823
719
285
746
417
443
222
97
736
308
303
403
785
859
337
358
170
369
889
972
31
951
221
624
610
27
505
250
152
35
770
434
19
782
171
786
240
772
3
485
278
162
345
285
411
773
320
597
990
671
773
476
788
441
564
487
820
210
791
443
285
828
987
967
743
407
769
659
240
591
420
432
863
504
671
206
133
313
259
752
681
758
914
927
946
765
78
927
966
514
13
487
902
898
969
116
632
378
693
593
619
619
923
917
238
171
435
851
952
651
847
989
37
581
674
9
24
27
43
409
698
703
81
562
240
22
233
342
105
874
663
969
280
571
465
919
872
496
615
962
363
472
470
416
474
764
151
692
279
934
326
109
131
473
758
690
976
251
477
409
852
337
577
894
715
683
472
148
263
490
885
222
60
812
989
122
144
99
872
431
228
948
973
267
783
258
166
250
562
377
984
58
576
596
826
31
157
496
73
27
488
276
755
393
895
147
777
479
297
296
735
612
416
695
61
796
742
291
542
736
802
650
291
924
980
241
863
669
972
882
568
924
4
773
942
705
85
740
8
679
900
976
199
258
443
612
794
138
96
912
244
772
691
739
92
705
8
239
18
50
307
319
154
631
703
632
6
493
671
224
190
529
495
923
734
977
226
853
855
370
614
130
2
375
494
953
407
581
332
812
567
947
981
426
898
99
207
423
225
84
227
448
955
499
318
578
503
160
524
443
2
561
664
430
427
469
81
706
986
884
93
557
52
485
638
735
961
416
427
62
729
936
816
568
90
13
662
787
313
435
712
680
917
377
397
836
762
643
510
229
976
13
889
819
840
217
134
723
71
41
363
505
878
26
198
385
826
990
491
797
803
365
792
788
307
939
174
215
891
168
860
540
827
610
15
309
952
453
189
88
249
284
151
674
892
485
289
937
374
646
305
504
886
397
673
824
247
930
235
844
591
258
311
657
457
972
954
982
119
830
280
281
779
37
371
649
731
488
871
341
713
528
251
951
445
65
687
824
786
948
635
212
36
585
484
68
663
724
112
155
109
140
786
280
432
759
596
97
224
392
546
880
621
817
494
73
273
440
360
216
790
117
415
84
557
38
14
441
779
736
810
881
287
406
384
620
946
702
191
958
452
122
945
351
966
867
823
694
263
826
431
464
43
940
32
812
640
736
394
595
589
293
526
569
438
205
695
673
738
397
372
382
373
810
188
647
241
998
521
779
855
717
126
978
595
407
31
889
186
296
49
710
490
515
377
860
830
243
179
173
891
383
500
910
706
682
591
605
347
544
479
924
726
990
676
262
362
352
979
764
15
339
673
801
900
21
866
743
533
184
281
998
365
189
638
914
60
196
623
94
634
144
557
106
734
361
89
323
972
59
634
898
618
255
815
427
920
856
865
934
988
721
826
196
481
566
350
272
310
430
117
355
184
287
200
682
105
82
168
321
866
114
379
76
165
220
703
658
247
652
859
493
823
902
666
263
638
967
753
315
235
719
723
592
348
105
305
635
885
892
786
470
645
521
893
965
760
451
337
293
333
52
433
698
919
707
570
673
289
282
820
999
389
542
620
816
532
419
328
68
621
219
400
197
671
50
81
925
943
724
817
326
797
378
9
165
730
873
379
654
164
813
932
350
237
664
474
930
232
30
658
955
314
625
828
541
912
846
249
65
448
136
924
657
86
547
843
226
849
965
393
221
747
513
679
143
533
517
643
77
325
265
224
138
604
514
266
808
43
287
532
559
204
116
960
66
385
244
253
543
824
709
20
446
992
463
910
836
947
842
639
223
596
772
359
571
216
73
558
475
797
89
571
199
595
690
822
420
781
340
119
987
230
559
672
997
305
601
37
759
951
576
832
4
534
561
921
819
650
481
719
340
557
663
437
209
962
991
343
144
672
557
615
754
980
527
910
907
763
712
587
545
944
992
411
816
362
298
650
804
127
353
706
929
211
720
812
302
357
24
870
939
427
394
202
742
897
259
838
607
589
650
2
814
633
79
591
152
325
854
786
806
778
445
432
148
247
130
412
990
550
677
100
739
301
290
865
172
532
355
750
203
873
826
693
111
664
189
69
195
225
91
933
704
86
598
45
187
104
26
667
145
282
986
160
937
593
44
604
458
226
951
27
7
551
934
339
87
499
921
738
661
211
914
173
476
583
945
444
672
768
163
645
809
772
645
944
844
56
486
174
331
433
538
279
309
624
940
441
938
552
254
636
888
808
558
427
950
786
357
51
67
623
521
229
249
469
769
690
408
562
396
69
209
284
40
742
414
633
305
123
82
561
944
163
174
212
138
76
792
395
143
827
333
550
164
547
273
60
910
821
179
12
669
770
822
408
141
925
911
383
472
183
104
223
153
533
373
817
438
820
761
732
3
552
824
271
347
644
783
722
315
22
524
494
741
225
82
993
856
503
210
917
597
397
931
74
342
485
734
10
958
793
205
434
226
335
446
954
871
413
592
631
444
573
94
698
249
596
207
112
361
466
313
737
525
67
271
616
407
238
988
198
205
929
802
398
141
392
57
57
687
767
477
712
725
936
539
575
958
242
89
282
63
511
847
283
31
827
298
699
67
703
695
104
243
575
566
969
816
63
124
430
760
72
490
646
576
585
473
248
925
964
922
286
930
687
343
651
293
692
585
150
501
939
831
294
478
355
87
384
12
82
620
659
166
820
521
126
660
90
695
176
920
488
67
241
62
294
758
569
627
360
290
652
236
859
629
970
709
285
32
468
377
102
184
670
455
553
104
360
403
449
646
562
94
212
182
913
521
29
262
621
469
767
588
878
286
193
670
1000
421
139
888
570
901
460
520
574
257
45
479
828
752
672
133
13
900
186
588
284
401
375
258
721
605
881
360
866
536
690
226
211
326
57
966
761
616
199
54
767
134
729
899
284
193
615
290
457
259
360
892
373
156
254
667
834
651
763
122
651
386
581
849
919
159
418
640
272
543
341
832
280
693
367
192
13
7
59
795
297
980
68
863
299
177
919
451
954
790
864
215
143
631
285
210
720
721
947
850
192
895
406
679
372
934
984
567
337
792
50
336
827
431
769
547
602
611
97
398
322
747
575
235
263
605
365
193
521
174
84
847
403
528
182
598
387
866
42
680
366
214
474
329
893
453
35
649
808
444
392
141
906
25
33
721
314
567
741
235
832
585
594
189
779
636
746
427
847
356
864
937
6
31
896
880
800
536
792
143
247
821
922
446
119
383
172
88
618
336
144
915
296
718
435
990
623
707
732
738
800
238
317
57
214
348
639
2
478
233
808
156
120
622
220
732
796
571
20
810
393
181
823
799
481
81
871
417
365
722
858
994
423
673
733
879
500
133
120
83
891
827
435
80
819
289
377
857
416
308
257
859
880
961
507
524
911
217
836
433
499
602
690
953
866
748
89
428
685
980
433
598
696
258
592
953
492
899
441
139
577
516
14
386
731
506
612
146
357
250
547
801
779
912
665
316
356
338
432
215
906
118
178
80
158
282
10
72
857
491
57
640
720
800
924
655
630
262
697
727
369
677
373
325
660
807
361
635
539
212
557
803
867
679
549
329
310
899
722
874
279
639
366
691
98
181
425
230
179
174
172
176
63
415
941
352
990
239
20
465
84
388
933
616
347
208
664
887
363
15
796
50
76
281
151
671
6
74
311
410
24
827
258
340
161
91
509
514
953
399
313
768
531
737
879
998
956
424
150
742
367
366
329
923
96
790
231
38
252
525
535
909
238
829
196
345
269
589
576
729
263
422
368
566
385
847
994
521
136
235
973
306
124
682
687
68
528
301
105
603
879
687
259
798
948
454
699
189
424
844
744
445
603
338
32
841
470
122
830
545
421
2
523
621
347
112
990
183
971
287
853
61
141
554
156
681
217
526
669
579
870
882
837
142
318
270
401
695
526
141
820
30
935
49
950
832
72
886
856
213
756
383
275
768
725
942
965
137
174
559
146
24
100
121
264
73
361
883
581
747
56
265
457
594
155
424
740
898
320
241
388
720
504
461
291
772
225
723
288
399
392
142
522
174
140
906
630
265
481
88
715
791
427
495
716
822
909
919
554
560
8
584
410
507
952
956
585
87
869
300
644
294
518
581
998
415
87
312
604
765
669
988
251
695
218
573
736
824
634
323
308
556
108
915
964
489
17
442
498
224
484
347
772
422
156
782
288
705
893
181
32
136
847
83
464
559
816
345
742
50
882
944
508
87
60
493
42
816
113
454
181
971
732
781
179
594
993
391
585
668
401
420
302
207
812
715
224
114
269
363
226
345
72
365
831
535
433
758
578
243
719
569
980
417
570
4
947
515
183
181
760
932
633
542
955
67
430
772
19
377
382
743
372
259
496
459
959
425
837
497
690
755
197
724
90
235
987
373
781
722
970
693
825
724
326
463
554
313
74
637
224
557
64
271
731
607
576
653
662
643
81
264
163
436
856
795
448
205
966
942
311
762
578
118
642
707
716
544
794
548
322
387
621
203
931
761
149
282
364
439
132
902
587
51
194
595
277
425
875
998
715
435
645
634
330
437
878
72
576
886
871
127
895
245
173
612
152
659
947
307
304
135
563
456
51
203
379
133
870
92
479
199
139
486
169
468
36
813
214
878
502
871
91
155
852
280
41
480
548
901
342
152
229
904
987
69
353
590
952
168
700
442
291
590
562
109
603
461
621
220
804
646
448
962
737
732
29
357
854
806
939
19
127
290
622
9
357
228
717
26
275
910
552
859
170
676
701
443
296
65
1000
340
980
197
513
741
184
455
736
334
233
43
747
498
600
7
118
330
877
610
127
934
576
775
245
290
941
462
893
721
785
415
216
693
216
743
979
204
262
158
696
517
559
508
839
382
734
462
258
128
589
796
983
272
939
767
204
325
795
485
562
510
590
20
813
31
330
228
591
308
870
914
239
361
993
26
630
129
611
996
498
53
201
242
12
695
545
91
274
517
933
88
950
189
272
695
469
971
943
918
102
763
841
281
742
412
749
841
431
720
95
693
460
410
177
487
435
977
159
32
789
960
461
953
85
679
729
742
877
884
190
246
51
76
56
800
327
517
613
766
45
15
758
186
438
672
63
627
372
680
868
71
891
114
536
874
9
429
753
394
870
33
677
898
803
844
809
739
796
267
712
586
617
357
60
721
152
241
74
23
504
74
75
264
93
878
762
791
247
643
828
487
807
963
687
155
837
300
420
94
828
703
538
712
736
433
774
465
755
462
926
275
990
303
733
858
100
919
835
62
535
764
184
405
200
135
639
484
277
104
98
831
421
260
215
85
778
373
659
64
87
883
920
430
618
806
839
165
875
244
440
999
790
203
95
261
593
814
797
382
683
392
61
390
582
973
22
329
508
117
396
454
180
773
271
453
226
986
170
687
958
26
391
639
337
324
437
330
693
211
227
461
84
64
892
426
275
924
164
153
928
11
755
920
11
879
698
940
358
127
272
482
30
681
36
776
381
674
485
734
749
864
5
792
266
331
161
808
604
940
787
5
376
669
28
407
509
442
250
86
174
567
701
792
733
189
893
239
729
460
965
379
183
281
677
498
305
510
284
868
266
551
257
978
873
79
702
78
809
459
394
900
616
113
513
912
738
674
552
421
766
290
359
138
472
827
963
590
359
66
640
896
235
182
674
959
724
960
390
124
759
196
345
670
814
710
1
314
61
227
816
56
680
144
452
285
271
860
718
62
698
905
933
885
709
607
645
34
366
366
3
822
671
949
651
679
751
362
685
16
629
979
101
246
929
614
140
179
800
118
141
229
994
923
810
535
300
648
304
143
464
542
180
849
329
59
23
173
171
303
552
205
100
433
77
743
974
378
474
203
471
359
229
320
856
792
719
493
479
127
582
982
262
36
962
837
242
174
423
573
744
408
544
114
930
29
568
474
244
939
968
942
768
248
489
315
615
12
31
852
265
64
731
154
185
49
725
185
150
759
392
944
472
872
299
136
689
980
693
322
366
600
149
622
375
495
893
43
361
199
399
900
172
130
87
578
678
45
346
117
779
865
636
709
356
121
138
202
628
338
264
153
635
700
357
793
560
241
89
514
231
632
374
117
394
343
100
135
317
606
641
993
845
134
858
617
301
985
308
400
501
326
433
92
739
91
799
266
803
697
856
518
942
47
266
419
256
21
597
579
145
540
35
869
310
67
841
957
283
115
465
851
624
908
583
56
731
874
851
293
672
32
814
459
579
679
266
657
901
984
305
684
283
235
490
304
886
535
781
22
755
654
420
824
201
619
479
529
255
378
606
6
961
510
381
451
631
558
801
367
234
999
623
651
767
269
682
422
789
544
871
830
313
155
124
115
887
637
659
592
20
391
680
97
62
878
981
654
275
51
156
760
112
485
640
759
656
262
431
220
746
240
131
85
602
749
910
668
605
109
81
200
521
645
263
759
600
4
505
871
916
658
333
975
792
461
408
272
374
986
371
129
250
184
496
395
481
565
978
442
615
724
19
711
12
541
418
865
310
763
13
382
972
55
168
577
617
746
460
587
315
720
882
824
61
852
145
738
433
398
140
538
830
545
210
663
734
136
636
403
169
178
697
41
905
385
693
296
963
411
583
641
685
857
266
279
966
408
84
176
226
629
805
571
386
76
244
807
385
373
635
165
773
804
87
612
516
810
754
34
428
476
836
565
604
760
174
85
781
710
981
824
825
394
219
288
456
591
218
377
846
561
416
675
972
369
511
362
473
295
871
106
277
865
822
584
456
868
278
999
605
575
249
62
550
3
956
446
320
711
622
629
152
110
560
381
742
658
800
902
102
660
356
737
134
600
209
173
484
54
205
764
328
293
378
4
491
606
654
928
680
225
492
607
717
506
781
83
323
654
246
278
423
868
674
813
923
257
500
458
641
228
709
160
384
387
517
213
167
117
11
121
229
170
803
184
808
551
730
620
596
925
815
310
434
574
58
876
61
662
51
873
690
200
101
321
756
628
309
664
439
379
13
531
470
150
114
330
269
835
44
808
708
260
599
185
645
914
377
367
900
845
347
59
549
779
920
287
229
296
973
965
669
584
436
662
779
917
462
645
493
476
650
617
961
559
526
296
872
554
244
131
422
236
516
21
891
134
868
821
900
695
638
819
130
943
576
135
727
195
511
139
647
96
316
614
934
970
321
334
266
980
385
158
177
119
106
529
996
399
979
462
928
912
925
740
672
605
241
59
642
752
945
257
145
56
452
641
866
274
709
629
600
43
253
583
479
329
99
772
843
530
51
839
539
833
778
20
629
822
992
655
434
728
116
157
372
933
161
753
287
526
877
740
809
755
889
931
846
204
189
262
466
411
320
229
287
406
554
946
982
375
630
127
654
210
936
241
657
256
543
402
897
943
181
296
773
330
38
615
696
787
294
984
545
209
387
368
549
150
346
263
768
236
937
785
818
56
24
933
497
484
248
870
693
40
100
88
353
480
515
684
283
272
333
806
263
986
399
507
289
920
574
890
743
490
664
416
971
973
104
705
32
242
271
956
355
16
453
407
678
956
818
820
896
706
244
125
398
546
467
725
58
922
817
889
295
507
771
908
506
837
646
356
766
797
13
910
869
395
846
637
682
347
990
582
298
940
256
776
673
552
352
487
250
971
889
678
600
354
914
117
227
273
765
543
542
791
575
614
412
914
390
97
888
120
738
909
418
830
406
181
357
874
386
455
607
6
184
498
37
469
190
997
675
480
367
557
766
225
313
24
480
657
652
128
446
914
792
859
297
684
314
756
112
201
650
546
973
855
246
128
849
581
118
965
687
301
538
351
882
689
640
846
268
446
866
439
419
86
524
614
274
965
200
562
91
893
401
242
300
243
613
851
52
874
886
527
218
555
200
818
90
842
80
476
299
476
392
692
318
504
809
723
434
241
157
208
289
92
752
150
903
59
892
669
599
408
836
149
406
609
998
323
326
146
562
186
306
206
419
347
889
590
140
598
300
382
668
5
139
74
592
810
965
865
98
773
787
792
204
378
891
202
448
477
484
844
980
551
359
495
931
751
148
615
992
265
772
15
383
372
362
859
768
758
290
663
232
253
923
97
109
216
382
522
333
165
886
197
992
141
247
987
908
481
669
244
440
358
321
221
131
485
64
65
510
832
309
902
118
68
233
26
793
741
474
530
351
831
11
958
69
455
109
756
787
930
118
326
16
365
432
486
198
182
88
17
109
733
337
746
485
258
20
339
111
978
716
537
5
998
465
109
803
99
310
183
170
155
42
943
831
132
298
903
843
118
610
101
841
835
75
585
296
416
82
513
269
24
928
28
751
51
205
843
450
228
575
106
781
960
902
701
933
599
758
616
71
165
988
370
147
245
363
796
338
397
366
667
812
418
768
737
398
264
15
791
740
228
365
196
674
244
360
274
925
807
492
530
651
67
860
404
57
109
193
757
49
287
884
730
865
763
549
973
745
78
226
506
924
648
512
603
695
585
819
198
828
140
465
251
388
347
495
413
870
178
955
112
605
619
872
857
625
597
308
193
483
632
693
194
78
389
92
841
182
87
201
918
195
823
616
295
646
452
389
596
75
611
946
277
250
840
202
102
93
521
124
830
338
536
16
696
654
135
561
923
930
467
991
75
476
671
802
533
112
164
117
744
537
38
125
212
881
23
43
335
71
561
681
369
468
906
17
721
280
40
133
755
398
398
520
59
633
82
991
890
824
251
426
101
913
870
116
424
881
836
770
409
396
799
90
666
105
636
458
323
815
660
408
766
163
96
500
794
2
288
704
301
436
367
589
465
337
856
467
240
201
757
129
584
430
242
955
531
456
932
22
635
650
142
253
801
632
167
812
789
407
850
705
905
741
211
1
551
343
895
149
308
693
540
645
191
804
942
688
548
843
83
530
851
256
652
935
260
999
692
541
429
529
406
948
501
440
924
30
591
43
95
315
371
693
929
285
552
400
372
81
153
102
499
418
459
990
65
494
478
451
572
263
517
514
668
767
243
166
750
112
195
553
83
304
272
856
628
369
152
596
44
118
957
228
981
461
718
148
899
381
371
630
114
582
72
842
667
315
593
749
931
102
456
670
561
895
219
236
512
728
54
751
384
49
322
270
252
744
391
260
496
331
320
337
878
912
369
439
254
264
520
743
868
873
304
799
121
814
300
622
95
121
571
948
853
700
188
475
739
888
730
649
461
496
308
492
764
517
238
40
844
739
952
188
517
162
118
129
301
485
242
117
247
891
182
981
320
45
145
687
594
524
702
229
343
827
310
343
351
798
603
809
414
516
473
641
48
673
576
62
896
40
424
976
158
876
705
596
681
24
761
988
980
14
475
556
572
699
927
920
495
826
276
195
749
465
278
438
747
421
766
886
516
570
145
685
555
577
711
977
736
607
155
599
593
427
146
134
642
795
280
749
160
128
5
53
942
237
369
217
167
334
543
704
399
630
130
295
166
560
196
489
307
113
824
21
445
761
727
961
547
232
141
804
517
726
766
5
138
211
5
690
535
100
129
614
465
996
295
9
438
122
501
665
611
778
717
431
888
418
369
336
465
945
324
719
281
423
306
55
533
684
406
665
400
266
979
128
632
670
761
6
503
203
478
446
884
572
561
332
899
927
851
908
690
316
322
246
303
334
937
453
619
315
700
309
542
585
877
855
371
131
116
534
391
546
910
671
250
267
436
440
599
919
307
977
822
51
196
958
410
679
580
810
684
818
124
678
124
620
303
427
516
845
929
236
498
104
181
813
846
751
598
840
39
346
211
49
196
311
711
215
496
816
61
461
556
900
476
481
92
585
31
672
327
17
507
737
301
709
195
972
191
602
559
372
225
961
603
634
572
96
723
365
863
525
654
82
603
459
810
102
830
451
990
47
794
595
915
475
325
976
541
115
813
898
408
283
398
38
576
301
64
869
822
206
812
548
872
550
977
24
393
873
66
287
368
308
202
528
237
784
359
471
919
560
115
288
388
118
560
345
4
977
328
439
210
693
485
374
514
60
115
445
901
592
23
867
970
440
938
269
83
228
918
113
802
721
501
312
719
869
254
370
525
502
996
90
849
894
953
273
959
490
480
839
870
293
822
512
826
837
550
528
359
183
964
845
360
92
746
964
678
370
592
793
772
425
361
962
843
202
557
584
709
14
566
782
396
269
134
191
43
722
57
281
277
673
868
538
625
490
622
509
919
939
533
211
855
65
308
680
74
790
504
253
183
964
138
748
86
339
88
872
915
828
512
22
615
447
629
155
914
545
763
554
52
279
413
110
90
803
507
234
97
320
700
613
762
950
733
805
256
374
421
115
278
325
804
268
234
318
337
163
495
436
794
365
464
618
719
88
985
639
836
107
270
899
847
427
79
218
406
557
387
62
880
926
116
996
725
317
838
742
889
192
505
881
701
431
399
110
123
333
467
995
76
660
145
291
782
172
570
269
727
335
817
930
878
855
422
661
277
248
988
655
959
946
123
378
449
285
280
475
756
342
365
761
838
756
107
373
66
571
261
720
28
639
697
617
398
339
295
858
230
179
364
550
206
368
986
692
862
568
286
898
738
896
143
604
755
645
260
842
826
386
816
420
901
832
189
391
143
308
307
769
932
772
278
817
748
45
858
599
736
351
175
174
958
284
880
514
907
87
564
173
848
449
830
815
944
82
918
922
941
31
102
394
372
985
435
320
874
876
550
867
218
696
362
104
97
777
501
608
515
742
223
829
914
949
372
560
757
553
669
302
399
211
256
979
485
81
949
235
7
976
88
503
427
479
242
138
913
352
258
182
871
789
327
718
396
970
780
384
192
849
340
315
807
341
383
696
713
880
604
130
926
843
134
238
321
457
766
273
764
663
465
13
521
815
732
900
94
276
706
205
849
706
142
957
286
294
489
565
817
266
366
296
229
766
651
269
825
582
265
198
390
268
475
908
703
938
203
548
330
348
405
495
820
935
46
208
201
179
582
632
934
938
145
337
45
489
825
245
202
568
528
688
939
100
913
512
30
192
801
150
287
667
286
892
691
613
489
51
804
435
527
399
887
420
813
995
6
116
235
510
672
715
126
253
246
192
160
351
425
154
521
975
598
254
702
66
786
524
319
744
144
183
152
497
744
312
458
238
461
280
269
588
287
970
984
29
362
651
80
142
305
823
176
775
192
455
993
831
666
856
997
340
218
822
603
613
630
797
904
593
938
549
793
926
51
244
212
926
331
881
5
338
17
754
539
744
378
975
783
515
872
140
48
455
375
878
955
669
784
395
471
725
864
89
73
882
295
984
174
25
220
55
965
936
520
433
731
729
193
168
520
565
927
442
759
293
969
103
63
248
869
967
987
274
532
573
940
963
295
989
819
219
395
842
169
525
321
912
855
684
987
570
274
421
582
808
132
914
262
826
674
270
533
973
53
938
311
346
214
316
148
475
252
114
51
378
737
586
661
682
885
382
266
685
780
622
309
955
83
755
576
547
777
919
218
973
553
803
117
832
366
467
891
394
561
170
992
491
682
49
948
812
805
369
784
24
730
177
54
212
892
398
701
789
216
818
218
383
417
928
127
200
445
309
877
1000
892
99
655
174
141
91
439
319
997
175
883
388
316
174
229
714
901
595
544
195
542
461
991
484
636
178
744
268
240
343
392
670
774
510
391
308
857
189
182
807
877
771
82
406
31
648
964
844
469
536
32
880
120
885
717
670
524
307
815
672
702
165
529
967
695
803
994
638
907
421
192
340
782
276
921
322
703
693
598
926
168
369
269
25
488
596
107
957
228
289
94
271
613
209
314
961
926
318
478
994
689
19
892
574
112
918
48
27
797
827
433
167
238
972
936
725
961
751
464
740
494
906
961
812
507
731
71
794
595
725
105
766
151
169
793
140
711
237
565
350
955
606
724
848
279
973
946
96
488
579
993
790
677
574
384
839
832
52
50
497
16
676
664
626
270
64
432
270
513
549
613
591
790
489
932
769
210
19
347
613
759
63
359
519
8
433
140
855
378
49
297
60
261
696
1000
506
786
206
554
677
420
650
218
310
933
953
218
938
464
299
475
716
561
863
497
477
100
674
276
734
938
887
775
747
987
330
791
815
185
957
550
688
450
773
378
358
322
853
191
517
440
314
356
656
383
493
672
110
717
127
826
380
233
18
736
666
511
538
577
919
927
341
137
620
116
801
405
169
751
43
903
13
202
894
365
592
277
749
788
766
784
91
778
638
76
410
347
583
132
341
38
861
928
97
296
414
69
721
517
294
660
232
101
718
431
475
120
943
959
387
949
947
648
417
290
460
797
46
556
990
711
717
524
334
295
977
455
511
982
332
679
184
180
107
717
406
623
613
643
985
169
46
267
816
595
843
155
309
904
657
220
426
494
745
828
908
302
303
925
985
693
206
689
231
430
691
624
271
543
758
761
700
275
429
921
952
609
575
515
826
9
711
472
40
186
1
224
501
625
764
581
919
585
891
527
52
57
960
623
122
919
276
760
873
133
726
469
352
384
121
832
736
993
656
347
412
279
206
734
104
825
471
803
39
232
375
939
24
31
706
698
825
397
714
284
442
188
292
405
690
593
375
98
16
427
409
650
616
624
116
665
753
75
257
654
594
280
791
281
72
689
652
509
994
743
326
494
99
836
578
971
820
393
946
305
298
238
90
85
542
260
674
383
754
143
229
318
480
590
373
607
703
31
817
142
935
285
841
470
133
28
299
216
530
192
746
156
536
633
19
617
461
484
402
343
156
626
573
785
628
620
667
15
296
260
128
103
838
622
485
861
533
125
868
302
547
661
821
39
917
263
948
104
842
182
44
366
476
428
598
782
628
68
990
232
633
581
286
566
219
570
247
793
337
9
72
70
794
995
433
234
16
645
555
163
420
399
468
169
671
493
46
962
610
757
132
460
690
240
880
871
612
361
407
18
227
432
995
843
893
429
394
384
217
828
181
293
514
169
807
143
362
788
640
337
375
773
322
462
669
820
752
271
513
97
299
320
381
630
198
490
919
998
648
209
365
315
822
250
595
586
853
377
307
531
885
960
777
853
430
907
288
785
609
928
570
447
338
169
570
176
144
735
410
551
108
472
681
230
363
664
100
132
708
946
127
676
122
864
348
23
428
957
312
276
890
161
27
598
286
621
506
86
877
714
613
11
731
198
924
741
73
917
503
250
674
428
276
640
828
242
180
485
97
111
347
151
877
943
417
458
772
475
444
177
945
788
997
894
861
132
802
720
341
259
631
171
404
691
270
290
169
887
55
754
985
296
867
280
62
648
504
101
68
672
25
671
581
601
5
62
803
465
630
672
666
187
231
990
292
916
155
170
800
871
829
48
615
202
507
92
762
47
472
470
105
955
382
55
127
387
59
748
661
789
245
898
896
59
787
988
121
880
232
984
919
482
52
924
944
883
595
366
980
555
372
328
741
764
481
184
712
535
811
805
422
324
165
914
719
973
591
208
960
478
34
329
568
409
858
166
68
587
942
275
521
733
814
458
291
397
725
640
177
394
657
231
284
374
1000
125
399
886
54
284
306
508
546
674
183
178
90
922
185
855
874
680
357
27
905
112
285
407
800
337
255
335
482
924
243
50
116
737
768
985
280
512
483
694
680
591
398
832
679
95
798
858
522
677
239
772
447
710
501
260
775
378
995
59
672
698
926
230
541
930
463
312
877
176
286
970
999
241
97
870
277
975
176
987
354
387
564
434
376
794
226
237
449
161
439
157
364
543
671
780
131
277
420
634
31
123
875
1000
689
98
712
429
135
132
62
697
965
1
487
110
453
226
780
585
953
737
550
922
955
142
863
16
978
413
605
565
818
593
924
967
784
940
780
720
233
550
629
597
110
74
289
276
212
637
287
924
593
413
388
404
854
629
516
423
74
950
13
940
775
284
13
591
641
70
741
712
660
17
690
787
994
72
984
781
147
130
696
897
955
612
536
724
487
605
106
617
218
653
898
434
714
689
276
413
660
806
992
66
245
763
154
454
803
161
190
95
155
226
50
76
249
979
779
631
555
399
655
565
181
852
269
438
792
663
296
324
262
209
187
321
434
345
736
710
495
254
243
808
234
71
7
113
909
734
29
311
534
581
60
48
117
115
628
177
829
249
247
339
107
61
789
326
424
787
915
685
834
304
555
375
415
878
610
146
444
283
501
448
434
726
681
376
220
167
955
86
871
758
297
631
573
105
872
930
539
966
141
862
673
847
236
115
967
633
308
448
532
73
142
536
802
425
172
358
639
55
952
427
14
90
245
803
479
517
176
908
862
253
292
677
498
799
954
453
826
45
228
337
372
695
306
434
977
548
565
513
640
573
532
166
465
310
424
420
54
645
402
154
114
397
383
353
206
497
48
426
301
742
692
323
282
246
683
175
595
757
599
541
13
925
554
95
864
473
840
790
166
985
770
110
786
664
528
991
146
995
897
422
4
725
991
513
547
931
472
33
345
270
309
33
735
649
818
198
847
701
572
986
792
416
817
455
516
224
139
914
403
605
531
179
51
67
405
267
519
923
811
824
972
871
855
440
885
783
299
280
868
506
418
127
745
681
450
35
718
792
393
258
335
694
493
37
501
863
470
98
964
466
453
470
533
173
605
291
797
283
640
837
264
366
785
910
645
115
249
49
468
510
936
809
359
728
960
427
47
432
502
828
660
235
691
808
901
136
470
652
479
696
890
176
573
552
840
381
141
631
16
488
628
91
838
95
988
561
100
625
963
763
369
988
250
937
538
650
521
821
486
852
269
74
493
789
100
198
904
972
391
950
580
811
226
202
809
731
114
988
693
745
291
219
505
476
334
176
150
91
415
409
648
437
750
147
527
974
735
633
96
771
778
80
846
889
90
103
649
5
549
529
989
987
287
487
189
455
824
549
507
70
435
462
990
396
908
740
195
709
24
951
231
55
890
51
98
181
724
536
961
720
807
479
826
137
112
776
57
511
539
13
335
178
771
436
921
620
543
443
561
771
479
840
962
69
740
895
550
176
441
860
107
286
141
202
993
309
775
269
880
54
53
482
288
720
703
442
809
623
935
527
542
112
152
652
180
51
240
875
150
72
739
442
414
60
831
672
846
945
325
822
578
970
797
691
370
22
605
261
808
503
747
118
148
477
450
734
656
512
924
972
629
714
936
293
639
936
719
269
169
62
292
915
498
528
406
297
613
993
206
606
949
161
195
611
967
279
201
1
938
766
927
610
803
775
44
955
668
188
994
822
291
749
383
853
925
529
314
240
7
931
88
632
467
766
451
342
910
719
975
759
495
706
200
643
128
196
903
640
481
560
229
902
449
913
421
213
862
714
611
344
672
589
443
704
387
471
311
506
195
160
647
782
116
830
989
584
496
865
561
616
355
604
669
371
404
278
538
549
43
414
132
179
289
475
80
405
355
377
102
327
589
747
217
640
550
528
560
84
294
555
901
847
328
275
763
169
302
631
619
338
209
453
813
164
773
422
677
801
724
752
844
473
897
283
877
269
409
599
168
670
699
107
524
880
900
771
955
361
791
317
993
181
625
305
286
925
202
390
290
953
883
495
662
731
701
345
328
798
304
39
284
718
235
867
876
981
995
620
715
434
384
990
376
257
853
492
730
900
994
529
102
680
843
851
445
920
350
662
350
627
250
63
67
692
569
366
630
524
170
26
831
834
76
608
63
16
768
242
965
197
332
486
432
571
71
380
760
66
198
732
613
749
306
387
89
621
569
259
315
630
70
457
940
768
201
680
368
137
836
391
806
700
843
970
990
249
567
167
11
816
92
698
751
326
470
753
306
833
603
507
197
51
138
485
315
241
557
762
324
724
627
534
659
425
523
554
379
883
206
294
852
107
116
469
677
515
828
712
287
934
89
813
406
313
573
879
905
354
760
207
615
753
591
432
371
126
914
740
852
949
313
554
846
89
576
90
149
541
948
647
680
40
300
306
320
98
535
947
615
846
865
161
778
782
74
661
326
153
531
268
318
247
500
415
377
291
241
368
588
26
524
56
943
260
412
474
191
886
608
120
850
891
226
807
637
890
592
521
796
557
540
674
594
158
747
236
813
40
830
739
148
561
274
75
312
428
812
354
28
840
505
803
291
138
615
867
3
885
350
183
539
447
681
98
912
161
740
735
913
131
756
395
31
532
82
264
29
80
640
958
724
946
25
457
942
6
581
346
609
750
14
98
648
597
450
349
673
596
445
703
492
744
110
654
53
196
399
627
812
690
603
965
439
399
264
944
407
229
68
528
310
347
729
646
649
301
523
210
451
673
950
971
330
616
903
580
463
4
883
896
582
151
14
653
227
241
70
117
433
651
278
227
520
363
390
42
849
482
431
998
251
737
543
624
335
458
557
860
14
180
298
57
433
503
104
81
917
248
755
660
690
268
784
282
904
512
164
488
936
45
490
376
10
781
46
470
952
622
640
920
273
542
656
129
860
919
569
529
245
71
49
182
814
520
897
301
326
986
262
577
828
485
976
409
355
209
399
752
825
27
856
302
194
581
619
192
227
931
372
178
230
618
307
554
685
841
277
665
34
155
953
945
770
747
552
878
606
846
491
117
709
317
290
285
932
782
136
665
496
918
795
46
805
699
974
502
971
446
802
768
108
516
843
176
683
324
946
836
30
204
246
829
629
291
889
754
916
205
345
835
198
834
742
172
701
906
286
445
910
381
676
518
151
894
389
956
764
622
874
417
351
992
953
237
293
564
207
327
157
303
716
637
658
186
288
54
570
755
231
591
346
813
799
84
230
892
672
473
332
564
222
900
498
882
849
491
755
491
391
723
825
3
447
676
465
272
485
328
370
76
755
272
17
574
376
891
68
591
418
74
931
441
470
15
614
517
957
507
319
332
424
386
61
29
109
515
201
660
409
707
994
645
225
541
88
959
788
870
491
502
267
164
672
28
366
504
311
779
162
180
710
674
609
355
43
478
542
193
412
916
466
163
148
74
130
6
941
764
699
952
112
763
295
365
840
931
861
927
172
297
548
855
476
98
314
392
311
641
1
12
829
591
940
363
483
950
45
926
209
585
424
817
284
591
784
914
734
202
274
729
511
213
982
42
655
100
957
344
324
87
549
561
847
448
798
353
972
224
835
551
62
360
545
891
282
984
242
320
773
186
731
541
370
192
942
376
685
258
247
776
286
980
707
993
244
946
740
494
545
843
115
708
745
160
770
591
753
666
673
266
841
639
833
748
782
689
607
840
561
651
671
835
209
656
344
558
158
972
500
641
963
643
958
651
360
241
53
826
404
293
101
761
883
72
585
290
272
455
185
228
255
529
240
376
232
451
828
377
308
817
401
588
953
485
852
142
908
327
953
740
947
901
336
546
761
368
576
728
612
306
495
858
367
231
468
333
187
775
416
472
469
417
152
741
582
642
909
799
571
163
255
712
290
603
995
743
345
632
402
553
825
133
806
544
42
356
620
340
417
435
907
45
197
824
904
62
894
437
324
684
246
307
825
602
978
545
778
766
868
300
342
740
443
164
913
807
131
179
198
606
846
214
528
5
798
945
550
246
785
134
77
142
340
169
733
245
890
102
980
465
518
495
290
565
8
478
477
340
601
322
678
34
291
692
86
747
558
522
276
162
133
68
901
897
795
311
611
206
176
329
268
536
293
632
927
659
831
769
601
729
195
671
504
594
34
325
364
181
210
360
366
532
181
40
482
386
384
987
274
768
453
662
700
171
96
278
150
322
992
354
668
414
346
547
324
948
637
766
763
8
663
810
247
872
163
953
919
357
238
941
575
186
245
869
994
965
85
254
746
78
601
440
422
908
334
126
479
317
11
446
197
252
974
506
801
668
187
697
435
704
641
445
527
179
679
247
50
64
270
996
323
488
296
636
302
260
701
103
744
605
732
394
243
34
569
336
905
820
363
288
330
560
60
598
666
681
423
75
719
572
364
158
483
209
4
715
24
774
913
616
317
774
608
313
534
604
722
682
242
318
185
260
192
639
433
870
662
835
880
315
826
203
880
469
253
300
943
626
413
970
265
412
57
463
500
909
403
617
272
899
350
184
157
293
358
825
705
891
184
243
632
559
437
187
479
841
754
789
874
758
490
807
48
269
975
859
382
462
780
663
603
44
921
651
677
112
614
15
616
500
19
461
131
230
384
418
571
724
138
474
613
452
800
141
958
659
971
822
669
651
339
45
862
862
356
599
166
616
161
207
733
36
430
746
640
34
30
862
162
712
757
990
781
763
1000
447
757
676
825
257
773
634
891
804
439
12
566
243
444
271
818
841
740
885
774
54
428
661
294
209
953
403
593
113
807
476
687
781
185
194
438
734
930
369
31
3
683
555
22
62
366
743
482
394
974
271
364
287
212
730
922
775
687
500
932
323
190
363
484
999
120
298
315
361
259
188
32
251
882
677
60
988
698
791
837
216
207
300
586
790
848
995
1
657
753
172
297
612
995
703
374
217
990
940
311
905
89
627
991
483
485
679
430
838
247
400
308
622
686
257
260
97
273
791
739
136
26
658
617
544
617
36
280
536
432
871
618
167
515
499
228
989
572
204
100
1
243
173
274
235
420
144
259
931
699
738
476
329
975
124
659
564
777
183
899
998
209
798
3
602
226
216
926
690
583
718
304
370
965
965
524
576
712
483
366
445
57
689
963
93
3
769
703
560
785
507
787
811
362
813
297
191
565
370
30
669
288
243
848
526
627
772
962
901
948
351
397
728
683
927
875
182
53
185
467
669
37
422
689
806
630
55
137
563
850
553
391
947
13
338
661
178
501
869
570
298
633
679
556
544
267
624
587
642
451
957
289
338
779
160
125
159
107
632
953
367
942
436
162
513
111
332
592
841
301
197
614
22
676
794
59
334
44
530
193
473
10
524
548
634
102
783
221
356
151
789
208
896
58
92
443
601
687
801
470
774
814
4
100
92
927
214
989
459
233
934
775
527
371
285
343
806
205
443
791
405
550
327
887
958
843
570
180
219
574
305
398
164
775
726
486
126
964
692
417
702
734
857
925
663
611
955
422
88
895
897
673
308
930
275
237
994
685
726
304
930
551
365
310
561
2
130
635
434
126
508
763
11
65
502
514
151
84
170
354
765
344
270
311
770
417
802
755
459
284
291
132
874
823
696
770
561
773
703
28
360
803
16
411
498
560
961
716
323
524
346
961
480
93
66
587
171
546
392
428
435
468
201
11
51
739
692
24
743
455
283
219
873
969
436
573
685
808
158
274
480
391
783
990
792
308
432
903
776
428
263
222
507
260
168
211
849
771
149
303
851
389
952
544
403
970
898
405
3
347
53
23
42
471
23
42
990
283
671
518
207
155
31
822
888
196
512
74
822
732
257
374
230
13
174
78
939
561
735
367
536
604
90
661
952
725
457
751
147
197
2
126
154
462
633
621
785
895
228
408
716
255
821
343
511
246
180
845
366
187
31
844
21
90
899
768
331
388
179
207
435
118
577
694
343
643
496
957
25
870
318
134
752
511
750
702
546
119
605
274
54
527
409
3
94
842
245
76
379
314
96
633
679
257
740
542
751
705
954
606
927
604
361
177
150
190
787
638
588
650
381
908
702
273
81
912
786
114
230
992
531
579
279
315
172
475
541
675
71
786
917
520
421
859
343
617
907
717
487
580
732
979
869
362
430
171
137
903
271
320
741
368
857
328
576
775
732
34
500
370
431
811
792
814
426
247
727
82
831
731
452
1
595
745
248
530
113
305
92
184
865
227
151
519
719
874
464
201
10
607
617
3
357
405
650
7
464
51
784
392
813
804
811
471
255
717
155
46
981
631
678
709
269
396
270
495
670
45
157
121
52
529
636
140
989
56
646
513
541
286
163
458
359
420
951
960
429
672
572
987
453
769
890
286
70
876
543
604
613
785
961
332
108
305
561
863
548
521
687
378
260
20
718
426
366
196
502
385
913
530
962
837
230
34
278
945
484
147
504
176
197
1000
884
76
693
359
410
355
52
495
353
267
201
939
587
69
153
353
561
417
267
726
656
688
635
723
492
549
357
308
471
593
479
660
487
464
891
48
239
736
278
514
63
711
539
169
508
440
737
445
181
531
743
847
496
705
208
654
75
664
411
525
502
549
819
145
996
158
923
909
396
142
985
120
495
586
914
339
405
760
361
328
100
306
479
507
715
831
541
947
510
667
739
720
591
580
40
843
656
295
949
166
36
59
372
274
257
861
560
899
207
568
276
386
720
979
924
481
82
741
371
66
507
114
554
513
118
827
824
2
335
661
131
488
886
909
801
13
804
584
671
688
922
114
764
4
341
245
531
82
285
60
922
102
558
352
187
419
553
61
376
826
385
124
944
990
255
878
756
365
605
117
23
754
966
8
421
292
642
312
686
791
570
809
496
307
718
385
331
283
403
953
314
824
745
306
732
490
298
4
64
505
568
635
852
417
738
112
684
59
413
196
895
138
629
123
311
885
659
989
541
978
413
593
836
409
300
509
521
12
529
505
359
173
703
856
968
587
442
686
606
33
535
283
216
832
737
202
594
25
961
73
978
347
15
260
111
746
484
896
75
544
583
368
797
330
42
33
133
336
166
784
889
342
211
120
947
140
143
525
923
188
652
297
411
392
33
447
942
854
142
916
209
40
227
177
23
70
810
197
683
709
202
902
161
230
450
474
561
517
700
302
814
643
9
932
458
720
625
124
662
947
630
980
346
676
628
196
386
783
845
642
396
796
628
870
502
36
797
631
885
485
762
186
565
252
596
980
88
234
492
266
295
42
176
386
329
354
858
706
407
564
262
665
616
49
127
998
224
413
314
949
540
767
316
232
347
509
560
531
366
72
321
619
949
801
484
500
479
461
664
586
490
875
376
557
627
844
68
472
902
806
812
658
624
661
369
99
543
823
176
386
448
808
490
722
481
631
593
181
903
865
477
143
894
457
871
839
272
308
826
2
646
173
332
912
645
674
590
516
338
57
640
911
834
885
15
177
392
35
979
455
57
181
674
201
944
491
215
756
829
377
358
714
635
961
878
93
710
401
195
983
565
310
112
162
858
313
754
171
981
208
918
446
554
266
94
428
498
6
334
13
128
119
31
297
893
327
397
362
952
654
85
732
787
958
13
240
440
610
852
244
754
886
86
551
224
981
796
924
665
544
528
763
928
299
698
396
319
611
9
457
222
841
233
939
648
938
564
912
82
993
445
310
70
448
419
865
420
193
78
50
768
71
640
849
534
198
16
265
960
63
491
750
21
601
323
172
456
282
586
470
113
822
611
931
51
258
218
861
585
27
732
514
562
134
478
295
674
679
29
651
548
816
10
546
682
675
637
110
27
908
537
851
189
293
566
832
730
271
508
315
54
378
564
702
697
277
478
40
618
505
991
951
271
106
98
636
808
46
194
493
777
651
814
995
39
378
117
677
457
876
639
481
118
659
152
261
438
700
628
929
553
906
439
600
803
751
891
97
955
311
134
334
60
553
289
464
460
20
363
84
553
997
151
522
332
809
860
935
626
170
636
955
200
397
518
720
585
869
604
344
569
315
361
378
759
395
109
303
567
572
643
901
209
442
870
184
76
548
101
643
899
181
347
747
690
845
562
11
352
857
267
435
164
30
426
804
130
490
736
158
289
494
738
722
647
502
274
723
362
882
850
818
152
369
415
307
688
787
911
905
910
611
706
619
766
682
668
190
890
710
243
636
115
292
319
660
515
796
93
80
897
856
406
985
258
170
219
2
758
995
993
953
163
1000
770
138
588
136
600
717
559
781
858
923
94
710
649
367
545
375
168
313
387
560
406
594
32
729
32
802
992
296
646
474
398
591
819
282
973
524
546
629
49
812
757
645
79
175
535
305
457
66
559
268
104
386
84
109
446
68
445
768
880
641
691
451
804
623
450
686
573
122
531
939
508
87
109
986
225
487
522
264
108
74
897
510
691
529
788
334
93
491
28
796
428
416
763
677
260
229
481
888
785
483
417
388
407
96
367
47
735
764
351
136
901
828
994
495
221
744
742
998
910
247
254
599
538
16
382
147
354
908
183
123
437
816
291
654
884
825
816
466
862
631
652
933
434
82
700
4
508
352
56
591
134
441
669
953
623
659
279
708
668
255
759
382
720
616
102
809
336
290
366
278
149
665
901
60
403
262
5
812
669
492
991
445
527
197
306
183
481
453
970
951
305
928
80
708
376
544
551
26
252
324
593
33
931
87
614
831
760
64
402
620
928
628
471
65
835
66
359
903
420
717
586
360
665
875
658
753
129
556
227
539
314
612
37
155
80
703
800
246
112
306
488
229
679
304
846
715
508
690
99
3
627
543
941
702
474
806
889
576
371
284
994
850
732
980
743
562
4
98
663
5
375
22
821
968
798
148
904
250
663
711
43
893
790
619
865
679
65
917
523
695
97
665
630
188
836
927
55
527
889
77
550
783
679
814
30
372
197
127
136
197
301
933
376
987
973
291
770
819
903
867
404
390
92
822
715
214
914
415
663
791
206
359
149
749
520
452
168
104
637
50
243
93
775
734
614
447
733
885
486
624
365
995
447
256
358
193
766
983
310
902
894
932
445
517
945
334
163
715
319
139
787
329
908
64
502
725
529
168
499
272
326
962
769
799
871
2
808
909
629
149
758
630
255
976
123
173
915
258
297
500
458
185
534
975
799
656
930
663
316
22
186
684
419
719
649
660
679
503
193
430
113
426
975
162
232
259
27
440
481
793
936
163
551
359
542
862
837
924
757
611
10
342
74
786
280
686
289
809
393
103
291
418
880
291
502
165
328
546
710
612
708
289
575
120
917
121
60
225
708
762
391
351
157
664
927
989
637
713
496
560
29
169
340
869
580
948
798
448
360
394
238
108
758
942
591
697
832
443
986
417
626
483
672
42
732
718
365
19
508
97
629
776
336
887
722
496
243
532
573
251
5
764
191
666
584
815
897
227
385
240
171
917
344
659
833
134
309
663
487
733
524
234
881
595
273
318
899
355
913
568
386
774
588
887
905
782
887
107
845
398
586
44
984
579
418
197
718
529
478
580
741
191
504
510
804
407
739
700
597
727
535
681
484
970
132
378
971
405
313
678
383
855
723
934
116
141
720
675
248
988
516
210
50
968
281
447
88
73
561
996
241
246
98
548
890
578
649
600
985
878
901
813
452
45
966
712
645
981
199
927
136
798
306
943
179
723
777
102
590
399
716
700
636
282
16
116
748
409
682
279
540
132
787
250
643
315
223
325
341
117
897
872
852
681
503
55
362
17
330
707
612
864
821
887
908
567
772
50
911
884
104
368
476
126
154
443
100
267
252
550
230
466
207
600
842
951
957
203
171
382
266
572
430
588
862
514
684
79
799
445
782
817
159
160
379
541
427
88
674
348
9
914
399
347
390
704
991
933
379
160
639
635
725
220
68
561
171
972
528
168
625
788
407
456
755
653
322
723
731
891
324
705
263
873
58
238
335
861
339
616
260
803
631
446
739
795
335
112
663
890
625
939
255
158
812
762
10
167
867
874
586
589
774
282
445
240
852
778
573
670
48
572
43
358
468
159
554
696
94
634
316
184
714
879
811
691
598
953
44
202
313
493
857
220
412
167
762
861
414
23
539
731
617
109
538
881
799
856
206
479
796
560
901
360
279
740
420
285
780
285
26
560
188
73
958
645
445
191
544
538
181
951
86
977
349
688
593
7
721
673
347
3
258
584
963
65
974
666
349
556
876
88
463
701
1
39
297
318
306
779
861
213
450
219
244
262
63
584
14
930
151
372
319
822
689
135
57
889
315
575
399
52
252
58
751
366
236
943
983
305
300
47
371
391
689
164
240
190
67
794
732
648
452
155
481
831
969
102
222
418
614
787
533
703
706
783
960
434
599
903
767
556
514
150
430
813
96
60
751
198
366
198
221
452
301
732
782
165
179
806
721
536
158
908
775
537
319
540
886
39
519
300
253
424
968
880
449
389
410
622
426
890
133
974
170
662
813
639
588
340
376
226
14
972
649
952
337
633
536
324
342
936
890
718
339
439
15
520
499
373
967
763
642
622
423
256
401
619
910
806
757
653
626
468
997
108
887
731
14
329
511
135
701
111
71
136
922
324
1000
933
168
787
14
597
520
332
138
48
36
924
950
371
962
822
279
494
478
28
705
474
820
683
700
517
688
651
132
370
847
269
161
921
668
101
264
694
187
623
244
380
919
925
592
752
269
887
497
92
911
819
151
718
872
178
697
344
431
854
353
767
106
449
781
817
190
158
712
585
288
99
239
724
281
459
920
962
961
352
34
102
375
123
928
428
534
683
329
850
748
591
968
148
291
797
590
334
511
350
686
518
750
945
864
653
663
840
817
175
613
583
264
888
811
942
70
383
800
658
993
924
693
929
163
997
293
21
426
667
854
49
165
460
793
760
71
753
83
100
587
547
418
451
460
62
496
684
887
805
932
614
252
640
353
987
326
906
249
879
127
840
986
277
332
356
195
643
240
783
455
475
823
280
760
228
318
458
782
469
141
237
350
820
671
45
886
52
539
268
749
696
695
303
584
640
388
629
802
524
645
89
257
146
536
941
43
735
741
355
69
680
486
674
768
261
908
196
821
948
331
216
278
136
692
782
834
499
610
942
292
745
167
259
454
229
519
29
763
734
867
952
45
766
147
943
583
847
59
445
598
642
668
818
924
221
897
378
294
399
658
194
190
898
261
41
660
13
976
794
834
576
341
89
162
287
862
332
511
870
245
974
363
117
207
522
322
605
206
917
994
748
141
781
127
904
175
502
563
449
390
301
164
96
851
225
369
227
61
471
475
713
455
585
14
479
789
842
858
90
792
545
796
738
418
100
352
345
412
435
593
893
646
749
480
758
901
655
94
536
301
461
745
807
633
732
490
328
187
304
118
400
500
577
1
529
667
303
500
53
444
26
838
90
404
41
400
50
843
993
473
936
952
256
322
839
26
809
320
364
104
639
588
199
505
600
203
670
186
300
601
936
687
763
216
414
722
597
766
131
151
885
836
973
134
288
579
211
768
686
416
261
417
224
604
365
215
819
399
777
957
18
341
66
704
595
890
362
923
423
209
725
955
990
434
316
895
354
146
747
722
496
113
772
678
776
553
506
423
652
340
463
457
904
580
9
682
345
944
289
723
431
984
268
814
203
421
314
651
740
51
651
574
669
468
99
861
292
322
733
714
586
143
510
714
677
109
410
143
373
293
397
600
3
36
303
747
124
91
791
871
601
103
717
172
219
802
506
353
243
1000
682
111
269
144
299
616
339
667
825
907
483
861
977
417
810
334
123
512
788
350
104
6
595
536
785
117
283
492
183
211
15
827
780
987
863
8
486
476
424
201
803
314
88
992
897
294
877
440
672
131
632
457
440
679
762
889
447
602
901
18
360
648
605
393
770
211
639
78
929
837
506
380
222
685
617
124
340
729
904
335
686
674
725
996
370
119
648
152
10
506
58
256
672
789
558
92
481
556
830
992
863
532
953
358
870
40
182
705
794
971
832
499
88
280
236
118
651
841
693
145
702
731
968
20
770
665
164
817
844
350
725
529
329
995
932
786
277
65
482
367
294
643
661
228
638
441
164
12
278
586
857
164
127
799
610
859
192
458
897
915
169
380
21
725
850
819
665
73
800
325
972
336
907
613
513
218
823
528
304
645
783
504
499
863
977
685
512
100
471
1
110
383
659
48
421
221
358
568
932
903
955
728
265
110
472
115
956
383
8
572
477
737
791
586
507
394
989
913
792
139
502
524
977
323
187
767
481
876
369
833
825
994
1
250
802
374
594
123
566
934
828
286
999
997
817
352
682
794
150
896
440
989
154
650
682
638
313
622
711
618
411
545
759
111
770
889
758
166
875
973
750
705
832
351
409
602
322
783
362
623
161
527
856
73
140
644
867
983
551
271
920
555
704
533
717
331
756
890
203
302
413
231
806
723
385
939
441
929
14
508
307
853
139
16
635
265
123
909
320
968
898
96
819
330
79
334
766
554
440
206
518
42
531
824
247
41
806
494
243
536
395
237
824
3
579
988
604
189
87
732
918
604
598
609
868
724
164
251
801
265
881
216
48
7
776
401
365
805
768
758
859
396
571
444
151
527
558
817
109
759
949
285
823
6
163
103
372
520
802
665
558
549
543
687
22
352
150
965
48
587
942
52
947
374
296
306
85
455
199
221
549
972
421
866
919
342
647
557
836
600
736
593
867
352
381
998
706
180
605
737
852
952
893
803
753
962
279
884
862
278
372
101
163
958
129
403
509
36
164
791
554
311
528
498
152
992
173
595
822
217
780
285
311
291
226
321
337
260
733
557
289
85
660
632
68
266
972
194
252
213
657
865
468
63
741
350
195
927
104
716
201
727
990
889
510
892
980
831
43
205
177
711
118
952
558
604
541
416
740
909
362
403
922
734
260
192
366
931
130
763
598
353
703
679
466
171
901
265
275
747
228
55
490
669
683
581
937
13
559
684
977
837
47
492
878
156
701
61
493
400
708
517
400
466
368
171
844
959
369
719
206
204
231
122
210
875
776
184
753
902
584
156
96
380
200
917
83
836
254
422
245
101
796
133
912
452
838
97
903
417
552
185
991
831
598
747
86
336
777
625
1000
452
599
14
742
803
342
123
510
837
917
18
951
619
132
240
775
862
8
64
557
409
406
294
362
789
555
537
882
298
36
805
920
322
392
82
406
228
820
258
567
232
326
440
571
95
333
169
698
360
945
563
92
128
22
700
217
37
734
848
427
183
499
300
464
238
96
622
291
884
238
126
363
5
102
237
378
783
147
215
548
947
45
388
657
965
698
655
509
871
144
509
916
778
592
248
997
840
974
376
426
604
162
385
232
205
448
268
879
857
960
145
678
421
443
303
1
629
248
838
397
697
396
810
466
663
349
490
254
766
452
862
28
569
53
999
504
350
1
312
997
475
548
967
510
97
681
963
463
524
579
425
636
58
177
732
910
900
792
953
554
996
409
915
120
309
463
939
524
81
928
920
494
88
85
940
372
768
609
82
214
367
502
415
227
917
971
426
858
967
560
293
253
443
712
483
390
948
480
130
922
64
276
527
649
995
397
836
576
927
555
854
742
61
800
211
312
182
37
948
991
939
791
777
455
794
1000
669
313
699
413
654
137
144
569
804
184
159
466
453
754
226
731
616
594
820
548
436
316
485
629
237
618
929
250
424
965
598
724
29
505
616
743
198
182
747
660
268
443
262
186
379
442
198
897
776
365
536
678
18
347
212
470
350
472
766
709
393
506
610
431
111
349
587
309
758
670
536
825
134
818
15
364
3
909
219
270
973
936
404
799
505
840
777
478
939
771
935
579
621
167
381
297
252
847
583
754
583
78
312
115
427
421
720
983
779
244
724
685
503
965
795
260
651
448
156
736
988
509
757
787
707
118
99
921
622
746
155
215
382
277
169
954
332
20
78
699
738
688
676
10
982
623
376
472
230
196
661
722
789
17
827
907
53
565
679
353
516
893
180
268
770
293
893
987
808
208
249
600
250
213
276
802
270
589
484
473
123
871
970
773
176
757
696
542
252
959
103
385
900
854
858
118
968
332
624
179
436
831
159
208
39
362
937
220
636
284
745
745
630
665
404
818
9
380
809
951
724
453
13
86
202
777
961
41
755
51
750
164
533
668
65
738
445
328
490
188
182
361
951
284
59
79
460
345
900
26
684
928
604
613
552
586
360
508
328
80
670
78
65
842
504
356
360
600
932
286
660
805
504
447
175
914
541
60
582
629
198
871
353
936
881
370
451
117
114
952
613
984
455
780
174
230
451
565
633
153
859
979
774
4
620
130
150
855
107
403
195
204
220
936
42
484
785
235
375
293
548
689
284
400
765
288
140
558
25
429
980
713
486
547
729
466
132
200
889
545
19
389
980
585
731
135
108
757
421
751
509
651
888
840
864
320
109
762
396
622
539
217
566
805
239
615
210
781
647
134
553
701
338
690
406
244
680
577
221
498
666
206
404
436
542
176
435
766
58
918
890
376
320
264
427
670
225
623
154
856
449
842
581
638
753
506
504
833
173
117
802
134
295
588
62
634
396
490
382
740
689
792
493
787
315
148
537
19
990
408
466
580
414
651
52
841
656
966
898
658
712
161
706
159
378
793
282
264
359
205
390
412
288
765
653
931
951
114
115
36
534
40
986
733
180
546
318
776
466
771
83
401
676
714
155
764
914
84
247
907
154
238
691
563
301
833
293
340
238
752
183
637
575
904
700
147
567
658
867
961
205
91
952
94
46
682
923
715
718
800
366
500
363
121
560
277
533
124
971
602
127
925
379
972
62
30
214
119
244
6
450
284
322
706
577
345
394
428
775
484
559
312
369
365
725
358
67
885
598
674
279
214
118
944
12
179
932
682
464
71
651
485
450
566
771
410
234
810
110
568
145
628
549
230
639
498
672
42
67
157
618
442
498
670
112
995
376
393
130
184
681
458
165
103
509
385
334
648
684
915
885
27
74
421
782
866
810
109
129
721
453
742
178
584
501
823
521
816
307
996
869
8
612
936
520
474
395
138
196
417
700
833
442
340
396
732
216
936
608
401
558
508
650
865
521
975
905
471
625
626
993
125
140
107
981
767
477
554
125
359
769
409
845
704
518
202
170
154
817
523
935
609
247
450
362
263
1000
972
477
215
175
297
35
426
479
495
207
484
741
633
341
289
773
407
503
112
93
271
364
386
943
281
218
290
861
139
569
384
779
445
785
553
254
786
754
60
976
81
371
798
130
572
925
693
554
930
152
806
877
218
792
863
984
896
994
853
229
578
779
826
781
39
102
229
378
806
752
954
541
753
428
763
998
294
880
925
664
131
898
677
35
34
299
635
247
792
755
350
392
294
516
29
892
698
561
834
858
759
723
311
414
712
676
188
897
521
442
245
683
938
251
976
172
574
190
495
95
90
34
509
897
704
75
217
408
435
554
652
402
909
509
362
930
53
472
292
503
766
462
391
298
455
152
794
565
367
923
362
337
818
751
21
339
725
515
593
735
354
391
758
973
808
415
372
528
597
196
622
780
572
20
393
623
603
252
781
641
660
37
909
861
362
800
76
155
646
908
781
342
919
199
371
898
976
761
892
19
976
466
209
401
997
303
639
780
17
442
122
713
725
339
446
526
184
892
152
672
233
834
515
958
472
77
449
221
824
698
269
93
969
608
984
415
359
722
196
720
192
631
759
959
408
339
44
297
772
646
47
394
102
130
585
25
9
499
537
309
836
266
397
88
76
367
435
171
223
289
375
300
879
772
866
651
935
932
919
635
851
926
165
552
326
887
27
395
197
966
869
713
989
702
723
997
361
877
517
481
639
235
549
606
728
142
574
641
957
338
64
131
841
437
56
896
303
696
569
285
645
915
713
269
436
2
502
732
529
875
821
42
632
885
220
533
187
870
940
92
857
280
122
399
567
563
201
737
872
144
317
472
425
863
974
457
427
725
300
640
261
163
977
103
942
778
337
604
644
717
175
454
300
422
522
208
211
459
45
244
671
565
704
746
841
818
37
10
493
62
753
262
796
332
316
388
13
39
865
51
827
101
115
703
35
54
858
874
527
389
286
985
759
33
679
610
452
930
871
766
864
137
569
348
765
722
787
260
232
3
597
136
442
377
948
816
947
26
514
895
296
322
411
725
474
612
149
229
341
392
374
775
153
571
783
117
274
637
112
144
417
87
228
727
78
368
183
507
357
933
553
842
31
768
481
464
550
850
674
633
636
598
973
659
281
289
262
774
237
815
200
193
560
910
667
126
345
137
877
207
577
546
835
491
940
869
168
738
481
530
407
162
279
542
473
215
649
582
460
266
957
142
807
207
812
665
608
141
273
21
107
294
709
502
409
219
133
746
41
157
137
664
286
172
48
472
155
273
572
416
424
304
963
617
449
806
725
745
347
411
956
909
696
575
697
236
135
631
77
81
100
202
624
740
479
983
830
796
125
802
952
990
46
616
88
568
560
844
739
609
846
986
451
765
182
21
631
164
564
459
306
965
568
267
402
221
75
77
134
233
911
266
203
548
574
467
808
119
906
79
924
910
54
144
917
413
46
741
297
121
74
692
380
983
921
956
647
292
24
552
870
218
317
232
432
436
357
418
818
904
244
95
968
863
474
475
16
561
186
223
978
42
242
965
91
560
174
624
867
855
335
817
365
552
513
224
862
413
859
339
872
35
237
468
414
869
979
200
558
82
636
805
507
901
482
199
924
549
424
173
766
777
512
549
633
310
390
833
512
210
911
673
860
317
609
185
154
388
879
749
393
538
543
417
569
889
916
488
759
71
629
93
356
389
252
888
898
989
160
68
120
341
214
948
146
712
560
316
163
56
241
584
560
965
392
553
251
857
512
234
837
611
648
760
326
230
383
889
363
917
196
969
324
162
94
540
148
58
429
927
494
65
453
278
682
895
474
510
848
992
459
539
963
350
524
978
649
46
59
222
230
902
141
458
86
178
510
684
171
31
601
256
512
777
45
837
609
638
617
864
907
758
798
838
962
765
24
770
454
37
200
122
974
138
250
449
368
605
307
739
491
365
669
127
385
603
754
274
316
809
155
204
539
77
303
793
395
462
422
428
136
352
189
589
857
356
990
202
63
182
720
701
688
316
847
620
825
120
841
439
49
107
150
114
961
767
610
422
508
274
537
802
720
839
808
840
704
229
890
931
166
224
130
961
230
376
631
992
76
444
659
91
719
342
872
402
303
220
595
495
445
597
18
847
477
42
437
7
924
24
639
661
204
938
69
325
302
241
707
843
152
857
472
222
546
715
516
584
661
346
10
167
707
980
880
413
788
445
490
87
775
508
434
331
915
979
473
270
894
27
117
537
327
672
521
636
958
345
180
614
393
748
354
868
856
970
293
294
256
970
113
146
890
97
578
155
170
260
190
462
132
735
665
869
878
357
340
770
734
48
87
866
678
165
11
438
474
202
614
519
75
728
121
762
44
264
332
225
152
14
734
514
859
965
582
988
66
913
327
773
403
366
58
365
312
148
624
518
376
735
674
895
639
11
197
734
177
189
10
369
783
98
287
2
471
887
437
561
385
487
556
827
882
843
237
270
761
5
729
185
60
651
317
805
410
541
327
26
662
664
328
259
402
561
957
727
999
451
293
194
43
250
851
728
380
557
64
602
465
974
633
840
421
886
184
247
28
969
499
967
828
244
5
762
686
444
281
226
440
855
127
101
706
517
97
705
540
893
497
228
389
667
543
348
708
330
747
131
682
619
640
706
730
654
610
553
836
849
984
537
344
265
483
26
487
122
813
499
833
578
491
94
822
749
949
424
728
162
602
823
719
485
813
909
167
440
660
967
996
239
977
211
645
772
387
404
182
33
966
687
204
953
714
702
433
877
251
269
310
443
997
937
507
482
654
708
956
872
970
109
933
7
616
573
742
616
507
788
763
234
36
258
971
505
526
847
568
878
638
463
10
958
622
381
556
939
71
904
450
99
252
206
962
278
210
239
835
648
566
516
116
836
342
438
967
644
203
591
808
191
221
94
66
303
646
649
875
349
181
415
310
550
961
216
127
973
767
872
507
46
999
625
29
461
599
763
934
734
405
503
764
547
413
157
613
228
3
367
591
362
505
978
525
590
398
687
622
118
9
201
555
282
871
27
432
853
742
406
176
366
907
134
133
905
556
180
135
231
924
86
811
36
409
98
681
421
52
858
471
400
620
281
78
337
31
923
888
758
993
755
443
891
568
752
999
636
801
121
176
393
729
326
737
335
798
249
486
237
206
19
456
982
751
4
805
166
525
474
330
41
176
233
89
196
554
320
383
957
242
501
296
473
860
867
30
869
57
323
534
625
781
117
289
559
782
867
679
415
262
719
52
61
284
375
458
735
815
733
49
618
290
792
281
246
167
301
425
902
243
331
331
223
437
612
46
668
316
978
693
388
919
747
944
293
299
156
534
802
807
292
550
836
309
55
600
96
444
816
595
587
530
354
563
617
918
582
835
250
444
324
971
260
104
110
988
197
259
563
835
65
466
443
534
474
491
831
114
857
217
247
263
473
897
740
616
500
656
83
730
454
243
280
98
545
768
497
993
346
574
419
559
341
429
754
294
486
987
271
31
902
780
367
570
246
77
559
351
71
615
754
946
704
534
375
708
810
868
651
585
790
592
465
980
627
513
145
570
591
290
534
118
483
476
432
687
731
741
300
115
692
393
670
261
3
887
302
316
642
274
540
445
686
422
676
93
375
432
376
603
215
860
413
157
327
242
974
679
132
948
822
24
788
567
453
700
493
875
182
398
865
931
772
801
165
994
843
509
21
778
771
432
673
8
235
653
472
388
846
621
537
833
553
472
3
295
628
457
269
578
77
726
4
273
268
165
456
382
395
601
767
237
204
449
601
24
989
792
357
636
515
961
659
549
942
909
602
164
225
74
433
340
752
953
1000
881
176
325
257
370
477
900
604
69
329
202
645
557
716
650
167
404
606
134
838
463
159
859
123
286
641
865
408
773
687
441
179
398
46
581
358
267
271
741
595
828
61
443
393
243
153
647
423
346
697
426
283
596
45
189
283
650
745
597
493
10
341
350
465
683
247
233
514
978
575
154
400
337
309
433
562
591
609
264
818
135
362
91
573
314
309
633
132
719
230
412
678
213
665
966
846
232
630
328
565
319
625
17
55
912
956
491
427
105
116
990
315
500
465
712
403
275
985
559
450
280
226
8
699
327
862
285
92
829
458
641
808
584
175
445
3
832
92
800
512
669
805
537
483
513
704
817
578
616
125
991
409
538
153
63
349
83
403
851
719
466
565
917
622
365
815
440
368
70
493
453
521
177
551
298
87
122
405
742
267
399
755
882
471
472
827
914
40
254
290
830
205
498
778
362
337
617
555
784
487
258
354
759
524
409
858
51
935
942
568
747
493
301
71
630
540
428
817
479
609
162
563
353
455
55
591
381
356
975
641
182
685
918
271
794
390
164
997
920
962
287
155
378
884
558
892
849
371
970
54
440
378
430
70
89
521
708
75
567
531
325
638
666
307
930
471
201
474
641
393
582
572
458
642
83
669
159
357
395
218
976
682
668
467
986
476
88
562
372
55
938
781
617
750
231
995
261
295
246
549
64
266
725
235
279
807
78
924
283
880
629
741
992
170
895
350
324
523
855
63
476
525
433
964
934
397
737
213
932
927
112
993
568
514
759
320
883
774
455
72
997
345
944
155
824
665
647
666
999
551
688
301
368
315
643
2
812
43
49
30
248
380
460
219
323
853
767
188
749
313
554
627
196
560
531
639
393
601
418
277
394
250
262
59
976
15
807
252
803
264
439
146
269
722
225
368
919
206
720
537
984
375
572
193
794
956
400
985
829
552
96
581
712
683
459
594
724
141
47
126
295
82
227
172
532
560
667
234
993
337
932
988
866
895
428
709
169
536
654
503
820
341
642
67
243
541
451
852
688
554
859
967
579
534
677
154
27
773
678
455
108
743
769
927
625
828
879
950
856
77
7
172
214
397
13
131
858
659
35
933
11
130
851
165
166
497
143
358
422
491
328
945
887
789
604
596
481
449
884
268
483
579
553
49
864
360
345
127
773
778
214
807
561
676
736
536
354
770
466
293
531
327
671
580
387
97
28
436
928
892
216
597
972
966
788
917
729
936
373
684
549
560
34
282
844
105
566
940
47
389
617
990
43
859
794
130
736
181
311
675
274
950
330
691
977
35
883
187
221
8
111
262
346
847
661
216
166
847
223
154
821
213
594
534
493
360
122
447
5
339
100
169
424
111
473
629
575
659
200
59
806
986
780
962
431
174
718
986
41
525
163
994
242
739
567
836
489
784
964
898
345
787
390
493
918
861
52
559
212
231
66
918
848
422
982
587
933
536
867
203
854
869
396
687
432
186
274
669
179
991
321
48
362
49
720
286
215
218
245
691
891
374
791
990
713
857
128
949
844
396
644
677
774
890
735
493
890
813
666
939
982
231
935
596
750
595
639
834
232
537
868
553
621
881
940
245
114
935
116
431
277
950
537
633
911
293
278
577
553
500
802
219
556
880
590
560
168
724
411
917
127
543
488
480
102
921
854
553
713
754
256
795
972
639
325
178
731
149
152
131
120
570
997
523
26
413
666
713
372
709
973
897
337
633
788
364
671
490
420
81
965
477
445
243
47
911
657
16
714
816
499
749
617
863
214
338
454
642
938
263
595
178
144
61
865
416
179
652
496
107
89
953
219
186
600
724
5
235
884
412
269
103
715
44
212
65
712
900
565
195
629
791
176
757
83
210
813
508
668
593
15
767
151
149
70
987
328
498
991
365
148
413
889
694
945
521
287
281
941
722
720
248
713
435
440
954
994
500
172
577
967
732
630
140
252
661
952
370
857
941
293
849
709
308
570
814
815
705
750
859
685
375
138
505
466
325
826
298
89
532
854
635
865
663
649
23
166
895
988
814
209
606
98
793
530
347
464
147
424
505
607
468
464
513
374
433
266
267
273
727
791
695
984
582
834
18
479
37
816
323
92
641
632
534
500
876
112
705
799
9
585
842
777
422
171
153
37
738
647
676
841
225
198
758
428
2
899
722
68
582
542
389
314
126
273
814
750
611
572
701
31
764
313
517
161
254
975
203
768
102
601
764
600
711
783
704
587
206
748
484
599
32
626
662
441
853
104
388
765
856
982
260
261
491
563
335
955
542
460
243
460
162
126
971
751
176
360
830
428
524
101
550
427
188
56
237
844
319
102
116
880
580
949
632
894
908
221
478
226
986
26
548
737
739
32
653
15
68
287
79
773
852
320
693
278
978
553
389
576
791
674
82
854
873
446
355
553
537
342
126
719
730
533
370
671
324
993
14
255
936
925
638
832
443
276
466
688
407
839
480
724
415
334
156
127
211
900
472
234
126
641
329
932
938
194
466
761
807
844
292
361
310
348
776
994
956
462
697
696
757
156
106
4
571
627
802
320
967
521
1000
725
314
230
128
431
624
722
874
154
458
137
190
375
845
297
932
858
742
357
234
786
37
39
505
612
477
312
138
994
173
885
639
259
552
609
929
416
718
728
947
118
161
943
569
879
706
394
61
522
394
40
946
80
684
333
211
321
51
783
245
655
535
771
744
433
275
904
124
542
400
363
622
769
890
899
371
614
206
594
221
118
542
58
967
779
513
468
953
830
12
750
728
4
695
238
537
362
316
358
965
981
670
214
959
40
448
516
815
370
693
896
416
602
890
534
194
857
916
977
810
366
238
160
524
449
742
965
577
97
576
67
681
743
176
451
911
909
443
726
823
111
688
300
687
781
516
537
36
5
314
266
618
525
374
380
964
854
977
826
469
280
946
975
858
246
285
223
356
871
520
687
710
352
275
16
448
611
416
692
407
817
855
637
618
379
688
622
79
547
925
731
838
58
473
106
52
125
414
301
374
659
846
831
113
797
734
923
84
722
294
46
977
241
367
555
362
819
176
617
161
574
595
703
538
245
780
58
669
309
603
975
779
222
835
172
183
211
434
273
788
212
607
185
666
263
555
170
866
157
920
544
575
203
998
215
123
730
734
744
82
332
336
199
890
946
138
848
13
554
967
653
651
680
863
592
394
857
455
91
14
970
692
207
815
681
905
770
557
144
366
374
6
902
622
988
568
127
865
935
325
361
537
191
5
512
160
266
75
170
130
399
210
207
815
461
816
237
861
735
186
763
42
702
117
719
319
62
487
700
75
487
408
369
596
16
13
418
982
587
867
973
624
926
282
528
265
888
513
338
451
425
952
676
875
510
927
542
706
742
665
203
502
847
294
400
737
962
509
217
244
427
667
343
159
769
634
908
29
727
648
192
806
436
853
192
403
350
906
508
310
94
246
10
538
191
202
488
823
531
89
875
582
513
859
614
588
63
653
487
712
47
835
506
371
227
670
504
501
533
851
695
985
327
522
799
465
338
217
264
385
97
455
789
904
49
310
567
93
2
358
664
394
174
865
489
919
952
921
598
553
366
513
945
229
438
215
278
936
794
226
578
249
366
1
324
176
571
619
869
135
109
306
448
734
372
267
106
805
546
85
416
871
646
462
926
767
106
5
158
706
59
101
387
433
84
656
600
471
67
614
771
658
756
744
57
328
764
117
585
491
56
67
265
362
393
218
455
373
839
307
377
614
175
138
879
279
995
974
528
261
339
95
46
535
935
14
768
315
513
99
170
298
223
907
478
450
844
614
59
943
368
302
573
815
531
737
854
842
47
480
93
963
619
836
181
268
278
203
12
237
246
813
128
424
318
755
330
241
692
425
798
826
294
212
807
260
913
338
359
530
853
250
896
730
431
831
824
943
330
51
724
138
734
336
1
207
223
82
192
947
571
238
330
392
984
829
540
428
807
607
559
987
398
764
934
496
707
789
472
424
64
99
943
926
814
30
113
635
763
144
948
549
800
571
227
864
713
298
851
308
948
868
876
236
994
987
641
273
151
882
417
808
658
98
660
980
572
604
324
110
294
703
652
722
372
251
546
388
65
137
917
632
126
790
361
62
495
717
170
688
850
743
933
124
511
657
917
3
764
420
38
462
527
988
441
999
189
28
644
360
572
523
731
351
234
320
329
655
746
170
934
785
146
714
725
280
516
150
154
129
495
56
451
209
622
915
697
193
556
457
243
4
616
816
80
372
571
868
237
491
299
826
385
64
743
338
616
269
577
869
807
283
146
114
63
72
511
549
457
65
918
11
753
192
570
338
765
538
394
742
816
475
366
516
59
776
72
114
491
614
385
425
163
784
551
278
428
738
489
823
74
240
848
459
835
524
196
403
77
857
721
832
446
327
30
764
855
466
909
485
493
70
435
402
449
200
424
627
162
869
39
500
128
384
290
484
221
648
287
592
521
988
380
545
791
220
700
379
575
769
238
94
459
575
294
262
189
461
33
193
197
369
925
394
588
613
45
560
778
842
569
287
787
967
313
990
676
667
822
294
707
454
362
273
618
451
129
498
797
207
132
770
284
895
515
831
223
169
511
69
831
833
839
442
977
192
126
410
218
658
835
657
466
716
272
798
528
850
469
37
429
402
130
973
750
618
370
367
262
337
673
674
723
875
365
618
76
656
893
871
207
50
380
176
73
719
257
879
276
459
232
890
80
186
527
550
504
239
76
755
306
611
343
946
640
75
532
257
676
423
205
192
732
203
758
701
300
395
772
411
910
447
993
62
934
982
584
939
288
250
325
158
490
119
646
229
671
964
734
211
950
363
476
132
64
869
638
75
248
483
549
469
143
668
502
699
960
853
252
79
184
447
252
617
893
285
762
767
133
329
523
523
878
136
488
826
788
326
13
216
386
824
964
58
286
107
461
495
764
110
348
469
371
690
13
767
197
755
917
74
132
283
2
451
716
417
200
466
176
773
411
465
842
908
649
108
444
586
537
345
686
166
983
480
126
920
621
799
604
559
616
555
383
590
472
751
724
381
796
238
823
959
353
172
930
662
358
719
959
707
639
247
147
642
239
910
82
421
29
682
992
535
139
384
278
245
328
202
135
438
985
506
527
78
57
537
943
502
80
664
103
60
432
454
250
727
93
795
731
329
464
623
328
996
276
617
203
292
202
385
384
206
557
245
413
901
400
706
187
618
404
129
17
668
115
883
629
782
597
474
179
399
5
788
327
650
318
571
104
906
360
711
578
751
184
730
319
169
127
104
268
526
133
717
906
687
435
761
546
194
305
888
152
14
422
262
368
766
297
443
306
715
350
703
221
63
468
465
423
225
302
32
625
856
149
688
483
359
960
535
239
489
943
152
250
453
256
272
650
597
472
184
579
376
893
518
186
789
245
372
123
908
25
506
321
400
526
462
655
212
602
19
523
682
347
353
452
396
153
644
607
47
73
619
457
397
30
730
941
215
141
223
168
684
385
346
75
402
894
363
473
508
383
802
637
888
630
619
872
695
445
528
565
588
285
820
804
219
520
357
20
496
366
324
38
40
667
520
550
107
54
617
321
943
458
902
343
174
614
420
762
379
987
358
658
433
492
729
634
535
483
138
752
141
770
455
570
117
812
731
889
549
845
599
356
600
385
663
275
669
503
137
768
924
236
68
986
952
764
28
173
867
296
65
225
739
146
46
845
600
128
263
501
602
252
330
205
149
647
916
537
921
815
862
434
759
585
560
24
342
595
263
181
392
738
157
521
946
779
617
311
855
242
66
97
265
777
224
904
294
419
377
552
499
554
465
959
34
948
420
291
545
894
215
520
17
386
490
180
711
248
465
167
318
310
100
976
217
48
84
91
475
592
302
162
856
638
899
199
628
591
881
252
420
227
523
966
704
264
477
929
762
482
592
992
130
478
928
563
599
685
351
451
819
42
392
972
427
578
763
924
417
215
42
486
156
299
554
283
45
729
393
655
336
54
892
622
26
588
550
192
68
417
601
405
339
151
942
955
993
401
107
322
782
290
332
90
948
700
528
536
87
629
158
628
158
740
590
285
476
134
502
142
84
443
291
53
387
576
251
296
286
831
499
756
375
638
226
350
911
891
889
659
409
689
359
972
678
317
919
978
65
473
191
928
460
45
755
368
347
271
267
493
840
711
324
763
127
267
211
643
250
445
923
274
443
158
534
394
546
616
61
97
140
282
487
833
149
456
454
637
596
759
499
703
106
685
355
315
519
448
2
603
680
533
639
756
55
711
698
155
347
822
329
315
689
265
566
694
294
974
471
154
693
648
162
344
799
118
553
324
85
58
7
530
95
668
883
554
364
585
121
290
584
29
601
717
486
112
1000
940
520
323
258
163
838
407
588
941
515
282
134
390
183
155
45
53
485
690
712
754
823
982
356
90
904
38
4
175
474
709
94
876
476
270
635
48
567
380
873
228
577
774
872
815
1000
813
309
40
107
9
18
900
541
710
521
817
586
414
852
981
403
592
483
223
630
487
35
779
705
65
785
490
148
196
665
849
822
207
585
757
903
90
400
58
857
83
820
681
268
780
827
722
721
656
968
900
315
670
1000
600
564
625
912
171
587
85
339
203
543
944
712
286
170
196
284
139
169
60
330
68
928
377
415
419
708
116
611
60
22
895
934
975
393
666
74
713
53
84
711
799
427
648
307
177
476
376
296
458
6
646
22
6
121
859
590
898
866
711
70
382
940
242
92
779
84
255
966
663
362
373
897
775
123
790
721
366
834
702
885
559
354
537
44
894
452
350
752
422
555
167
197
599
758
652
832
740
113
188
69
14
95
343
872
741
924
773
263
333
116
763
193
279
232
13
247
472
315
742
905
575
883
897
871
290
699
44
113
134
746
515
799
810
953
526
282
286
286
265
659
515
723
401
180
66
517
84
965
48
871
249
96
388
840
970
97
914
823
679
239
723
490
307
913
992
365
769
497
728
583
782
774
964
508
699
992
545
19
888
40
971
281
208
101
719
692
308
339
97
566
775
856
950
788
679
162
496
342
661
928
123
128
520
574
262
938
224
590
338
805
333
106
352
182
130
354
885
610
151
119
166
535
368
201
382
976
58
192
603
585
211
582
518
426
441
341
680
521
514
612
129
775
995
111
40
429
3
137
540
566
762
848
937
551
433
600
399
478
705
699
536
843
773
874
457
697
599
142
590
466
818
505
983
490
264
100
845
66
844
13
804
465
389
926
753
945
239
210
143
256
485
832
311
515
227
685
733
630
733
544
123
612
82
890
913
243
737
241
13
562
497
508
649
535
466
78
765
102
973
24
702
514
889
849
832
512
398
672
399
402
91
579
85
586
196
188
696
384
865
104
945
294
692
49
518
965
77
946
472
250
596
109
560
647
304
15
244
358
742
826
15
936
519
957
116
231
474
492
942
901
847
190
179
275
340
148
216
793
662
929
506
512
963
112
282
439
529
759
529
550
265
287
159
416
790
539
100
272
401
685
412
238
781
706
603
138
87
833
34
41
974
276
670
194
184
998
465
514
553
78
355
166
703
397
180
52
190
46
828
232
616
817
582
375
50
600
938
366
117
338
129
106
290
422
220
330
239
56
921
39
571
185
174
714
951
12
201
87
349
29
906
605
156
726
465
151
976
832
457
774
203
34
154
395
865
586
405
478
842
140
129
669
255
421
574
248
736
64
377
64
327
82
922
272
943
906
674
840
713
906
959
240
8
613
141
215
644
605
251
761
559
168
917
753
274
399
871
718
544
367
397
338
941
309
851
174
524
635
743
976
389
649
993
688
638
528
627
909
215
30
599
163
165
868
416
779
66
416
965
577
800
679
243
838
355
42
719
224
59
343
693
430
507
238
333
317
442
668
37
246
24
463
388
74
265
778
240
79
860
98
433
642
292
9
188
79
908
802
514
485
562
236
847
729
587
477
698
85
64
303
310
54
825
150
194
79
155
490
940
776
941
310
883
193
848
181
59
428
199
519
347
579
389
167
902
641
61
329
730
437
749
262
783
113
395
821
17
10
936
149
687
983
175
307
547
337
263
638
735
611
421
997
863
366
979
758
242
990
421
691
216
291
888
369
319
289
489
782
313
231
880
198
221
257
779
134
132
610
477
505
906
482
942
627
902
854
839
774
509
740
615
422
560
265
826
127
686
926
46
253
283
188
42
378
40
298
342
287
921
834
1000
900
78
31
139
357
411
375
790
743
418
313
689
626
507
163
907
656
189
477
651
962
409
201
128
971
842
897
91
607
117
225
590
489
824
649
480
906
604
999
450
827
825
170
684
174
121
700
782
874
548
398
240
984
240
509
605
302
220
137
419
441
447
748
179
300
294
640
860
228
372
204
977
948
44
631
784
487
1
493
960
930
28
282
60
833
428
562
67
483
603
848
647
41
4
722
49
778
964
983
179
230
949
799
55
158
416
956
706
564
762
281
605
896
822
248
875
801
12
566
851
408
447
298
53
221
353
682
261
99
648
348
180
738
818
88
137
259
125
663
353
256
753
416
593
693
677
580
426
551
960
276
898
8
680
151
137
253
874
478
331
729
747
353
529
712
872
288
934
678
265
111
703
799
36
590
810
280
773
611
139
956
947
45
870
737
392
665
141
31
363
638
155
230
757
83
150
712
832
206
148
588
158
318
957
591
604
816
707
89
859
866
80
191
399
108
512
328
780
141
824
465
880
970
187
323
20
846
805
612
898
148
471
280
923
43
936
221
858
661
98
707
627
443
166
73
774
136
268
788
337
624
480
139
849
421
867
196
736
192
931
570
669
95
818
786
288
106
723
743
331
729
218
814
345
657
623
654
98
24
146
640
297
852
207
214
404
182
295
66
212
173
718
240
299
118
814
749
666
963
561
210
660
387
15
364
733
924
693
57
756
938
829
428
327
459
429
578
990
45
161
983
366
854
448
241
909
49
542
548
465
538
1000
451
810
754
713
21
100
901
590
573
524
606
41
457
468
423
667
255
212
10
919
896
488
78
74
867
251
400
524
666
657
288
287
96
548
925
604
845
717
871
713
996
854
864
164
797
330
765
560
53
930
140
215
959
239
479
52
62
615
530
964
316
599
537
18
858
166
457
106
224
449
383
100
218
416
450
97
522
532
504
132
472
612
668
564
92
910
743
429
627
993
67
237
312
95
46
28
59
456
99
63
61
637
138
137
68
876
48
375
214
393
852
318
851
929
356
275
788
923
122
172
690
489
573
627
189
717
843
543
410
933
776
296
207
225
128
517
404
940
579
529
706
881
667
730
780
607
96
630
177
589
194
749
424
979
466
317
579
372
290
566
39
307
815
403
146
141
24
446
451
634
751
704
82
796
152
678
743
523
772
311
331
113
881
970
6
25
189
630
829
120
418
532
767
210
430
817
928
929
812
104
396
846
846
521
922
221
806
443
32
55
364
74
827
845
706
60
840
34
627
515
874
237
495
199
641
165
456
101
359
625
682
348
225
105
768
194
798
210
623
797
893
680
303
678
554
789
310
2
19
670
777
289
363
538
855
793
707
815
324
503
428
890
165
677
817
624
338
889
25
728
544
769
929
823
80
61
775
357
212
110
41
515
668
624
24
942
970
405
42
392
298
757
997
386
521
435
281
582
834
344
654
851
157
673
761
956
102
767
434
373
822
871
776
979
527
787
294
288
780
636
32
444
954
137
733
411
378
268
551
662
788
730
722
200
645
371
921
945
797
622
718
328
706
21
682
463
201
132
185
404
262
493
898
806
911
755
295
777
617
838
224
834
29
765
747
640
989
801
14
650
971
662
865
885
96
883
268
769
824
835
407
426
262
534
476
826
814
113
766
938
512
773
652
397
977
82
478
217
414
740
115
775
415
309
224
633
654
947
813
761
738
885
744
361
564
262
246
835
565
910
337
370
114
884
283
260
187
838
886
356
96
830
428
962
762
799
565
96
484
705
332
277
660
325
672
910
219
775
610
878
804
88
247
204
897
615
251
479
141
580
419
298
106
847
183
146
593
856
638
981
396
732
788
290
101
738
231
528
119
656
417
677
641
135
960
104
635
756
217
45
298
364
494
795
612
218
796
148
790
621
982
690
415
20
562
317
36
989
151
749
821
122
748
864
635
639
606
396
547
396
459
919
379
112
244
53
331
799
267
527
150
829
986
69
551
563
166
84
822
212
221
749
626
420
937
449
30
87
660
448
684
140
216
318
919
231
518
923
227
889
836
677
233
233
198
416
803
185
213
434
368
53
909
165
900
468
854
549
233
920
881
302
562
555
276
252
55
474
125
343
462
501
885
176
476
285
886
736
429
628
625
488
553
153
240
162
651
757
432
353
546
832
497
552
55
890
815
308
576
58
333
34
596
887
93
386
542
59
841
245
454
884
108
61
896
895
913
748
355
491
447
356
149
321
634
475
531
24
494
690
211
27
617
436
40
303
838
300
934
429
448
125
434
774
860
315
473
385
676
345
28
985
543
824
330
494
6
408
239
682
794
499
175
863
652
907
749
35
849
639
845
498
985
528
470
787
543
678
89
700
944
607
556
311
511
523
965
117
848
384
946
885
610
277
966
355
564
161
180
665
114
206
269
271
188
833
468
158
495
1000
693
368
678
482
266
192
821
689
252
917
99
3
828
667
88
787
404
710
425
961
488
593
27
480
355
583
59
150
656
205
196
965
50
116
500
535
753
148
396
257
695
133
839
571
602
24
723
51
928
918
3
65
979
808
798
465
14
278
926
72
342
909
987
754
660
853
69
512
957
892
642
327
326
319
972
475
921
130
691
636
139
369
755
413
805
908
100
791
775
632
754
686
929
748
30
957
924
913
704
159
484
976
727
894
198
394
161
812
5
790
447
192
596
712
75
573
919
371
976
60
894
35
699
823
177
781
531
729
567
540
250
288
184
683
108
818
107
945
12
272
533
148
563
235
855
974
795
431
276
76
993
448
706
910
926
562
719
979
201
206
304
634
208
97
975
178
310
51
580
782
511
265
779
649
817
186
769
921
926
136
279
70
641
549
236
898
662
991
817
810
972
165
758
733
102
734
921
899
955
106
104
731
704
305
999
242
537
654
27
676
659
292
479
595
993
478
51
279
508
204
381
71
964
932
635
258
103
116
553
206
40
785
604
695
636
635
71
842
190
975
952
578
614
398
532
351
600
216
371
652
998
564
228
970
701
550
134
997
900
999
446
273
462
151
182
951
534
108
381
36
225
997
541
301
330
541
391
23
653
213
423
861
410
201
596
462
578
181
624
849
823
289
46
237
802
749
91
702
240
322
960
41
158
117
761
216
19
341
762
47
380
232
45
168
823
770
908
830
573
776
558
812
214
616
743
589
350
86
971
881
899
992
874
913
922
565
95
6
561
142
800
633
701
449
549
688
429
456
781
517
216
981
643
220
49
148
195
824
384
347
329
199
890
584
859
3
449
943
330
529
747
452
62
36
134
805
820
57
92
228
294
210
804
298
262
234
814
657
909
336
697
376
272
451
13
198
212
669
516
7
609
934
784
639
707
72
943
600
679
364
156
345
495
175
867
499
139
582
620
842
58
560
378
892
483
64
921
691
925
229
835
709
717
26
35
871
944
895
548
345
484
326
505
110
167
837
883
285
257
546
582
888
563
370
839
970
460
901
809
61
75
174
392
477
631
874
18
309
736
12
171
857
991
716
877
874
841
614
244
197
34
204
435
293
414
726
90
760
993
314
344
78
462
620
41
757
310
686
657
550
746
558
746
611
457
37
415
293
57
1000
474
779
733
917
413
928
247
567
275
461
896
442
851
160
495
23
339
792
742
913
774
319
539
812
69
339
998
454
485
832
877
900
691
988
138
70
363
355
171
955
443
548
988
765
749
506
331
131
645
666
235
618
836
411
33
971
199
875
195
963
730
518
651
210
325
853
469
59
124
400
839
477
579
240
327
905
235
476
262
196
454
586
963
92
957
883
200
170
118
257
952
825
384
950
23
650
86
390
551
532
146
965
776
883
884
230
688
681
217
217
354
429
991
416
759
713
141
500
12
750
627
72
599
240
826
547
200
851
175
762
238
880
360
96
953
987
301
652
297
404
500
548
331
712
52
468
160
67
780
420
645
782
504
62
253
272
396
58
462
682
754
688
72
971
306
303
614
807
294
313
812
437
221
87
718
551
92
535
700
304
402
145
929
834
908
962
419
28
447
315
923
840
658
106
214
144
498
125
349
969
876
156
551
988
531
631
225
287
570
178
453
761
665
706
46
996
26
607
853
86
664
237
549
677
365
84
602
447
53
947
419
342
888
993
981
171
534
787
387
554
535
263
829
820
609
111
482
145
985
279
661
166
614
89
415
285
208
982
378
125
557
72
336
942
527
474
442
299
466
851
448
988
472
743
618
23
150
32
227
470
997
303
663
65
563
981
220
830
845
858
553
361
191
31
680
75
126
312
131
442
135
937
503
181
390
702
282
440
825
755
224
241
769
897
994
827
531
626
51
134
971
139
925
264
100
156
183
729
177
756
335
226
602
359
884
892
160
632
499
281
795
363
70
828
154
271
963
173
604
347
394
510
284
521
253
109
20
397
47
224
617
314
912
887
117
260
795
506
114
978
960
757
87
186
969
975
51
976
156
175
492
326
396
840
704
139
669
825
145
385
522
106
350
729
19
567
304
491
206
740
875
916
409
200
92
490
926
316
563
502
799
188
339
117
380
913
837
973
353
737
250
756
733
293
28
200
99
874
592
743
985
601
459
394
939
425
314
418
202
149
399
127
359
22
784
391
607
9
688
510
448
551
66
711
754
467
78
857
106
678
905
923
286
595
606
417
537
341
365
188
13
456
527
13
401
369
270
950
286
724
633
658
232
598
899
841
929
726
985
485
995
164
595
789
192
184
377
585
876
822
213
528
480
173
75
561
697
482
600
977
842
63
628
902
535
321
504
189
455
475
811
497
443
133
621
826
595
496
994
874
359
813
681
374
829
708
490
2
579
101
752
541
423
766
682
721
406
11
205
567
202
570
985
156
840
559
994
378
341
280
928
679
414
702
188
810
841
717
934
251
550
630
936
355
667
894
566
244
38
805
270
129
788
718
319
54
515
382
450
24
613
116
243
92
38
929
755
261
555
119
943
3
135
562
903
777
711
661
781
166
930
914
530
182
905
121
298
827
217
567
394
216
569
875
183
447
589
854
242
935
212
372
330
84
993
158
505
67
458
518
779
903
311
121
253
257
898
370
600
138
851
403
79
149
233
420
20
100
833
868
855
515
462
986
335
47
268
371
507
891
87
485
419
8
808
519
266
427
584
591
877
893
455
53
44
899
630
572
135
466
236
758
885
102
811
302
29
22
201
27
641
77
813
734
693
833
360
494
326
870
330
842
786
720
434
360
796
797
172
315
366
308
508
323
710
410
320
507
971
813
980
248
922
619
908
423
684
434
396
973
742
691
381
756
261
689
39
895
744
64
301
252
598
270
396
238
41
202
557
905
107
251
854
130
203
933
954
778
786
739
246
906
251
988
429
440
49
289
103
262
389
686
371
314
601
663
731
166
417
988
797
440
926
787
483
671
987
360
362
428
169
956
814
11
132
168
443
617
482
647
15
644
750
548
789
722
123
506
721
124
954
964
473
464
862
345
547
944
484
921
133
983
493
231
494
758
587
517
744
23
509
7
961
614
56
810
404
187
230
806
490
97
342
210
874
759
948
418
602
529
924
326
871
874
878
567
343
612
357
13
329
54
972
449
397
177
678
542
139
378
896
97
880
902
92
122
97
807
718
417
189
185
114
222
43
430
115
977
497
523
596
399
443
657
137
866
783
78
313
598
885
620
846
226
490
304
33
116
245
310
363
273
187
780
249
703
497
216
134
901
841
659
993
497
412
482
470
186
569
353
417
750
636
859
647
389
969
376
59
563
882
961
131
280
419
468
972
65
219
610
721
863
927
403
147
775
710
272
665
845
419
127
895
67
876
867
44
418
564
118
123
982
727
466
983
196
513
111
679
807
350
642
483
384
143
588
181
165
290
511
926
512
697
672
29
544
216
702
558
315
912
319
492
486
608
810
496
595
4
962
85
888
446
75
61
146
135
987
625
132
156
319
490
63
200
701
667
982
287
414
320
40
81
670
236
471
662
785
14
461
692
586
31
235
992
734
601
396
469
53
528
991
189
597
409
804
135
929
656
118
869
2
167
546
869
132
978
560
784
751
54
39
249
44
542
493
166
96
466
615
560
906
836
471
224
425
578
942
351
865
528
7
288
627
979
67
346
547
893
795
329
666
957
931
75
310
137
30
848
119
202
422
831
575
14
535
372
702
12
313
824
872
431
648
46
63
275
651
646
503
951
79
58
349
795
449
404
958
391
198
885
323
756
742
138
486
915
451
597
49
376
353
386
463
317
867
713
412
45
949
13
448
420
869
345
6
519
211
661
81
744
830
605
129
941
211
437
202
903
100
541
948
760
324
707
856
378
446
65
58
852
250
95
56
605
117
619
994
369
988
67
471
556
1000
576
436
149
842
704
411
227
554
601
141
713
784
526
775
723
501
468
875
162
767
487
840
853
465
74
852
519
807
499
47
423
26
624
457
321
932
101
166
642
885
250
274
516
313
131
501
321
116
519
685
944
173
525
15
795
686
608
558
988
296
593
528
733
725
90
802
162
227
400
373
281
239
615
794
711
487
95
174
183
219
934
969
503
388
331
615
845
374
32
62
789
283
102
363
477
920
346
810
604
330
646
535
775
146
303
94
883
99
254
347
794
713
681
821
578
614
106
855
946
891
518
49
335
647
500
907
305
191
556
134
524
363
81
733
629
95
473
906
685
637
936
784
799
857
375
159
677
622
674
746
570
556
297
962
89
413
844
848
841
881
693
571
710
881
310
873
842
348
167
951
118
4
449
513
939
896
910
180
671
289
276
960
961
88
609
271
469
106
874
881
240
355
795
147
76
28
722
172
778
4
876
829
56
492
807
130
235
937
347
73
634
380
615
942
635
299
907
996
4
343
374
639
996
499
482
450
127
952
157
897
291
323
375
172
31
8
715
349
420
85
55
971
932
591
148
279
123
37
305
476
732
687
776
866
4
479
718
211
679
465
824
354
92
288
791
32
253
544
797
802
628
818
98
163
569
828
632
308
977
377
276
388
858
742
17
848
869
744
823
142
819
953
475
129
379
427
932
530
895
905
80
95
325
619
868
550
771
748
915
984
5
63
607
22
654
505
647
85
464
281
738
11
125
540
819
576
701
875
863
752
619
678
724
105
494
856
980
355
833
543
983
995
778
202
594
797
615
961
184
220
743
120
534
983
129
496
193
556
85
696
726
894
353
459
6
537
72
910
404
80
206
977
255
123
372
206
496
32
861
935
719
217
796
90
176
199
35
899
479
427
406
448
820
655
320
327
548
720
633
559
854
711
837
671
120
862
367
985
234
971
788
189
775
787
163
822
538
609
685
548
276
283
9
1
925
887
319
563
800
663
320
602
428
183
765
641
740
280
92
385
340
47
978
769
413
61
389
6
663
56
773
121
317
445
583
605
877
487
250
629
773
356
34
744
493
81
957
83
88
131
126
888
159
406
345
608
588
525
839
894
278
607
311
591
139
195
283
205
392
545
893
389
16
320
868
723
824
602
400
407
243
226
41
548
300
680
541
370
754
187
752
55
552
142
346
881
1000
772
97
13
144
736
937
584
853
410
787
692
992
762
442
528
935
41
400
184
331
2
612
552
723
11
556
382
116
177
926
779
50
606
475
319
88
969
258
553
861
868
568
846
1000
854
384
399
339
583
6
828
736
279
897
830
770
591
422
344
319
957
314
97
750
810
197
565
35
283
447
210
602
621
982
304
173
154
319
796
118
505
397
411
112
715
184
660
990
78
79
493
745
783
457
87
539
919
497
659
477
987
592
263
605
838
228
241
293
884
224
358
717
471
595
707
617
578
114
124
904
357
868
218
973
597
697
95
754
879
433
540
667
61
298
695
597
727
619
261
990
415
301
867
908
769
101
527
674
222
830
33
315
473
58
750
591
813
741
477
800
284
511
1
935
802
973
481
985
589
516
35
377
727
565
793
584
173
142
161
919
355
887
271
415
309
398
417
459
405
877
759
567
870
555
753
273
713
354
562
586
120
514
175
938
117
690
72
799
63
172
69
404
566
397
394
144
511
935
149
221
233
435
47
101
251
832
740
153
656
285
74
610
962
873
367
667
158
96
146
69
785
613
826
41
87
442
484
790
668
67
231
68
634
508
690
520
907
421
713
605
243
744
816
892
505
205
748
456
905
289
247
909
264
857
310
310
822
718
239
852
734
854
313
750
246
916
190
188
426
839
42
545
483
124
977
370
939
411
541
729
353
455
937
633
874
511
149
203
609
444
330
144
708
579
657
840
99
422
363
127
994
907
784
343
677
759
107
821
554
859
929
336
149
300
890
392
547
894
411
429
748
516
994
150
563
559
651
246
944
195
750
692
131
879
3
656
565
704
343
840
295
826
188
683
543
139
930
474
137
786
546
858
767
906
887
632
415
199
556
973
835
532
281
487
683
808
335
497
718
762
882
70
562
177
67
127
604
238
317
842
41
421
580
230
444
317
177
486
958
308
515
137
968
818
180
535
58
172
806
565
188
764
703
687
260
301
418
610
672
407
283
932
54
737
557
95
77
88
898
850
138
654
807
227
754
743
132
697
719
746
899
816
401
95
544
129
105
299
72
545
66
835
819
696
490
875
229
23
5
346
545
459
76
776
352
617
162
772
693
339
922
720
874
293
301
475
121
77
170
413
976
958
49
187
708
896
544
922
3
46
379
410
927
248
250
42
465
330
297
855
947
254
704
77
331
195
749
984
606
690
695
715
567
873
25
942
817
646
905
909
129
365
181
442
259
217
920
960
863
51
233
396
424
828
124
211
30
209
167
343
348
81
128
39
404
949
9
983
626
211
623
60
144
294
495
355
518
528
803
737
917
387
97
469
255
460
750
799
960
79
433
443
849
53
437
166
47
372
325
441
20
43
222
288
565
465
29
960
35
869
2
88
160
383
401
282
585
234
401
926
652
436
25
120
985
79
654
261
189
987
569
781
321
83
62
942
832
276
884
376
349
56
182
298
38
284
628
895
236
833
136
454
749
871
423
186
479
533
684
553
33
689
816
148
578
300
957
803
496
591
574
678
302
891
996
526
920
543
60
184
618
710
488
646
825
259
744
706
630
170
349
275
924
59
80
954
101
487
38
333
668
692
298
803
389
268
764
370
348
93
867
58
885
508
963
37
450
337
648
528
279
862
695
844
229
256
17
721
244
304
865
171
707
477
461
703
357
529
397
677
545
851
433
924
354
727
769
557
506
527
477
58
41
575
543
297
466
147
888
170
449
571
795
880
163
910
441
749
53
73
575
598
167
484
947
403
160
647
813
902
759
13
652
292
771
603
290
977
682
704
764
564
524
816
592
947
968
726
615
380
523
207
173
899
312
423
228
297
170
489
935
157
672
64
319
93
293
46
960
466
86
631
986
298
183
64
297
22
885
373
623
13
361
261
941
523
771
123
815
804
143
843
401
668
475
612
247
719
368
547
507
770
930
263
872
737
835
884
336
425
190
221
894
191
305
935
426
399
536
580
295
981
143
331
642
162
481
73
967
600
926
270
366
753
633
695
675
311
613
682
888
888
624
4
414
991
90
911
151
499
551
86
889
465
196
528
238
124
653
427
174
370
531
129
256
824
167
174
791
856
665
243
499
550
580
528
747
672
545
710
43
149
722
251
281
436
206
131
165
413
425
541
368
140
111
275
231
867
684
736
217
200
691
531
945
210
545
614
305
582
937
795
108
591
166
260
708
833
115
379
279
139
763
743
755
33
927
824
980
431
394
91
259
7
725
726
346
819
797
303
870
310
578
930
358
787
722
385
287
818
310
717
56
781
489
649
384
957
801
839
382
160
701
766
491
870
175
521
533
228
342
305
362
89
668
785
988
485
701
751
599
498
288
722
584
562
845
237
552
633
585
563
306
481
577
488
961
646
106
667
660
187
110
699
862
452
392
794
803
524
893
347
524
882
569
267
800
73
308
174
442
879
888
895
662
536
193
824
651
54
780
764
68
593
397
882
881
132
276
259
895
395
823
290
322
104
852
942
977
137
664
388
22
132
48
131
704
367
802
67
184
509
438
308
399
981
555
772
882
215
779
709
569
52
251
336
969
885
429
721
468
940
319
898
192
231
358
936
583
353
865
377
781
218
338
983
964
278
937
254
47
548
143
506
520
967
936
642
736
252
847
885
693
398
870
883
174
441
537
580
145
891
433
163
473
517
42
207
352
796
88
885
304
386
494
701
259
447
629
782
24
499
815
185
379
783
920
13
165
736
453
421
985
333
777
727
553
463
950
923
297
481
188
841
588
302
188
137
792
186
339
7
448
409
372
268
46
588
150
21
225
323
99
631
751
170
267
149
288
679
89
644
794
408
743
118
373
334
412
814
544
79
832
759
167
713
292
338
751
657
628
529
427
423
818
183
692
466
503
422
879
438
146
748
458
531
531
983
432
392
30
485
538
282
384
431
472
811
747
83
75
553
387
123
254
300
770
81
460
544
692
845
663
6
757
23
145
678
789
672
865
911
682
522
821
518
792
384
614
737
218
837
361
180
232
678
238
534
665
837
164
919
282
656
574
237
39
457
809
798
660
343
363
754
137
16
140
638
626
208
888
373
659
5
206
657
815
934
863
558
728
210
673
482
840
922
855
410
384
285
623
459
883
274
737
364
886
134
870
434
730
232
969
916
904
725
198
438
949
320
705
429
927
180
162
938
180
678
7
317
484
282
339
594
738
316
678
169
992
731
189
694
985
291
491
592
329
795
908
685
175
32
830
858
447
187
919
486
745
311
7
612
627
307
903
500
233
588
788
235
192
199
507
514
305
735
886
627
766
835
124
891
583
354
439
491
412
605
394
757
239
200
758
394
229
99
322
83
553
434
843
169
241
577
141
855
900
695
457
455
661
711
346
750
875
235
764
436
859
477
504
999
502
605
801
52
619
317
772
357
746
616
315
272
513
911
244
357
774
592
723
192
486
199
523
280
682
117
213
38
962
499
180
507
643
800
274
355
77
835
971
187
673
771
147
944
851
851
977
395
486
903
991
345
401
910
41
196
138
4
765
913
506
246
172
311
419
468
117
791
120
290
786
293
191
107
768
335
662
519
941
389
149
172
197
782
165
452
964
531
690
795
618
221
609
657
101
114
865
331
530
160
39
870
98
490
604
353
364
248
269
605
852
365
689
274
985
946
294
856
523
509
168
852
79
199
698
767
759
467
174
43
684
416
681
363
923
190
350
961
403
298
509
730
467
764
350
926
42
322
477
240
855
666
105
830
716
937
729
684
662
214
827
325
678
754
491
447
766
146
945
558
402
306
577
52
761
501
445
450
679
152
236
728
991
222
300
749
750
404
666
827
851
169
973
353
743
954
793
236
244
451
178
641
947
960
134
119
354
273
365
787
666
400
834
623
98
704
637
322
701
732
201
402
943
54
58
399
707
969
331
76
947
785
547
530
965
716
647
978
186
125
831
759
312
970
438
822
965
818
156
528
283
738
725
136
436
685
706
714
698
769
49
582
548
910
958
570
244
949
991
530
450
250
403
580
803
170
531
486
745
571
363
439
552
708
560
256
257
402
848
666
102
430
133
941
177
419
664
578
205
361
297
139
759
57
229
623
780
428
573
961
945
642
806
294
297
420
424
726
567
757
103
133
774
474
295
449
26
734
458
546
920
630
54
486
581
475
54
427
175
260
910
942
659
4
883
823
690
429
158
721
809
447
405
135
494
463
307
308
217
350
114
589
382
313
451
676
913
517
474
965
292
483
940
899
66
800
919
825
179
587
703
364
12
503
887
723
674
836
791
670
917
334
83
144
32
6
981
595
206
85
440
153
143
681
516
740
163
459
477
992
635
827
316
707
346
715
10
120
320
2
252
928
702
71
433
427
519
739
289
515
543
34
16
615
28
923
615
731
756
73
925
984
746
193
53
958
915
326
938
103
235
680
365
266
170
265
40
123
730
633
269
954
68
478
377
694
368
727
247
668
702
15
258
753
662
111
482
967
819
964
174
647
480
492
512
446
804
180
32
345
55
805
411
777
659
351
73
715
791
277
612
293
391
816
164
121
894
925
668
957
448
822
439
808
82
800
568
856
92
141
484
830
910
518
406
558
857
218
526
500
463
887
517
963
495
282
336
602
456
669
388
503
38
99
797
861
992
800
935
804
884
280
354
389
506
587
986
183
43
331
791
126
669
718
34
573
950
870
48
481
261
100
606
765
471
681
42
691
289
860
833
61
11
533
682
611
871
31
32
706
863
943
554
944
652
746
410
717
198
308
965
136
769
976
202
970
327
75
320
428
646
115
829
653
148
887
28
806
120
975
913
458
906
864
395
835
688
974
233
116
674
466
215
612
880
579
940
142
185
597
17
334
30
303
629
909
928
878
166
213
973
806
93
403
632
271
286
728
426
898
836
280
550
482
705
452
78
500
692
85
178
803
883
945
665
860
113
753
307
337
27
446
530
576
974
743
544
772
350
360
466
228
965
430
719
130
687
766
833
665
916
612
792
175
414
452
238
258
620
245
176
388
889
194
289
653
997
774
622
707
864
289
197
847
686
669
39
445
577
561
239
612
375
31
915
56
481
345
357
597
482
381
230
693
823
173
416
627
993
994
994
717
515
156
875
30
547
394
817
592
22
312
913
19
112
870
146
834
213
298
261
444
817
132
76
952
383
324
266
461
774
461
864
547
903
203
958
912
990
973
552
991
219
789
142
485
676
866
340
376
123
306
775
929
556
741
602
649
546
268
155
895
990
395
690
108
299
25
691
200
11
660
925
688
477
135
276
557
592
188
415
715
487
72
520
79
738
264
589
47
912
998
377
102
224
38
609
786
647
594
936
141
72
763
35
977
41
187
373
8
86
926
398
981
981
650
369
412
39
366
578
438
137
837
481
587
341
759
118
2
819
516
256
735
263
64
890
271
156
51
97
363
60
818
734
588
553
326
159
781
563
365
979
638
633
635
783
343
84
411
995
23
123
542
249
207
710
490
147
228
384
932
863
684
314
233
829
669
556
759
646
459
875
525
442
737
506
219
142
254
928
937
477
17
54
336
130
716
239
29
99
116
174
204
230
590
21
403
861
758
130
368
711
482
289
601
465
91
749
91
981
748
175
227
693
369
301
483
563
324
286
901
916
443
675
738
550
544
449
903
824
727
827
972
823
244
405
631
262
574
687
385
554
700
302
224
331
235
2
754
748
211
58
974
136
824
809
478
860
372
935
383
835
970
496
673
744
329
890
983
877
73
665
61
469
585
562
281
571
353
248
620
749
145
946
437
398
103
582
262
31
50
109
548
683
836
409
998
488
611
522
646
546
235
996
355
458
884
833
766
263
106
838
11
80
188
183
716
440
729
658
902
161
725
370
395
631
315
644
285
526
589
468
775
313
464
146
484
396
734
713
919
348
826
284
330
537
674
757
645
330
375
171
507
221
999
606
687
470
975
711
320
249
981
827
486
897
169
185
594
574
831
872
962
539
358
68
718
282
414
573
882
962
808
796
58
953
455
167
688
817
140
437
226
674
561
413
898
799
259
473
957
220
589
650
449
248
869
141
566
174
169
862
581
789
17
63
232
11
434
93
146
670
331
91
599
399
255
789
430
674
893
603
425
264
536
904
877
758
904
686
273
355
364
843
310
817
580
929
481
358
65
584
522
208
948
767
899
816
477
558
340
939
476
596
130
366
972
108
541
657
700
115
267
79
52
634
219
844
289
590
355
916
545
727
472
845
204
11
84
565
722
895
524
642
903
344
433
180
869
703
642
510
743
331
259
800
130
416
459
947
19
553
74
456
663
465
579
527
310
706
500
244
409
335
558
574
62
297
123
880
29
692
640
784
579
226
762
500
809
838
853
220
855
951
360
743
582
824
334
290
911
196
16
367
967
811
990
633
574
411
871
926
483
493
864
31
872
442
852
276
323
683
812
768
459
110
507
938
864
386
367
57
769
669
416
572
179
934
888
439
799
339
925
86
145
32
367
309
714
371
179
171
902
780
507
945
693
368
707
238
752
12
930
690
697
788
34
76
774
536
629
199
73
870
65
710
719
98
32
863
186
415
231
256
982
159
286
837
495
141
627
771
697
817
626
297
745
566
640
388
262
453
947
819
212
626
802
245
847
938
928
47
168
484
847
966
674
469
341
12
997
242
232
745
135
391
394
775
635
503
582
266
33
561
227
271
257
2
825
7
515
105
920
506
393
759
980
681
479
635
633
500
898
446
863
842
516
276
737
622
444
958
171
919
692
62
45
205
471
360
705
204
708
559
520
598
765
689
707
559
253
772
55
36
86
310
559
864
583
687
204
978
539
787
318
474
650
22
966
814
587
468
844
205
310
14
999
76
911
252
496
619
424
341
854
550
512
239
634
626
900
487
123
936
761
216
423
677
968
153
586
949
304
195
676
60
258
538
737
10
996
458
715
75
459
568
298
905
309
803
502
106
630
410
583
88
863
974
513
856
446
856
826
483
32
455
113
272
948
400
836
964
780
100
396
919
576
97
597
887
167
304
751
835
564
534
661
330
190
674
630
124
964
500
476
923
895
395
251
814
885
168
974
426
928
765
248
752
713
906
70
443
953
597
473
549
397
8
911
912
615
440
465
841
72
962
990
279
971
840
318
404
588
63
508
485
567
87
920
870
743
469
568
170
583
151
830
77
262
20
86
738
726
788
253
320
832
412
530
172
797
987
872
23
745
549
837
752
103
247
513
593
940
162
135
58
146
374
889
493
499
25
128
924
257
759
902
788
908
351
257
206
106
344
254
686
612
189
3
542
272
737
343
852
694
929
936
475
276
174
691
509
695
219
395
592
775
292
387
588
907
894
879
573
835
924
286
462
669
741
548
301
454
356
951
22
477
192
420
408
769
778
578
120
951
258
142
927
614
861
386
644
971
307
441
927
363
686
225
746
524
506
625
278
233
470
373
1
60
11
741
951
463
803
768
500
417
237
256
478
58
351
166
163
617
797
373
490
14
232
959
778
65
927
350
459
204
515
645
546
977
494
427
48
355
568
182
147
71
911
233
707
780
189
723
598
826
543
780
420
800
742
457
413
863
438
408
735
35
753
568
855
244
462
297
476
973
666
517
280
742
166
414
795
520
722
168
852
387
982
990
428
422
174
475
144
827
563
913
336
774
277
723
403
320
357
634
93
1
777
570
483
393
750
462
690
25
851
367
739
486
352
344
637
515
701
498
371
106
263
512
505
412
264
731
19
326
405
601
316
147
740
818
601
648
240
97
410
230
907
826
690
545
469
242
697
142
405
948
921
242
536
743
424
690
480
768
225
513
24
908
870
270
868
238
886
568
266
75
596
698
781
830
712
319
769
438
153
548
219
627
819
575
267
638
392
159
40
325
815
971
489
736
774
747
513
384
391
684
990
421
312
297
309
829
594
230
595
581
56
152
122
424
308
894
322
585
252
491
404
223
690
602
843
903
578
101
889
715
617
272
824
910
99
139
894
80
371
961
727
11
830
794
578
261
121
343
903
430
67
34
640
874
942
330
52
282
856
866
134
167
409
880
405
797
272
765
391
530
23
296
175
803
383
234
230
292
1000
573
140
834
45
630
924
795
183
573
426
473
941
713
630
977
100
110
822
803
479
579
238
956
441
212
209
61
472
900
841
358
468
142
946
881
721
666
298
372
131
953
272
719
919
826
572
763
906
645
84
339
497
530
831
353
630
220
652
459
319
882
490
684
848
177
110
933
377
387
671
866
445
264
807
77
865
513
781
844
575
527
848
996
283
50
157
571
170
952
409
40
475
181
8
829
534
266
649
740
725
458
79
687
802
690
322
834
333
92
774
819
278
684
392
268
284
237
676
200
922
7
257
257
932
205
679
888
511
623
407
789
829
770
186
895
236
267
592
181
95
1000
83
391
756
710
836
541
977
290
444
715
986
38
882
265
490
518
173
939
127
481
901
919
285
499
38
970
718
601
534
126
132
174
819
441
720
894
619
318
682
194
502
856
913
97
164
469
371
836
746
747
113
751
421
172
644
422
73
824
989
833
123
669
871
671
491
355
488
497
220
706
604
652
496
269
156
220
710
316
79
271
678
713
852
926
380
900
96
467
372
60
643
858
548
215
676
536
75
597
887
278
134
145
143
273
567
394
783
272
646
340
521
835
968
73
901
230
910
123
386
530
164
488
463
785
628
248
585
931
327
538
398
279
94
386
441
4
472
602
436
38
648
452
366
180
274
348
761
26
712
137
2
533
581
888
999
658
470
246
302
500
354
525
548
846
544
729
183
818
970
583
534
562
232
490
662
600
106
47
899
465
155
364
594
730
665
20
406
417
381
853
434
995
432
215
559
913
364
501
654
642
448
983
735
736
287
9
698
275
272
613
15
392
625
467
652
272
619
888
522
120
30
296
984
150
71
140
242
525
846
786
33
551
805
294
642
147
863
326
122
769
563
628
567
501
122
700
436
11
318
254
204
404
857
55
83
798
333
541
142
622
910
409
954
193
576
988
765
162
208
812
300
778
702
259
536
734
110
515
151
566
56
398
914
201
736
780
987
246
399
438
934
62
587
168
299
479
318
907
721
271
49
440
935
127
535
960
453
935
613
424
371
625
558
134
544
707
886
464
312
898
387
957
70
904
735
311
256
519
236
902
701
678
136
576
930
16
471
423
665
758
569
99
722
511
230
71
507
594
33
858
524
123
422
905
673
933
19
274
617
801
64
716
172
142
23
23
499
515
175
777
855
815
423
730
802
988
666
123
65
480
816
141
680
383
947
595
681
440
128
656
331
630
195
127
837
66
103
318
537
318
513
37
818
82
980
635
362
324
404
277
913
640
455
840
413
599
296
920
245
248
254
454
308
810
63
334
842
841
899
269
229
733
743
807
473
551
500
112
730
594
928
602
14
976
660
998
178
779
511
683
376
994
815
545
466
583
766
592
238
433
595
758
916
932
954
229
142
135
48
548
493
248
924
514
682
231
788
593
733
884
405
166
834
656
424
415
37
805
954
103
682
227
828
779
213
447
764
184
65
820
95
775
416
914
787
284
910
454
260
208
886
954
884
957
282
328
118
143
118
392
956
153
402
116
717
731
366
921
259
738
172
68
362
675
625
460
373
808
959
718
218
948
478
481
513
30
674
254
831
630
469
993
156
498
401
844
154
967
873
97
186
848
105
471
923
38
30
304
5
614
189
83
439
611
628
28
331
61
905
102
113
81
571
935
630
3
914
594
342
586
343
75
396
310
487
656
552
670
7
974
729
126
141
816
494
105
217
100
923
14
707
493
109
739
922
397
20
531
121
829
573
473
616
802
536
957
442
435
321
744
315
916
817
178
870
851
159
119
630
272
734
957
789
780
781
863
592
857
665
78
100
386
272
598
120
819
989
113
366
209
447
413
285
553
522
777
529
511
79
40
747
556
636
141
238
79
379
962
25
763
985
163
38
813
282
559
493
264
71
288
949
625
396
661
237
598
84
112
204
468
676
123
176
24
747
327
165
542
168
274
88
479
105
463
687
964
394
373
441
113
471
136
443
474
226
415
161
608
985
821
991
966
312
909
750
681
500
359
596
888
402
499
376
463
739
703
74
834
143
524
855
680
943
647
185
849
190
894
644
802
454
503
336
277
699
897
261
586
956
987
619
183
543
782
762
703
318
796
457
656
834
252
176
364
248
603
366
544
581
224
45
111
218
476
612
427
559
459
452
226
375
948
782
865
739
941
198
405
371
223
535
237
836
104
8
643
348
273
51
711
832
288
923
493
515
797
957
155
541
11
253
135
31
284
737
25
548
950
768
921
152
678
903
553
113
721
982
327
847
371
451
763
867
834
712
495
339
520
353
131
373
431
275
771
282
926
133
933
907
672
990
938
526
954
765
585
15
885
872
49
686
246
442
522
694
833
653
54
954
210
963
422
281
728
545
632
884
510
767
819
360
838
368
914
92
78
887
415
307
813
955
17
80
343
339
631
262
85
962
565
641
703
709
208
646
964
497
631
562
459
973
899
532
280
192
758
568
702
807
563
464
701
632
6
716
892
910
201
550
74
266
188
710
124
109
748
916
417
212
720
826
303
275
655
847
411
591
767
416
737
294
579
199
517
286
610
192
870
652
716
924
77
271
404
749
147
360
594
770
7
905
758
36
260
273
362
508
959
834
812
728
247
55
884
255
47
401
737
712
190
312
186
729
515
698
831
133
505
669
58
522
957
667
638
722
56
800
867
718
945
883
771
351
578
692
861
437
185
921
355
25
159
652
551
143
569
452
277
777
758
834
930
790
721
454
653
152
3
305
616
154
917
195
211
267
754
911
197
902
481
871
490
621
176
474
335
272
25
51
54
140
301
85
439
404
143
321
124
148
322
511
936
689
432
770
327
227
108
981
469
692
935
214
474
169
681
890
549
501
390
306
536
482
630
158
473
564
886
921
267
152
722
299
558
367
783
459
127
627
176
442
990
521
35
971
440
216
354
842
840
91
244
244
970
368
851
633
43
256
92
234
320
547
221
862
400
629
988
509
859
640
828
60
900
811
60
584
71
121
571
871
903
28
846
285
532
422
449
515
999
912
308
563
911
220
223
97
594
782
13
372
706
593
662
38
502
980
615
526
598
255
98
141
125
122
993
671
640
335
293
70
998
319
651
772
683
385
845
251
762
725
260
749
712
600
638
473
856
976
433
171
41
439
44
706
496
356
122
141
514
114
903
904
715
781
227
773
162
643
489
815
546
925
294
898
973
441
965
64
622
62
412
906
715
638
60
31
757
483
673
859
983
593
965
298
313
532
801
267
885
307
668
673
389
634
828
182
65
692
241
70
144
857
914
495
971
902
791
766
807
876
690
589
543
185
87
791
158
395
717
734
766
965
83
493
558
370
952
873
736
104
841
519
800
617
307
692
193
560
575
761
352
629
679
123
674
886
817
14
782
694
65
671
723
296
947
377
426
637
617
203
834
233
554
664
584
773
757
107
50
661
392
342
814
898
716
958
391
532
906
770
105
414
100
80
547
143
558
754
1000
899
361
665
495
321
467
694
954
718
276
322
986
668
69
828
479
509
802
221
60
304
816
370
892
615
913
211
26
825
130
526
698
802
298
566
578
424
109
686
916
843
13
251
974
399
722
302
904
800
468
849
452
480
488
215
479
90
347
547
314
706
862
462
378
651
343
828
347
795
834
822
371
821
799
757
508
221
464
632
568
724
635
12
58
442
349
629
729
276
170
46
558
14
266
847
617
133
699
39
407
511
463
840
703
146
940
516
852
488
351
742
778
192
717
793
645
932
582
940
256
421
487
631
765
908
743
373
237
286
581
757
890
353
166
743
620
918
262
130
539
240
585
132
818
678
981
112
68
555
632
817
885
985
419
926
928
791
406
291
88
731
206
60
887
937
603
761
243
877
406
494
114
142
960
648
356
65
149
904
325
533
973
852
370
311
12
248
395
886
157
798
70
136
18
349
134
95
315
553
452
694
368
406
134
672
566
504
97
741
258
549
872
713
117
388
361
530
411
844
492
43
11
690
416
949
174
396
947
501
353
671
470
501
298
435
415
574
738
549
686
954
767
540
182
820
880
609
618
724
281
383
399
816
673
254
220
363
272
652
404
557
175
263
711
684
540
35
526
539
256
793
857
401
908
420
549
960
894
870
478
339
470
694
264
773
361
412
214
547
332
794
784
516
777
35
864
911
928
907
541
155
794
173
845
88
299
953
155
380
369
278
570
841
933
753
584
69
881
121
794
114
32
528
247
865
85
455
238
427
329
614
32
96
625
575
32
421
798
550
373
468
104
529
781
634
898
928
819
258
956
16
304
850
187
642
771
958
590
216
353
583
436
446
318
567
563
105
854
554
606
950
332
9
754
988
472
215
286
461
270
367
797
303
559
681
476
307
338
890
237
939
778
627
817
535
962
992
170
609
950
994
630
142
724
693
338
22
943
589
380
213
198
206
929
909
628
904
431
626
363
631
562
135
224
735
202
219
517
961
206
443
574
443
85
548
862
865
6
586
152
928
746
650
198
941
267
876
857
653
665
441
386
404
80
409
884
303
30
651
524
420
325
495
237
902
349
440
994
534
49
53
677
484
397
83
819
909
444
5
153
630
352
380
1
317
922
923
25
479
245
674
758
113
27
453
620
16
75
629
856
626
161
297
931
748
215
161
438
685
380
753
507
74
959
163
42
240
726
98
827
950
336
924
728
277
860
329
722
673
543
380
490
487
955
29
634
863
623
602
380
401
111
377
777
985
232
149
19
936
770
578
475
981
635
202
419
580
869
227
264
854
269
598
295
643
721
377
523
285
496
191
293
312
864
333
712
599
419
143
803
444
361
435
500
694
858
84
296
319
295
363
345
732
857
250
344
801
445
721
319
691
338
13
765
614
384
916
234
112
760
442
555
701
476
625
369
615
899
788
543
857
526
338
342
18
112
40
938
103
66
772
945
145
696
946
204
513
504
161
965
651
212
142
919
432
645
701
325
448
876
287
566
318
299
655
65
561
392
342
419
635
990
911
988
506
832
399
952
537
975
986
3
501
435
687
450
273
92
767
481
120
423
672
739
530
148
495
160
200
214
372
227
178
855
769
421
90
639
300
662
111
539
586
956
576
21
672
301
151
122
687
157
65
235
769
399
216
104
731
762
857
115
615
212
215
541
58
561
581
812
338
918
367
254
81
213
144
975
892
158
917
757
545
475
758
862
2
96
437
647
202
400
888
753
503
192
185
436
659
292
192
266
449
108
218
71
411
477
800
447
647
424
226
626
349
194
503
752
505
86
285
904
236
147
683
267
343
762
988
944
949
525
76
806
559
545
669
658
481
546
691
717
294
654
663
100
993
809
467
545
490
82
823
102
414
26
513
882
491
358
742
251
389
918
989
44
570
841
391
474
557
332
986
421
46
237
126
685
462
882
971
619
861
251
280
266
597
664
629
766
779
560
783
339
354
840
197
571
600
528
532
97
909
149
606
33
25
335
456
652
293
641
19
882
73
456
493
168
191
192
611
135
194
655
924
244
219
587
643
373
473
928
788
797
711
236
189
602
563
64
314
931
280
818
92
815
253
760
597
533
672
402
966
612
804
447
960
573
687
847
350
500
459
278
722
361
184
537
323
727
757
931
316
247
434
737
176
768
561
169
971
481
354
146
978
833
934
317
420
263
378
419
93
989
262
103
327
171
990
728
11
792
267
517
406
504
190
660
56
505
804
629
428
234
411
996
803
299
591
529
573
598
658
174
299
28
258
833
845
526
881
499
403
446
368
411
493
429
866
375
847
994
302
274
657
63
147
138
824
491
145
794
685
469
723
275
216
376
987
681
836
217
593
76
762
336
256
397
326
455
369
34
780
453
999
925
918
488
513
536
243
216
254
76
521
887
932
641
320
35
892
760
494
357
988
5
692
87
593
885
624
862
157
251
242
646
831
832
982
729
884
326
933
224
37
656
103
744
391
662
978
165
306
459
215
450
457
179
610
532
315
601
461
160
441
436
58
423
340
677
323
408
76
474
538
56
508
436
710
830
784
167
359
256
691
63
414
720
558
115
472
199
680
516
889
732
649
389
31
518
534
817
563
495
615
679
817
154
246
501
138
93
458
637
595
546
132
625
592
685
915
480
743
35
572
32
822
719
131
141
724
589
5
782
161
512
260
526
247
218
326
931
203
151
755
675
191
688
72
89
653
982
366
877
623
393
51
420
166
157
116
44
499
515
294
22
361
981
773
890
871
813
493
858
494
55
595
718
687
672
301
662
475
445
353
865
521
263
154
500
196
367
923
110
803
939
503
905
376
126
940
585
393
222
592
774
381
304
308
2
569
991
197
435
721
425
571
243
776
748
951
578
189
589
417
607
703
61
158
965
837
820
839
275
532
555
241
96
267
105
722
785
432
65
216
256
912
368
862
576
634
805
842
632
302
876
716
895
672
683
328
396
485
791
364
620
617
106
761
968
96
886
487
802
388
901
630
853
743
643
364
971
469
216
112
741
703
224
153
517
626
503
985
800
110
64
991
684
436
957
349
329
105
61
667
990
727
22
515
203
647
611
900
111
259
828
729
776
950
966
480
543
211
657
621
185
744
670
805
587
335
836
511
215
830
41
569
450
834
630
992
157
618
955
630
528
306
27
402
331
621
405
328
160
335
517
108
214
107
588
765
407
568
225
732
324
362
495
824
663
342
25
717
311
274
255
943
135
214
479
876
909
195
707
913
508
962
731
818
697
296
953
225
335
895
714
406
822
850
867
723
956
548
276
618
128
175
811
602
3
110
99
487
355
181
33
998
780
139
519
985
343
728
499
708
76
427
608
12
405
257
133
802
216
74
140
886
311
394
717
144
386
118
295
966
543
497
930
96
552
288
215
316
753
333
264
922
508
731
782
542
607
364
820
668
862
776
230
212
424
329
192
519
7
82
441
485
307
101
967
932
384
741
64
860
671
995
540
36
578
174
793
178
359
25
263
88
51
908
431
281
763
775
150
990
578
542
611
965
630
870
626
149
654
524
265
120
479
248
69
195
458
524
229
215
803
676
123
322
155
528
576
506
481
237
26
278
584
956
560
621
74
733
435
267
650
397
261
417
942
213
498
293
953
796
320
242
346
81
145
702
466
167
360
19
957
502
853
956
308
171
958
772
468
46
360
889
913
136
288
505
210
794
77
993
146
353
795
566
972
345
172
469
171
733
508
912
422
452
585
96
114
153
868
886
842
226
440
164
828
72
169
435
61
121
609
999
308
254
985
893
801
167
411
851
561
676
198
724
827
137
675
163
967
955
480
882
610
627
674
487
460
877
352
670
400
240
652
575
50
853
182
248
900
341
940
404
500
397
726
182
966
85
897
162
220
943
89
689
6
674
162
465
652
598
212
448
4
56
966
316
721
647
245
157
341
517
477
587
143
912
427
189
850
876
423
33
639
270
331
37
768
241
490
120
359
944
588
397
522
526
217
168
70
375
456
72
512
199
386
599
895
758
846
64
327
956
149
296
678
596
662
518
73
280
369
348
244
825
581
398
721
102
922
698
143
364
627
48
674
7
945
461
635
161
151
30
956
703
268
947
12
68
88
884
720
701
523
630
516
133
598
703
982
420
658
617
438
134
456
671
775
177
858
352
176
442
809
955
128
751
97
602
315
539
151
595
567
505
823
986
20
783
642
292
47
249
501
548
309
241
133
231
504
316
13
185
982
679
499
341
436
548
151
898
284
42
154
631
214
159
681
183
583
995
861
497
18
675
735
49
619
375
198
153
604
410
502
447
136
620
284
561
302
180
468
129
923
515
648
531
938
230
681
197
597
834
340
859
603
551
798
878
644
715
645
671
433
76
878
280
553
843
30
352
844
439
187
150
68
774
162
704
879
263
475
918
866
993
142
242
612
184
484
522
223
521
282
758
770
70
670
811
449
165
73
551
1
135
369
521
164
737
183
980
469
910
909
108
696
832
607
204
706
279
391
960
166
987
333
296
876
37
144
739
53
307
142
86
904
666
76
896
298
896
388
405
126
312
424
611
233
660
892
603
392
135
625
688
904
335
299
512
804
520
319
167
576
805
523
215
500
839
693
678
472
44
127
301
179
729
682
808
55
275
768
468
273
80
746
986
395
170
61
647
958
213
227
681
425
165
481
13
421
931
506
909
135
244
151
562
59
416
461
327
15
750
661
109
541
171
970
443
274
73
238
887
904
469
426
691
669
283
926
117
107
12
523
414
962
59
598
210
731
759
791
1
328
467
947
483
729
131
620
722
260
451
793
538
427
49
764
6
757
99
337
708
181
506
557
201
877
17
222
193
378
648
341
76
917
402
499
807
702
544
825
587
805
640
889
455
842
132
389
672
481
513
928
755
65
18
542
105
338
344
872
439
338
113
55
669
998
666
475
424
911
297
471
167
1
246
998
714
555
567
14
52
193
541
64
505
860
390
115
682
860
929
229
157
285
201
44
473
923
288
367
918
884
272
400
481
733
749
253
544
870
381
432
163
269
731
936
216
460
27
436
354
796
556
782
388
669
106
719
720
275
249
292
473
978
287
862
205
81
352
58
502
50
531
272
253
830
824
474
156
931
463
269
810
367
370
64
810
394
548
184
388
202
775
538
494
370
291
213
698
972
76
944
897
626
908
17
640
702
660
522
832
128
172
301
644
934
605
130
787
758
405
867
654
11
864
358
467
312
808
867
267
87
112
675
471
957
597
266
792
635
345
251
486
570
645
724
254
533
557
291
668
633
592
414
608
12
79
9
75
621
621
497
688
11
416
602
323
40
375
245
660
766
659
832
833
560
700
52
990
652
808
93
346
904
190
823
209
601
583
55
562
430
724
482
981
639
562
274
87
568
472
572
261
340
717
354
50
560
53
203
546
255
697
549
53
152
827
834
491
610
423
902
345
183
510
609
425
827
837
291
358
241
572
266
513
671
881
990
12
810
133
823
605
66
46
623
416
585
309
562
25
890
67
598
882
885
213
24
832
297
592
412
370
325
70
14
314
359
922
423
787
201
152
858
737
93
135
959
758
230
495
393
623
157
190
873
784
594
601
431
68
789
841
911
921
462
575
681
880
758
431
506
371
399
420
382
544
408
922
863
646
358
434
114
297
81
713
436
181
175
920
542
819
465
104
183
550
729
668
73
324
687
477
189
679
213
916
670
56
177
518
533
698
179
738
302
471
624
83
518
333
291
82
778
618
563
516
602
966
948
903
952
492
403
522
680
783
222
100
528
373
936
914
545
633
768
217
967
432
637
815
664
496
652
114
221
109
299
164
626
722
245
64
294
42
810
580
874
405
643
984
862
565
120
947
577
570
255
756
433
45
696
277
779
40
513
844
809
573
20
695
153
143
861
670
807
781
927
629
10
650
455
450
505
815
840
533
399
584
255
446
480
705
194
722
422
806
421
846
791
693
610
159
129
504
209
729
690
248
606
272
602
1000
772
815
298
814
914
134
99
505
557
964
730
549
683
580
350
725
210
636
426
582
141
111
403
453
186
744
647
543
497
648
599
552
463
648
404
410
144
482
563
971
56
203
285
914
462
989
309
683
252
106
931
45
777
956
835
692
732
967
149
414
261
593
807
507
23
841
895
499
843
557
213
729
939
150
614
41
422
585
84
632
949
224
684
105
926
553
651
902
638
904
949
587
38
50
558
911
700
924
569
174
618
806
982
187
118
19
692
38
132
537
785
956
484
974
675
774
646
57
51
918
609
71
842
352
164
735
630
640
862
631
29
118
390
620
549
215
916
627
388
86
185
831
398
85
819
546
200
68
295
23
63
159
569
995
677
395
135
39
415
643
622
721
6
251
681
55
820
200
999
28
101
895
784
808
576
359
935
782
819
285
439
753
652
303
225
476
625
880
822
201
337
430
709
42
937
625
137
806
657
342
566
391
647
414
586
953
681
145
338
867
552
519
1
892
75
214
872
84
685
781
940
707
523
814
590
848
787
571
308
434
864
212
776
128
401
791
791
924
83
195
801
269
329
433
664
283
489
118
458
919
451
468
760
962
718
894
843
373
127
91
677
834
414
549
440
279
679
578
486
844
699
266
361
936
691
281
528
57
803
31
890
616
124
539
80
191
459
299
777
638
457
507
936
964
931
316
951
135
380
187
229
836
789
984
568
734
743
178
13
990
792
435
591
596
773
903
434
610
493
679
308
528
783
355
519
815
426
996
469
124
874
606
898
808
1
955
982
143
348
616
8
95
446
206
318
573
849
110
563
829
440
437
74
102
441
530
372
636
273
149
357
937
134
346
778
490
662
129
918
196
582
243
277
476
581
787
213
312
948
940
129
518
722
727
817
166
171
683
992
409
443
212
866
910
131
660
899
718
325
420
444
675
434
874
115
422
693
622
116
627
823
229
681
316
722
685
997
88
447
865
695
568
985
550
66
654
467
993
632
975
562
563
631
549
753
769
246
759
67
823
126
644
648
959
871
993
210
926
665
863
46
424
154
980
758
760
35
931
264
694
527
171
8
234
45
671
452
152
981
446
131
107
408
298
528
586
921
860
8
278
590
435
878
149
167
162
410
218
292
791
302
972
404
684
651
411
497
717
956
975
619
427
63
964
254
94
264
624
335
433
911
772
626
261
58
666
696
757
614
887
479
944
407
106
696
643
385
989
41
380
902
950
99
728
649
90
393
108
366
481
868
340
855
882
336
132
233
85
137
257
545
364
301
397
86
900
35
468
795
644
218
812
91
808
907
801
388
59
548
245
312
537
742
486
337
16
866
233
157
893
852
980
614
185
703
328
419
396
97
650
204
949
557
315
685
828
226
132
847
255
250
741
67
481
112
461
82
252
62
470
515
102
946
289
449
372
313
220
195
826
693
794
969
735
316
289
663
603
342
82
272
43
892
920
840
892
777
202
964
331
848
31
1
640
299
69
124
242
120
239
296
824
107
899
24
711
488
414
514
63
295
989
439
201
43
197
98
74
154
908
173
890
843
204
639
5
837
446
647
451
413
863
341
884
688
899
671
319
39
103
191
741
784
515
764
592
7
335
831
137
487
194
635
959
236
447
362
150
69
769
681
302
962
766
569
66
693
447
627
857
410
189
313
300
318
245
660
94
630
948
64
330
315
507
683
696
908
703
836
638
857
824
538
294
454
941
980
953
373
950
318
841
265
867
610
300
622
539
140
777
362
256
617
625
189
787
972
375
803
968
532
30
452
314
398
923
179
87
719
865
320
857
422
616
485
889
630
216
290
624
675
327
565
93
120
551
637
378
649
630
551
110
58
536
767
581
800
735
963
235
717
310
51
194
661
224
415
4
681
716
687
949
304
725
75
158
276
273
379
185
775
937
338
933
728
907
905
579
369
627
353
628
575
695
856
353
851
514
364
651
40
171
101
779
984
174
9
520
372
932
794
91
990
363
31
499
390
582
944
99
799
400
51
852
709
286
882
122
187
512
350
905
395
437
152
48
200
273
826
376
44
219
635
615
436
546
549
689
501
84
956
240
81
561
598
216
727
413
480
978
796
32
97
662
552
865
439
454
823
447
634
54
288
215
995
825
919
939
484
28
450
665
292
134
989
372
313
379
77
928
790
619
525
539
284
88
381
580
445
807
214
622
755
268
722
473
525
495
338
299
975
745
137
200
108
924
811
153
470
235
927
914
586
750
986
265
39
309
16
996
694
633
580
152
528
621
100
347
894
521
345
426
826
98
797
334
145
978
327
837
741
39
308
646
366
123
852
575
688
351
309
588
149
16
583
996
374
364
75
580
513
579
268
151
884
932
72
878
753
371
42
766
872
786
499
792
691
817
400
576
754
338
527
914
869
703
194
145
103
398
212
134
492
40
281
576
658
507
340
455
174
608
671
749
625
847
665
877
778
780
304
988
197
930
301
883
910
446
800
299
473
529
249
274
864
124
818
564
189
557
289
391
69
591
863
357
959
841
745
990
341
613
678
253
922
14
832
279
482
607
562
791
1
974
609
900
46
319
249
478
176
610
742
868
295
850
191
481
463
769
589
739
677
603
374
900
515
652
335
527
347
1
20
767
22
114
167
131
554
38
793
169
346
558
731
311
934
13
377
130
46
396
347
463
15
16
523
163
248
270
740
717
476
999
949
614
1000
502
258
139
973
529
691
217
75
471
824
42
572
531
776
485
865
875
106
686
100
625
328
840
321
98
647
873
952
876
466
630
84
115
943
229
170
40
619
419
263
664
702
169
826
650
107
196
515
634
779
828
36
504
110
412
363
869
522
474
123
405
389
960
921
860
519
176
760
227
367
529
454
20
977
734
125
636
435
943
460
498
238
163
378
57
601
403
178
752
147
226
3
713
838
764
713
329
283
804
822
816
746
247
209
549
277
109
735
248
402
227
719
75
709
25
472
310
490
998
737
556
322
78
929
374
96
650
531
803
547
821
866
515
768
457
726
212
563
640
38
462
709
430
801
385
403
267
45
443
213
906
435
162
815
497
463
759
715
348
869
509
895
903
47
175
57
721
716
986
709
546
62
447
845
111
888
737
408
970
46
579
999
471
578
220
561
988
544
636
869
636
456
121
701
24
632
198
522
9
521
181
324
58
260
781
74
564
273
862
825
400
739
817
167
43
138
92
114
860
893
18
964
520
317
521
891
44
715
204
273
700
489
8
830
821
535
935
658
612
40
289
156
214
40
524
663
585
744
43
345
253
665
261
495
658
80
797
952
536
183
936
794
812
594
397
786
536
520
988
348
666
1000
981
940
924
112
862
861
542
933
683
394
406
354
412
147
37
537
502
198
872
935
427
359
494
309
62
463
859
106
606
107
22
879
209
644
597
202
583
602
955
645
662
869
173
944
811
159
901
454
159
284
557
340
404
700
768
729
821
669
539
222
262
98
415
748
684
799
821
735
60
491
822
973
608
297
802
315
935
925
926
630
13
963
811
962
958
930
515
942
163
825
823
862
714
910
821
709
939
387
906
654
574
439
716
154
323
824
948
894
499
851
649
205
40
105
402
520
447
709
714
649
64
290
94
362
723
44
506
833
954
480
346
7
853
459
648
824
225
165
947
558
806
464
143
222
198
955
727
104
660
661
935
42
54
934
771
931
31
643
330
338
42
125
528
794
853
707
179
508
38
804
337
792
344
766
944
437
933
650
149
645
233
49
73
918
539
968
454
427
584
470
301
29
973
488
685
54
799
779
788
372
736
447
626
87
633
844
229
374
937
977
577
627
301
687
344
60
362
15
315
387
2
145
372
981
358
233
111
208
468
253
483
218
738
714
316
593
328
719
240
641
148
389
300
52
416
115
516
851
623
437
750
304
310
624
494
473
278
166
611
645
726
483
668
730
345
102
170
28
563
463
965
485
7
269
70
660
706
14
405
152
749
908
272
157
903
928
921
171
162
122
217
570
316
643
255
974
435
172
733
827
553
545
61
603
965
435
436
392
286
875
611
418
807
244
652
187
777
128
758
567
919
100
140
89
891
25
30
142
409
9
107
546
440
444
31
201
234
915
324
106
919
922
510
78
75
472
324
927
996
576
764
660
317
652
980
554
302
574
266
550
375
917
964
513
394
505
655
303
796
946
873
542
929
276
488
150
857
160
20
481
421
385
407
892
612
522
185
149
134
691
589
889
598
371
824
738
960
42
660
316
652
249
517
541
358
376
437
117
551
990
674
49
683
161
158
332
431
533
759
735
491
273
87
715
191
217
569
59
659
697
653
830
334
534
318
507
382
649
488
48
967
585
561
710
402
983
51
110
899
723
218
941
34
5
684
200
53
121
219
551
832
47
293
686
656
264
549
127
968
427
5
968
895
581
700
446
667
639
479
103
18
734
799
501
266
908
745
130
67
273
948
174
743
459
723
280
718
670
527
332
789
117
822
484
920
956
491
423
755
101
251
868
300
451
920
848
68
131
943
152
538
331
359
681
927
196
240
128
162
12
696
516
380
620
733
656
490
601
615
518
107
264
888
830
646
888
884
954
486
994
376
266
887
627
999
768
786
775
228
670
680
92
959
1
556
1000
229
115
236
150
182
99
549
919
178
710
474
325
841
420
765
284
929
580
597
613
136
482
441
574
331
332
762
17
263
754
67
403
491
441
538
51
120
51
770
991
979
217
100
699
994
819
639
797
888
301
397
566
773
866
828
684
881
838
709
210
432
349
512
223
627
781
338
892
826
56
41
18
266
978
370
236
57
283
863
134
805
983
713
532
924
871
47
21
575
764
879
676
247
190
499
528
162
723
217
981
61
120
192
883
440
723
536
346
962
348
1
743
612
29
355
532
130
506
963
680
402
353
201
512
783
967
58
720
776
417
701
163
90
353
835
794
870
721
389
755
821
44
464
213
986
430
462
7
234
238
52
542
817
571
924
670
987
380
301
462
295
948
839
901
85
997
834
516
707
463
637
895
128
232
791
821
962
769
693
523
396
650
501
128
172
420
622
971
519
104
331
842
930
957
11
602
766
702
35
856
923
600
535
540
224
199
192
321
796
464
670
718
370
345
556
709
391
492
452
366
824
998
407
793
763
515
4
185
299
57
234
388
622
122
768
697
999
498
327
991
84
268
670
505
18
92
120
661
895
785
657
451
477
580
354
762
493
241
321
916
437
367
404
440
588
797
575
740
852
37
349
929
123
12
569
516
87
239
603
70
780
759
320
226
756
736
220
630
418
680
757
474
922
683
168
321
88
853
135
801
901
424
183
593
524
607
31
813
223
359
22
591
246
646
371
112
481
688
195
881
678
920
209
284
124
77
521
808
922
916
193
405
438
550
70
594
78
288
953
825
246
156
344
552
270
8
841
211
94
212
765
19
746
466
746
88
944
175
805
872
726
190
940
359
639
440
345
746
872
111
158
561
670
620
91
314
535
551
365
820
994
101
125
238
161
363
929
768
950
929
932
661
524
896
147
888
522
335
481
355
650
701
335
49
471
427
186
873
606
180
940
191
118
880
844
341
526
566
374
426
782
653
860
735
529
951
537
28
151
37
367
763
428
251
233
46
110
594
50
718
358
312
929
548
776
777
770
910
738
564
573
709
790
295
313
541
197
909
425
255
103
501
853
145
360
763
103
980
803
382
954
941
650
433
314
346
734
933
196
723
485
251
960
380
935
967
756
151
523
142
588
381
165
671
528
551
851
552
390
157
41
452
615
587
256
908
203
786
545
870
270
423
981
48
227
146
931
726
620
238
601
275
402
687
301
578
761
199
921
989
675
204
361
262
45
266
37
44
584
577
132
209
653
441
956
275
892
733
642
599
775
312
419
871
220
312
855
672
986
19
820
500
870
777
364
727
652
7
370
392
329
947
624
631
435
158
895
775
120
211
727
863
251
197
912
363
997
891
9
420
238
452
892
812
658
505
992
119
584
364
828
316
451
909
437
98
293
331
529
783
786
570
537
572
217
766
269
244
180
442
496
145
938
486
689
448
183
193
39
220
332
774
99
796
609
771
607
315
902
755
572
50
791
544
257
338
199
923
476
497
827
504
551
115
931
956
335
480
1000
273
932
726
579
163
170
488
858
900
371
448
598
188
713
215
637
686
305
356
556
828
125
280
993
524
124
885
773
84
141
520
258
501
742
903
293
801
752
37
662
734
7
90
287
518
852
426
236
693
977
684
206
389
464
864
362
497
337
887
262
277
470
971
151
911
462
484
81
410
953
634
140
45
907
474
611
181
590
214
983
985
340
773
596
982
697
813
119
851
190
274
229
167
848
521
604
12
521
828
787
520
210
826
579
451
918
942
349
828
973
613
70
524
380
241
927
441
534
422
87
586
520
5
575
908
333
893
218
240
561
322
338
76
462
576
182
182
922
658
91
251
472
533
56
894
398
905
627
286
1
399
105
662
212
193
552
716
125
839
462
657
452
34
845
293
578
572
80
87
669
579
139
542
232
381
680
625
653
58
76
205
481
801
654
634
653
689
303
669
432
392
117
904
565
614
950
764
35
787
578
901
860
663
672
522
554
937
937
767
258
999
580
785
24
220
744
546
440
927
647
746
586
356
965
397
294
450
427
815
843
289
670
758
480
342
159
403
640
470
384
715
329
807
591
493
895
215
38
61
343
14
115
121
403
60
734
780
823
73
28
114
723
299
784
949
382
233
15
708
576
115
717
286
374
373
186
909
377
996
233
853
506
70
238
711
801
350
292
626
150
805
582
524
530
502
794
940
119
107
518
444
577
493
583
45
946
680
786
208
821
363
694
245
911
819
80
965
663
840
82
382
353
667
347
211
938
606
274
633
26
102
966
515
473
583
650
877
533
325
132
887
949
886
327
96
82
432
26
911
952
404
825
576
116
530
603
2
358
153
997
877
557
191
90
397
450
844
924
812
705
303
508
752
408
341
715
935
44
614
817
451
74
930
452
264
495
521
506
988
120
575
699
232
862
898
714
51
37
588
312
106
510
33
214
146
568
395
495
357
534
947
838
900
491
311
306
730
943
670
183
385
897
507
76
983
626
263
668
98
348
603
448
558
121
638
292
432
574
542
987
652
454
482
654
785
590
694
574
434
575
822
81
636
383
346
43
399
148
56
946
231
569
21
752
93
728
471
497
724
652
284
76
698
584
576
793
887
792
979
991
219
693
784
570
769
221
60
237
250
675
245
120
892
698
445
754
580
686
892
520
866
655
568
342
97
534
988
785
535
920
564
771
753
553
730
784
6
178
247
775
568
987
713
2
182
537
316
655
914
910
303
467
669
869
470
438
562
959
215
449
150
812
342
809
235
390
855
727
615
572
444
255
658
225
222
549
40
924
542
150
336
519
420
576
387
63
131
722
557
13
86
425
37
183
949
116
343
685
278
616
20
947
690
12
362
981
626
32
653
232
362
492
11
735
802
194
453
792
939
132
182
55
602
965
434
743
260
517
435
684
196
485
155
5
333
625
573
625
345
442
128
99
474
811
850
26
633
1
455
946
965
325
312
612
25
966
801
560
138
588
998
174
285
27
73
778
87
669
997
891
70
154
414
425
404
680
591
501
746
481
372
556
647
48
986
584
222
257
364
673
430
855
349
499
355
700
801
56
348
722
163
710
740
836
468
605
131
936
119
555
905
650
55
841
726
772
41
703
252
134
915
958
212
228
584
833
255
69
444
64
747
618
690
292
747
610
673
22
955
740
43
770
331
25
957
513
428
572
5
240
212
150
849
238
289
703
781
697
23
409
546
389
967
955
797
458
413
464
509
786
622
902
520
53
479
850
113
328
902
255
228
964
323
146
459
656
943
297
448
734
290
553
696
157
792
845
65
225
694
917
472
721
696
446
333
36
71
569
375
888
902
743
276
349
272
541
484
280
924
241
222
727
937
988
378
458
428
925
453
641
156
921
240
607
179
425
214
721
371
553
892
692
722
697
567
32
805
865
900
973
705
428
824
871
992
207
87
24
54
606
558
861
186
31
97
667
387
990
420
374
713
66
841
438
380
406
254
525
566
547
963
503
974
98
252
289
790
306
678
159
636
581
127
488
456
811
598
309
67
709
556
671
280
495
408
575
54
908
371
165
187
954
507
913
382
787
239
810
371
832
977
907
987
581
823
151
644
498
489
112
773
132
654
96
133
824
21
105
767
375
212
330
631
670
483
130
539
515
948
983
137
883
633
490
72
375
235
338
395
910
875
67
486
609
496
582
489
353
829
633
319
740
976
892
781
39
756
831
266
229
921
351
751
456
228
974
572
31
142
483
541
612
642
66
487
359
189
412
250
673
436
673
474
581
649
928
282
946
147
558
86
496
287
970
296
45
635
206
693
418
24
294
563
321
121
642
479
784
991
358
779
895
883
194
393
245
147
676
632
858
731
82
974
448
203
180
674
491
619
980
223
959
827
341
310
572
13
956
959
40
385
82
931
116
875
427
321
233
700
743
520
105
375
16
354
969
560
626
262
79
697
473
844
639
973
885
961
628
554
41
839
852
406
780
328
146
268
912
517
828
489
564
422
421
536
680
345
143
929
526
812
890
244
918
692
259
627
962
246
637
932
284
321
583
215
76
892
483
795
805
443
975
537
110
436
727
306
218
261
940
768
198
607
395
850
529
164
939
204
716
907
52
963
172
14
550
925
168
619
534
52
424
197
410
844
847
378
167
700
956
353
164
863
821
865
305
924
681
978
876
136
985
417
282
2
279
314
592
674
225
610
93
729
57
198
39
778
940
119
397
207
23
811
646
36
463
390
674
553
334
486
347
884
129
943
611
118
502
16
888
954
31
349
56
86
7
118
574
708
716
178
117
580
211
8
678
92
349
476
240
609
714
231
963
199
117
566
355
508
557
194
22
182
882
230
406
693
901
71
404
894
368
562
861
879
90
998
717
17
381
61
31
103
233
753
177
636
857
742
274
172
710
321
305
527
730
334
427
405
234
43
732
628
916
856
32
770
373
265
318
434
910
131
208
790
673
657
35
317
781
22
234
824
775
639
336
989
578
463
182
595
179
582
951
614
413
567
186
63
532
717
331
297
754
370
168
32
606
915
185
941
679
14
116
70
345
783
825
716
127
413
238
635
630
726
274
614
404
709
571
510
657
933
342
845
471
67
889
899
78
430
127
52
779
601
981
819
289
652
659
587
673
503
635
633
512
192
617
330
635
652
911
846
576
663
365
801
879
268
531
524
530
842
724
547
81
408
476
955
483
534
216
33
248
356
115
404
326
812
727
544
7
204
443
85
215
573
788
824
825
179
283
717
975
592
950
439
942
516
500
260
808
474
938
112
20
925
590
710
958
210
558
505
789
958
206
65
216
243
559
204
208
819
465
813
429
226
901
873
907
426
113
574
382
896
143
837
935
772
871
739
721
746
910
568
73
882
570
238
798
414
635
818
246
926
872
784
584
961
46
384
792
281
695
224
53
480
96
749
615
596
639
836
668
696
298
80
483
155
28
718
872
482
667
329
1000
105
375
593
737
489
733
416
18
325
361
683
138
281
325
743
503
12
668
484
133
683
92
519
133
266
233
572
408
252
951
633
144
237
769
801
964
40
944
78
194
621
620
499
411
97
189
143
257
578
299
536
541
370
889
879
834
348
279
367
44
926
614
562
983
128
874
424
549
689
302
160
948
20
287
455
344
101
693
27
397
77
166
696
455
387
147
312
553
770
241
960
956
359
57
833
726
416
880
38
660
919
321
397
13
372
643
995
593
702
561
802
201
38
166
252
882
519
65
13
123
980
958
546
969
550
653
251
5
722
948
136
279
428
915
979
559
997
847
886
741
674
545
30
848
524
685
57
818
142
711
358
194
597
75
947
921
391
680
154
646
53
57
738
370
187
151
314
773
394
597
145
286
529
1
503
817
150
72
757
56
902
402
292
452
747
321
164
278
665
522
117
691
456
105
240
317
753
255
42
699
215
41
200
880
131
700
566
530
372
359
277
237
657
336
966
65
656
52
160
999
291
107
903
665
922
255
528
592
829
866
299
311
472
938
315
818
579
900
698
247
5
241
552
148
655
471
625
401
493
35
915
650
823
599
659
102
540
536
330
686
70
542
225
857
12
70
256
776
320
660
330
214
9
293
505
277
972
651
748
980
459
481
711
767
196
345
371
308
896
690
822
284
144
512
731
432
225
902
210
803
525
407
925
56
514
448
280
613
198
994
432
683
126
335
682
472
723
60
560
389
733
271
488
694
43
686
510
819
15
493
955
561
712
759
300
426
98
718
728
702
366
513
31
215
32
813
606
336
345
277
235
517
848
994
225
521
641
903
301
568
11
658
278
809
615
585
207
896
317
170
130
941
144
3
44
803
518
183
947
493
121
32
91
451
248
332
698
596
504
444
399
328
40
381
645
146
310
326
148
105
482
148
185
137
261
166
255
164
821
806
150
5
984
814
963
310
556
368
946
150
950
780
419
433
835
470
119
2
583
565
463
155
688
747
239
304
201
994
116
708
414
419
189
478
730
752
522
589
660
892
242
244
359
579
312
733
6
476
529
874
554
837
643
254
92
537
767
719
129
396
387
997
596
673
354
922
272
58
226
435
617
746
196
446
730
964
622
679
254
847
889
815
551
706
914
616
441
535
105
219
81
83
26
451
336
920
299
869
132
722
523
163
809
429
113
751
494
12
1
652
835
346
68
175
227
74
57
602
852
433
428
757
397
691
323
312
361
245
338
736
189
451
299
29
343
942
601
769
571
516
974
552
281
704
708
592
939
751
487
117
837
66
988
201
406
166
290
843
495
757
984
438
678
866
576
249
708
886
422
140
681
982
950
625
360
540
392
226
362
276
575
256
585
138
588
386
358
391
296
794
255
122
744
255
438
938
468
272
675
814
605
220
902
890
482
550
296
515
64
254
368
979
224
200
489
198
319
419
613
69
959
107
689
351
167
945
403
687
376
297
452
824
798
4
483
197
785
770
232
747
700
604
144
303
696
361
922
860
539
226
71
849
279
873
464
834
135
105
357
118
440
45
87
415
877
299
898
91
494
78
949
471
223
949
568
367
685
774
269
279
106
357
860
709
31
541
214
628
404
791
924
420
240
781
119
579
801
160
162
997
680
443
828
950
673
944
825
786
644
751
204
872
856
35
271
586
397
376
124
993
404
379
821
403
745
583
489
154
718
557
386
831
110
102
68
637
630
713
285
740
358
766
217
297
338
462
937
251
858
168
772
176
280
679
350
193
513
863
681
419
323
308
587
506
761
888
152
583
877
593
621
287
772
611
392
669
796
367
274
445
328
187
225
451
184
301
150
174
142
137
138
946
464
255
751
686
585
812
562
105
321
121
185
934
63
782
440
40
396
808
163
258
546
395
373
400
823
268
189
179
972
44
906
698
998
688
136
790
515
898
746
688
166
271
625
453
967
130
972
120
711
228
884
753
711
901
524
456
249
879
15
935
31
622
543
376
897
22
840
250
737
268
332
154
326
948
762
947
356
758
28
251
452
749
302
855
370
670
244
682
905
826
251
754
238
823
268
17
607
729
604
11
194
471
596
69
96
722
709
171
59
159
859
629
449
731
300
471
555
481
446
811
920
559
344
473
852
284
369
846
649
508
874
292
354
68
174
404
73
822
244
97
942
621
951
782
883
572
464
879
172
136
733
533
650
894
558
653
174
350
851
374
482
715
110
585
222
464
34
450
323
373
432
731
227
864
306
288
766
757
19
352
639
914
988
26
476
885
227
13
496
344
345
742
605
41
348
914
600
994
685
974
800
883
498
180
73
943
971
755
673
161
11
41
772
287
217
750
843
933
248
128
299
86
256
326
916
435
4
339
602
251
649
633
16
989
947
973
400
386
812
36
725
604
745
101
925
869
635
475
558
154
827
370
708
665
170
580
317
284
941
707
417
674
172
635
958
437
938
623
962
597
547
714
819
647
466
76
374
629
10
575
331
989
481
101
189
459
507
140
569
840
770
665
322
377
193
649
258
331
905
450
673
496
22
813
109
649
296
525
960
349
254
556
573
72
280
113
499
403
421
169
402
893
420
905
940
236
556
969
615
613
430
643
183
415
740
784
739
65
417
904
971
330
264
849
434
342
347
322
886
515
958
956
869
702
937
678
759
219
481
921
457
811
364
581
704
249
639
717
823
1000
507
695
283
352
11
842
103
409
605
713
543
662
456
765
953
168
549
543
893
968
277
527
866
20
200
400
81
842
120
825
676
12
423
785
749
881
881
168
348
167
772
528
303
581
198
935
424
266
978
373
91
636
307
414
747
148
693
809
124
643
327
160
300
159
138
99
834
525
269
240
311
658
609
708
593
153
320
226
945
716
994
611
4
967
205
979
240
401
736
159
177
594
673
590
109
304
923
474
501
748
415
40
552
188
421
591
631
919
959
422
428
912
227
777
695
630
342
796
399
24
479
757
946
277
620
24
913
668
783
798
355
821
500
150
345
689
795
850
880
852
657
172
641
100
226
216
405
803
542
278
102
292
700
439
574
313
707
881
152
629
140
379
24
33
981
43
217
334
608
686
745
379
19
98
63
804
773
111
562
2
45
590
225
744
433
382
966
2
827
820
374
775
771
584
801
152
187
615
748
405
266
270
524
651
610
137
995
502
434
732
43
169
729
809
60
677
831
175
364
223
756
705
968
206
988
715
530
128
158
976
609
399
203
436
609
60
113
140
909
554
376
943
694
4
567
334
984
885
297
134
172
579
935
839
144
85
76
138
744
52
735
482
860
402
631
625
936
17
729
726
62
376
424
957
83
543
353
550
377
645
851
872
32
790
491
429
168
440
976
664
53
368
900
22
494
693
533
75
685
964
834
375
348
871
370
343
519
1000
658
736
790
959
752
112
150
340
521
314
839
217
221
179
781
326
372
556
228
619
914
265
229
650
879
776
405
103
531
275
314
840
54
228
369
43
372
760
868
372
620
938
223
580
118
525
853
693
439
899
550
701
294
604
337
651
545
433
973
223
565
43
294
119
574
829
516
66
317
218
492
836
655
573
635
462
187
629
936
711
58
759
10
1
459
379
620
137
145
505
497
649
522
804
560
67
430
472
817
138
802
954
365
881
799
792
867
371
839
880
823
302
190
19
768
738
453
942
237
897
279
911
990
490
161
589
506
916
980
128
202
551
266
316
197
502
806
194
676
436
316
763
73
530
393
281
382
150
833
158
838
607
737
674
132
223
503
558
78
987
942
972
371
268
252
605
633
435
539
377
506
715
876
738
897
307
662
643
860
609
158
90
773
351
651
523
630
621
648
503
288
21
861
789
459
661
525
386
85
305
749
164
478
740
221
369
296
350
520
743
944
984
739
949
532
392
899
740
826
929
827
603
974
765
825
637
957
501
442
61
800
18
106
70
619
325
190
703
451
392
359
38
665
259
639
281
455
190
760
259
550
291
716
432
817
801
427
759
879
198
582
683
194
408
472
34
340
613
688
902
357
637
31
347
127
393
916
411
674
677
813
13
228
426
995
210
601
632
987
745
183
290
607
22
420
132
435
388
171
382
871
121
716
469
689
633
557
435
122
137
320
774
97
538
241
556
158
310
726
14
14
940
438
181
394
889
197
819
81
78
742
592
585
641
67
411
877
38
597
892
48
671
967
162
506
815
525
582
570
13
970
539
923
106
744
132
401
694
881
458
30
145
14
191
43
243
180
332
871
173
848
339
726
831
339
305
452
371
436
511
780
511
504
466
999
337
903
497
293
273
797
52
707
443
760
163
767
845
693
905
271
654
664
284
671
482
252
716
758
630
847
131
77
166
154
810
615
214
832
218
809
947
807
508
875
614
297
835
769
377
996
316
840
882
197
285
379
234
822
481
819
509
513
943
304
9
910
668
698
221
239
559
890
846
141
783
411
311
467
423
985
912
374
220
596
88
688
310
76
378
911
30
3
268
672
330
912
499
695
805
443
405
537
97
47
472
469
284
336
675
868
836
961
45
388
952
152
611
15
355
714
81
827
154
303
606
905
992
276
528
373
488
279
284
15
962
984
519
226
505
92
54
339
731
788
528
519
982
309
440
483
306
219
828
277
279
241
14
238
614
248
674
12
568
87
12
257
327
471
937
188
932
71
979
686
808
284
142
54
624
893
998
871
56
985
118
565
985
25
370
503
802
972
706
400
813
663
790
810
143
466
254
300
183
393
387
666
368
432
833
221
995
850
178
725
865
625
398
41
775
944
789
942
252
940
340
803
491
436
525
104
133
486
140
744
402
934
97
220
112
62
89
579
222
584
627
900
977
966
265
804
100
29
723
64
183
304
243
984
203
433
740
619
29
228
226
272
912
606
530
953
192
786
569
655
901
547
287
358
485
296
902
651
623
956
307
751
6
433
290
457
965
495
740
307
63
445
170
777
101
882
683
864
516
184
988
834
805
85
178
207
443
861
771
278
747
191
957
616
261
725
65
7
545
741
19
260
702
66
976
119
574
578
357
329
295
237
242
492
837
522
433
1000
232
614
559
728
380
406
225
607
784
666
619
453
39
287
923
625
644
564
561
201
547
880
626
333
848
12
786
388
249
506
589
275
172
210
366
94
955
120
888
866
140
139
475
652
712
211
560
779
50
588
570
292
493
621
561
952
656
598
272
300
87
597
115
350
390
252
152
465
705
612
305
834
297
982
879
773
74
765
962
744
40
822
448
603
34
810
206
80
656
287
422
912
909
109
208
369
932
793
424
133
182
68
12
606
553
802
311
801
219
848
496
858
425
120
752
117
90
412
801
416
802
13
158
952
740
201
822
593
126
76
182
36
24
986
571
541
716
30
234
306
402
714
524
692
704
869
723
655
277
375
255
693
859
33
987
582
276
217
954
946
198
538
113
464
981
833
666
117
525
234
103
449
878
943
316
221
298
615
101
209
544
906
867
158
461
864
625
32
348
277
187
808
136
53
26
3
181
943
459
34
330
675
618
252
980
657
211
240
41
933
193
514
77
5
306
307
408
465
882
492
626
118
468
57
804
429
555
743
651
672
179
576
20
120
228
105
455
981
25
36
918
552
190
874
440
237
828
863
219
675
788
244
581
185
150
370
308
157
90
720
92
803
979
215
198
900
889
531
47
765
716
308
57
725
735
236
973
765
756
9
938
895
973
54
686
973
273
757
607
407
981
624
893
198
30
466
606
219
67
200
327
545
294
330
964
850
740
516
435
626
196
870
178
23
302
811
882
614
105
362
379
276
969
742
407
701
870
996
808
716
990
188
781
761
982
376
19
346
452
175
901
261
18
243
430
640
746
410
281
721
927
507
135
283
888
164
468
293
4
977
107
271
159
495
137
223
625
386
206
771
774
43
906
289
75
579
609
440
521
891
126
481
66
980
584
118
600
228
163
493
754
698
733
68
99
801
953
826
354
886
112
195
829
394
845
543
679
216
861
923
463
831
999
988
184
585
247
638
193
227
852
12
352
416
260
901
364
484
448
515
497
155
158
825
779
272
613
341
323
858
611
320
658
975
275
843
814
935
321
116
421
351
440
660
295
464
288
737
791
883
586
504
739
648
94
872
892
68
502
17
656
307
865
785
322
130
838
988
145
491
792
734
394
894
895
491
939
609
369
526
8
804
407
738
532
661
735
677
857
340
348
701
705
446
765
826
933
298
32
801
59
862
801
334
526
701
20
215
353
658
183
254
188
293
611
612
759
251
952
84
358
893
927
346
352
470
386
990
608
66
871
434
418
348
259
416
721
867
473
848
410
314
966
262
52
638
392
934
643
405
910
57
885
103
598
4
53
365
792
797
736
243
500
406
597
730
708
378
821
692
39
612
142
280
184
798
124
640
520
143
910
462
557
557
801
492
201
359
813
643
335
928
855
748
898
443
273
317
438
22
294
875
147
95
337
620
464
830
237
121
675
773
197
775
368
660
666
550
199
501
414
320
209
654
782
748
839
567
460
240
852
295
180
970
646
649
387
363
766
106
291
690
27
173
717
639
325
935
798
818
77
957
883
152
250
524
996
45
100
441
796
995
76
289
281
81
819
44
384
359
813
462
249
751
73
465
167
450
166
57
93
203
988
969
217
110
986
302
264
713
918
955
79
239
829
485
603
817
659
374
475
386
768
382
403
771
719
768
890
133
867
690
92
564
645
19
360
119
945
145
523
989
699
71
52
829
531
255
52
489
387
208
456
507
158
807
869
788
610
659
288
805
387
599
298
527
467
613
422
32
200
44
12
405
976
911
438
122
674
604
371
560
222
994
620
677
54
198
349
179
717
891
481
696
651
28
745
568
980
306
156
866
174
504
646
182
616
98
232
515
429
171
337
349
404
712
859
597
495
839
132
668
167
356
218
320
795
322
814
334
454
979
678
285
692
481
651
864
277
349
228
240
518
473
201
975
459
779
10
821
166
403
351
589
330
305
39
889
652
796
298
219
805
372
447
326
281
567
441
205
120
315
816
409
321
403
381
562
729
199
455
117
325
758
485
402
145
810
688
986
493
859
725
190
738
855
480
383
724
422
752
311
763
669
6
306
246
980
405
691
132
969
970
65
980
29
117
453
711
482
769
482
16
386
920
862
144
466
834
441
860
460
15
22
491
450
727
931
339
340
102
92
190
733
821
923
313
904
938
989
115
436
663
708
581
340
828
823
742
179
324
555
636
785
993
553
714
655
350
798
152
991
44
602
297
682
116
725
362
198
1
415
515
509
684
869
708
643
574
208
978
440
500
579
409
374
656
383
674
74
487
973
852
301
242
363
237
710
400
643
943
658
227
815
476
721
495
716
808
300
787
526
171
943
866
152
499
511
314
390
403
387
16
372
593
254
85
270
958
816
508
590
829
27
157
710
552
994
765
466
177
770
165
735
904
656
360
929
990
474
993
238
933
502
375
303
123
439
532
674
594
759
661
81
175
350
963
68
116
120
83
967
231
587
290
567
674
104
73
58
778
465
71
19
752
147
93
262
652
304
558
330
729
960
814
333
197
534
696
573
448
971
116
122
2
235
699
100
787
891
225
916
879
800
151
136
512
706
580
974
964
648
841
600
924
654
257
628
98
162
795
135
62
972
24
554
871
267
201
590
499
486
386
89
977
341
196
444
989
320
161
689
784
372
711
900
484
296
459
913
245
546
841
650
296
809
119
527
559
678
442
541
419
243
953
604
228
179
906
636
288
216
362
727
392
473
335
402
479
213
174
663
593
42
562
15
138
401
776
112
368
529
724
29
148
687
871
407
309
573
349
880
303
308
446
268
483
290
166
983
15
508
783
983
366
604
87
394
315
114
593
611
668
817
72
283
177
38
607
100
720
129
843
709
426
29
201
401
288
8
633
428
756
213
896
964
981
600
451
723
623
226
806
221
639
595
552
505
34
989
376
919
339
239
80
158
502
429
975
412
931
397
79
876
692
689
199
294
227
867
351
480
509
641
947
957
256
351
838
948
675
737
612
965
222
763
511
149
40
512
962
335
50
812
962
525
159
287
555
110
687
24
151
695
906
861
755
818
534
622
28
240
136
258
691
688
652
965
977
134
667
829
737
739
656
443
290
576
113
244
350
107
422
25
135
210
317
194
339
206
10
871
715
959
423
839
908
616
444
698
583
976
843
315
44
778
251
808
318
441
648
840
91
892
891
978
14
196
143
228
587
598
490
610
299
459
659
854
699
338
498
836
832
93
810
384
833
481
189
502
485
185
766
799
260
592
132
198
678
914
274
538
830
460
33
766
561
945
481
793
112
735
597
961
5
842
809
269
542
295
295
192
614
233
399
946
406
712
186
516
205
727
912
659
750
423
191
309
473
798
685
539
536
460
460
297
789
158
531
610
637
884
722
870
348
317
681
105
498
239
776
845
113
362
664
300
543
692
501
122
272
150
120
898
669
674
45
895
158
440
827
297
397
168
73
340
844
676
463
259
520
999
233
981
864
427
869
806
329
726
221
124
773
710
835
378
746
19
99
64
504
692
669
564
950
621
760
977
719
506
89
948
326
264
672
671
623
167
182
880
815
150
320
640
940
837
473
214
10
860
963
63
14
908
356
322
559
811
620
712
236
662
415
922
730
607
420
917
258
484
408
543
205
923
721
24
699
869
919
650
437
758
619
28
303
709
968
756
157
196
779
291
753
607
78
49
863
12
692
535
599
194
583
354
360
763
782
532
8
695
193
465
709
206
996
160
290
235
82
166
137
168
769
761
408
614
17
465
763
225
517
970
940
541
310
873
210
810
46
443
177
581
598
753
438
607
518
159
332
278
723
53
384
347
886
225
70
210
246
978
234
366
917
350
796
962
341
381
416
550
220
432
428
246
111
947
638
511
910
911
603
671
576
465
561
124
811
835
524
886
871
720
935
782
331
799
905
97
409
839
282
978
421
190
720
186
35
107
453
88
246
417
721
927
442
584
650
456
469
42
918
39
362
54
734
154
294
995
485
54
309
110
911
23
664
301
813
250
889
435
125
870
253
985
632
126
948
569
733
910
147
90
452
176
75
722
304
854
362
980
742
920
238
423
623
214
599
357
584
465
557
65
222
721
862
656
736
53
502
647
30
956
856
764
323
363
20
254
976
552
292
220
617
524
370
87
612
597
501
336
598
111
680
85
108
79
10
896
269
585
504
452
187
510
948
388
917
925
882
616
831
72
463
914
798
449
693
458
857
909
512
220
923
48
306
818
672
431
689
528
933
327
803
616
807
732
975
74
251
398
294
119
54
495
559
552
971
298
94
157
284
991
127
871
195
287
782
347
294
45
255
913
776
506
403
613
243
66
809
212
664
728
353
566
530
522
491
728
327
201
687
533
179
463
934
149
943
820
899
299
76
953
971
392
320
100
426
847
628
534
2
226
761
719
396
659
695
77
578
198
316
585
399
377
847
639
604
288
148
690
292
866
311
184
815
964
944
233
313
991
166
283
405
564
605
738
15
655
631
161
969
188
651
179
803
895
522
696
131
514
64
324
81
90
208
241
528
222
510
808
288
583
663
377
27
950
159
661
331
263
418
962
323
957
565
282
200
917
531
94
318
921
288
98
769
389
868
835
919
541
246
398
64
862
318
840
151
877
982
76
516
801
731
213
736
603
314
275
954
363
703
245
522
590
72
172
385
332
503
869
414
508
875
381
801
862
757
951
700
357
162
729
557
599
689
791
915
123
932
381
72
966
32
434
636
963
894
558
882
673
913
665
860
610
995
329
311
752
319
790
852
918
521
230
284
653
953
582
608
727
238
680
40
227
586
981
333
464
275
448
783
625
207
445
573
166
708
646
523
424
591
28
898
849
46
1000
635
526
77
582
278
392
87
372
903
642
670
670
556
371
845
791
74
391
782
69
646
514
501
456
185
338
198
974
363
697
588
469
180
504
102
257
32
673
880
288
600
158
235
408
254
940
662
116
350
940
538
9
494
444
374
737
821
612
836
866
370
19
805
533
889
998
409
145
797
765
314
654
548
897
543
151
373
775
778
605
212
36
362
586
661
882
224
716
948
360
556
418
248
371
348
245
156
196
818
716
745
811
389
102
472
114
73
70
95
449
57
424
911
520
841
446
868
827
469
499
522
286
307
613
404
563
309
775
64
969
931
480
972
461
665
936
490
420
685
970
327
380
243
292
246
831
244
297
317
532
934
962
655
522
716
747
430
151
915
600
910
23
738
336
424
682
762
642
447
244
34
960
441
949
277
312
706
791
743
887
244
943
976
892
570
722
125
720
475
184
461
965
976
302
459
188
75
818
119
649
494
549
223
371
262
876
862
41
867
630
882
236
715
380
866
367
807
400
881
586
852
207
515
573
546
641
648
795
351
898
998
348
927
798
723
925
310
838
285
820
39
266
310
118
686
473
420
402
684
524
867
342
906
500
349
542
178
672
538
878
808
199
737
347
263
171
528
155
285
344
480
343
160
831
745
794
297
346
875
831
5
351
292
972
130
579
638
603
224
974
641
480
61
52
257
991
580
30
571
72
810
856
350
489
940
451
205
988
428
51
24
446
15
526
726
744
523
944
403
551
604
477
597
568
958
903
816
118
94
634
379
86
418
160
329
394
260
275
478
126
502
256
593
386
612
415
385
753
212
75
198
942
822
116
271
895
5
623
15
76
997
106
991
174
793
991
204
774
816
752
843
811
533
176
869
774
799
700
667
712
310
680
557
48
237
737
106
99
49
66
50
984
536
649
114
297
256
902
177
505
13
158
52
558
428
757
586
605
402
222
942
1000
34
187
684
54
587
245
714
65
200
881
221
247
348
10
535
75
510
388
191
444
112
380
545
775
544
114
46
882
16
65
582
954
66
500
398
509
757
9
732
532
8
569
682
315
43
197
786
699
624
257
488
506
627
936
929
992
482
213
509
5
223
903
253
412
173
989
321
26
799
519
918
944
891
796
451
699
37
448
50
102
274
254
432
991
966
260
698
346
145
807
814
411
43
587
446
508
63
739
326
233
202
286
497
563
812
947
662
230
634
439
324
381
233
929
576
155
331
228
210
312
38
620
264
457
649
990
268
718
508
47
224
972
417
994
764
819
204
943
70
576
360
758
832
462
108
763
977
38
861
935
909
680
818
780
754
560
316
91
475
150
700
171
710
750
621
907
931
924
148
292
804
3
547
615
684
23
333
539
766
540
30
725
797
792
96
506
154
587
638
324
758
91
872
325
555
440
744
519
222
719
801
406
378
386
163
814
786
658
406
964
961
742
289
471
161
21
492
42
932
489
980
163
282
799
159
926
44
228
733
461
228
790
70
158
940
473
897
960
7
300
377
540
542
488
963
98
544
501
934
840
41
189
189
965
467
548
712
92
677
818
79
650
502
818
541
689
779
398
492
932
581
887
589
687
761
203
399
367
970
112
209
999
46
724
549
61
30
922
63
388
103
878
581
696
408
187
654
471
79
446
328
599
777
285
667
116
713
973
357
899
419
709
767
941
502
626
995
94
267
358
741
826
316
741
374
554
219
844
131
617
926
59
255
780
804
451
758
449
153
868
659
458
544
603
773
355
589
565
562
615
593
941
133
106
97
359
191
425
468
398
654
436
560
105
676
464
975
860
19
92
562
517
84
473
655
294
404
376
985
236
102
920
322
448
599
121
709
497
890
913
542
484
787
247
883
389
878
276
118
164
357
357
466
937
511
823
934
453
408
22
2
493
236
140
710
642
840
698
834
187
224
427
537
365
159
438
212
415
619
192
237
119
416
837
4
602
319
860
911
149
901
877
963
742
565
587
236
813
506
596
769
430
856
834
351
791
886
772
283
397
957
504
421
752
820
22
742
774
27
691
192
337
418
25
832
575
127
338
141
576
66
757
868
141
636
361
38
103
250
951
508
526
336
37
8
778
661
176
743
72
194
704
425
585
220
237
95
658
105
81
212
914
919
798
233
353
119
752
399
590
625
424
478
479
918
613
996
269
236
458
887
306
562
347
530
57
838
405
889
870
784
204
822
471
758
760
660
666
334
667
840
98
654
446
720
185
164
771
702
575
39
291
431
542
454
156
169
742
883
224
379
690
761
136
211
94
187
107
826
948
807
339
461
883
676
387
700
832
672
728
673
493
999
990
834
435
417
36
473
940
92
131
396
836
403
935
25
633
583
971
735
284
830
474
415
720
402
295
78
137
254
596
852
682
970
628
818
800
117
785
12
991
632
483
309
149
553
136
103
977
211
648
410
176
982
407
495
258
843
699
216
854
272
851
982
339
469
163
692
441
488
875
19
253
651
1
156
735
489
834
511
355
588
349
834
995
899
506
995
626
485
678
927
536
223
46
273
110
665
806
913
221
125
480
866
342
81
445
29
351
132
30
829
876
97
193
145
681
295
819
796
291
717
159
485
552
569
775
311
264
623
645
908
392
930
754
788
603
688
553
699
43
505
218
688
325
853
455
75
689
234
988
727
164
509
489
878
347
819
893
216
112
785
519
139
166
5
358
853
850
374
229
496
30
440
229
554
203
813
65
645
196
647
390
154
957
336
233
312
952
866
981
60
673
717
136
421
544
803
243
188
344
732
968
441
850
535
320
766
27
146
355
106
547
104
552
832
786
354
242
969
754
567
58
521
594
92
448
489
390
520
671
453
24
843
552
626
738
365
518
821
869
844
52
132
954
838
797
7
33
834
960
7
500
578
552
800
321
937
272
816
754
741
500
564
989
331
977
842
272
936
204
913
153
586
529
263
451
9
147
758
447
828
980
820
567
434
512
778
517
112
162
681
451
332
710
665
228
662
637
460
255
396
961
713
696
853
304
595
88
231
482
601
505
105
859
539
471
886
76
429
729
60
531
485
882
595
178
355
606
698
765
561
855
994
661
413
5
291
779
724
387
337
938
337
16
322
175
789
628
480
185
480
308
786
25
318
113
653
713
160
91
501
113
316
993
283
806
5
819
330
247
941
38
403
562
146
977
455
836
694
373
393
550
324
579
106
143
779
198
100
328
255
236
378
885
613
980
584
122
822
904
40
130
669
854
17
218
942
680
470
642
129
216
515
870
181
260
128
107
41
754
900
772
440
912
190
925
942
405
689
394
321
95
254
484
159
965
803
734
968
71
258
90
229
358
782
292
504
128
997
990
168
789
527
307
364
289
897
153
522
272
824
562
122
594
926
740
432
271
183
312
645
351
803
439
142
454
757
133
650
943
882
83
685
773
360
736
994
66
366
243
680
388
850
59
291
508
749
705
470
145
408
178
671
839
616
16
33
623
469
842
781
613
214
519
393
967
335
684
346
956
419
564
483
2
729
406
879
650
15
806
661
379
820
485
369
73
406
776
339
715
489
217
32
611
177
144
437
994
835
122
452
412
136
362
616
692
226
45
707
576
735
591
487
386
380
469
288
168
10
114
276
820
265
870
917
652
448
643
626
669
836
148
588
614
407
193
513
500
871
437
402
884
999
470
471
651
430
847
48
425
571
922
592
31
709
946
997
604
184
905
994
72
306
16
743
697
731
612
737
324
164
400
681
755
591
718
368
428
721
477
442
184
961
899
571
458
26
84
784
660
263
651
624
872
846
412
350
234
273
103
609
554
35
699
891
750
855
722
604
696
680
257
781
933
459
110
293
492
796
636
905
757
773
304
712
903
587
984
251
964
161
266
89
958
550
891
795
850
807
472
974
352
931
279
498
662
682
798
130
315
312
132
515
244
749
112
887
991
338
119
928
781
39
250
906
821
871
408
603
753
500
313
580
668
65
234
990
471
753
441
510
663
157
997
954
804
166
517
773
26
980
973
971
957
872
441
935
334
464
907
265
415
640
942
27
985
662
62
722
427
738
65
916
840
44
514
663
619
176
780
812
291
108
750
806
628
991
392
831
231
556
853
2
850
448
655
860
668
559
859
574
669
313
797
144
979
890
43
342
790
598
855
329
33
933
225
666
526
403
9
906
674
842
366
95
165
774
840
262
305
375
29
438
765
700
682
804
559
159
484
359
7
656
506
851
292
421
529
815
959
336
990
260
395
446
306
918
863
465
730
995
156
275
685
68
320
835
739
81
160
436
995
418
469
969
681
670
972
695
174
21
39
43
502
161
80
125
620
228
379
973
397
589
853
998
306
180
828
802
270
734
485
267
956
464
49
793
136
667
171
674
331
284
172
857
122
675
9
733
927
700
880
226
997
788
352
120
639
797
785
505
419
354
613
237
188
847
717
504
306
373
754
974
360
804
781
485
16
544
943
922
363
711
306
737
273
242
131
580
851
852
39
598
987
869
520
307
414
729
206
344
424
290
176
49
586
205
292
570
380
318
262
104
669
377
664
972
296
448
643
448
933
33
402
658
485
296
838
393
980
754
935
405
901
458
561
591
330
15
363
484
120
735
352
660
535
843
573
961
465
942
15
948
355
883
500
616
445
750
865
203
815
949
171
873
937
273
24
171
186
381
371
383
786
350
243
394
187
812
57
165
755
745
995
724
966
151
887
431
984
696
835
316
653
892
455
512
402
550
251
137
548
50
133
511
761
414
496
246
231
337
591
588
212
50
157
365
151
386
395
17
608
455
424
519
495
119
268
407
956
848
315
761
392
587
898
748
690
6
343
244
743
855
391
145
699
168
349
172
232
788
745
420
274
957
514
388
325
790
949
954
418
30
763
631
299
851
572
413
171
411
72
719
606
473
961
269
897
722
394
182
121
307
401
248
701
750
208
120
78
594
866
95
391
84
932
299
739
722
204
317
681
751
667
757
109
505
886
785
551
83
37
435
227
993
676
341
926
251
93
617
852
915
833
811
132
192
528
174
596
68
712
65
771
865
694
909
780
257
878
15
962
69
152
499
602
591
90
702
117
252
748
821
380
240
779
859
678
42
450
672
945
973
868
604
491
437
437
151
481
64
65
150
742
884
184
234
354
391
978
676
631
676
512
294
737
822
671
765
214
401
867
606
84
209
532
30
82
379
292
91
746
574
541
857
805
310
856
818
291
329
340
372
323
580
495
51
316
593
677
56
695
929
541
836
812
962
125
635
903
458
398
423
376
290
155
150
618
153
113
17
831
332
955
342
106
411
837
645
35
318
589
759
721
248
406
163
952
801
371
213
625
177
528
643
276
348
558
499
693
931
330
701
152
920
733
508
764
511
228
501
807
16
489
131
658
259
385
471
137
908
269
608
656
907
225
998
546
559
495
199
342
818
754
622
595
53
325
337
4
873
663
495
257
612
671
655
9
708
476
130
833
544
331
518
833
261
193
701
826
693
350
978
666
837
209
426
321
227
973
271
773
142
462
790
685
854
809
274
36
6
68
635
619
781
61
546
352
733
930
387
880
16
940
868
806
303
47
931
209
829
623
400
813
875
525
917
282
472
374
884
634
294
523
504
714
469
686
504
953
567
620
818
443
75
560
315
440
513
344
642
15
731
280
393
474
41
852
111
598
590
306
74
452
760
996
423
759
462
138
958
360
896
267
845
309
735
273
545
531
691
353
525
769
136
611
669
770
779
300
891
256
386
929
111
263
212
513
643
840
91
285
40
956
117
86
614
672
465
458
178
320
178
205
26
435
686
806
831
691
403
601
895
920
3
126
182
590
887
295
623
772
892
413
490
726
524
138
26
718
874
604
90
579
876
857
342
810
801
680
335
761
654
618
962
507
711
750
883
576
523
336
926
623
571
959
965
438
184
221
441
463
496
349
532
101
941
292
940
677
282
35
423
851
210
864
464
655
320
301
959
105
678
223
369
493
235
488
586
78
70
2
640
847
829
780
489
454
722
973
331
211
160
260
297
233
434
262
892
441
837
838
290
175
294
217
410
545
864
929
741
533
440
412
31
73
619
974
299
974
957
537
87
632
793
192
546
893
385
157
687
343
379
154
136
523
515
572
802
280
32
54
139
529
465
277
108
199
395
793
513
14
215
753
113
105
216
223
823
93
69
581
322
457
336
190
620
490
755
117
482
66
883
212
109
814
115
211
158
977
259
924
12
438
586
714
166
896
739
651
771
174
947
763
637
966
779
706
472
152
18
76
723
921
355
304
153
589
279
750
220
946
917
181
372
371
625
292
630
778
794
292
201
621
687
892
422
850
123
201
16
684
458
145
521
532
652
24
747
200
155
741
291
772
972
41
475
198
545
840
530
678
38
336
518
372
171
133
248
856
39
81
408
987
206
817
250
543
968
333
394
66
874
981
788
837
452
441
375
804
658
137
808
584
696
447
398
375
748
887
552
714
613
77
130
559
429
958
549
77
462
192
926
866
378
101
252
83
602
824
413
78
68
590
840
700
166
131
715
399
741
302
969
600
756
914
723
617
654
631
475
516
479
547
52
974
558
710
307
101
918
430
581
657
613
687
209
845
862
330
717
93
199
39
916
854
870
233
782
466
330
172
892
532
26
555
166
143
627
775
871
471
435
839
135
924
59
693
724
110
313
287
453
298
906
285
423
946
756
755
192
127
647
514
120
360
497
70
392
441
750
264
608
355
258
770
461
254
541
604
690
760
518
649
451
604
631
11
219
690
774
706
616
206
607
766
831
332
641
373
891
431
929
33
643
338
356
121
186
512
253
346
431
385
536
825
641
159
638
490
62
710
256
479
238
12
337
31
192
651
790
150
411
613
126
962
514
513
590
263
547
800
395
221
58
309
341
590
539
731
437
57
323
160
168
558
752
939
657
489
263
420
335
730
87
101
651
344
385
831
7
584
3
452
365
615
490
238
917
945
665
17
790
122
822
682
17
686
597
76
899
716
641
925
441
562
497
562
782
522
499
686
367
286
98
286
196
942
725
164
609
220
226
201
966
434
904
631
18
284
449
91
973
266
355
156
32
947
958
400
655
776
890
755
940
424
575
96
254
847
361
521
721
432
41
764
247
590
780
532
501
116
963
342
687
487
15
590
3
19
83
190
387
465
340
94
533
205
745
402
178
654
366
588
362
892
716
546
681
803
106
803
572
214
757
258
310
604
201
219
703
980
581
363
458
408
586
471
778
528
95
444
73
70
98
139
549
60
73
52
87
912
814
716
27
45
654
956
392
43
116
827
654
576
306
138
340
527
778
968
675
780
157
435
953
131
576
349
552
653
827
14
312
641
200
616
510
927
172
115
833
1
476
518
525
833
564
713
381
732
189
809
367
879
619
50
431
403
1000
947
497
1
511
201
734
121
252
384
927
701
262
97
197
277
658
497
357
35
659
691
928
59
170
460
186
568
692
181
663
437
523
619
208
651
653
474
17
642
238
156
105
649
297
320
280
346
96
95
36
960
700
771
714
59
363
967
932
960
721
927
543
463
270
663
312
229
204
103
117
674
534
284
704
663
312
879
931
681
923
50
15
355
649
682
480
435
150
547
416
332
54
848
139
341
608
888
583
539
214
320
535
124
711
559
378
665
494
419
115
331
871
33
290
673
626
363
864
930
373
428
238
166
151
457
392
766
670
771
545
928
758
133
825
855
866
669
186
272
918
258
231
748
414
428
623
53
457
402
524
462
280
939
830
447
951
967
53
713
119
861
317
883
114
380
344
440
206
921
254
722
542
758
682
856
164
360
16
549
477
720
519
516
744
854
740
204
487
292
881
140
176
429
713
897
191
47
262
184
878
203
684
34
439
944
692
384
516
974
433
615
586
505
942
779
710
980
167
306
749
291
79
938
886
374
590
567
201
821
814
379
57
203
718
436
294
381
368
434
545
960
773
833
544
394
797
30
914
1
746
503
797
265
991
128
640
374
449
957
591
899
806
821
277
870
147
28
135
296
27
312
149
336
99
899
527
912
130
273
832
564
589
725
129
707
45
317
942
293
279
201
218
54
368
572
10
136
973
702
330
946
753
597
448
473
105
850
928
155
408
129
894
623
566
620
291
294
939
393
437
829
662
358
773
938
962
973
505
875
319
312
822
241
222
475
425
375
844
545
408
722
151
474
938
30
845
352
744
139
92
478
175
422
116
524
462
644
635
904
869
127
592
92
619
621
766
305
827
206
700
403
199
903
807
323
921
375
675
644
978
287
331
126
132
407
694
183
930
518
523
301
398
556
894
328
533
171
693
449
305
70
610
376
653
112
890
971
875
78
424
71
875
459
832
777
984
413
839
816
439
213
607
915
162
170
681
271
169
997
849
348
813
37
543
188
49
572
351
379
117
725
864
605
325
52
318
453
126
22
473
757
295
5
719
326
837
285
675
311
167
851
441
843
253
424
216
809
638
249
215
812
703
667
709
409
87
386
498
710
939
667
355
298
523
347
795
206
790
743
28
394
687
995
103
755
370
322
74
194
952
38
456
729
141
855
400
879
909
200
759
839
318
790
672
49
796
682
381
833
408
378
727
693
152
330
211
708
897
373
512
259
348
194
129
915
347
930
139
941
885
399
107
314
434
242
892
541
610
501
386
851
687
726
263
521
235
765
452
203
952
801
346
113
817
21
752
875
852
569
179
593
76
51
366
495
762
939
863
84
710
655
91
283
58
999
536
509
98
841
643
944
680
688
540
544
31
806
929
469
261
72
358
699
370
637
612
576
345
763
157
873
771
910
399
796
476
295
17
16
884
600
795
415
155
504
178
744
647
998
240
797
959
202
885
33
597
544
871
786
319
714
675
345
321
761
344
211
749
68
162
804
453
712
434
704
519
885
686
295
858
651
360
343
74
280
378
575
896
813
59
840
684
321
490
784
918
490
842
269
123
840
72
956
373
840
164
576
381
659
312
400
193
103
448
357
679
521
146
51
324
139
175
636
318
283
951
180
576
473
698
639
115
167
400
42
160
269
490
802
461
129
839
360
573
910
772
496
255
630
731
731
727
113
745
210
257
385
24
333
448
744
864
187
596
860
520
540
764
774
880
732
486
595
571
313
610
36
589
708
396
637
688
469
846
725
510
933
208
643
900
210
742
804
937
481
123
445
931
506
313
744
86
119
337
140
545
209
158
280
277
375
767
993
627
1
690
106
372
961
323
709
837
553
908
675
919
560
521
880
922
491
98
553
710
199
443
652
14
44
116
969
714
696
314
906
493
486
145
527
588
936
217
526
260
734
59
218
220
945
719
524
482
710
814
181
19
9
424
103
164
341
481
885
906
327
719
938
109
301
837
648
207
939
242
231
111
860
649
685
914
900
833
349
461
463
51
91
19
969
993
83
92
884
647
454
870
270
113
839
956
84
252
12
765
683
6
307
447
134
401
533
243
946
496
408
981
802
29
343
766
704
94
570
28
694
957
178
762
7
28
643
211
32
94
793
231
973
142
988
289
456
482
483
372
623
443
549
98
451
592
974
935
118
305
964
806
266
510
324
257
889
609
6
37
438
905
793
193
396
329
910
717
283
929
828
394
505
342
385
712
972
443
615
639
723
476
366
593
45
204
853
179
777
71
799
113
490
924
692
304
280
565
17
227
736
331
994
585
460
881
504
730
191
637
366
495
209
631
100
859
165
45
607
382
924
407
944
425
314
204
539
975
886
686
711
320
953
749
350
907
162
98
939
475
858
318
915
943
275
108
499
601
422
695
745
878
119
345
514
298
268
977
505
315
867
132
261
356
697
896
264
767
859
965
881
347
573
708
913
809
700
960
928
818
510
277
425
218
68
557
62
686
484
267
877
325
961
978
449
653
215
566
417
19
379
218
650
737
950
347
595
129
670
596
64
233
504
422
740
123
38
119
223
706
666
754
306
340
944
193
479
834
340
304
362
219
396
447
902
185
41
584
653
212
351
679
426
267
587
574
903
360
739
214
547
425
128
888
304
722
832
169
128
424
852
341
331
130
944
421
104
792
1000
314
354
957
718
270
150
263
35
543
681
876
468
94
594
895
94
254
988
801
326
486
149
703
81
766
295
477
176
676
245
884
5
966
918
423
628
226
19
961
445
303
78
176
491
287
272
439
239
188
85
67
517
936
926
801
763
952
276
953
381
347
800
918
425
746
137
643
144
840
743
219
222
47
273
955
682
57
431
191
482
639
170
616
837
792
376
47
151
235
905
472
244
250
953
646
242
123
245
697
111
744
485
988
305
486
800
972
414
106
700
875
32
281
168
838
252
329
101
571
367
841
231
676
357
218
53
528
716
572
45
23
985
50
638
536
150
403
989
189
693
538
582
850
683
882
102
362
722
593
796
147
9
61
782
686
986
677
340
389
306
557
277
988
901
745
860
921
962
455
644
141
547
66
792
387
351
918
85
248
893
426
896
297
11
679
872
113
82
488
902
333
841
778
243
705
5
338
342
715
178
222
979
575
664
467
849
211
879
433
574
429
52
728
485
636
745
647
165
307
542
24
898
903
933
653
675
99
24
757
346
976
196
511
809
323
279
294
914
287
71
155
859
401
324
988
446
473
379
16
481
865
723
506
17
493
654
64
862
226
95
490
978
474
357
909
974
436
312
829
885
853
991
864
819
171
125
47
865
657
484
108
855
387
206
582
201
8
447
340
18
840
838
986
217
166
176
579
32
560
756
298
738
709
507
1
912
446
861
120
684
680
892
943
850
475
805
165
604
776
301
500
908
211
682
296
196
912
825
321
191
571
315
321
112
751
82
535
424
73
879
68
606
21
798
922
113
996
835
514
813
709
166
742
715
188
440
972
725
460
864
865
491
451
291
627
156
760
822
77
968
736
663
920
247
746
120
743
188
581
619
565
311
714
625
182
167
524
135
209
75
659
221
425
242
420
721
7
617
434
765
245
229
896
293
638
539
358
106
590
573
382
256
517
194
353
809
842
907
437
73
242
5
938
426
507
708
312
767
525
181
677
429
274
963
983
134
142
384
896
186
550
29
77
630
664
136
757
572
889
113
430
170
995
35
32
88
952
39
212
349
976
65
137
605
888
241
840
797
580
557
279
84
294
144
123
672
477
606
784
903
128
375
358
529
971
982
949
633
241
460
329
41
590
855
987
400
407
949
415
331
847
860
911
171
4
137
264
878
938
332
433
599
738
813
746
259
399
735
198
280
51
701
128
200
997
600
963
532
114
533
701
677
358
524
527
72
548
920
285
66
122
19
501
185
260
449
356
558
633
281
262
273
49
684
714
357
428
153
655
873
871
1000
931
369
65
863
289
522
909
410
13
391
34
314
500
80
840
831
2
33
792
986
322
367
950
458
454
858
177
757
35
244
979
158
20
480
729
178
138
476
858
83
579
608
684
19
813
16
717
907
623
276
660
125
229
553
817
383
863
747
308
893
250
457
298
121
257
829
443
911
392
460
887
789
916
585
429
562
108
709
960
140
594
690
831
655
730
44
612
561
734
904
614
364
654
611
606
49
248
423
400
44
594
180
378
809
517
64
549
710
996
778
460
889
298
564
101
250
938
506
996
529
514
437
823
641
95
636
216
150
107
163
912
757
610
380
36
164
441
676
85
534
947
912
168
23
941
400
116
571
60
535
386
184
935
315
58
450
453
85
839
926
898
794
684
330
980
946
563
178
566
201
919
626
448
289
584
799
621
484
271
804
367
397
251
975
897
258
542
615
424
180
699
668
330
102
332
296
514
264
586
281
95
82
106
565
413
248
498
980
643
715
847
431
421
1000
669
334
594
873
561
148
557
103
898
206
699
366
156
844
142
825
831
77
309
190
463
632
847
204
977
212
88
678
415
261
545
132
123
359
897
45
667
593
541
546
29
903
76
58
158
472
12
84
554
645
574
831
393
777
755
818
605
638
632
970
476
707
550
939
559
754
981
572
140
609
737
498
41
906
757
796
312
893
840
563
214
107
596
15
977
834
306
420
974
780
611
776
360
318
705
660
683
8
206
52
691
819
972
291
351
638
946
537
88
183
507
210
403
430
923
966
300
987
239
670
420
653
337
693
367
552
966
604
513
832
250
23
427
898
567
898
212
550
708
35
219
191
908
3
18
490
703
882
40
484
529
487
15
140
670
804
170
809
442
385
186
845
482
349
53
912
627
471
326
115
151
538
725
187
52
812
693
381
688
953
294
607
297
208
804
617
831
8
453
706
126
400
2
506
599
861
331
910
578
139
705
76
876
735
180
768
407
497
475
973
489
620
667
884
969
12
299
819
473
589
808
608
866
564
732
300
502
237
792
766
951
51
790
943
666
964
233
9
505
271
745
725
78
87
604
558
690
592
211
966
995
45
886
403
586
291
167
171
426
150
690
268
418
669
814
741
429
652
382
871
784
306
403
739
549
89
971
297
983
66
445
137
111
164
786
535
764
722
920
209
322
648
210
462
81
313
412
4
390
27
989
848
689
585
290
75
117
897
887
169
660
152
336
887
668
345
703
277
151
211
477
583
484
794
929
237
4
953
493
27
534
55
557
876
24
14
863
307
375
588
811
850
987
586
142
122
712
178
824
263
749
52
502
726
430
553
520
171
5
256
346
359
298
654
244
482
544
772
128
335
801
552
874
91
89
789
778
220
807
265
473
266
34
465
385
768
35
934
715
621
684
879
12
551
514
131
637
191
811
926
810
443
508
260
458
438
615
788
810
405
601
297
506
225
425
824
44
225
905
370
508
62
717
10
891
154
600
893
774
175
287
278
785
609
255
271
35
194
650
383
691
368
643
383
958
523
13
140
980
927
12
363
616
680
387
166
611
966
4
391
410
161
684
480
754
65
695
498
243
636
874
569
253
136
453
616
938
518
533
791
577
209
571
367
187
209
372
236
143
527
896
322
543
581
564
385
170
106
889
722
228
482
972
200
445
201
835
909
771
317
588
506
651
342
171
929
755
27
782
773
160
869
109
78
178
978
188
653
416
148
49
352
218
603
299
913
319
885
451
61
401
811
118
595
257
217
154
73
452
493
444
537
657
513
334
448
353
656
612
612
228
43
554
438
362
993
787
295
277
965
630
88
27
944
132
429
737
282
247
940
465
539
437
296
811
711
558
570
409
585
37
362
380
632
199
934
810
984
110
300
553
548
442
795
9
251
676
173
21
726
439
678
742
513
880
861
98
951
762
124
506
555
409
129
600
558
700
213
47
709
93
923
955
186
14
605
3
628
55
768
184
912
113
574
950
264
969
385
656
697
860
790
398
581
265
876
755
326
452
826
478
823
372
111
854
257
94
629
365
369
314
163
241
63
426
445
687
489
259
906
900
391
891
944
453
550
834
156
275
611
529
517
256
462
307
941
424
577
873
994
792
434
955
792
204
195
935
278
936
322
206
142
386
698
463
610
921
130
385
220
828
817
945
484
370
465
143
33
131
282
50
421
218
987
910
311
382
305
484
113
774
172
947
533
923
1
445
659
457
924
824
374
251
891
153
896
976
836
421
218
471
942
149
45
962
167
773
577
931
801
327
184
330
818
341
534
941
152
909
259
890
867
544
582
721
375
805
648
979
462
638
465
961
940
86
492
119
122
263
879
658
191
512
304
994
746
252
164
105
467
320
576
246
887
526
328
187
724
751
381
868
79
161
38
376
88
991
205
210
284
956
419
72
14
508
507
875
744
88
793
174
974
986
726
14
802
682
718
44
859
302
742
797
484
383
927
243
502
268
21
75
896
252
45
687
25
90
930
507
737
583
193
123
909
741
969
671
477
459
838
62
979
725
895
921
6
140
508
574
724
918
991
19
796
605
234
571
633
461
956
809
884
837
826
500
463
893
168
449
227
684
359
559
622
7
287
975
218
369
466
858
95
105
459
208
439
992
318
151
583
639
599
292
917
602
392
47
780
415
482
359
468
665
397
831
972
854
658
110
906
17
963
302
374
972
389
314
179
638
971
261
887
83
139
517
727
815
621
558
203
388
320
459
623
538
616
828
420
948
304
975
281
209
58
318
612
710
935
411
795
991
936
447
18
575
18
805
213
387
317
998
774
692
538
374
275
868
587
81
374
453
592
51
448
652
374
264
277
874
270
119
274
944
12
518
334
348
968
192
365
237
653
863
976
950
893
69
568
494
390
875
318
766
720
231
120
298
18
431
619
951
658
2
833
307
279
346
770
467
405
638
611
580
712
799
734
718
742
867
863
630
477
684
119
528
731
658
587
260
752
284
298
179
784
212
200
535
584
922
768
459
66
486
404
464
287
464
662
930
990
723
640
214
773
838
593
871
775
802
926
965
408
951
256
611
325
384
145
699
270
652
467
192
893
169
65
551
919
641
557
589
291
740
650
507
36
459
306
932
623
798
472
571
559
961
834
436
777
783
255
710
160
912
130
6
175
170
870
160
191
602
150
712
502
943
323
937
459
629
643
600
428
27
532
629
438
236
149
544
530
698
962
792
785
851
836
92
932
226
398
547
279
727
100
516
378
296
415
204
533
825
109
524
739
950
350
987
107
327
715
344
193
88
825
206
868
439
409
122
559
790
114
448
736
363
242
867
524
977
916
626
147
588
894
369
762
187
324
959
875
906
314
830
168
479
53
224
56
774
606
130
703
737
215
856
545
939
85
969
597
896
203
735
949
456
680
320
877
857
473
732
969
503
118
902
477
107
289
354
898
628
551
639
413
322
719
66
406
335
558
309
755
466
439
131
949
139
703
836
395
155
148
28
450
497
63
930
838
316
633
809
81
252
418
44
517
389
804
956
283
489
9
845
354
620
234
575
378
942
59
654
573
187
4
15
385
354
468
573
988
200
925
238
907
428
365
242
268
829
404
524
200
267
448
453
905
90
538
342
795
447
267
49
878
55
213
468
264
117
909
845
257
504
271
692
27
769
724
509
226
285
45
676
281
575
47
616
268
917
806
817
439
439
77
332
500
186
927
182
668
147
343
436
399
762
820
851
423
272
428
632
398
115
936
259
46
722
889
369
104
232
390
346
840
77
530
610
111
919
998
629
192
106
476
273
660
702
794
501
637
120
702
288
627
597
314
349
954
39
960
489
579
266
203
331
674
329
266
789
881
334
945
874
610
206
387
343
108
882
769
250
256
733
993
674
226
387
30
790
198
736
400
940
306
630
612
583
871
644
85
827
740
341
162
733
293
687
401
760
206
591
197
508
639
70
158
388
869
227
393
973
749
22
999
561
555
830
601
918
965
878
758
243
892
4
394
184
885
568
210
77
640
995
189
710
901
181
894
558
728
904
258
879
648
470
943
16
696
36
167
4
711
474
84
870
572
135
445
31
213
627
244
862
391
528
542
785
147
6
429
222
859
458
371
361
554
623
814
977
900
110
975
466
931
887
201
857
66
117
147
811
462
643
296
505
59
542
19
885
946
434
452
956
843
638
955
683
532
871
832
574
94
869
266
225
628
260
144
929
972
992
576
960
592
888
390
297
444
202
874
356
72
596
298
758
669
614
555
302
103
551
358
83
156
609
3
107
339
353
658
888
707
795
517
218
7
863
909
737
367
626
632
963
476
422
383
174
876
930
126
910
534
325
637
871
367
874
280
684
740
716
252
370
277
134
182
298
472
289
961
106
744
290
118
359
526
443
890
680
940
716
374
716
384
784
797
586
111
478
974
375
508
122
514
849
286
24
170
789
287
345
3
281
915
666
735
818
482
839
702
312
909
144
350
981
294
318
93
601
827
776
645
797
421
236
670
891
199
971
690
322
701
159
716
804
217
118
992
198
230
744
586
544
293
136
286
808
39
225
409
707
208
182
694
359
718
548
388
661
856
303
23
981
583
545
122
199
810
53
281
173
264
797
631
419
200
324
690
177
813
83
3
52
647
940
764
115
705
547
845
677
232
758
238
962
340
993
961
539
750
310
908
700
917
944
926
931
728
255
683
229
779
357
499
339
946
147
393
860
612
147
32
813
452
307
157
485
89
911
310
263
318
811
371
750
841
488
504
650
596
852
595
804
860
266
145
263
257
22
918
480
698
368
313
558
55
250
575
958
70
110
456
247
591
450
884
273
741
394
517
606
38
120
799
227
785
900
299
205
291
425
629
549
608
255
240
516
503
538
720
382
323
546
17
116
271
247
162
430
354
836
676
420
935
103
809
344
379
579
183
176
759
629
171
180
980
65
605
165
946
361
974
18
599
308
317
813
757
735
445
61
682
5
934
676
209
96
615
807
113
469
876
8
80
343
197
122
300
683
756
859
233
982
834
296
533
858
5
419
475
612
776
410
474
154
423
562
455
100
277
613
893
451
565
798
327
976
274
109
11
308
152
85
177
817
132
973
63
520
928
218
445
633
531
100
955
907
635
741
831
530
765
886
106
228
39
597
428
164
33
457
866
373
178
967
69
769
500
550
99
219
254
16
115
756
199
356
808
802
857
485
197
172
50
917
913
693
437
354
617
538
574
917
539
726
197
19
433
813
83
931
441
471
842
706
431
537
406
475
410
103
859
55
500
397
444
448
794
545
245
112
134
742
121
769
476
55
865
155
49
825
508
329
946
622
867
86
162
780
195
559
306
841
825
327
415
611
192
208
341
149
544
443
172
710
920
173
6
565
692
937
207
670
98
436
952
335
689
929
480
426
558
476
946
126
538
678
228
968
312
702
304
653
506
149
85
178
400
766
696
905
845
86
226
531
339
828
944
335
979
299
779
701
209
95
665
690
817
111
980
325
686
242
881
352
139
196
829
461
568
515
955
343
214
234
213
493
594
626
470
390
86
115
753
514
614
753
912
696
200
638
847
455
402
238
265
302
291
913
668
473
669
809
894
196
717
928
77
377
72
412
317
558
663
974
724
99
271
981
736
783
876
906
787
498
343
732
439
183
888
431
122
994
87
813
432
505
864
887
791
822
40
384
923
673
536
214
212
913
237
475
515
375
875
81
417
675
27
183
216
415
438
375
169
192
496
63
650
961
562
507
906
619
293
773
51
82
831
234
763
780
906
325
934
225
499
976
160
242
701
507
536
523
776
809
693
395
267
318
399
84
177
613
311
294
865
499
703
640
341
61
24
287
38
484
224
224
6
432
628
702
681
357
9
749
59
427
186
112
120
656
156
645
844
466
251
939
999
86
295
941
149
165
70
429
38
491
637
447
546
944
261
259
941
667
708
917
15
992
696
299
24
824
133
350
27
20
582
297
361
819
71
818
504
529
973
506
483
451
181
459
347
548
213
527
954
430
217
546
442
37
30
884
358
836
629
761
324
421
292
94
505
161
774
71
936
966
637
266
899
250
599
864
147
944
493
491
785
739
918
220
949
797
203
537
307
822
640
474
532
769
256
623
590
410
565
465
637
686
862
304
793
35
603
108
879
878
348
711
429
75
541
193
962
410
135
687
517
126
713
548
956
116
255
577
348
608
191
964
74
113
678
705
929
935
353
530
606
774
907
782
406
836
956
261
961
354
608
797
2
656
54
178
965
727
236
131
294
709
403
224
867
953
917
938
858
35
190
666
707
614
63
42
596
131
215
874
985
141
461
882
293
480
885
626
804
580
823
275
198
983
631
328
910
510
37
7
692
601
618
796
308
62
613
529
335
809
851
498
375
260
41
281
842
678
48
395
653
125
81
398
795
683
894
779
743
255
200
839
138
552
532
751
972
852
644
191
753
752
414
231
775
370
903
674
680
439
864
655
939
284
533
120
758
952
975
739
170
645
594
938
772
182
705
962
628
411
176
342
366
405
274
670
372
740
763
358
311
409
237
924
891
712
415
376
907
986
838
514
140
186
11
272
570
138
513
763
758
745
44
371
915
568
658
18
400
942
696
763
877
290
15
988
352
296
193
748
679
444
298
300
858
752
669
425
686
640
922
940
832
564
35
699
460
425
947
458
884
797
584
225
550
689
589
85
841
914
327
50
839
111
938
166
167
155
292
990
478
959
718
537
992
664
282
989
718
838
219
757
638
561
821
3
194
218
756
327
857
437
280
157
454
807
280
297
165
960
431
213
788
132
985
904
986
555
898
602
655
878
44
140
511
372
259
556
263
839
824
379
443
987
784
93
102
550
203
481
75
551
40
892
473
947
841
1
356
346
860
306
328
612
527
395
885
944
412
56
958
466
966
383
996
439
351
360
338
966
612
853
374
453
303
519
176
157
417
949
867
868
154
233
972
139
603
245
421
502
902
165
626
812
829
138
321
177
36
523
414
950
357
876
158
894
707
679
364
958
89
832
193
59
159
89
345
877
579
958
57
982
162
51
418
488
388
527
949
100
448
43
242
578
401
587
770
627
369
691
597
715
961
748
858
591
281
611
318
102
929
212
256
469
386
660
190
353
55
190
687
874
16
359
610
268
241
86
666
993
609
509
63
929
591
111
410
752
849
274
712
726
340
211
501
893
729
238
654
110
35
453
437
440
502
221
648
188
575
270
541
244
778
863
354
467
981
205
866
574
246
249
395
341
3
46
43
967
755
98
788
156
932
506
249
767
757
275
545
925
222
829
703
103
332
655
492
31
800
982
387
216
299
614
617
502
156
313
898
381
142
646
481
680
603
827
632
858
742
893
511
386
292
480
689
589
155
609
212
886
872
117
220
587
916
808
605
262
883
973
96
247
627
644
443
15
268
862
115
4
787
260
999
968
601
458
143
79
137
160
487
829
903
306
880
235
976
342
403
963
153
471
173
787
208
737
355
230
867
949
57
289
103
702
166
963
345
257
933
627
1
604
306
417
465
823
582
471
464
755
959
264
116
96
924
281
598
222
273
985
661
495
704
345
544
273
589
223
16
616
528
534
371
492
705
436
226
317
931
749
859
824
472
434
648
598
396
253
919
66
282
627
95
405
500
357
625
586
234
68
569
762
616
160
104
277
43
631
433
866
852
298
772
19
977
888
142
51
137
917
655
179
397
537
901
756
646
319
778
898
669
449
848
896
978
997
864
205
532
671
641
280
775
2
837
215
192
967
555
970
693
869
855
933
720
734
453
726
912
536
868
439
530
361
246
934
611
980
944
467
13
381
696
648
72
528
843
646
602
981
699
668
352
31
577
934
840
715
378
770
694
381
956
1
239
500
630
494
98
63
345
589
988
211
969
145
740
707
124
116
805
491
788
880
148
839
594
41
489
564
408
44
322
301
312
764
967
175
510
141
231
28
99
82
894
962
831
83
336
163
199
457
101
847
231
620
99
689
340
638
443
290
490
89
625
68
674
386
852
474
453
868
882
558
844
332
634
755
391
208
160
194
658
233
331
973
673
299
713
629
115
153
677
435
137
747
736
289
766
331
463
667
758
843
128
550
650
751
355
261
474
257
693
902
297
703
972
406
293
85
728
300
529
830
767
918
44
350
152
156
56
453
518
875
370
391
619
686
95
170
476
172
852
759
277
572
511
26
474
576
347
524
113
129
208
749
544
131
933
136
47
453
774
831
848
977
52
242
205
251
589
485
966
921
728
84
55
303
926
722
852
348
959
397
315
771
740
93
997
294
668
933
826
812
167
851
613
769
804
11
803
195
950
551
873
662
465
747
150
885
294
375
528
808
170
842
752
805
878
677
428
51
609
81
939
218
20
536
769
382
527
944
522
455
226
330
103
489
571
960
103
933
621
596
422
293
226
709
568
668
987
710
853
315
216
613
941
759
413
136
783
936
951
903
35
523
777
284
446
912
923
431
558
263
564
227
289
686
129
184
619
858
749
818
656
371
908
677
797
637
736
953
598
456
796
610
199
259
592
24
855
578
258
420
193
527
63
804
314
943
423
644
732
367
108
318
493
225
170
219
446
421
952
430
851
31
194
130
930
963
872
200
977
250
898
37
910
86
230
259
951
887
245
778
194
379
475
734
444
199
907
902
609
550
108
480
336
223
358
617
325
689
849
653
927
22
734
796
263
145
488
883
15
239
613
950
501
213
173
570
418
783
53
291
847
90
99
72
724
735
500
296
28
815
864
806
322
803
454
416
149
132
959
530
22
907
977
811
355
508
142
329
807
731
423
271
873
737
680
61
523
314
2
709
862
857
692
309
552
32
31
871
738
327
97
80
778
521
5
164
914
676
888
785
384
411
828
733
113
74
730
276
298
918
832
201
692
540
118
941
315
655
448
697
660
741
582
140
223
218
632
79
285
585
679
503
465
404
420
493
508
75
763
847
137
124
215
659
554
115
760
745
391
349
683
537
437
248
454
9
522
680
354
259
272
508
3
609
302
353
310
473
584
858
692
791
364
790
553
502
22
924
147
434
673
997
940
948
172
965
501
884
401
419
769
650
376
311
259
810
748
59
415
128
753
694
841
846
509
966
591
921
833
217
40
30
444
408
128
450
478
879
898
312
743
315
373
307
37
897
717
667
148
833
570
118
878
259
207
553
518
57
835
366
756
224
13
760
905
292
596
829
669
729
95
909
428
399
604
512
136
901
708
113
503
91
884
242
79
138
974
586
224
232
228
288
720
469
272
206
954
485
113
687
188
137
951
308
420
892
136
132
740
626
84
224
866
207
342
607
794
582
276
341
60
84
61
126
179
335
736
695
215
423
98
246
295
984
125
373
113
489
420
238
98
242
912
241
1
609
669
64
91
512
209
764
28
544
146
548
739
888
357
947
314
861
105
400
3
45
716
654
919
897
483
967
890
226
423
838
279
126
428
873
222
775
92
437
909
40
234
939
28
938
699
971
410
854
548
14
259
865
144
97
107
619
968
636
723
51
220
644
841
590
383
642
437
648
983
909
734
912
684
140
819
359
762
211
971
974
691
478
382
889
293
1000
898
993
430
109
878
135
718
15
991
683
104
495
45
590
439
279
501
67
382
440
400
657
56
938
806
787
873
508
743
845
897
223
804
476
879
409
306
27
854
52
859
36
819
501
716
252
530
32
132
894
911
811
199
789
928
899
339
575
991
197
705
371
178
645
219
180
574
580
880
854
30
871
295
578
528
355
50
731
101
119
701
425
968
400
654
223
136
212
137
313
233
319
805
895
734
871
257
659
66
806
886
10
315
127
31
133
352
296
379
70
287
289
889
745
33
270
337
265
675
510
694
888
59
878
187
767
674
193
848
944
496
775
772
101
897
781
79
270
146
295
831
19
272
676
708
655
289
383
324
619
851
338
455
575
429
913
289
638
11
795
76
832
134
287
147
136
784
122
384
401
349
471
638
36
303
631
460
580
793
848
818
210
608
798
93
761
290
547
778
86
294
212
767
419
173
126
26
970
750
40
732
132
97
774
695
543
955
799
958
733
889
401
19
246
101
444
41
919
304
287
731
504
500
37
337
888
780
170
328
996
536
540
897
857
573
911
373
431
640
463
991
526
885
151
252
539
523
428
269
828
830
584
73
220
168
884
875
542
379
756
624
86
307
519
51
611
619
522
573
817
374
117
36
228
963
567
333
72
181
896
311
52
156
624
261
888
792
588
489
97
206
294
130
787
341
783
411
166
590
607
39
43
784
303
229
881
355
718
192
815
817
632
544
659
978
387
217
107
452
669
896
209
94
132
960
761
990
319
147
381
459
200
918
938
378
695
577
456
761
760
748
793
188
956
720
199
137
948
514
307
706
39
260
268
523
670
618
476
871
814
533
801
176
301
569
317
49
431
426
268
12
677
29
405
888
866
736
923
595
24
811
880
729
956
287
430
910
725
749
151
324
429
351
502
274
50
620
741
847
696
175
635
997
270
544
989
425
437
671
259
667
783
535
555
694
239
563
903
155
143
132
947
107
814
544
197
722
152
282
516
984
554
244
792
827
399
906
639
546
465
59
537
506
889
819
32
420
721
144
486
436
665
931
410
348
382
119
575
39
557
905
954
100
32
287
47
256
465
703
276
810
361
419
960
833
809
684
858
248
955
400
352
249
42
189
164
746
831
303
908
642
386
790
873
777
455
663
198
347
158
622
961
416
299
34
829
914
360
474
563
188
181
105
87
705
397
578
851
19
910
942
895
456
105
247
357
299
23
144
188
397
440
816
466
278
612
978
17
799
515
542
33
303
523
774
973
76
842
392
326
606
445
156
763
775
955
904
754
665
653
888
23
97
786
535
89
349
434
395
691
798
453
184
145
346
456
259
526
583
338
800
98
617
603
246
614
358
628
269
936
856
52
652
928
960
675
989
724
195
597
28
287
214
860
821
643
649
507
588
283
444
816
337
21
33
419
842
23
797
193
538
805
340
59
255
759
985
327
474
173
822
780
994
734
324
481
437
271
260
218
54
836
169
533
654
242
154
562
307
891
115
272
654
41
841
221
299
666
577
694
747
721
754
898
819
925
613
925
264
152
332
353
557
120
100
693
515
385
305
358
394
538
625
471
619
116
350
631
132
2
714
696
642
946
351
754
709
446
251
710
712
416
759
353
197
947
207
308
44
1
779
58
147
53
38
49
50
541
386
8
65
486
370
716
946
792
390
929
82
543
828
572
557
82
64
48
112
794
135
315
223
256
43
361
54
898
820
855
991
375
511
31
836
612
181
333
520
883
889
933
346
349
335
13
377
190
538
614
569
840
490
935
636
874
184
184
450
748
793
493
972
979
91
923
326
313
364
316
673
93
182
595
929
361
393
101
233
173
626
777
305
249
393
292
468
331
613
683
173
597
998
761
319
22
311
281
527
870
889
862
780
360
242
713
552
155
737
526
605
497
566
278
122
707
266
276
754
295
11
519
462
101
798
316
714
733
433
164
757
72
892
82
156
756
259
945
763
368
947
900
577
532
277
574
719
211
879
658
873
323
533
387
117
183
235
612
3
409
316
421
125
631
350
744
182
804
466
960
714
919
428
308
272
690
494
803
792
103
645
451
296
795
256
777
897
875
636
66
254
167
171
276
245
840
997
263
670
44
210
830
185
479
645
111
535
796
159
984
369
354
160
529
584
116
881
2
178
419
470
493
73
951
578
161
207
485
493
937
490
854
281
675
870
199
599
995
868
726
56
484
404
105
3
486
634
152
680
464
850
619
456
779
157
788
749
801
789
6
845
437
441
513
484
559
898
684
564
277
617
283
702
716
614
449
775
756
176
923
699
178
476
436
917
810
106
289
39
542
922
908
70
548
371
519
470
639
615
212
62
454
402
326
481
108
575
469
394
973
522
550
209
539
693
835
385
643
483
408
708
940
410
423
124
157
553
159
803
554
613
213
103
5
806
152
34
300
58
523
640
587
559
442
403
345
867
888
464
942
124
441
936
589
891
421
61
493
305
326
293
79
5
989
658
444
308
126
896
612
623
782
949
726
2
739
347
66
992
122
929
646
696
291
87
208
56
571
458
615
859
583
564
10
957
688
397
619
464
559
384
744
460
15
454
316
886
8
183
366
848
115
87
901
508
960
214
970
113
749
81
151
488
485
886
319
465
529
666
268
350
839
733
738
475
624
286
437
314
182
576
872
403
344
382
237
567
317
833
88
507
704
806
291
878
142
245
545
381
277
720
816
236
810
487
188
638
932
108
944
455
756
415
195
466
290
252
988
895
91
925
648
878
969
786
22
744
41
671
439
695
961
205
431
531
404
135
691
568
718
917
330
794
222
766
201
588
778
232
980
81
134
206
690
284
17
873
617
709
108
814
863
60
855
889
324
958
520
996
563
377
5
86
836
621
772
66
532
221
583
319
446
94
924
636
542
664
676
281
380
424
31
764
929
575
696
644
298
997
151
362
792
760
93
654
821
788
230
580
375
114
274
567
212
342
317
183
405
554
791
513
627
936
823
134
404
806
159
675
556
564
769
881
248
335
848
876
372
697
253
97
483
974
313
954
119
984
556
837
181
52
133
524
933
318
640
377
346
72
583
6
747
947
951
198
138
234
235
12
172
555
765
881
445
362
408
480
701
484
523
870
563
36
560
140
616
531
853
368
6
969
942
205
269
990
259
842
720
945
109
375
610
864
659
873
209
852
107
530
109
426
243
349
360
626
429
732
477
557
358
225
971
149
69
374
825
531
373
359
255
404
245
619
149
173
730
138
850
432
645
478
294
570
644
900
88
905
258
129
795
763
150
387
558
348
130
371
219
83
468
709
218
330
630
292
937
74
875
568
591
157
51
539
429
165
556
723
797
881
636
790
555
525
135
937
464
666
350
299
411
767
843
895
757
824
995
621
675
447
528
831
73
53
488
885
585
506
969
848
156
704
382
224
949
102
203
177
656
93
981
234
816
503
806
855
396
201
604
561
727
960
360
571
878
270
855
991
662
742
539
655
788
131
962
655
108
757
539
455
522
290
531
207
862
439
798
599
999
90
286
87
488
814
216
859
297
485
636
251
562
940
339
630
849
244
144
946
93
129
197
240
260
614
236
433
782
636
776
596
976
766
727
740
998
740
311
893
350
556
1000
826
617
392
866
386
865
413
913
763
136
854
910
447
532
400
783
799
677
5
842
412
739
749
2
418
801
248
667
946
61
426
144
758
267
174
297
915
812
515
630
998
127
438
166
9
352
486
282
589
807
492
123
600
411
639
360
423
67
122
812
570
971
274
900
318
984
958
994
110
452
396
444
435
353
382
519
708
234
994
495
467
150
508
903
832
786
207
266
751
950
168
718
45
917
920
576
623
452
68
254
525
911
589
955
670
491
547
156
245
588
356
303
711
202
619
998
294
535
741
680
640
208
213
996
76
45
479
58
482
991
792
322
384
518
282
119
282
843
782
721
569
367
594
434
692
28
476
391
317
664
631
599
364
59
346
336
748
85
263
159
509
235
943
638
848
885
529
417
247
827
797
374
450
959
848
437
606
563
3
108
269
224
212
839
272
306
423
199
722
871
933
218
478
59
665
348
527
240
720
263
614
715
278
114
304
335
153
901
454
165
831
351
691
264
856
73
88
690
809
764
689
111
906
947
927
756
495
53
240
9
293
661
416
626
266
346
270
444
470
934
279
418
979
876
687
47
312
119
449
514
375
115
67
406
6
528
20
462
671
821
32
652
703
122
845
762
777
695
534
857
962
884
638
181
795
621
555
501
296
471
705
502
747
686
953
522
367
968
647
835
694
435
432
743
639
823
668
895
672
77
903
667
523
312
345
890
135
593
686
929
331
91
960
913
804
954
321
911
587
690
783
979
134
902
970
305
485
18
898
113
782
14
634
628
555
218
440
114
798
989
689
969
843
439
363
907
422
378
478
481
132
386
98
625
692
207
937
392
38
699
711
804
278
203
503
555
1
512
432
350
216
582
788
801
494
766
658
159
472
597
755
616
987
117
806
552
512
318
398
923
476
507
614
896
294
333
139
970
616
739
772
81
382
347
456
602
779
645
974
725
70
866
467
447
563
657
779
270
733
438
455
764
571
892
869
348
800
151
589
993
503
54
589
74
37
345
304
260
866
758
870
151
68
754
104
372
847
96
899
942
308
517
762
61
156
529
155
887
720
780
152
492
884
443
670
932
106
849
216
325
681
934
627
843
809
83
789
828
806
683
665
563
54
997
282
822
842
973
493
1000
312
289
448
477
136
196
691
899
381
727
740
223
259
434
797
678
117
119
974
309
43
934
51
385
972
827
305
754
980
574
412
171
779
507
748
745
61
637
700
907
456
67
725
712
326
486
990
869
547
21
390
638
695
970
611
598
796
709
711
343
882
635
367
370
153
91
545
776
423
88
846
882
911
65
206
587
142
74
925
79
883
527
249
489
593
123
836
251
810
611
477
185
282
829
411
795
408
845
382
879
718
101
363
291
748
147
545
643
595
970
718
787
885
896
695
154
659
782
760
432
905
514
445
573
56
851
112
858
835
286
926
585
209
927
801
950
75
353
817
880
539
26
429
899
282
107
498
567
564
491
817
695
888
423
333
328
183
340
721
428
667
461
294
298
200
241
504
70
38
965
449
960
386
702
858
617
26
294
15
572
629
300
947
735
43
619
997
884
966
29
593
314
945
17
627
183
566
116
347
562
11
390
105
920
945
862
582
547
781
443
379
444
977
360
955
318
939
165
946
616
494
166
856
13
648
515
915
318
532
246
714
589
24
284
827
123
514
800
257
68
679
334
957
662
941
777
110
452
492
659
102
431
362
168
327
692
56
998
76
86
700
420
728
365
454
940
421
472
223
536
157
947
309
730
46
924
713
704
13
820
272
241
813
591
630
536
686
428
380
812
276
821
328
245
739
209
954
909
94
865
621
342
968
197
968
823
826
425
249
695
691
453
62
848
117
805
46
15
888
704
629
669
506
705
858
120
46
846
642
889
344
904
518
537
835
200
159
924
557
371
421
301
964
658
672
717
256
559
507
6
839
138
735
966
410
913
695
460
887
960
533
845
94
852
78
518
654
63
335
410
33
752
423
919
45
196
994
141
434
695
777
223
311
482
922
352
355
6
233
171
665
993
223
399
85
841
157
49
616
237
899
907
278
363
422
892
397
704
313
474
834
251
453
611
112
853
333
548
761
579
139
369
433
199
828
452
508
333
897
793
998
382
449
745
500
75
462
856
844
379
868
385
879
538
180
503
503
230
896
409
674
158
872
359
622
946
161
67
895
824
562
104
215
477
276
637
289
353
617
340
922
897
661
365
746
477
116
29
872
185
451
248
591
342
472
854
24
266
175
601
258
803
633
58
105
189
111
633
69
28
396
611
488
597
512
480
126
179
650
783
646
880
120
397
536
199
580
454
27
659
641
79
472
964
147
741
479
482
122
305
795
318
393
779
577
901
378
375
239
781
366
729
466
302
927
29
384
915
720
364
88
142
86
830
916
656
290
787
912
487
160
193
906
99
195
139
507
998
903
530
96
526
260
365
602
753
677
223
438
685
827
371
475
553
977
365
362
600
235
160
787
612
259
495
525
424
529
777
235
764
234
769
12
98
204
133
626
588
69
283
252
860
25
67
239
102
154
505
109
841
233
195
591
909
380
11
907
292
672
409
966
941
77
5
369
206
664
80
325
207
74
304
710
347
656
321
451
173
517
761
374
956
955
880
457
686
409
336
143
673
100
489
9
568
9
256
626
414
666
769
875
293
555
988
346
245
556
7
681
375
959
967
925
517
85
394
958
372
405
299
106
776
394
552
878
651
34
893
585
224
8
442
260
302
142
717
922
750
586
972
732
843
551
157
977
793
155
892
154
632
96
660
654
568
389
814
658
94
399
144
905
414
732
430
935
198
349
864
254
297
411
264
619
795
975
696
320
713
641
546
879
731
627
48
79
547
583
23
602
874
645
856
857
615
833
811
754
450
949
364
286
951
523
603
800
325
213
661
713
71
303
822
294
148
556
158
808
762
787
552
995
470
925
492
347
148
231
326
130
264
598
530
415
61
525
105
660
464
477
467
521
983
772
24
673
440
101
190
353
82
27
755
255
536
557
390
170
103
982
540
461
75
701
120
68
148
659
258
241
473
394
751
601
600
397
78
453
357
640
539
510
719
702
558
293
832
837
269
529
678
747
247
794
289
543
658
523
55
579
142
225
402
444
499
440
59
329
566
523
205
453
746
810
995
982
315
117
397
99
979
792
756
507
140
748
268
651
994
989
342
387
907
160
888
642
431
543
699
869
15
771
461
724
680
221
368
467
901
690
978
22
512
510
741
526
713
679
570
424
131
929
929
902
491
948
208
471
622
70
512
52
431
878
640
784
990
95
696
83
62
35
707
192
251
678
643
572
429
102
440
3
283
636
994
200
599
576
579
71
390
728
854
493
86
360
402
610
789
369
761
242
18
594
26
909
480
244
404
379
131
358
551
389
200
55
116
379
924
92
712
670
422
901
404
475
555
863
925
575
601
19
41
243
302
832
865
250
134
878
490
365
696
535
986
821
731
863
675
601
621
840
614
268
156
44
370
290
999
707
513
438
555
754
727
925
871
94
69
375
809
979
718
595
955
634
486
395
640
792
493
358
29
943
637
577
407
318
947
832
707
681
462
598
822
970
996
569
443
713
73
89
13
941
338
1000
848
991
933
935
679
203
731
9
649
32
780
198
253
479
29
435
876
85
177
587
310
950
530
54
105
362
832
651
673
666
373
840
839
944
93
118
903
913
34
553
363
228
247
61
158
14
160
965
649
25
531
820
611
315
287
259
154
667
993
834
888
324
195
423
574
752
602
843
232
269
930
663
910
373
238
109
356
530
749
162
404
955
483
587
183
720
523
717
202
59
328
231
934
369
362
68
795
767
208
858
278
474
470
957
610
514
11
230
484
391
522
228
287
477
943
306
804
809
60
516
519
881
403
822
524
797
697
322
499
846
260
624
404
163
126
532
335
630
178
442
452
607
235
671
998
375
884
18
254
412
809
454
636
745
513
776
305
664
626
425
349
29
444
446
46
225
939
740
738
616
257
331
583
969
629
394
830
920
704
132
266
1000
537
446
193
139
852
514
616
847
759
28
336
450
779
839
280
883
911
217
718
517
477
733
987
442
640
36
951
405
847
424
713
376
891
168
35
282
944
19
498
53
721
156
693
511
848
151
637
14
652
161
153
5
825
667
195
794
854
563
945
944
662
284
52
635
668
972
563
232
318
394
940
87
237
427
51
299
293
438
173
728
273
860
867
112
354
523
34
493
219
109
594
513
519
213
16
359
333
28
331
241
436
674
390
363
466
512
851
253
552
583
785
191
537
472
858
212
727
493
759
838
999
66
916
248
171
569
558
69
794
736
896
364
866
882
507
664
581
860
9
89
851
669
777
702
250
51
767
252
27
260
438
351
985
426
451
983
374
567
40
922
416
375
918
311
715
341
170
159
605
655
823
962
437
603
683
18
907
826
606
234
802
928
571
413
952
370
797
50
743
521
680
666
297
8
503
557
300
234
727
660
492
36
138
889
76
982
327
926
589
731
730
946
370
211
980
149
367
113
395
318
874
346
240
836
789
632
810
699
77
412
503
143
461
563
753
416
783
225
144
74
107
181
60
944
372
861
935
570
345
990
569
492
704
304
971
209
262
587
892
58
820
454
557
502
577
933
84
540
820
935
750
39
401
101
556
781
568
362
531
961
863
798
806
651
125
997
805
498
133
205
798
542
44
977
681
567
589
941
76
874
928
528
753
659
178
205
945
492
897
855
325
513
210
389
299
47
852
621
797
308
128
714
922
745
683
196
662
367
7
705
363
69
821
101
826
605
817
526
688
324
773
330
207
216
702
508
725
146
533
457
816
331
811
393
601
311
18
732
780
637
439
122
679
480
923
557
23
206
506
189
209
716
637
54
539
997
633
886
291
923
115
622
490
800
347
974
964
535
853
673
570
589
173
592
520
87
358
975
344
523
645
445
366
532
761
263
527
102
492
581
11
407
458
62
398
190
527
294
29
219
940
884
820
917
7
977
56
666
190
233
555
679
484
946
175
544
299
90
856
740
412
566
248
473
201
804
510
163
39
202
53
785
660
563
829
64
340
821
289
202
909
879
255
428
25
274
785
159
588
753
566
968
885
572
497
886
874
449
882
773
984
709
133
624
946
55
915
736
494
817
467
565
176
256
191
986
165
719
699
404
701
990
189
827
714
180
424
597
263
924
596
914
651
393
48
706
460
911
163
659
306
517
743
423
805
869
830
102
88
311
252
157
247
738
118
735
226
159
148
286
23
470
956
23
535
51
365
437
20
195
435
598
959
305
88
414
11
13
172
384
918
91
328
628
425
78
246
119
728
57
782
153
546
901
925
24
609
603
785
763
282
43
625
615
60
606
451
564
890
640
818
877
608
646
340
89
323
409
842
303
214
46
215
968
71
90
823
535
844
248
737
529
656
479
160
583
979
357
172
957
164
485
291
883
88
886
452
858
473
888
683
652
326
7
151
358
51
724
267
315
979
861
234
84
493
466
759
953
431
721
640
653
171
434
599
41
662
68
49
530
650
115
431
953
557
875
393
358
765
298
360
965
542
653
967
137
507
221
436
758
305
52
207
857
100
152
55
652
649
79
465
456
925
65
263
54
716
228
381
198
186
359
141
876
119
70
657
864
452
774
753
884
751
112
346
339
482
946
343
249
284
964
955
476
967
274
755
755
627
127
975
354
90
11
271
432
878
948
649
268
49
776
330
578
513
536
66
100
932
899
837
428
859
701
918
903
593
273
8
942
97
211
497
834
424
653
976
460
337
917
764
777
163
560
595
213
510
549
570
294
134
229
165
922
122
233
372
750
574
273
29
976
117
31
12
730
922
983
243
928
383
50
397
108
230
449
790
298
669
929
168
397
83
923
31
923
920
744
676
214
681
100
360
332
321
649
863
5
963
241
259
897
547
775
866
373
933
316
228
744
9
227
437
624
574
601
280
661
96
190
506
407
990
379
959
484
697
470
463
544
690
708
104
721
521
19
9
430
131
397
797
375
976
231
634
599
939
640
214
226
632
71
75
336
435
967
332
46
542
341
328
440
374
453
696
497
928
616
35
493
32
345
713
689
21
678
353
273
40
550
163
645
50
469
612
140
606
642
908
156
671
886
360
544
27
328
980
765
346
961
620
992
623
542
525
875
438
228
440
94
506
590
297
210
51
317
79
561
805
32
672
116
877
99
390
257
265
220
372
457
575
911
258
672
344
660
374
72
443
671
155
427
221
643
700
46
413
934
149
688
345
805
44
281
635
187
956
574
427
541
449
102
160
940
859
954
18
470
494
882
510
400
579
221
66
342
683
943
141
799
431
928
101
97
10
194
62
656
348
377
934
981
897
268
159
539
596
541
25
898
967
135
954
122
276
927
907
432
351
427
853
582
939
244
314
205
500
973
127
655
886
980
905
502
698
271
167
876
5
275
729
341
728
900
761
825
209
671
834
403
422
89
435
422
818
631
643
514
21
952
106
568
462
924
23
587
573
120
582
693
335
241
159
221
824
748
673
997
895
668
650
356
297
155
931
452
319
854
465
685
532
568
291
850
322
17
649
736
679
716
130
460
144
127
928
797
912
263
522
87
819
895
612
125
372
317
690
583
21
424
426
90
579
496
948
124
105
633
181
210
544
307
634
784
149
825
417
225
20
810
812
223
94
8
419
651
608
802
762
527
302
832
247
496
671
38
527
516
128
253
677
36
266
186
31
55
325
294
197
864
547
539
550
179
376
511
450
606
348
705
543
79
70
30
770
998
913
764
116
250
922
259
713
247
953
639
648
353
252
662
709
842
521
658
334
590
18
176
255
258
387
556
668
644
729
160
265
205
883
395
152
488
18
979
497
380
413
148
720
602
715
585
189
861
104
938
680
416
488
710
295
601
285
151
164
15
407
542
978
676
763
941
378
419
986
981
239
226
100
841
159
971
552
849
844
255
345
476
609
659
26
676
930
722
937
623
835
401
428
898
935
601
721
93
52
600
714
613
758
826
305
190
577
529
755
234
281
304
186
714
480
332
557
660
656
427
389
771
918
706
36
837
993
740
538
857
404
550
952
806
352
716
597
963
555
147
815
613
183
793
717
695
72
669
851
693
600
108
908
635
970
58
369
587
141
602
488
442
342
588
96
106
909
427
519
425
165
655
322
312
234
818
680
578
914
596
936
916
253
869
296
316
18
586
682
975
53
885
470
399
417
923
219
980
272
229
525
787
739
239
813
717
297
847
224
403
874
441
756
502
463
898
461
57
954
449
822
658
890
159
386
8
21
999
364
349
855
132
179
904
890
99
875
128
843
33
913
100
989
909
85
823
675
87
229
567
181
114
947
608
350
797
771
915
854
79
78
391
504
128
590
231
783
351
486
870
624
770
974
753
546
287
688
871
417
905
419
594
505
884
509
837
971
164
676
21
625
95
194
578
614
694
111
16
653
182
621
641
601
502
811
114
418
918
728
924
40
520
152
751
285
679
466
387
682
51
791
619
18
729
874
976
491
534
277
756
581
249
96
129
123
786
750
364
648
913
435
469
711
172
426
593
827
60
766
552
607
358
834
783
890
761
890
783
971
578
1
896
509
337
666
860
350
598
52
127
276
117
9
367
647
795
928
940
26
509
64
368
112
27
172
2
738
658
162
128
276
230
12
775
512
259
380
309
933
895
165
733
429
328
786
273
607
886
102
453
269
961
696
339
114
232
707
72
401
412
544
111
136
863
550
832
321
14
173
255
938
425
227
727
650
757
647
308
632
631
472
461
573
575
908
419
625
809
4
231
22
634
860
101
150
569
311
53
91
181
715
386
26
782
823
637
483
749
681
972
33
276
201
33
985
769
324
245
559
940
670
549
253
895
191
275
401
153
632
672
420
585
515
160
877
723
990
983
303
748
93
320
630
748
913
304
225
496
672
621
781
92
985
562
715
313
410
417
318
381
941
120
625
189
265
905
867
719
470
541
404
509
371
375
241
528
763
51
583
770
757
242
411
198
780
165
706
400
967
959
794
480
446
227
257
254
438
182
997
774
218
857
327
570
689
800
423
771
746
521
65
449
684
682
375
93
570
743
157
146
929
273
547
878
76
672
874
739
141
387
67
475
154
5
446
961
574
817
461
682
275
499
787
258
335
624
203
198
933
566
842
364
262
222
736
210
678
682
61
957
210
607
104
309
169
607
798
175
818
372
604
136
989
641
622
71
88
340
89
453
137
420
834
282
369
945
826
559
452
983
702
476
560
732
40
219
380
88
171
383
633
563
558
547
825
43
92
441
795
421
185
506
24
500
218
378
877
909
699
954
652
998
497
275
783
803
636
414
634
196
433
898
67
297
226
997
338
70
519
371
999
765
154
144
135
545
40
479
672
196
22
118
523
303
737
142
996
628
661
429
265
757
115
890
665
218
692
601
260
430
417
351
418
800
978
977
96
224
526
93
184
54
860
467
493
320
320
335
944
631
318
435
96
695
247
356
379
874
465
134
327
500
137
630
658
973
1
375
243
779
530
7
926
683
537
351
617
272
25
479
341
959
921
797
696
290
438
333
727
132
967
899
339
900
766
747
193
475
237
652
505
908
248
124
277
286
757
560
273
383
31
721
476
845
820
886
884
692
210
363
210
852
272
855
482
316
267
310
587
227
920
500
529
905
175
556
522
360
962
61
96
324
687
135
57
207
582
135
485
685
582
211
967
804
94
982
892
582
881
21
969
109
302
673
67
44
312
962
132
239
950
4
178
919
535
374
311
507
413
354
333
697
902
830
688
835
30
908
475
999
767
960
752
443
713
923
601
224
624
141
308
889
736
963
506
91
576
574
335
859
836
283
527
66
928
575
777
292
44
779
974
912
901
107
612
724
855
183
223
849
748
873
761
953
669
436
657
63
796
506
690
384
622
407
936
548
167
673
764
685
211
381
285
535
219
125
710
601
357
3
767
972
953
8
751
42
797
592
738
810
931
980
252
816
960
13
954
87
451
934
959
614
704
515
26
29
14
385
163
108
576
235
189
675
345
810
371
283
478
267
581
757
493
498
312
361
888
499
503
819
775
720
372
931
33
614
351
821
583
248
772
146
652
964
192
717
327
543
85
109
247
211
184
732
37
161
924
799
970
935
292
341
378
161
870
161
536
619
23
187
118
588
992
215
803
698
114
413
307
317
515
305
928
586
401
161
680
815
500
844
220
874
318
222
74
617
588
173
115
100
727
70
857
576
157
396
884
797
50
774
654
174
474
304
1000
713
889
525
876
460
664
751
281
407
620
765
840
399
588
97
228
628
640
161
474
706
954
579
183
162
237
898
908
434
255
724
211
67
298
54
434
902
349
168
851
477
290
20
645
733
777
493
130
397
244
219
730
72
147
950
477
169
684
603
238
282
165
172
442
529
714
682
789
657
141
247
361
436
722
47
534
972
60
770
357
94
400
650
364
898
549
716
331
848
46
319
150
608
314
277
821
877
348
244
522
102
885
1000
898
857
118
427
962
67
758
856
470
27
659
331
241
315
247
92
651
327
760
221
444
101
646
994
87
536
486
927
129
879
530
902
387
589
244
28
376
282
265
114
40
490
835
686
746
391
74
530
486
508
425
621
420
591
232
140
207
578
671
972
46
551
226
750
14
73
437
16
48
156
959
517
893
389
817
9
431
409
335
199
78
7
427
605
343
633
800
195
235
962
157
621
916
503
674
770
904
896
854
117
158
724
366
60
593
115
641
41
910
393
780
720
166
337
823
917
143
354
525
337
431
39
591
319
110
94
728
973
47
604
983
129
128
979
568
433
185
663
804
795
4
890
826
145
538
339
468
100
378
544
63
747
622
292
961
166
497
63
238
760
477
758
393
688
203
589
868
938
184
6
834
631
137
995
32
188
829
875
398
886
440
992
838
143
821
338
789
614
467
182
153
779
696
249
744
277
288
863
695
660
814
715
104
580
982
631
822
709
577
753
459
826
14
80
579
580
84
173
570
418
200
157
865
33
352
853
37
492
24
967
773
885
495
835
905
921
353
77
460
442
521
918
184
186
786
624
105
492
632
669
466
837
183
786
814
234
166
40
120
552
129
391
525
767
586
3
757
8
357
746
270
981
158
883
926
80
399
965
360
985
209
322
248
85
988
355
332
414
107
40
446
62
976
661
739
251
372
823
980
338
783
216
117
7
540
418
238
860
663
309
702
382
700
249
489
28
287
300
741
774
824
144
75
27
427
308
476
238
303
487
512
884
753
503
121
770
326
480
500
749
14
315
436
18
993
434
8
139
123
101
707
798
314
270
928
117
917
83
233
7
485
644
973
667
614
594
639
824
87
397
802
737
219
942
604
283
96
226
558
692
431
445
832
603
857
769
295
171
786
425
354
881
418
529
986
580
82
223
483
5
856
309
72
710
336
536
16
913
498
85
772
218
811
623
506
552
189
486
589
971
862
171
689
148
985
328
742
467
643
899
396
664
927
846
458
843
922
171
542
541
785
580
354
204
544
182
8
105
928
72
349
247
295
528
508
230
692
805
819
442
194
189
776
146
911
65
954
238
491
238
643
483
507
637
522
38
868
835
848
927
254
537
495
940
638
287
663
102
156
172
247
472
940
238
650
528
39
634
284
807
219
292
160
787
284
35
700
217
492
610
374
247
832
67
836
721
183
285
992
958
847
211
830
194
540
554
894
591
705
269
29
416
908
136
349
526
181
151
460
793
372
251
611
461
990
77
821
744
541
126
991
134
74
644
707
997
501
35
713
58
278
416
9
266
189
165
168
342
313
961
714
71
729
876
371
988
149
526
548
670
479
146
714
276
227
762
175
344
825
246
357
75
148
185
912
535
981
957
813
236
716
285
161
565
319
881
590
383
494
473
15
918
996
626
944
755
265
289
753
347
904
946
101
941
30
537
173
268
201
114
503
620
456
283
970
192
956
86
935
683
907
890
626
186
665
258
597
343
454
509
501
594
665
871
466
88
513
717
104
507
720
350
517
603
996
206
733
728
280
146
649
25
136
716
947
213
207
866
386
126
358
636
586
222
967
759
692
315
865
940
276
686
572
837
481
540
813
387
648
505
779
201
652
491
231
173
712
786
332
365
733
675
79
437
103
244
244
627
463
268
84
322
148
264
410
788
901
824
255
495
970
359
59
779
885
223
213
321
73
8
818
981
927
465
743
104
136
122
403
302
880
174
198
69
945
617
218
308
955
930
661
24
695
836
363
952
914
777
5
870
111
811
841
716
539
544
243
375
82
596
968
201
685
819
818
909
788
171
265
475
521
708
725
50
510
637
344
735
776
728
607
238
585
713
565
63
81
452
225
907
213
755
477
352
734
780
940
779
78
793
317
689
471
931
107
219
980
321
86
743
77
526
525
860
941
839
971
972
917
390
332
900
498
365
124
681
722
909
998
755
121
427
89
255
203
82
301
999
992
254
371
93
342
606
444
753
567
176
939
67
425
638
686
964
666
443
660
536
153
62
160
242
11
983
959
231
426
405
746
175
448
811
202
558
614
742
156
316
296
90
583
111
406
226
634
246
529
82
534
463
569
82
889
403
758
475
924
514
201
194
192
598
208
823
573
967
301
652
742
400
159
88
834
722
749
850
733
800
542
527
289
241
20
27
737
849
668
405
808
183
222
342
314
181
281
279
489
863
275
858
990
609
395
829
272
337
339
43
993
209
626
499
212
153
789
657
399
570
975
406
717
89
354
127
577
144
267
277
239
406
223
789
78
865
702
390
209
431
218
595
362
457
235
774
222
520
364
163
17
121
718
126
753
698
421
266
349
516
49
223
913
521
240
141
498
215
745
776
24
981
1000
219
468
52
670
1000
22
476
663
145
729
56
874
367
966
176
239
198
266
878
741
282
174
308
687
479
234
890
905
682
744
182
527
471
608
396
649
783
491
998
508
849
471
614
734
473
567
738
905
639
845
360
871
78
278
690
278
98
190
619
292
510
875
413
782
920
986
412
126
4
331
183
349
644
31
650
537
965
383
232
331
367
350
891
831
643
348
320
440
126
862
183
993
625
491
452
53
566
205
409
354
395
962
776
234
758
349
823
346
435
564
982
31
272
905
694
566
618
887
733
901
884
271
227
582
875
563
944
341
512
3
208
204
368
668
953
39
253
68
31
182
675
546
882
156
644
861
32
518
705
557
748
549
487
134
320
869
349
539
114
19
875
243
517
735
90
992
341
934
264
338
93
399
73
254
731
785
725
404
210
815
364
194
124
522
707
295
265
911
390
185
736
750
964
155
546
9
803
380
305
114
475
866
683
320
246
561
829
452
494
428
814
719
764
80
460
561
73
401
657
265
860
661
344
642
693
821
885
159
404
79
469
766
852
218
518
110
926
997
815
941
718
640
217
313
987
464
353
609
232
825
692
490
649
857
703
662
255
918
624
704
270
284
500
299
624
372
791
911
106
710
758
317
242
933
318
447
472
332
796
657
556
849
229
904
444
976
524
295
35
705
723
121
329
528
134
813
516
518
855
221
416
665
498
216
536
992
547
927
721
427
834
844
993
84
100
591
734
367
425
459
782
263
638
659
391
331
451
824
230
109
157
521
770
114
239
375
484
166
103
962
243
521
470
808
180
154
665
652
77
605
152
662
29
983
192
407
719
97
410
238
174
169
424
159
251
293
386
426
434
576
460
852
761
934
812
279
794
616
626
712
615
830
45
414
761
310
693
613
856
255
623
574
448
835
99
477
246
387
639
925
488
483
107
932
658
307
481
933
162
142
85
675
829
325
748
891
334
725
313
249
699
660
384
439
70
168
21
191
838
736
331
643
46
901
552
767
677
617
263
488
116
940
853
729
560
349
182
843
641
990
704
829
827
233
947
249
461
197
362
23
440
292
24
100
602
461
560
588
874
454
14
54
100
439
12
598
267
225
756
756
537
634
872
478
71
862
55
207
178
226
815
578
686
329
342
352
788
526
660
991
815
539
811
730
525
206
721
51
542
667
836
264
503
694
302
248
346
542
720
521
890
385
22
478
564
398
68
24
664
556
885
876
28
492
353
453
380
133
279
656
869
366
457
808
566
706
326
685
718
774
246
882
614
430
264
736
809
539
483
603
266
718
771
641
704
856
622
98
80
853
430
782
642
823
292
551
471
937
747
647
739
211
514
187
195
795
392
391
539
735
956
967
400
756
605
621
645
366
779
827
581
427
930
856
423
433
868
535
93
884
710
373
12
550
506
510
38
896
14
386
139
623
788
175
682
102
921
785
465
469
321
684
733
264
348
870
457
814
29
93
115
6
826
796
25
682
85
327
88
680
929
698
405
450
296
501
838
241
251
676
42
97
484
446
884
298
131
130
436
395
655
514
939
717
541
116
220
82
20
994
63
427
809
716
927
284
161
723
241
324
113
603
215
684
893
724
741
420
914
267
508
244
624
948
860
624
763
612
321
462
271
462
933
805
139
876
727
467
17
657
711
36
267
84
736
439
470
308
474
150
76
490
542
156
33
572
483
14
728
715
909
659
512
259
656
168
396
535
150
328
287
943
556
705
210
538
471
866
587
766
71
563
551
88
642
983
659
1000
391
599
127
318
247
785
909
707
155
109
488
104
998
138
282
82
865
670
918
229
850
532
463
295
948
471
889
189
906
218
678
941
67
500
475
352
355
621
152
402
552
262
433
428
920
319
534
721
54
895
852
456
563
94
827
817
803
844
565
762
442
826
628
115
60
488
735
596
335
262
730
930
647
356
300
414
48
902
392
192
661
831
194
997
518
560
814
331
723
491
536
872
630
332
628
410
404
474
189
749
947
14
464
848
654
510
390
914
886
236
862
294
385
532
356
800
34
820
119
506
542
985
54
189
632
146
843
297
289
246
560
746
434
540
277
905
176
794
671
851
448
943
693
333
385
21
717
928
295
407
404
535
442
839
726
736
159
156
195
488
980
463
385
324
594
251
231
512
442
21
463
601
645
130
727
405
824
899
626
747
48
525
949
233
818
934
818
901
482
551
338
847
982
887
636
841
112
958
800
471
786
809
371
625
921
842
480
934
656
214
646
375
557
314
556
383
377
195
821
685
692
912
866
555
464
881
593
344
130
764
401
947
379
874
474
344
145
777
990
458
680
575
55
367
798
374
701
334
497
519
257
212
217
540
781
515
926
139
966
884
72
207
171
690
210
587
752
274
743
237
904
664
826
513
588
661
914
533
937
856
837
950
741
484
582
41
210
20
115
683
266
86
723
660
994
509
317
771
779
400
91
339
822
675
704
99
437
772
910
871
552
231
186
107
286
380
421
160
372
659
200
98
427
963
549
977
784
998
270
760
653
813
150
476
883
587
392
804
498
232
609
986
466
605
577
860
870
919
744
861
789
479
184
22
681
989
277
383
8
506
902
693
178
584
354
17
609
254
489
618
868
282
850
519
387
588
638
258
236
758
444
662
757
399
580
888
677
409
719
623
467
364
290
72
306
896
748
276
999
322
400
412
590
817
934
920
217
100
201
705
961
952
64
219
58
868
324
907
853
813
844
361
324
357
984
559
814
425
376
709
862
521
885
552
653
574
330
473
700
472
158
385
761
955
808
157
929
777
948
314
60
950
108
817
382
448
495
31
245
968
916
379
413
195
850
761
239
579
625
562
330
791
568
941
47
877
803
154
276
621
995
855
433
795
26
671
614
751
18
880
86
324
573
663
116
92
396
240
217
838
717
197
502
504
13
403
744
988
613
274
138
910
692
522
514
869
997
202
937
755
422
565
209
424
211
207
767
398
106
26
892
278
276
779
915
262
202
362
341
474
2
548
408
828
868
551
621
804
381
690
247
798
475
416
551
709
746
137
845
24
594
608
4
941
435
122
227
21
832
396
207
440
944
811
793
147
121
651
475
160
824
53
689
790
327
680
51
764
779
517
91
143
297
792
971
423
744
728
957
389
692
750
146
169
891
783
35
386
237
503
68
497
831
753
194
188
245
831
833
191
487
55
362
975
520
814
390
573
372
301
639
226
19
262
211
620
279
399
373
225
862
491
787
685
596
931
250
218
588
114
641
748
757
62
709
822
729
707
781
428
553
520
225
493
105
537
760
188
295
398
260
162
419
699
784
477
70
809
936
350
44
351
525
721
580
660
728
357
94
913
585
410
290
62
739
348
154
376
768
710
889
151
330
427
275
141
602
326
293
336
195
19
110
994
775
558
682
242
145
158
286
145
413
769
302
870
177
499
387
455
384
716
37
747
611
143
164
261
44
449
965
79
368
602
823
422
103
746
414
175
659
495
518
506
540
270
227
672
666
798
402
247
744
933
252
324
995
736
852
662
295
148
274
371
968
640
739
495
81
945
893
763
31
365
841
852
655
142
70
755
863
93
774
200
26
47
348
653
951
597
60
104
294
375
968
708
709
312
170
359
823
364
385
453
428
781
685
404
855
266
906
985
610
325
919
168
765
699
454
971
488
993
629
736
360
551
684
391
786
158
660
492
923
393
944
293
11
305
656
613
895
618
825
73
837
876
194
81
407
747
273
63
380
228
940
591
59
631
518
425
403
53
719
11
635
483
302
639
777
834
582
277
684
963
139
103
716
170
258
878
125
767
597
599
620
53
586
322
327
425
857
662
549
432
805
220
311
274
5
117
648
640
798
901
29
797
826
296
61
520
674
680
872
808
73
709
146
329
287
190
845
162
449
198
30
760
555
413
84
975
798
826
817
652
700
315
639
538
234
33
988
226
772
218
693
399
207
825
801
938
61
308
658
311
729
18
744
260
264
926
804
998
268
797
332
993
534
535
365
969
32
126
810
926
749
509
288
803
636
758
550
943
641
127
49
642
396
891
210
884
620
439
219
833
729
705
942
768
439
882
701
931
405
338
197
192
29
783
816
519
636
34
946
999
148
174
661
551
237
516
349
536
685
529
416
179
358
823
184
99
744
339
531
265
509
153
577
381
866
662
959
43
883
475
848
16
5
46
866
624
202
918
509
550
124
467
498
327
586
229
727
412
512
172
124
5
170
799
788
731
206
582
228
865
471
32
382
68
110
645
392
453
730
93
745
406
686
276
526
784
734
271
962
969
329
792
382
818
834
513
984
711
790
476
525
732
170
872
163
555
253
667
191
704
324
902
347
713
941
27
696
160
900
265
840
660
354
868
338
700
766
68
785
621
508
694
953
148
941
705
755
616
783
345
564
436
374
221
617
423
255
396
781
291
99
462
969
37
610
693
903
916
503
539
684
440
10
185
874
129
699
372
389
784
532
435
529
669
236
331
901
314
26
460
808
625
647
250
947
597
528
795
862
192
550
326
698
920
562
921
218
208
322
674
931
907
979
457
449
197
556
566
863
705
163
757
2
848
803
616
959
323
741
808
120
159
335
422
271
944
149
576
44
694
921
458
95
299
673
183
900
660
843
211
15
436
816
577
959
763
654
850
615
467
128
579
203
44
406
937
428
115
835
450
351
171
344
949
911
158
898
377
792
860
295
642
498
90
363
523
93
424
253
508
42
587
110
535
2
615
882
865
180
611
366
647
132
255
945
334
436
224
594
784
744
326
877
726
105
463
636
310
308
513
7
614
224
834
191
300
769
370
153
107
175
281
30
503
692
601
594
592
728
693
529
371
706
136
643
465
564
293
404
812
944
970
315
124
592
485
752
553
369
980
831
740
602
993
762
260
198
156
941
581
55
372
710
812
830
979
313
892
64
231
106
373
954
875
456
630
868
735
98
151
770
983
949
539
344
236
499
997
498
664
928
366
362
98
60
232
591
476
95
216
33
63
831
348
341
575
725
319
151
726
748
483
798
727
413
744
382
964
790
801
174
420
551
809
989
394
333
193
160
749
767
216
168
188
549
915
843
64
823
182
264
839
982
93
127
559
700
87
448
700
648
200
852
276
873
395
638
381
283
934
28
233
994
890
713
337
594
120
868
617
491
472
337
226
634
541
531
269
810
55
930
878
659
835
766
897
289
319
582
940
84
863
876
746
909
348
985
550
394
180
676
665
404
409
657
601
135
514
377
785
464
416
20
449
339
387
563
264
34
819
138
124
999
291
696
810
937
957
157
397
454
37
817
928
302
142
751
269
809
196
377
112
557
988
126
722
740
759
366
430
952
756
381
816
297
427
166
211
866
740
281
456
585
159
812
791
381
956
729
420
415
878
581
524
856
658
515
470
304
495
80
523
501
451
107
642
426
612
269
824
180
17
568
30
389
587
91
940
932
726
879
658
941
827
624
10
953
653
226
274
972
463
954
4
25
765
51
135
426
812
170
674
627
304
920
125
987
246
175
236
224
633
501
793
650
392
226
964
460
63
217
122
542
780
390
168
256
433
354
139
604
356
331
258
49
455
703
676
1
489
113
850
648
113
4
874
370
377
939
127
464
609
770
259
270
985
4
904
86
647
277
478
449
924
888
109
452
63
780
14
789
902
163
637
99
72
242
475
44
651
139
779
227
664
145
287
733
473
932
694
576
891
166
863
803
789
274
618
339
99
784
594
921
353
730
772
617
341
109
232
517
13
279
185
133
523
484
507
930
165
394
873
216
20
670
51
278
305
85
94
278
812
652
968
915
299
550
625
273
383
375
630
586
304
383
282
889
924
962
528
641
439
499
131
443
595
207
263
926
643
209
89
728
874
399
10
216
334
123
893
309
254
782
38
290
776
796
627
980
821
192
106
34
304
309
268
399
468
676
836
161
788
195
962
121
773
149
386
427
989
397
982
523
808
382
994
455
702
174
584
361
399
878
248
520
829
144
200
948
611
428
145
921
769
874
694
177
461
411
280
794
788
707
633
907
157
127
743
490
244
742
771
415
351
718
559
860
818
147
213
934
202
479
753
93
155
232
960
489
250
611
368
933
549
954
803
537
379
712
23
426
562
779
748
148
392
557
841
521
737
88
468
699
958
974
830
179
793
534
445
340
953
866
40
814
932
43
795
710
474
665
100
216
183
376
965
641
35
792
943
284
894
428
758
839
716
909
810
217
793
693
408
783
285
14
876
992
246
568
641
328
575
686
57
274
615
426
947
751
608
24
855
99
861
626
509
224
267
89
307
948
774
893
505
967
507
895
367
88
495
743
728
542
403
242
324
274
209
873
744
59
527
960
63
190
152
698
38
256
440
350
268
235
348
463
850
707
318
874
890
520
687
590
677
633
977
403
471
186
271
209
618
73
813
571
141
415
152
31
54
383
434
21
391
734
861
997
339
314
6
623
933
487
378
372
477
156
572
938
240
580
436
223
988
676
866
488
607
872
292
437
421
860
400
642
786
812
382
726
213
670
839
151
564
197
479
280
863
322
926
649
834
161
269
995
621
828
485
663
15
750
476
465
153
767
278
929
882
712
946
142
875
548
713
76
161
352
308
362
944
641
697
969
450
569
140
146
76
513
138
267
306
444
758
962
674
264
875
990
590
981
34
867
962
195
46
160
381
876
885
713
88
806
174
799
66
420
333
331
395
944
479
845
409
904
268
879
324
110
199
791
715
128
323
779
657
151
925
84
385
897
495
909
44
831
234
597
479
601
412
992
44
7
126
720
87
245
390
336
112
422
46
871
616
551
668
380
259
327
500
476
311
982
478
689
329
440
548
725
589
812
834
348
109
969
675
647
34
605
187
926
719
692
829
309
120
705
344
422
1
329
632
191
999
614
290
889
856
706
41
33
937
364
815
650
737
421
972
712
229
246
81
276
757
43
661
938
679
516
535
774
116
35
785
838
965
926
799
632
811
933
601
705
490
218
441
669
827
482
637
491
530
917
776
860
271
747
692
814
782
54
74
551
155
417
173
558
621
682
839
756
787
801
32
346
676
284
37
453
974
248
829
449
524
454
436
55
495
988
687
928
618
453
430
479
554
621
158
55
754
507
12
503
159
749
269
325
673
960
778
316
658
493
271
597
626
642
113
450
857
870
862
175
988
76
949
522
451
285
891
872
245
372
739
452
721
614
830
366
942
930
554
87
694
618
519
392
427
319
424
409
232
684
967
567
461
938
342
752
755
124
212
918
44
320
562
704
558
519
528
388
16
205
83
611
914
853
481
891
293
732
473
878
449
420
615
702
791
371
429
472
463
746
791
250
395
453
697
315
181
10
427
595
534
419
278
493
119
705
189
156
215
144
36
447
46
527
874
476
576
945
119
586
226
731
528
98
310
160
832
983
905
444
52
819
529
373
860
92
265
659
820
906
904
689
980
654
275
928
88
55
165
639
658
223
165
959
194
147
289
599
183
981
481
627
842
109
962
826
221
775
909
131
967
422
145
484
943
553
352
285
971
81
828
257
114
610
945
178
331
59
297
430
794
341
971
701
864
571
508
543
540
409
898
662
155
696
389
977
264
515
971
506
933
148
158
95
118
192
84
838
395
260
987
794
88
292
885
282
769
464
597
585
146
109
316
376
619
840
608
560
151
295
50
511
666
513
738
867
852
3
526
159
150
960
173
548
671
940
553
850
999
534
693
857
134
237
672
671
317
736
389
423
118
335
741
247
976
60
50
867
288
293
457
459
318
438
553
741
380
205
763
382
244
608
835
899
226
645
344
180
205
939
285
660
655
329
683
946
866
519
637
391
679
395
371
731
470
564
685
352
591
5
632
243
154
436
421
930
890
178
272
960
757
831
414
627
157
29
509
639
871
932
511
407
296
848
390
463
174
584
207
265
762
693
744
323
293
780
247
144
698
416
900
952
734
26
305
547
100
307
598
921
637
367
821
470
419
773
827
720
391
142
316
505
243
737
526
425
350
755
788
252
948
673
368
675
206
21
1000
368
468
462
82
963
759
884
755
894
577
490
10
464
116
564
485
719
323
657
878
901
593
421
740
278
521
243
956
177
822
100
401
866
431
783
98
772
858
752
710
174
33
392
343
131
282
382
443
906
534
211
53
542
582
622
800
600
1000
900
772
238
330
488
866
7
271
354
297
707
920
914
697
646
531
69
627
456
896
113
393
396
201
827
787
716
124
78
709
245
32
641
701
818
347
754
63
548
557
118
596
239
876
702
5
414
275
676
625
549
440
291
490
88
244
289
679
752
481
726
532
437
943
688
591
757
384
463
65
897
573
185
185
966
433
805
110
517
178
560
883
218
518
740
563
927
233
672
823
581
830
311
197
382
602
728
700
727
107
82
699
219
999
389
779
875
164
484
838
345
344
128
793
547
745
106
88
634
684
524
683
624
968
225
282
323
536
418
386
430
870
131
146
789
828
102
125
853
832
36
778
313
813
970
913
721
900
634
411
693
617
304
226
926
273
601
49
825
293
127
48
49
474
587
789
604
552
291
756
453
979
513
937
773
546
233
536
96
315
197
226
577
351
64
304
548
909
648
730
323
56
933
325
949
195
538
310
234
586
827
997
903
758
683
658
191
665
241
502
533
526
574
292
231
563
385
278
203
287
251
67
915
511
874
529
627
51
84
40
934
941
48
220
370
15
253
775
560
946
367
272
965
164
976
413
806
585
562
904
142
772
803
93
406
955
442
344
911
324
495
561
995
157
562
345
477
622
327
30
71
552
158
238
227
103
830
656
636
955
35
460
296
639
300
172
604
667
328
767
412
329
610
546
354
474
314
600
57
60
128
731
32
26
703
299
131
856
800
830
475
223
80
124
657
285
681
281
860
516
425
300
222
437
490
867
449
263
892
525
173
254
961
660
36
533
257
670
788
219
72
205
972
1000
735
608
924
682
421
552
865
830
71
390
866
343
325
939
326
701
86
222
379
654
428
242
383
343
114
956
186
166
879
490
409
259
995
36
383
90
368
52
691
508
544
127
502
588
585
317
995
695
698
868
230
567
896
948
744
573
728
464
15
997
278
50
677
891
236
71
50
11
835
825
91
386
817
180
370
327
425
549
37
67
603
461
48
743
211
964
84
180
85
776
740
730
182
389
510
499
907
301
56
400
943
172
35
846
545
994
492
356
334
273
460
970
57
833
932
206
666
93
830
192
324
560
930
751
635
866
966
459
462
864
284
120
209
192
508
689
319
230
627
373
43
561
807
573
257
899
25
337
213
924
288
207
613
643
831
706
343
669
160
214
544
329
262
655
391
567
557
242
163
460
462
507
677
528
507
985
152
164
20
209
935
241
316
125
265
325
188
647
451
46
243
832
420
826
293
62
572
596
579
725
277
106
73
83
157
168
491
430
499
480
929
166
755
681
237
138
117
949
327
428
570
768
633
801
668
429
848
181
507
483
868
864
35
632
616
646
855
464
38
676
177
47
91
660
406
648
13
974
146
715
474
352
58
862
500
88
106
779
202
96
212
873
408
760
237
993
282
230
497
729
889
713
742
670
440
333
645
475
664
382
345
751
336
64
547
580
496
436
982
970
323
841
802
638
919
995
600
319
496
878
315
207
600
674
243
265
11
349
721
833
933
871
843
427
919
697
719
621
733
917
406
677
8
354
587
914
149
3
507
862
369
412
451
924
151
20
272
609
708
978
88
392
207
703
277
925
611
268
340
609
19
732
36
536
269
694
409
384
417
682
7
188
393
457
611
783
797
959
284
353
315
426
374
734
688
128
417
54
501
326
534
815
337
268
10
771
977
491
233
818
411
259
56
618
399
706
969
914
182
129
149
268
759
924
592
513
808
876
33
322
957
843
310
129
578
394
134
81
742
655
989
856
227
401
21
923
750
448
317
274
689
519
966
758
620
55
612
866
902
896
23
248
450
362
346
284
521
16
312
760
58
340
664
48
666
584
422
262
794
330
472
493
51
651
118
608
898
342
872
74
124
344
781
930
633
391
11
334
66
876
238
86
684
144
639
135
778
705
931
379
566
383
928
975
204
3
588
993
24
75
345
474
616
823
818
866
659
53
648
370
711
609
320
946
286
573
285
590
653
946
620
43
737
291
758
245
395
689
512
733
121
402
757
621
929
871
639
20
765
974
101
501
292
38
876
717
324
746
797
401
469
887
455
740
810
914
770
550
539
381
993
794
519
654
50
695
691
705
860
138
87
435
491
72
956
731
560
395
187
355
293
108
783
875
47
616
579
52
906
703
826
492
159
47
516
933
99
168
526
202
585
314
747
765
247
142
395
800
50
978
587
870
148
89
78
633
646
672
820
472
903
188
572
597
473
273
393
944
678
708
221
146
22
812
166
986
385
204
332
953
983
90
188
1000
588
97
552
125
390
201
246
176
186
502
335
114
291
414
672
76
675
349
147
715
362
130
649
710
32
161
246
799
137
869
502
399
530
46
167
676
799
485
709
922
30
760
264
228
674
81
636
738
560
894
930
217
894
319
206
283
210
549
356
395
871
88
19
626
674
45
939
327
526
734
646
993
960
537
705
69
445
307
85
941
97
581
365
83
383
548
626
182
860
10
854
49
802
543
603
351
842
687
486
458
354
281
780
221
403
973
65
139
502
556
351
129
314
992
588
105
690
925
804
657
121
18
383
375
745
677
122
815
570
585
817
645
439
25
71
251
594
119
909
986
374
972
562
264
715
214
494
926
642
560
318
633
862
849
773
591
898
462
341
536
948
153
381
781
809
119
920
70
727
532
324
136
33
887
154
161
749
251
408
776
156
886
249
850
454
807
18
72
270
529
57
266
713
651
358
435
114
918
610
772
360
130
521
266
951
577
632
65
525
688
2
466
612
227
261
259
805
696
510
153
375
550
486
205
586
464
202
468
620
166
16
577
68
287
693
630
414
265
584
490
776
595
462
625
473
610
926
670
632
547
520
179
159
863
906
452
867
640
439
897
455
442
548
108
345
182
121
739
76
376
945
299
77
695
912
189
158
839
294
647
994
587
929
807
188
355
536
717
272
677
707
13
110
853
356
906
759
398
531
285
773
41
509
38
309
770
78
140
166
806
725
652
70
467
210
559
83
592
683
276
26
559
50
737
182
972
778
202
354
770
701
320
581
857
688
518
377
328
211
496
443
66
960
439
183
733
658
622
202
200
121
185
206
42
467
244
374
34
39
938
306
486
316
680
125
883
531
650
173
506
252
551
10
646
448
706
85
549
874
902
575
490
737
730
324
190
698
818
741
379
205
38
821
432
74
665
138
904
982
525
796
241
255
361
830
118
919
983
478
673
494
323
94
342
412
140
179
161
275
974
188
141
378
927
294
793
44
962
274
930
393
750
13
671
52
489
933
917
212
782
798
680
172
382
938
337
161
545
937
242
813
818
213
194
150
301
710
901
274
827
164
953
292
29
977
805
175
988
790
902
349
992
242
434
812
947
266
129
522
183
481
138
553
661
911
341
305
152
296
333
643
505
726
952
387
996
195
428
25
645
929
181
858
521
45
813
47
313
148
84
194
856
993
506
158
887
214
758
762
33
425
263
970
913
728
146
835
301
740
264
287
466
813
173
353
197
8
684
970
498
748
153
921
641
804
741
754
62
394
688
783
580
773
55
371
563
591
502
755
938
718
390
603
421
957
928
355
910
277
122
122
802
764
6
633
849
477
14
230
303
807
381
419
286
716
116
866
739
456
486
985
834
986
891
491
426
306
695
368
8
375
890
714
602
105
409
833
228
151
556
773
889
888
287
209
517
987
993
231
928
488
74
100
675
115
778
510
590
851
737
208
944
473
157
117
410
832
857
235
425
135
196
670
128
404
498
134
784
581
722
110
489
440
999
676
996
608
144
684
697
505
398
571
168
924
475
586
169
340
450
649
694
741
144
348
468
946
443
816
264
905
426
368
587
456
261
794
508
364
577
167
952
225
424
864
278
40
1
247
807
793
28
123
852
384
31
669
864
677
825
967
573
180
165
701
365
140
883
813
686
394
822
164
963
380
528
280
408
119
971
327
41
806
545
328
488
915
194
472
391
330
821
89
780
101
33
485
376
857
910
377
599
789
692
99
988
381
208
119
882
724
426
635
426
385
703
196
422
217
211
371
109
457
516
425
683
734
509
893
253
296
670
677
993
934
225
34
418
542
811
367
104
213
180
290
657
108
832
809
410
42
686
796
176
922
603
161
328
670
51
241
640
280
276
968
626
973
101
340
519
213
859
521
704
515
50
711
121
557
16
533
106
107
289
285
215
650
318
873
779
433
950
603
370
827
381
329
849
527
302
612
421
145
605
661
935
158
325
839
700
9
477
411
268
427
39
34
923
624
640
227
140
128
426
661
886
454
182
674
440
658
19
842
359
116
859
779
317
550
492
625
822
366
203
797
215
916
842
686
941
132
727
934
822
347
977
816
924
744
678
19
688
85
817
834
158
799
54
353
535
506
210
759
762
341
830
245
537
216
274
374
966
267
613
946
68
320
977
542
438
148
172
989
722
652
45
878
975
889
558
170
583
25
531
650
195
892
766
645
50
800
623
22
114
667
146
905
722
324
526
994
773
52
27
589
100
42
498
663
291
470
250
405
156
320
376
661
996
906
579
615
10
302
168
879
536
519
186
847
245
329
546
861
98
81
670
207
636
742
326
452
142
643
329
943
304
97
259
587
293
136
622
134
564
115
721
322
281
803
40
151
994
906
135
477
77
659
848
884
489
259
197
494
618
391
386
956
318
79
256
389
770
384
911
430
461
231
409
895
411
789
164
739
735
377
157
176
799
824
134
824
490
590
708
700
596
708
723
727
883
790
237
174
215
934
262
123
12
326
712
604
366
785
94
524
418
224
101
895
954
280
677
155
728
931
45
559
731
965
913
726
468
581
331
426
328
239
662
605
295
110
752
461
576
133
648
114
195
736
172
37
261
712
214
945
386
647
895
303
695
537
627
935
975
907
655
491
764
857
908
684
614
909
822
277
328
458
365
759
691
916
641
570
141
344
317
463
817
490
607
334
668
672
694
423
635
855
287
302
443
629
478
469
208
511
178
708
877
162
194
554
527
632
446
391
649
746
906
693
884
57
604
886
74
614
422
173
148
926
486
366
98
121
668
508
206
258
75
548
815
174
443
886
86
24
39
926
646
900
998
92
537
516
43
948
572
977
164
152
88
61
171
995
75
305
969
174
841
381
49
271
681
946
965
137
537
152
485
989
229
501
713
611
651
563
723
431
296
361
135
644
537
918
641
783
391
493
695
306
900
596
457
831
825
699
605
633
106
905
810
890
405
525
531
949
107
642
256
586
345
234
483
817
991
402
549
343
28
523
866
95
438
942
263
696
526
922
890
844
592
149
601
789
22
32
795
72
123
410
465
676
519
43
600
556
499
443
126
285
489
194
337
222
735
874
70
151
354
118
972
835
143
135
853
304
940
229
465
973
841
456
57
894
310
594
694
531
60
25
658
448
601
949
178
244
503
603
411
838
783
800
820
965
272
149
69
366
463
779
128
684
156
259
525
530
141
671
608
527
272
463
202
382
564
810
301
235
342
684
283
552
60
742
663
840
131
418
608
327
12
360
245
540
804
413
316
392
857
910
881
18
220
932
567
81
252
563
346
671
452
863
934
280
311
470
684
507
30
259
284
317
56
475
662
694
688
86
237
472
463
916
70
993
629
246
534
960
769
194
804
568
590
162
897
500
915
15
956
911
207
489
213
846
282
511
364
873
467
739
119
871
112
643
319
26
256
884
330
91
248
570
402
870
275
221
279
726
111
905
644
594
848
71
914
666
30
51
476
397
388
91
729
960
344
9
171
610
536
271
353
681
901
376
730
90
249
892
294
294
864
418
439
640
361
22
657
875
963
429
524
441
367
336
927
806
580
771
638
725
477
306
145
808
324
299
123
190
187
76
53
417
982
72
255
881
891
567
60
272
997
543
933
543
322
606
82
837
856
648
521
667
808
137
612
396
48
465
789
727
647
817
597
468
478
378
169
345
97
538
940
967
477
916
789
373
757
689
728
761
813
691
974
120
369
195
506
453
340
118
189
235
287
639
185
532
183
834
616
956
165
31
410
235
605
1000
837
740
598
997
481
737
940
907
322
485
763
466
139
547
254
560
669
866
320
142
826
198
613
173
828
485
87
307
229
621
114
741
743
859
269
775
195
793
58
129
128
453
247
26
364
541
934
333
337
275
217
837
74
599
82
858
530
749
174
947
397
300
197
386
591
861
31
573
378
494
65
140
512
829
881
813
795
573
168
652
196
761
673
242
53
711
65
835
879
60
830
256
10
682
684
542
644
559
564
962
846
861
918
43
719
611
919
659
281
288
183
96
521
651
810
218
752
895
816
523
660
932
573
913
353
268
467
488
349
454
796
495
642
542
881
887
932
312
459
568
631
318
705
534
489
941
637
567
557
690
227
64
723
21
304
879
251
755
178
733
585
7
993
926
192
229
6
533
344
534
336
244
585
18
255
316
63
180
755
862
38
857
947
822
683
334
828
543
667
395
115
825
177
144
85
676
719
328
878
782
474
798
268
867
43
440
702
703
115
612
321
548
986
676
743
127
854
673
626
136
552
603
419
412
644
21
252
547
902
877
601
744
733
617
251
125
530
571
66
557
814
562
249
279
695
486
117
274
449
340
871
374
940
808
503
550
208
40
760
690
788
715
39
459
243
817
207
492
929
810
569
271
248
71
673
507
505
481
168
767
16
84
705
367
304
562
725
265
45
105
38
821
953
902
306
773
903
119
876
754
447
704
938
954
308
787
652
324
582
754
707
823
135
302
754
771
144
900
315
361
795
142
14
683
915
387
501
456
709
960
964
786
845
924
954
867
820
102
132
556
959
591
621
110
358
491
902
192
846
941
556
476
312
857
702
765
791
928
703
577
319
570
536
586
905
503
256
108
920
540
148
98
818
13
489
751
403
943
310
837
774
747
207
401
672
749
26
269
212
258
206
124
869
295
666
549
161
309
392
545
686
393
288
511
27
571
443
569
593
703
684
421
621
430
180
628
426
375
912
323
483
509
10
878
44
175
327
997
866
785
120
2
18
609
396
856
930
393
287
582
554
763
802
316
7
507
469
170
107
861
614
447
992
877
561
532
395
767
540
954
218
925
962
693
770
932
535
792
378
474
854
753
152
514
279
958
329
506
323
613
981
665
304
271
875
541
736
67
902
222
770
180
838
507
5
904
125
288
190
912
16
220
628
985
688
447
589
500
858
827
677
430
58
590
896
500
924
834
91
371
797
608
568
446
484
576
949
933
229
423
729
335
825
244
605
371
340
101
336
710
88
841
827
538
341
45
139
128
749
661
339
114
628
487
471
60
36
171
415
271
70
789
112
547
898
411
405
686
855
268
773
134
336
254
354
108
333
562
942
905
191
167
100
867
577
741
142
650
710
313
493
34
606
684
846
492
486
127
640
140
493
437
575
490
589
707
306
627
794
552
961
54
979
657
881
474
28
642
773
192
537
231
543
656
149
639
193
913
277
888
526
370
217
498
860
327
601
636
620
205
742
325
433
236
646
767
322
679
385
185
722
282
84
845
250
814
988
58
633
943
937
71
748
690
136
692
453
926
247
380
803
135
712
348
253
765
687
877
683
990
136
658
416
674
432
498
922
618
276
98
565
944
893
981
574
588
200
810
416
452
118
531
855
704
256
758
316
75
969
786
582
810
176
468
491
49
394
937
45
46
158
818
269
599
370
139
221
470
137
644
810
363
367
550
447
248
703
127
92
434
397
628
985
802
367
216
190
50
990
546
85
624
146
556
116
254
677
834
465
664
651
686
722
57
814
613
349
470
160
473
462
913
820
42
447
514
364
23
11
557
174
825
534
366
757
573
21
508
746
909
510
657
862
81
532
777
291
726
106
991
770
522
804
598
196
589
600
252
675
107
596
217
806
122
219
957
385
941
154
53
912
813
100
601
998
825
432
768
239
76
963
165
215
222
320
59
999
425
889
199
983
604
882
220
872
616
851
182
436
675
897
764
956
885
883
57
336
213
203
673
559
641
45
135
469
507
624
65
886
215
568
791
710
646
494
331
963
547
824
621
708
129
53
44
385
910
25
989
399
544
227
196
713
44
782
145
807
306
573
548
601
305
934
335
837
686
394
163
995
697
272
573
16
625
304
411
973
901
76
16
393
69
766
997
66
660
585
101
59
809
351
821
143
141
817
885
971
71
769
712
186
125
367
249
77
348
918
338
545
152
83
906
905
191
473
847
491
974
774
375
111
978
798
43
171
937
323
361
662
872
187
130
275
143
870
202
638
478
708
348
11
527
956
325
839
914
174
37
214
185
755
871
664
310
1000
935
670
592
816
921
968
954
981
754
1000
551
938
10
856
582
237
351
659
5
77
832
614
546
876
23
914
65
445
328
239
851
117
744
861
865
166
588
278
304
904
388
818
118
168
218
928
250
282
239
681
476
172
126
602
646
50
336
72
62
950
888
428
456
467
464
359
786
232
114
373
605
21
827
882
313
907
512
969
982
536
720
969
781
418
547
825
229
140
730
569
660
493
896
403
305
859
294
588
333
602
110
748
63
852
638
264
286
798
164
145
326
569
416
145
11
814
818
893
210
342
591
533
985
588
967
669
662
176
362
441
344
586
413
178
479
771
186
424
101
582
710
51
267
38
201
849
45
788
44
198
108
620
586
440
659
469
293
69
891
209
685
188
689
450
708
534
577
651
916
941
215
155
885
343
864
138
788
274
349
69
961
359
997
979
566
464
907
765
201
38
717
740
386
644
690
910
404
852
580
759
877
481
213
863
811
612
135
319
579
956
18
793
431
908
702
984
724
71
917
429
965
111
739
872
163
572
789
867
754
650
32
899
502
24
785
58
430
523
201
237
745
805
70
875
189
241
255
528
993
871
442
912
863
674
193
617
1
352
465
402
224
496
874
812
640
335
962
898
186
186
666
964
576
395
990
618
840
801
590
861
703
715
659
592
491
972
963
724
138
885
407
8
120
824
771
820
826
690
592
400
962
793
262
449
65
496
522
581
109
530
496
849
482
48
273
451
317
360
848
767
284
759
928
84
458
1
686
718
820
847
79
740
266
492
730
221
753
866
717
689
332
552
816
506
409
498
877
998
495
814
70
471
85
659
639
675
85
648
706
925
374
272
356
808
663
522
963
352
819
283
225
601
210
123
898
753
422
736
557
452
922
680
37
305
836
26
364
458
52
202
114
876
270
613
123
5
459
588
391
661
419
829
837
322
801
819
294
449
965
568
746
161
549
682
360
303
454
971
310
982
238
739
719
668
593
420
325
298
638
496
619
174
280
433
282
68
770
979
713
656
895
283
333
286
939
174
112
160
684
435
489
160
218
36
430
958
261
123
886
524
47
28
317
832
537
652
268
383
885
401
218
158
634
255
21
725
79
651
341
553
575
600
380
3
388
892
76
102
801
253
686
934
827
77
352
447
828
707
781
497
763
277
677
236
575
792
928
287
436
496
834
731
188
550
857
617
336
696
488
560
382
916
797
4
100
20
183
913
630
773
621
946
869
394
464
688
731
229
450
124
272
991
128
348
566
182
351
434
466
241
823
532
88
516
964
480
904
354
492
664
854
510
203
433
762
569
409
93
640
284
362
404
197
569
775
543
947
367
270
708
867
793
134
863
451
732
334
682
376
576
78
377
685
855
599
945
591
346
999
342
520
651
177
237
983
319
853
274
235
364
670
247
436
408
201
177
226
738
437
57
189
307
989
937
671
51
829
114
847
938
825
399
672
852
754
857
624
741
728
902
708
477
175
411
252
503
605
285
422
678
421
980
232
678
914
641
65
940
410
833
352
416
286
328
131
333
150
41
641
753
70
24
990
968
141
345
196
667
50
821
576
388
533
804
551
955
816
654
416
495
145
122
514
156
537
559
571
817
730
795
647
943
110
554
267
217
81
470
825
732
941
143
286
374
846
163
528
425
826
723
409
609
170
238
817
527
690
411
457
895
524
272
153
75
160
58
746
135
327
221
490
92
210
473
989
29
244
527
317
518
375
130
957
126
248
44
575
837
265
863
453
885
829
953
630
844
370
336
380
827
957
41
715
267
389
301
984
114
655
997
531
194
585
902
542
134
310
619
924
523
888
572
67
919
72
75
814
881
741
258
827
495
957
613
810
722
935
21
718
477
528
362
174
570
906
270
802
496
254
125
71
596
242
147
563
302
908
306
273
6
393
841
669
610
643
356
753
935
809
833
308
25
569
399
827
797
1
372
378
638
982
921
790
329
268
666
107
104
587
670
210
738
71
587
876
313
331
159
304
711
296
887
322
954
717
426
81
197
889
219
1
585
701
926
173
203
616
448
177
12
550
727
525
44
912
64
524
83
254
376
380
756
82
678
808
217
382
101
222
635
329
895
833
249
464
234
620
100
342
73
210
427
292
997
126
345
455
740
759
648
732
57
680
487
583
690
572
250
921
477
169
154
456
23
57
960
961
978
92
741
862
656
511
812
466
641
485
776
906
66
14
139
588
446
551
104
515
294
703
944
373
300
652
853
675
464
721
257
569
446
606
384
149
360
401
295
242
381
452
684
651
808
473
512
823
715
116
906
720
893
356
872
438
567
653
18
792
283
826
923
640
441
982
762
186
176
625
509
909
684
310
387
14
629
790
198
530
954
642
859
246
316
779
758
709
320
85
500
406
953
670
271
49
901
841
276
662
933
2
702
734
184
88
178
277
925
51
23
63
413
165
412
664
465
589
205
156
703
733
348
543
814
432
677
986
759
850
441
929
580
331
75
71
359
120
580
936
906
994
364
460
987
358
566
652
211
303
665
853
261
432
684
549
778
22
372
2
57
221
573
194
696
541
388
713
460
853
849
218
931
469
563
106
958
658
190
813
537
115
667
963
496
506
838
224
294
164
474
299
315
458
736
976
268
98
805
498
688
908
733
841
87
162
586
657
984
635
588
755
937
926
285
969
663
450
726
207
549
743
275
278
138
353
932
804
705
656
992
173
618
388
471
29
26
552
935
209
338
615
321
415
57
618
866
152
826
866
477
621
929
389
778
332
89
233
542
164
117
959
471
490
876
441
55
773
47
134
809
711
396
552
268
630
595
587
2
327
156
648
319
955
729
325
480
888
795
458
23
704
827
1000
210
571
69
66
729
346
428
880
515
641
380
148
945
970
444
521
754
823
489
415
701
203
106
454
414
702
316
170
847
681
146
418
480
509
959
172
747
60
8
957
131
921
342
231
77
806
89
425
125
714
121
197
682
254
291
699
430
403
758
284
691
665
392
154
949
228
890
892
375
287
24
693
414
87
407
370
410
641
250
901
786
299
863
368
552
525
46
596
733
290
137
741
888
482
164
353
31
587
466
140
149
715
190
793
963
708
261
750
780
679
781
679
45
835
342
833
718
853
371
133
668
370
494
4
108
423
855
522
487
738
476
418
380
864
33
802
630
54
891
296
430
655
812
389
75
521
555
458
833
631
464
844
760
656
259
801
310
687
432
927
270
730
72
881
906
846
473
825
181
17
573
42
582
911
147
598
386
724
666
762
171
197
927
145
993
710
865
128
928
86
448
249
627
371
196
641
99
383
658
489
206
278
113
756
245
715
908
79
548
463
63
844
265
468
225
929
355
437
612
492
318
992
317
490
445
327
257
332
118
62
48
163
284
727
334
809
293
843
431
346
165
144
656
571
780
834
395
405
615
129
781
408
448
539
835
120
851
483
54
915
417
856
744
418
387
131
818
298
773
400
414
432
101
534
431
14
645
287
1000
189
368
758
1
150
839
73
948
487
63
550
959
739
497
878
76
749
549
53
892
421
479
898
308
911
950
1000
251
130
435
817
342
644
313
521
859
744
761
851
774
467
483
920
339
854
913
402
433
538
773
24
870
93
767
577
964
184
760
984
905
696
997
47
919
473
795
635
767
214
672
994
873
367
50
770
235
562
527
121
346
268
191
956
541
826
621
986
531
5
11
741
417
499
335
118
129
559
589
379
77
87
912
682
769
78
837
425
286
239
13
660
821
991
480
817
909
843
974
803
600
255
832
313
590
762
734
829
233
52
936
387
442
129
647
610
716
482
901
955
910
381
615
339
925
46
516
546
181
456
270
914
597
976
480
767
810
837
145
26
560
718
829
195
434
352
57
686
726
101
380
43
728
925
148
187
615
19
291
225
9
686
287
735
432
648
62
674
103
133
810
236
965
521
548
34
403
254
783
978
831
3
841
80
241
801
252
203
822
965
75
493
974
134
201
789
393
714
508
838
427
305
149
557
541
469
451
872
599
319
616
921
611
952
882
529
758
747
905
870
787
869
819
221
330
105
905
531
293
362
793
282
233
686
880
799
571
706
4
710
529
765
441
761
960
816
979
531
569
364
166
917
639
364
826
426
995
979
575
424
862
552
417
476
262
973
409
863
739
846
71
126
576
540
430
257
106
217
581
755
379
427
191
331
233
697
655
445
781
832
488
262
397
295
119
819
597
161
453
388
590
572
448
67
861
568
483
631
887
436
464
514
976
447
479
622
229
946
286
348
894
310
90
748
653
179
861
373
966
728
922
632
234
471
652
896
355
248
920
773
265
565
328
113
164
477
384
334
428
481
531
611
668
752
312
316
992
151
42
840
294
68
49
614
308
129
952
681
251
198
427
682
100
911
644
460
939
174
865
805
352
685
691
34
552
558
140
208
778
542
979
798
502
178
772
499
179
467
661
746
569
258
241
175
170
650
754
923
913
109
492
187
80
918
473
909
356
815
427
802
21
346
627
180
563
591
358
237
407
336
670
457
26
730
601
830
440
727
220
431
992
322
702
701
330
733
146
442
733
166
969
179
272
752
554
4
800
560
290
452
451
357
232
275
149
881
436
193
586
15
419
839
305
139
305
155
791
340
958
417
925
937
812
959
772
916
162
358
439
496
391
574
627
9
999
39
640
684
306
222
761
714
400
527
377
224
235
703
707
325
789
120
745
502
829
367
845
993
165
631
411
646
209
234
315
975
311
521
986
821
597
992
620
5
972
258
559
895
558
860
709
612
70
503
822
910
532
563
542
418
309
989
407
35
642
899
418
728
730
211
329
928
964
643
587
955
60
289
702
679
725
765
901
684
940
608
91
757
138
216
539
428
348
114
172
646
821
757
71
374
824
368
579
90
19
579
377
668
303
721
87
123
80
691
187
43
657
232
524
305
893
329
283
845
265
182
63
856
239
858
599
742
207
309
773
591
279
921
766
689
900
111
598
854
611
812
862
931
262
848
131
858
632
315
386
102
749
93
850
119
132
499
720
726
824
954
697
908
354
205
612
661
707
324
152
890
957
210
438
291
487
773
188
381
601
322
271
523
916
954
765
905
106
867
12
874
484
622
745
963
393
333
126
221
593
642
373
195
663
144
731
988
917
588
735
373
524
807
65
851
283
811
809
879
20
918
612
232
652
73
35
613
772
774
392
159
32
120
523
494
683
556
191
269
403
806
309
989
916
361
750
24
993
631
295
337
114
524
181
431
479
803
772
403
41
12
137
822
952
193
673
329
137
841
490
485
719
791
939
414
658
787
553
207
286
529
659
895
389
854
107
30
93
585
866
563
114
249
750
763
839
530
133
370
317
853
348
51
480
927
379
480
808
424
596
68
228
256
508
418
238
14
966
106
131
270
791
249
709
353
557
645
78
144
131
974
937
173
623
667
295
37
603
546
671
720
787
306
677
925
918
206
326
936
228
97
530
822
702
48
47
60
338
398
559
746
733
995
644
617
639
780
184
53
540
612
115
58
971
432
513
996
994
432
717
513
219
888
557
618
802
719
788
420
98
619
519
351
29
842
766
3
771
300
236
934
66
695
140
834
319
793
108
506
664
821
259
989
323
158
102
990
949
193
225
505
88
229
647
136
551
793
324
160
280
570
522
833
241
451
696
780
979
855
53
549
734
590
208
595
444
965
208
20
528
818
730
351
76
368
428
549
954
548
283
194
390
577
257
520
802
48
748
539
969
728
126
10
191
627
111
439
713
591
862
582
561
862
441
163
867
560
742
657
944
44
55
997
628
420
206
49
897
285
593
490
323
946
524
546
752
932
939
641
447
632
25
638
71
250
208
764
73
107
716
761
451
513
260
15
403
25
352
674
78
967
432
824
486
493
326
815
668
297
459
723
355
337
928
779
698
569
784
295
132
747
818
251
59
790
725
255
840
111
802
23
539
524
182
870
959
85
227
961
775
239
871
243
998
198
596
24
564
314
269
166
584
554
210
707
681
875
741
550
861
408
950
515
607
888
546
668
199
695
506
344
796
192
684
688
496
798
644
859
383
382
798
253
586
96
343
260
487
739
569
74
522
118
890
28
478
610
330
795
756
336
250
518
890
933
850
609
485
891
309
533
832
822
490
354
685
833
809
201
78
389
192
100
595
638
73
817
209
234
11
443
678
81
828
470
459
273
137
6
328
752
735
601
158
829
635
884
837
776
437
830
918
172
325
18
396
517
222
687
956
920
553
739
149
349
616
95
196
987
767
971
569
764
513
721
47
995
137
828
679
384
643
568
5
339
664
593
875
679
490
408
463
316
476
325
388
432
970
927
386
2
287
573
646
256
463
693
737
803
211
939
50
722
26
313
801
851
394
479
945
886
873
387
803
677
173
179
795
269
446
128
463
830
709
993
843
600
672
758
382
376
319
192
759
865
222
44
408
442
944
986
66
453
873
582
364
241
474
694
346
479
282
711
804
253
881
919
503
549
781
139
667
472
367
478
608
545
998
679
996
924
991
84
78
216
403
678
94
850
470
2
235
638
113
24
789
255
121
174
485
825
521
833
672
733
144
562
660
61
601
182
476
752
714
676
284
747
955
500
983
820
575
547
776
807
948
486
95
212
97
613
869
963
495
662
983
182
18
275
764
430
359
919
432
830
303
101
783
817
8
684
807
66
844
913
542
307
395
562
255
322
957
254
917
404
222
557
63
967
877
972
319
790
529
262
294
572
707
904
52
117
688
599
116
471
543
898
766
756
134
997
453
291
707
670
281
828
414
113
860
363
317
227
300
53
393
451
765
209
647
844
781
220
681
509
475
512
966
839
983
337
638
299
581
268
841
623
460
755
521
373
675
16
94
783
527
809
610
695
500
352
863
160
955
798
393
999
948
128
497
188
925
335
150
469
538
28
225
957
507
376
510
877
275
440
806
756
184
478
813
530
32
802
624
82
187
88
363
639
846
845
936
337
672
909
906
981
783
409
221
728
991
652
905
958
257
764
842
83
589
718
457
428
945
605
483
592
299
608
923
907
706
146
61
692
39
124
606
16
136
995
70
599
198
650
73
279
662
732
572
222
220
71
921
650
307
366
277
442
161
121
106
355
538
95
444
999
230
227
142
942
830
51
523
473
597
134
757
635
840
945
790
101
979
871
850
353
342
805
390
410
766
853
814
27
312
207
522
921
726
178
565
47
812
706
718
385
544
408
866
989
564
364
406
321
715
398
762
950
359
571
247
818
568
960
223
132
695
573
916
859
436
427
319
519
297
392
311
633
237
406
511
774
395
51
390
605
995
278
890
712
928
297
81
293
67
238
446
960
44
228
991
32
92
940
703
675
566
522
859
175
930
32
286
430
295
171
961
497
124
139
283
626
307
912
927
777
635
96
447
51
643
777
681
798
890
482
602
449
24
431
443
256
388
751
811
202
491
236
31
315
416
512
155
502
118
202
886
795
606
767
196
616
192
264
551
233
390
142
460
118
494
557
555
306
596
431
513
183
591
604
900
348
713
989
484
329
277
615
622
963
603
775
88
203
548
297
120
953
661
110
500
284
774
874
224
69
714
433
666
607
948
225
195
308
159
619
860
882
164
325
122
753
127
653
595
619
711
418
421
190
675
710
203
108
437
583
396
997
289
950
674
394
273
637
63
29
216
568
582
578
58
540
700
504
386
905
186
95
68
724
825
120
952
676
25
790
884
39
565
886
711
603
607
943
498
218
614
420
937
18
10
583
807
61
251
689
379
225
483
710
879
744
106
432
458
677
378
300
644
940
653
759
921
275
992
179
894
674
615
662
486
323
161
165
758
91
756
422
229
960
673
56
17
554
757
161
748
102
846
359
926
761
139
12
370
208
842
842
434
797
427
658
909
412
557
307
935
298
36
223
765
831
169
159
955
156
559
758
365
82
666
672
423
439
439
796
226
339
947
34
405
453
205
737
155
440
328
557
460
120
759
33
359
890
523
645
11
94
398
414
480
774
446
409
361
304
536
654
831
894
411
13
274
835
334
601
343
693
556
138
239
328
695
473
2
747
584
164
831
332
333
642
793
882
142
936
802
269
861
414
414
228
433
236
803
954
124
526
289
743
875
306
880
833
218
358
646
25
911
54
133
370
911
93
675
443
280
798
196
260
421
321
40
914
347
654
412
395
753
811
269
848
322
951
873
749
62
462
778
82
436
264
693
621
737
641
564
852
429
945
181
904
180
428
829
89
909
253
794
305
458
482
45
607
431
457
19
698
328
527
259
978
371
520
586
31
293
700
614
139
928
222
639
460
688
234
404
36
828
853
777
645
979
236
135
864
585
809
104
375
737
529
404
686
373
743
675
951
998
802
585
498
855
95
992
8
963
568
605
35
559
148
443
687
249
649
328
860
616
949
826
351
135
187
318
560
950
722
348
259
534
426
992
69
254
630
757
879
619
732
447
445
334
1000
488
758
337
618
464
637
649
380
973
138
248
730
476
52
129
32
513
733
408
65
500
959
608
732
350
343
245
884
323
50
450
986
836
242
644
67
445
692
205
25
847
499
688
906
556
677
363
199
830
671
772
562
569
529
561
621
132
542
37
678
469
651
805
189
509
822
339
896
512
877
545
334
947
1000
205
247
526
228
691
123
206
767
490
673
349
915
895
564
716
674
679
152
665
900
684
243
733
979
58
180
762
558
275
638
887
831
195
581
971
242
152
746
531
227
452
902
828
809
749
858
516
429
467
864
200
398
795
626
308
742
841
618
920
12
188
757
581
854
454
794
681
717
446
969
669
149
146
573
224
490
96
60
548
674
696
282
73
32
556
207
223
679
327
239
360
87
368
856
663
921
182
844
483
78
843
825
695
137
475
153
633
98
467
470
487
385
286
419
457
567
630
35
514
151
198
343
375
99
534
551
169
430
238
22
321
391
345
894
389
180
820
829
924
165
921
860
960
833
661
723
402
486
711
388
384
803
867
711
696
989
644
268
460
136
646
466
593
828
98
972
969
767
362
335
883
391
273
459
107
22
883
214
798
82
562
63
567
314
423
47
263
725
738
845
403
208
348
926
731
388
53
995
85
267
649
24
613
676
566
180
377
365
28
870
579
799
300
924
938
395
824
685
249
957
40
392
791
542
212
769
35
857
875
200
56
544
409
194
172
395
791
107
580
627
818
269
183
820
930
690
382
34
338
533
326
918
306
396
28
317
283
251
758
27
108
553
359
833
622
665
475
928
869
220
191
107
498
470
260
911
134
985
904
993
238
277
187
578
423
79
49
808
292
24
436
160
582
409
371
862
836
603
437
436
864
381
901
71
971
159
627
512
309
629
999
558
738
831
319
48
256
3
500
443
406
901
472
707
78
438
356
223
735
594
370
894
467
566
419
436
173
28
481
75
846
182
260
533
194
37
18
235
747
924
164
115
238
866
970
270
236
789
702
992
955
972
626
364
712
343
521
709
705
420
854
655
674
739
246
486
539
612
665
741
268
904
639
739
99
339
816
820
717
512
418
607
150
390
492
528
953
604
357
167
713
212
322
755
40
972
594
252
981
355
244
19
212
664
263
63
501
691
14
162
615
226
863
984
315
651
342
461
88
550
997
293
18
956
960
413
551
427
386
673
940
588
113
776
848
191
290
726
917
1
266
652
119
39
742
892
347
778
24
666
30
917
238
461
494
263
555
542
453
64
762
600
246
867
24
627
416
593
320
572
783
72
807
160
420
714
347
575
867
342
510
346
434
464
651
872
701
444
61
526
173
55
783
137
576
922
394
997
478
209
973
203
751
695
486
289
877
91
37
623
283
34
792
935
667
698
887
735
762
397
308
53
105
824
546
142
152
863
824
277
515
962
818
794
197
158
103
842
424
754
989
95
113
495
25
880
37
860
225
704
495
742
958
215
642
346
551
968
677
630
873
221
777
967
546
151
977
12
986
530
237
951
177
891
548
389
926
660
260
154
378
563
792
213
715
841
465
686
309
467
534
692
76
607
378
388
402
18
425
82
830
948
637
764
618
373
269
726
415
75
188
229
541
159
246
293
784
91
78
794
214
231
223
994
213
136
651
542
857
641
616
731
775
785
257
524
858
240
519
441
513
766
782
911
692
587
38
102
577
299
596
551
651
92
55
165
834
587
741
260
537
573
867
371
743
288
452
484
714
645
416
215
490
1000
335
185
149
625
61
534
670
59
779
63
362
871
97
961
25
218
456
487
400
738
491
225
19
985
960
737
258
573
522
555
255
690
944
423
368
419
299
648
14
569
320
201
63
370
362
968
431
421
367
146
163
738
805
345
85
643
812
384
64
457
659
115
6
683
238
870
994
416
464
300
391
222
379
400
305
625
249
553
526
627
152
236
975
412
381
867
699
490
493
953
690
57
980
274
123
282
347
375
165
550
867
37
124
445
370
700
589
396
241
63
133
456
199
196
350
647
554
530
237
676
357
69
421
575
283
959
315
25
130
367
62
676
555
230
32
791
999
39
731
921
844
275
196
121
455
508
339
437
177
436
265
991
282
371
257
31
577
722
15
715
644
92
714
255
686
464
640
281
548
800
477
910
778
97
798
85
520
552
958
193
622
62
380
834
587
683
154
887
906
65
25
697
871
94
45
288
163
175
637
992
409
604
364
792
422
517
433
959
1000
718
867
303
41
525
290
421
188
434
512
912
410
13
412
388
691
945
179
501
510
538
584
900
877
352
838
210
508
805
529
659
105
754
291
939
863
92
148
260
13
322
912
313
643
943
654
54
103
224
991
779
4
604
870
969
180
522
615
774
57
962
212
807
494
381
205
121
559
946
133
858
663
237
110
99
144
655
34
838
704
755
907
851
55
689
923
493
766
708
300
51
578
420
334
387
379
143
753
20
636
193
286
693
318
431
274
710
252
700
288
38
407
81
961
226
836
10
666
689
842
422
244
818
507
994
737
644
870
518
930
526
901
134
590
429
907
932
470
883
173
956
497
638
419
201
90
372
161
574
227
533
157
128
667
556
900
79
779
244
575
270
504
51
959
768
305
380
510
218
408
778
299
450
235
84
460
550
691
160
618
315
894
854
40
546
13
197
376
102
101
671
448
60
200
591
973
559
550
225
26
134
425
349
773
435
966
311
243
227
418
539
944
483
325
676
686
187
573
121
307
224
648
882
888
301
118
34
665
451
138
977
80
58
728
966
309
714
685
25
192
483
239
478
661
278
7
804
691
155
343
405
265
287
940
213
87
261
416
722
576
127
655
197
185
325
882
286
258
219
817
229
416
447
735
145
952
743
962
669
839
182
140
320
710
16
594
529
631
425
236
260
563
521
797
459
155
895
549
378
925
831
362
2
937
108
651
344
791
899
704
420
139
932
969
73
934
468
90
629
345
96
878
575
562
587
952
68
764
267
477
92
138
460
289
527
161
549
699
202
325
131
451
259
108
536
634
812
255
735
799
899
394
258
228
224
588
303
31
24
660
655
742
682
64
365
184
369
599
429
609
98
501
829
580
37
311
392
601
868
455
890
245
217
632
674
437
956
990
941
553
239
520
401
233
678
275
733
141
4
845
708
432
852
947
272
336
93
146
206
117
250
477
190
630
101
197
251
843
521
960
574
978
1
468
648
394
10
69
505
915
597
797
637
92
160
105
771
788
345
876
286
572
401
365
526
608
118
367
639
154
729
282
845
289
693
734
256
212
378
36
447
309
30
133
985
183
273
605
52
41
631
924
88
111
183
459
123
296
537
649
94
869
759
342
973
825
755
563
975
459
874
873
479
826
181
32
518
30
938
901
894
691
298
398
8
502
135
831
489
553
228
136
580
957
722
378
20
366
904
377
858
177
853
454
248
560
452
147
736
980
581
145
19
533
47
888
426
248
963
986
617
499
818
101
127
786
464
992
402
463
595
188
936
420
61
148
955
347
548
833
851
963
736
322
229
521
18
494
1
951
290
798
434
280
96
847
437
296
633
896
653
24
741
258
132
243
998
383
429
153
504
616
20
288
740
626
793
973
138
115
214
929
654
704
501
97
663
806
740
428
984
924
437
143
677
9
433
941
548
466
451
727
963
921
825
695
656
94
85
33
704
988
163
76
751
147
964
469
838
886
903
799
939
283
810
188
375
186
308
538
846
651
332
491
707
41
4
661
467
480
471
375
230
470
606
980
935
271
755
757
810
73
783
632
398
61
734
131
912
267
379
525
405
453
736
688
433
364
436
949
506
391
448
165
535
73
254
284
968
857
41
936
40
274
836
930
797
977
837
131
185
124
334
854
480
220
757
778
782
844
368
408
140
664
31
263
83
757
320
306
11
521
922
612
917
423
972
902
419
392
430
368
876
935
103
170
699
946
242
81
616
728
898
27
707
995
392
688
579
459
304
895
873
153
386
294
662
822
662
642
954
558
766
125
666
345
272
307
931
341
368
676
549
526
711
238
701
820
744
323
800
884
45
552
511
613
506
916
476
747
295
57
306
128
555
122
707
875
757
24
407
148
466
543
725
239
51
463
201
446
484
870
698
537
12
790
774
668
890
604
948
289
783
38
654
908
726
99
332
588
715
994
93
709
99
961
841
827
960
923
564
429
574
64
730
12
848
754
403
190
384
701
710
461
418
894
763
861
437
648
23
994
721
45
313
785
381
154
435
938
760
681
352
205
187
126
455
529
163
76
273
596
18
33
332
537
979
22
541
366
344
296
625
215
183
646
621
622
559
182
404
878
776
953
522
968
588
473
374
715
580
998
896
538
211
434
486
661
89
840
851
716
106
840
817
397
11
652
922
265
835
91
790
836
329
651
857
804
273
676
20
648
25
733
163
850
217
512
341
687
821
959
568
882
155
928
821
368
538
286
844
134
440
309
805
357
957
192
653
67
359
668
296
136
278
78
345
737
826
672
220
283
551
612
891
509
702
893
372
551
685
386
362
830
964
288
109
69
904
544
651
8
221
202
74
256
761
279
339
218
318
389
503
277
71
330
900
178
6
834
933
125
384
886
668
214
924
401
341
650
846
533
224
662
377
560
25
140
581
147
162
821
658
721
780
256
941
869
370
905
882
952
161
434
246
562
293
714
595
88
893
59
878
390
811
968
630
507
720
12
830
420
702
520
948
88
256
416
94
388
826
900
464
132
623
652
478
19
481
900
85
252
942
2
739
556
601
156
452
504
962
474
125
378
715
933
130
287
399
658
697
872
853
571
222
776
760
693
53
930
810
299
654
902
727
665
300
733
466
376
623
163
384
40
401
709
69
762
933
764
849
941
257
815
658
777
220
883
103
368
131
524
63
459
299
53
77
677
289
184
151
573
120
957
286
923
957
620
244
483
73
137
571
876
971
138
879
335
631
387
744
801
725
327
352
272
571
865
192
342
279
288
701
624
252
177
726
74
751
202
75
293
704
961
254
576
342
376
643
774
498
737
45
91
620
152
489
537
652
45
665
110
913
338
153
713
51
138
862
464
939
49
756
300
121
754
967
757
28
97
878
341
749
732
606
217
545
335
608
780
684
489
768
298
391
597
463
961
905
640
542
622
676
114
81
965
705
264
66
83
951
580
868
254
458
600
483
204
590
229
37
321
340
178
975
68
197
595
699
309
453
676
146
422
153
832
942
793
126
992
338
768
654
747
69
206
359
336
652
533
872
939
421
590
650
325
741
647
85
685
468
645
714
387
674
119
896
476
79
281
796
960
415
423
907
332
163
126
606
281
725
802
461
311
94
694
80
767
535
804
306
843
606
185
481
274
91
631
308
777
75
105
563
734
418
153
564
313
371
175
790
959
914
639
542
178
698
238
850
615
110
570
92
717
107
103
958
653
913
83
462
788
602
562
666
692
868
908
668
588
11
9
197
155
252
858
837
839
60
388
516
146
40
213
386
936
316
410
642
363
53
585
147
993
920
267
932
547
835
84
808
901
308
279
325
253
54
876
275
807
312
192
792
951
492
465
825
653
353
86
471
727
908
274
161
679
625
93
230
115
340
364
727
19
453
385
643
816
633
370
909
794
260
144
624
326
256
989
972
354
808
456
201
756
700
596
854
545
642
361
167
338
13
823
175
156
914
488
606
418
269
191
85
951
11
5
519
926
27
110
793
906
667
825
50
610
70
846
923
565
476
286
42
553
993
277
21
656
994
755
918
732
423
523
862
358
842
866
118
651
927
781
395
857
501
352
585
305
914
950
457
107
707
667
44
12
83
876
603
915
641
871
43
857
202
295
680
761
324
472
19
797
288
814
1
995
901
187
858
672
479
507
228
297
739
833
701
654
151
960
338
558
509
793
967
905
75
843
282
565
692
781
856
452
679
348
187
141
161
844
795
561
700
66
237
627
793
829
584
126
785
149
580
867
265
752
215
833
841
819
877
70
467
787
624
138
185
576
359
206
211
834
833
306
793
673
509
826
161
865
253
50
197
701
722
458
151
509
109
525
842
355
563
962
331
588
250
709
932
717
487
492
806
546
808
426
92
648
135
972
695
4
460
547
376
104
556
208
791
863
283
127
432
470
997
50
248
698
423
496
871
240
88
244
957
375
92
587
148
626
564
855
559
105
600
8
489
926
878
427
254
399
444
626
687
736
311
260
832
621
667
701
800
339
451
450
616
102
982
809
59
842
153
593
228
19
406
109
537
915
345
294
360
502
389
690
380
186
282
868
975
664
665
46
649
653
125
893
612
524
337
925
71
668
956
496
728
26
907
89
257
348
581
525
243
603
261
744
188
477
752
995
715
4
838
665
1
245
650
455
834
336
466
286
410
397
769
178
140
533
620
265
277
627
534
304
156
691
68
305
161
296
294
341
361
9
165
252
877
820
534
667
668
258
265
724
381
281
424
926
342
9
7
805
517
129
81
460
536
63
442
569
441
31
137
181
863
804
263
454
761
202
487
511
677
416
606
754
703
815
334
308
10
185
171
748
843
308
887
891
311
330
653
238
223
672
326
596
433
84
710
519
878
57
903
473
542
972
971
37
100
277
285
43
864
493
808
273
971
36
508
243
457
675
871
607
972
978
150
968
421
190
621
189
722
868
593
841
240
3
347
86
147
510
484
112
163
758
406
225
621
209
752
838
812
354
678
897
892
886
804
720
433
417
470
849
839
156
762
261
483
632
355
223
355
961
847
123
454
141
697
875
918
592
280
846
133
453
836
834
639
174
312
300
706
589
170
918
849
953
242
537
401
409
644
789
515
965
546
927
569
330
356
953
47
918
468
718
406
890
290
488
285
369
695
424
729
872
395
500
726
530
977
684
477
938
526
601
287
283
806
478
870
986
951
909
157
238
509
856
407
675
439
350
540
912
389
565
115
842
158
273
331
368
751
226
730
759
866
660
42
888
942
952
751
432
143
439
512
518
772
547
510
410
647
671
209
566
916
692
720
804
632
641
184
380
168
754
153
475
214
110
954
998
659
108
379
595
137
250
895
488
407
133
745
48
3
38
918
77
799
259
24
359
228
125
495
388
888
720
394
137
202
444
338
366
595
903
695
203
383
88
265
740
202
442
111
893
335
215
70
89
736
443
741
220
922
9
444
843
105
495
693
870
171
963
243
815
110
359
660
222
524
2
653
81
691
464
135
859
473
218
69
301
15
635
702
279
825
238
707
803
280
671
64
753
69
485
291
24
338
672
752
551
597
868
324
125
508
276
680
975
763
656
779
879
185
182
970
927
12
562
234
153
122
606
732
951
579
302
769
562
473
581
712
964
485
158
173
144
992
222
3
136
828
307
246
120
974
367
215
620
599
930
279
80
819
233
817
91
516
387
972
180
319
981
546
302
614
962
381
172
51
337
69
111
579
955
660
358
459
660
334
696
61
140
678
795
519
108
269
898
456
856
789
338
81
784
762
916
907
256
320
344
259
22
109
797
483
471
570
130
483
199
328
442
815
727
376
512
63
714
50
70
632
671
547
1
407
39
880
361
979
425
704
503
219
978
427
726
70
148
353
585
326
531
417
413
41
118
208
663
968
9
572
407
63
600
101
668
688
291
167
333
592
32
995
43
166
375
462
815
699
283
928
146
622
605
419
998
757
18
924
381
652
233
379
197
951
426
175
661
596
199
642
868
356
839
51
13
825
282
98
376
570
9
722
417
532
4
364
238
149
63
468
215
923
954
84
838
310
404
954
661
882
398
321
780
671
78
36
460
517
344
222
366
986
379
887
352
157
444
377
894
138
711
510
110
705
376
551
726
861
969
923
495
417
614
713
354
939
971
568
30
516
710
533
899
867
701
763
659
212
503
788
761
212
391
220
628
22
886
331
377
162
695
956
168
487
28
567
290
3
500
126
819
655
206
606
992
511
117
597
465
940
619
515
242
499
894
298
421
230
856
345
813
4
502
663
155
338
892
870
894
855
429
702
468
181
764
194
578
608
438
506
224
288
321
676
157
91
22
252
957
496
697
822
189
43
114
976
933
968
389
94
522
583
572
701
514
865
99
796
753
502
228
697
884
317
728
471
819
622
484
926
491
533
162
481
673
691
766
988
769
174
753
694
269
571
318
102
987
356
637
459
290
706
135
926
290
881
279
297
344
90
39
280
291
575
891
965
577
249
166
52
756
841
628
852
916
952
394
853
259
785
688
844
385
660
476
222
853
536
726
120
222
935
891
417
108
618
221
528
735
300
698
111
96
492
686
477
117
302
895
530
144
628
875
531
668
748
68
846
454
717
377
104
136
360
339
861
906
892
233
966
136
344
883
298
643
77
489
452
848
598
546
238
246
807
813
579
455
558
314
510
610
151
578
475
25
913
667
85
829
599
54
805
800
688
87
772
681
19
604
129
93
414
228
763
557
46
30
340
254
397
531
843
886
530
457
646
404
307
294
293
426
892
410
736
910
578
477
811
967
508
969
76
790
368
746
981
304
483
150
513
519
51
538
105
552
429
914
593
932
494
167
441
131
105
428
294
193
594
232
149
12
45
502
79
22
831
850
503
52
522
316
456
656
802
487
156
494
472
855
471
229
995
407
524
976
236
687
800
548
283
997
574
621
234
973
382
462
868
505
586
50
939
867
746
277
683
946
669
381
757
688
488
940
474
204
97
573
681
518
541
926
47
595
760
677
830
111
188
59
444
414
280
828
241
266
989
706
2
232
594
69
518
58
30
58
559
965
58
336
210
561
203
461
284
984
365
177
30
973
408
989
872
786
836
49
272
277
875
730
92
994
880
269
49
835
30
488
922
705
675
952
203
559
563
849
772
461
369
520
15
556
652
841
515
355
359
606
67
391
497
612
334
45
437
451
870
359
589
863
603
697
863
106
128
418
413
978
307
128
664
39
750
661
483
62
732
656
707
970
961
500
899
336
414
448
349
10
148
924
853
616
583
366
713
454
277
502
756
809
594
591
896
795
21
10
908
647
84
539
649
790
946
830
894
120
839
846
346
677
365
518
130
294
612
433
273
851
741
191
231
502
381
926
555
603
736
608
129
87
778
946
266
741
274
112
122
165
695
47
515
177
237
815
265
125
284
312
570
816
649
676
802
803
848
880
318
327
461
355
540
553
373
924
606
623
316
12
356
665
666
855
269
144
884
412
261
837
358
756
897
266
642
15
694
666
246
335
637
409
222
917
971
346
727
905
584
707
670
807
65
57
291
154
560
280
245
318
150
726
339
749
334
479
609
435
573
138
783
13
582
663
542
833
187
586
197
216
140
338
513
310
223
530
482
243
347
763
752
695
118
971
301
658
528
328
670
882
984
489
762
433
928
302
741
884
637
153
90
857
638
782
210
51
368
777
279
415
310
917
247
846
875
204
960
623
724
746
402
823
36
586
968
121
503
232
475
704
448
883
364
521
523
323
172
698
912
3
873
793
818
113
151
454
277
323
1
203
41
454
323
299
333
533
309
67
771
584
533
649
673
8
578
859
220
612
960
739
700
174
860
413
143
937
880
73
198
566
656
274
2
934
626
225
163
540
700
436
678
500
879
904
789
848
89
6
292
269
642
405
818
530
757
554
928
598
521
864
655
823
524
173
310
655
157
944
929
60
201
521
741
173
947
855
442
756
506
352
841
726
400
850
659
333
766
326
898
592
742
589
174
205
648
95
877
539
646
26
835
168
407
952
388
126
186
699
448
306
391
556
159
331
385
574
223
875
785
498
832
607
969
846
418
863
843
734
105
695
194
323
823
187
85
160
550
757
852
307
34
740
204
824
638
693
826
104
685
733
670
584
774
694
800
559
57
52
267
186
409
383
997
266
750
573
59
75
503
118
53
342
342
658
508
425
915
283
385
917
200
273
749
175
504
667
675
720
889
452
250
87
3
246
332
422
834
41
352
95
956
954
41
621
170
960
417
462
281
280
761
619
963
405
585
522
246
773
796
375
214
732
366
12
919
776
789
293
327
948
570
283
394
989
760
731
974
40
298
895
335
673
553
372
521
589
987
370
641
598
297
866
453
372
759
122
293
44
748
369
457
920
542
835
667
463
636
888
110
229
717
809
881
608
360
567
330
87
276
40
961
230
657
317
24
724
722
57
890
669
116
428
612
732
206
781
833
916
624
60
337
482
646
935
88
983
138
757
564
472
794
762
572
671
378
376
462
335
514
82
883
45
304
89
769
442
749
946
247
225
497
324
559
327
906
420
890
306
812
827
179
379
667
258
653
497
896
204
789
511
445
483
881
813
460
612
187
765
992
158
902
892
398
484
825
55
872
851
640
781
126
429
217
513
820
575
160
767
754
713
142
138
194
212
206
583
953
955
333
708
29
704
23
577
626
931
573
160
422
520
14
669
753
648
369
900
240
169
44
190
21
56
637
744
386
783
425
913
100
68
74
446
115
42
901
886
685
765
132
36
135
949
162
879
650
939
784
399
485
237
713
528
957
365
500
820
419
418
126
524
150
451
107
455
804
755
992
408
575
150
464
916
747
659
115
817
667
298
129
447
449
300
752
266
939
744
431
389
537
441
943
784
515
953
644
889
336
759
251
997
337
937
165
63
842
187
436
488
398
689
896
72
378
38
886
517
623
504
231
820
158
925
841
424
252
825
348
212
273
766
726
315
850
520
709
217
813
366
121
844
295
724
965
146
125
368
197
183
367
653
673
894
444
586
642
513
792
20
518
78
390
986
401
612
867
957
947
285
52
833
759
379
16
587
410
885
669
782
590
371
898
639
622
128
134
930
798
683
926
746
521
459
812
88
280
763
319
330
853
282
407
809
928
982
40
210
564
612
876
930
508
49
232
333
411
336
610
647
428
604
31
268
478
26
398
408
735
558
852
363
522
526
881
118
854
32
516
704
323
755
510
448
898
962
844
275
460
449
230
259
590
705
558
959
201
779
384
407
94
235
621
281
418
78
580
452
309
751
375
29
706
106
501
48
427
786
84
157
147
582
899
13
811
147
755
602
373
927
267
377
481
266
338
930
866
437
913
899
770
798
681
929
669
323
448
843
949
548
848
567
935
351
896
26
867
50
657
943
986
18
944
402
906
393
564
138
807
479
48
706
819
121
245
102
162
687
392
939
219
280
496
977
740
443
948
685
808
964
311
489
23
317
101
563
610
918
251
328
788
653
602
307
795
53
473
630
436
107
823
259
859
934
22
980
553
429
556
286
240
593
261
565
395
438
848
400
652
234
539
386
213
420
603
589
702
663
479
654
608
374
943
633
575
541
473
781
315
833
569
935
851
771
279
613
124
225
608
616
750
612
799
774
839
950
680
411
358
353
437
302
464
663
180
129
621
624
617
939
36
454
11
692
190
681
344
741
780
878
255
37
375
242
925
892
523
57
519
381
798
708
192
867
526
295
952
632
518
858
860
351
167
924
156
964
695
333
878
531
160
335
501
820
88
512
881
693
219
399
562
869
933
594
111
231
355
735
675
684
16
981
421
493
228
535
850
152
973
286
223
86
231
904
535
908
132
550
492
551
225
917
956
283
447
505
193
543
114
850
30
561
313
956
745
912
671
299
91
551
324
620
374
332
305
139
909
745
276
7
490
371
680
527
755
586
954
164
427
147
376
415
477
610
518
380
174
964
8
272
851
487
524
162
962
573
481
972
677
226
899
93
809
954
313
62
367
68
398
372
392
755
187
866
10
828
369
149
867
799
182
115
152
718
853
961
483
290
328
92
781
911
338
865
124
612
436
467
260
369
711
103
121
878
371
302
180
701
198
367
967
607
189
914
392
81
368
6
781
193
815
577
692
480
476
764
651
34
195
239
905
743
712
857
203
502
92
748
348
280
147
503
21
104
948
251
918
382
438
205
778
522
502
771
294
440
580
395
187
397
66
120
983
586
263
256
139
11
662
651
205
520
634
812
651
268
428
515
854
545
520
607
459
602
971
416
23
86
397
571
404
731
600
40
829
201
670
893
953
370
603
641
531
858
68
985
468
335
13
473
175
9
185
873
98
643
511
30
256
710
490
594
398
534
422
307
137
820
341
431
43
546
956
535
208
50
816
69
245
35
130
88
30
369
399
6
743
789
53
539
947
52
832
794
474
639
480
54
908
878
682
952
290
188
838
587
485
253
417
624
336
77
121
583
322
275
49
318
950
425
354
157
516
16
647
313
199
322
538
928
651
527
257
555
415
551
255
999
486
355
49
132
340
898
359
763
528
578
725
655
755
723
432
511
985
624
497
142
689
672
924
30
833
412
188
205
583
678
158
673
979
564
248
663
28
642
627
579
779
721
745
876
918
449
251
28
369
224
628
406
157
202
529
115
577
689
808
831
265
820
757
217
383
234
865
785
505
405
736
946
180
389
435
568
395
12
654
561
307
949
557
904
707
713
53
27
615
296
566
676
336
118
76
198
35
953
293
722
632
726
400
811
391
405
655
27
71
766
550
268
960
426
915
890
375
412
503
395
490
473
182
892
439
527
766
648
697
876
925
767
695
319
354
470
447
870
580
479
747
561
348
744
137
732
536
112
424
273
938
573
1
536
43
396
588
995
162
821
327
303
870
946
322
69
731
135
836
564
729
551
365
548
637
400
693
600
798
99
892
650
468
836
905
889
866
961
24
887
597
193
85
518
924
924
655
269
679
754
825
590
240
999
491
227
128
94
160
885
217
693
380
146
498
820
870
306
593
566
322
664
954
722
597
870
782
168
767
109
237
73
32
268
400
680
50
750
834
9
638
262
284
842
97
724
232
213
672
441
551
1
750
807
482
349
470
103
504
363
330
414
457
959
253
282
424
775
303
474
504
784
930
191
556
629
160
70
411
702
647
606
850
707
872
998
855
755
52
944
232
63
536
637
771
965
538
74
481
261
81
762
312
893
934
124
1
561
130
210
317
159
390
787
40
880
405
545
477
367
447
931
154
612
266
95
621
146
515
494
977
639
264
32
786
277
274
958
584
106
809
374
16
91
707
917
11
817
326
54
48
608
776
502
722
301
506
457
324
129
967
688
77
904
517
65
997
221
196
750
109
480
287
110
859
323
811
395
151
519
232
365
368
408
690
321
117
777
21
488
198
428
654
249
488
770
265
551
990
487
698
672
311
680
231
645
224
950
778
857
743
532
938
720
399
955
134
867
963
709
267
36
933
14
389
613
488
145
933
893
472
690
923
216
199
771
432
506
518
524
244
198
626
53
342
195
576
701
358
264
298
694
568
269
214
131
368
700
199
851
417
258
743
931
795
657
639
425
598
376
421
496
354
839
90
274
527
375
362
615
180
363
783
422
528
167
590
361
738
813
120
601
824
881
886
678
905
758
205
704
399
217
383
911
964
251
36
985
117
281
64
694
500
78
171
87
704
262
599
946
426
784
903
220
450
613
194
891
651
730
261
95
758
626
374
348
93
724
377
418
888
547
887
710
60
969
26
44
524
623
142
352
216
365
384
122
12
726
861
407
625
437
308
802
399
455
877
115
619
388
689
346
618
846
246
218
462
70
684
726
454
99
98
88
69
881
859
31
128
965
914
564
251
857
571
276
637
674
140
689
231
481
119
437
199
567
325
814
423
978
469
800
421
809
204
773
703
117
611
954
51
846
397
90
670
789
843
3
425
484
667
410
631
875
534
845
989
742
888
635
294
184
162
582
478
876
171
453
415
471
692
407
647
210
807
222
883
810
572
543
648
680
970
421
983
841
926
66
423
225
336
118
821
654
717
695
726
424
60
168
159
343
949
889
633
28
778
95
134
484
205
813
664
271
565
864
610
71
67
31
866
113
19
1
157
665
221
983
478
810
903
771
870
786
303
600
49
446
15
367
548
822
778
622
99
336
217
320
951
953
409
456
718
428
794
581
123
885
117
669
686
116
574
993
36
399
277
424
997
93
480
99
24
984
755
461
894
146
439
501
754
82
240
445
778
43
835
217
725
710
666
770
603
892
912
763
530
472
774
144
620
628
823
888
365
244
122
536
595
523
239
193
531
42
86
330
842
856
692
88
914
843
663
754
703
137
92
775
679
382
107
919
333
546
73
242
671
193
725
57
899
458
116
451
257
416
366
780
563
218
604
191
597
128
403
455
854
546
249
302
591
239
274
11
304
225
567
215
975
202
863
770
448
972
309
35
318
64
291
139
558
614
52
605
904
636
898
230
734
996
349
268
732
782
491
750
188
235
134
285
130
122
128
748
870
231
291
111
716
640
23
35
764
582
575
988
699
993
342
374
497
286
311
562
751
523
965
769
105
880
537
481
949
251
493
424
78
912
518
185
514
363
74
219
42
896
826
337
338
967
826
780
698
124
379
607
551
144
928
467
874
7
148
767
591
537
660
876
812
818
429
301
538
37
963
671
40
990
883
991
691
301
306
848
459
370
744
178
619
139
910
740
494
58
888
670
197
35
641
367
429
736
686
480
330
325
116
945
290
635
808
884
395
793
815
648
886
523
416
468
601
716
270
950
873
366
413
160
781
620
608
129
952
560
677
416
344
263
19
769
573
867
456
53
375
630
933
333
743
458
348
405
123
937
976
152
814
712
544
780
367
940
979
399
363
649
262
415
399
38
626
892
521
161
536
394
600
973
502
795
364
422
804
221
870
115
628
564
242
124
954
25
376
625
759
704
145
443
767
588
377
2
7
184
473
862
919
660
101
789
589
583
828
266
985
268
910
461
743
296
689
931
103
975
261
749
132
401
77
328
235
296
176
946
255
986
585
858
200
724
228
933
703
55
377
938
901
87
269
976
279
319
23
63
421
171
400
533
301
458
278
750
920
838
908
620
637
704
183
509
503
79
170
482
265
800
82
224
488
723
759
601
412
688
429
602
744
746
231
304
579
495
501
579
37
397
348
504
999
664
372
821
547
594
711
318
317
291
764
731
986
295
46
609
569
20
645
587
998
807
639
707
732
66
678
722
757
233
639
826
417
204
889
876
950
520
245
959
493
797
161
133
560
812
984
253
704
215
436
63
134
62
594
157
565
199
712
990
454
120
238
837
103
28
213
508
790
743
42
646
232
550
352
656
168
239
183
660
825
430
334
383
312
701
40
552
767
179
520
210
203
44
117
326
557
801
920
228
418
290
755
673
246
147
420
819
688
817
840
975
775
302
610
760
336
528
32
228
2
585
331
591
526
144
214
395
970
2
289
403
512
85
185
971
232
221
373
424
287
630
810
761
257
423
516
70
336
336
123
168
244
578
227
336
391
903
132
478
880
16
161
679
390
951
298
939
845
345
316
792
45
421
931
641
116
61
756
903
709
543
2
461
377
432
939
508
458
589
91
610
70
489
40
665
570
867
479
532
904
194
865
256
824
660
605
193
865
137
225
864
296
66
383
8
28
329
886
145
574
953
127
949
726
923
456
850
578
473
54
588
867
960
819
898
395
860
615
98
463
448
988
125
822
455
141
481
662
385
476
620
524
165
542
548
839
527
566
790
8
823
44
416
541
9
79
541
806
149
206
535
345
138
510
227
577
272
700
532
920
944
644
262
25
12
605
373
858
311
13
525
831
392
186
624
51
794
814
982
5
82
408
824
700
425
140
133
354
718
671
250
214
109
651
214
975
335
501
574
591
443
35
264
956
332
188
207
54
18
884
489
712
709
613
326
997
570
840
528
631
518
742
867
562
533
122
551
948
725
533
6
366
837
814
307
39
970
249
877
204
39
508
536
544
899
398
582
768
107
167
370
5
46
809
722
685
449
346
642
942
465
571
999
423
12
92
222
541
573
813
649
871
540
178
791
381
897
598
717
630
313
508
695
881
708
373
461
343
962
816
768
379
722
750
380
579
184
18
274
41
344
593
667
104
431
836
361
995
149
640
78
570
928
556
666
399
570
169
501
928
582
25
981
347
987
427
741
120
614
262
101
791
682
822
297
849
16
288
274
916
368
107
133
468
138
44
876
628
241
59
736
305
9
508
220
100
772
374
963
966
214
367
637
531
687
774
451
413
404
871
223
558
850
572
615
878
789
728
898
992
999
169
496
902
175
138
680
805
549
229
983
63
387
357
297
543
910
522
177
180
168
379
554
590
39
668
921
56
868
614
91
959
171
275
752
51
521
668
419
538
942
203
815
44
130
594
394
965
364
956
487
577
254
225
506
559
352
417
753
238
220
445
645
976
767
440
579
580
541
527
227
532
173
21
823
132
383
884
823
347
774
37
442
292
150
864
698
757
239
800
15
168
528
429
891
651
357
907
857
651
566
862
739
674
751
129
239
287
627
832
986
465
87
319
484
736
288
458
871
352
502
588
960
877
532
221
845
189
200
231
238
853
798
834
798
251
415
141
937
616
730
450
966
374
220
706
23
761
711
802
876
751
866
414
585
711
506
153
13
76
625
667
345
544
597
159
72
949
327
540
446
25
50
12
956
725
71
467
264
628
982
485
913
230
792
98
274
610
978
721
447
17
662
812
236
439
20
906
916
99
516
627
230
120
781
165
938
321
772
497
294
216
346
313
19
798
547
224
697
634
706
308
38
113
920
489
111
452
602
536
486
174
565
724
202
360
552
279
604
924
193
830
414
496
140
978
812
328
519
963
954
744
903
173
75
304
719
885
268
787
397
202
106
533
561
622
497
465
276
56
539
318
696
406
720
241
455
978
474
920
789
151
971
830
706
678
43
48
466
942
311
279
262
286
879
427
281
280
491
64
248
390
642
620
144
75
942
996
46
780
996
530
941
610
142
988
906
771
678
257
291
989
613
983
392
199
553
235
637
781
75
601
494
466
808
836
150
869
519
288
497
247
662
840
139
729
231
48
916
719
263
482
920
635
16
20
107
421
636
970
368
523
169
488
371
125
850
670
588
507
938
100
625
302
793
378
434
282
512
354
995
84
188
349
810
903
795
659
892
798
757
20
983
678
501
509
413
463
682
589
343
165
315
578
149
848
733
892
339
512
167
793
727
962
743
241
527
621
865
668
675
82
285
148
953
886
619
471
431
692
737
125
319
481
226
5
595
937
90
973
645
447
933
69
740
458
176
232
376
57
237
897
370
729
189
739
153
211
168
110
862
246
651
443
692
824
795
9
461
188
223
923
484
481
991
237
679
422
994
276
280
808
728
121
662
942
155
297
556
334
408
242
367
134
189
143
415
804
21
37
625
460
985
884
652
198
121
477
433
427
511
636
913
935
917
134
41
961
948
191
170
9
984
169
681
553
416
324
975
34
366
63
10
766
708
203
173
448
89
125
605
2
654
574
74
358
355
85
87
614
29
653
240
762
947
330
708
735
133
892
395
143
586
560
492
442
447
57
119
668
297
947
241
116
12
281
324
483
24
73
11
105
418
24
681
838
23
204
876
63
544
120
490
42
812
712
62
571
464
327
673
464
680
676
797
902
140
64
860
100
40
984
439
59
805
254
775
407
139
466
727
423
190
458
375
431
887
880
236
647
972
717
452
430
845
779
367
649
107
779
649
513
617
584
444
820
921
644
113
8
185
388
774
809
122
591
213
567
946
321
721
495
121
127
68
226
473
496
155
22
303
519
807
933
270
861
840
989
146
848
787
253
43
494
594
182
330
750
227
273
252
152
318
444
239
275
953
904
962
111
200
554
488
544
224
111
277
613
710
221
377
119
831
777
852
460
181
576
417
271
949
202
273
562
90
739
319
571
420
481
323
482
348
369
91
468
452
232
385
291
199
272
141
802
918
436
528
273
540
453
530
407
730
352
23
285
772
214
763
236
983
765
323
822
477
170
767
694
829
45
768
88
544
287
959
88
295
760
541
628
539
313
533
381
492
824
640
310
428
213
365
676
923
432
884
724
970
465
196
98
861
258
234
282
367
345
961
4
983
650
927
586
6
545
432
704
732
837
218
851
367
753
556
105
109
349
729
443
436
54
135
962
853
168
687
825
204
260
749
665
214
333
566
476
78
538
60
728
780
994
895
559
302
949
889
412
60
149
272
419
690
753
719
162
784
557
831
185
295
614
513
770
125
555
696
46
802
36
995
459
301
787
180
990
760
678
781
291
268
58
769
60
972
385
14
598
444
824
129
435
622
60
394
348
701
41
688
871
978
744
741
615
53
369
543
321
746
504
501
605
759
969
712
770
420
2
820
885
808
374
11
596
191
862
97
754
968
183
67
1
263
185
153
937
886
558
241
314
652
838
408
16
918
767
474
223
796
372
718
279
669
258
333
228
569
687
760
920
434
3
778
869
519
805
117
747
5
107
405
535
418
367
445
848
550
906
203
897
459
711
377
870
518
55
85
267
672
655
64
849
781
343
710
441
407
333
474
759
469
211
372
817
945
715
871
219
200
231
972
848
588
661
104
12
671
18
348
121
802
626
596
362
809
320
466
620
243
382
194
138
947
272
268
976
754
366
258
405
720
56
170
741
656
523
644
6
651
454
501
8
927
750
469
97
627
27
383
903
89
312
810
808
725
913
841
779
899
832
724
466
87
489
149
127
155
739
233
41
819
366
681
545
225
257
180
754
96
479
802
278
108
330
90
14
957
239
546
156
126
73
425
116
470
4
120
972
567
622
901
371
252
339
492
595
865
501
730
593
522
818
591
381
158
851
962
131
174
351
873
671
287
162
296
849
547
272
298
433
588
341
23
755
872
679
960
350
45
257
984
183
597
760
911
900
643
103
697
723
38
106
935
233
998
209
36
307
71
231
298
891
606
146
118
140
830
798
742
678
279
261
285
395
592
296
243
228
612
983
329
852
343
132
300
66
552
528
350
902
693
411
781
225
417
857
907
593
130
858
585
711
930
9
323
652
800
643
650
362
105
164
335
640
275
92
71
919
80
55
440
692
21
516
347
343
207
589
606
492
516
649
34
685
998
794
244
424
228
443
306
63
756
449
564
74
916
193
222
539
962
16
738
498
945
239
684
958
767
738
488
951
594
735
388
34
159
8
18
979
538
214
262
255
637
384
410
71
994
951
181
382
488
852
903
282
200
348
961
617
976
210
676
515
218
839
911
728
45
679
49
376
243
50
466
680
360
106
239
783
895
203
662
579
769
379
54
762
184
1
473
983
515
903
198
86
117
478
287
866
784
268
46
713
143
571
36
800
423
456
68
162
912
372
747
156
898
213
265
290
27
328
539
357
849
438
291
114
776
856
330
512
789
714
130
625
27
123
777
952
810
333
489
763
754
975
221
492
362
439
297
972
907
256
647
461
446
142
950
25
567
997
942
794
787
725
202
31
604
229
957
749
841
298
851
806
298
391
154
44
703
526
595
39
617
579
848
464
250
279
729
913
123
135
320
237
109
325
559
130
705
290
323
736
268
436
679
490
595
867
735
307
426
500
521
470
383
289
401
263
409
528
797
470
977
352
415
359
229
647
752
651
720
530
372
293
626
457
357
546
127
791
353
30
166
360
847
865
934
148
672
6
244
720
234
169
434
462
638
508
544
974
707
344
293
205
872
784
828
57
53
51
307
192
933
684
95
750
494
566
813
514
276
878
474
816
588
703
706
155
821
957
416
37
87
734
261
45
635
968
20
519
894
484
238
514
514
177
584
874
518
27
952
415
474
121
693
139
674
668
289
380
423
240
451
558
904
114
852
958
533
644
672
577
394
39
717
621
90
819
113
668
355
442
483
877
819
321
88
856
625
496
593
983
988
747
46
43
385
794
122
981
773
561
933
514
132
184
490
63
683
540
434
219
302
611
809
498
49
927
416
708
196
641
824
598
854
564
162
825
88
594
649
478
412
567
226
524
678
468
753
591
685
351
984
431
267
64
920
271
237
37
229
994
316
13
113
779
111
559
372
360
264
599
477
591
134
17
96
319
768
583
915
914
436
68
540
948
748
436
961
661
181
423
344
801
886
664
893
393
807
732
139
771
469
147
306
941
267
419
313
981
733
673
595
714
58
269
135
320
78
83
49
932
54
810
568
484
835
719
533
258
410
797
356
640
436
83
938
576
52
344
218
72
174
893
880
912
539
514
219
422
914
961
342
719
299
402
673
400
419
566
217
23
510
27
131
54
180
253
964
174
166
578
318
988
892
220
831
177
65
814
68
125
974
742
352
854
769
665
618
888
776
285
71
317
785
345
824
896
369
249
711
492
494
522
142
568
60
510
238
689
604
339
446
214
27
191
518
443
133
351
24
500
723
337
546
126
200
665
332
394
935
413
433
66
144
849
335
950
653
811
620
154
736
392
516
554
134
785
19
189
510
778
895
485
811
495
48
439
473
480
624
909
939
76
753
159
723
406
5
676
125
919
487
63
741
618
3
516
136
586
845
969
373
360
597
517
627
32
815
130
778
705
532
984
684
60
354
968
855
365
326
47
332
190
839
208
927
474
602
637
391
362
109
657
690
381
74
679
344
152
49
99
704
768
781
634
85
424
925
64
952
632
386
735
714
599
925
444
218
946
642
546
769
961
622
202
321
29
330
693
524
677
296
659
466
950
279
893
273
460
349
103
234
494
282
634
719
50
246
701
982
508
993
131
884
933
703
950
664
669
144
403
170
982
75
171
358
978
653
606
470
942
150
769
1000
527
473
969
479
933
809
246
117
346
235
956
590
399
251
223
550
374
51
504
24
177
759
938
464
861
34
474
95
622
183
975
149
746
373
652
738
938
633
197
385
818
58
931
715
176
62
140
388
703
562
525
127
545
702
335
618
986
91
347
134
975
573
316
949
12
208
888
29
110
506
286
990
175
934
232
54
151
392
696
561
731
639
62
611
223
623
202
607
455
323
770
750
201
915
767
59
681
107
32
100
163
984
871
417
519
21
470
607
897
782
84
70
322
415
257
757
138
235
480
632
680
589
773
151
467
710
634
799
510
454
695
590
35
654
197
512
28
327
109
66
549
118
273
434
663
175
528
297
193
121
98
17
218
898
919
701
408
60
755
670
811
486
101
959
701
631
913
815
415
121
133
559
927
953
832
831
42
572
557
962
701
867
114
163
868
445
597
286
870
610
947
124
851
142
693
661
231
317
829
143
647
594
969
634
906
72
3
493
871
105
512
284
67
444
96
763
7
894
563
927
912
740
711
589
510
162
990
572
100
407
935
425
910
768
654
503
39
311
29
357
971
840
539
653
725
833
768
251
184
916
739
648
49
8
177
733
179
434
692
667
749
140
658
780
826
661
254
526
427
623
731
954
93
388
483
614
323
909
891
518
958
978
251
585
752
843
309
986
918
595
39
950
391
808
378
858
915
696
531
958
845
397
328
559
706
124
878
418
156
568
404
865
991
374
730
352
190
485
352
317
857
876
415
622
74
507
191
415
317
360
867
928
112
24
515
585
15
661
173
828
853
108
811
212
390
515
848
659
235
180
533
245
850
204
204
518
988
145
918
151
750
121
426
689
710
714
789
228
246
577
215
168
305
860
819
559
294
462
118
171
703
620
12
116
376
552
901
776
28
695
373
791
736
582
580
98
662
566
24
363
173
387
984
624
861
67
226
690
717
716
938
623
852
638
81
621
698
532
462
770
599
701
872
417
55
899
574
363
651
881
292
690
896
765
566
797
750
12
55
134
639
250
878
190
130
147
615
568
259
248
917
281
680
33
995
56
470
435
444
24
391
735
945
128
868
18
395
508
776
401
948
369
346
799
234
94
175
338
773
899
341
394
219
927
130
889
602
506
690
680
190
202
250
791
936
462
173
814
726
842
244
991
799
286
24
393
812
471
55
115
945
965
967
600
359
839
250
55
94
424
585
401
189
80
123
369
395
240
60
148
369
457
153
471
643
892
592
145
982
487
770
794
957
45
51
36
715
589
592
405
926
657
651
65
871
645
554
765
454
913
713
572
674
132
623
590
795
270
803
286
961
700
1
40
516
116
806
254
662
364
17
660
368
827
727
490
634
680
107
814
321
237
284
667
756
570
583
541
236
787
577
452
368
675
101
64
914
870
395
293
428
396
6
389
520
160
964
762
10
999
987
711
609
914
174
764
983
449
708
584
249
551
594
219
8
848
347
63
977
994
835
23
203
635
222
266
575
573
35
396
92
938
917
77
908
490
553
923
702
726
597
933
313
121
139
891
923
641
434
911
265
680
148
745
488
680
313
576
328
6
604
744
194
97
253
278
611
498
148
149
225
185
216
881
234
462
184
535
684
826
226
106
523
401
768
41
710
952
978
966
943
3
41
658
777
322
362
990
988
856
264
874
55
241
574
183
535
157
739
267
933
138
748
956
380
933
192
870
73
125
274
456
964
548
390
401
614
954
241
16
515
513
64
673
374
994
664
683
95
860
435
787
178
141
436
28
298
619
885
920
667
797
175
685
576
146
581
810
211
309
391
356
443
341
101
245
770
524
644
199
36
10
368
169
838
343
635
835
777
897
430
204
824
422
383
427
121
155
898
702
474
425
936
525
630
284
93
630
218
452
274
644
859
784
191
892
538
555
343
782
801
65
935
909
721
484
385
337
858
374
697
541
628
45
998
116
611
751
950
686
316
732
599
415
835
306
451
130
648
513
212
357
537
306
685
495
244
924
767
957
978
868
367
346
390
860
319
620
927
264
56
813
760
712
882
18
639
108
183
288
81
737
791
572
292
954
44
44
87
819
769
978
863
61
549
851
382
998
131
495
696
350
795
925
82
427
794
950
241
834
752
784
339
645
26
658
705
18
610
859
111
304
98
734
603
58
601
921
804
760
280
481
442
690
331
675
627
159
843
825
40
200
939
91
800
921
5
6
203
948
619
311
954
754
985
967
756
238
314
206
351
614
596
167
169
515
633
927
785
233
60
760
256
202
286
19
268
126
958
359
697
664
595
939
880
208
495
824
363
79
879
60
385
431
518
810
686
245
757
482
474
70
935
1
565
576
684
252
764
564
499
255
536
817
257
799
893
47
90
118
205
249
100
695
348
977
963
404
181
394
373
50
873
491
602
801
987
500
218
135
573
394
129
720
706
315
670
59
89
917
433
830
326
930
861
597
438
647
451
992
48
708
543
473
396
266
270
555
24
559
253
709
533
999
979
209
278
91
650
855
264
913
452
861
784
409
844
186
522
461
475
238
962
564
748
201
933
916
912
177
48
948
776
1000
584
594
810
800
110
128
415
381
769
998
646
44
672
904
492
724
309
298
123
244
202
613
171
11
325
769
196
729
937
933
991
550
558
95
256
633
799
722
491
244
618
686
650
392
378
656
227
482
767
389
952
615
231
681
219
989
99
254
672
303
965
558
153
208
225
231
326
608
877
10
864
59
844
963
38
607
97
251
912
145
792
53
107
778
515
906
305
744
445
461
205
149
940
600
664
163
588
909
146
322
264
735
381
301
107
469
387
834
594
212
572
479
128
689
696
550
603
142
878
887
454
936
661
57
589
785
413
232
424
829
961
265
970
270
409
400
546
923
584
665
218
828
356
235
534
12
412
953
451
598
696
756
594
737
839
985
196
237
365
396
79
347
378
260
40
886
734
91
890
796
389
393
162
238
756
319
206
547
401
284
994
739
360
385
442
735
661
939
494
191
401
583
515
589
865
156
758
276
713
15
812
246
241
521
979
762
69
194
443
364
391
431
978
426
88
731
668
164
598
106
796
950
414
710
600
816
501
772
96
321
684
563
537
286
318
511
343
487
115
549
567
68
57
442
27
315
747
147
267
426
364
227
389
93
645
964
651
39
964
88
415
113
610
979
697
215
850
795
62
99
203
204
92
42
647
338
975
504
126
103
35
137
842
235
168
933
275
341
233
882
790
686
415
226
992
707
438
296
673
25
340
965
347
277
144
930
854
186
438
423
472
164
306
435
277
130
523
224
265
429
201
697
860
445
333
235
14
987
777
680
45
581
288
467
731
588
128
382
938
414
638
985
260
211
932
530
702
109
480
122
451
449
990
927
153
483
397
490
951
708
207
584
700
324
694
584
424
326
648
40
95
377
483
978
228
917
512
503
630
949
88
388
878
536
164
722
740
348
523
129
823
506
556
717
160
601
26
728
348
960
675
777
83
175
886
713
652
464
878
361
984
631
53
852
398
280
209
804
35
459
268
357
294
108
90
959
295
502
702
820
492
395
970
189
94
722
346
916
874
526
821
337
281
229
631
117
505
507
574
576
285
804
26
961
829
937
872
284
132
362
597
634
380
388
745
332
871
63
767
879
82
486
76
441
73
29
760
516
430
319
967
494
326
876
484
84
97
957
368
940
914
517
813
368
783
207
591
711
88
940
540
849
339
913
556
266
622
918
454
325
477
379
901
674
573
870
316
242
622
769
304
875
410
311
684
487
689
545
639
523
964
609
863
679
857
282
824
35
844
9
436
216
620
447
483
761
268
123
138
596
689
969
769
414
475
347
42
799
517
676
985
140
141
911
319
722
531
952
837
903
486
523
27
968
340
167
463
43
983
806
706
476
495
734
578
182
859
994
733
791
581
870
355
854
804
585
699
973
713
387
916
514
565
917
284
423
715
100
525
812
359
869
366
145
555
682
870
287
268
143
372
215
809
54
27
862
52
837
81
470
242
630
985
795
52
265
387
696
764
14
831
981
109
230
756
824
352
963
972
744
670
210
364
913
709
720
998
508
521
160
150
935
723
27
51
14
805
889
279
632
35
419
817
948
261
221
755
961
245
612
502
148
859
392
161
908
579
91
401
773
258
397
776
673
54
201
930
80
754
236
550
513
447
352
234
709
658
276
681
753
616
146
725
607
261
169
776
733
982
528
179
10
838
60
841
714
205
274
238
94
338
12
578
19
381
413
444
223
704
878
746
915
279
411
161
916
997
64
548
14
453
193
1
937
743
899
310
211
246
341
614
149
185
556
915
431
20
54
964
27
361
748
752
699
130
684
440
982
188
645
152
305
470
960
429
877
977
719
560
86
626
198
206
386
51
476
924
96
943
111
260
100
396
290
43
169
53
19
410
504
520
779
862
169
671
575
341
242
944
444
953
924
700
309
400
294
3
526
669
127
959
594
787
976
879
281
705
717
69
847
493
898
49
137
65
512
313
69
599
279
566
439
662
118
509
33
805
259
851
735
51
368
205
720
291
108
927
814
17
836
745
824
289
472
262
952
23
167
995
418
964
54
656
76
746
265
806
97
478
371
837
789
197
598
484
201
344
487
706
492
150
141
842
931
436
858
389
21
886
723
621
455
270
693
543
547
475
814
338
322
414
470
568
660
94
991
853
780
145
498
674
867
116
636
222
820
716
683
959
960
953
615
615
28
841
874
939
940
904
957
370
592
270
453
198
484
483
820
470
17
560
43
79
138
972
239
1000
413
408
499
610
709
189
448
388
417
158
561
66
547
703
780
467
81
350
821
865
694
991
423
678
323
417
897
709
87
267
551
947
756
899
959
153
289
982
589
53
989
782
996
25
440
227
651
520
727
837
485
377
400
521
402
351
250
50
331
884
276
742
872
144
109
536
243
874
804
159
993
392
113
520
941
418
281
841
875
25
953
271
816
143
14
892
87
484
25
94
967
706
486
283
480
884
300
738
739
101
696
250
292
71
320
844
162
222
394
500
579
612
643
285
946
359
136
720
243
30
335
526
901
557
412
119
145
827
325
346
960
10
255
996
121
105
713
561
172
910
80
570
869
821
363
583
319
445
680
564
24
995
366
962
60
845
605
273
901
403
192
235
734
683
365
117
707
576
631
731
218
823
188
906
214
135
839
173
497
724
256
307
186
777
86
200
822
999
663
261
68
464
22
166
618
421
517
322
701
597
557
838
522
792
926
174
100
251
676
848
206
365
798
799
545
760
784
13
875
720
674
44
520
189
399
896
584
302
59
570
258
528
281
207
770
11
936
428
922
618
334
917
644
557
444
739
681
147
854
194
337
475
911
226
209
237
965
533
941
989
704
587
373
443
311
672
850
157
605
937
129
206
351
187
26
954
670
817
897
60
833
851
114
245
769
508
931
148
273
141
514
795
281
625
462
845
533
498
842
764
636
256
622
539
819
195
392
351
662
103
431
875
685
946
519
523
961
383
352
1000
883
600
68
984
746
477
196
631
124
547
258
845
863
556
397
974
101
689
654
625
955
678
910
814
337
95
136
558
961
90
272
310
708
708
989
340
429
738
586
309
711
699
529
763
321
195
442
227
815
358
900
915
304
527
59
788
470
611
930
859
695
814
153
187
621
541
205
967
545
318
311
465
784
520
750
354
563
545
881
152
46
816
947
60
823
679
659
486
549
793
617
932
481
134
882
739
294
59
371
358
948
207
305
474
354
181
659
298
224
67
371
770
830
832
139
281
355
586
755
713
112
476
273
286
228
725
798
719
302
960
286
697
134
483
591
474
871
628
887
743
842
638
748
547
870
811
404
116
112
770
116
988
305
820
204
676
870
308
956
437
473
789
577
423
495
581
359
571
375
998
442
174
924
123
921
923
515
526
548
608
546
704
940
378
670
358
54
599
67
848
654
908
481
293
623
38
827
800
303
316
918
291
446
539
265
202
18
86
978
101
817
732
484
955
811
593
180
287
173
44
139
9
199
253
699
28
733
166
85
68
204
413
216
290
130
618
512
444
780
9
817
239
688
89
508
566
915
322
525
15
231
488
265
849
930
362
298
217
570
865
384
954
760
688
566
724
70
644
985
636
211
720
651
706
931
833
582
698
485
832
648
951
81
142
923
774
488
785
592
853
831
184
257
934
674
304
3
693
676
182
742
352
468
834
140
63
903
860
934
518
523
800
531
552
876
450
579
735
334
896
639
58
172
973
159
899
980
227
717
336
932
240
896
784
10
331
204
645
102
240
185
332
746
409
233
616
429
833
637
680
524
290
91
688
385
943
222
919
635
942
707
745
385
653
186
813
994
584
499
794
970
902
729
979
803
688
173
825
831
690
624
257
725
436
290
192
825
976
260
258
341
419
695
140
385
696
790
336
917
637
140
339
945
572
363
463
727
102
669
541
312
643
636
757
488
587
617
715
88
685
24
635
640
329
292
287
572
959
394
842
514
736
676
333
761
951
168
845
646
393
722
848
359
31
31
322
770
924
92
456
934
221
707
735
237
508
400
162
620
473
512
235
903
103
309
24
1000
156
638
378
741
671
54
848
77
666
367
389
701
966
222
277
468
336
697
976
589
674
880
877
221
74
50
913
983
966
376
97
896
400
57
895
452
755
394
202
807
819
602
394
605
223
100
553
564
690
584
518
735
396
462
842
327
33
122
88
74
839
63
149
384
930
135
448
938
764
10
926
983
475
527
721
275
95
753
286
544
412
416
526
381
302
903
191
638
922
123
365
817
50
385
423
401
210
882
195
785
957
502
437
257
827
468
902
486
29
739
456
101
908
199
685
230
554
401
443
343
742
42
566
317
515
410
789
443
353
743
538
962
823
833
840
852
23
219
68
774
922
1000
629
481
922
659
961
571
558
257
430
107
289
31
805
543
774
726
975
362
812
971
510
31
426
617
480
186
164
243
648
447
772
956
817
905
847
238
612
104
929
783
457
313
780
221
814
966
261
173
48
418
308
265
413
604
991
656
731
729
552
108
319
867
585
858
576
249
280
359
456
29
712
464
728
550
724
791
516
460
840
811
147
583
18
645
705
53
747
722
43
120
183
182
209
958
524
383
372
968
835
923
379
378
844
372
11
349
43
286
855
448
577
147
464
91
8
582
140
463
18
599
232
534
499
577
344
986
316
484
181
277
204
66
97
596
871
823
557
178
447
180
865
294
771
604
475
241
921
380
153
846
562
365
27
291
381
338
349
576
905
488
349
572
461
165
174
374
913
291
272
678
52
699
999
950
235
251
421
449
907
804
499
597
165
930
865
724
401
887
399
983
351
446
695
110
629
93
279
735
880
569
133
153
257
885
704
852
819
773
39
546
808
959
142
199
480
822
930
292
312
715
419
610
989
731
871
939
481
724
702
364
939
178
858
308
859
915
247
66
191
691
547
336
599
425
389
185
115
221
453
944
803
326
533
782
829
888
966
67
609
685
116
193
229
29
824
240
435
667
785
682
867
845
871
392
62
631
281
343
981
247
250
736
489
427
768
767
212
727
365
895
725
364
590
233
826
337
237
676
953
539
697
459
487
109
128
111
730
486
229
178
875
499
523
689
163
371
998
42
708
680
851
892
226
165
851
656
960
777
552
463
653
512
157
725
343
368
360
15
67
263
904
614
326
834
896
909
290
853
149
818
275
393
966
522
2
9
795
131
482
901
140
308
165
476
954
517
158
743
509
303
903
724
372
958
684
410
716
952
758
845
648
807
661
579
616
418
495
95
254
404
576
793
206
766
880
788
577
977
117
62
658
652
119
502
481
104
460
967
591
431
870
794
122
246
55
112
926
813
8
898
5
132
727
985
962
478
575
96
531
3
140
584
503
269
582
732
504
993
919
368
188
888
593
65
350
165
992
380
349
216
267
431
35
967
940
615
41
664
285
403
918
139
414
975
90
193
329
928
19
322
918
381
277
904
58
630
462
908
506
882
19
333
230
743
52
888
200
841
172
857
421
384
259
722
173
530
796
848
2
115
55
497
1000
718
21
466
303
11
389
904
534
77
361
254
143
681
249
783
191
499
91
900
147
958
570
277
720
645
556
841
531
209
472
848
733
317
525
578
272
473
566
688
568
480
946
870
855
886
315
286
261
16
717
177
1
99
689
165
711
543
352
18
71
646
604
80
301
885
627
128
62
469
877
170
560
16
595
556
373
58
700
854
641
572
568
107
762
908
850
477
682
248
938
765
185
261
144
988
343
677
942
1
420
328
859
156
73
614
742
95
674
452
125
104
903
510
431
881
580
928
507
177
826
807
824
556
279
421
284
409
49
537
155
443
489
198
153
119
688
55
31
855
764
640
348
398
686
994
277
454
343
714
409
502
22
763
508
760
287
401
99
433
494
181
569
677
807
244
201
221
652
77
183
216
988
509
173
670
654
927
436
783
301
647
928
604
114
881
956
688
604
17
190
861
235
737
895
763
554
81
196
578
787
716
93
248
590
522
717
513
715
107
13
314
935
2
633
447
438
121
333
898
273
504
566
913
149
525
298
720
45
474
288
788
640
908
193
635
519
220
918
513
485
638
555
724
83
270
114
954
602
859
988
748
418
647
785
184
521
100
689
882
483
279
27
697
886
341
55
856
493
977
300
828
7
595
974
910
312
718
57
398
514
364
681
191
927
161
341
855
392
534
271
516
952
632
68
419
982
547
247
607
308
5
987
24
715
931
712
226
536
211
571
53
657
522
68
836
392
319
304
148
143
953
333
688
666
395
117
608
73
255
445
480
394
609
964
158
649
641
165
976
892
282
764
85
622
804
429
241
286
833
201
36
339
321
290
374
465
845
136
981
140
989
782
890
628
692
590
109
921
172
344
150
860
441
562
700
885
498
653
472
405
986
163
203
819
483
983
825
564
621
791
82
410
915
457
252
394
509
360
165
432
82
802
415
637
750
795
539
833
174
466
900
546
8
304
246
37
442
219
182
545
913
151
309
1
941
596
407
889
675
919
849
837
956
801
354
756
637
510
323
45
416
916
253
447
709
365
138
654
902
565
343
612
903
639
181
833
68
352
299
686
414
324
11
763
564
725
952
962
964
555
749
819
789
103
923
969
358
598
935
376
51
395
69
80
463
234
860
778
982
264
900
541
71
557
152
269
271
757
343
331
346
402
636
950
65
157
510
529
811
905
734
49
598
180
359
127
90
917
920
63
909
865
392
456
861
287
14
570
701
794
791
642
715
220
319
761
698
476
630
788
894
226
878
995
60
33
54
792
106
378
368
923
712
536
586
985
877
885
411
995
647
616
934
1
139
202
297
377
545
203
962
583
31
175
419
605
294
506
711
217
95
957
917
507
238
614
607
794
343
682
308
209
230
306
271
714
891
140
124
257
843
956
555
115
124
932
824
182
291
630
708
149
596
854
503
29
916
746
814
474
122
488
161
673
314
917
904
404
763
251
560
971
429
816
375
378
683
375
931
29
203
210
615
683
49
570
56
169
611
502
980
596
467
347
494
367
166
393
524
388
639
249
963
226
216
550
109
848
207
472
158
790
636
373
805
262
981
616
524
734
716
221
720
24
28
558
735
748
363
737
653
298
305
674
935
150
916
101
216
416
811
914
965
42
182
353
320
925
457
456
137
554
504
128
163
473
109
933
300
972
959
432
130
952
522
467
219
814
13
313
231
573
111
11
555
135
209
545
984
799
763
711
936
636
726
682
885
318
166
307
921
357
894
105
854
477
341
792
843
15
988
914
311
845
347
820
837
283
893
792
767
852
356
607
537
573
461
190
80
656
570
309
235
99
653
451
772
678
671
113
516
301
791
749
46
475
768
539
634
906
507
933
401
887
52
679
152
190
212
655
991
613
608
366
613
237
180
400
116
666
97
520
272
253
566
261
500
362
262
143
137
218
956
592
242
788
471
715
862
452
257
892
583
905
736
971
247
872
37
536
895
725
944
303
370
9
625
222
523
242
233
271
618
71
563
229
387
20
726
963
138
617
247
875
475
645
87
195
477
629
818
765
633
437
601
778
434
45
668
713
294
122
731
364
384
44
106
428
35
374
369
577
608
638
52
350
110
408
226
446
379
376
807
235
359
52
81
363
851
205
262
358
130
970
835
55
988
783
103
443
104
965
582
318
80
815
864
690
188
536
153
489
597
187
890
506
847
110
845
899
419
973
561
805
531
642
281
801
685
595
350
994
93
478
618
504
812
702
544
1000
339
697
558
700
425
560
717
966
101
317
862
231
237
9
280
455
488
72
339
778
141
286
703
305
200
667
496
211
34
257
218
475
50
700
327
584
139
881
113
503
99
662
935
29
854
922
922
447
31
705
950
13
390
251
121
406
681
100
941
723
714
249
131
3
845
547
297
539
584
142
738
422
782
790
262
866
667
301
245
886
32
183
98
775
43
820
944
672
468
157
579
231
585
906
738
27
707
751
260
864
2
905
1000
614
289
628
254
540
560
992
992
328
255
275
447
209
747
842
436
615
32
278
375
786
409
823
62
648
758
886
218
25
120
519
215
977
452
253
606
652
804
626
862
507
662
66
213
229
889
531
569
933
499
458
331
496
503
114
284
982
185
406
887
165
478
585
17
83
530
16
610
431
203
400
733
323
960
391
302
652
560
554
55
803
11
996
424
977
504
813
597
766
417
698
456
872
17
672
21
97
202
912
727
806
486
100
137
65
405
518
684
586
758
373
639
420
342
490
800
56
396
531
304
215
550
395
586
184
906
282
735
946
805
205
400
737
955
387
983
899
854
84
26
67
846
837
631
798
763
86
217
717
775
357
163
128
27
933
669
859
633
68
716
739
822
297
124
785
383
318
530
598
65
278
572
951
266
18
691
809
156
976
736
303
371
13
990
247
560
363
330
882
329
299
988
434
623
855
762
937
151
128
612
522
252
277
268
46
489
308
869
478
376
141
665
968
822
255
505
858
314
410
186
233
359
575
699
761
454
176
114
687
655
257
112
850
883
931
151
503
228
758
890
529
869
352
749
374
689
527
434
652
325
781
847
894
150
791
32
385
675
814
732
355
941
632
682
62
736
694
969
454
896
664
687
175
533
415
615
644
730
866
852
832
185
726
172
117
276
358
369
329
252
453
991
665
608
187
722
671
195
814
68
898
312
415
191
166
834
669
463
560
418
54
785
465
961
848
775
933
789
664
697
644
493
23
401
570
949
652
598
200
807
765
518
839
658
579
364
81
170
732
9
14
717
22
62
92
380
161
779
916
806
793
277
323
38
80
181
328
349
573
122
423
83
927
496
674
691
246
489
872
485
499
675
708
93
501
405
585
248
400
819
196
337
489
547
474
100
421
71
823
929
593
269
834
545
531
911
831
198
618
702
658
133
391
37
108
796
930
787
249
131
582
301
721
374
371
288
739
954
962
401
147
442
983
155
391
34
833
290
658
705
849
781
770
993
847
511
635
371
604
23
183
282
814
904
772
217
402
33
961
674
854
409
419
420
414
259
486
260
555
903
556
435
139
181
43
833
75
298
125
433
81
626
885
816
354
336
720
62
602
730
103
124
861
809
865
566
993
898
185
600
567
147
373
516
70
319
361
922
50
577
525
687
833
896
108
138
918
336
46
834
15
652
419
198
978
608
139
404
536
949
705
154
823
170
37
438
200
113
452
900
755
949
840
197
153
280
967
618
242
936
598
266
924
556
870
307
306
170
900
170
98
823
148
45
543
758
446
762
906
766
928
886
687
125
341
909
302
961
295
521
891
956
108
236
319
100
796
120
170
538
640
961
750
689
480
973
652
459
603
79
468
802
586
845
595
871
7
420
919
711
249
180
320
768
949
349
609
497
834
553
495
1
753
129
610
949
764
13
460
968
8
215
416
354
944
204
486
200
231
998
671
991
167
424
178
295
155
769
592
431
85
8
428
908
867
927
120
958
639
668
599
750
292
693
120
697
42
712
862
814
767
853
156
296
675
258
875
268
678
302
667
219
534
861
206
737
413
403
573
1000
58
173
207
929
107
437
626
38
479
558
228
800
932
660
57
756
44
785
387
731
904
731
304
215
722
204
283
415
455
547
892
514
260
44
362
408
262
733
754
550
714
734
829
564
55
323
546
984
794
385
316
797
411
397
755
481
659
833
699
881
764
688
661
562
10
882
769
258
112
435
433
657
605
648
655
34
178
4
935
175
552
141
201
648
990
33
25
689
999
485
703
907
140
135
399
558
74
424
691
341
195
426
294
572
203
992
682
92
5
388
584
453
159
518
77
798
898
845
83
289
455
332
624
164
991
77
92
238
956
842
136
193
118
321
512
84
800
850
375
275
105
202
49
473
23
286
283
588
379
850
330
916
470
716
996
537
157
727
968
885
874
299
291
155
700
430
895
590
220
69
428
712
357
991
489
266
733
701
526
952
420
452
315
54
132
140
927
697
986
716
528
803
997
749
207
750
353
962
225
385
362
869
768
318
658
136
315
338
906
928
184
411
770
281
703
943
351
507
722
916
657
740
824
42
921
989
732
314
725
488
849
199
995
708
798
238
864
123
101
24
302
720
870
335
198
273
486
745
269
609
757
133
757
455
986
366
404
959
696
877
584
643
522
978
805
397
895
537
998
64
729
78
172
343
242
447
6
3
451
953
934
867
597
274
104
625
1
483
346
297
349
291
959
89
494
925
682
465
158
143
695
471
797
528
873
756
61
574
794
271
896
51
219
321
373
817
827
513
740
517
23
136
40
612
525
719
854
784
272
772
402
39
907
271
272
773
719
33
500
656
473
930
598
427
989
867
398
613
687
528
241
728
564
163
156
727
241
118
118
376
765
371
409
708
846
81
391
932
88
45
704
1000
523
973
26
532
520
746
46
949
651
124
231
492
686
914
304
239
240
271
73
387
940
627
423
822
193
727
817
439
779
382
601
784
513
864
805
294
170
287
868
867
722
941
909
517
673
327
747
590
965
518
865
402
464
580
899
185
542
11
41
898
622
532
959
811
856
124
437
776
296
892
970
733
11
203
971
325
610
548
87
445
554
766
342
190
427
557
495
929
102
740
35
177
328
310
700
517
828
159
265
91
424
279
628
53
62
361
891
967
863
978
202
323
484
943
642
246
143
35
325
951
646
987
158
756
598
529
454
222
826
346
684
559
667
968
167
540
430
995
449
3
810
576
428
475
453
709
39
569
193
763
455
609
715
618
304
331
483
933
372
639
884
369
614
120
394
22
77
431
503
948
507
725
824
413
996
11
520
413
27
706
716
117
645
664
63
59
310
656
986
369
184
624
434
794
212
996
151
36
391
58
577
735
40
627
502
470
715
287
495
302
666
32
955
719
352
469
363
320
608
648
920
217
512
186
321
910
839
601
828
376
302
660
186
178
412
132
150
695
906
529
570
976
172
289
50
301
975
417
150
262
128
728
14
65
423
740
60
808
274
702
76
669
38
454
670
305
907
564
509
297
588
713
216
99
754
372
84
820
351
629
28
117
452
429
270
635
247
608
356
715
182
831
983
540
983
952
8
498
505
372
744
306
912
700
310
357
710
366
375
820
505
899
117
264
215
235
571
963
627
780
862
577
827
945
983
606
49
527
886
886
911
604
669
370
846
609
533
663
765
828
20
46
641
884
752
243
762
689
532
822
839
916
192
889
44
339
33
709
298
231
26
989
835
631
230
807
109
454
1
620
664
329
689
311
398
549
437
30
48
733
614
402
341
601
187
786
445
804
29
411
817
863
763
617
516
118
238
909
356
17
154
222
7
235
671
609
339
856
42
554
794
312
475
233
593
849
423
366
895
41
475
728
833
287
865
14
507
252
351
491
611
983
897
820
349
748
164
480
701
711
253
473
887
222
578
366
106
858
976
280
221
323
401
125
94
997
612
254
695
212
302
695
954
317
983
324
533
187
823
620
396
150
275
187
39
207
48
798
762
19
438
563
181
401
534
750
483
935
121
882
588
895
382
41
454
896
653
663
284
528
551
752
249
790
780
114
683
308
776
146
364
164
171
717
677
671
715
926
897
561
919
819
836
886
176
727
355
386
524
495
49
188
546
735
506
513
108
209
132
464
782
578
454
78
831
43
224
581
570
890
364
167
770
498
14
687
535
185
509
375
726
160
90
62
591
931
572
414
715
736
979
356
811
988
366
246
120
225
666
295
427
783
416
447
751
264
649
187
817
877
61
752
291
895
822
810
600
817
12
988
879
282
753
511
200
423
539
865
807
163
137
602
485
886
714
313
574
21
496
386
361
352
384
334
786
284
405
391
414
854
799
580
642
39
820
646
977
758
75
97
984
56
283
77
236
114
916
962
164
123
70
368
225
547
262
752
210
973
585
851
840
594
808
71
18
312
539
270
222
627
552
571
584
735
723
496
129
750
802
194
485
524
423
529
162
333
328
573
120
624
785
358
951
50
567
821
438
300
661
531
670
593
77
140
142
245
767
492
493
440
646
980
611
169
172
43
854
326
745
688
30
125
443
489
624
308
251
866
452
110
987
314
570
583
603
887
805
681
383
469
704
428
835
278
56
644
776
594
393
930
143
934
39
47
610
764
339
393
929
354
680
28
268
591
791
558
484
377
599
267
410
762
604
45
746
103
344
68
66
343
13
645
802
982
726
350
781
437
218
380
63
244
9
44
360
20
177
444
283
165
939
690
26
49
173
452
863
841
840
243
25
155
70
616
87
459
283
346
994
526
325
760
254
242
49
617
627
793
154
304
839
548
393
687
462
12
442
626
152
818
822
42
812
72
276
435
134
335
905
903
166
104
204
57
239
998
827
699
595
732
589
771
567
573
692
873
970
248
666
601
683
117
805
62
43
37
177
193
781
545
429
904
687
831
676
687
138
547
741
5
853
642
892
721
26
289
997
827
38
430
745
956
502
646
120
517
320
866
888
781
756
879
216
956
259
746
883
77
953
998
759
533
209
908
375
199
723
254
409
421
853
717
886
556
751
456
733
380
8
473
71
444
111
101
297
347
986
297
581
26
310
485
869
333
91
342
861
598
175
286
731
410
23
418
529
537
42
307
329
785
262
345
170
579
907
337
752
252
717
628
684
321
464
349
779
531
202
284
534
86
218
475
483
259
535
900
512
553
81
485
629
666
308
262
889
792
144
702
355
197
635
121
60
600
538
587
869
596
425
949
52
278
566
431
163
227
979
752
492
256
536
871
970
658
972
273
925
194
953
178
457
761
100
174
571
467
24
544
388
862
970
27
897
170
623
793
760
703
7
194
611
43
160
257
129
238
453
920
952
957
25
749
126
536
738
243
371
858
532
852
909
300
785
531
988
311
538
981
519
785
53
738
419
41
165
915
395
124
358
710
846
114
296
774
534
336
780
126
446
652
782
626
23
536
203
893
535
231
520
202
947
118
296
101
40
348
844
412
901
918
976
842
175
610
885
622
595
654
659
499
413
537
855
903
295
123
851
319
142
117
394
709
86
970
880
365
591
520
440
681
193
4
807
175
921
607
277
552
851
370
843
702
558
123
689
339
459
61
799
380
167
740
410
297
16
572
373
389
854
314
273
334
59
691
340
457
470
30
753
839
613
710
934
777
135
310
826
145
874
566
964
867
331
634
306
67
623
697
490
467
190
674
106
231
600
610
86
796
839
377
84
158
346
453
999
751
907
897
410
287
219
96
764
886
566
519
615
424
610
494
55
243
711
971
773
301
561
358
847
382
156
761
456
210
307
389
172
175
942
449
430
920
446
613
23
208
131
982
225
337
761
571
217
872
701
494
46
603
902
396
255
466
397
221
660
605
433
27
486
907
654
413
222
88
978
110
122
867
962
398
189
840
452
329
918
427
281
187
762
649
623
192
542
579
361
267
527
992
481
554
966
153
99
479
217
662
162
382
402
9
281
113
784
790
415
543
604
565
328
639
192
968
842
619
572
6
906
686
607
437
411
42
975
749
521
194
930
534
969
40
820
991
453
868
821
869
750
195
196
435
648
325
660
924
119
598
119
512
429
590
111
52
28
906
796
697
140
831
216
58
940
789
849
728
88
474
205
841
187
560
305
840
390
91
425
785
28
995
395
314
597
722
90
878
868
613
481
954
204
499
764
744
391
942
635
295
406
740
743
56
601
538
693
649
719
899
791
38
989
766
829
305
329
4
874
14
333
639
936
466
274
506
839
199
862
197
396
771
834
654
204
205
773
232
997
458
734
811
487
959
337
353
92
526
28
341
751
994
85
678
266
456
776
978
290
320
815
652
79
341
868
802
633
325
402
789
687
499
632
231
288
427
649
329
383
893
61
673
906
422
678
97
361
956
788
722
785
738
588
77
261
645
180
50
902
54
369
478
286
804
137
395
885
996
321
293
948
168
490
275
604
846
448
649
743
599
92
335
316
506
590
438
305
374
971
470
528
137
250
22
834
613
158
107
8
207
391
17
864
184
57
308
627
893
651
427
652
651
458
577
946
47
756
662
760
119
578
516
725
175
78
187
607
40
716
732
797
160
615
840
66
317
411
625
954
647
850
74
389
298
198
977
800
341
245
661
17
473
335
452
722
641
355
609
79
977
109
432
427
328
794
315
627
212
594
820
698
276
553
240
904
182
952
703
318
373
392
603
209
376
672
24
315
123
316
877
139
264
333
657
977
628
345
103
281
754
767
527
292
918
99
290
643
190
736
673
749
820
905
429
370
715
478
396
680
836
441
872
557
91
747
887
554
734
130
119
208
293
197
979
921
805
799
264
631
484
236
922
901
995
317
627
831
173
705
317
432
376
217
344
702
666
997
613
665
648
529
930
59
120
483
801
208
646
321
81
819
793
349
212
135
43
687
251
881
326
222
554
937
724
153
748
505
124
184
586
836
516
766
394
233
185
44
69
148
256
331
2
672
948
982
901
613
378
549
192
665
993
927
567
866
499
42
325
674
685
279
299
489
695
485
564
408
76
844
608
294
438
373
332
9
664
91
56
794
379
113
697
336
836
98
434
10
466
469
438
162
71
796
732
60
71
575
827
318
238
376
546
189
107
18
386
97
582
976
813
186
331
714
143
466
206
2
30
338
290
581
150
885
162
710
335
374
625
243
301
782
454
897
112
53
678
242
688
989
550
828
998
336
617
512
52
692
242
751
454
303
541
96
65
682
910
623
273
264
254
341
483
981
557
901
692
716
688
69
437
116
164
518
987
81
162
447
369
620
221
410
704
407
946
565
401
535
500
190
911
448
834
943
142
987
417
860
128
804
684
455
208
128
551
648
821
48
124
430
974
984
156
349
605
8
898
886
332
33
758
778
557
643
540
164
466
544
153
198
272
170
343
431
916
983
403
836
569
393
837
803
460
42
644
856
984
380
211
67
566
91
817
396
448
946
412
244
455
91
615
527
785
585
863
486
21
290
268
267
946
805
2
33
147
235
967
988
101
21
118
237
179
910
24
854
990
451
175
866
571
44
102
127
191
667
583
204
986
900
86
484
175
750
132
664
360
88
437
680
319
215
537
911
697
199
105
188
251
121
302
735
627
323
339
677
178
66
869
158
986
745
969
434
99
971
243
516
942
361
996
99
38
839
565
500
433
636
571
327
693
911
336
400
940
133
700
235
149
903
242
41
865
929
245
757
550
230
794
138
29
457
68
254
867
426
240
76
65
587
385
12
169
143
454
333
721
988
680
475
26
449
757
56
344
71
738
337
959
310
884
507
69
72
651
851
51
471
543
385
472
71
868
965
155
123
285
253
722
991
620
160
300
63
636
555
481
893
306
90
222
259
692
974
92
101
673
398
152
993
654
107
817
975
864
309
247
14
980
698
133
365
682
882
331
377
142
926
375
63
631
12
817
889
169
473
234
787
584
562
968
344
456
370
878
519
148
235
892
963
527
854
726
228
69
38
903
727
715
729
131
284
249
469
161
521
979
962
502
128
209
779
720
267
290
514
633
976
89
922
385
466
316
630
250
620
502
62
26
841
351
86
58
638
839
745
233
985
697
130
799
532
846
104
468
208
961
103
92
632
562
706
103
997
963
981
78
789
942
909
985
773
226
318
137
172
760
833
432
863
244
342
191
713
613
322
797
873
990
187
379
6
106
500
995
873
371
484
102
709
563
785
642
85
584
831
721
742
837
481
693
991
585
845
432
852
47
305
737
42
123
813
70
316
338
459
324
383
51
165
877
865
979
127
990
286
861
257
500
105
394
485
852
202
668
211
730
996
955
614
943
623
84
793
769
191
615
904
654
155
687
571
21
282
713
836
954
512
67
839
703
257
544
232
261
325
620
44
770
714
509
361
122
963
577
711
944
640
939
489
89
779
958
98
854
797
924
759
442
463
418
69
559
23
724
495
650
431
185
926
983
997
596
310
708
413
545
190
13
268
126
618
762
683
597
565
298
594
379
419
646
590
212
577
6
903
479
478
241
331
419
618
69
416
420
239
791
129
676
400
673
741
211
115
579
248
719
39
22
979
677
998
597
523
959
268
646
157
502
107
116
324
632
513
765
519
345
541
291
139
151
828
483
499
115
147
200
188
378
911
837
410
724
567
962
761
766
708
955
150
916
577
828
191
581
331
866
490
998
84
387
647
655
281
701
728
550
385
286
165
392
220
340
771
453
567
100
606
962
766
742
940
813
145
266
445
911
74
496
50
614
318
194
596
632
159
362
570
184
431
982
666
407
228
813
908
804
542
362
344
977
497
852
121
40
173
768
827
847
223
629
610
638
626
685
478
784
958
614
592
50
481
663
123
215
250
363
399
939
122
643
685
478
282
131
911
234
421
490
52
140
190
858
676
573
939
877
389
833
40
301
501
209
248
917
285
321
721
326
589
723
249
183
442
741
217
630
498
107
596
13
809
254
17
418
500
76
585
247
344
522
643
795
110
662
128
786
840
760
527
903
863
445
664
619
471
290
746
64
624
986
139
214
4
813
329
455
985
310
399
419
834
870
142
80
553
507
620
259
288
168
579
62
181
790
635
289
850
766
554
516
431
595
274
376
261
292
529
543
836
540
78
80
636
677
565
83
752
353
996
5
63
94
638
680
848
67
940
779
319
67
703
404
550
93
301
554
666
957
254
462
969
984
789
168
871
281
355
259
131
982
219
368
903
570
389
942
548
677
100
731
960
721
17
680
441
362
138
189
767
60
70
212
157
909
24
291
317
560
378
424
585
257
111
603
476
929
769
983
621
841
855
890
133
520
724
293
986
540
117
972
818
282
426
287
937
983
707
405
965
189
193
836
692
287
775
365
249
871
539
786
592
571
901
405
664
398
341
896
327
807
26
959
278
424
852
196
766
869
552
743
830
143
559
532
183
836
259
450
609
783
111
325
946
895
871
387
275
561
811
802
961
424
405
934
559
346
412
228
418
78
666
991
13
454
203
906
653
982
481
786
240
302
623
964
162
332
561
703
269
867
893
195
75
17
91
24
19
168
399
479
642
67
408
713
5
214
825
545
532
33
391
665
738
136
264
98
986
613
419
35
468
456
799
587
142
114
6
563
213
704
291
122
65
583
495
31
253
830
369
311
295
683
398
241
492
129
849
52
962
654
270
174
393
630
80
525
760
932
207
207
391
159
947
920
342
270
357
547
963
532
530
677
934
429
32
264
797
582
646
228
209
783
303
580
704
982
767
549
741
409
180
299
239
69
61
9
564
509
748
526
167
123
520
304
669
227
866
70
231
816
446
495
452
212
297
177
879
778
756
403
455
496
377
478
882
494
857
904
909
521
595
316
25
986
78
880
916
403
685
822
278
991
896
837
297
760
107
408
151
584
445
488
419
689
20
551
130
463
44
784
543
717
111
31
389
343
734
199
502
819
904
998
197
176
67
252
760
828
393
538
696
150
625
574
137
816
135
603
973
662
13
1
777
293
149
472
614
751
323
495
134
280
237
129
146
662
284
893
48
619
601
202
59
533
614
758
195
75
855
360
328
380
292
857
470
81
808
310
613
865
746
29
109
197
619
792
553
532
199
464
584
618
197
210
848
485
649
668
594
317
957
807
40
699
238
621
680
648
290
507
168
440
983
914
283
497
369
843
737
479
116
869
287
311
146
596
663
77
519
927
350
585
658
48
123
938
996
803
568
641
6
996
493
584
355
204
288
784
615
915
786
870
567
102
100
158
645
923
282
582
457
854
328
898
662
424
264
344
692
672
554
391
933
605
39
267
39
228
997
751
957
150
669
67
137
399
769
821
102
831
95
604
272
428
335
288
449
876
564
36
888
25
717
756
221
239
557
71
827
167
239
842
394
189
619
994
540
627
869
632
373
844
789
455
745
495
463
87
824
559
538
195
281
213
449
227
47
302
404
198
144
893
763
161
483
415
747
952
943
935
86
321
235
415
284
791
258
223
677
463
706
705
361
508
651
406
360
267
726
373
108
725
305
47
459
634
767
441
916
688
540
645
741
990
125
233
915
486
688
810
655
203
175
740
368
863
65
116
428
918
62
138
171
108
32
378
820
420
437
847
867
713
382
401
574
333
118
774
867
767
543
448
883
754
766
647
796
286
324
967
409
647
957
563
133
937
213
320
657
574
257
170
585
867
446
562
764
110
160
100
864
588
345
525
992
505
12
578
786
136
663
716
481
440
270
320
881
941
918
827
69
955
727
145
926
139
964
851
217
876
546
913
95
266
277
82
349
326
236
722
626
548
706
522
154
160
918
467
207
242
662
459
655
390
507
193
487
733
998
246
88
947
656
858
408
355
62
529
903
352
600
417
252
125
659
469
423
136
238
371
619
861
912
712
981
81
82
161
728
387
264
128
559
629
934
70
736
782
106
593
267
21
395
517
990
880
767
335
168
18
589
889
400
473
858
599
295
273
685
310
343
936
209
675
872
691
118
982
788
221
883
535
66
359
586
1000
560
428
8
612
810
874
210
791
919
411
418
489
497
158
462
556
886
137
332
512
602
87
727
371
982
728
573
600
525
516
605
839
316
429
50
777
211
536
328
438
187
922
507
185
348
39
893
956
638
727
766
599
191
928
785
665
627
617
951
732
312
553
397
114
748
281
443
814
834
205
513
710
670
671
545
257
942
745
460
453
733
748
96
385
719
712
807
489
360
591
524
526
623
478
713
375
225
62
78
982
139
290
284
181
347
495
223
631
417
284
567
857
527
112
440
195
940
790
31
473
829
124
919
442
531
530
652
256
999
720
880
837
241
517
966
547
20
410
511
413
925
761
710
94
224
417
770
882
556
96
898
299
630
88
520
257
570
718
458
343
442
520
763
502
810
269
798
303
874
864
929
980
845
536
893
687
745
15
489
721
745
115
780
5
490
634
355
779
581
608
563
283
552
732
826
188
227
191
285
666
286
245
51
307
250
636
297
500
848
330
258
552
941
111
970
534
701
322
237
798
797
353
880
153
695
575
809
963
987
36
811
759
885
631
272
554
621
417
202
724
508
426
67
177
863
600
905
542
804
501
147
300
190
988
348
71
605
412
785
776
350
761
488
30
859
798
820
898
816
473
155
122
529
822
564
7
790
72
652
442
527
939
875
924
58
957
724
62
629
187
119
724
249
882
270
934
520
475
20
615
284
798
387
509
424
564
629
955
92
964
637
710
967
703
908
668
867
907
631
171
224
123
662
573
437
65
303
859
109
848
804
414
531
198
483
500
533
535
196
585
10
886
629
439
23
286
565
846
341
718
847
828
707
659
204
531
895
982
536
299
856
316
475
19
835
951
301
496
396
30
336
502
678
94
970
134
84
992
387
301
804
795
851
464
247
647
173
264
484
404
574
285
291
494
721
3
214
719
142
921
377
568
572
2
410
213
57
771
962
562
774
858
771
597
621
370
118
793
585
172
849
553
786
63
804
469
876
872
638
710
167
714
532
963
464
969
219
212
71
94
78
56
871
35
786
432
670
819
191
348
246
906
571
698
664
13
454
305
433
395
499
86
68
70
733
640
426
13
604
623
963
167
891
980
710
998
517
483
346
421
683
50
202
139
570
7
424
834
26
798
806
189
325
627
985
423
44
200
808
874
572
22
681
180
591
670
592
774
93
103
374
747
157
319
434
586
760
643
868
967
344
480
347
552
746
640
675
692
335
241
217
62
919
746
655
494
27
920
731
704
698
346
650
185
763
699
818
276
952
113
485
274
831
874
600
546
710
124
935
766
163
425
91
755
758
872
524
951
895
859
136
152
410
756
284
61
739
547
316
73
6
866
813
959
315
1
823
330
946
175
263
245
885
792
530
944
299
437
125
416
172
85
751
467
291
400
898
996
160
981
430
442
237
145
40
753
89
132
746
741
686
653
786
429
39
333
365
826
873
911
715
589
798
45
844
186
732
156
163
527
930
66
904
477
63
82
866
335
227
794
583
131
625
91
423
556
960
800
488
455
214
925
459
48
614
661
643
494
37
251
599
968
32
261
670
164
917
47
605
10
133
25
298
446
139
854
303
295
652
781
424
633
987
239
161
557
545
212
223
932
270
43
617
526
24
110
51
907
390
248
543
637
361
880
114
561
751
553
442
479
915
13
156
56
565
972
241
614
35
467
648
355
343
61
810
660
789
184
212
295
642
582
545
804
667
183
278
864
848
705
650
102
712
949
204
712
57
70
973
254
731
58
353
142
357
287
504
704
527
274
857
123
53
725
911
256
321
535
74
88
643
645
712
551
794
577
946
524
589
31
959
101
418
118
783
649
194
699
544
725
7
833
182
667
126
492
482
571
670
567
83
390
395
684
798
100
572
489
194
245
829
883
869
670
203
152
286
922
355
47
344
636
61
669
74
196
640
427
998
90
941
445
699
693
873
526
136
647
236
193
23
608
767
400
413
919
951
176
243
652
56
900
176
567
333
886
561
751
53
656
701
86
306
626
891
261
72
922
931
704
130
688
840
715
745
583
580
47
967
89
460
384
561
923
718
474
272
77
513
160
158
983
195
201
189
862
214
534
177
588
532
636
374
274
714
688
732
378
117
553
935
309
808
977
782
419
846
3
387
768
592
312
983
241
553
112
826
455
70
213
783
361
853
151
736
624
950
561
852
653
259
530
97
648
104
308
113
114
679
608
734
107
451
675
946
889
668
469
77
760
229
594
357
613
41
39
752
98
913
429
168
421
713
222
691
446
254
233
522
191
872
913
672
812
185
66
257
861
866
60
480
946
580
144
955
910
395
161
100
316
104
839
705
314
885
824
636
948
639
793
896
577
160
324
855
355
33
674
576
667
759
250
565
993
155
343
188
926
534
686
223
968
486
440
727
303
368
535
464
935
752
674
624
482
151
897
481
412
326
332
909
736
350
645
415
952
382
761
439
600
817
585
197
887
57
874
272
677
669
856
507
604
89
915
448
180
373
453
787
554
687
30
765
21
394
31
470
448
606
393
328
552
14
368
857
364
678
926
925
264
189
146
330
698
282
864
544
49
565
937
800
184
482
694
563
843
1000
541
590
436
844
242
424
741
220
71
170
717
147
917
847
904
460
422
417
883
488
386
869
857
223
36
329
735
520
201
277
993
491
88
366
205
804
152
218
376
28
497
852
105
522
349
54
174
622
411
104
384
31
324
750
297
392
44
216
113
5
654
347
77
507
39
676
633
145
891
334
80
947
709
244
599
699
803
948
361
155
851
765
860
283
204
724
771
711
974
832
384
733
897
829
118
364
141
497
691
989
484
995
295
69
763
434
499
238
81
89
686
863
44
244
534
806
196
629
430
706
924
824
720
543
290
797
402
660
700
964
201
686
794
741
953
993
700
625
898
435
605
229
775
101
657
545
575
740
318
949
461
338
688
110
593
20
728
1000
580
130
8
680
836
823
361
393
376
987
785
765
505
649
61
589
389
261
774
758
727
438
897
396
615
789
625
131
212
442
910
762
14
755
17
274
381
490
476
269
445
411
999
410
705
877
293
385
390
502
198
254
189
355
275
761
5
514
771
342
221
980
863
136
373
115
267
212
231
793
522
651
10
387
774
853
883
579
451
609
970
729
1
111
744
187
771
995
132
532
201
965
638
153
710
310
490
1000
65
856
152
615
554
500
548
715
983
491
991
754
386
55
124
827
329
802
140
256
884
560
175
967
649
981
49
521
690
256
451
262
908
775
282
626
130
422
75
45
183
452
359
264
294
602
370
143
451
129
720
149
752
10
530
847
365
380
49
640
430
637
951
923
162
302
388
553
398
881
309
291
99
464
769
409
613
734
726
215
62
410
299
608
865
838
592
142
234
657
935
264
465
958
888
533
988
346
369
686
426
672
82
306
368
975
770
755
167
328
933
755
834
909
301
663
16
566
790
66
142
561
650
787
10
971
213
776
521
448
13
644
785
630
996
797
525
532
246
205
566
674
928
881
218
524
128
25
513
85
880
614
583
88
972
953
975
326
32
322
292
96
1000
386
385
596
340
496
243
394
231
327
842
759
570
597
498
722
802
718
637
244
474
357
532
732
960
799
245
478
947
941
911
281
158
476
555
640
247
577
823
414
980
930
357
792
609
524
89
719
834
971
348
693
829
489
551
980
643
860
190
836
663
853
986
306
968
592
376
516
109
325
933
151
283
885
938
985
914
884
90
920
362
355
246
976
885
119
161
61
966
615
444
169
831
339
308
847
317
293
267
389
232
60
598
251
37
206
277
578
943
730
87
601
525
169
775
865
545
814
450
940
978
190
920
261
150
594
273
263
506
29
814
792
755
296
436
61
56
369
577
121
471
427
205
843
99
79
685
960
221
397
940
568
279
308
85
809
712
834
558
156
503
404
856
845
804
171
152
509
147
893
446
1000
560
382
408
719
370
6
737
521
609
984
702
377
710
488
474
580
605
657
50
176
447
688
817
724
907
108
275
221
420
160
44
214
784
31
50
726
269
262
664
564
734
285
719
30
293
496
469
816
757
641
25
88
405
584
290
372
657
737
144
891
861
495
477
409
702
64
680
470
750
939
376
201
231
143
500
412
430
46
312
883
39
209
567
74
375
235
866
465
617
63
154
912
144
488
442
147
582
910
92
603
420
547
418
229
884
331
945
886
338
748
381
176
611
730
254
300
543
487
223
633
486
888
240
238
703
569
125
446
376
468
627
3
419
902
683
974
411
594
460
781
746
309
705
274
522
877
77
718
786
409
455
921
509
476
618
512
49
835
345
547
942
86
723
213
549
262
362
380
498
946
319
146
837
986
741
342
556
233
624
132
428
47
656
504
138
472
774
436
335
126
949
950
516
798
720
125
657
714
159
347
89
208
280
744
437
280
388
784
335
150
499
503
242
439
754
659
942
75
705
395
172
347
458
689
441
799
910
910
259
816
746
328
921
808
449
297
463
895
264
145
662
852
6
513
711
883
590
972
770
453
405
326
702
44
964
862
133
181
837
211
428
481
472
165
307
823
394
987
611
928
220
270
127
793
69
369
526
442
259
814
161
413
606
842
912
233
272
407
314
912
852
567
914
115
317
180
177
270
510
204
297
328
116
699
948
263
416
867
347
713
683
46
6
321
768
606
199
470
300
132
476
69
915
107
535
5
107
520
361
656
630
537
857
592
837
327
75
246
1000
701
802
834
453
995
458
270
318
947
193
178
721
995
612
317
641
479
796
960
967
743
126
765
896
25
981
714
567
304
536
524
677
21
747
751
906
662
94
500
137
739
820
225
858
627
186
646
610
37
777
192
30
661
961
708
866
656
409
390
308
190
35
35
135
243
767
731
460
193
326
64
302
520
620
745
834
116
356
345
912
275
260
459
396
431
614
212
882
110
874
462
650
358
806
479
69
109
933
121
199
590
61
750
75
862
316
215
964
33
451
237
952
511
107
453
339
894
381
169
684
759
293
623
794
645
703
175
607
997
809
363
702
682
614
250
140
996
631
781
400
709
692
164
501
821
893
432
765
168
637
424
275
911
212
367
819
259
556
166
988
479
701
257
129
338
867
577
94
684
354
833
28
765
166
711
1000
228
783
115
921
491
625
825
31
311
493
184
205
930
766
579
490
133
166
473
554
932
684
735
188
341
659
828
614
891
50
194
106
128
667
815
353
303
491
512
72
886
261
18
601
313
155
225
604
599
767
314
545
61
566
637
312
403
670
368
199
873
86
889
500
984
531
827
112
598
573
464
870
741
97
960
850
643
64
463
462
894
77
728
2
509
569
276
237
957
282
523
742
870
301
510
936
255
97
67
213
505
932
293
118
408
476
203
254
639
701
300
515
965
933
571
234
465
459
142
105
605
226
409
20
945
984
948
542
580
696
962
346
138
144
284
840
342
463
241
100
652
741
752
456
505
943
121
297
987
128
893
165
590
386
9
771
844
909
246
372
217
399
580
830
679
331
695
759
668
653
318
425
76
175
448
402
6
237
839
576
717
252
270
766
170
367
252
88
19
807
832
211
725
400
27
820
722
450
296
909
180
367
128
41
995
407
487
317
74
479
383
616
850
202
270
595
236
315
337
68
912
92
2
622
895
642
79
772
864
830
166
502
584
89
768
803
90
602
545
690
988
113
868
205
345
209
564
163
185
978
309
705
482
831
652
252
943
700
70
144
547
953
734
36
1000
165
935
131
791
287
230
461
504
875
383
710
398
770
166
551
44
30
879
37
981
973
255
378
937
908
33
355
147
498
75
667
706
738
378
779
680
199
690
199
924
544
750
658
151
313
348
393
841
636
508
539
984
818
98
717
483
741
83
997
313
619
456
818
134
947
598
856
145
384
471
527
396
948
539
570
659
106
817
117
227
268
726
773
667
743
759
469
664
444
60
290
562
489
124
47
122
365
798
99
283
542
617
803
479
220
329
40
110
420
124
436
348
773
708
279
337
173
842
628
219
914
411
789
119
78
356
157
404
694
81
387
53
632
34
39
953
301
222
75
288
936
344
87
966
693
100
722
207
810
955
523
981
826
333
346
3
197
750
563
364
704
906
520
681
713
94
87
876
695
604
672
285
413
984
817
834
827
95
288
426
100
944
630
560
14
156
312
376
777
768
906
29
431
782
234
310
51
486
56
893
477
161
653
476
591
160
627
315
55
757
330
360
961
375
617
280
105
984
2
126
411
534
918
317
613
221
472
907
461
333
1000
800
542
139
751
726
361
13
257
256
399
597
263
115
757
261
649
358
393
584
398
712
136
871
534
534
389
938
906
414
907
539
833
349
117
854
937
861
168
377
928
109
347
398
709
319
517
49
938
347
973
517
107
254
474
605
258
122
234
302
707
152
356
398
515
310
510
464
8
379
677
699
331
305
413
287
892
150
413
849
547
811
118
533
574
875
709
97
777
653
157
33
564
474
867
456
473
779
117
969
418
424
682
208
866
871
959
68
285
612
484
914
437
267
911
205
533
289
436
48
824
82
142
159
957
670
948
608
282
738
678
486
360
993
269
334
128
311
265
788
505
68
606
374
777
368
125
818
720
644
335
535
294
237
839
206
677
118
150
463
588
868
781
753
104
406
224
377
652
717
838
568
458
12
718
216
486
333
352
505
831
612
215
310
609
572
509
657
595
688
920
944
288
602
616
895
572
23
700
426
899
150
987
679
736
103
296
515
43
639
381
636
727
730
295
340
328
159
212
650
683
395
693
149
953
440
981
438
177
206
119
526
495
260
638
861
259
440
74
918
533
950
832
456
893
993
747
605
16
940
255
925
286
305
247
456
509
507
536
567
905
541
343
100
722
153
400
905
176
92
23
372
953
302
33
973
147
689
472
138
356
222
879
27
640
684
299
877
161
361
309
646
647
294
79
617
254
521
883
474
4
875
567
108
761
541
151
94
599
497
147
323
514
421
206
757
644
405
351
668
569
54
451
972
782
139
540
509
151
7
268
180
30
381
64
870
677
4
570
13
855
822
503
433
751
63
429
870
882
599
796
185
279
443
239
796
9
112
360
343
95
831
119
908
950
256
525
401
739
455
524
850
481
388
866
431
291
32
253
25
891
560
258
988
395
747
332
581
434
836
752
237
879
663
457
393
773
731
589
168
602
270
975
539
704
82
938
10
433
63
591
988
682
898
195
198
509
356
277
514
900
981
921
530
148
742
72
44
955
393
747
350
87
872
742
962
376
39
840
886
916
490
502
80
511
939
750
107
876
895
262
271
567
984
722
705
388
248
93
18
807
224
814
64
988
412
884
343
179
986
393
346
531
247
389
876
900
384
844
31
839
529
122
30
753
11
576
548
164
927
803
547
130
869
657
850
122
710
326
880
84
833
656
36
989
111
436
159
907
209
529
415
513
525
594
732
9
176
627
580
610
961
712
514
118
171
163
400
627
431
742
634
57
513
712
13
34
198
303
116
645
817
585
194
702
60
820
594
458
4
155
713
168
91
866
275
497
948
466
542
521
530
683
668
20
74
702
30
803
717
69
794
55
446
368
397
83
281
106
873
372
149
237
179
579
988
423
738
928
18
419
470
497
926
958
437
58
18
115
86
449
957
420
791
927
818
910
2
629
618
921
877
12
359
657
693
120
877
463
684
646
481
320
225
977
444
263
418
876
892
323
219
995
544
100
215
165
42
266
46
289
336
158
230
704
692
68
876
93
405
61
346
358
248
883
427
417
997
61
7
508
132
364
548
458
931
593
882
317
771
117
979
911
353
634
379
180
982
405
920
566
768
600
233
390
814
463
257
852
21
715
649
274
148
982
569
207
149
74
761
334
605
611
269
421
295
848
367
151
554
542
509
363
82
342
203
78
293
529
687
706
157
860
232
988
672
911
697
576
802
596
681
601
738
468
264
250
803
985
834
150
191
206
989
299
1000
243
792
420
691
390
963
836
190
43
718
420
341
412
61
737
314
536
279
201
871
327
290
9
101
170
288
607
348
139
784
675
592
22
786
967
438
163
335
838
231
595
38
997
545
58
551
803
428
283
197
437
358
343
17
417
796
973
616
187
620
506
69
13
462
477
48
967
164
4
41
600
152
764
223
767
514
772
104
201
953
185
536
606
611
38
58
479
944
166
842
373
457
558
684
46
120
53
593
767
727
576
535
99
269
95
797
604
658
112
257
282
756
740
556
13
755
398
829
910
358
724
148
295
128
544
308
958
606
660
912
451
494
774
970
457
281
61
412
665
160
808
934
186
17
35
624
246
531
222
653
813
167
86
127
816
941
870
874
874
361
738
547
742
868
700
931
241
448
938
735
103
818
544
495
956
721
444
416
698
447
719
121
606
623
651
305
865
704
511
239
599
351
577
921
141
64
886
414
15
33
941
587
19
131
3
25
905
405
565
366
331
184
363
694
200
167
543
897
20
445
674
105
604
435
885
405
330
142
767
59
141
979
601
333
675
645
142
883
226
158
419
366
703
248
982
559
423
732
607
823
338
374
706
185
270
992
602
651
812
280
405
630
833
852
394
513
948
540
738
493
858
864
883
720
236
873
114
741
698
308
670
970
445
101
256
625
375
788
970
161
806
306
464
748
456
15
621
737
40
474
168
387
602
704
392
337
737
177
604
452
970
747
43
704
859
104
690
669
833
102
850
117
397
478
430
871
79
74
542
819
437
670
447
504
483
899
875
189
167
561
450
706
885
824
276
633
584
440
744
582
683
98
287
454
929
505
89
528
279
555
750
166
113
262
514
725
365
709
949
5
661
366
905
165
210
550
163
620
933
713
444
816
330
445
332
184
649
833
247
797
187
839
804
412
995
880
771
679
815
680
365
225
805
773
823
256
518
726
999
47
618
291
261
430
33
187
105
975
607
169
706
39
795
351
109
313
663
494
862
774
218
138
693
199
147
960
260
520
110
757
82
324
80
772
526
760
644
873
116
971
794
263
489
878
508
989
46
877
313
508
717
501
141
943
271
637
973
503
320
222
190
707
468
655
72
696
87
337
597
920
828
871
548
930
306
434
940
815
349
756
965
93
833
973
947
478
395
308
329
30
256
207
299
615
980
51
494
515
225
55
150
241
480
255
188
335
289
801
973
982
740
883
918
783
814
720
658
903
761
994
286
123
818
3
984
49
456
590
473
807
812
591
870
115
149
155
918
518
957
785
53
925
802
361
461
318
152
734
74
646
158
685
466
475
851
184
729
918
260
930
699
743
720
74
377
309
70
884
970
172
442
877
746
792
118
596
830
728
267
762
130
156
409
34
809
288
144
971
130
531
34
76
4
801
490
5
328
450
204
107
998
675
963
492
535
130
641
691
414
681
795
848
515
895
566
54
596
931
527
90
324
906
705
386
201
732
234
421
661
647
53
174
726
362
552
445
879
820
332
78
218
66
117
131
538
587
350
70
715
840
225
881
662
332
734
839
161
779
801
323
80
366
732
685
839
58
22
687
505
260
34
410
564
843
153
887
236
717
845
918
187
674
448
649
640
174
630
546
151
137
189
334
800
546
278
324
135
856
197
282
970
799
607
695
57
125
393
820
744
275
439
396
935
717
248
276
74
939
698
511
411
676
203
628
529
976
228
929
917
145
380
642
455
425
302
689
785
527
185
612
907
755
18
963
803
530
614
73
524
579
45
647
995
900
368
93
713
918
428
817
636
885
82
6
820
697
397
528
783
749
271
713
144
400
406
692
825
858
819
891
975
55
838
37
846
167
89
749
24
972
104
365
793
142
989
173
907
929
74
617
738
423
573
383
563
703
60
466
750
779
22
473
762
144
805
445
134
155
65
424
97
207
179
829
76
859
192
482
88
628
546
771
950
200
229
993
323
150
11
432
811
110
113
62
747
501
992
81
839
573
945
664
520
528
839
419
765
889
658
47
71
173
443
599
536
92
880
561
254
218
56
699
741
61
815
260
746
966
769
615
580
135
243
909
77
296
354
631
369
274
954
233
947
755
437
145
888
63
205
550
713
624
202
289
52
134
33
131
202
127
81
433
702
768
501
908
232
207
140
814
528
767
220
391
497
559
124
771
388
873
708
913
707
821
356
338
547
282
447
559
120
123
956
160
609
80
694
389
871
408
81
1
154
620
391
839
741
199
154
300
356
160
752
385
250
744
270
543
95
309
369
852
234
714
260
413
343
81
897
979
291
872
95
981
829
603
675
94
737
401
609
399
266
791
849
26
980
808
732
866
653
524
833
605
443
578
702
821
422
140
190
371
440
17
951
626
448
289
274
350
640
941
636
222
199
446
193
17
26
155
7
484
531
643
950
798
480
883
84
280
919
209
828
745
403
583
334
465
120
577
358
215
996
827
323
290
554
463
447
703
117
152
533
984
918
946
504
160
844
86
814
476
798
282
642
435
146
751
168
511
306
476
287
688
298
733
833
639
6
924
779
887
950
136
860
821
649
675
803
768
974
1000
654
637
495
117
709
850
501
514
179
332
220
128
87
392
790
687
781
197
710
1
150
376
805
412
844
13
228
693
771
910
676
100
730
554
751
198
256
641
409
302
713
383
473
90
173
55
510
2
864
429
765
544
846
770
404
503
88
90
97
383
307
189
801
84
781
837
698
951
826
120
406
851
805
573
967
860
324
243
603
461
743
223
917
922
269
512
32
640
638
300
155
803
874
878
173
681
670
434
187
210
687
931
363
329
494
98
43
658
901
339
864
755
171
25
519
116
969
176
895
518
920
54
533
90
353
528
760
711
136
389
376
936
495
968
478
702
394
510
876
449
329
776
545
162
373
230
742
54
933
16
741
284
936
629
610
112
141
825
109
396
799
857
559
177
201
541
511
364
506
48
117
230
813
519
402
487
677
819
25
210
119
757
716
793
708
115
286
371
496
696
14
920
413
366
252
288
218
802
277
2
292
206
794
550
317
795
2
243
392
245
793
439
244
639
487
97
964
621
501
159
143
663
450
234
375
329
525
398
825
405
383
722
986
567
454
291
784
74
272
88
940
574
405
69
820
714
599
197
86
719
7
958
114
452
747
122
478
809
582
121
837
431
217
420
165
868
558
699
614
303
300
506
235
866
372
242
437
386
95
40
303
147
389
95
852
851
15
505
913
529
601
526
506
557
191
403
567
336
131
660
381
386
389
747
313
823
807
508
304
206
374
764
127
759
333
645
561
813
824
5
531
136
810
349
692
472
223
265
156
253
651
226
814
914
357
5
210
667
137
658
33
918
312
194
52
726
146
587
798
814
128
750
338
713
822
463
267
546
485
2
441
791
199
399
14
150
88
859
96
282
59
824
671
751
621
595
494
986
533
200
329
457
443
438
260
543
222
593
779
752
385
392
40
77
855
155
934
255
337
954
651
604
750
815
994
963
468
661
982
941
608
725
222
336
274
644
139
122
394
278
364
833
812
611
506
528
339
723
96
775
779
934
696
252
325
706
39
636
333
768
602
412
174
264
199
132
793
381
996
418
609
91
903
721
619
109
382
419
912
114
570
371
312
632
74
424
542
682
886
719
129
471
691
837
234
931
233
978
761
907
529
389
353
104
440
205
368
729
530
711
517
900
197
796
608
498
780
27
763
131
704
322
563
245
773
719
770
261
398
60
711
788
873
741
915
602
836
853
317
82
690
127
178
240
58
135
914
290
338
69
162
979
27
260
754
491
761
330
760
859
967
476
370
206
600
944
219
50
684
176
658
167
303
475
642
160
202
278
108
4
434
298
181
282
297
849
91
775
390
660
445
306
760
343
338
517
979
492
902
310
472
53
9
243
575
225
278
84
621
655
995
59
795
84
238
74
647
947
354
329
915
616
856
308
742
152
15
63
477
419
654
104
987
395
150
953
795
334
221
605
468
218
861
735
318
563
689
447
939
247
72
799
53
472
581
105
874
373
775
231
517
59
796
733
984
67
15
694
905
321
765
521
535
673
276
852
450
21
32
899
47
826
143
241
173
572
785
122
211
317
396
761
480
58
117
41
94
53
931
240
313
591
15
108
975
960
147
712
821
531
364
924
397
935
694
364
740
278
482
870
249
235
736
308
960
640
954
630
982
882
105
614
963
11
775
652
278
982
13
275
118
845
93
851
749
44
198
35
8
169
55
103
524
680
658
251
271
118
524
328
766
289
366
211
653
737
697
225
489
592
606
601
220
528
896
935
239
134
837
20
959
494
27
217
462
112
211
749
203
656
511
904
667
139
152
168
600
285
680
713
690
821
646
529
575
345
921
699
659
246
116
983
500
871
78
910
479
753
49
56
22
281
896
33
933
594
751
988
261
862
508
98
716
360
894
616
833
903
252
525
995
270
728
733
903
236
323
78
323
695
116
78
728
149
42
511
988
533
790
409
396
934
752
980
131
291
457
319
722
534
613
492
216
989
667
721
497
45
824
972
681
256
569
181
559
56
25
726
851
221
972
532
388
60
910
362
454
69
336
430
180
436
329
470
307
378
594
786
612
724
368
602
22
587
954
253
750
197
217
366
796
225
69
187
811
958
810
675
630
754
229
761
735
60
529
461
556
142
451
157
769
369
481
389
698
526
634
15
529
186
122
391
259
587
159
558
245
837
247
55
755
492
584
77
134
744
610
187
90
514
324
691
124
694
703
68
293
709
466
574
382
312
457
246
5
243
114
54
346
969
885
875
49
244
898
283
223
608
941
931
662
296
557
380
160
234
106
842
218
921
728
240
549
57
481
328
534
686
343
433
161
515
398
518
80
774
273
859
79
685
822
633
686
157
120
90
632
796
67
786
565
708
294
582
786
853
587
701
745
892
778
172
696
600
869
413
236
872
213
540
386
312
693
224
524
170
217
563
754
154
287
497
202
228
62
737
365
100
128
62
846
485
113
88
736
637
433
304
452
841
679
255
68
766
591
220
22
616
157
663
645
6
59
3
122
362
631
972
332
426
500
958
517
159
298
215
908
907
176
789
181
229
389
310
169
154
858
563
294
16
463
872
21
170
794
911
44
67
227
492
8
201
481
249
319
341
272
921
1
378
273
87
617
805
371
824
979
549
98
713
762
437
238
37
136
33
787
814
258
986
880
498
751
297
806
827
355
118
956
282
535
784
395
75
171
797
765
410
420
377
389
984
440
25
780
369
978
255
239
941
725
300
851
501
951
105
6
580
183
399
491
704
574
947
343
563
194
369
873
114
669
58
736
142
469
809
447
688
707
719
529
63
429
838
310
876
295
793
489
607
974
339
729
796
796
358
950
820
951
353
462
595
44
889
782
238
907
735
769
921
348
727
731
646
971
433
260
677
264
823
873
688
930
4
970
490
812
995
226
359
840
234
316
565
130
184
765
706
759
970
813
849
737
453
388
253
418
527
714
693
891
710
569
993
934
292
952
416
730
404
752
959
874
376
36
468
162
664
728
698
269
436
797
105
710
644
531
199
406
28
125
759
769
38
613
56
473
103
90
520
974
21
326
943
397
508
94
418
650
92
972
679
454
613
957
418
547
571
949
451
484
418
61
314
299
721
751
983
791
754
966
940
351
747
859
713
63
452
134
384
265
159
770
266
889
577
657
114
661
223
710
786
714
106
129
213
201
513
771
924
303
654
69
126
369
777
519
522
55
107
524
622
965
626
322
318
743
294
756
861
546
765
933
192
520
38
157
785
266
777
86
783
255
215
783
213
805
670
129
505
562
680
156
360
373
709
961
278
70
169
221
666
967
235
806
520
787
552
615
142
360
492
568
189
639
30
624
642
521
678
810
955
504
166
499
735
414
717
616
766
337
835
994
121
398
492
857
389
210
483
297
742
683
520
627
711
348
285
735
32
531
319
879
856
499
81
902
976
187
941
517
414
218
199
101
904
723
419
476
340
891
523
244
193
268
114
550
321
592
430
620
304
319
204
991
657
94
443
145
838
100
790
151
962
623
734
21
523
171
373
685
237
187
824
924
317
742
686
81
111
557
99
135
51
408
110
539
300
234
2
238
286
248
178
476
597
991
27
298
311
510
884
158
923
813
856
656
458
326
813
252
259
316
277
730
162
175
308
296
503
987
724
478
433
44
165
372
544
822
567
408
679
493
605
491
120
186
513
287
43
92
509
470
248
992
723
932
692
919
136
312
284
520
522
744
721
95
842
353
907
463
797
868
608
547
516
723
586
24
470
120
388
469
727
848
326
166
634
91
985
181
823
57
740
318
234
58
357
339
470
527
759
145
400
605
397
715
369
107
517
200
789
90
761
996
131
787
226
543
565
364
47
306
569
823
77
662
859
377
998
417
867
798
483
272
846
569
664
851
389
132
197
833
775
193
692
326
103
811
129
856
601
959
165
265
866
362
887
348
37
650
683
309
44
329
364
951
187
595
587
59
227
788
908
641
85
158
527
484
8
648
884
35
773
621
784
721
75
784
677
665
778
120
22
212
98
249
429
783
103
522
404
391
161
94
76
540
80
377
246
370
706
566
469
612
728
369
624
346
248
707
645
619
447
875
626
667
343
609
538
899
187
551
163
781
540
861
680
490
434
84
516
514
313
953
710
385
648
493
57
389
209
645
714
400
994
647
797
943
703
591
723
242
501
867
712
246
491
720
903
598
993
775
2
80
219
151
245
329
418
786
722
493
875
658
803
114
433
869
455
665
346
969
783
109
360
494
955
322
866
387
36
459
876
892
930
124
345
539
742
756
47
35
407
761
832
249
360
751
579
972
331
694
576
812
121
930
382
418
339
760
440
183
628
765
835
745
891
95
658
867
362
729
335
763
162
78
160
505
141
412
23
939
393
257
964
445
836
314
780
945
611
468
367
811
896
143
861
690
905
592
935
838
477
718
792
215
676
671
510
494
234
779
370
107
539
326
743
656
64
323
903
320
808
700
875
369
372
263
41
559
729
369
772
941
636
516
808
600
896
934
425
914
341
843
714
218
525
250
441
157
569
20
36
587
507
504
220
625
809
179
661
329
415
589
851
534
778
399
72
577
903
490
922
983
305
874
374
721
154
633
770
286
583
245
440
706
321
409
882
536
335
932
567
57
124
330
449
178
701
534
240
998
31
511
310
590
890
645
875
323
707
464
766
970
899
660
645
916
649
372
20
19
855
399
769
53
180
337
205
217
777
645
854
893
239
286
268
685
805
910
176
793
630
498
171
932
208
27
998
351
667
965
166
972
704
388
299
306
384
32
128
615
915
919
512
713
736
34
175
930
988
121
155
11
468
886
77
147
694
750
452
901
582
825
184
541
552
990
313
163
572
764
862
39
782
173
285
819
849
977
675
589
129
406
340
272
49
53
809
554
872
660
615
330
125
337
461
647
557
176
455
254
422
317
198
186
265
260
389
218
149
654
512
678
452
793
890
834
919
829
65
8
679
48
40
638
297
585
363
750
766
648
456
670
520
662
839
374
188
733
101
556
820
490
599
359
743
679
823
727
28
828
305
494
817
955
769
675
371
539
933
874
771
933
996
387
661
966
409
368
276
753
929
354
283
612
348
585
626
561
506
796
660
82
385
582
341
706
132
7
134
500
842
874
611
736
806
948
417
843
719
470
376
255
32
500
66
916
239
994
93
1
376
10
624
915
446
136
503
697
784
29
386
791
589
961
927
536
28
385
941
860
277
845
915
356
888
988
929
386
651
59
282
857
929
9
684
76
56
270
838
431
3
329
690
698
952
467
361
437
820
396
29
293
53
108
625
16
211
904
234
663
935
481
507
754
949
909
243
118
590
558
510
802
235
303
363
668
685
870
216
265
211
777
427
131
491
158
499
949
123
670
566
858
738
831
533
805
989
351
282
30
874
492
901
636
883
20
728
745
472
62
352
915
210
91
394
331
769
257
14
786
574
530
610
620
580
451
105
589
103
803
541
114
69
191
449
472
357
334
608
264
125
872
346
953
163
601
512
323
316
367
597
486
5
290
268
459
678
599
731
371
827
117
954
115
813
354
744
601
363
250
77
798
36
833
891
465
354
444
738
764
573
731
334
994
273
307
31
305
24
840
703
579
411
322
336
605
602
474
865
352
450
538
453
344
876
205
450
151
869
58
726
544
5
704
943
154
817
730
605
334
704
696
381
524
301
683
313
607
434
294
971
627
802
598
546
768
543
245
161
676
695
858
374
42
362
843
986
874
79
987
780
28
480
539
719
378
868
1000
511
478
693
513
143
687
283
570
157
499
367
727
989
273
85
165
641
627
198
230
337
529
169
526
554
495
612
738
43
392
392
157
989
41
290
747
476
192
732
707
823
470
557
714
128
584
154
381
608
418
626
65
895
631
788
802
503
40
933
54
81
376
293
931
921
960
46
733
417
479
505
978
814
307
901
575
658
763
745
418
780
283
336
491
554
732
396
519
405
976
174
284
240
417
612
36
537
373
334
793
357
108
269
943
384
779
718
261
445
825
530
369
651
100
855
682
412
591
629
118
111
697
541
160
133
855
741
429
300
773
964
537
473
640
47
859
262
484
57
821
297
243
368
442
516
257
62
174
247
583
971
516
666
991
539
492
361
510
407
862
345
132
322
822
818
678
511
49
403
793
147
172
363
799
912
133
522
409
946
449
222
359
669
95
683
612
46
562
539
147
902
681
164
290
758
962
659
151
528
516
984
44
98
125
792
676
463
652
986
485
627
765
858
761
905
942
966
91
642
773
573
210
565
880
537
576
223
182
75
850
952
803
652
982
851
650
633
818
81
602
951
937
609
244
247
977
217
339
379
810
179
544
191
787
514
403
722
695
156
333
788
216
667
113
19
454
379
398
986
517
936
905
996
252
300
201
520
957
161
500
969
315
611
451
721
839
625
694
883
852
623
842
263
375
884
671
411
348
132
474
411
269
919
979
293
700
771
730
559
75
237
562
340
888
65
631
117
672
767
499
780
135
704
925
44
422
682
335
865
789
748
452
578
870
496
161
921
346
771
533
966
35
52
824
273
356
170
417
239
659
279
920
701
146
131
42
345
963
805
467
373
579
990
652
171
765
814
392
424
297
988
8
278
36
746
235
599
168
630
243
383
216
706
714
646
879
175
611
892
893
701
40
386
891
958
657
39
647
60
135
620
215
560
576
433
181
653
136
320
707
50
783
55
26
778
847
766
848
786
956
13
438
823
8
552
208
531
82
604
306
65
557
659
64
844
271
485
142
226
247
984
857
8
351
3
508
642
293
39
471
978
525
980
442
167
917
721
522
72
600
510
724
163
954
336
122
421
568
571
66
204
906
302
823
388
544
495
548
343
90
215
698
466
341
598
898
67
770
187
769
374
206
528
431
293
429
647
232
363
467
125
739
29
560
25
198
947
136
844
466
556
637
992
891
557
715
48
737
242
142
187
524
865
741
712
94
360
817
604
306
747
827
346
997
519
503
65
277
143
228
192
242
567
248
456
952
287
201
976
865
87
544
648
948
54
663
795
376
840
861
286
82
413
947
913
388
782
865
863
631
213
640
531
992
505
955
761
707
806
802
834
448
217
35
185
972
236
67
852
26
635
645
158
130
981
404
949
79
390
852
17
915
493
558
990
689
823
558
69
532
17
435
473
448
264
91
345
747
434
952
194
232
181
260
624
103
111
128
241
23
794
237
151
946
999
428
355
135
29
926
730
234
467
632
979
409
917
715
108
331
609
748
529
219
805
743
838
246
17
743
702
365
995
95
37
12
247
104
854
189
669
553
719
183
478
501
770
494
218
802
632
636
105
82
360
98
329
242
767
147
231
145
86
107
462
796
966
442
331
240
179
238
557
354
318
688
542
935
933
770
105
756
249
614
346
798
641
962
929
453
494
744
612
336
960
17
301
242
374
427
248
939
771
921
257
720
55
631
954
67
815
746
209
351
715
707
795
230
679
239
240
290
785
583
611
509
913
790
677
358
710
82
473
648
343
103
813
821
884
344
699
982
864
158
892
847
703
535
145
724
288
287
712
812
893
315
784
379
26
460
476
830
560
765
783
301
660
97
734
153
623
740
594
670
721
2
547
353
554
838
777
402
193
243
219
407
619
458
556
765
584
60
231
93
20
647
334
716
571
139
223
345
635
693
673
239
560
827
139
442
274
670
453
190
683
125
912
207
625
400
228
426
46
537
289
576
314
526
985
241
279
115
656
208
766
666
824
370
679
266
998
17
777
840
273
82
511
176
329
777
988
651
248
143
260
908
225
183
672
897
874
650
878
527
319
38
529
594
678
25
340
823
867
423
386
607
869
666
54
466
747
31
12
353
715
49
927
671
519
40
448
266
243
287
126
722
386
166
536
12
747
407
860
910
190
809
578
619
860
891
710
738
794
417
290
28
150
219
315
473
470
476
491
723
511
461
475
367
150
761
186
435
812
167
956
131
662
749
982
109
549
89
554
510
300
340
10
591
501
494
232
14
364
272
772
752
604
94
351
166
506
881
596
988
556
861
326
823
17
100
627
332
877
246
243
420
408
838
516
600
412
571
235
210
898
143
251
305
525
615
678
842
683
778
790
287
460
658
502
837
79
119
437
264
618
520
165
827
926
510
118
758
733
334
97
607
843
478
2
115
183
104
660
352
222
444
130
567
933
301
931
576
50
827
979
540
832
13
846
660
938
694
151
677
280
433
525
38
967
334
586
268
467
692
809
370
212
417
999
62
704
311
320
283
54
625
461
647
568
794
603
514
657
892
285
873
855
126
127
537
203
669
668
14
569
202
220
1
767
833
743
637
459
448
228
572
936
152
975
368
808
165
445
1
533
446
82
28
499
353
621
498
66
835
895
840
564
45
106
761
763
723
847
666
728
417
905
221
303
407
2
472
673
184
228
347
610
468
811
490
14
72
310
90
326
319
15
785
230
370
568
801
813
571
376
162
22
827
381
204
814
110
151
658
868
435
58
242
131
13
503
34
720
846
790
912
923
725
249
5
125
452
630
376
502
113
654
158
224
399
811
975
732
314
161
749
387
50
946
940
394
509
261
857
469
670
921
910
138
22
915
598
916
345
515
572
871
386
205
335
221
425
63
10
712
272
145
129
461
978
708
603
862
431
822
845
908
56
39
536
10
28
296
662
948
773
170
278
141
35
930
905
798
473
559
589
846
553
89
441
757
504
120
903
513
230
365
68
993
370
425
157
9
151
767
618
74
276
51
412
703
861
549
737
770
348
368
833
958
401
600
528
831
22
323
870
455
507
570
538
747
408
20
719
951
376
166
778
726
608
147
392
342
625
282
739
376
298
543
991
148
353
899
623
825
56
472
993
775
445
928
219
280
234
389
656
166
508
411
157
245
379
258
862
724
96
781
490
910
475
716
974
586
103
74
793
421
528
645
563
648
478
301
272
45
264
939
56
924
658
381
548
452
953
524
661
124
359
320
114
613
637
935
144
554
615
571
632
36
279
991
276
695
226
733
568
354
592
383
63
94
986
28
832
476
592
206
55
411
361
226
415
809
115
757
348
742
490
945
203
279
841
137
82
588
665
506
440
142
582
458
547
72
683
758
551
828
853
710
202
273
714
564
258
295
12
590
205
791
574
856
228
644
459
840
280
907
558
451
689
975
693
889
12
945
221
48
721
725
234
868
880
707
751
74
192
974
666
282
642
88
830
316
537
466
355
888
871
245
129
511
836
317
570
605
754
909
831
319
902
667
65
467
461
742
821
351
336
748
358
959
680
809
448
185
750
118
255
260
152
565
994
544
629
42
369
206
278
943
252
58
516
264
659
23
131
428
846
283
507
652
267
122
470
213
209
921
230
461
158
520
570
809
331
390
798
193
344
679
953
722
712
191
413
305
705
816
369
62
122
736
600
244
682
985
581
185
101
575
269
548
355
478
814
750
314
174
61
1
683
360
930
792
174
704
687
91
915
162
666
672
367
487
218
241
457
63
532
33
183
36
532
568
700
92
172
104
784
869
376
141
583
155
295
982
821
518
746
2
915
944
502
747
28
408
550
408
720
17
583
529
697
532
748
52
131
615
120
880
179
105
447
252
592
3
487
80
797
604
630
331
396
392
566
221
828
901
505
693
831
744
766
204
436
377
657
320
440
9
179
992
709
229
480
691
185
592
958
746
195
365
573
351
508
108
234
700
572
585
87
619
589
715
176
891
354
964
197
182
295
588
10
112
786
614
187
555
600
326
78
686
300
248
828
646
503
347
287
948
195
226
29
919
693
569
506
522
435
16
948
889
507
928
761
777
696
219
40
935
923
539
306
68
71
624
728
684
633
545
892
617
68
928
670
425
447
953
829
168
804
79
827
331
555
18
670
748
530
397
779
436
416
962
593
189
888
906
6
640
296
93
818
228
545
560
87
203
719
611
639
334
90
277
27
489
354
663
909
614
356
956
163
934
104
440
47
400
537
921
364
476
429
374
916
399
767
447
474
942
149
729
137
506
46
298
210
136
274
138
685
647
653
469
977
593
607
894
842
269
450
536
287
262
154
32
837
336
716
299
770
596
607
519
762
942
406
650
953
785
416
91
591
913
979
834
286
124
222
541
383
4
194
523
113
755
677
506
12
553
512
401
543
265
901
68
985
714
4
156
434
890
125
698
198
624
905
80
942
302
258
357
713
118
211
689
349
219
428
807
870
861
969
45
117
335
735
422
336
8
139
696
379
297
766
62
910
747
188
430
335
723
617
796
174
352
808
242
239
506
462
547
313
598
395
212
951
869
918
932
699
663
184
212
255
942
743
870
62
861
199
611
403
824
627
752
322
842
394
415
581
376
100
215
441
109
642
513
272
239
819
839
843
965
455
949
709
805
769
297
263
259
599
411
881
137
127
776
87
538
971
341
794
77
826
708
527
478
412
367
952
20
80
122
208
695
326
956
262
107
388
157
1
311
267
490
811
810
799
544
179
872
871
171
237
166
436
107
235
508
805
438
641
122
568
582
943
418
588
828
252
760
743
305
490
64
474
439
294
365
750
569
757
680
750
446
775
587
426
707
101
958
122
323
143
181
588
188
193
31
68
709
25
72
599
295
765
105
316
90
496
711
347
173
334
367
823
722
596
994
646
295
250
17
917
480
49
196
338
664
631
553
490
537
379
688
610
280
35
662
381
76
901
408
296
694
942
329
352
443
281
329
188
678
374
40
300
418
614
415
620
332
248
173
593
538
254
800
845
166
282
961
685
640
821
178
982
960
541
621
392
56
117
644
538
462
954
529
485
128
892
477
794
204
389
542
492
977
679
593
554
13
105
836
844
695
145
671
44
1000
680
874
773
392
669
180
966
78
734
363
597
772
110
794
989
318
36
315
294
154
959
942
190
695
822
583
502
131
345
474
215
12
409
468
343
282
593
688
174
63
444
280
717
612
300
193
560
335
348
950
960
650
119
367
680
796
818
66
6
380
734
375
399
578
442
948
457
431
709
6
194
589
773
611
191
198
181
804
796
374
444
746
422
825
598
233
944
767
145
75
337
220
968
877
10
129
563
693
715
541
311
886
529
237
597
256
178
803
286
191
879
108
441
142
947
564
193
197
666
328
368
932
281
838
804
958
550
663
293
836
954
680
742
66
549
29
446
921
450
105
344
750
89
102
739
257
750
277
244
910
317
123
665
344
861
138
100
87
443
709
796
431
482
909
204
598
141
707
232
595
448
123
909
339
268
402
559
687
857
141
84
968
422
621
175
517
12
302
74
483
121
543
45
877
573
150
834
422
601
258
222
286
581
404
237
168
520
381
726
548
224
603
730
110
83
273
599
504
504
597
806
632
354
655
227
580
203
308
12
189
777
693
261
998
779
452
424
937
175
826
708
768
94
123
821
670
746
910
45
819
126
437
998
46
834
464
413
876
41
647
935
341
471
78
246
964
293
418
775
224
995
277
902
634
620
171
814
278
228
400
129
287
106
692
971
277
7
283
458
202
686
407
433
433
79
811
850
130
749
30
444
121
634
625
167
584
721
477
428
807
980
552
323
155
791
247
927
180
158
537
173
507
158
681
34
707
490
148
494
884
448
783
305
123
340
946
615
251
202
526
331
577
612
267
554
446
576
813
449
426
743
226
729
932
637
532
285
921
228
985
572
34
918
368
91
267
922
593
641
757
117
303
89
801
663
941
53
566
75
983
261
262
973
643
320
720
452
369
314
420
851
884
925
49
719
359
766
518
949
540
217
260
379
297
351
288
622
121
451
160
551
547
226
529
642
340
75
387
320
569
656
466
595
352
564
529
489
150
158
404
216
970
419
743
632
739
298
396
195
406
132
223
595
47
608
920
219
342
218
144
838
346
310
809
269
369
644
946
249
134
840
911
445
117
223
60
357
106
333
224
830
602
827
446
49
588
571
493
172
613
481
564
215
874
66
514
401
166
685
621
956
143
258
613
248
355
531
231
244
867
20
69
485
124
465
836
182
898
938
437
557
774
763
500
271
664
65
34
634
255
51
953
303
130
113
65
333
543
465
986
799
475
283
126
648
649
275
560
123
638
194
82
849
67
41
255
669
177
620
541
371
706
668
907
770
102
988
437
962
610
901
555
215
621
842
435
612
21
126
59
530
961
741
161
25
571
534
1
407
705
285
494
671
674
3
740
926
309
230
405
660
402
252
719
480
726
911
82
987
403
134
402
524
319
404
326
896
669
111
448
556
488
166
469
392
182
282
985
985
675
79
287
170
766
509
98
747
691
134
650
479
682
507
894
858
529
183
907
691
761
954
762
253
86
496
233
590
142
968
681
601
482
50
429
666
898
521
695
944
893
785
920
908
119
643
930
350
75
263
928
891
234
468
736
934
3
447
67
165
641
483
855
923
308
557
846
207
929
540
696
640
432
202
820
473
255
481
102
560
674
262
366
312
673
443
205
830
560
201
344
752
464
181
255
901
211
801
109
446
766
997
507
159
628
489
625
282
65
98
557
709
80
742
669
434
332
464
720
698
13
265
356
869
875
574
329
827
158
894
480
590
187
547
51
944
768
448
408
116
358
556
603
867
149
962
512
989
845
574
464
822
930
37
382
315
643
801
458
149
718
242
302
603
175
348
312
173
103
779
739
449
435
5
564
370
145
880
815
793
195
183
420
239
807
629
20
810
324
359
436
515
991
171
638
672
516
603
129
621
97
520
638
723
986
29
888
502
298
413
4
826
928
231
793
239
949
927
760
896
784
67
204
75
793
812
155
905
634
342
239
773
921
738
770
867
251
243
503
421
621
937
524
568
622
598
677
97
581
916
809
79
984
300
828
38
93
227
264
299
686
459
572
195
202
475
902
63
417
145
423
334
960
46
598
581
596
766
972
69
230
242
165
227
1
454
734
468
696
791
508
940
901
1
794
139
19
935
597
773
273
212
605
926
310
552
248
343
886
728
560
623
340
29
946
212
314
674
187
339
176
821
199
466
170
700
102
414
153
931
167
6
115
252
55
35
374
747
548
328
449
152
714
936
150
951
959
810
325
828
23
835
64
455
305
774
887
762
266
498
577
577
876
839
899
997
183
580
369
901
145
342
641
790
774
628
811
546
532
842
142
728
631
904
281
785
590
976
43
900
927
903
214
226
382
189
642
958
416
737
88
19
16
108
921
142
67
756
759
784
585
573
605
606
184
57
821
233
998
608
562
626
135
786
922
669
447
829
78
519
43
367
213
847
483
91
826
362
67
47
341
885
955
356
568
836
120
422
688
183
295
89
897
780
149
820
751
571
881
665
560
287
334
689
866
129
476
589
183
424
826
392
683
384
976
528
423
909
875
45
80
860
953
430
864
322
476
301
434
169
743
251
213
692
887
214
427
105
44
64
575
532
632
586
812
452
295
554
877
654
862
442
822
463
290
187
741
364
168
516
138
210
792
563
339
835
238
912
589
273
121
722
56
778
936
313
31
462
959
424
989
718
705
398
53
538
857
676
602
458
366
357
455
145
189
18
68
583
718
649
669
390
534
350
119
59
517
388
539
804
729
300
439
279
719
24
157
617
74
425
911
133
91
186
659
572
443
745
262
925
560
855
167
729
270
396
909
232
901
247
303
957
663
408
59
32
642
54
952
89
121
884
364
680
292
945
193
928
615
103
672
563
252
457
576
581
986
303
694
529
30
683
182
802
937
185
616
403
615
401
123
336
75
387
975
186
135
528
421
432
767
456
334
766
147
52
442
12
773
92
573
217
183
839
296
192
923
676
833
26
417
954
903
111
295
352
422
825
554
386
627
274
660
192
228
467
318
335
672
868
169
198
448
509
144
446
650
768
512
177
672
468
942
633
12
168
60
746
636
391
36
399
257
62
709
990
182
609
664
777
96
30
419
546
240
726
619
309
8
27
689
134
863
201
932
691
842
139
462
790
641
83
674
987
418
513
178
345
21
747
267
550
273
918
991
891
348
706
907
52
9
640
362
282
677
826
962
263
888
669
537
917
645
544
453
473
628
393
634
336
971
898
999
703
556
246
338
397
375
467
819
103
545
17
431
49
961
547
665
171
433
793
655
981
382
146
801
700
810
712
644
649
317
634
379
594
394
25
910
472
84
119
845
935
383
129
119
196
412
893
220
972
486
565
161
714
701
525
376
893
539
167
729
844
301
435
675
557
900
824
414
850
620
22
575
556
32
570
543
713
106
694
78
266
963
941
257
435
409
370
117
776
540
829
561
878
278
287
267
840
653
268
334
923
975
200
368
243
869
878
543
966
276
304
946
239
125
906
145
7
361
455
532
932
435
93
414
874
119
529
249
773
764
796
686
328
700
2
268
541
510
100
754
91
345
74
19
473
258
855
410
46
799
929
246
422
741
866
865
143
863
954
286
200
181
667
34
774
877
9
177
493
434
612
931
641
195
74
460
993
611
223
662
377
945
849
791
645
114
9
744
454
621
155
723
153
250
212
754
131
329
203
272
134
851
185
528
481
706
71
133
570
581
363
420
746
841
970
654
457
851
30
334
553
733
126
937
781
526
340
545
758
90
368
673
228
828
302
520
933
525
748
583
273
144
681
252
774
441
777
570
529
632
29
819
938
163
110
948
522
829
295
190
90
118
762
363
260
659
724
479
172
100
181
268
269
543
9
162
166
949
773
64
968
520
887
990
873
162
696
274
537
558
658
574
469
262
19
359
673
488
313
897
871
957
561
40
880
223
240
229
171
414
16
245
176
207
708
188
663
164
171
34
381
248
604
941
225
478
315
125
359
179
93
767
97
228
168
877
877
11
206
491
288
565
903
853
968
512
517
510
173
942
113
310
932
379
403
408
16
295
779
248
394
442
570
401
456
429
594
866
39
555
808
87
223
909
209
551
932
126
194
255
600
12
247
750
568
438
182
733
401
531
152
352
34
201
299
512
490
488
218
430
948
8
396
642
101
66
369
467
49
614
673
628
491
286
537
425
592
226
923
318
682
255
700
270
949
220
702
533
320
26
929
813
49
959
398
907
920
362
20
991
551
654
383
686
17
973
540
935
910
419
720
481
982
11
373
460
715
969
137
198
544
881
99
813
942
624
204
643
261
670
780
818
41
543
936
544
488
736
999
769
961
378
287
965
579
275
220
677
550
755
212
361
380
891
808
758
944
273
287
762
246
500
291
243
852
937
78
818
129
94
698
904
885
206
708
697
491
175
45
890
307
85
351
76
65
917
314
742
880
921
594
713
745
342
500
701
667
851
871
330
100
72
555
670
959
62
444
807
304
459
323
451
713
294
620
923
497
127
784
106
146
259
167
123
835
252
197
565
378
908
145
58
761
111
973
851
270
716
591
888
262
706
357
515
855
415
783
578
132
521
259
165
1
839
27
678
507
700
803
189
201
831
183
335
200
215
440
43
639
362
379
508
595
795
693
708
922
301
629
640
129
708
884
198
125
511
305
267
625
655
404
202
46
197
668
298
997
356
375
259
804
675
931
972
102
620
777
46
193
997
534
712
746
939
377
669
418
103
616
367
133
925
35
50
122
425
874
591
250
132
229
789
841
121
266
339
987
56
872
105
277
364
278
717
988
381
759
717
51
361
698
681
515
755
223
792
810
33
107
314
841
662
832
304
843
520
556
678
940
173
211
439
603
947
118
480
496
646
319
885
772
129
282
27
501
661
765
143
770
128
399
222
960
747
992
211
847
850
628
588
470
707
415
248
156
102
97
551
699
573
845
97
453
786
230
472
25
522
769
771
313
155
450
177
873
269
343
263
13
312
721
954
490
768
153
299
472
364
620
277
205
252
93
896
893
929
910
724
435
925
940
834
5
895
822
847
944
845
446
411
44
634
491
965
145
812
48
94
870
72
264
134
452
302
515
922
873
310
827
768
948
749
115
781
544
712
376
657
903
731
135
917
870
636
264
374
902
857
846
290
948
238
850
298
596
404
229
644
453
18
506
752
360
12
48
393
861
49
972
988
372
975
117
702
571
37
542
9
878
942
822
365
318
671
761
468
662
76
241
340
527
916
616
128
5
960
448
76
496
174
405
629
629
821
820
961
554
512
758
541
423
853
440
539
596
352
504
946
939
700
926
333
622
322
355
37
960
405
267
408
203
183
602
477
634
362
492
13
982
9
282
493
957
78
269
943
642
50
532
960
624
803
744
467
954
948
77
948
506
320
230
928
820
238
59
483
293
441
551
409
448
299
673
501
49
32
140
40
52
196
312
238
716
586
217
840
726
82
174
545
835
675
627
186
382
72
539
858
988
809
180
292
902
793
187
830
751
518
561
289
890
10
639
836
167
699
152
788
680
21
203
865
6
534
346
33
483
731
12
523
337
523
178
999
829
598
529
138
183
443
373
67
684
866
204
211
271
272
118
115
901
760
269
686
155
391
161
164
894
574
848
801
222
605
61
919
677
830
860
483
362
785
665
838
662
919
414
546
314
191
162
572
867
923
653
166
954
762
267
916
424
520
256
380
57
939
404
600
530
167
52
591
291
809
935
571
243
974
457
328
468
629
789
593
751
948
693
726
317
27
66
309
34
542
982
500
309
431
449
106
39
666
190
366
286
533
499
411
775
609
621
168
936
824
186
272
975
523
913
193
359
518
205
340
207
416
247
415
266
406
943
620
594
818
332
654
562
440
154
595
524
551
860
883
349
103
690
598
6
271
402
184
604
864
858
530
553
721
942
85
61
266
245
305
755
859
507
254
64
450
87
623
915
290
610
815
408
167
516
933
415
681
446
748
440
579
266
712
683
81
68
128
942
391
671
409
927
329
977
182
555
131
40
676
20
958
861
410
787
615
732
748
173
295
408
247
835
903
523
81
314
666
431
23
789
293
94
617
287
883
738
186
943
168
717
284
295
449
471
42
268
723
477
599
207
146
855
502
285
892
610
486
642
935
582
559
889
20
791
666
961
348
274
502
867
77
448
249
576
789
732
88
145
473
440
363
198
435
939
171
28
763
683
970
948
638
12
532
954
807
543
194
449
35
564
875
529
170
98
808
309
762
193
253
867
830
582
718
635
471
31
398
503
480
607
571
470
59
591
700
393
982
982
850
304
298
338
815
778
773
229
58
49
778
721
146
932
273
107
872
117
855
595
690
53
597
743
361
511
517
263
980
830
118
192
648
59
343
577
112
444
690
513
620
191
998
821
104
35
570
690
549
903
914
320
61
888
347
988
741
807
107
988
898
877
437
556
578
401
288
273
602
917
922
388
561
964
704
206
271
459
808
948
216
716
384
501
419
289
987
54
984
140
704
933
293
154
461
856
457
599
472
433
174
984
627
978
561
668
924
609
915
726
673
163
568
794
346
668
201
68
385
10
34
201
206
918
262
558
920
619
39
185
14
329
35
910
343
242
334
167
301
856
13
491
975
257
257
188
411
466
265
277
861
64
541
709
31
102
364
786
900
719
370
872
626
12
225
773
446
398
294
621
215
179
70
685
428
18
875
321
155
786
21
164
280
604
164
767
866
931
69
103
249
223
395
738
668
56
378
44
874
573
479
484
158
786
194
913
679
568
183
784
801
141
828
382
391
479
109
485
663
329
457
364
232
489
815
652
461
572
731
421
87
722
712
736
355
676
425
97
585
90
598
390
157
301
622
447
419
538
926
838
886
140
171
284
432
521
190
947
845
459
395
915
283
786
29
378
633
709
308
375
741
802
917
474
796
169
812
445
904
415
551
785
9
818
613
960
901
557
302
350
987
907
858
178
868
101
342
165
548
923
719
244
261
181
304
450
497
914
411
993
795
566
601
628
260
376
400
638
569
928
756
156
444
158
757
91
167
65
358
601
753
100
936
956
803
433
518
604
923
348
429
442
788
557
918
632
623
569
58
737
894
150
836
660
472
502
883
593
395
43
752
177
621
582
972
165
850
222
398
153
560
558
506
341
917
593
362
884
81
344
976
118
765
276
616
828
583
542
449
767
867
531
582
856
121
344
144
819
235
639
592
546
898
784
804
138
395
314
856
411
115
532
606
605
656
491
313
224
357
689
600
169
468
568
960
819
934
304
900
309
925
428
538
10
871
551
141
146
708
822
682
542
451
783
912
754
30
965
896
194
498
925
174
417
367
396
968
448
828
898
895
863
42
458
696
361
536
47
383
744
951
976
18
525
56
769
70
877
991
950
937
283
150
803
721
18
984
368
834
571
280
890
314
192
147
450
31
46
10
754
76
839
421
919
739
387
385
616
420
307
189
128
726
918
451
704
760
455
204
117
341
945
350
445
451
385
768
946
744
452
654
327
340
573
459
871
459
52
880
606
665
925
971
208
619
333
345
340
293
519
845
959
505
1000
799
445
530
54
172
536
250
455
510
727
1000
280
539
161
823
704
716
112
319
925
786
778
650
746
639
513
567
891
373
559
488
828
463
52
783
732
404
332
415
221
980
594
980
696
609
518
54
401
798
793
413
838
839
404
386
785
317
113
91
974
866
840
770
420
877
533
775
515
554
688
32
260
767
885
938
417
683
600
743
939
6
37
438
799
992
973
31
166
96
380
893
981
233
146
566
155
144
323
976
959
294
176
558
726
55
749
150
602
680
787
896
968
696
655
553
74
919
299
786
619
236
405
36
264
678
649
497
543
59
339
592
229
652
812
89
967
946
657
657
939
518
213
229
353
446
817
27
823
510
966
454
64
602
886
380
894
416
17
507
211
479
556
634
487
42
524
598
333
145
783
641
848
450
53
708
792
49
252
945
123
522
428
296
39
971
131
593
503
638
319
34
143
948
818
247
545
540
881
412
221
889
636
74
938
660
61
345
678
767
686
157
242
483
362
138
378
591
316
419
359
728
187
427
168
568
905
286
755
415
64
944
380
141
934
597
719
100
353
242
212
822
536
477
156
848
259
728
133
993
987
183
700
731
231
615
703
119
855
136
158
907
89
677
463
17
741
661
557
582
447
888
773
145
850
134
320
398
279
339
756
51
819
559
323
62
697
28
738
433
527
795
878
254
282
393
826
473
841
917
884
120
544
696
524
376
504
471
687
897
346
632
524
288
615
583
410
479
378
764
79
17
421
190
769
971
4
654
585
239
372
850
654
519
68
801
282
106
639
897
984
993
498
755
214
438
564
913
614
297
776
8
833
924
745
762
308
377
621
536
911
7
702
668
53
218
453
108
632
378
357
87
226
372
487
707
31
255
749
341
391
849
513
702
152
872
730
282
740
377
729
609
588
859
564
441
454
377
176
576
290
433
662
430
490
164
623
937
787
575
896
560
586
209
992
464
218
623
202
933
480
486
632
168
810
959
430
487
629
222
43
771
714
706
654
733
935
590
880
205
324
620
382
172
262
153
310
755
485
598
393
631
750
110
57
715
237
481
146
9
205
635
729
657
976
74
968
168
72
871
237
688
192
564
490
956
785
377
414
301
169
754
16
604
480
73
136
690
293
797
808
986
371
992
559
638
869
352
471
472
287
380
282
335
578
337
914
374
158
962
518
758
982
702
576
213
451
397
624
454
720
913
895
307
837
256
551
853
275
44
199
399
606
44
57
476
478
689
511
339
602
88
761
637
129
85
941
31
693
327
376
518
378
149
646
162
43
319
694
723
778
333
554
421
720
998
159
675
131
496
310
225
389
5
120
465
539
193
156
164
126
614
70
26
298
78
693
676
616
590
489
741
528
336
745
676
256
489
90
839
687
324
766
133
926
243
567
210
363
840
516
830
460
40
177
487
986
708
939
800
78
838
736
515
358
594
478
167
294
28
850
572
141
231
262
399
90
81
485
948
705
483
876
184
341
196
192
754
969
918
686
447
802
281
566
69
144
825
904
217
141
795
791
786
507
837
866
359
805
263
328
783
617
597
227
391
740
513
99
260
602
140
20
881
226
930
731
378
421
916
803
164
348
290
715
553
242
623
336
362
883
963
530
13
336
296
504
950
607
537
101
492
118
299
435
353
303
174
139
168
250
173
35
316
984
239
219
212
929
499
376
35
100
999
668
551
772
202
661
275
760
461
592
731
928
989
719
989
217
629
638
959
328
819
227
147
153
745
298
727
198
608
137
789
533
302
871
597
251
574
985
515
34
900
380
27
176
918
77
929
333
222
55
356
354
738
718
750
770
693
191
294
906
388
975
588
141
632
485
548
500
673
664
630
674
923
159
434
539
583
517
715
414
532
481
596
645
475
747
534
573
403
481
196
563
882
457
959
600
539
980
179
889
386
603
719
984
326
237
490
278
211
477
924
68
387
807
342
997
479
904
179
403
531
441
908
6
297
611
256
385
584
115
52
921
102
493
590
218
164
505
949
540
941
705
64
468
699
510
723
802
606
812
832
718
228
638
457
332
811
438
171
101
803
345
188
967
829
130
593
731
531
664
761
914
257
390
703
302
555
691
634
410
860
78
559
365
535
775
26
68
639
659
498
69
423
486
990
261
568
979
685
369
585
697
306
224
678
538
863
980
562
358
276
746
396
480
45
601
45
795
810
603
333
727
145
159
827
623
405
133
936
991
766
117
825
593
873
591
686
609
654
101
435
963
948
170
762
412
545
365
799
226
127
861
353
75
397
870
770
273
349
505
38
675
246
997
624
319
393
725
915
391
164
151
835
190
98
598
397
575
81
795
446
783
767
230
866
628
429
667
846
796
371
624
586
411
873
207
6
48
420
485
583
131
596
465
467
991
610
858
382
920
897
1
639
214
604
738
812
552
68
560
202
55
576
55
276
19
810
525
670
629
363
676
179
917
655
439
414
869
350
311
431
842
155
87
696
398
452
479
212
263
806
939
506
328
793
920
405
578
956
946
274
310
965
101
395
306
185
979
732
418
963
712
145
618
888
417
496
698
168
293
728
678
63
659
161
471
991
386
748
489
528
584
960
715
38
866
315
203
59
219
287
105
912
326
501
104
198
138
639
553
12
688
470
725
700
369
773
325
952
406
676
798
878
814
135
65
442
926
842
994
317
471
851
311
775
288
607
676
708
953
843
333
254
19
58
93
779
97
863
379
187
704
530
757
573
669
495
651
317
893
389
924
550
438
439
613
790
225
694
419
262
136
605
436
24
916
932
239
581
84
836
683
106
21
243
647
721
484
308
562
566
86
813
726
540
668
900
324
645
111
365
577
874
809
94
631
428
960
911
642
864
866
196
6
439
598
211
844
542
794
938
654
583
827
597
502
149
267
760
273
526
391
90
236
928
454
316
667
896
608
1000
311
375
606
13
251
900
920
418
135
197
478
628
774
237
3
284
854
455
853
309
848
408
336
956
273
631
694
507
111
795
372
453
535
619
678
635
112
112
701
803
283
864
152
524
238
105
858
167
262
138
765
948
279
601
663
664
548
709
305
792
455
279
244
83
891
866
501
660
987
770
126
888
853
57
820
957
548
948
51
216
713
123
521
772
173
542
399
773
342
362
490
89
458
403
375
816
498
413
620
144
139
64
341
644
268
208
766
967
373
449
956
269
585
463
527
417
302
841
992
199
53
459
399
258
750
470
999
509
524
103
41
75
109
347
190
619
137
489
698
87
765
190
214
462
773
476
34
150
639
574
679
962
139
994
900
508
679
649
612
1
937
80
812
82
374
53
205
307
814
887
149
365
640
884
531
919
69
139
346
207
644
826
98
184
308
779
599
48
406
819
398
430
512
809
858
405
258
869
845
767
221
532
117
647
495
858
737
680
796
717
278
384
798
486
151
335
962
402
110
994
260
687
906
786
87
331
62
110
98
147
986
503
912
266
962
105
388
784
81
889
682
659
866
882
393
292
123
728
886
422
578
516
331
135
974
727
64
784
599
553
649
582
661
578
392
477
553
11
155
658
788
229
995
730
322
392
565
122
41
272
197
819
444
247
321
833
912
632
170
159
521
97
750
124
47
991
686
166
663
771
889
38
857
607
919
400
242
443
580
542
293
461
530
699
474
935
645
93
922
917
457
315
586
81
230
151
705
298
150
278
614
201
661
515
113
85
187
484
69
984
375
595
487
630
483
239
20
344
774
973
779
589
557
242
344
29
76
883
71
483
548
273
171
52
494
455
511
69
959
28
792
232
336
849
569
443
312
888
547
411
839
639
756
59
189
576
468
122
837
60
194
80
360
953
693
794
589
974
688
740
951
444
915
761
343
690
188
648
866
822
403
644
476
967
802
202
914
357
340
910
291
849
725
548
357
540
519
643
793
172
760
742
819
902
656
840
48
864
307
68
788
638
836
783
928
399
966
663
138
43
881
281
351
23
154
888
412
996
625
833
329
613
380
112
784
968
408
26
417
274
69
852
951
306
268
695
390
54
78
420
369
776
633
672
231
377
306
520
571
601
509
156
765
57
37
471
515
487
449
7
513
21
912
972
154
374
814
534
610
81
672
591
717
891
99
543
854
392
72
402
372
778
345
727
241
443
604
451
256
725
898
689
535
700
931
966
64
409
51
140
736
265
166
496
658
681
317
81
514
162
406
405
408
168
371
24
940
118
148
387
211
754
924
539
99
943
494
939
405
706
43
695
417
884
284
966
30
408
698
179
786
556
557
930
147
955
540
159
813
319
974
244
169
91
200
173
781
214
107
811
405
234
607
623
151
820
740
901
291
567
109
642
690
643
565
787
999
443
415
409
552
907
931
810
384
587
619
203
896
851
526
808
485
835
834
749
880
906
156
81
27
396
205
656
99
355
995
309
632
877
311
994
814
343
962
122
709
562
244
320
541
361
123
217
205
679
864
696
844
542
246
224
701
644
11
505
403
409
927
732
544
523
693
105
696
928
908
158
972
193
522
640
876
966
499
376
451
958
901
543
677
545
240
299
663
579
757
536
416
479
201
812
872
990
824
184
454
274
557
766
608
156
737
296
663
392
350
927
883
841
485
725
753
259
560
81
403
253
962
374
543
608
896
698
470
806
653
449
484
44
946
852
536
506
721
272
48
919
579
309
623
673
15
188
792
910
748
965
54
12
761
388
185
883
81
55
216
244
968
676
538
928
916
813
294
821
813
501
605
669
663
505
200
424
517
794
700
212
642
23
151
262
495
409
405
349
794
437
587
398
790
223
203
880
910
222
413
590
64
202
613
155
264
43
743
389
666
971
674
225
802
311
631
480
542
692
837
184
287
906
474
503
15
313
622
592
26
763
52
844
697
473
600
72
95
239
420
142
54
617
547
460
191
436
93
479
396
136
846
112
514
905
245
517
312
561
469
232
319
414
874
52
813
127
123
341
36
696
132
730
713
255
389
236
95
359
297
915
6
746
941
74
870
385
71
942
269
749
171
423
354
885
178
251
353
792
808
404
494
50
459
128
887
437
354
287
307
456
926
55
356
352
436
150
181
167
487
902
788
858
384
474
5
298
279
442
302
240
634
769
22
969
845
938
46
392
780
617
545
830
585
790
296
572
361
723
940
575
210
464
729
345
715
861
509
123
137
219
148
990
471
801
180
397
48
340
164
937
535
608
140
868
58
893
629
31
622
902
802
301
208
219
808
673
694
960
766
368
236
663
591
139
865
768
651
55
826
289
236
623
619
376
952
51
812
536
443
822
412
187
319
530
18
99
741
85
2
29
894
3
716
478
500
457
74
134
602
184
885
967
48
146
12
377
553
15
755
51
690
229
876
391
930
309
312
463
640
637
941
436
25
656
752
378
124
729
354
104
303
546
68
486
198
990
769
263
652
860
236
942
27
684
17
811
201
173
712
413
657
475
158
143
364
538
183
722
543
343
495
417
990
666
796
834
367
343
373
989
772
706
305
150
890
993
859
639
313
17
864
372
882
360
623
439
485
633
394
410
385
133
611
390
975
336
764
77
841
238
333
172
177
510
214
563
834
790
860
639
804
213
749
912
487
452
844
918
884
133
444
10
777
470
168
213
16
355
883
810
278
965
30
691
47
118
173
781
111
265
571
64
555
988
252
825
123
334
350
713
784
119
445
156
556
599
278
491
929
531
469
855
730
721
819
552
909
580
355
126
506
119
547
821
31
42
983
452
562
292
408
974
182
497
196
176
727
234
232
40
450
926
690
214
915
513
372
986
307
706
153
908
422
789
511
894
769
423
340
255
597
842
999
604
155
184
57
989
169
398
286
931
353
353
253
265
736
312
286
812
736
878
680
936
206
907
760
13
120
646
827
644
185
512
43
239
407
542
85
234
596
513
695
780
812
125
351
219
52
458
922
39
814
108
528
280
740
19
832
569
236
69
623
50
841
865
870
477
77
61
409
665
764
740
5
297
15
47
855
812
699
308
510
724
711
348
773
284
267
550
413
790
309
512
399
256
287
781
946
361
785
295
863
783
927
573
583
79
32
671
753
261
757
147
494
82
823
50
227
831
479
21
498
150
60
128
385
963
346
985
844
113
937
46
865
729
548
676
407
650
923
786
846
464
78
334
134
835
704
976
944
851
850
513
807
48
482
530
688
625
87
823
470
111
276
799
545
416
255
976
101
760
106
169
687
446
48
709
351
825
235
256
976
89
214
384
439
721
824
157
858
517
221
294
536
123
681
408
128
922
48
2
220
926
974
579
778
63
613
249
827
867
60
698
379
115
603
235
789
415
834
903
706
63
746
325
283
789
227
26
561
124
763
480
788
226
752
9
7
952
547
964
356
857
254
348
463
586
330
123
706
801
247
982
372
410
843
300
456
349
475
294
395
587
770
170
83
345
617
177
344
728
976
57
440
128
258
302
301
759
316
32
907
649
523
53
642
256
23
840
525
629
33
776
916
703
940
955
674
866
62
277
784
438
142
324
135
55
46
760
484
256
682
586
633
744
838
596
516
922
518
831
162
271
355
637
519
76
850
189
704
817
508
977
536
260
430
808
158
915
562
340
123
73
575
12
566
54
324
526
23
680
931
699
961
212
791
587
346
161
239
281
431
462
167
662
467
452
636
704
228
991
391
637
107
847
254
361
986
151
557
72
293
324
131
943
415
417
891
59
158
153
717
539
13
348
162
933
795
552
487
509
666
925
684
30
605
366
421
970
185
878
293
897
868
1
395
912
138
862
955
644
473
123
727
258
540
596
885
355
33
833
410
427
246
334
341
745
825
329
807
181
125
272
465
467
275
280
809
829
339
764
837
778
937
405
746
66
324
446
615
456
176
994
559
24
294
655
433
162
13
366
4
304
352
727
416
679
842
482
907
76
545
61
994
677
962
236
748
511
435
53
382
966
148
121
76
128
32
261
879
378
714
293
545
834
156
416
388
727
764
255
574
718
575
147
791
519
600
643
912
901
486
528
78
325
494
877
620
986
181
812
375
10
271
631
241
916
982
962
266
228
418
393
183
283
765
850
48
878
677
580
576
397
669
233
825
421
322
961
131
664
809
862
570
261
586
365
762
62
90
353
564
594
939
921
998
788
438
666
848
412
169
316
451
355
41
326
589
593
491
802
858
702
428
719
491
229
120
956
472
118
470
113
664
650
27
412
817
23
633
239
584
797
837
70
72
912
63
552
42
874
62
511
619
17
344
545
222
461
149
606
508
476
999
723
306
512
22
566
864
71
73
92
262
907
100
906
512
832
382
291
678
490
983
84
333
56
255
720
829
769
272
772
116
542
853
285
330
705
218
34
940
93
392
610
52
255
172
863
338
595
869
849
176
608
35
846
782
202
101
442
539
288
161
924
235
453
169
443
658
537
430
495
815
355
609
270
92
673
438
347
818
735
906
3
15
332
23
160
635
421
158
588
163
780
570
562
327
42
959
556
542
717
812
978
875
503
849
124
540
248
82
765
378
435
921
795
340
948
218
367
718
172
395
818
779
203
587
475
462
52
263
111
48
235
928
440
18
95
319
529
871
507
973
419
315
367
173
576
72
427
51
995
536
558
64
931
651
514
141
258
650
603
569
394
794
476
63
591
795
379
532
129
435
852
789
637
750
780
792
299
276
163
56
204
40
727
553
474
410
728
754
72
426
911
469
412
944
597
793
967
813
319
777
87
253
243
400
165
837
844
61
63
774
979
58
488
650
529
486
595
484
234
552
656
679
248
572
57
446
146
806
256
375
875
846
565
73
134
495
802
224
239
953
909
9
371
620
625
526
416
67
154
767
348
511
592
739
161
664
528
516
939
964
877
377
531
7
458
670
655
469
290
755
997
921
862
160
1000
734
877
87
599
684
75
552
123
970
815
709
939
119
1000
386
175
622
799
453
73
227
371
399
50
541
449
437
591
928
226
506
447
763
441
782
447
751
954
705
416
380
379
46
326
563
540
286
813
198
620
372
618
648
856
994
361
146
569
638
279
737
126
38
207
632
148
111
144
815
918
92
186
313
467
398
490
781
281
686
194
988
892
683
893
304
889
623
360
558
42
552
691
447
304
328
933
273
414
895
591
897
726
258
64
715
654
681
235
882
836
786
910
232
695
609
761
105
603
188
737
770
255
904
672
279
162
639
938
316
439
795
558
95
130
350
156
411
422
419
469
706
970
254
929
436
462
193
1000
49
272
877
530
627
724
911
374
609
59
292
937
32
659
87
89
432
481
297
107
860
919
322
922
489
517
215
966
934
57
697
333
706
537
964
814
204
484
485
593
259
847
276
50
525
446
678
156
953
584
233
406
160
976
120
107
772
552
494
105
709
96
241
707
935
891
866
635
435
726
694
364
30
675
120
45
174
55
378
560
74
804
181
949
302
365
646
538
563
805
98
671
460
526
705
815
860
412
439
193
996
682
472
800
490
26
999
833
326
830
420
85
184
424
970
847
677
315
173
199
748
335
962
353
917
449
870
883
95
741
532
274
430
769
573
181
7
12
104
222
237
649
234
903
488
250
419
488
828
274
991
255
751
446
935
573
412
194
816
693
213
314
791
942
533
969
782
299
40
921
251
909
267
627
461
225
110
471
761
842
459
922
241
18
447
857
20
114
694
647
567
861
475
845
706
468
978
474
370
43
670
8
752
727
322
63
229
207
441
759
321
25
684
431
4
169
321
119
864
985
995
825
983
369
800
57
916
513
199
569
806
247
389
539
524
143
541
645
672
100
736
632
442
107
538
983
625
216
882
288
495
550
351
698
914
341
992
662
762
569
519
769
711
776
137
87
455
7
248
898
699
656
962
56
659
170
727
527
303
213
320
840
314
892
168
268
586
69
209
596
84
638
529
211
70
865
586
75
17
547
134
881
18
781
901
303
133
620
636
796
923
729
423
842
333
444
37
892
252
297
690
495
278
168
722
289
686
717
675
569
134
616
709
143
401
436
495
59
321
744
584
566
135
58
732
371
664
855
806
859
86
744
729
431
595
241
367
542
891
338
402
322
291
188
987
919
209
793
443
779
903
524
325
172
689
689
956
181
257
113
893
213
330
885
896
893
691
1000
644
790
501
627
853
70
903
110
432
581
163
639
54
290
964
692
808
270
23
21
632
623
894
920
856
831
685
980
512
15
435
343
21
526
29
721
492
74
925
93
149
340
359
24
344
655
416
40
178
846
87
326
35
817
422
309
208
743
965
350
375
60
952
850
885
550
138
586
696
914
721
963
328
194
547
172
384
272
677
982
34
486
434
969
342
66
247
522
488
716
981
905
729
155
932
970
422
858
350
853
545
535
173
155
935
129
642
626
898
237
597
364
930
881
547
873
39
527
71
127
574
68
697
926
490
263
180
457
744
778
7
912
849
536
49
464
654
570
503
661
114
945
634
519
133
595
426
232
588
131
882
393
255
754
621
91
721
425
415
54
275
362
475
253
444
720
618
40
81
79
946
926
859
948
281
581
630
75
420
478
332
751
193
911
46
683
448
752
353
234
325
426
374
18
607
56
724
886
510
632
166
307
22
359
912
63
747
43
374
914
309
499
659
621
531
466
252
299
961
465
161
569
866
346
220
404
443
33
424
870
834
92
903
196
531
330
600
729
874
567
801
365
639
103
413
3
177
161
294
401
172
768
986
578
818
129
940
558
178
517
662
842
540
116
275
425
798
52
646
610
327
43
574
103
301
735
557
111
156
786
266
224
721
211
209
906
580
318
987
294
363
804
221
849
35
243
448
112
687
229
270
453
7
898
595
238
369
438
79
275
472
440
762
759
519
630
475
181
229
614
775
834
363
742
88
610
46
104
208
766
879
964
535
197
739
657
257
576
181
78
159
362
603
408
937
330
644
680
666
740
818
68
553
696
70
577
237
558
735
915
657
483
387
907
949
325
191
753
948
133
669
800
576
444
237
278
825
420
485
611
125
614
926
510
537
836
856
36
668
135
63
227
155
402
328
663
309
475
57
583
810
899
949
751
370
720
262
313
911
747
144
295
131
761
465
233
294
30
784
676
691
335
405
925
514
400
944
445
804
291
478
823
739
849
145
43
757
680
4
79
942
586
72
508
620
542
726
932
363
517
64
467
463
501
413
470
436
45
874
972
363
537
722
982
641
204
481
968
283
528
719
307
1000
347
973
454
160
456
687
886
146
882
764
639
774
366
129
400
209
795
670
629
249
444
111
216
941
950
606
464
241
848
330
27
814
399
943
549
175
125
557
391
27
197
765
771
85
346
353
73
649
448
572
867
914
326
196
385
333
591
184
835
329
527
416
930
334
145
869
443
418
515
586
449
761
407
968
129
812
87
256
671
290
844
527
856
93
430
185
364
785
173
722
711
564
920
454
996
541
349
76
302
696
430
110
698
96
968
756
261
860
259
242
440
829
813
459
390
157
44
620
601
799
536
655
265
439
268
304
362
521
708
217
335
840
233
856
599
660
737
701
835
414
595
63
191
820
378
790
40
707
854
302
928
909
834
678
683
339
374
954
449
777
680
425
575
933
834
496
870
85
105
520
731
972
193
187
44
608
201
209
554
424
551
470
620
441
295
333
875
198
513
502
329
801
559
703
902
781
919
442
170
392
389
282
382
634
51
406
431
534
287
696
517
171
686
227
706
517
233
835
443
412
608
403
351
888
797
573
327
638
432
904
35
616
467
872
363
633
868
707
335
365
931
790
246
336
778
214
525
308
312
161
898
1000
644
952
10
204
585
970
517
180
305
191
62
689
668
692
236
126
85
380
794
995
923
108
953
435
670
542
538
539
60
379
123
16
341
26
71
104
672
389
574
724
441
257
343
571
907
623
634
228
179
385
644
385
994
119
138
959
132
964
389
245
627
236
90
208
69
73
942
702
444
277
63
708
946
513
149
624
75
233
610
299
208
970
517
752
515
164
250
474
725
306
212
779
804
984
826
930
20
354
292
682
249
683
292
413
609
867
866
250
675
232
221
478
601
527
90
16
452
722
587
967
900
140
191
58
280
470
630
305
626
424
928
372
970
151
838
932
633
35
180
764
711
185
372
472
210
714
580
490
563
936
452
446
357
711
371
79
157
464
536
633
229
882
913
56
852
865
328
401
619
90
509
528
827
464
907
593
596
814
490
825
850
383
550
790
655
118
717
664
714
245
33
55
996
352
941
546
577
47
463
466
794
260
691
329
689
462
948
37
576
354
609
196
256
90
650
844
62
734
420
472
419
431
26
462
92
727
958
997
589
599
302
11
496
985
915
10
630
46
488
429
17
963
258
752
620
809
482
774
666
891
465
249
190
66
54
657
99
654
33
973
670
3
785
129
902
217
909
348
533
267
231
605
881
494
785
305
871
535
891
658
730
799
431
337
908
950
757
767
681
279
481
767
763
461
515
348
13
971
370
186
969
321
682
647
518
382
316
272
486
279
245
339
300
727
556
426
184
224
592
902
508
230
238
967
49
295
785
101
883
126
655
813
588
750
487
171
209
259
749
865
182
86
82
525
58
428
47
559
364
199
794
69
422
862
475
276
271
592
856
455
99
479
710
592
753
908
28
864
959
823
1
542
873
307
18
133
432
819
636
388
799
445
599
328
855
741
480
574
312
96
486
79
519
45
257
839
428
663
260
266
546
945
508
688
865
117
897
891
950
901
394
680
353
119
704
212
500
389
773
241
17
358
707
473
244
611
228
959
319
357
801
812
809
42
969
567
310
289
197
187
848
946
786
68
170
551
985
378
231
266
481
719
269
128
857
435
857
535
450
817
258
16
278
114
197
682
343
507
905
215
682
164
926
911
983
61
680
76
465
526
268
17
959
336
314
4
851
793
902
798
579
376
843
804
912
498
557
455
100
349
841
171
305
73
654
128
423
293
868
115
525
555
600
956
664
368
339
324
718
370
614
308
285
572
323
734
362
790
186
84
713
134
4
842
363
870
528
219
618
34
786
513
375
976
650
806
274
356
293
313
374
215
904
452
687
444
741
626
815
352
116
791
409
49
425
93
899
62
679
283
213
940
311
117
765
577
199
690
61
680
964
478
652
71
585
892
36
517
314
314
328
371
666
910
163
615
982
987
354
811
726
313
299
60
162
611
955
326
550
371
517
367
306
257
578
103
859
625
651
429
79
104
417
390
229
753
947
136
347
56
473
277
884
881
970
92
163
599
927
538
950
736
219
166
11
907
903
868
44
279
104
813
774
481
899
100
322
721
228
386
189
823
458
221
323
61
134
886
753
939
856
285
257
542
958
863
336
658
879
541
561
666
653
424
979
69
981
369
875
670
712
552
623
571
368
851
769
605
570
198
750
324
818
58
860
400
107
847
179
103
289
389
158
585
927
522
503
840
605
535
779
529
343
430
909
365
776
921
366
370
240
698
363
117
764
676
849
19
242
927
401
844
723
491
398
874
860
500
22
568
32
940
676
156
550
861
406
319
673
82
776
999
849
222
456
431
732
446
433
689
19
404
406
391
106
717
387
709
879
765
966
540
692
712
8
461
745
432
766
123
616
476
544
841
652
281
60
465
311
579
606
28
292
382
961
302
482
947
755
158
335
866
658
513
266
807
305
765
68
410
391
805
137
590
697
133
516
809
136
89
361
848
72
963
485
341
275
584
34
546
892
983
186
877
700
924
31
294
733
413
383
938
128
761
395
351
603
425
229
173
587
668
975
499
408
977
219
951
322
336
368
91
423
690
939
24
610
343
451
886
888
646
531
480
224
16
74
476
80
256
57
430
521
157
699
413
487
592
175
139
419
644
41
339
944
833
825
565
715
187
18
732
837
705
821
509
519
752
546
69
747
80
558
824
764
424
991
515
146
113
227
408
47
726
337
455
2
563
241
923
282
675
342
452
414
203
780
450
906
76
265
472
636
448
639
549
623
838
946
439
103
614
805
407
930
330
296
481
326
434
431
62
909
35
488
422
765
736
147
876
21
37
426
362
44
427
865
748
896
103
255
436
128
179
521
742
358
378
992
67
310
449
423
119
163
964
577
308
139
747
126
946
201
902
868
102
644
284
19
771
140
337
420
538
462
390
41
49
763
862
66
437
742
366
208
284
466
335
615
857
935
644
877
100
679
675
224
336
837
406
915
681
179
408
228
964
485
67
208
307
544
988
495
617
788
250
184
930
235
157
591
930
994
157
266
1
39
864
326
839
360
484
450
4
867
514
458
787
634
259
411
409
142
573
630
908
222
271
830
989
267
779
818
787
143
961
863
725
913
506
860
618
144
932
923
740
105
22
850
841
575
479
210
979
366
691
468
608
907
760
649
590
379
352
520
629
991
531
185
209
929
434
267
257
418
572
587
612
98
544
323
886
619
197
206
436
968
566
183
988
529
507
349
929
295
535
675
375
968
266
197
936
917
803
899
518
69
553
461
575
872
275
438
15
393
578
166
315
467
722
902
514
575
316
275
408
781
451
105
706
625
845
60
884
355
851
418
190
242
532
391
571
33
571
114
316
756
471
390
834
224
372
739
320
566
806
101
8
39
902
818
348
176
847
122
714
71
930
453
185
205
102
358
529
785
789
595
786
974
648
339
709
771
69
64
935
540
461
757
924
338
819
600
609
289
610
172
215
192
769
503
889
448
465
39
627
186
363
667
490
130
296
502
223
382
602
41
252
780
933
616
440
906
974
851
163
134
352
932
994
345
999
90
760
44
360
614
792
666
144
119
971
801
751
523
544
898
134
400
754
799
593
932
63
64
937
680
88
672
527
807
421
107
919
158
176
253
242
828
454
789
974
464
915
973
492
567
292
807
608
468
990
569
334
518
901
620
286
245
154
206
448
882
820
705
523
735
535
380
705
299
555
261
528
904
57
211
379
948
354
564
385
445
294
4
624
687
294
498
61
343
353
169
143
166
910
967
763
829
601
879
164
80
803
199
392
541
345
77
140
998
956
168
139
936
762
690
804
434
692
634
478
253
692
169
476
94
500
521
76
585
108
715
775
466
173
640
397
851
354
801
113
189
975
989
10
726
474
868
640
869
785
108
880
822
226
286
508
269
430
245
150
685
601
962
617
53
667
306
203
392
939
197
236
506
513
840
992
810
967
664
131
903
886
534
949
811
343
613
110
463
765
969
948
6
541
668
117
52
315
613
129
774
156
834
281
68
707
304
582
670
962
571
552
183
558
698
165
485
303
49
830
861
233
424
974
518
650
955
727
842
432
937
241
873
416
456
350
3
801
310
675
806
335
181
762
276
494
445
512
449
21
347
8
562
923
442
798
444
513
380
850
787
123
126
680
301
897
647
609
565
463
957
708
511
338
165
753
105
649
816
434
745
107
405
135
320
225
407
826
657
423
538
19
288
35
263
249
114
209
753
281
510
351
588
57
902
80
508
453
631
615
437
50
190
147
811
474
549
19
955
317
334
481
919
318
100
367
676
243
786
303
53
883
719
932
118
684
195
243
984
777
787
258
157
603
967
244
634
918
563
124
922
657
864
945
19
69
884
120
205
533
420
629
171
715
64
548
607
30
238
61
895
929
669
592
933
176
465
802
475
110
77
984
549
878
998
830
689
746
23
604
711
900
214
553
752
601
539
733
87
160
285
541
46
954
961
913
972
643
372
561
752
802
951
617
928
429
252
753
747
164
680
193
842
617
180
12
378
878
623
782
635
161
27
935
981
539
629
174
113
884
12
887
251
475
191
800
701
196
561
35
832
897
102
330
41
283
105
431
736
633
908
568
699
787
870
470
462
65
847
620
472
237
942
302
917
195
195
517
18
772
181
48
512
959
190
780
814
904
773
881
39
195
970
609
676
351
461
313
201
911
189
664
323
209
786
276
897
739
246
648
726
980
848
814
638
729
299
138
239
227
423
488
693
873
490
384
732
877
470
803
841
1000
59
22
238
435
331
260
837
945
264
916
831
641
171
855
955
128
301
583
730
325
472
100
218
945
626
903
881
489
615
918
189
609
376
84
477
883
865
975
422
341
802
72
187
596
297
287
951
49
897
878
52
427
478
191
415
899
635
524
310
61
942
2
696
414
510
554
623
314
767
942
175
996
291
345
455
975
804
175
973
26
174
635
577
3
355
30
787
918
747
17
951
110
354
739
189
792
467
324
469
989
354
275
495
645
540
128
298
717
863
128
574
171
413
808
805
95
839
86
206
626
286
886
311
942
386
375
852
379
321
603
160
628
961
715
956
45
478
927
834
346
634
146
126
341
153
458
121
902
206
690
831
70
40
934
545
49
239
191
459
865
902
302
574
619
294
914
848
595
160
547
334
983
924
724
673
572
497
751
809
614
234
949
283
965
886
80
777
754
53
230
851
50
725
658
967
471
11
972
972
197
3
537
174
623
89
196
41
753
673
217
316
491
424
905
55
181
661
428
684
102
436
267
675
141
184
119
857
529
568
224
684
373
293
884
34
654
186
334
190
550
843
254
764
198
460
945
188
480
284
582
313
15
248
35
358
309
974
471
158
927
308
279
190
625
925
954
348
625
380
199
823
589
163
880
711
391
929
468
188
509
127
216
161
677
619
697
342
490
789
217
577
799
805
298
87
54
405
683
7
270
593
238
241
876
92
743
167
546
287
786
192
38
639
891
498
187
239
571
567
433
245
211
243
732
447
539
158
221
94
20
305
776
410
633
454
479
953
370
854
41
69
295
392
449
218
119
944
451
877
103
197
5
72
532
599
482
287
137
419
262
705
623
142
305
230
900
530
453
742
678
721
496
365
881
700
474
330
685
291
330
164
90
608
741
545
621
538
925
126
144
409
254
52
796
474
763
672
736
207
15
184
723
702
347
525
582
668
187
885
213
583
31
621
156
615
648
171
655
792
269
858
812
735
828
46
685
11
822
228
121
748
973
49
711
736
687
132
500
657
241
859
981
436
758
934
471
955
255
621
177
569
509
59
132
869
31
943
718
171
191
164
662
46
403
708
245
22
341
215
959
259
358
160
990
617
604
489
731
17
915
917
981
441
138
827
618
187
444
838
299
277
133
676
196
985
572
940
840
538
209
716
923
960
68
759
284
868
697
142
375
828
356
863
237
481
102
877
344
265
545
418
751
7
241
291
636
38
120
998
668
801
838
206
649
62
699
55
511
980
597
254
65
276
485
735
874
651
13
876
231
426
321
952
507
97
453
521
70
133
484
912
569
879
265
848
604
855
616
501
749
121
940
966
404
602
438
210
206
442
600
37
580
528
137
542
551
289
326
769
112
753
575
55
304
653
91
616
622
29
710
473
564
407
333
730
913
122
882
555
817
756
423
963
863
14
846
622
113
532
555
478
496
295
704
945
60
334
821
760
318
350
137
397
335
733
501
81
253
214
568
58
685
50
827
730
755
201
153
700
613
433
744
538
929
675
759
312
205
221
445
521
751
574
308
114
818
841
685
675
702
548
128
716
569
720
153
234
421
827
233
358
847
954
428
936
188
187
635
402
293
716
270
98
327
620
126
509
963
652
279
559
872
567
136
167
633
740
194
781
54
843
593
500
436
366
340
661
466
607
906
541
317
587
1
862
971
984
480
379
983
836
735
704
690
219
400
874
326
549
904
926
660
461
187
847
514
447
934
860
978
550
754
940
218
479
79
824
528
412
979
556
670
643
703
779
616
938
520
563
517
188
355
563
92
441
778
685
673
932
156
236
800
76
146
760
636
677
262
350
433
818
945
280
964
970
429
186
121
876
687
905
869
692
947
271
340
641
555
863
153
217
462
706
976
549
260
415
917
122
455
126
615
452
651
818
767
694
398
332
406
384
734
450
474
721
864
898
65
809
996
37
289
303
92
299
860
740
162
138
366
668
797
374
662
320
808
341
15
242
233
160
381
743
443
815
729
453
782
407
385
626
983
170
196
999
586
316
721
186
734
786
754
599
992
320
232
851
308
42
992
422
837
928
884
146
90
112
467
718
830
963
911
999
165
279
719
377
559
730
586
796
849
903
72
392
893
906
711
819
213
509
900
489
790
234
156
931
250
642
337
391
792
280
35
611
573
430
619
462
720
836
342
704
797
26
535
725
335
760
129
510
990
350
673
480
996
300
566
60
850
821
435
22
573
202
464
707
486
988
21
192
140
160
83
382
965
246
840
745
215
408
317
141
5
59
46
782
576
495
584
849
467
368
182
731
900
553
7
141
541
111
103
613
775
611
710
991
761
21
665
577
831
743
321
529
259
145
876
962
14
115
4
957
885
742
456
342
283
224
611
674
101
498
37
330
239
881
779
989
793
229
431
91
459
737
62
12
381
498
701
838
554
412
418
606
890
820
970
770
223
513
646
512
869
388
186
207
817
101
598
989
292
484
301
909
189
412
244
613
862
17
567
810
845
874
938
75
330
840
901
661
671
716
445
102
748
805
542
320
743
744
578
862
793
691
439
671
8
52
522
464
550
475
88
428
836
748
175
419
409
579
775
279
734
972
85
178
964
55
423
152
718
779
832
99
60
858
511
550
132
669
907
474
384
648
767
221
920
823
454
462
243
789
590
642
633
347
428
51
419
475
409
48
678
74
21
410
261
153
444
7
590
721
431
244
388
683
563
775
332
458
297
19
660
884
200
913
912
180
401
157
315
427
540
913
819
46
455
587
398
219
428
814
57
76
54
243
905
720
708
53
795
858
139
383
255
872
946
35
897
672
540
849
12
550
757
163
862
570
440
608
983
726
172
307
936
227
830
218
93
768
772
971
412
604
306
56
688
542
532
619
401
727
770
440
147
250
593
923
580
128
877
992
960
188
409
907
691
761
315
871
656
822
986
227
815
431
238
728
235
894
157
81
686
42
442
500
994
455
114
480
563
214
112
409
891
16
650
875
431
72
229
775
842
237
805
374
559
256
961
509
595
829
895
35
668
450
622
395
80
604
118
983
241
988
32
531
374
833
189
332
744
328
367
542
675
351
724
142
767
455
812
414
937
82
326
921
374
508
625
86
51
902
570
392
155
177
418
145
724
31
359
515
776
686
760
241
449
358
353
19
27
397
412
88
204
403
412
904
655
340
801
171
782
811
296
676
476
232
538
505
900
579
37
296
568
760
86
70
465
427
723
73
537
213
890
795
663
997
632
1
138
728
573
179
747
800
931
268
776
726
1
937
678
86
397
938
639
334
333
274
20
74
865
26
497
834
358
642
710
204
356
476
439
449
719
111
627
340
102
764
50
13
850
703
85
109
916
113
814
329
707
314
648
790
620
581
762
262
630
67
917
437
482
477
618
872
914
239
180
155
880
869
982
127
916
99
67
711
628
165
315
18
795
283
607
904
706
999
731
102
202
566
339
363
310
918
887
793
511
149
352
714
464
602
473
938
414
816
421
275
633
617
86
495
977
579
621
713
42
920
495
339
472
675
61
342
673
623
570
530
580
30
640
983
131
745
404
555
792
544
974
557
844
939
382
387
84
822
868
849
308
441
232
368
211
205
2
108
319
712
310
261
194
225
711
418
421
542
661
977
830
833
2
3
1
561
599
821
313
23
217
904
767
440
853
271
294
718
970
705
541
238
527
617
963
19
261
214
584
649
403
999
988
193
914
301
917
129
355
641
386
5
721
302
331
153
897
342
666
264
956
671
53
73
125
522
822
687
134
802
274
336
586
365
4
455
175
197
992
27
831
873
960
67
354
418
877
996
677
874
572
357
692
474
124
50
452
282
67
785
682
595
485
937
730
168
744
377
485
552
959
132
344
441
291
909
1000
952
817
645
676
179
24
210
452
193
955
346
505
928
641
696
382
988
750
548
940
509
302
499
203
650
895
832
188
131
143
796
696
554
914
355
189
869
532
217
101
458
313
122
392
808
669
424
699
601
578
979
178
396
344
249
27
759
474
286
710
809
949
980
115
691
348
540
224
386
71
681
399
631
404
414
38
424
247
636
202
779
151
954
783
899
711
301
918
944
471
935
650
889
225
368
310
771
36
598
645
778
309
799
554
238
12
263
141
526
474
957
925
338
263
562
241
552
267
183
277
118
518
271
720
41
227
440
701
517
199
982
565
731
79
892
18
662
869
109
383
452
742
517
984
563
514
955
205
7
995
128
374
361
110
842
436
167
866
420
318
586
177
531
994
840
102
885
547
68
292
426
888
716
270
737
442
452
752
299
768
940
347
187
24
474
855
519
205
609
866
692
283
445
499
40
737
146
963
40
495
595
62
612
928
855
891
382
420
217
766
975
980
199
844
580
511
789
986
9
655
617
176
473
556
488
198
88
535
908
331
938
373
784
549
124
882
513
86
850
463
30
228
31
621
212
925
306
769
231
110
617
216
66
633
728
923
412
382
115
461
636
435
710
643
270
99
865
443
789
274
716
155
19
883
877
222
639
42
997
805
625
215
257
961
423
871
341
232
838
47
740
569
363
790
518
776
710
659
827
80
819
345
528
983
515
995
240
332
272
11
27
378
258
928
716
680
958
484
534
886
182
149
346
786
182
165
285
552
970
657
971
739
625
447
848
449
550
39
361
42
194
612
867
925
685
12
169
217
215
433
535
579
778
915
898
59
16
810
680
609
562
133
374
808
201
25
550
437
603
642
448
756
178
436
690
739
792
129
936
54
725
714
498
288
250
417
20
752
650
931
347
250
324
122
607
322
856
99
360
827
600
773
374
207
343
981
230
393
106
842
501
143
972
262
670
511
136
388
322
287
13
410
386
489
358
278
379
418
804
811
653
358
156
192
628
731
56
7
887
419
351
868
771
986
610
117
813
756
755
284
972
44
698
780
87
357
214
756
424
50
4
203
493
742
76
136
515
789
83
130
86
235
259
584
589
975
927
833
871
282
334
609
526
505
747
452
907
453
322
345
635
941
254
256
932
30
103
264
607
732
998
669
877
320
631
784
498
967
563
140
887
85
379
477
996
649
677
183
708
743
682
845
457
792
527
176
551
226
910
851
443
828
831
752
800
642
646
680
752
123
474
856
178
141
294
432
183
598
759
803
233
616
791
696
521
743
566
931
254
148
351
226
478
527
974
657
984
335
420
162
581
988
149
43
746
893
258
514
248
512
545
189
837
182
835
861
532
79
723
35
311
548
959
470
283
986
335
413
509
624
816
297
701
825
75
427
955
989
343
577
536
735
646
487
475
826
120
952
409
187
48
585
656
470
690
352
997
835
739
651
8
3
502
88
78
199
455
50
442
276
888
857
654
191
764
585
924
9
754
613
668
765
636
551
426
870
920
527
28
202
581
699
528
664
263
479
943
807
168
189
294
33
119
788
797
28
967
841
275
320
588
149
68
281
209
304
759
477
695
977
1000
980
732
936
632
168
560
605
49
562
993
509
460
466
26
69
319
515
217
50
654
778
396
407
489
681
966
409
833
907
226
700
953
351
692
382
758
379
338
305
189
931
69
483
424
443
479
986
561
187
150
674
211
382
309
902
75
343
665
659
168
28
638
656
799
551
991
557
824
634
87
868
957
510
611
47
122
487
604
973
927
240
104
312
348
915
503
202
623
290
971
361
160
575
964
960
14
896
844
569
87
173
152
46
761
862
880
511
113
12
404
432
207
177
398
422
203
996
131
554
216
648
44
872
882
14
392
320
595
52
53
473
246
819
290
303
82
599
394
725
995
812
630
803
152
704
856
302
376
378
509
765
116
348
378
384
128
655
769
734
257
551
164
862
802
896
484
321
994
716
398
485
78
805
905
876
303
874
593
303
919
505
548
333
896
92
894
964
700
19
337
429
883
566
864
718
661
415
996
759
920
171
574
198
297
17
95
364
62
484
37
313
557
310
442
826
833
555
282
835
962
447
740
56
226
929
641
512
993
495
685
251
648
720
16
790
388
824
932
717
19
721
207
475
181
268
602
512
542
845
589
917
625
971
265
131
858
404
683
551
338
42
559
669
594
1
436
868
301
439
882
189
528
54
249
158
569
698
838
239
866
212
61
609
796
423
342
727
368
204
32
578
960
676
588
619
311
867
635
133
874
656
275
158
528
384
205
189
374
313
794
563
12
6
234
828
272
802
290
417
817
766
988
619
457
906
764
204
257
965
220
39
747
832
668
692
625
437
45
320
352
25
637
132
940
882
275
293
79
888
313
468
436
767
765
81
616
558
410
22
803
573
567
706
533
134
475
365
412
409
948
953
847
995
986
312
1000
262
572
64
273
103
749
279
574
397
386
106
519
452
739
428
501
684
35
79
240
23
834
326
46
865
828
114
519
932
100
69
821
41
576
325
979
633
567
79
900
879
848
162
898
327
663
32
589
333
439
341
934
994
730
617
72
880
109
678
326
652
310
97
444
544
890
421
687
781
114
864
857
240
514
896
747
23
854
457
762
189
758
571
664
567
368
739
500
436
760
840
757
871
706
201
717
736
613
145
794
593
108
595
353
330
776
234
171
898
54
347
178
378
105
660
625
526
796
470
129
69
568
842
313
263
70
924
928
679
927
276
400
713
893
633
722
94
950
726
498
516
632
614
726
574
942
469
583
407
775
931
123
764
669
942
237
760
63
428
692
241
941
360
352
502
928
439
914
93
434
146
634
564
397
951
534
328
548
240
539
238
901
908
836
100
326
642
498
102
656
624
93
52
777
751
536
403
540
513
953
273
113
341
666
37
654
583
735
652
728
258
651
527
980
411
885
644
956
160
20
642
816
550
66
714
920
892
424
552
918
584
634
984
8
331
724
658
517
271
480
853
787
764
401
503
646
500
480
601
409
153
163
394
442
6
40
259
799
859
863
642
360
58
473
257
179
654
86
560
465
570
196
613
741
110
15
607
235
348
994
702
497
691
459
339
548
426
823
855
631
138
126
43
772
703
907
315
884
968
529
207
155
330
105
325
784
178
132
225
910
558
790
359
773
482
588
974
697
17
739
765
517
669
197
160
414
601
747
352
977
898
945
578
481
454
982
677
5
35
723
684
28
734
300
52
555
344
612
112
689
130
18
556
776
126
325
48
897
330
873
550
563
135
188
588
878
903
170
479
351
848
259
487
764
293
344
980
210
927
457
939
491
897
432
557
537
458
809
281
429
415
190
347
902
786
187
766
893
948
843
753
846
43
131
804
984
537
709
955
680
692
642
311
425
106
184
565
583
671
48
61
314
14
824
963
560
968
299
183
981
678
516
63
55
716
317
211
367
969
973
544
259
129
265
309
600
334
43
804
440
867
833
585
698
864
574
166
818
663
916
631
576
753
811
97
798
298
305
681
776
858
580
472
622
235
229
38
598
326
735
136
718
529
887
658
567
474
611
294
316
814
325
41
395
408
467
501
121
458
259
817
880
61
167
260
105
233
726
680
410
623
580
513
701
59
668
560
992
564
430
527
965
669
808
172
996
712
604
962
508
273
435
350
29
86
138
124
232
551
970
797
618
445
377
690
187
560
404
154
629
760
49
405
97
389
3
527
593
69
237
542
347
635
859
872
370
412
487
121
492
41
175
882
830
818
545
181
584
876
392
258
464
535
460
600
868
888
510
536
111
972
36
260
646
910
234
828
226
55
877
544
370
455
789
157
367
958
509
467
244
876
538
255
810
404
328
936
910
937
746
981
497
13
341
924
1
855
120
754
714
387
962
566
624
168
977
632
192
894
338
456
58
991
158
955
555
361
940
660
237
508
53
673
282
134
421
217
809
773
347
766
617
201
967
137
812
153
346
401
103
355
634
187
295
1
13
717
660
578
411
962
399
379
53
378
386
131
993
25
734
927
683
302
508
31
505
129
74
203
934
196
159
897
665
791
695
69
610
803
902
344
126
744
881
976
255
993
180
413
978
26
425
203
757
107
121
718
661
732
156
403
436
189
371
280
761
700
807
29
741
2
876
254
448
646
760
477
911
976
796
3
519
520
480
17
226
476
973
226
310
100
691
858
689
41
633
104
943
102
583
922
281
488
240
659
662
309
607
157
126
21
686
794
241
509
663
479
193
741
235
712
699
244
727
664
401
208
906
684
815
650
214
778
231
935
211
353
178
901
640
987
207
982
433
56
762
38
369
804
877
12
859
843
266
181
503
130
135
490
658
181
704
421
227
661
8
886
314
516
983
885
131
485
277
55
806
187
460
768
339
971
533
165
941
362
719
326
483
257
535
833
540
982
42
123
821
946
994
359
378
908
337
42
51
813
128
200
76
722
484
819
628
637
618
80
354
905
359
139
627
456
816
383
329
333
8
555
459
860
328
721
781
309
727
736
982
125
327
822
570
584
15
844
819
296
213
134
610
71
656
24
925
523
488
783
107
212
413
311
712
267
950
792
954
215
63
443
267
167
573
693
483
593
779
368
490
691
690
936
989
736
77
468
173
866
342
729
698
467
841
742
343
705
894
218
118
777
135
512
411
125
304
133
940
216
812
371
929
475
632
321
908
625
156
439
999
975
676
772
352
188
34
163
655
670
833
80
291
995
304
193
739
724
554
435
300
576
472
116
99
123
1
583
544
123
823
36
149
145
785
367
679
344
529
307
78
155
874
762
528
158
461
905
294
575
57
541
720
706
699
237
858
91
558
971
706
350
977
379
4
454
684
174
835
657
549
41
11
434
599
60
421
543
222
756
995
776
606
971
963
52
532
69
418
229
531
424
955
470
312
754
371
982
94
615
955
736
137
317
912
97
362
553
846
347
378
311
38
761
659
995
458
229
867
233
67
442
535
561
981
266
395
13
499
289
672
670
838
456
547
382
638
341
830
211
959
891
600
620
549
393
193
68
608
29
473
469
132
600
739
920
219
953
986
218
366
134
495
933
884
585
881
238
39
500
781
263
444
51
382
480
491
322
814
499
353
668
256
717
194
700
288
450
727
246
616
535
206
453
787
911
272
667
972
347
796
836
143
310
11
960
250
960
810
575
112
380
975
301
765
452
557
277
970
246
302
678
412
379
282
577
903
577
405
154
531
592
512
573
292
691
142
944
202
173
845
408
265
765
163
768
964
265
960
66
133
542
858
168
175
812
921
714
561
171
583
778
524
482
56
184
593
93
85
719
417
292
980
408
900
94
316
603
235
699
546
909
859
946
44
837
697
188
788
664
322
253
945
188
818
613
148
924
197
420
107
828
201
823
544
835
197
872
109
292
651
328
75
924
378
936
117
76
347
46
416
798
323
4
654
830
66
374
205
621
82
904
988
339
187
126
969
225
243
594
299
769
478
95
393
909
740
591
65
864
887
259
986
280
256
778
326
70
842
904
431
710
349
473
766
784
787
186
189
239
644
922
785
180
946
891
146
4
732
587
979
333
552
427
350
540
603
901
720
582
33
303
153
518
764
360
740
351
892
629
297
758
378
113
917
884
259
387
744
607
49
434
673
590
375
523
315
1000
113
730
668
972
475
89
421
800
555
972
709
329
819
999
445
236
900
694
58
706
855
124
581
530
711
962
560
780
761
790
169
45
538
946
265
663
839
905
838
529
452
1000
476
800
515
273
1000
295
502
391
391
444
923
838
497
412
733
66
768
404
311
884
458
246
612
111
299
19
770
476
661
926
985
788
594
577
8
637
946
576
918
303
980
627
163
46
496
381
44
692
521
889
901
272
17
838
282
469
936
730
277
822
133
753
24
943
357
404
102
501
538
837
178
332
80
513
799
881
713
964
656
75
750
402
4
876
247
439
190
998
658
438
367
708
81
842
576
203
56
390
331
771
205
301
720
855
693
349
844
172
624
249
81
232
976
920
265
969
642
27
405
709
443
622
933
361
752
888
828
548
469
708
159
372
701
254
740
657
384
875
609
781
520
293
3
698
425
548
329
320
570
160
405
201
204
721
896
421
905
480
440
565
613
535
430
18
513
897
803
102
333
76
467
179
216
788
196
518
400
82
914
589
299
454
306
463
470
518
586
152
155
389
89
64
736
242
67
228
512
442
700
564
651
193
869
287
21
970
690
482
908
830
136
976
276
304
347
922
322
773
387
900
559
104
267
941
569
842
24
604
855
458
548
101
937
970
600
553
952
780
195
619
529
681
85
112
659
856
617
749
578
95
619
800
459
620
318
292
821
677
485
343
140
476
155
382
87
167
300
289
199
272
766
933
536
416
652
207
86
236
40
406
226
78
677
736
574
470
736
779
925
362
312
16
808
833
620
868
353
306
218
252
843
281
724
397
273
283
599
444
715
16
607
455
112
679
420
546
338
16
712
239
38
978
752
582
798
772
192
230
655
686
232
477
822
329
822
183
769
808
891
626
493
947
853
601
870
847
811
482
494
980
919
557
283
517
379
662
449
790
378
34
139
628
108
359
143
786
670
162
618
867
264
73
688
924
592
1
110
406
796
918
933
235
567
773
252
567
301
57
656
238
295
666
988
988
13
991
352
286
398
636
95
1
58
761
670
213
900
813
850
180
453
309
785
838
686
448
749
262
605
522
267
167
282
506
477
905
278
740
248
381
576
329
534
983
284
727
934
928
340
995
204
377
371
394
758
317
680
280
790
471
60
783
743
432
752
355
291
813
411
84
850
459
385
629
944
638
956
705
380
749
451
362
313
217
291
661
734
207
112
967
846
240
67
810
60
32
299
115
74
690
359
697
609
899
35
72
883
907
662
29
846
897
474
885
532
812
996
50
605
836
756
321
345
485
859
335
858
719
58
713
249
564
22
776
881
487
436
88
583
168
392
774
878
363
337
241
862
299
443
913
364
364
885
634
415
936
951
625
849
837
307
279
70
271
15
629
635
77
110
984
319
798
611
154
767
373
884
618
639
212
157
223
450
63
817
290
884
326
839
502
469
427
325
573
935
457
680
506
423
496
370
186
33
997
585
166
819
117
356
767
464
121
863
29
334
860
710
629
523
836
953
612
781
574
502
658
944
833
348
684
597
713
730
729
203
852
956
485
891
725
127
299
388
507
378
165
362
116
604
65
550
787
854
947
627
3
688
834
711
681
856
796
771
245
579
994
969
653
568
613
164
482
680
241
352
892
746
212
847
670
716
445
369
581
687
614
34
933
806
807
421
610
303
418
539
821
98
701
502
463
542
268
173
311
840
840
863
220
629
699
406
119
985
669
574
896
879
860
866
169
707
122
141
556
70
900
443
291
432
143
627
933
600
39
85
491
259
606
937
486
939
567
557
357
864
548
191
125
92
333
726
457
273
836
378
44
76
451
183
789
104
679
698
373
641
271
230
631
141
623
276
618
732
875
552
358
363
924
178
73
420
615
113
77
778
446
891
685
296
467
89
142
686
475
713
66
567
218
875
897
230
97
709
602
342
755
474
219
349
31
170
892
840
981
820
698
493
64
748
939
519
121
832
534
721
486
695
836
356
435
255
483
36
155
873
870
768
625
577
438
80
109
480
282
913
428
593
470
539
849
639
113
366
190
394
413
887
704
306
865
391
427
850
334
322
902
149
920
315
645
873
456
10
270
341
927
736
939
30
376
999
677
431
619
548
142
280
656
419
641
724
765
30
539
914
120
829
721
843
205
479
424
977
438
824
613
405
192
137
10
736
831
272
73
982
481
380
467
987
980
779
70
764
888
435
106
256
463
262
820
627
256
87
979
197
315
737
584
493
60
130
415
727
530
677
383
196
85
546
261
716
600
570
16
250
897
648
847
262
406
522
42
218
66
682
941
871
66
35
596
587
330
615
228
83
547
314
206
337
186
109
58
344
142
710
995
636
587
913
510
178
140
182
911
317
718
162
19
963
256
873
887
80
56
324
95
848
681
166
67
587
166
774
914
632
806
849
498
879
944
251
770
640
974
227
935
788
266
669
699
902
820
313
641
274
239
25
755
189
58
460
345
854
533
402
738
697
774
39
739
560
471
289
370
445
562
25
157
98
864
722
209
673
101
623
345
125
774
971
806
797
980
269
451
833
682
772
878
727
871
649
637
260
750
333
520
588
377
569
961
999
146
613
726
154
138
819
411
241
635
602
732
536
20
372
251
317
895
593
953
942
480
540
59
176
261
691
543
534
431
950
118
462
857
36
832
714
197
460
34
128
324
491
167
355
373
358
746
753
598
769
935
815
699
478
307
998
449
253
768
749
252
95
90
864
731
980
220
47
560
690
309
689
559
547
421
434
455
983
1000
55
866
908
481
538
755
809
861
29
42
311
676
479
106
741
585
420
622
865
659
268
564
533
595
970
220
468
246
588
751
777
313
660
177
88
521
733
663
373
362
555
619
639
297
774
470
676
352
868
884
929
196
251
881
437
129
156
538
434
861
926
912
902
648
841
419
869
84
422
138
674
859
474
424
816
856
774
758
211
240
406
1000
869
616
220
59
69
890
820
540
63
219
748
108
256
313
267
142
553
387
241
758
301
291
158
439
798
663
230
294
917
494
874
465
723
149
589
307
356
715
419
740
610
529
702
622
827
881
808
63
702
165
908
371
595
232
586
697
751
267
286
533
607
311
188
910
14
430
58
528
782
660
43
81
417
25
184
700
307
370
598
825
894
253
936
759
568
875
706
849
117
846
506
537
562
637
29
487
131
705
945
612
930
617
407
128
612
989
995
651
942
671
346
997
742
424
600
550
73
277
64
985
947
852
152
700
20
226
771
496
975
291
785
964
279
178
104
512
59
19
244
195
641
222
890
331
152
465
152
375
224
843
673
699
471
910
716
717
901
934
672
269
838
282
166
297
243
748
99
619
562
553
497
61
331
936
14
268
840
516
291
285
60
68
137
406
926
961
693
812
791
274
304
293
546
508
823
662
468
909
476
536
309
634
185
837
565
380
501
690
90
651
871
408
470
527
21
910
630
659
613
211
173
221
238
597
848
744
976
740
376
38
437
239
580
936
257
65
378
195
445
926
770
708
875
859
358
113
472
224
309
13
316
863
911
257
984
377
46
164
920
375
959
165
545
42
690
32
79
596
394
783
813
11
594
376
626
906
64
523
97
632
668
290
486
415
977
679
166
877
893
55
872
359
822
93
226
281
191
914
592
181
180
223
251
183
635
528
252
377
32
5
78
10
221
151
422
439
436
147
966
522
721
771
55
472
477
758
515
263
327
764
715
327
855
456
144
645
84
802
407
323
728
341
549
393
363
53
72
900
676
487
804
292
838
941
42
764
888
848
49
456
726
976
994
389
945
707
929
565
270
433
231
929
811
86
214
793
697
895
311
882
888
744
270
358
156
930
345
93
263
662
318
931
359
425
511
925
493
164
651
335
915
340
570
673
551
63
224
265
608
907
463
563
801
480
314
959
88
541
260
913
101
228
163
55
733
986
32
290
408
904
772
72
653
455
440
742
498
97
294
222
88
803
89
438
661
331
680
529
677
982
952
307
482
664
518
435
344
308
416
485
78
70
234
375
788
308
743
686
400
5
78
10
815
173
7
791
462
804
584
83
992
65
800
273
616
798
413
106
379
832
262
259
227
296
767
331
310
861
231
337
375
836
793
717
471
126
575
421
430
331
658
843
758
671
987
264
630
24
217
976
662
63
818
453
14
389
447
767
154
589
728
965
324
363
85
246
323
192
218
612
751
570
127
117
252
451
339
970
621
424
136
522
860
90
131
602
397
248
509
756
717
812
587
689
607
816
156
629
47
462
206
362
555
960
248
433
431
792
419
356
940
129
960
724
927
355
451
784
738
47
401
374
619
283
413
142
958
878
136
596
803
985
683
852
147
518
992
915
328
20
865
949
745
930
64
266
808
676
885
715
655
660
102
701
714
15
25
377
653
919
702
393
559
414
944
172
489
891
980
915
685
857
981
371
787
150
646
973
388
515
299
100
133
337
671
79
355
368
675
34
933
489
953
848
665
902
966
293
928
663
667
891
844
133
579
129
461
750
235
505
692
501
473
234
880
630
68
617
904
381
508
746
669
55
529
688
685
246
182
293
182
900
778
538
880
741
72
649
95
698
429
299
337
199
504
846
932
572
204
942
499
354
285
802
282
989
989
108
464
284
515
827
570
959
989
170
995
847
808
562
497
585
898
762
229
131
458
200
510
103
254
210
63
681
344
59
913
813
424
589
456
539
650
856
491
532
866
346
149
347
669
241
745
482
627
713
517
46
273
443
125
746
220
354
567
936
818
102
842
681
338
962
304
116
568
614
158
952
47
752
953
573
906
584
237
63
416
77
788
441
916
206
937
533
735
596
545
203
100
655
155
123
765
728
656
848
320
838
580
748
676
331
803
255
232
58
978
962
627
823
525
331
781
448
361
184
127
194
855
659
558
245
665
34
641
625
248
688
60
238
792
438
90
662
272
728
162
976
131
392
177
162
798
271
347
560
922
535
723
456
690
408
502
107
80
911
430
446
227
357
317
220
335
590
752
591
743
386
605
39
804
8
792
985
221
624
80
709
361
207
417
985
845
564
401
352
423
343
991
103
724
242
529
862
991
116
434
109
298
395
705
118
99
18
498
557
151
84
583
440
996
544
471
194
227
584
345
375
697
752
704
951
681
537
819
137
761
831
654
485
858
649
929
294
405
554
370
460
134
444
5
521
321
780
581
51
617
851
765
513
811
380
839
348
927
640
23
386
100
248
363
641
569
978
413
144
940
279
529
785
612
619
689
46
869
471
182
93
684
506
396
963
743
529
182
476
501
800
968
42
395
634
872
789
439
607
546
273
546
257
392
574
867
916
80
781
315
171
11
673
248
533
496
938
959
52
902
410
230
11
3
603
699
312
44
303
227
860
817
103
735
64
165
512
224
553
873
763
834
359
914
471
791
90
306
79
89
89
678
432
550
157
773
856
710
209
723
855
581
125
903
910
978
152
589
869
503
429
422
148
707
611
906
244
223
94
772
117
835
60
67
599
587
411
253
351
4
661
425
792
423
55
9
109
255
465
944
697
714
149
390
311
177
36
484
837
889
50
508
784
149
900
130
565
476
874
20
127
518
466
265
765
590
31
461
790
844
305
289
264
12
290
653
195
555
944
180
429
839
141
11
975
648
551
299
640
942
479
785
679
279
179
146
612
720
868
545
504
367
441
963
755
896
922
452
906
578
778
377
47
334
554
130
156
284
703
506
115
119
128
173
187
384
673
196
485
390
772
599
299
86
477
330
207
658
380
799
567
15
288
366
315
614
66
778
30
262
779
547
826
633
93
746
991
237
934
446
233
503
550
354
7
442
465
777
708
85
285
128
412
522
959
655
462
905
878
899
442
209
175
712
969
917
661
285
308
24
116
768
27
928
67
524
780
853
771
961
835
406
813
201
138
751
688
527
574
688
696
687
547
595
754
651
176
798
28
320
212
450
839
63
245
384
955
645
876
757
186
306
346
496
215
257
501
702
710
854
102
207
67
47
214
399
580
497
820
313
443
903
855
717
747
688
600
582
568
172
695
904
295
752
127
323
589
421
166
337
775
154
614
235
956
314
694
29
908
244
593
786
607
641
941
755
304
148
517
608
195
811
63
904
85
746
379
652
901
351
807
428
575
900
803
84
588
217
527
494
427
359
319
157
318
973
448
707
848
25
768
565
512
118
773
17
815
498
63
991
253
146
452
669
421
82
739
867
520
97
702
817
743
664
19
555
364
695
604
657
894
166
349
458
296
336
366
198
129
470
594
794
406
498
85
30
168
11
374
16
986
370
73
709
125
451
235
121
671
745
111
614
683
116
609
333
379
483
173
393
415
128
779
910
549
95
491
365
395
387
301
39
469
246
16
486
490
857
591
86
697
226
615
740
987
804
633
665
858
700
593
80
428
936
14
283
321
276
361
268
827
602
754
535
542
691
342
237
644
488
613
96
77
685
435
835
157
476
867
993
550
836
638
64
146
607
723
903
79
929
634
176
19
302
863
457
947
647
456
245
768
285
797
785
521
644
532
68
427
879
4
810
704
290
711
523
892
595
53
7
420
652
97
733
273
194
163
623
928
495
771
654
164
653
924
603
959
375
733
955
468
699
110
702
958
104
649
299
691
846
812
526
954
150
239
390
825
112
347
481
818
771
369
391
236
829
632
890
932
931
207
595
184
241
2
733
544
301
6
444
888
794
668
788
320
892
340
261
264
319
267
122
865
133
908
330
736
505
227
200
245
423
190
149
768
367
886
84
751
476
586
10
14
607
587
469
458
14
831
237
213
71
196
539
323
577
788
716
250
700
756
878
856
547
953
572
5
680
225
939
628
642
238
100
895
686
524
790
132
468
882
332
253
425
327
142
777
901
561
832
938
882
321
885
25
365
29
593
818
956
880
625
944
312
880
157
20
409
370
969
697
433
258
299
102
300
530
523
733
421
589
914
523
341
648
871
709
334
688
949
76
834
483
1
399
848
798
507
157
132
141
921
122
960
414
480
42
785
357
463
446
939
960
329
531
809
904
504
205
579
658
865
641
744
71
89
76
46
171
156
212
433
421
209
259
883
845
914
592
699
298
202
8
959
645
984
778
335
765
42
51
427
102
785
673
95
961
971
155
981
865
833
347
612
57
242
365
967
685
697
440
402
283
945
674
149
911
2
112
404
731
159
165
183
835
355
182
711
885
919
867
95
464
284
344
432
95
729
870
312
553
582
616
850
439
629
453
59
982
638
402
311
695
22
246
157
806
653
824
513
367
785
703
538
559
816
217
126
980
375
402
9
656
841
921
913
95
932
934
88
951
449
775
784
763
611
414
946
816
670
963
454
355
642
873
762
285
89
80
634
993
833
51
41
132
370
600
925
36
540
374
699
939
709
108
853
316
303
113
957
492
45
961
705
96
666
12
357
102
162
256
106
947
905
895
437
656
44
275
500
8
658
28
884
507
87
766
973
333
688
249
191
516
41
739
87
273
279
142
145
838
788
648
647
126
991
769
676
281
323
115
589
473
770
733
881
318
555
589
400
951
650
589
269
89
781
574
759
380
534
875
522
969
955
346
317
479
789
285
339
541
113
269
791
614
656
742
140
49
566
135
806
293
691
406
707
665
728
154
149
353
752
874
45
161
682
499
371
64
248
102
11
800
865
538
911
590
651
806
534
547
466
169
158
524
503
377
451
917
414
876
141
449
410
561
275
50
63
420
766
737
763
448
441
848
940
303
771
40
161
507
835
249
169
400
835
177
799
722
649
963
426
400
509
378
283
73
866
282
558
960
898
98
630
887
936
752
209
704
268
840
422
839
419
832
70
470
4
716
383
609
683
844
634
451
603
683
825
473
912
799
543
116
608
680
743
347
20
951
910
63
684
106
518
47
239
136
219
195
238
354
478
789
446
238
673
868
278
366
811
205
528
374
96
895
423
393
549
382
339
612
759
564
249
447
637
702
37
315
739
56
393
123
301
499
871
444
677
912
86
772
222
803
700
398
48
433
53
218
241
697
808
219
301
178
944
476
589
43
813
253
490
934
724
186
887
606
709
599
256
809
706
718
388
852
369
915
274
355
145
146
213
919
20
429
521
842
566
558
566
550
535
227
996
101
262
411
164
1
558
154
732
560
630
871
367
191
776
909
235
391
270
372
760
613
896
169
697
882
35
821
157
785
115
812
607
460
435
182
279
245
138
596
616
988
96
380
591
374
51
840
776
239
179
738
26
560
590
981
508
691
956
404
607
472
612
50
922
34
940
471
176
464
824
424
344
39
275
754
749
377
55
430
167
682
295
427
208
270
641
626
390
660
425
970
333
831
710
852
456
706
862
155
415
496
423
372
255
340
706
995
928
558
470
699
398
949
460
898
1
758
380
930
143
348
90
454
687
157
425
668
560
205
50
579
253
287
199
881
823
991
975
974
996
861
140
252
723
331
936
90
302
559
576
879
788
913
463
70
964
659
76
393
590
350
740
380
965
533
155
825
140
627
657
64
243
279
660
814
454
45
647
852
161
6
348
977
670
790
477
569
672
539
496
528
324
536
420
549
422
579
562
482
647
713
496
17
269
558
221
17
4
349
681
646
975
742
312
835
820
612
295
739
38
328
505
594
633
472
962
750
914
563
733
760
115
97
839
97
121
156
698
435
181
903
32
483
947
499
986
24
556
394
372
164
774
465
618
791
400
177
985
888
229
812
55
668
875
813
326
458
679
453
989
872
735
389
602
116
779
110
445
174
343
952
763
225
89
132
16
909
689
209
483
928
974
487
266
44
301
134
818
773
297
207
611
895
148
371
446
486
627
788
222
322
899
588
682
358
952
339
760
491
161
164
695
957
150
479
983
524
544
868
585
117
688
261
536
624
679
408
265
409
296
639
463
510
550
9
314
558
604
255
257
243
747
410
226
509
982
554
482
768
507
918
740
95
62
503
285
766
659
423
162
524
696
437
330
634
838
510
872
135
323
790
975
693
564
77
422
124
989
749
724
933
82
78
924
220
515
76
266
901
35
313
632
482
540
643
654
544
374
398
907
714
432
430
412
107
87
296
988
174
312
17
634
397
631
84
239
546
666
830
367
18
162
818
809
387
290
677
837
390
950
667
870
497
567
320
307
646
564
691
864
921
290
123
631
733
713
922
434
546
544
36
797
304
850
629
967
493
365
436
8
222
892
928
917
762
186
594
109
778
687
114
345
844
282
790
405
931
71
372
342
245
727
340
175
174
654
756
267
143
586
66
425
839
667
584
975
622
334
963
693
940
512
637
454
199
744
92
945
874
861
817
557
594
730
973
871
565
422
144
749
962
875
983
127
888
738
258
45
28
652
543
323
450
627
792
563
840
555
105
817
58
132
288
378
106
639
210
600
464
87
533
585
300
210
143
841
210
674
468
764
22
646
942
873
665
571
57
266
286
590
794
694
571
559
772
985
730
4
73
259
702
709
575
570
924
822
561
130
444
503
554
218
245
194
591
287
395
501
598
499
37
549
167
134
312
425
758
881
989
973
297
18
984
774
197
877
959
646
83
802
868
321
858
996
692
311
326
298
563
114
258
917
143
26
665
606
466
852
44
571
350
681
529
664
178
733
217
46
83
20
408
558
504
144
145
502
715
161
223
392
116
815
794
510
21
842
811
770
228
282
786
498
861
887
795
190
851
798
206
236
968
638
356
901
465
23
286
518
278
322
681
29
187
134
371
479
520
613
102
8
778
209
798
232
30
864
200
633
55
987
603
722
973
746
389
283
552
391
180
5
461
293
754
100
505
400
295
358
243
580
158
196
501
158
108
896
951
534
891
172
361
415
82
637
85
599
382
514
103
674
931
173
220
265
733
651
57
652
7
382
112
683
114
738
463
920
757
858
688
855
264
460
149
841
161
976
113
151
644
412
95
148
280
782
385
127
983
845
999
815
320
117
181
882
270
843
137
34
850
664
904
462
422
222
141
460
70
841
129
16
187
706
488
46
275
707
919
730
22
176
816
117
911
322
714
741
982
50
372
514
862
219
739
553
880
92
189
948
865
932
161
661
248
193
825
909
202
744
423
402
853
940
735
755
56
79
490
245
809
12
617
832
184
225
942
26
528
704
310
756
791
305
136
859
59
136
83
200
759
673
889
710
554
948
386
818
622
163
380
879
911
520
399
153
930
866
248
868
837
35
973
652
898
359
72
387
867
923
769
155
487
564
705
470
102
489
709
455
307
662
160
952
691
780
44
812
984
740
13
793
315
994
633
519
903
88
519
981
205
965
269
891
443
338
912
13
464
550
123
291
125
851
579
173
692
949
649
48
306
44
89
125
216
263
522
393
304
579
254
531
414
854
448
764
125
579
705
696
923
283
929
99
153
312
676
477
743
903
308
985
481
11
956
945
502
388
678
764
750
755
221
533
409
761
497
973
655
590
195
665
668
714
977
718
511
311
348
97
354
274
584
861
523
593
101
468
43
121
238
113
647
377
725
790
705
97
34
418
201
703
404
868
619
716
573
223
608
414
168
893
360
724
235
514
922
394
650
690
85
8
970
711
26
285
872
362
683
407
449
805
655
842
528
318
519
220
644
342
630
362
451
925
819
473
185
111
954
857
244
269
948
233
61
661
661
902
266
765
115
531
505
7
560
328
439
604
260
685
145
126
275
194
572
278
158
80
749
126
225
697
173
666
991
707
152
192
427
975
947
422
929
4
189
662
286
942
440
655
468
809
725
867
749
616
534
138
564
469
107
580
475
588
753
531
817
409
624
203
917
577
583
363
234
709
803
38
459
233
268
753
337
500
632
269
1000
628
785
118
635
209
25
513
632
95
959
345
733
976
135
57
306
350
918
178
591
782
323
134
634
77
352
797
713
87
880
866
210
391
285
831
272
40
833
723
112
857
301
300
454
547
407
625
468
4
458
211
527
762
988
40
224
489
318
810
422
788
658
689
531
350
822
717
825
653
646
741
372
28
955
444
66
851
260
580
334
66
416
16
314
1000
155
539
679
678
738
709
861
428
989
189
81
609
582
119
490
720
835
69
707
954
146
64
230
547
900
940
514
871
907
53
984
307
394
968
907
364
145
312
821
400
643
402
175
552
968
604
953
168
758
655
310
113
774
327
645
817
451
865
152
817
384
643
600
859
840
322
957
329
278
606
581
885
300
369
819
712
660
542
287
711
725
630
567
298
295
165
748
208
750
695
52
856
337
163
779
353
788
613
942
233
592
254
232
316
958
807
449
897
940
932
94
627
229
286
611
50
852
414
681
718
372
252
29
243
231
499
461
404
545
470
214
671
13
361
264
95
595
25
920
560
256
474
905
786
415
309
123
343
655
202
492
142
926
377
536
535
701
748
930
207
525
5
798
481
941
486
399
555
80
95
744
421
41
896
824
929
805
259
387
523
609
586
596
659
583
726
518
835
994
162
81
431
601
912
61
309
507
907
674
183
337
270
580
340
776
527
423
195
271
302
587
484
193
439
485
676
869
817
533
289
657
355
948
381
702
824
642
412
74
129
773
77
752
654
975
440
314
127
886
902
261
194
362
112
597
591
681
916
697
320
112
838
488
750
467
393
662
925
630
720
997
650
610
670
834
121
349
476
443
957
406
573
270
507
606
962
91
212
948
759
654
602
376
209
721
278
500
496
319
799
989
149
623
972
162
690
133
479
239
458
703
107
834
213
565
118
523
197
663
452
750
837
536
522
900
165
469
333
107
308
861
544
235
156
552
867
555
380
391
898
786
528
457
71
567
844
158
931
922
771
899
330
954
870
138
474
826
2
423
964
62
193
430
121
362
551
134
885
393
959
961
571
474
73
204
572
700
273
30
868
777
864
105
870
797
757
286
681
227
295
784
336
627
664
965
967
22
553
230
120
342
344
465
637
120
105
151
635
418
130
603
93
23
566
697
489
85
921
125
741
722
898
466
418
574
34
303
846
946
107
216
221
964
110
705
349
111
879
25
917
643
141
468
499
609
812
823
635
655
895
655
416
341
185
529
946
448
323
530
959
628
436
235
656
799
710
825
493
898
768
146
278
930
656
354
434
803
567
248
673
85
167
518
682
640
555
881
611
99
409
574
300
245
853
703
225
701
937
723
55
732
379
741
606
609
432
353
687
738
258
481
26
648
266
30
19
62
173
209
518
440
432
61
261
839
824
67
819
416
643
709
145
652
935
511
897
187
655
395
720
219
465
154
561
523
108
473
955
552
969
183
883
478
447
406
490
739
272
805
439
419
706
418
160
727
887
449
575
987
224
970
142
771
846
658
224
251
584
629
861
426
885
889
983
578
327
167
996
243
140
686
452
994
239
973
206
545
791
912
68
47
276
103
450
943
330
14
934
444
401
562
998
478
374
528
356
987
917
642
506
540
200
270
108
571
65
393
768
951
432
928
637
263
964
576
5
860
549
9
713
742
172
661
803
350
144
354
251
601
437
715
72
889
113
666
302
303
425
255
626
35
192
775
447
789
489
404
263
23
518
576
82
24
760
922
441
143
155
868
331
991
136
961
927
47
737
536
587
908
949
608
27
376
673
790
894
678
373
555
261
362
578
420
690
863
864
483
595
284
871
262
620
668
193
989
592
942
688
348
434
741
868
130
100
527
570
441
180
780
993
928
343
536
574
901
208
233
865
415
510
636
750
108
704
605
875
41
231
603
148
887
747
136
484
539
531
754
794
641
138
885
353
573
145
489
291
162
466
472
914
753
289
867
996
303
181
9
935
844
259
337
928
1000
627
985
881
260
474
28
841
319
307
122
119
168
825
246
139
511
838
485
272
785
434
63
555
262
363
343
269
705
197
153
773
612
382
571
896
329
728
265
419
235
258
602
893
737
545
969
91
49
881
204
902
588
641
588
361
356
224
590
816
864
782
441
925
971
789
652
329
558
150
810
313
46
169
315
741
631
202
258
860
551
222
296
311
812
847
204
836
610
601
781
715
86
317
897
931
160
612
795
415
947
327
182
515
628
649
274
976
747
409
701
341
595
699
121
638
719
520
434
630
642
646
761
707
517
283
703
702
849
358
955
535
342
493
58
588
640
815
910
179
2
729
678
291
942
745
941
999
469
202
173
629
854
521
211
787
777
194
949
827
297
294
313
185
347
701
519
297
341
615
721
484
58
154
411
266
167
26
375
73
651
310
555
190
880
354
917
108
312
702
314
124
615
708
355
187
488
239
533
472
659
407
165
103
293
835
266
804
539
331
111
946
78
171
68
650
273
438
295
136
992
955
990
458
260
424
208
164
619
299
695
136
509
779
803
105
29
69
307
860
148
707
859
200
815
322
914
63
448
677
154
50
957
203
862
797
801
561
222
244
589
898
222
877
357
628
702
445
2
523
93
490
287
849
566
255
469
53
631
202
880
290
725
400
719
655
930
521
916
549
800
37
148
46
184
466
40
484
71
241
86
723
737
790
83
736
866
962
724
197
947
806
536
763
923
4
510
584
990
983
648
387
488
841
112
164
1000
733
836
85
165
303
270
779
199
72
375
520
795
437
131
181
904
76
579
44
875
108
879
684
558
317
915
164
299
118
771
753
173
688
775
203
424
911
876
371
845
307
846
663
743
160
135
312
216
424
301
997
687
785
542
677
49
500
258
812
305
198
552
316
283
891
210
719
873
843
38
978
245
804
397
324
669
310
372
327
886
465
322
99
463
589
479
171
201
658
851
127
463
257
931
523
222
77
635
947
765
657
422
361
227
148
788
999
552
359
198
185
69
270
26
395
579
459
286
761
756
630
752
26
702
523
591
632
686
26
753
210
478
213
200
291
175
382
504
405
102
910
476
111
187
861
261
695
201
874
770
392
382
773
412
62
254
748
836
156
914
689
789
666
659
456
278
537
587
445
898
621
720
791
616
888
292
957
275
22
57
251
801
961
852
25
428
188
238
920
250
785
677
552
62
382
622
442
762
90
869
851
561
476
701
393
857
403
684
971
911
317
456
606
405
177
472
214
544
765
493
233
612
554
516
267
801
658
989
618
690
650
394
629
958
183
698
264
803
443
770
259
48
387
559
449
121
662
755
616
914
831
662
297
51
260
235
518
210
608
591
350
997
354
798
505
305
230
426
947
214
733
181
616
298
105
902
944
591
314
351
765
600
609
520
609
462
133
634
147
789
977
610
700
748
760
537
338
699
516
620
70
36
237
138
21
941
860
162
310
417
909
219
514
329
271
566
267
167
753
506
523
900
223
974
456
603
76
683
802
499
740
246
691
691
696
62
640
123
256
182
472
250
959
59
343
499
952
846
935
822
222
868
165
584
836
7
407
545
645
981
323
956
39
956
885
613
424
442
64
297
68
237
969
149
817
987
921
433
12
44
60
584
580
459
615
628
921
317
877
855
672
149
263
90
871
796
588
32
355
948
816
914
434
558
102
172
37
458
911
884
545
811
337
515
474
470
561
882
15
950
500
332
207
428
354
826
161
167
684
11
333
793
90
367
311
102
342
227
976
450
34
790
150
347
426
252
81
542
204
831
168
780
245
768
380
385
381
367
682
29
348
735
655
352
753
183
172
572
981
171
652
885
376
277
935
239
917
910
271
999
888
404
267
155
701
672
877
965
123
826
694
365
638
41
870
23
590
464
960
685
36
160
854
305
951
917
784
539
543
246
30
340
963
50
608
793
602
245
674
794
529
110
833
879
333
211
820
340
801
583
283
698
400
245
493
806
505
232
870
98
654
75
128
977
916
48
724
931
604
601
21
727
158
44
250
967
27
2
933
342
749
120
868
175
250
221
212
206
579
448
417
152
922
920
39
227
737
82
463
714
315
242
667
655
862
755
995
912
467
938
767
182
957
62
262
5
696
727
239
478
821
499
712
152
315
937
105
548
542
51
305
846
575
781
348
551
722
300
657
352
145
841
808
994
355
240
776
678
687
595
499
424
539
284
367
847
311
63
963
28
447
141
946
483
978
917
515
777
229
546
251
982
138
621
508
8
775
23
694
804
161
446
965
601
518
170
836
620
361
436
206
129
690
140
118
377
660
656
315
631
722
300
357
517
203
307
582
912
701
262
717
879
455
542
268
502
72
751
170
65
607
54
309
671
1000
7
666
278
319
790
826
154
72
689
505
893
109
342
555
469
265
478
664
311
949
880
551
976
362
846
40
829
850
683
792
73
223
690
871
569
496
612
535
177
615
792
817
733
238
109
549
379
494
310
424
690
978
548
577
911
946
759
988
686
759
22
641
843
192
190
30
173
105
898
69
625
339
515
889
48
419
723
333
392
806
203
155
304
980
315
84
158
598
784
950
875
345
113
980
318
847
881
276
690
210
127
179
69
316
725
934
201
21
68
613
676
761
353
735
913
900
486
395
709
361
956
12
683
672
1000
985
651
614
79
656
795
52
953
972
526
387
629
166
110
293
79
578
430
51
897
461
772
846
998
269
119
859
59
427
275
823
643
58
51
17
855
455
887
329
933
388
514
100
402
441
709
958
280
695
747
754
358
1
894
989
768
11
192
857
881
874
781
117
79
239
273
560
105
773
978
726
496
937
349
889
70
142
657
48
571
749
728
828
335
592
579
720
295
829
897
69
718
974
626
575
831
882
357
843
868
346
844
689
169
675
701
513
637
315
290
1000
265
141
849
858
449
491
178
48
504
439
555
220
128
49
113
636
570
572
617
935
893
629
418
456
53
440
396
738
468
64
837
996
370
431
571
54
530
677
117
260
848
920
257
351
938
140
259
120
28
292
879
997
453
112
437
335
540
332
462
275
914
179
872
550
130
128
211
497
63
799
166
818
657
824
547
386
496
262
874
448
155
841
975
155
419
902
335
233
294
442
437
959
197
34
27
355
807
743
47
636
882
376
961
516
731
529
345
933
179
926
897
104
535
507
476
620
570
543
391
432
470
838
919
188
538
714
943
367
721
70
690
37
105
249
772
884
199
848
126
350
145
895
978
354
45
986
684
61
166
98
123
621
188
791
367
607
535
411
486
152
531
744
695
379
338
280
527
837
605
884
345
53
342
197
311
211
763
543
873
227
765
466
934
169
259
263
153
42
796
59
200
472
778
22
427
699
105
302
79
583
268
137
115
72
758
391
717
647
136
443
775
819
284
965
9
660
157
632
861
682
817
220
15
130
666
839
172
892
549
320
729
775
874
860
135
867
929
79
976
66
385
610
324
613
326
149
457
666
242
678
846
519
112
223
208
57
98
90
503
457
372
962
995
911
326
666
862
381
692
665
413
14
168
551
638
830
739
893
710
778
235
810
29
27
594
553
609
655
965
184
898
494
26
177
633
992
844
385
944
355
192
373
726
146
492
524
265
760
440
709
167
882
942
554
951
102
203
488
58
387
682
834
596
951
156
185
909
425
311
168
891
883
135
506
76
443
875
954
669
634
477
325
88
689
225
278
75
242
786
983
115
620
971
97
721
121
294
680
115
170
876
847
6
226
294
959
413
680
754
108
971
744
349
514
744
516
228
177
337
982
232
815
19
711
900
676
637
390
798
279
347
153
797
538
561
868
264
983
63
134
149
8
934
817
574
162
806
307
851
504
950
583
843
964
891
354
168
457
569
232
49
220
517
912
544
499
221
826
465
198
561
560
572
604
210
638
504
597
998
920
471
49
452
961
971
254
199
166
641
306
463
458
890
316
629
502
147
237
724
213
400
855
730
398
191
191
821
919
396
165
986
647
918
874
12
875
894
239
459
529
139
115
106
713
317
153
300
650
792
865
806
42
156
347
21
246
236
77
904
423
724
54
527
1000
699
294
977
359
951
344
198
681
472
89
481
222
428
538
527
157
673
705
378
292
165
975
90
569
666
504
696
337
754
369
863
733
468
104
679
412
913
248
160
60
725
299
391
788
608
204
708
553
88
149
953
211
200
956
633
671
78
818
779
892
352
457
368
125
755
66
483
924
623
525
765
888
794
470
317
38
974
757
916
996
790
761
323
880
637
694
470
907
866
884
563
235
60
483
443
505
934
639
88
868
866
531
815
20
176
23
533
921
69
878
416
430
583
637
486
23
960
282
876
149
635
756
29
553
408
255
659
32
452
957
84
732
510
542
455
25
999
378
473
455
804
771
437
988
172
10
821
62
510
272
166
505
860
601
716
445
484
298
157
725
299
65
749
202
873
138
378
538
313
489
344
724
649
864
190
642
263
106
518
430
495
687
526
280
799
860
964
542
751
182
291
735
732
398
101
99
366
849
284
843
623
640
988
125
74
761
145
107
909
253
250
133
243
281
99
196
652
673
398
380
111
95
522
881
250
513
201
561
362
33
591
714
679
492
1
864
245
439
544
999
111
233
106
553
707
53
315
857
975
546
672
523
229
666
567
425
817
71
708
483
332
21
388
510
508
377
91
705
966
703
175
232
663
891
760
513
223
12
475
460
339
268
456
935
94
48
791
98
335
66
672
193
224
500
645
515
700
836
698
966
867
879
394
676
257
993
905
584
507
184
584
770
240
84
674
599
840
233
856
382
369
310
596
395
91
153
674
524
950
419
855
766
853
772
391
58
825
329
927
645
919
881
435
328
264
111
997
394
814
634
614
38
120
163
730
346
974
549
832
690
837
726
304
524
789
860
716
114
141
73
830
695
961
209
940
918
495
6
578
213
888
909
252
882
647
513
627
299
27
274
482
611
864
705
858
701
449
749
44
997
670
387
416
908
37
836
716
288
176
889
45
339
33
36
692
813
344
9
943
179
902
325
201
672
745
189
19
802
706
870
201
925
664
277
708
946
454
996
914
108
623
508
738
61
133
636
228
96
661
543
490
523
376
745
237
636
936
694
837
624
971
428
430
89
513
701
629
518
679
762
306
194
384
660
199
553
54
552
433
886
77
978
535
665
232
512
219
485
428
466
29
747
891
609
914
803
344
927
932
187
842
551
615
967
648
860
910
992
957
669
293
5
327
136
355
166
388
673
110
509
778
769
342
286
288
20
544
908
868
135
369
436
495
890
99
172
912
257
284
930
873
997
611
978
874
21
38
502
277
738
421
650
396
431
166
887
352
400
944
426
478
277
125
969
612
428
386
844
886
809
905
917
513
988
648
301
629
308
534
998
479
312
667
90
85
641
398
974
85
561
738
464
601
181
491
277
846
199
554
523
659
695
13
375
339
116
19
977
932
71
957
13
598
986
73
93
822
989
559
245
988
594
69
366
292
912
789
445
33
134
465
720
105
989
249
717
883
701
841
292
769
762
134
373
392
472
533
96
796
761
155
420
13
317
375
115
88
371
557
212
951
826
348
632
551
577
640
719
309
984
127
843
249
450
415
58
156
993
820
49
695
484
293
238
744
975
405
990
101
159
965
281
318
538
634
110
681
325
840
145
235
451
429
815
327
293
714
133
348
922
43
6
241
720
547
706
849
192
490
466
370
678
500
877
52
470
34
874
702
501
618
616
801
413
737
512
776
276
819
936
471
664
351
968
979
108
68
592
766
168
66
371
461
492
887
560
774
271
880
975
752
439
598
736
981
825
625
134
414
192
940
512
203
801
899
970
308
660
951
174
651
133
440
284
312
929
271
279
565
800
698
518
565
465
251
457
156
364
642
806
574
870
511
295
778
473
49
425
771
303
848
238
563
44
817
194
333
938
640
688
967
139
51
623
377
57
130
711
929
756
962
854
832
658
244
45
610
20
831
712
589
677
836
326
914
536
564
398
755
202
503
700
239
859
614
639
92
274
359
272
191
346
278
336
975
156
426
33
182
870
650
21
451
172
526
228
156
125
735
659
230
484
816
301
867
526
511
616
691
415
377
884
441
930
947
820
229
197
477
474
168
672
245
438
545
230
429
735
727
654
839
606
677
241
161
606
310
472
899
16
890
947
924
635
354
826
385
410
732
77
748
212
817
690
898
293
846
881
572
633
240
996
861
390
381
479
170
171
14
801
797
680
59
666
279
571
593
198
714
28
254
36
571
653
582
435
887
743
655
544
361
951
928
1
535
584
345
858
203
552
659
654
172
44
375
121
753
576
883
635
658
940
177
993
565
954
999
557
202
620
381
67
696
456
336
702
860
340
883
49
275
114
670
722
273
607
238
284
424
489
324
973
685
532
713
523
185
454
818
979
495
515
578
22
332
404
262
760
874
790
473
340
232
89
968
10
211
641
930
462
132
481
962
373
408
344
381
92
526
359
383
289
293
126
234
246
500
534
951
164
672
698
855
494
180
891
975
847
792
163
527
473
711
671
600
644
224
344
728
536
373
676
261
373
455
843
305
642
762
315
537
187
681
369
380
854
158
668
873
149
603
149
61
62
483
2
874
817
216
459
305
794
501
400
122
307
878
592
500
215
135
445
733
578
174
796
603
700
67
120
104
934
344
996
928
572
998
365
564
976
293
349
890
889
232
948
869
492
459
923
319
372
448
597
777
20
46
64
142
855
847
551
128
84
408
244
553
858
20
964
163
327
590
441
961
159
230
839
19
42
299
355
338
463
961
416
623
824
832
10
767
543
903
181
424
354
719
538
298
462
768
945
695
524
109
204
419
739
561
636
331
421
163
964
746
574
223
765
382
884
978
118
754
493
783
710
752
642
811
844
626
27
405
265
783
249
620
676
564
291
985
126
687
335
187
222
133
573
195
226
18
874
360
676
482
296
103
120
649
493
162
915
510
969
776
815
965
31
800
246
315
989
518
753
223
863
837
93
520
405
608
842
285
698
58
181
282
15
723
741
191
868
778
9
93
397
402
791
261
327
634
681
689
746
224
307
704
851
119
370
651
632
578
118
925
194
374
987
533
36
178
556
996
157
26
852
604
277
712
317
993
840
60
403
520
699
275
858
161
545
30
265
528
231
472
264
104
79
103
216
17
178
351
764
475
436
715
854
513
855
539
317
850
103
859
17
433
938
247
935
766
482
274
254
194
635
22
697
113
154
51
904
512
48
400
589
342
984
431
578
948
325
854
635
205
296
808
93
69
488
675
969
964
624
217
164
775
29
686
785
301
751
813
409
640
648
936
335
368
45
120
452
351
749
759
411
684
328
70
189
561
544
853
970
850
751
92
516
759
892
269
843
276
433
783
62
972
233
450
704
383
843
920
736
392
223
724
701
984
157
842
135
252
945
888
466
803
93
462
114
538
792
781
386
339
948
433
70
370
412
989
346
532
839
244
738
131
299
78
348
937
368
251
556
672
912
998
686
363
221
925
888
190
432
553
617
184
425
832
672
588
513
82
679
783
247
115
283
424
651
747
105
833
996
497
654
763
28
67
997
362
186
72
982
519
939
602
181
835
825
411
541
122
180
917
937
678
800
746
421
593
998
242
9
980
605
251
235
350
467
446
583
304
903
697
99
338
413
245
161
842
644
990
436
307
239
771
490
339
755
373
403
327
268
903
998
527
610
298
987
864
479
5
387
994
789
252
87
6
719
965
322
720
860
47
106
666
795
682
398
724
164
344
886
852
22
382
790
531
852
437
10
320
116
432
287
417
656
560
782
215
528
522
611
645
134
235
443
510
596
378
219
130
380
443
409
335
119
388
999
271
425
621
591
536
222
789
540
873
841
765
102
26
617
317
904
393
262
156
889
782
636
454
76
950
822
480
100
550
637
671
510
819
750
356
235
608
655
311
458
349
600
548
381
154
407
11
2
535
872
381
84
163
10
799
959
677
992
120
650
788
40
266
101
855
901
344
944
635
776
460
350
156
742
582
967
503
761
385
876
877
377
721
771
415
25
271
286
158
729
969
522
17
600
980
314
736
180
384
743
693
176
222
699
804
518
238
55
958
27
456
169
157
174
744
951
980
553
626
717
100
730
905
419
292
63
130
578
812
942
509
460
54
658
666
603
135
759
546
787
414
330
839
941
979
94
551
285
831
637
692
209
823
308
660
4
421
570
535
580
994
669
389
751
665
470
739
457
701
264
400
585
65
118
366
662
15
104
790
748
570
351
799
328
269
405
657
858
871
826
753
890
573
298
973
385
871
787
321
886
395
436
20
746
942
955
945
467
440
253
934
532
776
901
454
806
254
857
89
702
931
516
571
828
283
794
384
765
384
439
527
933
331
170
658
281
696
567
676
645
628
877
795
198
604
988
267
354
969
905
254
861
125
976
746
592
622
975
66
712
512
896
257
492
971
992
552
7
638
132
219
391
95
47
298
82
631
408
130
719
745
957
137
980
869
115
991
623
422
589
181
490
631
498
1
991
511
448
143
888
19
827
403
804
688
269
500
944
961
914
641
995
48
603
245
988
386
577
218
236
657
638
250
84
905
934
886
327
503
737
524
624
573
622
91
127
31
434
863
879
566
319
784
180
738
875
686
316
866
167
22
482
521
953
53
731
267
980
982
55
741
603
153
493
298
322
298
255
214
19
770
461
891
852
852
991
576
763
507
363
876
515
426
280
740
20
771
696
636
473
851
816
391
471
810
442
496
863
551
471
739
538
300
152
699
768
626
917
974
974
274
210
23
997
867
782
137
54
385
304
391
547
351
26
364
834
805
428
55
853
508
450
709
239
247
956
170
201
804
532
4
947
905
587
861
905
436
997
456
325
319
211
102
114
685
808
954
893
436
8
990
370
815
505
274
59
387
319
251
273
672
57
650
116
753
88
60
862
368
664
425
735
335
939
494
593
707
180
714
441
696
181
224
4
229
82
317
818
5
283
254
446
35
163
316
420
942
638
808
496
779
373
73
639
680
654
675
895
468
484
586
6
232
477
627
148
974
509
407
676
662
891
704
136
394
38
578
69
945
209
478
356
657
940
300
923
483
191
613
651
23
78
281
234
553
299
304
548
362
991
979
829
214
839
438
562
370
689
189
556
422
783
539
81
103
23
692
330
397
331
852
696
480
264
910
528
489
515
127
93
654
861
786
459
84
382
954
857
384
510
337
917
298
572
714
819
815
1000
589
33
496
337
492
800
302
475
862
936
897
296
523
858
172
72
587
935
785
480
9
421
579
84
145
246
101
481
394
898
834
88
405
462
422
725
412
646
860
709
935
289
618
208
511
400
670
948
90
266
686
212
469
531
4
246
433
458
540
823
296
741
527
718
191
375
778
294
738
68
234
217
717
590
691
555
986
304
941
179
145
796
36
420
406
196
32
393
713
301
344
288
378
39
831
151
456
192
776
407
574
526
263
433
214
648
803
968
259
971
686
70
184
158
233
617
448
263
44
43
454
619
340
158
999
168
738
357
231
560
129
516
971
843
850
159
730
968
4
243
837
668
625
35
920
473
344
139
375
773
354
644
579
864
787
770
327
858
39
133
389
185
202
942
153
181
512
4
999
890
658
437
466
818
866
347
279
800
877
550
971
569
381
633
226
859
959
233
3
112
310
477
214
906
402
904
989
276
181
63
561
974
660
207
413
545
513
133
602
837
800
293
122
150
84
747
747
810
983
398
54
374
152
209
213
16
824
794
716
920
258
854
396
638
885
398
1000
470
535
624
82
871
813
594
161
782
632
584
968
572
912
68
48
951
679
841
189
844
154
711
917
690
913
505
802
50
902
888
398
753
878
647
458
976
867
616
473
850
333
409
692
156
67
466
514
678
261
705
552
575
802
235
737
929
637
184
524
259
928
676
655
384
832
378
959
467
937
861
338
464
810
214
453
497
617
953
592
840
509
319
894
327
309
453
366
981
43
786
136
587
40
224
986
734
640
334
492
596
39
826
32
320
432
31
520
465
410
989
955
341
517
12
802
476
986
245
755
670
921
869
670
265
630
47
309
344
368
625
88
508
502
904
175
804
984
489
156
125
58
356
963
118
350
797
924
232
811
807
593
31
536
835
493
324
115
554
30
968
16
446
594
433
491
537
331
346
598
622
120
254
271
614
78
818
784
489
291
463
576
428
529
293
182
366
442
727
891
143
79
871
882
826
615
145
772
621
855
31
930
934
420
102
438
828
521
710
294
82
879
769
280
523
649
110
981
112
202
761
548
532
200
370
180
629
705
656
739
157
991
451
584
701
322
402
461
523
189
857
295
368
431
813
778
908
195
40
940
620
933
673
321
360
481
629
897
793
811
168
680
159
225
816
792
538
603
637
837
910
810
535
631
809
521
888
670
329
542
282
246
522
154
561
803
23
144
704
917
835
965
274
299
801
877
307
337
204
55
550
991
342
359
901
312
662
876
747
456
242
422
651
825
970
869
504
899
764
581
833
376
593
227
408
485
825
956
682
735
663
242
908
864
38
715
914
506
346
937
680
922
838
393
813
137
316
951
957
38
17
639
986
282
226
876
543
337
193
254
137
656
392
501
513
736
44
577
500
777
71
680
834
794
325
568
769
232
53
770
388
628
994
155
652
377
460
854
145
427
989
697
406
605
943
204
468
318
451
621
975
574
701
685
792
625
452
586
579
51
995
70
162
765
532
747
889
253
82
455
371
329
575
943
124
846
752
253
686
83
859
911
711
971
887
450
396
947
294
837
351
976
714
104
680
192
174
844
615
714
694
273
518
382
992
231
428
580
199
844
654
844
95
564
58
656
429
960
825
666
271
934
467
634
224
11
768
504
521
976
153
391
703
390
726
717
612
479
818
372
913
467
446
595
178
658
509
169
904
504
916
703
435
436
69
948
912
447
315
610
814
310
22
608
572
819
925
521
48
633
258
829
338
163
986
586
533
393
123
396
536
743
744
893
995
825
786
438
730
461
159
438
779
433
987
492
319
197
39
565
299
266
539
523
540
26
562
662
459
505
192
301
319
27
443
132
93
726
719
774
623
633
225
895
717
393
345
344
256
728
433
966
157
424
879
171
265
961
584
844
846
923
157
920
388
962
285
767
836
385
670
576
216
445
914
74
846
979
478
246
996
376
615
215
864
730
786
60
251
687
601
162
135
684
785
599
642
227
1
248
573
387
626
469
748
916
739
711
890
265
637
931
693
304
184
444
7
728
157
726
786
995
563
735
543
92
578
485
615
645
359
19
421
634
487
379
259
482
213
895
919
389
996
894
541
568
35
944
680
483
641
878
517
246
332
110
519
128
449
263
600
493
990
665
48
567
51
93
20
124
990
25
443
591
938
755
524
64
802
943
880
430
243
575
513
136
447
842
467
115
640
145
20
78
460
307
698
639
243
51
223
748
246
18
751
504
603
879
409
712
564
619
167
472
179
657
571
689
135
324
708
626
888
112
47
548
598
249
468
41
598
408
909
815
324
766
502
681
680
235
995
904
794
373
560
330
985
415
775
523
573
875
700
645
846
399
480
962
71
872
841
672
991
327
161
222
615
848
565
391
454
512
610
196
558
353
699
139
870
523
311
348
405
70
497
981
751
239
864
607
205
780
461
366
619
535
531
432
703
483
111
646
95
482
856
249
965
218
239
299
327
213
520
723
497
326
470
926
345
850
860
566
68
194
162
366
233
126
726
852
745
740
953
497
208
617
611
22
869
164
511
574
986
703
212
60
959
730
274
168
42
672
871
535
787
601
245
42
619
609
548
464
115
996
139
559
620
951
270
213
817
191
421
439
723
869
223
881
400
126
58
950
347
862
912
888
130
647
10
871
331
213
72
704
287
647
788
807
432
196
249
953
252
627
605
678
12
179
226
322
444
447
936
484
525
27
731
999
326
282
530
659
667
436
83
595
975
59
187
605
304
102
723
750
958
896
832
234
536
863
791
885
493
299
700
611
521
217
184
806
143
158
682
13
909
850
762
123
523
783
127
997
7
79
631
678
768
536
657
309
44
347
693
447
740
792
790
712
130
164
856
629
212
271
425
65
796
149
618
869
537
10
496
241
213
54
922
819
508
477
324
710
451
920
472
512
428
622
501
867
410
769
930
239
605
861
328
445
263
454
675
887
778
278
118
595
537
587
47
960
199
554
920
449
202
672
243
720
368
410
461
270
359
845
313
172
655
554
348
510
414
863
906
837
295
431
847
354
837
238
710
530
506
282
780
590
875
660
757
595
698
278
335
889
829
102
7
300
36
757
857
809
764
254
914
362
820
829
906
133
752
180
867
798
442
874
135
352
36
344
707
556
898
685
798
374
696
389
731
646
85
306
925
812
709
334
874
721
395
804
476
411
499
62
968
310
315
512
23
451
348
257
290
169
49
511
751
223
278
184
793
453
381
362
843
885
266
945
709
663
269
366
541
306
915
122
457
583
927
871
434
705
927
935
19
653
351
390
781
189
6
330
209
500
564
553
904
509
53
613
531
564
33
165
973
621
755
556
520
50
28
883
721
878
947
95
775
635
882
289
884
943
342
27
82
671
417
373
431
757
514
349
322
804
6
697
881
126
230
128
79
249
14
763
248
782
497
56
125
153
610
346
425
987
947
70
218
769
187
824
55
16
411
703
873
394
872
762
193
91
807
38
41
268
876
277
294
623
691
423
876
913
659
951
357
811
102
339
999
589
160
317
245
960
546
65
961
859
572
173
502
79
246
30
797
436
405
263
210
601
17
9
888
792
821
79
687
306
375
538
510
230
491
811
82
778
747
216
790
370
438
713
157
977
903
765
965
265
634
403
817
759
952
14
130
597
316
873
190
427
541
184
902
665
272
213
293
642
101
130
675
118
582
342
601
284
265
426
390
643
548
240
66
81
810
450
994
63
806
475
376
101
749
846
24
558
863
22
524
434
430
26
973
948
534
657
964
647
749
590
388
276
25
452
932
839
855
818
851
115
659
115
705
390
946
636
287
330
464
223
872
718
28
672
271
238
127
601
904
645
746
337
249
382
44
370
578
196
656
39
861
368
462
436
54
903
540
944
793
481
943
437
663
965
638
932
819
31
639
416
696
831
913
619
976
631
128
750
749
50
691
622
34
883
780
84
431
455
321
435
699
151
906
311
478
25
688
570
214
408
179
858
573
11
716
868
290
339
52
794
432
135
205
100
540
173
172
536
944
978
632
278
848
941
30
168
433
855
768
305
337
127
323
648
320
783
227
867
870
910
786
419
754
369
316
701
265
458
455
186
13
685
785
644
634
980
630
899
708
484
363
108
534
496
3
186
110
327
168
860
857
528
698
778
142
454
374
277
626
169
211
679
839
478
734
442
127
244
491
112
323
246
838
754
54
507
646
504
598
434
202
916
595
99
7
30
718
721
563
479
625
702
556
487
116
610
987
308
445
118
940
524
168
247
663
628
732
213
557
478
263
798
478
546
631
446
477
362
959
234
761
187
163
426
149
753
3
600
783
842
378
220
168
608
282
94
898
773
924
360
565
283
994
547
426
566
962
746
375
259
597
133
645
184
596
932
456
364
332
385
505
104
254
465
813
491
380
863
927
193
691
264
902
104
936
37
801
210
532
230
664
24
774
238
48
82
548
546
262
289
82
742
352
345
68
381
778
95
631
326
433
405
233
946
346
92
578
878
976
498
979
118
456
548
445
894
565
502
968
77
433
162
87
942
256
3
851
679
311
535
688
426
636
240
575
507
607
570
93
228
484
843
631
816
715
331
30
68
408
499
440
826
932
114
8
662
54
938
290
71
327
764
964
996
770
894
501
759
964
497
932
325
818
924
754
356
203
754
317
705
515
237
745
837
79
856
546
148
902
923
604
333
985
470
162
737
816
233
739
108
154
169
662
278
470
795
49
91
680
597
619
319
908
920
667
407
62
11
907
627
950
384
664
628
511
219
55
440
484
341
395
678
510
183
58
94
223
250
401
633
359
812
174
844
292
964
54
837
704
700
520
963
256
387
366
68
278
852
509
458
443
325
637
697
347
642
445
975
702
437
871
51
601
540
799
735
921
427
128
437
472
372
1
576
956
880
250
537
124
131
767
433
805
364
632
124
602
612
284
846
162
724
949
309
870
386
793
314
697
687
44
784
743
887
371
595
685
179
378
754
936
631
974
268
853
11
726
527
718
831
21
144
535
813
46
959
927
935
91
368
529
362
702
222
314
853
520
275
246
710
450
591
465
893
957
348
24
749
883
217
785
671
170
857
721
102
246
87
286
528
668
2
941
494
802
622
166
205
922
655
524
998
180
642
412
809
250
19
143
785
369
626
929
338
657
804
135
300
297
499
912
276
191
733
927
974
156
383
474
38
604
470
661
904
915
39
743
279
378
307
899
110
685
935
943
338
412
176
502
293
865
170
171
335
922
839
58
216
249
691
875
692
358
314
473
117
511
521
273
96
381
894
583
795
750
957
184
179
208
322
893
259
26
932
29
426
874
962
835
86
47
17
977
85
211
47
117
892
451
750
484
99
593
341
62
546
340
264
701
333
752
780
31
27
14
419
504
604
210
950
303
79
56
880
121
294
136
461
11
40
221
878
605
565
672
562
17
502
770
571
631
442
27
571
825
697
219
255
368
278
900
963
900
745
633
847
397
389
23
187
5
164
927
365
936
855
876
546
422
292
829
360
832
775
882
728
167
501
435
504
92
486
624
816
566
364
544
787
904
519
890
858
797
153
174
48
421
311
593
333
274
333
962
766
772
940
872
86
980
920
355
354
51
409
923
578
101
878
775
381
262
238
352
521
603
920
181
456
477
397
118
237
577
382
711
703
666
838
351
319
503
43
319
66
970
146
604
424
771
61
590
872
379
96
336
295
78
388
157
377
65
103
684
318
571
339
392
243
865
872
810
221
847
189
311
162
630
735
393
733
162
952
845
71
458
465
47
287
481
733
922
678
20
581
737
108
216
299
35
251
492
408
471
249
776
763
206
870
812
419
838
431
288
527
539
613
265
628
182
748
97
872
781
372
622
46
465
582
920
852
566
259
332
477
124
304
762
378
266
815
501
171
464
599
949
628
632
462
637
109
399
488
904
200
643
931
421
921
580
383
525
637
243
601
968
739
222
768
272
212
892
962
334
463
174
314
335
139
102
665
250
253
30
534
496
586
395
861
318
232
340
299
535
141
339
789
169
688
220
793
314
629
612
808
304
285
904
749
885
415
252
356
625
67
48
45
245
603
522
512
883
252
832
979
597
753
77
143
526
109
162
833
231
37
337
826
703
418
523
527
389
956
271
14
398
294
284
468
726
24
984
150
934
400
500
913
237
66
816
675
344
791
530
433
747
8
854
153
331
953
994
311
349
333
45
965
825
754
889
956
383
560
331
273
363
380
922
654
835
425
485
214
776
479
329
265
257
639
573
538
939
61
766
661
585
369
217
137
553
921
57
20
449
846
81
176
207
587
838
291
861
735
265
789
212
83
426
413
374
164
524
531
935
17
440
126
88
561
493
66
625
759
981
451
115
685
340
775
978
742
428
173
357
508
528
257
917
142
148
910
721
826
605
926
327
465
661
597
131
761
203
151
748
803
76
470
948
534
672
665
236
792
844
880
664
165
18
185
916
524
116
522
976
981
79
453
932
942
278
903
621
99
115
158
803
496
446
148
562
244
226
447
413
59
985
454
407
589
286
978
138
388
341
787
167
473
321
722
819
649
746
662
708
162
487
976
609
767
591
64
532
50
101
288
892
627
523
863
727
929
378
258
795
393
559
302
212
237
814
413
13
470
778
378
642
421
383
620
935
868
383
212
570
809
977
743
326
996
188
732
758
647
765
499
28
154
828
253
720
175
398
722
442
243
251
789
877
906
228
488
764
454
276
170
939
491
977
818
220
972
290
314
365
823
530
899
789
950
365
209
26
260
765
47
141
279
354
467
432
134
621
866
802
917
772
506
124
917
799
293
753
816
503
713
119
705
801
516
981
684
638
152
493
907
207
939
702
135
998
667
490
286
392
678
246
972
139
438
749
747
80
286
850
636
886
358
532
512
438
648
846
88
706
768
50
583
614
286
969
634
466
424
262
633
914
500
792
484
377
751
748
724
24
67
515
37
169
728
539
487
966
457
602
183
810
977
991
675
720
762
994
135
314
903
88
213
661
805
901
557
430
952
784
156
268
135
399
10
276
323
227
195
761
857
331
987
218
726
13
602
600
514
236
52
530
997
799
756
17
475
310
864
656
683
915
662
11
524
628
87
106
892
818
78
481
636
114
473
306
20
516
178
417
110
7
627
931
177
317
867
337
552
795
228
541
386
517
158
382
379
878
725
562
900
901
255
754
841
425
776
911
212
144
231
420
726
178
948
821
586
515
443
256
246
184
460
665
207
451
97
61
771
702
962
824
259
910
576
112
407
763
651
911
535
579
461
190
592
126
225
894
395
324
359
248
186
618
439
919
163
480
956
153
761
101
305
884
296
861
919
174
37
541
185
73
892
585
558
137
681
935
301
384
394
88
389
437
929
68
444
967
552
942
981
312
722
353
881
322
979
329
748
83
328
225
747
142
889
301
569
250
656
845
432
470
848
172
385
655
712
93
741
968
612
665
170
110
903
88
828
332
391
680
911
189
157
721
203
178
125
788
504
90
60
955
302
933
590
815
703
752
458
855
410
535
433
140
515
657
249
609
943
2
453
556
691
983
308
13
373
154
723
820
209
38
755
169
296
52
371
241
880
158
29
380
435
957
119
935
491
481
467
472
579
845
897
601
112
282
349
48
735
789
119
929
475
793
621
402
17
764
460
12
562
688
735
75
30
661
200
370
796
641
343
311
784
572
491
447
484
665
769
881
387
647
101
699
403
122
493
22
61
64
491
637
678
604
85
483
229
927
289
430
340
106
310
909
706
123
511
942
212
157
350
52
255
468
90
310
21
849
357
559
36
659
565
426
870
926
795
305
713
858
999
937
483
372
267
526
230
949
466
636
844
162
802
234
546
770
676
332
143
111
790
651
831
871
592
597
166
990
38
656
895
592
100
970
526
338
642
477
879
532
72
506
373
649
641
112
465
681
411
768
491
850
653
241
138
790
898
635
911
256
955
580
256
772
929
530
447
426
714
950
956
172
473
943
787
586
320
529
163
32
838
349
50
560
33
34
222
681
67
894
941
371
406
811
924
255
56
463
895
953
179
88
943
8
718
982
875
625
607
868
951
701
779
77
691
286
438
192
940
630
42
459
9
477
976
789
508
85
192
628
428
753
964
312
143
303
482
781
277
36
218
689
760
201
873
21
29
871
235
287
16
454
474
247
465
768
229
920
183
704
351
314
997
52
301
895
578
966
42
356
783
893
692
621
840
521
360
360
539
452
345
500
556
852
320
366
180
304
214
90
19
421
258
910
692
584
37
787
133
335
497
560
889
506
526
498
729
217
120
673
924
206
188
70
823
808
692
722
723
69
221
427
569
125
16
825
730
971
208
692
951
204
248
316
596
109
552
746
453
754
956
489
721
352
868
997
254
245
957
875
791
279
781
314
700
253
13
657
691
337
852
393
83
99
713
97
462
791
568
20
988
94
129
80
176
391
622
990
733
925
82
144
879
943
927
651
672
5
84
609
8
187
77
326
376
811
308
657
906
682
217
93
965
541
151
499
348
609
512
668
110
610
236
966
216
671
696
368
478
809
922
161
711
523
382
405
625
170
667
17
755
389
117
995
631
829
813
881
480
819
363
12
974
456
636
500
932
738
883
190
422
40
740
989
409
221
219
101
966
74
117
688
53
679
242
396
57
461
475
985
610
365
959
59
668
675
649
483
492
387
47
645
953
981
180
131
535
651
812
760
521
770
400
163
105
415
551
250
593
305
605
985
438
361
485
861
567
429
139
342
370
393
766
332
751
41
478
408
834
549
230
185
294
380
649
639
783
736
866
678
579
430
558
517
437
195
216
678
592
994
62
544
976
873
142
429
55
224
871
96
98
138
694
457
318
679
611
3
80
499
8
106
300
201
618
971
220
270
466
432
984
154
321
203
831
343
556
459
250
839
261
837
164
503
154
15
48
127
117
64
905
957
168
656
198
616
283
38
151
6
773
407
324
860
861
941
998
28
671
301
697
470
125
816
142
210
101
973
7
140
812
33
140
699
546
781
327
897
799
501
214
85
349
195
803
131
17
992
754
423
690
453
820
192
675
176
915
182
636
705
683
628
123
253
942
828
223
152
61
336
947
280
123
948
764
904
742
206
116
556
521
102
856
545
436
32
272
686
872
814
788
661
674
763
487
184
291
402
297
799
55
379
82
724
688
543
895
599
363
952
322
408
40
777
215
101
336
692
83
664
897
355
79
451
83
17
821
632
793
116
258
495
448
970
415
159
430
320
117
11
812
513
736
756
797
609
612
555
123
507
998
142
613
520
345
161
163
433
247
232
737
235
622
395
326
144
551
679
444
480
741
481
425
215
746
343
704
764
952
506
293
669
786
286
865
369
799
937
215
157
66
176
388
781
807
926
428
863
276
191
513
472
713
162
250
718
622
808
20
227
700
241
567
686
506
67
466
427
353
804
728
215
983
198
545
966
268
921
103
112
590
708
474
739
552
470
821
421
370
289
535
861
643
488
474
102
173
176
180
55
182
743
783
544
578
806
341
879
871
10
518
233
999
893
830
716
543
784
173
116
825
281
987
712
886
435
185
459
665
198
966
74
543
18
690
265
29
761
294
417
528
254
118
525
43
855
615
77
182
397
118
888
5
743
749
574
115
991
596
518
884
26
463
634
841
749
889
215
91
807
610
471
71
36
334
76
91
190
512
232
865
711
759
271
704
454
749
796
96
298
660
721
171
532
734
340
949
738
93
727
313
657
734
362
390
199
539
859
368
278
210
72
830
696
268
651
346
617
648
341
432
494
972
906
963
489
252
622
772
543
685
653
516
223
151
524
805
429
255
72
251
823
24
969
355
582
899
920
79
721
271
98
570
726
599
278
704
735
139
356
66
806
361
649
514
93
441
440
700
899
616
727
796
651
757
24
193
816
267
375
128
640
276
439
53
411
166
617
12
592
658
738
508
826
30
695
91
270
577
825
403
151
71
494
530
752
816
559
269
254
859
879
391
998
87
30
24
753
187
753
82
540
950
406
8
384
955
883
220
147
477
60
315
239
345
787
484
574
572
869
623
621
813
255
286
766
70
890
985
501
649
274
352
132
22
810
280
820
149
436
542
742
809
879
288
111
645
111
482
566
982
217
599
203
932
949
853
128
958
702
800
964
845
496
414
164
991
838
659
355
26
993
83
177
41
303
259
253
120
648
673
976
443
80
288
802
958
925
104
580
526
369
946
274
456
677
176
93
569
682
167
671
287
136
236
413
740
822
126
569
568
97
323
888
915
650
224
934
93
824
614
290
524
829
26
896
885
484
266
707
804
967
834
731
75
164
976
227
128
833
880
528
392
772
845
523
283
575
322
280
767
365
379
705
846
108
514
395
839
708
705
44
67
117
260
859
364
128
340
447
882
323
986
544
812
935
89
779
966
962
72
386
661
996
907
403
964
637
771
444
165
232
807
560
297
983
435
62
608
103
148
433
186
803
8
616
321
390
878
25
790
621
983
613
976
804
572
206
599
804
288
93
929
241
348
549
483
708
809
604
635
721
976
805
32
494
495
218
392
324
790
146
96
562
272
337
951
662
210
532
652
769
201
272
751
696
971
812
407
855
604
835
791
948
381
429
771
758
108
433
437
397
201
838
105
744
812
402
642
632
968
1
377
523
41
565
387
44
853
574
635
778
387
266
341
110
375
647
918
790
997
345
16
85
565
150
534
70
315
814
931
626
402
296
812
193
738
214
564
185
611
656
752
241
883
890
108
176
147
755
202
543
437
671
294
266
953
278
461
634
786
697
806
301
828
262
451
609
879
386
62
688
467
891
855
294
44
762
373
280
37
741
866
922
704
655
748
68
841
610
436
221
206
493
877
215
917
272
174
105
211
683
46
258
657
795
289
391
366
819
16
506
762
261
221
211
204
200
126
952
140
19
847
49
477
406
146
232
548
824
423
587
396
908
650
450
91
485
640
767
460
961
918
912
887
872
447
761
856
261
656
59
489
408
536
773
619
111
32
173
903
404
630
837
16
76
809
638
270
848
970
54
862
373
601
808
547
513
645
925
720
478
504
797
786
503
660
724
206
697
635
723
817
590
892
75
830
676
345
226
437
960
311
160
106
100
126
289
426
240
138
242
878
67
478
683
978
899
808
413
62
871
261
579
377
407
895
765
274
183
295
117
1000
756
399
385
41
872
236
7
977
202
25
870
560
955
992
436
94
349
363
275
200
407
192
856
769
938
98
682
220
824
499
428
183
948
667
797
398
182
757
204
895
876
979
272
532
171
269
315
534
314
117
665
21
846
707
742
380
175
155
213
980
588
430
458
943
191
485
851
603
608
237
990
844
548
302
153
716
480
803
709
601
753
138
108
748
447
348
400
142
128
590
921
561
490
279
899
129
510
645
264
852
390
844
867
426
42
226
639
77
273
63
981
293
169
879
792
126
386
447
119
135
184
730
357
169
82
284
307
894
959
103
136
422
253
515
512
410
706
462
715
752
705
456
558
334
901
547
321
358
209
891
720
433
708
874
114
963
218
318
813
356
547
970
322
242
486
346
806
200
639
8
911
426
81
528
269
462
668
715
706
302
527
148
209
204
903
727
139
64
64
721
94
507
405
748
51
710
263
240
106
562
175
193
233
966
496
431
939
966
368
187
617
913
973
532
681
56
918
72
294
804
363
379
584
378
204
820
804
758
222
804
780
600
613
986
351
298
719
621
231
470
113
110
874
930
394
726
470
640
198
698
164
236
947
62
943
448
825
189
434
172
287
490
982
974
201
541
29
540
335
826
730
972
531
342
201
826
310
554
557
496
97
579
117
886
500
3
772
303
277
472
533
158
746
998
681
375
362
6
816
377
130
246
293
128
306
64
220
996
608
998
219
150
734
295
613
760
569
736
578
553
867
130
62
160
572
912
940
254
184
568
974
699
728
15
632
787
972
645
697
199
493
473
936
467
94
717
764
596
830
173
989
986
618
967
217
926
4
604
441
788
142
759
668
470
483
908
159
782
958
754
39
254
692
342
540
244
391
926
145
372
596
941
225
985
939
862
555
829
367
375
270
110
87
5
396
867
612
299
78
961
884
730
44
977
900
692
624
66
668
396
851
58
585
963
806
185
543
762
362
431
152
850
939
777
472
430
678
658
583
371
719
475
98
189
895
378
481
351
190
397
660
414
808
622
928
294
524
388
617
921
281
299
335
628
667
500
838
909
985
826
758
570
139
314
477
892
409
103
420
158
555
934
895
763
332
288
434
201
657
721
238
388
178
77
958
172
907
110
541
365
931
457
272
316
953
95
470
862
533
123
522
488
505
202
55
648
939
35
105
495
433
46
47
745
266
802
952
957
126
789
739
324
701
865
181
959
431
94
388
741
91
679
861
18
696
406
579
866
405
357
893
119
748
628
163
102
481
468
212
867
835
539
617
717
738
973
839
992
837
538
951
411
782
475
484
748
308
528
521
244
75
263
716
977
132
36
356
330
96
847
921
839
860
908
873
930
678
944
544
500
20
135
82
855
427
118
357
274
950
673
655
305
422
538
724
16
962
315
462
551
603
556
128
757
879
961
447
108
534
58
423
876
254
863
948
274
465
812
565
307
812
673
833
201
858
243
803
563
932
387
55
883
826
371
570
600
196
508
506
705
132
846
567
778
329
7
260
445
699
301
769
442
68
932
592
888
792
472
348
906
765
721
365
422
298
801
752
837
768
572
670
285
792
466
423
332
893
445
810
344
299
58
897
183
531
526
8
554
941
355
267
126
181
236
447
484
883
897
266
71
487
116
499
576
266
335
429
594
43
181
269
3
40
733
99
207
552
550
806
292
888
315
250
183
113
468
599
97
646
327
371
937
707
19
219
772
922
8
903
258
163
134
230
627
808
841
949
891
180
718
712
32
893
573
276
243
170
981
31
737
978
690
816
244
19
294
709
82
177
309
178
614
19
175
502
961
340
704
890
78
559
213
62
714
953
901
381
270
357
22
788
318
963
81
915
374
285
565
729
533
184
711
994
754
94
411
654
897
225
646
940
100
586
781
660
716
109
628
668
850
37
441
913
430
6
912
875
926
912
790
400
23
763
963
133
31
185
721
809
348
151
436
636
46
812
86
882
531
8
896
570
280
151
846
867
833
702
981
366
611
383
236
941
622
590
974
308
768
242
544
688
353
400
977
239
285
595
304
30
693
712
161
362
899
678
13
204
189
958
783
351
400
32
701
644
122
628
938
297
216
455
914
902
447
597
249
184
238
505
971
947
955
756
952
925
671
356
555
483
58
365
82
161
915
77
986
112
842
812
720
337
759
601
745
499
273
706
506
777
391
974
86
864
713
461
876
760
16
647
824
437
134
821
729
816
79
893
624
733
678
987
480
756
377
630
369
758
448
277
711
147
576
204
456
512
686
489
868
245
899
950
78
400
734
403
726
605
8
546
846
419
404
88
558
864
350
506
323
230
674
944
235
448
483
319
297
475
843
658
703
156
156
69
889
964
538
490
547
906
160
567
813
581
224
577
599
90
217
302
381
33
107
172
795
304
433
763
81
802
576
995
743
421
81
929
808
910
579
130
701
268
727
980
83
365
576
127
936
369
985
538
844
397
967
251
650
516
402
962
633
856
129
53
948
140
257
540
270
367
481
670
555
730
283
586
339
130
182
557
220
778
586
769
76
459
403
550
38
7
287
221
486
426
277
464
130
844
643
217
761
237
947
622
396
399
678
483
358
185
348
16
299
430
585
431
288
302
610
6
876
26
427
879
471
82
247
752
455
7
902
40
227
862
504
787
752
277
186
851
241
761
519
418
345
604
140
930
574
256
190
876
696
593
378
713
572
779
902
392
199
812
985
573
735
943
485
627
957
330
897
979
880
254
79
128
241
136
206
982
199
436
769
734
838
204
926
591
24
720
160
120
755
161
968
830
381
708
273
888
971
820
364
539
686
695
404
891
203
60
998
202
136
539
858
715
897
781
365
375
657
452
679
492
887
937
129
493
459
333
787
471
445
878
499
121
561
492
162
25
667
490
694
951
849
886
972
16
411
869
13
75
500
233
777
691
232
520
287
370
863
610
225
553
39
327
719
7
124
402
866
848
413
761
396
419
331
718
987
639
803
88
984
252
628
632
611
594
57
548
381
120
757
865
51
962
990
760
340
199
179
770
676
368
947
816
338
972
390
740
764
391
579
833
207
670
259
389
605
73
268
928
304
214
476
128
233
796
929
861
224
699
444
6
447
213
133
842
343
739
183
913
3
132
762
226
699
201
103
516
126
559
655
101
985
150
699
552
736
299
949
988
672
38
523
318
39
820
70
162
532
456
8
498
366
268
593
314
85
979
964
662
410
851
409
554
726
923
848
81
257
978
921
990
573
53
130
694
860
865
223
369
281
555
333
352
835
501
466
518
365
801
583
711
739
176
864
583
780
736
760
371
218
979
62
287
797
915
562
129
673
953
804
713
430
502
86
470
330
826
126
336
940
780
743
645
869
499
515
303
186
969
589
956
3
707
753
193
841
407
420
116
645
547
398
743
738
395
192
782
571
777
106
294
878
254
611
644
706
78
261
918
854
395
975
669
447
698
607
492
725
455
589
366
651
156
848
191
596
797
355
192
193
924
427
141
436
931
343
450
230
281
920
222
894
643
448
311
577
745
783
264
138
903
457
799
825
768
383
110
983
833
99
875
113
621
531
305
834
298
926
966
679
640
975
375
204
917
96
568
600
264
558
959
831
545
388
769
360
538
994
265
671
527
51
822
138
4
481
589
268
273
285
119
966
162
586
904
297
959
469
183
143
920
140
722
267
398
450
549
563
717
72
764
686
394
478
632
837
236
399
126
188
108
622
960
364
890
840
973
389
267
747
372
741
497
739
970
510
237
383
61
153
839
278
953
18
280
73
557
647
4
162
572
813
542
23
26
430
710
259
894
731
560
146
494
579
24
883
215
378
366
828
857
816
159
682
552
573
457
991
793
245
268
340
562
905
204
300
945
179
413
554
888
189
494
582
972
476
141
985
140
834
654
797
352
6
332
137
36
387
957
137
29
156
256
392
411
788
270
97
289
514
4
629
99
81
628
582
459
132
726
158
925
629
806
397
305
996
351
911
283
81
168
698
237
623
714
106
58
619
359
230
685
904
260
836
858
258
638
441
257
609
765
289
822
205
897
807
550
179
730
568
455
568
672
934
719
715
398
295
271
909
694
292
169
306
541
481
193
437
786
641
988
76
474
351
977
835
147
496
976
621
941
95
137
14
338
211
397
698
827
733
97
291
501
500
794
345
851
577
591
784
632
504
512
797
672
971
513
19
952
703
763
863
95
283
724
44
662
287
359
642
277
355
561
544
662
794
483
740
143
853
17
747
5
108
97
368
404
248
844
131
158
154
857
973
878
360
62
201
357
850
656
293
26
692
617
861
623
181
141
983
883
4
170
141
214
449
833
210
808
822
262
313
593
41
707
846
739
864
332
654
195
303
340
180
857
571
345
370
540
343
6
261
858
197
997
477
514
846
310
303
244
188
752
624
847
243
244
757
318
782
190
153
95
801
763
984
798
49
407
906
688
475
259
638
235
828
458
549
827
609
528
182
662
267
75
429
294
801
112
163
137
921
153
242
470
535
118
151
125
613
743
31
114
394
878
475
873
526
539
265
701
947
70
170
223
222
89
50
376
640
151
754
530
543
238
715
810
271
233
756
605
618
523
301
536
877
748
116
878
408
509
729
532
128
522
871
175
523
323
662
128
544
128
754
828
246
850
321
530
134
618
616
997
980
343
791
502
270
12
807
416
580
441
578
23
892
140
910
973
267
808
434
960
379
716
476
799
87
916
727
55
645
756
659
794
120
684
865
789
328
684
876
774
900
968
559
908
114
769
917
650
747
145
927
681
565
731
121
323
971
280
722
165
7
646
530
224
155
603
194
57
319
499
158
665
976
299
368
911
709
13
772
441
265
836
741
779
806
607
829
337
274
332
677
583
641
600
464
497
340
688
28
756
371
23
675
792
421
481
730
964
800
653
91
652
202
856
406
951
54
132
983
12
726
903
254
818
973
287
395
299
761
258
718
274
71
12
560
652
364
912
730
674
125
317
968
788
335
480
533
879
740
426
759
190
539
399
360
254
468
24
322
542
279
811
481
344
312
11
234
603
198
102
401
39
699
397
959
919
406
355
206
259
246
178
932
68
790
189
359
491
919
320
921
361
718
727
430
696
394
218
833
169
588
689
553
411
725
221
330
304
934
831
630
82
627
119
920
136
48
243
531
940
980
675
415
360
314
217
834
960
371
585
887
598
727
697
859
714
756
469
535
265
290
529
21
155
585
763
92
356
253
19
772
655
956
618
680
106
399
522
645
821
650
178
243
677
839
54
184
910
107
843
966
306
9
172
760
890
694
379
319
602
851
604
563
434
835
3
617
885
353
364
270
418
839
783
243
785
933
350
172
715
511
986
935
489
359
658
782
322
873
232
773
339
169
97
170
151
576
555
761
689
787
647
583
5
848
758
152
208
810
854
78
561
38
652
917
50
158
385
222
393
109
55
981
562
45
249
106
353
648
661
148
468
991
407
205
847
237
148
836
698
319
772
848
819
250
124
38
278
841
826
314
481
431
787
127
979
711
352
836
98
810
416
428
629
627
12
20
375
809
33
685
278
857
765
456
258
614
880
813
633
779
355
533
175
135
554
600
447
921
374
737
46
151
915
231
779
668
611
945
594
469
138
790
307
128
705
487
764
164
519
138
118
847
323
995
305
254
897
803
653
332
348
307
802
378
799
777
722
591
835
950
729
313
691
373
785
148
696
964
306
410
924
528
904
237
379
95
219
286
254
198
52
130
10
621
502
347
48
747
712
822
748
334
134
982
527
464
918
498
328
440
150
503
681
604
196
528
51
411
314
165
697
609
50
917
687
40
659
853
24
391
941
425
47
238
443
259
445
822
922
828
197
324
328
641
753
837
364
7
568
843
813
485
904
779
439
832
433
168
251
665
767
895
294
47
512
421
975
918
815
119
85
616
665
468
349
735
392
532
307
231
934
12
792
975
400
162
82
940
418
60
62
812
538
995
343
110
705
277
382
823
435
360
78
168
869
996
171
316
315
73
80
844
258
904
459
220
33
986
847
855
565
683
275
119
611
842
592
251
921
109
561
274
634
567
512
877
989
392
410
700
117
406
762
651
322
767
684
636
704
547
790
622
440
620
310
994
321
115
978
18
389
646
800
611
635
698
750
724
760
828
812
396
945
783
584
927
414
255
776
697
355
761
594
850
385
30
914
463
354
385
615
809
721
814
185
56
153
830
962
38
232
753
965
769
411
750
293
993
397
824
511
401
194
972
249
87
912
857
508
457
293
732
794
67
615
761
251
817
259
584
442
495
783
720
265
949
766
384
783
25
37
378
410
1
178
995
988
451
333
285
769
347
413
605
226
721
799
121
888
434
482
798
161
377
386
471
135
995
319
786
959
127
578
162
268
974
749
426
473
514
655
447
480
732
721
939
542
880
239
539
492
379
168
460
580
75
115
272
487
305
102
817
866
645
568
913
934
249
808
187
228
427
715
388
612
474
255
521
41
770
583
439
370
903
85
881
707
845
914
493
439
276
792
91
54
740
931
249
337
674
952
334
325
302
564
264
672
983
623
599
685
936
864
47
392
136
279
121
409
813
605
445
282
216
879
210
206
196
297
320
763
748
953
103
317
840
111
807
289
755
801
751
344
674
451
660
894
435
180
668
973
229
154
459
695
506
84
254
9
498
573
700
387
586
491
215
422
215
8
31
57
158
176
997
300
732
245
165
835
982
963
365
908
969
181
220
210
9
32
524
273
140
769
532
51
149
135
427
961
200
784
190
627
467
836
164
986
245
136
812
195
636
147
584
15
299
725
350
931
733
165
528
305
198
76
929
288
717
572
334
39
548
240
984
46
151
121
501
989
935
696
234
631
25
460
655
689
868
255
245
495
742
915
220
533
148
188
612
605
608
92
421
480
623
79
20
345
408
411
540
293
546
134
716
381
904
937
544
480
973
933
150
291
316
122
491
373
928
878
810
9
156
317
364
16
279
802
519
387
954
172
215
781
542
495
720
416
742
282
774
906
57
129
501
925
363
703
906
358
260
825
406
787
934
185
581
713
988
837
274
952
54
251
223
976
45
109
647
845
583
473
609
509
469
181
500
936
81
569
699
504
218
687
330
530
227
177
37
666
224
933
858
79
813
418
638
43
31
293
866
565
134
617
477
165
463
406
953
763
866
799
2
934
40
425
206
419
756
805
292
924
90
796
80
658
712
162
778
32
772
300
981
168
121
60
647
645
460
368
352
959
476
53
344
752
201
884
248
746
648
335
805
681
197
973
696
272
390
732
316
380
524
518
351
93
884
740
155
423
547
388
207
655
442
243
386
162
729
612
401
696
668
778
484
707
798
998
367
284
683
436
648
654
476
925
861
27
226
793
982
738
235
304
630
281
728
456
911
844
770
936
746
374
684
113
491
36
163
770
865
179
912
179
503
548
937
783
943
563
513
413
483
901
462
489
167
529
642
115
62
571
406
293
135
84
396
774
290
896
212
198
531
158
413
260
811
135
782
592
845
99
21
956
58
854
850
109
883
567
1000
407
832
85
727
797
92
857
305
378
950
898
394
86
985
975
331
417
815
356
141
290
156
994
536
298
83
985
208
639
692
508
531
944
805
217
141
70
961
231
944
709
699
468
818
268
82
31
649
118
435
775
345
700
570
969
201
437
86
179
288
623
942
125
547
686
143
261
948
316
293
275
343
948
724
530
631
3
122
711
480
107
885
572
114
236
910
763
618
358
175
135
788
689
248
815
843
110
826
594
153
642
502
872
759
155
219
448
647
605
305
979
598
199
533
789
6
847
400
35
190
129
711
923
612
811
576
817
870
628
141
551
534
642
750
245
647
1
695
200
231
333
445
215
229
321
21
832
102
223
182
517
729
266
239
793
367
820
571
676
137
256
423
541
963
211
102
737
883
746
524
820
425
533
918
308
82
806
622
211
952
240
90
417
297
336
660
234
125
169
148
961
877
533
40
428
969
632
915
834
239
476
746
82
330
18
882
999
641
941
862
543
769
662
666
73
306
812
664
284
424
946
318
229
956
690
639
144
556
891
487
453
107
580
117
430
736
714
723
466
695
758
378
798
869
94
436
859
870
182
400
93
524
133
275
242
34
69
627
568
274
259
950
460
472
484
414
168
999
541
775
169
129
75
36
794
362
177
427
331
400
305
410
727
912
123
725
431
979
792
918
645
533
112
418
456
133
631
984
892
176
554
266
940
958
798
293
944
98
45
937
639
455
16
799
232
56
480
476
615
524
681
918
757
169
11
380
800
184
712
548
174
398
329
537
325
611
455
812
256
857
16
558
173
839
985
664
940
411
954
264
962
182
423
763
349
266
26
348
892
727
151
251
497
506
604
492
171
474
1000
328
578
793
552
446
473
952
818
774
31
675
740
838
211
404
995
814
795
221
307
749
697
856
831
965
440
930
163
310
472
667
848
759
95
124
452
838
376
385
422
491
343
289
994
296
132
992
327
390
527
61
916
77
526
874
79
840
114
815
974
402
456
89
176
574
75
77
306
829
423
771
605
954
430
199
597
664
246
759
226
759
402
9
896
280
64
769
898
105
844
404
580
618
927
696
460
403
870
79
194
385
513
883
932
498
872
853
161
732
787
442
540
382
327
305
600
413
648
937
445
122
104
668
733
707
855
43
278
905
160
198
635
620
802
985
837
336
833
463
300
135
923
860
582
395
128
271
264
528
794
157
768
688
702
185
283
25
219
69
344
880
450
839
790
314
862
427
974
483
874
507
136
687
217
329
795
353
675
630
836
822
979
812
780
581
217
270
317
489
97
131
809
635
816
684
909
681
79
493
825
935
12
481
67
964
345
319
673
218
254
70
45
35
664
365
496
370
679
354
544
791
3
291
803
597
908
884
35
394
312
506
560
95
25
910
774
135
60
369
930
597
186
65
733
90
578
82
515
461
507
617
937
851
486
854
228
177
189
501
949
852
790
169
138
448
19
596
489
50
413
246
916
234
702
942
423
992
240
6
746
401
693
863
614
529
961
151
802
885
438
205
376
702
269
170
665
491
229
130
506
567
210
356
291
746
66
195
151
973
745
179
396
429
234
654
984
579
809
580
354
693
495
209
431
611
437
24
3
906
86
641
942
139
738
406
941
615
942
56
538
888
785
118
195
279
820
690
126
861
710
884
367
653
256
468
320
283
562
179
624
990
524
803
750
646
721
314
144
428
22
313
113
859
932
535
884
229
767
433
435
795
240
697
774
757
925
116
292
732
401
358
718
330
538
91
986
477
545
372
996
360
894
373
894
172
164
316
940
407
203
996
502
72
708
322
998
51
506
165
837
802
349
163
549
730
993
285
314
865
716
657
74
921
166
582
208
422
646
740
563
338
499
265
258
612
248
772
250
5
553
439
139
937
845
919
58
388
690
224
778
467
581
688
358
942
837
794
767
907
754
955
905
749
957
284
360
770
160
54
71
121
167
773
772
202
24
776
726
324
667
812
804
201
292
343
397
813
921
187
997
277
357
699
550
621
744
881
823
796
501
705
125
799
241
454
653
554
620
58
676
54
764
274
474
326
20
16
732
974
317
327
607
425
344
278
247
488
75
551
919
540
926
580
245
453
960
910
244
361
122
857
28
519
431
657
28
774
425
31
562
654
931
491
421
638
403
786
893
991
650
584
303
415
777
886
726
875
546
658
997
175
174
886
513
259
787
588
636
738
368
300
664
859
49
232
447
987
47
579
761
680
335
447
408
600
425
470
870
846
255
490
58
749
229
578
318
846
931
279
405
500
878
237
561
613
960
195
206
975
896
3
985
62
100
409
81
501
862
352
776
4
625
922
217
310
454
430
204
553
501
782
642
517
370
918
943
446
826
187
307
433
202
358
288
910
204
429
469
458
542
515
391
957
974
880
108
79
882
607
855
284
482
490
369
750
107
492
333
136
806
492
271
666
630
134
967
806
624
278
159
703
467
940
796
648
144
648
657
43
816
788
486
754
267
898
85
254
920
841
9
693
425
439
605
846
283
475
121
951
747
922
565
568
534
890
755
966
500
56
785
972
480
263
701
910
969
603
776
5
168
495
171
603
201
222
131
660
986
905
135
210
300
153
564
944
124
450
510
615
180
926
357
692
928
287
598
612
975
560
184
983
960
787
361
314
513
961
557
202
805
306
410
418
534
467
386
987
939
307
820
224
584
760
383
605
190
672
127
558
761
590
313
511
619
272
129
980
724
29
307
125
837
135
345
930
662
197
750
78
98
793
258
715
131
688
466
459
681
639
695
462
947
130
193
830
394
379
957
443
554
609
589
30
229
902
568
424
541
887
254
30
476
167
755
915
248
655
504
371
851
919
22
477
611
242
897
939
432
330
425
479
700
519
729
114
460
894
419
951
609
929
9
546
293
154
395
419
621
867
642
93
90
97
250
877
843
865
800
672
989
298
628
284
712
277
739
65
868
145
680
239
64
436
532
927
958
726
454
709
693
482
467
537
880
212
295
981
563
321
91
37
897
816
851
215
110
416
145
210
432
662
555
241
306
377
877
31
157
144
700
511
406
552
463
541
202
609
458
330
571
70
538
794
282
443
480
775
762
55
64
908
795
900
906
942
616
956
28
480
195
241
933
419
206
217
709
895
183
32
281
113
862
717
501
290
527
671
178
857
498
714
525
193
547
483
730
407
95
240
535
116
587
960
783
749
280
145
831
607
5
979
650
847
187
260
191
543
488
88
300
234
992
384
49
678
749
179
891
82
843
39
401
716
900
135
748
659
65
226
198
425
56
293
153
297
857
605
189
573
963
788
562
291
876
840
469
690
715
121
104
351
398
39
222
940
839
535
492
515
983
515
379
607
331
19
690
662
808
312
200
986
405
33
963
24
115
213
10
674
38
287
165
331
421
177
570
547
596
145
389
499
446
422
835
944
92
495
323
994
907
604
76
808
887
165
950
271
629
805
612
832
871
217
433
928
627
275
637
851
431
703
316
478
102
156
876
27
763
707
388
878
514
622
68
567
321
764
839
206
166
155
504
24
451
990
558
139
972
919
117
427
521
487
696
119
330
419
859
768
91
883
849
360
290
927
348
624
921
65
486
77
424
361
30
910
882
445
469
601
86
587
347
69
48
348
794
248
987
345
637
175
542
344
904
119
256
260
766
759
920
611
200
195
419
643
728
348
160
659
599
395
959
30
694
2
539
2
259
469
406
693
259
367
961
602
843
899
106
543
865
6
536
171
919
173
113
161
649
36
452
667
369
97
878
905
193
335
455
562
919
28
646
294
923
845
471
708
153
185
762
132
143
728
187
898
624
417
284
85
935
410
626
438
923
79
604
648
432
774
38
324
827
924
983
735
174
18
629
853
876
126
186
329
564
959
957
741
8
861
644
910
647
791
28
94
102
64
815
610
694
573
396
805
549
277
660
309
353
965
827
213
213
715
440
129
326
980
315
106
400
962
219
24
833
776
509
390
682
922
784
434
343
751
844
26
714
939
888
205
302
464
945
51
384
215
995
230
867
158
74
766
927
936
962
525
863
888
706
434
852
727
319
686
458
541
502
54
805
360
85
948
308
257
259
63
731
837
291
287
134
25
614
25
940
247
634
290
994
470
569
661
947
57
944
736
729
107
124
782
205
705
381
94
308
572
587
979
77
662
544
413
88
610
342
126
675
348
919
290
204
827
139
57
428
545
334
882
585
492
200
968
487
212
359
172
336
894
700
409
329
825
809
942
476
27
413
914
179
667
798
160
260
628
577
632
116
681
1
739
588
837
290
522
963
809
56
875
226
985
970
944
339
936
289
424
836
303
690
744
476
850
176
12
49
547
442
145
669
865
226
861
71
828
618
38
473
983
208
506
560
156
274
505
8
759
891
888
764
466
967
650
986
250
746
509
148
160
219
77
318
708
249
626
20
414
910
586
433
887
747
664
870
782
150
937
643
138
42
342
425
871
428
746
193
663
116
177
655
89
99
852
847
581
695
362
220
756
489
744
127
707
552
194
86
82
197
865
560
177
741
531
316
790
367
894
566
320
181
974
259
400
3
317
824
423
267
730
633
443
611
884
251
278
440
372
237
131
731
786
948
660
876
940
278
242
153
613
728
125
743
108
568
246
867
458
80
788
676
354
46
945
61
713
707
948
415
353
402
135
688
420
969
734
778
48
762
75
442
240
871
146
386
103
682
765
165
380
447
146
826
696
949
321
987
51
648
687
169
861
912
948
773
311
114
833
33
836
335
300
652
342
431
351
595
118
21
223
687
526
732
439
249
192
681
180
998
875
769
461
825
133
795
848
872
671
817
856
541
540
451
675
667
375
2
602
129
515
400
412
572
153
953
879
792
630
811
889
502
601
857
836
934
107
481
552
695
484
301
593
826
655
457
537
814
597
507
890
643
671
349
292
584
57
821
3
546
776
781
25
294
619
577
849
724
870
748
489
689
849
695
401
595
191
860
886
69
231
617
824
563
54
697
892
637
543
467
970
35
259
788
91
401
85
522
119
597
347
928
321
184
583
380
131
548
178
835
715
531
871
419
376
204
533
390
450
578
651
427
118
651
701
930
469
171
949
504
215
875
245
350
711
800
69
605
306
438
421
993
597
133
147
337
863
143
950
567
810
214
629
875
763
336
91
584
631
613
248
99
266
796
242
48
348
99
350
336
549
380
504
391
515
609
637
299
192
843
932
890
70
588
657
99
251
516
421
51
592
991
639
442
825
765
436
704
213
490
486
368
255
410
47
796
948
710
22
154
344
523
968
115
476
513
819
236
259
289
563
440
626
659
184
267
989
846
31
852
101
380
144
677
521
294
207
193
200
669
506
348
119
281
713
916
565
341
332
255
349
857
400
807
215
158
391
206
757
515
281
328
391
578
453
30
325
592
435
556
986
920
471
835
121
466
570
965
565
2
10
184
769
212
204
544
265
555
494
329
647
649
685
971
71
950
99
839
946
961
484
852
265
57
387
249
998
301
494
254
38
274
998
596
502
68
270
12
558
31
993
943
560
783
427
569
1
321
676
269
648
720
659
312
322
60
980
327
932
751
70
670
774
316
738
336
573
50
789
436
464
724
438
627
896
597
68
64
438
628
283
592
602
656
323
936
99
750
637
569
381
653
823
822
941
443
198
507
594
124
986
34
896
820
469
535
914
672
491
1000
808
322
372
798
67
86
654
260
784
513
68
167
61
78
789
114
475
158
340
698
573
284
494
413
523
895
98
937
351
480
90
223
721
27
849
446
809
165
649
368
638
260
221
166
193
962
332
73
730
429
851
467
961
487
985
202
219
503
244
9
281
636
215
834
248
435
422
775
788
447
377
157
80
648
437
888
986
973
211
920
371
214
108
72
953
835
53
939
781
17
526
884
236
393
863
383
436
466
196
59
78
693
487
842
21
542
867
596
382
634
897
399
523
244
409
452
46
12
340
212
881
724
292
940
563
387
621
327
81
670
528
210
44
932
959
730
446
733
131
420
41
697
141
853
159
49
443
460
833
969
918
44
275
159
909
346
44
639
859
723
750
876
121
640
771
767
114
221
248
901
225
518
582
762
791
544
754
237
14
343
60
856
917
534
263
703
297
858
759
799
170
183
49
102
374
365
741
942
863
82
309
835
691
502
71
152
860
234
177
21
15
473
924
209
407
740
393
419
718
858
195
641
66
74
143
704
981
361
757
144
218
948
835
896
18
103
762
31
843
4
833
1000
652
331
630
382
529
820
424
144
808
654
620
816
915
965
531
778
777
169
123
67
40
96
939
733
313
88
86
783
283
337
65
185
918
735
188
235
870
419
531
830
868
19
687
843
141
328
59
818
841
755
69
718
52
449
472
248
204
435
889
627
592
436
796
277
314
324
465
64
97
306
762
136
396
988
307
358
660
493
199
617
842
615
426
981
87
844
107
816
4
747
921
491
112
802
424
197
825
290
490
792
836
262
751
267
875
901
757
616
573
841
563
419
638
130
557
423
594
542
675
746
126
924
578
138
442
62
968
865
144
357
3
397
802
220
668
65
808
695
47
228
113
260
677
325
125
174
531
356
398
992
743
999
737
78
889
534
996
38
465
224
145
11
258
600
177
649
435
351
7
452
534
169
833
841
1000
942
335
971
548
144
698
843
449
152
675
707
755
469
824
79
615
524
605
989
74
799
243
192
179
514
126
189
786
16
48
832
194
293
784
198
622
766
327
207
587
619
607
110
439
434
682
631
673
847
180
1
137
254
260
557
944
356
448
905
698
452
531
833
647
963
74
347
501
620
255
170
937
109
442
57
307
739
346
64
601
885
628
718
552
521
594
653
642
177
921
871
850
8
453
254
242
509
736
325
846
591
341
559
851
350
990
709
813
887
179
748
457
969
282
2
646
136
103
976
271
120
447
180
132
63
576
6
374
108
335
318
660
351
345
951
82
46
875
787
742
193
951
377
45
349
772
386
15
551
758
248
363
758
413
534
598
89
695
460
230
462
814
888
963
927
175
936
872
103
696
988
699
663
906
545
809
721
4
804
833
318
533
307
699
941
480
295
586
152
329
639
297
955
95
340
717
505
397
631
280
85
436
658
845
107
78
571
977
3
377
578
397
522
526
239
266
881
620
772
80
653
669
677
144
50
924
320
6
490
990
441
768
937
126
709
890
518
856
573
961
367
263
645
934
468
343
772
460
495
402
770
324
331
761
509
434
945
977
674
462
820
345
75
36
947
755
787
331
692
809
797
996
517
726
39
648
614
729
910
550
996
524
383
690
507
959
831
201
481
200
558
938
522
528
804
99
962
430
692
940
98
745
185
41
214
495
623
26
757
446
822
383
733
605
35
787
579
608
293
365
286
413
788
442
520
780
978
624
857
790
48
506
3
34
209
921
58
192
71
388
466
401
978
344
284
217
777
828
776
992
954
505
186
158
454
306
698
272
787
514
247
662
219
820
844
173
939
726
513
805
99
687
768
30
539
560
793
174
830
245
147
526
979
882
856
797
767
618
209
111
271
738
454
980
482
920
846
603
374
453
190
406
945
564
80
927
993
364
564
66
381
552
814
196
590
705
723
860
177
896
33
596
588
417
724
937
443
574
900
779
10
904
369
131
104
648
398
721
44
997
902
46
622
458
465
252
268
653
117
643
717
18
788
720
523
153
691
404
705
24
680
483
673
829
784
402
306
107
725
208
750
570
201
865
49
234
104
153
202
647
679
60
621
394
787
927
251
618
96
585
790
974
19
397
589
325
646
398
747
452
765
730
907
270
286
160
2
326
47
755
986
870
12
738
173
398
352
116
351
379
749
934
308
827
528
914
711
477
924
781
576
587
847
808
691
819
7
989
461
219
169
758
576
37
583
368
814
39
371
896
69
989
746
310
372
179
469
212
296
259
873
670
619
110
117
17
546
182
75
619
93
551
401
395
483
913
879
303
502
894
106
93
827
315
936
394
270
552
878
566
724
675
811
864
365
868
970
120
315
525
155
558
538
478
477
376
230
90
808
404
317
279
255
501
992
124
637
345
385
389
938
918
581
155
150
314
198
756
736
443
638
422
207
844
962
289
932
79
45
1
354
144
315
680
261
889
882
911
598
715
360
291
597
693
980
203
672
848
876
770
611
513
581
313
78
582
842
269
346
994
819
193
479
952
638
427
873
257
33
990
222
607
522
504
443
870
136
292
57
147
261
306
844
928
527
216
338
730
18
811
847
416
298
849
276
813
867
624
950
337
712
819
24
91
546
662
828
294
192
6
664
964
306
716
175
495
314
678
378
130
982
787
852
384
540
556
376
119
632
321
528
353
675
588
352
857
376
774
235
246
294
439
556
601
283
109
512
605
624
988
746
802
425
154
66
876
612
328
595
762
467
946
125
24
185
51
351
136
397
466
903
263
918
842
781
631
262
399
871
866
616
635
736
475
26
825
732
251
541
871
845
490
914
977
301
814
273
607
178
853
848
465
702
200
442
512
900
874
848
610
561
980
819
14
235
374
503
779
125
942
513
114
279
499
883
871
470
447
250
636
470
42
495
343
248
551
972
945
763
616
158
428
614
875
266
385
810
258
902
429
297
397
326
967
702
286
258
242
957
650
468
80
59
506
550
505
281
17
422
226
539
87
55
1
474
85
884
79
49
702
141
231
80
272
85
353
219
745
750
287
307
169
337
276
937
729
837
428
286
319
829
679
996
185
627
992
930
377
131
960
150
639
806
553
329
872
158
468
139
517
8
460
848
16
585
41
471
38
215
149
362
271
941
756
25
443
922
879
300
635
883
131
768
141
194
788
420
848
375
310
133
589
973
402
497
978
770
2
872
10
243
6
347
95
30
192
424
263
925
511
865
988
571
890
98
458
607
718
996
133
473
445
630
141
483
117
822
368
45
181
908
137
101
628
191
984
976
390
921
379
793
904
557
187
571
941
223
302
897
126
966
139
804
30
477
646
135
399
350
37
169
828
872
739
761
171
573
929
588
75
454
589
336
296
890
241
842
851
697
386
257
664
752
198
278
79
838
219
384
507
129
619
769
504
794
117
399
810
780
777
179
185
702
725
747
451
145
291
810
757
396
207
268
966
783
254
569
990
350
213
904
92
533
45
856
413
911
973
74
479
823
553
396
19
860
874
583
204
807
745
508
326
598
86
192
11
247
805
562
311
522
72
196
379
327
294
585
985
383
67
638
856
813
28
286
628
668
859
999
271
246
651
966
960
331
449
515
738
83
98
52
762
396
424
440
585
972
395
266
711
253
127
908
607
582
533
632
467
691
955
228
293
655
337
843
259
962
368
742
912
232
567
700
503
441
436
603
602
189
688
632
223
670
13
89
873
552
30
520
286
845
866
312
144
233
279
321
722
37
343
441
234
131
529
225
659
715
407
797
922
762
324
347
631
352
127
435
8
863
427
168
275
177
951
84
479
619
242
237
711
372
342
537
710
463
125
862
89
262
620
884
815
606
22
771
100
298
73
177
573
741
146
1000
465
893
691
399
538
578
651
477
659
395
85
853
262
152
514
56
403
768
440
333
753
69
75
971
691
761
571
682
568
119
941
971
366
636
420
616
194
933
227
608
521
736
579
910
595
612
312
416
236
465
661
327
88
498
599
985
436
459
613
882
929
514
966
144
869
13
295
330
260
753
864
766
491
67
908
965
307
241
287
915
770
283
108
116
980
42
48
336
677
40
881
935
261
143
88
513
386
378
518
352
38
785
759
798
954
193
264
309
259
170
301
338
500
252
481
631
572
717
960
791
645
804
403
148
831
302
461
80
250
853
814
941
120
141
793
648
697
396
238
807
185
261
502
982
256
159
458
330
419
713
964
378
297
660
464
146
806
980
339
178
359
614
151
286
441
230
160
991
364
20
354
697
555
352
766
612
477
450
41
314
163
954
38
644
394
349
771
289
742
739
143
48
71
413
715
236
581
943
247
125
169
319
852
629
696
757
391
653
727
378
157
679
458
908
12
171
837
907
862
341
323
829
783
664
348
360
133
285
314
89
763
109
848
540
732
962
149
8
38
644
466
417
502
121
151
646
320
340
253
381
766
392
352
567
218
809
157
952
949
798
416
78
122
147
872
270
31
308
287
859
922
942
76
905
646
796
706
152
11
339
821
795
915
24
990
951
281
395
107
346
343
497
709
858
69
227
902
23
367
323
179
525
258
664
123
954
377
425
882
881
998
429
360
365
307
730
241
542
742
48
354
895
110
191
369
96
562
11
498
85
718
755
703
187
951
894
883
598
299
649
658
573
567
456
661
965
912
584
698
576
627
923
738
919
880
755
473
615
903
970
77
600
466
735
912
734
538
131
112
202
686
637
410
306
129
615
69
846
341
161
526
343
782
785
185
738
592
367
805
80
113
775
122
913
675
321
645
761
382
987
67
112
576
944
342
811
225
459
318
597
750
702
708
806
696
333
348
950
219
984
905
927
570
929
636
162
634
295
397
817
114
142
771
558
120
614
157
30
785
166
611
363
4
538
526
476
565
776
506
956
742
76
370
554
880
661
858
116
638
204
426
903
323
539
543
808
182
538
985
925
628
48
957
311
89
755
308
527
609
656
705
742
370
608
411
752
13
60
211
269
28
652
124
215
502
837
760
572
188
60
564
536
219
318
750
347
770
116
412
179
641
924
160
906
19
268
647
391
680
462
518
180
473
851
628
147
238
113
882
656
222
837
662
294
673
99
605
78
508
226
468
309
883
268
894
936
31
954
164
351
965
92
456
60
513
408
682
531
656
807
721
862
378
938
755
579
12
685
437
33
614
956
866
332
35
682
638
738
149
500
811
714
204
947
265
618
335
372
756
141
110
927
962
144
357
208
954
530
667
61
801
123
665
107
497
317
591
300
973
415
745
661
756
189
112
937
707
151
819
527
408
437
125
497
934
12
315
870
184
102
235
659
468
363
163
332
738
361
406
461
731
296
284
344
285
807
168
269
273
881
819
937
898
559
591
257
628
184
962
384
607
379
482
374
261
834
447
305
697
213
515
43
632
212
57
87
856
846
241
90
638
550
700
740
53
581
205
615
971
487
911
550
300
133
602
823
140
897
855
138
699
143
199
34
188
28
151
792
399
21
472
370
376
258
123
191
379
2
163
844
345
15
278
869
184
630
715
863
529
664
131
52
24
67
305
357
843
417
672
709
868
918
404
41
913
557
84
955
429
496
101
536
356
529
529
146
197
697
629
350
905
711
94
294
901
916
808
946
372
892
219
663
43
677
358
386
734
788
197
654
414
907
290
299
858
113
576
346
725
22
840
154
631
43
539
307
740
259
635
72
524
82
607
538
582
928
68
676
847
673
234
658
71
499
78
711
219
74
132
704
274
721
788
418
33
311
408
150
630
180
726
917
918
260
844
7
324
975
559
57
482
160
907
130
772
451
579
514
845
97
304
80
400
146
365
76
738
279
193
165
71
390
356
398
190
125
351
517
837
230
277
689
60
507
905
321
894
604
620
71
951
650
445
563
887
940
665
609
258
536
603
897
966
608
703
248
386
826
435
515
224
899
465
132
390
626
183
113
426
460
932
61
577
633
250
330
170
355
992
65
818
467
472
262
862
180
659
332
609
243
17
934
172
916
802
984
134
678
495
812
843
427
588
434
863
286
107
751
12
803
114
317
444
464
921
969
436
951
905
231
917
512
603
922
255
125
272
771
515
905
182
194
211
316
704
606
569
340
695
748
436
671
767
577
292
395
770
183
236
386
223
61
463
810
505
825
486
721
303
81
270
727
207
796
557
89
372
912
842
421
831
398
895
379
414
158
235
319
196
450
670
943
66
552
895
374
321
416
116
926
141
957
863
84
442
463
480
857
859
308
240
701
571
792
703
688
244
487
691
450
650
863
246
697
376
371
1000
789
652
379
690
930
482
527
941
20
202
142
18
125
48
316
3
805
557
140
710
263
430
370
713
377
10
482
60
207
649
698
597
509
80
40
347
75
353
899
42
532
36
923
761
290
129
230
570
962
616
129
230
480
633
500
314
524
1000
1
536
646
253
51
690
637
390
347
369
286
240
296
552
655
756
334
214
390
540
563
353
410
609
526
217
485
760
224
57
872
847
669
415
165
997
362
852
958
43
103
987
759
469
441
917
803
731
887
414
96
163
745
754
46
530
39
691
507
963
555
881
921
192
460
994
518
947
301
884
210
904
446
431
893
834
199
95
365
417
871
790
965
766
81
438
334
854
421
417
413
899
430
193
905
254
488
616
937
493
853
697
619
207
583
231
478
479
463
269
541
145
394
284
932
692
940
856
453
134
826
828
522
233
231
192
261
236
678
409
250
668
139
469
670
786
769
770
125
30
290
803
432
159
678
707
62
805
217
9
706
854
418
207
660
392
541
458
343
992
686
275
256
715
498
33
145
549
538
86
954
968
293
450
387
899
605
361
543
680
24
472
169
522
223
108
475
572
158
782
389
936
68
128
344
902
805
525
391
195
186
920
529
265
273
810
585
541
509
897
934
47
644
668
595
25
240
39
991
991
359
249
735
199
697
387
367
593
51
280
857
193
503
24
39
262
111
39
886
778
220
434
663
481
732
381
572
221
795
381
422
395
414
576
281
46
432
710
767
562
167
978
867
6
753
708
736
799
904
806
912
861
356
920
775
348
763
533
917
793
147
574
229
812
345
685
210
536
40
990
939
564
98
37
648
561
906
643
618
593
353
500
394
884
874
748
927
996
735
202
338
345
348
534
431
558
941
548
949
431
361
587
862
148
130
262
613
975
120
915
364
871
402
691
761
316
853
620
634
193
115
891
335
750
344
339
162
489
21
260
388
356
731
822
966
728
463
735
886
528
470
321
517
248
122
834
982
793
550
661
770
828
43
51
349
751
335
148
484
511
945
377
346
215
645
715
254
900
40
968
79
888
933
929
922
858
853
233
653
152
684
782
312
845
780
852
172
809
383
384
446
331
378
498
285
849
683
973
676
7
617
292
325
582
617
872
408
732
590
242
343
714
984
297
340
440
412
199
595
199
264
155
391
463
304
100
277
945
676
232
752
959
92
508
551
722
244
404
724
429
619
727
181
826
986
786
279
504
793
8
315
362
576
937
517
481
285
615
219
204
121
544
439
299
80
775
10
977
880
202
719
917
406
773
700
641
70
207
401
312
752
723
86
502
99
494
688
529
976
771
299
743
857
116
259
520
735
764
57
798
917
914
786
702
738
645
923
159
760
265
571
467
541
89
121
435
395
60
492
69
888
169
714
764
979
302
669
633
829
49
180
892
304
965
536
207
103
989
709
511
265
22
241
93
532
169
751
688
671
765
549
892
401
118
633
462
8
840
679
986
76
752
276
942
30
609
739
402
337
297
342
495
275
762
700
277
173
618
323
847
881
308
76
369
25
719
412
185
312
340
732
328
706
440
181
585
854
224
508
685
503
613
370
362
1000
109
573
761
184
202
353
155
84
889
690
957
914
196
65
845
771
26
820
130
292
270
444
634
287
873
732
13
34
487
697
853
472
385
563
886
9
569
935
361
50
382
472
956
626
482
975
585
700
726
856
149
823
385
363
550
822
99
761
277
122
191
927
485
82
231
450
780
514
268
388
822
118
762
275
509
142
47
859
680
16
107
301
248
31
559
257
170
420
980
340
937
348
168
948
88
376
464
341
805
941
21
163
846
299
785
283
861
122
987
989
708
657
168
30
461
966
93
996
675
234
429
796
902
580
746
780
587
100
198
164
250
103
245
994
294
638
911
823
865
420
353
655
955
250
977
460
313
821
960
780
817
598
749
469
653
101
96
660
43
494
204
414
268
842
818
304
428
814
483
421
730
850
734
878
77
33
663
918
387
6
200
168
394
252
429
399
633
4
436
388
939
834
527
154
73
719
103
857
10
1
153
115
35
191
94
381
14
20
651
261
138
475
567
355
969
831
201
261
867
827
493
912
711
229
348
260
380
973
219
660
651
972
557
11
977
459
849
802
149
423
157
757
964
301
424
698
848
587
340
547
851
437
207
176
539
661
98
916
100
717
559
119
406
458
245
98
878
413
204
159
718
320
920
197
523
499
887
501
301
379
216
4
673
176
694
203
382
282
826
365
278
388
561
440
630
752
858
300
941
320
737
568
474
573
199
273
299
104
223
37
38
898
93
314
401
240
451
442
264
959
808
904
292
450
731
282
67
566
549
792
255
967
228
208
595
999
6
197
420
495
492
828
930
154
187
35
708
324
813
355
810
61
416
129
288
341
911
663
209
138
668
559
45
926
745
536
849
786
601
577
726
969
448
175
984
204
960
778
751
503
664
262
30
514
229
438
878
674
799
113
884
589
681
200
186
62
976
753
1000
166
223
534
85
570
679
937
566
132
678
648
307
376
391
425
361
84
398
771
78
690
724
73
115
527
353
995
948
303
813
522
475
328
89
79
961
159
5
553
877
286
211
924
144
448
98
397
945
929
263
613
505
954
658
554
211
907
170
208
9
644
182
931
269
595
627
731
233
742
124
330
673
754
83
999
660
772
58
606
173
387
213
236
816
307
498
37
119
135
20
651
704
415
131
710
113
835
965
391
259
47
505
961
241
98
774
556
757
836
424
199
465
25
802
201
400
68
575
627
21
424
115
494
534
796
158
696
879
135
675
465
197
346
538
314
621
334
275
13
972
698
186
134
312
930
114
101
325
481
432
457
186
402
173
320
918
571
797
551
243
717
758
234
570
530
924
450
83
168
885
198
857
376
380
519
555
253
378
560
525
418
843
339
63
968
840
437
199
150
451
726
599
111
885
477
84
438
326
909
846
468
267
290
611
485
545
200
928
4
828
481
244
327
81
671
635
399
371
441
901
828
472
676
215
568
884
342
696
428
259
235
55
7
749
2
956
125
433
608
839
96
824
540
730
433
441
588
15
705
552
20
229
294
500
328
650
735
484
473
930
205
240
754
3
436
872
12
272
20
963
846
410
637
210
937
176
188
12
364
296
236
880
16
828
400
38
797
410
569
299
374
445
894
182
604
606
517
196
655
970
903
434
31
760
477
930
389
913
974
691
70
646
540
992
735
787
171
292
349
861
510
72
37
855
369
39
11
125
609
349
849
129
153
978
882
544
999
895
380
852
48
461
472
663
466
336
507
894
66
250
618
392
896
160
812
791
822
700
822
141
393
333
286
371
689
273
566
736
165
96
657
175
745
907
187
967
524
100
494
137
493
17
75
824
635
275
530
224
594
140
275
777
859
70
863
994
100
497
785
669
809
965
977
282
930
989
88
54
490
392
750
467
571
396
737
71
125
475
875
27
247
808
37
175
533
207
369
348
36
538
116
316
181
992
106
977
695
60
952
390
262
663
532
794
144
725
142
51
416
400
3
798
891
279
476
215
961
169
417
470
849
450
606
831
742
591
61
916
310
139
368
763
968
385
856
249
39
955
555
849
639
764
420
923
757
145
190
492
441
456
632
960
475
166
610
334
206
212
614
294
424
429
892
881
320
977
311
684
584
985
442
129
667
94
98
894
26
164
789
538
2
200
82
111
573
449
881
944
835
703
33
794
517
90
441
221
221
983
118
430
371
247
180
788
36
716
851
880
898
653
918
297
636
966
963
291
916
105
914
69
984
930
83
773
595
259
959
123
625
498
434
300
262
535
28
877
117
998
957
539
925
135
538
848
784
798
538
573
26
441
532
940
892
637
270
709
145
317
310
148
638
846
919
844
660
93
337
756
532
839
26
90
579
233
458
378
59
528
315
613
61
968
733
399
731
560
342
889
333
415
436
665
880
504
542
855
14
944
20
506
821
405
127
627
82
817
105
407
234
326
488
778
957
367
775
932
892
794
31
358
454
242
760
711
85
283
639
124
590
474
269
590
367
122
158
689
479
397
559
258
473
497
614
533
809
688
522
957
538
406
56
103
634
44
839
82
964
748
226
444
475
266
514
766
560
915
468
75
963
775
830
787
809
539
556
62
514
817
28
363
393
298
364
501
779
896
266
683
308
903
557
864
847
182
647
248
216
692
729
914
452
931
385
351
879
442
662
157
657
177
387
289
784
323
632
12
774
224
826
130
342
112
932
195
483
697
483
113
250
91
58
981
412
175
926
34
901
239
202
338
649
688
815
169
941
649
11
118
936
572
898
594
339
279
761
766
524
479
477
969
591
464
389
261
935
543
420
121
913
809
49
242
113
977
996
9
534
372
124
515
711
625
106
903
467
270
868
427
486
228
690
859
351
117
97
775
60
438
377
820
244
929
619
246
526
836
672
931
474
382
315
561
628
479
226
890
905
596
54
805
524
752
3
426
248
803
867
639
354
528
378
237
257
573
52
353
99
925
482
954
950
476
142
961
494
163
339
989
191
336
907
807
947
307
587
327
268
454
819
385
730
894
851
599
321
468
647
316
925
736
56
33
730
723
127
714
851
406
230
89
834
314
859
379
973
172
615
885
593
178
876
527
529
419
105
728
47
893
547
21
357
799
351
343
697
77
753
307
669
659
48
627
168
528
498
507
752
490
228
12
762
493
392
381
842
441
602
765
769
732
675
118
652
139
247
818
651
244
710
151
301
368
202
940
459
822
125
472
620
347
754
359
92
819
18
130
83
643
489
143
274
774
914
897
856
983
386
932
347
791
393
279
683
491
521
862
261
818
568
356
616
102
171
735
351
215
829
142
820
201
376
808
785
267
547
422
942
723
261
743
793
518
648
286
781
271
653
573
25
90
235
800
244
978
822
764
671
372
692
537
844
179
364
701
193
718
940
909
199
119
558
170
789
64
770
522
293
255
721
699
950
592
430
3
487
888
384
799
721
847
891
6
500
174
322
469
535
946
474
354
866
757
747
538
727
779
750
534
602
564
224
660
96
333
909
980
66
521
83
79
126
556
998
875
255
215
417
453
731
383
730
418
26
762
925
355
631
831
772
760
971
416
190
267
735
306
691
66
956
674
157
145
133
515
996
427
533
900
891
898
558
626
930
552
737
750
903
358
450
576
958
467
997
895
583
572
961
662
116
673
147
835
573
497
531
821
648
466
779
801
93
436
890
238
611
377
425
39
547
791
608
168
369
950
310
971
954
966
545
139
155
293
659
18
998
508
822
903
122
134
793
106
750
807
172
801
568
319
517
110
373
945
790
429
250
968
523
770
343
530
42
740
972
753
801
844
6
585
639
1
864
983
303
511
504
830
155
219
35
482
335
307
383
943
991
954
527
441
432
97
433
630
144
655
731
719
687
873
550
577
412
911
717
286
786
371
682
631
880
264
122
784
225
802
160
778
809
485
553
390
467
206
957
768
294
442
656
452
997
191
676
440
292
971
294
608
548
91
332
112
902
386
494
333
953
801
206
597
989
520
106
129
391
816
345
680
535
453
341
816
991
239
490
145
316
305
601
625
49
776
495
680
778
758
312
58
338
2
532
236
214
178
640
709
252
389
632
683
620
508
308
525
768
896
371
842
828
307
910
187
474
123
738
215
798
580
414
588
141
302
502
9
156
312
773
611
582
644
610
279
368
827
820
657
785
817
439
270
147
381
878
638
564
567
930
299
962
633
753
384
203
755
922
745
761
878
44
684
847
331
232
996
270
201
938
401
615
10
271
416
485
936
920
383
686
677
268
684
216
78
75
118
832
783
381
70
801
543
903
344
147
250
262
493
347
422
831
68
960
672
866
429
118
616
835
707
161
803
562
20
930
507
860
302
440
629
842
946
661
555
962
10
168
524
184
905
253
961
335
341
915
272
860
781
806
797
671
840
838
969
756
829
633
248
505
168
433
70
482
456
389
852
489
800
379
114
349
443
635
890
765
783
480
883
995
676
457
324
854
273
922
19
711
723
992
915
755
799
347
372
783
841
986
430
158
475
487
598
385
243
737
63
970
593
325
766
831
714
50
497
556
330
43
14
233
885
43
210
393
508
237
499
876
785
951
956
46
626
133
182
845
464
260
543
648
606
799
203
713
797
803
316
318
983
590
878
348
787
674
973
171
468
312
571
127
953
76
633
875
119
841
977
111
635
463
276
902
552
193
578
989
298
593
964
921
917
278
289
835
168
358
486
995
592
826
570
980
776
489
312
517
791
225
519
550
258
523
17
50
560
257
713
473
466
622
553
511
854
977
831
999
252
128
25
361
663
213
303
48
487
947
860
735
387
432
535
916
652
141
512
687
911
958
449
162
87
339
107
970
110
788
382
705
228
817
661
38
714
477
605
454
405
382
770
183
754
845
970
3
54
401
919
989
47
495
479
202
401
607
805
534
425
366
768
651
969
533
310
3
657
827
798
421
476
693
28
651
285
36
252
547
967
869
489
281
822
561
433
104
256
122
469
672
19
496
652
901
9
393
37
627
163
569
401
113
56
792
228
564
610
961
816
383
760
957
490
838
7
856
210
209
523
85
304
203
915
920
682
661
762
505
608
107
794
237
87
727
947
896
932
729
539
414
871
843
515
526
385
950
47
849
557
403
757
116
887
669
509
407
886
306
2
197
291
152
381
988
890
833
685
72
291
330
254
724
425
417
126
744
258
230
67
791
910
87
108
426
404
959
380
85
317
660
581
502
905
918
652
236
666
963
73
31
901
176
750
710
553
647
647
189
493
173
122
981
470
387
482
237
143
178
363
12
950
526
406
885
127
193
118
537
796
455
970
170
926
202
531
875
916
287
891
212
696
966
705
271
540
624
949
448
231
773
865
3
828
460
659
229
42
828
194
734
148
542
327
870
454
208
550
862
534
706
283
534
878
548
504
836
105
28
409
555
625
900
432
701
455
804
277
64
940
427
588
338
285
692
471
37
118
864
399
151
807
537
948
113
876
921
402
185
669
704
503
821
349
53
565
910
441
961
668
49
375
278
925
168
921
203
643
894
957
952
756
9
783
584
73
242
34
703
735
419
333
851
770
694
983
929
793
162
401
924
692
701
463
536
628
239
629
37
784
31
528
865
77
693
679
975
495
910
128
949
797
752
133
221
59
475
406
552
981
549
100
56
877
382
433
664
50
901
801
918
570
693
277
355
533
896
653
564
554
408
542
197
593
266
619
840
196
242
781
650
906
792
845
115
899
524
431
110
851
223
856
667
699
327
147
528
209
450
825
585
192
181
695
790
846
927
691
975
885
9
798
271
71
572
133
537
304
117
570
247
629
634
694
797
428
375
443
92
541
277
545
555
300
943
719
428
252
849
679
343
880
157
158
656
772
101
548
959
478
434
233
554
802
811
410
351
356
319
951
854
15
586
914
428
319
25
387
978
980
805
680
586
388
92
320
364
414
948
902
3
877
17
624
55
733
812
247
993
463
973
297
468
100
327
557
998
85
986
285
539
435
987
137
979
733
172
482
644
84
117
636
298
494
906
569
997
117
470
806
353
398
29
563
430
450
887
640
552
931
469
242
744
255
26
674
400
269
873
826
52
360
370
462
764
588
122
571
791
603
26
506
611
8
850
153
327
340
45
144
774
34
306
8
325
573
247
178
544
538
204
6
329
387
799
258
137
654
399
107
194
679
19
288
343
133
513
904
333
361
167
383
897
14
875
179
923
515
187
136
390
682
384
884
520
188
657
215
750
649
162
184
742
800
423
574
610
633
106
453
957
361
660
775
108
782
709
371
141
960
354
210
916
106
755
525
346
236
432
235
557
464
762
139
437
771
35
479
300
685
267
850
39
639
672
863
201
642
346
653
863
543
243
79
67
387
953
430
828
265
168
571
415
650
955
689
679
370
112
265
716
307
983
422
999
386
39
585
478
633
444
219
804
910
595
514
965
435
324
31
158
347
45
725
611
387
636
236
456
235
260
48
420
153
631
890
329
378
490
796
906
133
131
316
328
221
914
718
384
906
600
427
819
198
201
596
643
713
819
418
770
991
569
760
321
548
273
728
348
920
92
36
517
708
612
422
501
910
227
904
455
863
809
374
960
757
809
872
242
993
868
907
330
630
5
354
19
769
200
782
192
34
955
553
64
206
31
669
406
684
95
129
643
685
452
522
19
994
401
677
658
648
978
468
481
138
44
265
394
586
724
132
66
906
178
571
923
111
569
526
697
782
880
381
953
228
916
910
590
981
446
467
180
123
909
253
391
382
560
113
445
48
225
207
736
576
53
813
247
135
809
719
415
477
255
906
403
241
147
698
551
211
171
175
923
114
964
358
484
232
966
667
385
515
443
149
281
880
513
270
366
76
334
414
40
834
968
793
734
20
564
164
430
164
637
603
851
41
225
623
129
947
597
48
979
950
24
428
88
645
830
221
446
908
590
637
808
712
853
812
382
326
236
936
34
123
69
76
56
769
29
683
567
800
351
190
133
450
309
705
100
128
572
507
388
133
992
959
266
19
93
488
687
540
291
485
315
242
426
329
287
588
703
272
101
963
576
547
742
35
383
946
309
711
797
45
983
381
275
414
82
221
735
442
366
80
595
864
495
866
226
658
727
429
545
771
532
632
208
49
771
684
370
788
510
842
503
606
317
255
107
681
107
91
449
969
223
57
662
699
438
95
625
310
25
345
56
16
837
409
156
317
604
619
970
153
292
227
334
829
418
435
940
512
682
718
545
875
117
189
828
422
271
603
740
136
570
226
418
341
110
933
944
111
631
844
258
110
287
275
524
498
168
20
121
405
198
761
231
555
178
961
671
769
258
705
224
479
21
783
229
888
743
759
595
46
89
928
731
993
671
788
102
54
450
133
246
531
906
951
131
332
274
37
675
511
919
675
93
326
86
761
485
155
862
485
771
546
154
45
592
760
903
902
337
375
553
765
765
914
979
851
42
34
724
921
154
450
405
311
796
699
551
422
808
797
11
139
159
53
280
258
305
614
730
283
444
788
827
877
844
855
816
857
951
831
266
868
416
653
119
758
549
300
553
263
929
679
87
799
112
486
792
52
382
860
429
568
530
348
584
744
464
608
607
455
295
317
272
44
188
944
586
567
901
412
118
989
422
179
523
483
531
948
725
128
428
27
306
57
794
350
252
560
783
311
139
724
478
843
212
938
279
644
581
20
565
38
928
742
680
737
726
271
8
683
917
430
437
224
443
654
982
106
779
282
741
159
857
92
626
101
376
25
504
559
493
695
493
301
360
569
152
658
758
691
212
287
347
438
335
762
696
62
82
960
287
729
915
831
176
340
607
953
831
674
847
216
953
280
198
88
756
149
821
166
273
343
525
162
728
702
773
11
939
224
275
564
972
932
627
168
34
861
292
519
645
310
887
361
705
646
330
945
957
766
938
702
699
784
931
227
346
626
172
521
564
16
140
396
262
733
300
99
708
157
64
507
347
827
461
688
727
159
505
223
76
531
999
477
676
654
156
877
154
509
17
383
227
189
96
529
217
632
65
819
872
601
585
799
646
247
586
835
601
251
376
474
532
858
982
275
737
58
50
186
107
823
399
842
846
560
110
655
182
887
615
214
904
440
806
278
395
632
629
622
141
238
958
95
325
185
826
505
246
197
232
371
761
760
813
162
846
457
642
350
693
862
315
540
447
46
233
920
810
245
722
539
260
382
206
225
564
952
159
498
581
245
971
496
107
8
197
744
658
411
849
603
628
624
557
345
221
427
434
117
929
962
433
485
93
217
841
890
248
818
287
68
566
480
328
430
663
795
230
484
466
95
30
576
613
797
365
653
79
978
808
268
338
931
688
759
370
106
420
400
290
141
417
303
159
665
540
58
818
167
873
393
201
521
334
635
670
653
253
385
319
486
593
607
126
485
933
298
38
68
665
990
801
699
147
626
389
676
664
737
420
534
167
457
794
480
702
613
126
467
332
37
241
388
133
291
109
302
560
167
134
840
39
720
612
662
190
89
531
384
457
4
618
448
270
755
667
233
72
332
766
113
663
609
959
270
385
728
292
819
572
297
904
194
569
621
58
819
359
932
552
783
518
533
952
641
760
818
484
458
829
377
230
911
870
778
462
628
688
160
586
887
504
477
177
509
920
85
3
49
799
379
788
371
677
346
694
315
170
249
147
436
502
113
675
731
989
330
917
871
770
502
772
690
589
589
989
583
726
517
120
45
465
693
881
779
629
268
441
674
788
585
40
500
720
957
672
334
579
830
236
573
14
418
720
899
179
102
451
703
157
226
416
291
860
476
963
653
823
638
950
710
699
410
534
722
405
896
361
979
77
554
882
981
972
659
852
87
415
806
875
963
752
572
16
279
7
223
93
780
602
263
238
243
78
719
723
859
227
263
856
263
406
666
929
770
123
642
860
392
144
807
142
831
489
363
186
989
691
121
937
471
587
630
912
203
737
537
432
543
305
751
896
227
829
641
371
45
891
287
668
421
88
762
328
964
111
498
614
609
932
102
707
192
317
361
769
168
915
777
457
724
153
689
751
702
57
942
682
599
902
97
653
419
266
370
574
279
705
863
939
511
720
145
343
439
137
924
632
151
323
358
63
365
882
558
371
906
605
953
626
417
502
492
109
675
657
111
209
267
522
478
526
472
996
828
948
872
333
587
443
634
442
568
735
379
654
765
795
292
399
146
318
429
518
393
960
186
126
235
120
565
54
891
498
149
884
129
473
695
525
630
601
856
60
678
171
826
374
661
799
654
631
517
529
518
268
51
728
567
586
1
377
767
361
826
12
804
173
478
653
283
297
801
557
347
73
809
529
355
650
815
804
464
867
257
251
772
827
138
751
211
422
167
104
496
646
75
789
274
46
60
187
64
92
24
649
717
522
42
927
894
984
529
24
481
403
681
503
991
539
71
645
703
160
731
599
722
76
644
890
199
62
363
178
647
346
358
201
691
894
785
189
593
229
613
874
594
871
403
391
441
779
602
21
477
381
915
709
326
862
152
746
494
391
985
814
206
876
203
854
392
660
387
841
18
286
406
623
923
97
765
419
859
966
644
452
733
895
409
450
918
583
473
437
69
290
681
305
106
518
760
166
882
72
1
357
593
54
41
293
165
205
513
47
707
824
363
689
592
158
858
882
907
759
633
219
808
838
669
64
783
15
740
446
947
208
699
661
290
632
972
817
196
974
723
503
678
900
503
124
510
941
604
227
816
680
955
302
792
918
178
146
875
154
317
850
130
262
839
868
575
767
741
441
917
446
978
839
452
320
973
510
939
250
671
244
851
477
454
880
767
446
251
930
603
156
342
717
19
92
672
285
598
557
998
375
353
782
796
242
698
805
679
922
241
491
8
849
716
450
484
407
874
854
800
53
399
308
798
164
786
11
216
656
634
399
774
700
5
368
304
598
330
935
608
977
842
895
975
990
684
642
633
128
622
819
901
596
787
860
508
924
969
832
361
663
781
188
1000
520
444
170
169
292
13
659
157
297
649
183
86
765
909
667
868
855
107
249
352
518
511
151
93
439
508
164
239
667
896
772
278
362
160
344
770
277
918
59
724
228
711
485
996
800
1000
779
930
997
489
511
473
342
918
9
181
197
37
951
837
708
790
647
900
835
665
88
629
379
723
362
532
802
127
511
739
864
833
204
980
837
718
913
155
87
586
378
864
329
411
272
862
755
673
911
121
529
838
753
83
857
875
205
719
955
208
967
221
745
622
711
496
61
501
436
165
454
202
212
406
444
501
380
851
198
841
460
677
171
522
195
216
213
88
144
666
994
891
227
954
374
232
438
417
536
532
714
698
260
696
612
203
723
225
998
541
598
623
443
558
26
379
385
34
251
101
419
583
308
397
251
52
192
753
968
538
340
962
269
175
125
619
211
988
259
834
865
479
683
570
959
26
551
982
265
888
386
684
967
342
341
143
752
464
775
311
655
157
36
125
988
298
401
772
814
292
646
451
524
890
596
901
10
888
302
167
851
156
209
888
683
558
801
904
617
466
708
138
196
968
207
509
858
353
363
87
287
147
824
855
373
789
393
192
695
15
80
632
596
168
286
557
936
924
129
221
577
402
703
891
460
211
227
982
945
757
641
755
689
51
167
518
954
342
786
320
669
112
341
781
987
380
229
78
327
792
217
69
122
669
973
215
560
63
295
263
626
864
902
609
666
172
823
891
499
488
143
656
838
739
845
832
412
806
996
387
704
9
369
759
673
960
853
566
179
286
710
650
73
14
788
751
87
805
307
940
723
797
738
506
306
584
563
154
258
689
460
222
426
998
520
107
2
751
677
273
149
120
402
989
980
838
99
436
929
82
340
931
870
587
240
802
585
978
827
876
272
433
207
633
874
89
701
841
896
43
892
860
269
434
706
900
548
806
230
195
416
930
942
469
4
286
470
50
34
672
736
728
167
777
608
732
215
106
754
262
83
347
435
610
386
113
397
250
714
30
850
222
410
277
771
781
555
49
388
517
569
852
806
144
477
220
119
700
413
199
301
159
394
926
357
384
720
713
960
876
636
318
844
999
44
515
713
254
112
622
350
673
605
414
877
611
662
702
846
41
492
924
955
963
187
286
688
688
434
349
127
562
419
474
490
178
612
200
726
221
466
452
596
888
262
479
264
262
471
529
350
88
51
581
789
167
12
910
568
989
466
843
647
258
103
849
899
712
707
18
928
997
909
59
4
372
813
171
161
733
541
547
713
756
23
791
52
980
533
254
611
287
599
122
323
556
887
142
700
231
607
987
940
164
770
641
82
365
383
630
295
254
256
574
842
551
690
336
133
242
697
979
533
926
789
860
281
413
618
457
967
676
914
920
473
108
216
947
220
585
902
287
827
3
855
72
29
818
948
235
779
582
150
446
19
666
738
375
507
127
517
597
415
178
442
128
174
807
292
385
181
912
302
383
510
701
789
76
765
253
813
83
557
833
909
454
851
998
723
774
619
556
163
624
823
183
354
383
714
864
214
390
856
341
972
741
86
464
322
372
794
653
190
629
576
691
279
227
273
714
666
350
898
596
723
652
729
842
550
122
127
794
919
36
252
164
451
785
943
898
394
919
427
925
884
611
446
624
23
654
620
722
464
224
566
901
435
908
357
629
304
906
404
561
852
901
747
421
385
810
21
450
725
533
99
335
861
843
499
39
781
781
186
112
561
246
316
861
338
25
805
232
153
130
335
364
13
181
581
585
724
503
958
7
169
805
178
20
762
541
252
687
737
547
346
479
776
136
86
822
256
600
477
672
32
980
594
673
252
56
608
510
171
716
501
742
323
288
29
736
666
910
124
328
541
774
930
484
372
880
92
560
24
993
772
694
666
639
85
515
810
301
290
621
887
483
153
216
386
913
316
870
101
977
402
638
476
407
844
676
392
377
102
7
976
381
15
388
204
747
531
9
118
154
945
357
436
291
83
725
258
674
570
686
308
672
455
378
878
5
943
555
224
334
970
221
672
55
643
73
109
109
316
155
833
427
244
862
986
604
270
896
904
551
994
840
757
164
203
795
803
476
150
896
429
413
408
614
881
977
637
426
292
653
573
867
139
873
957
929
764
628
918
542
957
688
520
127
901
441
828
291
949
69
832
310
821
622
19
420
814
580
212
863
507
636
527
261
290
796
953
192
749
337
98
754
573
819
125
490
198
146
747
331
821
612
421
63
786
965
572
427
602
817
745
167
981
105
87
191
400
922
444
568
628
739
659
253
541
943
386
272
368
657
820
605
154
4
285
145
861
337
533
940
29
468
964
369
303
604
684
35
490
507
483
949
993
400
379
990
637
256
291
724
908
422
822
436
579
951
848
587
556
665
842
15
514
687
384
877
569
131
363
729
782
704
713
146
793
211
367
990
232
323
299
758
853
540
153
447
544
956
969
28
432
312
941
924
344
807
984
858
759
345
124
58
241
177
361
80
34
412
719
456
146
506
647
952
792
598
811
467
482
561
557
531
427
712
54
885
150
389
150
866
382
30
513
187
372
965
486
224
726
862
417
114
758
642
915
804
125
749
601
694
229
831
445
652
427
276
712
32
646
526
856
721
362
793
463
450
261
597
478
297
89
555
487
811
358
968
828
242
583
49
605
107
695
98
516
759
95
528
537
639
603
394
97
642
174
32
384
385
869
455
802
205
997
398
402
369
758
298
323
369
984
37
896
126
780
950
69
595
944
509
263
597
85
53
576
623
234
139
503
22
581
390
998
234
684
224
730
675
146
453
854
479
251
571
505
523
547
465
445
99
663
415
21
133
931
501
638
68
536
957
458
417
991
584
928
492
690
68
43
40
191
931
953
304
669
909
635
584
638
708
898
472
694
499
863
785
482
972
455
666
537
491
135
437
955
667
268
603
61
685
69
788
405
842
38
523
404
41
130
520
943
464
717
494
53
211
541
629
567
491
458
521
301
864
763
801
879
77
262
646
805
322
94
111
742
77
477
512
261
276
187
126
520
231
599
93
410
598
538
746
734
676
26
537
878
526
250
361
264
679
715
350
583
735
616
164
459
741
892
358
699
70
324
696
764
456
269
160
409
946
344
953
726
787
417
43
950
712
778
641
503
628
241
538
669
466
247
417
223
826
722
103
93
112
596
182
825
28
354
620
249
678
983
771
220
29
952
674
714
150
641
623
921
481
761
813
141
354
869
250
466
138
32
256
246
659
60
603
277
15
504
744
505
499
795
653
804
105
454
501
21
18
337
782
72
563
247
508
338
317
37
805
989
477
572
548
154
112
490
711
39
652
766
722
203
790
462
453
210
17
927
413
763
152
910
372
280
580
724
874
557
363
630
80
824
60
86
931
16
858
347
897
541
583
202
477
149
254
286
153
793
115
497
743
512
507
539
963
437
487
512
523
6
864
755
285
334
198
873
839
497
346
988
357
145
351
766
734
500
813
719
836
267
405
589
151
406
862
378
227
42
598
726
120
998
78
901
432
577
225
597
691
243
423
138
500
812
133
421
334
592
754
138
910
682
94
368
752
288
776
650
976
498
951
25
327
410
918
345
191
905
675
345
645
641
915
602
608
23
731
517
807
14
120
879
579
657
396
421
498
94
803
985
443
657
923
602
996
374
972
798
984
824
706
935
602
835
465
234
752
949
815
407
186
932
361
510
571
863
583
690
805
489
943
13
824
611
97
439
606
236
773
317
335
103
777
481
464
984
611
149
947
865
407
323
74
669
226
360
106
753
285
659
437
756
354
202
58
737
370
800
962
749
323
451
471
123
577
198
636
779
118
191
570
823
622
498
961
523
910
302
127
542
45
790
629
934
308
953
872
993
323
977
135
528
859
651
164
492
203
461
784
203
566
652
13
570
659
536
795
848
449
776
766
442
117
201
475
204
401
935
56
457
833
292
653
746
877
916
839
896
581
118
834
546
182
229
603
719
39
34
795
377
366
69
72
140
520
609
553
528
7
682
8
128
936
338
943
88
401
702
915
206
147
50
236
664
919
250
755
163
94
457
522
797
565
843
986
532
340
508
806
538
993
429
516
963
943
480
27
951
502
75
406
837
775
974
459
497
791
132
388
747
704
257
193
574
479
917
558
702
281
608
671
671
670
207
797
176
806
601
462
890
73
110
771
353
949
511
753
827
460
102
587
189
294
248
252
31
464
288
430
156
465
515
461
556
4
178
779
779
727
99
531
324
844
548
13
321
194
489
151
292
62
160
509
244
62
224
184
668
443
416
551
302
489
670
993
657
75
234
639
377
26
136
687
481
657
700
22
421
751
508
724
650
296
295
548
127
479
836
583
742
805
750
156
182
720
533
468
156
782
830
592
212
258
129
248
602
983
598
182
802
504
744
87
293
753
953
747
182
20
708
473
90
548
505
988
451
852
13
603
91
806
79
923
456
568
506
334
389
696
397
214
687
157
13
152
2
502
749
455
797
161
817
870
204
675
693
769
613
706
160
7
744
811
91
274
758
317
695
62
705
90
33
275
230
660
79
135
971
921
436
243
576
608
108
604
557
840
397
930
500
280
91
815
283
909
567
183
33
936
376
989
528
152
122
309
622
886
212
808
61
780
122
62
759
799
368
383
180
243
306
579
3
55
182
566
642
363
635
867
510
47
976
806
145
82
117
646
448
559
2
8
316
576
730
652
888
630
351
112
480
776
487
726
52
542
500
332
665
548
946
259
25
825
417
274
607
62
708
845
295
430
413
389
726
113
720
211
727
457
147
461
327
418
416
758
852
86
485
99
491
158
8
294
564
610
113
424
427
280
476
800
604
701
95
426
238
338
51
297
432
323
804
681
366
881
256
160
360
919
889
397
192
661
786
446
57
776
215
996
533
195
798
83
782
707
947
674
21
423
400
996
969
459
202
670
603
504
386
493
20
460
957
179
660
15
534
514
423
840
112
127
463
64
1000
548
554
840
919
268
975
95
623
328
784
13
175
297
225
401
178
614
742
865
862
953
747
617
891
656
864
833
174
304
820
707
759
173
573
724
81
681
499
225
477
912
719
46
879
959
675
856
28
149
133
835
394
158
650
516
221
680
406
905
752
546
971
531
755
164
272
645
922
728
501
656
581
876
186
770
421
409
980
965
629
220
980
661
886
798
551
870
203
574
698
199
425
851
994
797
580
302
974
226
920
821
656
287
632
16
580
33
725
816
323
537
506
416
983
528
409
320
503
654
671
295
51
958
493
888
884
146
885
541
249
353
344
473
929
409
876
212
952
66
657
84
869
235
789
19
732
69
197
743
568
619
707
808
736
894
729
942
998
365
786
858
518
355
316
56
328
283
816
82
928
463
396
422
844
974
244
474
942
164
337
39
205
496
980
367
526
797
376
99
758
408
519
348
910
427
122
800
922
978
184
901
875
430
57
159
855
567
550
116
933
992
704
764
908
461
339
55
488
406
390
696
600
667
339
579
368
308
770
55
102
450
155
755
324
265
562
811
466
616
830
143
362
336
142
935
94
835
651
566
30
518
938
10
175
495
679
184
9
210
800
790
94
877
812
958
634
105
765
402
27
664
425
838
206
130
902
164
238
49
893
247
196
353
151
201
800
972
547
715
725
992
343
351
722
244
862
711
916
910
817
26
745
586
925
43
988
263
322
31
267
848
494
380
204
173
112
504
154
929
185
736
44
587
431
464
420
171
603
9
198
705
798
669
12
236
449
886
264
632
768
724
188
748
924
717
247
138
110
670
233
217
969
179
234
679
559
494
495
999
138
810
847
67
580
272
978
341
168
748
355
442
814
908
985
750
537
271
533
428
134
662
549
227
562
936
659
632
489
943
641
125
842
439
235
867
955
54
378
651
88
495
322
757
677
863
751
291
658
347
579
602
620
595
580
664
320
710
388
663
314
212
697
579
78
254
660
259
4
74
606
328
79
945
203
306
904
860
79
456
929
833
756
215
451
928
466
561
944
115
50
272
766
600
668
865
163
554
514
915
721
52
40
596
148
592
494
529
302
792
698
434
895
730
83
682
199
908
968
556
381
22
939
918
778
563
980
37
582
743
704
520
883
435
621
637
973
584
879
883
130
54
359
229
848
946
269
392
628
260
660
410
983
161
373
942
289
218
994
36
456
738
318
507
174
712
670
732
676
945
211
392
525
672
977
615
917
323
11
72
434
132
383
775
902
966
299
751
307
95
775
271
256
632
545
50
555
988
973
662
858
44
744
448
191
683
15
344
408
933
533
399
250
287
945
220
753
675
149
238
218
147
95
453
771
606
843
299
891
793
98
348
870
327
616
866
336
767
124
608
396
604
385
869
886
543
71
496
510
680
950
462
344
999
703
679
323
86
363
873
814
157
975
753
346
281
578
181
851
125
29
740
564
716
482
910
833
467
602
59
661
126
673
575
756
459
836
761
229
159
610
597
856
922
720
21
982
668
978
205
748
606
667
179
295
230
401
241
2
319
947
843
613
755
848
997
328
267
979
816
523
234
368
492
810
312
710
876
559
988
990
825
845
95
577
675
16
976
924
494
728
241
782
274
345
9
415
844
54
105
882
90
920
948
867
15
363
749
908
267
228
212
96
54
698
133
533
745
781
190
833
73
13
703
1
547
309
379
832
605
600
847
818
51
28
331
201
546
959
922
437
265
33
749
819
338
787
806
437
387
119
301
953
271
27
193
915
144
587
1
431
68
120
70
100
711
819
220
998
130
925
102
410
205
692
674
703
101
953
867
453
29
124
964
445
631
849
158
703
603
291
505
26
496
309
802
841
221
340
911
340
465
846
714
998
83
626
198
545
554
77
123
396
746
790
350
352
564
469
200
113
540
218
115
768
57
720
532
967
694
683
81
928
140
181
147
761
203
234
395
876
738
19
57
370
713
610
679
392
213
37
517
410
922
753
998
250
496
318
463
482
292
200
942
507
127
138
830
222
73
424
174
692
836
802
718
656
913
410
7
1000
562
351
595
579
581
22
860
867
65
290
15
977
561
966
653
530
518
797
541
689
546
392
501
438
715
46
840
846
99
443
263
627
807
613
149
773
991
296
797
421
702
109
586
395
9
497
983
78
515
481
982
335
220
647
876
236
734
650
229
236
995
731
535
278
967
424
319
14
287
644
393
975
449
838
548
44
945
717
223
30
670
378
590
518
82
294
54
369
794
733
392
463
762
653
604
310
750
27
108
142
531
836
68
965
140
694
510
858
556
172
343
482
373
414
608
362
403
556
21
11
640
810
415
387
700
787
734
475
662
810
78
18
238
497
679
548
320
852
818
911
246
494
408
415
591
372
402
577
884
560
215
208
412
236
93
236
209
1
705
214
378
49
291
973
145
508
364
219
423
514
312
181
213
122
234
614
860
270
28
537
51
358
1
114
446
882
312
989
996
795
99
197
355
904
501
504
231
665
646
656
202
207
330
558
286
263
305
838
520
977
48
605
904
210
395
463
329
74
675
15
533
887
839
126
690
671
596
233
985
575
777
838
402
352
963
113
8
110
928
238
209
87
601
706
804
112
36
313
197
778
388
963
765
62
972
769
244
276
293
98
933
814
340
392
689
68
560
604
967
309
650
24
598
44
717
157
630
571
412
14
290
34
383
895
70
254
708
261
998
22
77
809
401
329
95
205
826
235
484
245
379
672
915
391
383
510
884
737
165
637
333
452
751
637
702
676
461
895
703
643
672
586
395
546
541
93
82
277
100
801
115
714
924
143
975
678
523
989
868
14
744
180
651
521
680
79
128
615
54
497
597
661
586
267
100
911
598
4
962
831
999
343
105
419
825
17
56
795
730
699
780
921
154
418
240
859
434
724
59
346
765
502
801
806
777
483
139
125
434
45
625
665
137
875
885
9
185
402
762
889
208
694
392
582
775
695
215
829
179
252
646
972
277
366
532
609
364
516
499
482
295
679
30
764
433
912
417
135
567
939
742
260
640
236
705
385
973
510
406
749
694
337
166
450
241
904
97
184
158
513
400
44
834
510
310
152
537
772
201
468
827
764
598
537
433
416
766
307
755
797
85
376
418
585
655
226
740
876
434
25
529
729
734
598
380
182
117
1000
507
144
531
955
199
723
49
90
200
29
736
491
654
448
934
634
760
717
788
128
993
834
893
49
522
28
760
852
460
533
222
981
734
890
994
336
627
845
338
701
507
692
207
72
880
98
274
599
639
4
8
500
315
209
277
884
217
625
45
883
566
999
363
879
122
111
233
908
348
49
897
487
854
221
770
249
717
149
537
726
297
951
905
591
322
652
124
424
346
89
658
844
181
269
345
446
511
451
945
532
726
114
254
63
920
247
831
612
162
48
987
338
345
234
850
194
395
625
245
613
159
585
611
907
45
183
387
502
358
661
142
901
331
897
199
965
52
95
681
718
829
820
696
347
65
880
868
530
381
243
510
494
533
374
550
469
678
891
720
302
658
405
649
50
279
793
193
316
2
899
810
914
86
841
770
245
962
706
776
388
556
363
885
501
341
560
701
598
149
253
441
131
129
324
864
121
808
458
27
747
916
979
476
414
458
868
817
330
569
3
555
513
830
928
716
5
64
85
61
735
98
495
603
169
628
341
763
372
115
767
737
567
576
463
524
625
267
319
675
189
493
466
986
245
209
553
267
106
657
977
839
644
4
107
570
595
840
223
151
444
439
36
761
177
887
155
451
720
531
799
385
429
722
386
526
404
497
370
506
676
660
850
148
613
709
4
614
940
193
389
171
870
392
486
354
747
618
663
724
462
106
881
411
661
173
76
442
426
260
116
138
658
567
645
950
903
184
923
765
699
44
972
54
840
543
957
248
126
388
764
346
284
87
131
119
727
496
566
184
757
29
478
897
603
434
634
248
448
555
80
904
184
100
126
131
212
252
876
559
17
910
32
679
610
447
388
498
184
126
526
23
485
761
677
78
470
750
662
525
807
370
71
119
631
98
589
81
778
751
473
957
394
476
708
504
433
937
295
134
37
583
459
925
231
549
316
323
665
547
645
441
361
119
26
301
556
729
487
440
771
479
244
67
171
699
823
342
138
230
70
432
716
25
134
684
285
574
465
658
340
766
319
771
768
7
13
988
363
817
399
354
634
663
670
137
122
500
566
23
577
317
544
92
312
48
266
299
993
317
6
781
932
869
236
602
658
972
691
472
200
745
665
584
28
155
181
949
46
350
912
500
397
153
431
831
55
741
458
607
398
18
222
596
960
707
10
772
586
957
213
140
63
133
943
763
97
508
373
974
193
758
490
918
612
548
861
359
49
985
378
162
123
381
639
997
68
631
816
562
233
430
381
79
158
761
22
897
981
315
473
790
926
7
706
932
431
322
156
599
250
5
199
363
514
534
112
910
319
856
135
641
854
156
45
918
499
751
880
125
576
792
54
742
643
151
117
273
331
689
861
163
699
175
282
837
23
235
175
574
740
80
753
258
979
216
761
934
774
988
993
717
550
607
3
847
948
245
50
565
383
912
18
77
4
63
109
66
849
333
622
79
114
342
7
681
365
276
693
392
444
803
897
338
604
964
735
965
64
841
476
396
828
193
699
751
69
742
470
267
822
475
356
154
25
142
283
893
191
110
765
153
103
894
993
542
985
940
660
201
509
726
130
631
899
821
782
204
79
332
896
526
545
62
472
197
152
798
760
535
516
370
64
517
84
507
613
538
247
65
898
572
11
908
888
982
902
566
979
541
729
809
343
173
780
457
605
571
813
69
412
93
972
608
497
319
315
860
323
186
267
152
245
915
675
860
383
823
535
327
115
669
707
53
129
413
83
449
518
129
759
14
252
348
718
541
690
287
424
821
488
256
506
386
389
50
407
4
881
261
468
23
656
281
422
153
117
208
698
951
941
9
217
105
829
62
640
578
143
631
99
836
77
934
521
655
376
191
581
455
401
450
165
743
488
70
991
954
148
404
686
968
663
666
184
596
975
922
800
587
635
896
692
103
725
574
729
128
325
604
954
9
89
161
960
139
944
207
466
863
730
115
322
798
875
158
973
134
805
735
136
917
875
62
76
999
45
703
418
98
395
525
843
380
838
595
385
75
84
67
316
899
968
347
726
493
758
685
7
623
958
869
414
666
404
890
750
760
182
279
13
54
1000
313
534
692
161
459
739
515
222
198
160
996
750
884
752
567
326
370
856
341
103
942
427
205
753
521
199
404
625
192
584
22
274
867
961
215
314
271
920
677
706
545
750
552
183
413
128
952
514
302
543
300
676
771
444
945
844
324
496
912
270
22
612
145
790
283
617
360
668
941
496
423
943
927
196
233
277
906
842
210
520
815
78
865
885
557
914
363
640
1000
162
648
724
43
2
515
523
770
728
911
328
576
32
908
681
760
454
24
877
251
781
985
400
29
254
616
954
334
412
264
55
921
271
44
869
475
342
259
64
806
668
520
8
557
664
472
535
28
56
533
853
131
615
718
902
636
695
461
618
658
841
309
101
737
807
520
668
995
422
869
92
553
632
444
154
849
924
789
767
507
90
538
528
151
940
599
560
932
147
1
873
547
881
783
296
222
268
664
227
484
990
787
83
516
552
534
314
576
817
258
312
241
429
794
368
223
661
780
36
108
20
148
975
680
694
615
312
371
526
659
104
39
767
236
282
454
267
475
758
830
145
655
59
266
220
80
912
192
633
828
710
784
186
982
680
833
865
648
886
751
933
958
869
225
715
307
913
544
942
273
356
745
83
23
378
577
608
505
963
718
548
436
517
794
20
872
750
576
614
162
965
97
674
212
912
580
539
285
649
788
736
1000
695
810
2
818
897
363
721
57
14
404
71
383
47
225
697
837
690
212
234
640
117
163
378
447
503
367
460
241
326
677
723
776
454
442
546
310
532
469
901
405
939
178
229
736
875
698
730
161
757
971
801
795
177
821
969
488
105
584
222
857
909
101
59
14
22
795
958
219
767
128
185
952
928
921
48
314
159
913
772
255
195
451
119
834
156
406
780
642
927
218
356
514
709
511
401
904
377
835
654
620
178
930
36
136
666
349
443
393
479
425
654
776
740
315
920
983
392
319
902
616
740
745
693
622
847
328
578
160
200
654
48
82
215
47
327
982
771
141
352
665
926
688
680
988
366
226
319
255
954
874
795
703
932
890
127
206
972
608
507
999
255
37
625
68
228
709
569
904
481
318
126
443
446
335
174
376
279
45
507
472
293
395
141
200
822
631
626
736
222
948
364
389
3
281
274
577
747
922
393
755
583
876
169
125
429
720
269
512
167
271
709
535
149
565
956
92
214
451
497
211
449
653
2
536
482
261
853
41
10
447
286
131
602
665
818
897
550
699
956
168
695
736
376
943
701
29
940
974
211
848
898
495
673
143
623
618
422
750
22
470
739
23
565
922
234
516
490
693
857
671
373
679
253
544
644
567
974
236
87
231
273
82
598
894
809
613
689
784
623
980
314
850
172
836
614
113
31
624
64
403
120
859
354
562
955
263
25
668
489
543
541
463
528
191
995
994
625
950
102
382
573
469
462
784
340
249
364
837
335
177
520
328
411
849
220
375
882
373
366
165
166
561
703
160
328
234
374
742
961
887
612
458
321
80
973
390
592
770
25
676
462
237
825
894
953
378
821
835
583
951
42
163
481
752
585
633
62
804
421
780
195
420
496
491
602
341
955
449
380
281
64
213
138
866
77
606
209
365
835
178
818
620
410
716
866
283
420
189
215
782
988
28
959
466
468
381
204
15
189
796
281
506
442
833
184
511
883
255
221
202
309
778
561
736
510
852
364
120
515
554
675
336
101
514
102
775
855
690
593
914
459
967
278
740
90
776
447
630
5
378
199
287
452
10
239
833
11
840
531
377
361
556
296
183
227
461
909
90
10
132
786
968
123
96
290
817
646
439
989
574
245
968
370
813
680
360
238
317
417
714
591
918
984
49
707
92
787
619
565
561
986
311
471
542
940
60
946
341
430
925
520
716
579
427
58
800
913
797
643
405
510
42
838
202
559
87
369
635
913
846
875
403
453
710
381
4
144
872
617
152
682
848
81
830
552
777
34
386
112
380
238
318
59
946
288
381
260
356
888
197
468
943
221
809
866
931
913
541
770
331
694
53
37
383
980
725
909
119
101
360
80
125
752
726
760
373
588
655
369
846
570
227
303
737
786
109
884
186
4
227
231
912
113
786
264
569
977
118
486
340
938
947
502
121
360
438
446
616
162
862
633
782
236
746
773
413
18
186
41
30
250
341
141
918
139
251
240
859
718
772
347
68
188
849
239
893
423
345
531
83
618
333
868
796
278
100
498
97
343
129
664
359
279
935
389
870
388
984
185
923
418
866
173
885
802
526
875
15
491
613
711
320
402
988
820
358
970
965
377
690
133
154
39
643
375
648
466
154
111
876
145
699
800
637
896
782
629
735
506
974
548
123
918
279
700
685
266
452
27
602
850
950
923
756
836
417
345
778
43
918
717
151
719
697
273
248
590
869
253
315
789
288
509
166
515
840
593
819
374
499
415
363
411
827
872
127
771
21
648
596
789
217
558
587
45
548
373
926
610
329
91
224
233
867
967
387
749
581
455
170
309
540
408
443
369
43
484
813
531
587
762
915
453
406
948
992
29
804
443
338
975
631
726
824
743
626
190
970
451
797
615
2
88
656
903
890
864
926
574
626
940
282
806
906
187
791
451
923
826
998
572
224
8
985
504
420
416
354
368
91
986
775
253
413
688
652
975
854
126
496
479
808
377
794
416
167
119
518
404
666
574
936
774
273
227
52
371
40
582
825
113
600
453
309
556
930
401
975
688
96
990
791
526
436
447
72
864
39
181
722
696
454
371
254
427
255
475
898
967
478
100
161
200
970
135
475
121
360
443
901
153
741
660
460
751
90
899
318
430
175
183
923
795
944
513
220
955
401
317
206
963
577
901
450
568
488
201
648
610
892
806
952
843
282
718
587
860
759
795
221
25
356
139
671
32
939
968
783
766
32
670
735
655
764
784
607
570
696
654
775
651
438
370
581
145
840
389
779
449
7
930
451
64
558
840
440
120
363
114
878
431
441
695
23
804
839
456
491
463
84
530
894
992
237
254
90
175
661
53
495
465
377
500
395
586
272
682
775
943
484
716
974
124
20
932
349
725
7
830
266
159
34
352
906
904
705
428
818
835
878
9
636
929
60
19
149
626
67
741
687
575
386
160
879
304
641
691
939
631
170
567
18
225
10
830
595
837
526
564
555
124
511
485
370
892
802
491
755
841
412
95
299
564
695
931
791
650
288
686
426
220
458
868
618
123
1000
806
895
319
11
145
230
697
725
905
219
660
63
830
693
376
741
403
741
458
553
351
599
245
932
926
556
522
17
524
838
713
213
459
417
113
689
824
831
673
333
396
393
257
433
523
616
991
770
726
294
584
838
553
434
10
667
849
146
981
45
202
712
999
15
756
215
616
156
24
584
700
551
557
370
136
292
556
343
431
65
609
791
76
642
716
473
393
84
715
296
803
80
995
153
122
127
146
808
520
179
801
379
256
5
465
733
152
718
578
97
49
861
398
255
155
992
549
989
297
905
238
839
545
531
215
816
612
63
519
450
705
39
947
448
216
984
944
248
774
650
321
994
676
126
822
799
654
824
17
655
269
862
478
59
953
472
433
212
884
825
397
650
401
134
348
291
657
944
73
200
550
301
272
783
746
881
812
772
799
207
326
91
933
826
975
640
58
669
778
76
984
845
392
943
589
822
587
852
923
264
952
977
825
817
587
834
665
767
584
152
235
816
154
673
676
186
140
879
512
873
478
974
585
178
902
912
650
527
805
946
926
254
712
900
708
188
264
378
436
862
956
192
309
659
131
576
579
482
891
145
181
356
654
173
236
940
61
457
274
81
807
939
715
402
780
310
282
410
560
997
530
746
928
320
593
43
572
84
608
281
541
581
985
691
368
755
859
8
941
314
611
326
413
669
277
888
390
895
77
895
661
362
6
825
508
275
664
807
457
137
41
312
937
68
990
794
908
978
497
955
2
830
673
963
72
628
605
332
347
281
781
135
598
223
886
891
782
512
133
789
667
133
158
840
844
432
749
210
342
893
305
248
791
978
991
649
712
384
999
804
37
856
207
609
422
648
778
943
245
843
925
552
456
982
173
299
586
899
891
644
306
207
808
686
894
631
514
347
853
263
633
73
695
862
511
948
615
513
741
256
373
333
803
356
194
406
420
173
935
806
961
753
49
399
387
95
132
83
764
922
955
272
360
118
911
721
654
343
766
238
417
693
448
446
150
386
339
491
786
124
243
557
517
179
728
81
32
271
18
817
242
993
33
276
773
880
398
621
121
208
488
783
395
277
636
439
996
220
672
488
398
372
837
833
462
837
951
616
339
170
451
528
77
30
507
427
515
264
4
349
884
92
582
878
838
9
308
11
296
556
782
869
555
324
648
47
643
448
572
979
755
350
670
389
932
704
314
838
838
402
971
375
621
836
463
522
353
931
620
195
459
186
790
621
913
458
109
58
685
328
733
874
78
668
452
579
156
481
258
513
411
147
451
181
181
990
827
716
113
447
334
504
125
217
337
806
921
447
283
120
86
423
159
95
199
218
563
47
189
478
623
518
384
839
268
848
296
468
565
452
228
889
895
328
196
546
812
356
505
544
258
98
558
596
705
144
104
523
460
535
213
556
24
416
692
302
932
889
553
465
938
956
372
333
757
579
112
586
835
130
3
209
779
922
615
162
143
94
120
981
236
848
57
669
517
938
621
100
898
330
604
614
996
175
649
672
956
586
379
235
987
212
347
989
141
297
416
676
212
700
410
555
827
375
351
467
955
909
610
47
83
42
638
397
240
517
717
924
937
241
350
103
793
466
500
649
323
658
855
964
911
770
722
716
456
861
926
140
593
430
316
955
624
327
90
811
549
839
163
810
629
394
251
984
951
333
141
552
376
383
901
417
39
771
385
634
339
422
472
516
944
299
924
644
896
751
612
273
345
688
122
563
769
500
458
583
819
889
598
288
62
244
193
522
995
700
558
623
630
824
437
417
889
692
702
193
772
223
286
784
12
789
149
998
480
511
30
483
137
143
34
554
742
122
873
647
816
196
723
831
624
994
183
247
28
88
814
449
133
334
91
341
566
784
343
832
92
26
484
375
20
586
879
283
511
962
686
83
476
902
439
184
206
800
388
851
293
445
380
779
637
934
620
598
573
224
716
249
221
683
823
529
179
1000
518
27
590
979
314
322
426
84
329
577
553
63
700
605
799
628
782
76
726
969
42
773
318
803
821
716
91
807
815
517
409
504
222
583
960
120
968
602
390
491
339
318
83
834
641
770
952
87
229
11
891
562
323
816
226
852
616
53
112
302
523
188
317
858
338
876
249
769
233
685
409
470
223
818
653
909
758
90
806
780
560
545
184
349
687
815
527
79
592
750
705
803
80
892
307
13
716
87
876
707
153
900
135
332
302
537
14
607
29
638
672
353
309
674
984
58
335
657
179
551
143
533
374
62
721
952
807
917
400
33
430
317
577
423
372
966
449
172
507
780
514
918
967
565
14
444
5
342
409
943
34
943
190
183
34
605
59
387
755
560
560
798
315
46
744
819
876
702
347
104
16
95
260
209
329
966
773
198
559
868
209
147
259
20
49
602
588
615
613
889
325
284
675
613
633
112
131
822
393
426
979
86
166
544
453
170
969
824
56
85
72
643
658
25
4
379
556
130
746
89
587
43
915
326
972
983
324
457
537
378
954
943
377
188
775
223
824
683
276
300
766
813
847
601
19
281
320
438
439
115
107
226
900
805
372
626
106
71
553
964
428
924
424
593
621
988
551
347
298
955
678
875
544
655
72
433
859
472
330
675
941
728
480
75
462
220
480
878
96
324
349
906
529
930
289
116
82
18
47
524
902
865
744
29
336
705
85
674
267
176
646
119
688
31
461
431
702
399
684
829
513
357
490
661
658
682
704
762
924
450
859
272
914
563
543
166
192
379
889
33
317
397
40
85
815
295
256
980
349
744
78
833
908
78
643
666
824
318
786
662
847
45
74
792
269
319
252
789
338
175
912
978
787
229
361
169
338
566
759
693
459
418
634
652
502
74
749
625
565
117
160
434
85
339
974
989
211
620
7
932
474
673
21
564
123
768
705
481
773
485
877
475
691
71
681
507
119
233
666
971
540
33
747
55
657
92
982
740
200
523
14
831
343
793
783
526
655
272
832
142
11
350
102
58
838
813
640
383
370
633
51
567
365
478
816
971
856
975
868
416
57
249
905
855
533
299
980
600
61
570
840
14
440
442
340
144
607
438
6
576
87
664
500
673
712
365
270
461
5
516
192
655
379
32
343
679
541
553
371
116
89
727
79
697
313
583
983
808
642
897
575
499
9
411
936
144
642
389
197
254
447
288
10
377
179
220
879
715
82
523
702
824
514
954
319
764
377
961
239
137
808
23
928
730
717
286
247
898
202
566
659
390
797
357
822
59
803
623
59
785
648
33
973
982
362
767
175
252
738
191
699
125
714
502
165
317
817
904
173
616
261
16
738
338
437
971
772
252
72
111
779
50
318
272
948
686
370
399
771
402
989
639
172
826
495
99
881
328
374
216
443
705
604
2
830
356
261
503
99
356
690
463
894
186
816
547
919
455
705
466
660
645
577
983
752
740
841
130
402
654
599
886
163
502
272
215
188
109
676
643
835
638
901
463
70
810
822
289
717
61
929
868
993
844
430
35
148
466
272
189
266
59
782
924
455
735
150
310
717
532
846
839
759
499
384
256
897
159
533
305
977
614
213
960
941
783
825
806
258
592
667
116
950
483
477
565
345
233
813
693
17
942
193
996
594
3
414
936
239
15
468
288
648
898
807
958
357
905
511
825
993
845
46
227
858
593
936
395
898
877
614
555
677
406
138
408
459
638
261
405
845
881
533
567
758
948
752
601
702
304
82
704
354
483
592
780
547
586
795
737
606
815
24
161
822
353
104
960
567
344
844
464
201
410
327
115
426
887
846
64
210
961
602
958
756
945
937
708
212
240
6
277
31
916
224
385
900
438
759
563
178
780
636
167
643
79
702
800
124
7
864
115
309
233
468
71
602
739
682
585
415
215
24
946
685
480
945
495
733
658
515
854
798
843
814
414
707
121
576
897
191
105
18
531
287
598
543
813
113
595
184
851
68
605
242
46
172
194
561
189
809
715
276
128
628
444
668
806
737
693
986
834
594
61
676
756
216
636
520
809
397
858
576
290
664
744
672
636
576
342
428
885
822
630
431
543
266
521
248
739
744
312
404
204
942
678
329
813
113
274
548
354
778
131
51
750
758
248
883
156
98
263
473
252
473
608
106
550
656
318
270
754
512
527
292
17
748
757
804
464
370
275
104
483
371
174
388
114
699
328
185
311
941
57
39
999
505
153
658
596
290
897
271
137
952
844
915
205
943
436
731
624
411
974
112
287
906
48
732
530
613
333
62
199
453
544
974
912
8
430
424
59
655
916
9
765
708
907
398
376
637
772
259
19
621
269
320
480
804
509
620
882
629
558
858
690
510
475
970
135
951
880
717
442
935
643
121
207
19
924
38
820
133
570
23
100
507
862
917
217
500
657
260
510
368
291
711
59
156
984
155
714
987
87
70
819
964
233
20
71
818
340
861
766
187
473
355
202
124
746
408
162
24
830
60
189
668
119
738
862
491
301
937
376
487
889
741
523
419
241
53
603
94
768
432
881
526
287
759
954
738
945
735
803
817
747
408
349
570
474
468
69
807
708
89
569
843
742
451
91
280
399
903
537
497
164
918
32
604
571
615
945
749
502
652
23
817
906
697
553
546
442
531
442
975
746
94
749
5
337
388
454
520
636
244
192
193
255
392
285
622
465
155
629
857
721
343
915
774
231
603
214
982
809
586
167
89
678
736
912
279
463
451
384
62
342
639
821
972
212
397
164
784
777
674
491
483
655
293
849
834
964
619
573
910
366
511
730
343
188
936
383
369
120
746
179
978
898
701
211
602
583
754
152
814
314
996
457
439
843
417
790
356
813
825
923
990
458
835
53
180
350
850
851
671
886
337
613
936
437
489
528
440
463
621
451
716
462
190
552
843
302
426
867
995
345
925
82
738
789
422
866
671
825
204
658
818
528
237
124
907
873
167
420
285
925
803
981
788
25
538
816
289
768
451
187
20
636
517
115
11
471
409
345
156
328
888
331
474
868
662
257
105
166
903
364
484
696
314
640
888
306
748
460
272
178
914
908
895
160
629
308
737
328
387
986
135
332
794
370
377
898
523
358
198
843
26
264
291
85
181
805
938
436
420
283
847
418
653
548
101
942
491
394
896
446
837
736
399
24
911
286
632
143
175
513
750
773
426
298
471
156
510
91
696
961
765
327
556
306
290
560
213
947
567
25
754
974
814
375
423
518
660
882
259
275
416
744
927
181
211
22
159
157
789
350
764
676
566
794
593
835
856
146
223
729
833
495
341
180
882
146
1
308
493
796
981
978
728
450
441
922
605
712
964
199
454
932
850
705
398
202
224
661
664
324
117
326
303
714
183
748
299
631
134
982
725
280
273
64
782
99
757
4
108
968
326
178
694
187
284
835
93
798
456
839
426
249
698
404
810
434
287
331
452
885
171
172
630
243
655
834
177
172
540
352
894
561
124
955
513
219
777
98
452
222
955
819
630
774
667
656
34
717
368
355
539
814
190
769
781
533
233
692
445
351
352
834
467
529
531
784
39
893
437
607
216
414
217
679
162
273
939
444
777
665
332
69
507
804
643
378
641
471
495
14
292
967
608
531
562
529
120
984
83
88
30
636
280
776
985
618
174
706
226
694
497
390
9
846
232
604
238
27
401
644
357
257
99
690
774
254
300
434
222
869
947
203
491
956
157
585
919
694
209
938
860
46
82
240
134
737
960
453
81
122
77
935
453
327
665
470
815
317
595
184
531
927
488
913
693
413
697
654
514
814
575
303
865
245
878
268
574
270
985
461
60
661
843
812
682
190
208
732
897
559
797
879
963
242
424
171
450
767
49
240
270
970
961
425
288
789
972
962
817
503
589
239
485
686
628
863
999
739
610
814
338
612
608
134
758
171
895
464
789
772
881
208
111
734
316
283
768
824
714
213
698
328
223
777
975
993
954
584
462
908
915
666
808
420
224
675
840
276
272
320
456
506
841
442
53
991
966
532
366
288
501
541
381
20
941
578
596
93
28
412
526
33
76
786
778
15
747
186
423
496
216
60
684
962
280
506
122
935
989
63
638
309
801
572
593
37
89
33
249
415
81
13
583
472
951
418
219
532
834
411
867
575
989
804
201
872
208
553
526
301
836
829
960
848
435
753
103
78
236
55
307
767
960
819
760
462
550
990
555
483
599
499
783
738
13
727
496
797
520
489
72
860
201
908
105
599
102
336
455
379
359
957
501
45
972
814
961
242
535
806
864
277
772
606
392
620
679
562
329
456
454
383
834
156
148
819
65
126
159
593
948
266
278
580
62
187
967
566
161
408
963
994
324
988
94
742
129
441
407
355
496
311
312
127
76
494
479
92
131
269
649
296
868
960
340
678
105
386
687
519
951
534
286
691
917
378
980
868
503
434
957
473
842
397
420
350
415
182
356
86
212
781
580
434
971
623
356
542
270
545
351
527
333
35
597
493
375
166
414
249
199
518
984
853
522
411
353
576
244
19
178
53
416
228
454
194
211
665
782
884
603
983
501
638
758
278
127
140
387
552
107
48
436
230
854
514
513
38
390
637
401
33
695
460
872
133
40
181
726
295
155
967
704
398
87
131
429
949
992
463
42
983
898
178
577
900
698
306
379
539
238
333
87
472
388
550
806
372
412
888
65
319
779
979
106
72
812
807
836
669
190
577
533
173
409
397
980
75
726
916
282
582
994
344
32
43
85
167
866
820
216
428
673
195
659
673
915
330
722
516
557
853
850
318
108
381
949
663
108
200
782
128
246
325
364
392
920
401
837
816
697
245
208
499
620
335
682
236
700
247
46
951
298
829
725
943
265
922
663
724
883
541
158
321
669
748
123
650
53
887
39
988
768
454
28
615
582
655
58
428
629
605
288
682
189
200
943
64
211
943
940
974
294
364
651
226
86
240
836
403
274
519
800
719
444
690
226
574
76
379
1000
956
857
106
565
439
324
460
3
849
552
445
65
548
256
362
872
934
181
428
823
963
131
232
570
415
314
276
547
185
939
86
657
106
163
823
202
654
560
856
20
458
253
546
122
671
711
330
809
147
49
261
374
826
299
365
6
914
764
509
451
240
58
18
305
622
837
913
570
239
561
502
225
737
829
11
144
259
987
93
631
686
712
344
213
83
250
400
98
808
805
812
898
738
355
629
777
840
822
576
178
632
85
748
711
161
803
16
525
763
405
683
755
242
879
519
217
85
170
954
539
3
144
119
375
359
14
385
146
60
96
256
12
74
536
788
428
29
401
169
663
273
137
765
148
384
957
701
382
352
128
17
352
547
515
532
172
188
969
818
664
183
314
108
129
152
754
528
435
900
504
784
870
861
308
312
892
815
319
958
34
731
495
440
752
688
248
206
910
686
627
827
946
588
692
698
494
580
60
700
390
291
851
399
525
184
355
537
990
873
812
846
302
814
614
674
281
196
98
503
324
918
857
229
399
262
149
966
75
238
548
224
305
618
482
545
474
334
634
64
428
287
521
993
826
591
718
765
167
929
320
383
286
25
218
565
914
179
690
434
179
459
632
825
536
385
447
773
686
928
278
359
485
185
783
926
729
369
100
583
958
651
994
49
87
942
438
144
796
933
49
660
48
562
838
897
36
632
748
914
154
469
296
403
287
346
448
163
832
929
530
322
384
100
597
845
962
383
152
352
951
614
571
951
696
640
848
615
846
624
546
610
52
932
940
624
627
705
392
539
115
934
926
231
486
302
833
401
873
54
877
200
317
939
354
318
1
596
795
301
848
793
607
78
134
624
304
67
13
107
282
792
438
599
272
608
985
144
706
27
532
132
248
126
553
636
635
683
47
431
806
38
759
932
3
133
391
274
181
827
986
316
585
395
507
593
786
37
906
187
844
361
683
987
495
49
970
67
428
341
712
774
796
535
377
636
63
457
952
387
174
721
676
265
832
639
84
205
340
879
446
733
78
260
629
157
180
669
720
112
411
665
513
677
513
238
82
997
573
123
239
839
47
217
611
564
133
969
459
754
132
9
101
147
261
952
9
570
174
16
224
300
64
63
691
644
829
700
578
543
226
359
367
729
335
613
780
254
937
560
165
253
597
809
35
420
350
425
832
19
889
259
862
186
58
189
558
918
289
189
894
431
322
577
803
474
200
458
937
812
45
159
939
313
584
401
703
987
727
78
746
885
762
751
905
981
892
401
84
23
900
557
630
893
719
635
264
161
535
235
166
404
874
161
942
311
771
144
724
796
774
612
575
110
984
332
703
433
778
465
739
542
177
351
453
922
31
364
873
145
325
283
690
393
968
944
227
798
335
368
1
625
702
179
92
421
482
886
114
959
783
518
584
159
439
182
846
222
81
335
560
894
248
976
925
93
764
454
449
162
869
362
95
648
621
774
49
805
151
135
192
21
215
273
610
942
347
331
103
393
601
882
720
93
535
149
796
771
599
35
833
537
555
620
846
254
870
886
458
231
335
695
123
756
260
476
332
881
706
622
577
379
179
368
111
990
75
776
294
907
979
515
392
965
579
324
244
115
588
386
113
624
559
380
404
860
869
619
628
674
502
532
178
157
462
712
10
992
775
895
285
694
87
536
392
806
801
84
554
499
543
680
375
89
509
747
285
715
897
891
828
761
199
554
118
681
607
153
618
520
160
787
571
796
548
140
65
403
676
932
686
843
204
98
195
385
266
906
448
766
493
394
60
612
284
814
911
74
978
276
707
102
234
399
199
350
441
600
579
990
420
556
819
567
69
545
396
646
784
563
944
158
733
592
834
263
58
935
616
70
98
278
533
723
587
26
20
227
561
501
250
850
432
790
268
142
237
393
201
360
624
330
376
611
509
28
889
104
682
150
339
707
852
493
979
427
746
233
497
527
934
80
11
735
958
356
613
408
237
627
8
586
937
271
335
548
671
275
281
909
472
666
975
268
929
158
966
160
790
35
770
345
578
802
124
518
16
852
67
142
100
243
423
433
689
706
85
482
408
148
722
129
438
280
209
477
534
436
103
873
198
319
961
765
514
194
152
109
563
989
97
872
686
890
534
781
151
264
495
638
890
161
175
425
85
243
761
936
326
687
591
868
960
529
733
125
34
933
167
617
909
84
301
949
257
768
442
255
623
182
226
838
156
234
692
453
451
371
884
822
627
986
376
400
935
585
103
515
207
173
223
756
394
797
523
861
307
770
39
450
419
857
165
629
249
651
506
904
404
413
111
828
868
897
552
521
452
63
499
533
647
131
67
512
300
121
234
803
630
885
35
401
101
652
109
663
605
272
370
785
185
667
251
352
292
491
16
182
171
623
71
292
522
922
107
50
26
619
144
490
652
833
239
313
953
941
701
329
691
983
149
961
202
836
638
946
900
616
368
582
186
681
249
675
821
635
627
879
501
918
84
231
2
972
84
526
720
417
611
628
894
414
664
934
76
152
625
4
656
419
70
763
388
343
555
836
861
674
253
257
858
444
118
240
340
432
406
748
586
640
976
307
655
889
776
887
929
734
335
702
934
118
843
462
61
574
660
961
55
337
670
860
348
411
925
207
429
520
477
521
404
839
79
239
861
636
733
964
936
204
656
198
218
19
323
210
749
632
695
265
921
648
585
685
515
66
414
114
464
360
275
948
181
967
289
51
477
247
758
809
112
552
486
66
55
787
966
676
354
737
810
256
347
445
946
218
610
172
599
305
642
791
20
668
807
998
241
3
441
386
889
351
361
248
236
996
253
971
200
272
499
6
984
232
104
706
406
843
260
748
720
798
994
511
948
76
38
483
272
120
796
745
72
842
767
611
570
730
331
767
826
998
130
624
85
40
604
137
39
499
392
62
617
857
453
473
340
800
725
348
106
574
81
251
502
139
138
417
406
258
220
47
674
538
376
273
178
80
921
3
307
599
396
868
349
809
187
531
802
423
299
948
791
308
966
528
210
247
802
768
163
259
215
623
508
616
650
807
85
561
44
214
273
182
547
894
68
109
165
336
792
454
498
370
877
919
141
604
909
97
648
204
258
794
170
768
174
588
12
181
198
2
399
654
71
332
673
582
142
660
991
480
396
559
352
982
858
790
455
864
82
590
424
69
852
248
955
992
9
294
771
628
531
992
604
763
617
836
76
81
525
377
974
892
363
28
416
236
852
466
301
265
322
875
276
123
848
525
149
56
489
154
344
81
39
191
488
378
580
94
696
480
380
10
453
484
375
499
244
720
536
287
257
790
924
893
546
408
137
483
997
246
137
521
360
858
170
589
348
806
592
282
537
302
951
205
377
45
583
936
128
458
333
267
970
157
727
158
813
361
96
636
605
892
674
274
18
580
678
4
465
165
720
761
330
239
684
824
124
390
378
849
78
465
842
221
296
778
203
795
191
180
335
90
394
140
421
671
694
354
682
846
868
962
177
741
453
147
604
516
579
752
427
768
49
547
530
148
688
963
798
827
868
436
694
736
797
973
957
447
795
197
976
112
344
926
291
190
104
280
928
527
463
429
944
969
427
351
658
864
831
383
524
707
903
939
491
696
211
478
17
160
869
714
587
651
699
97
717
997
715
782
946
775
900
678
224
443
760
669
472
872
534
777
799
109
269
853
16
11
197
369
648
794
958
22
586
659
276
151
908
379
623
427
138
161
249
864
417
126
738
991
634
503
864
907
538
964
148
57
283
585
930
759
612
602
207
931
149
442
715
989
827
549
989
604
548
141
177
852
561
366
423
302
907
289
535
768
493
740
472
761
20
379
900
177
39
209
718
368
862
417
964
565
913
620
968
561
404
540
983
653
855
652
735
140
93
594
546
47
845
988
721
373
924
852
859
842
332
961
660
54
285
366
543
975
298
771
125
892
994
624
175
323
191
584
178
891
213
495
68
829
44
117
965
609
154
652
27
180
318
519
621
432
759
943
60
785
274
655
108
276
783
411
294
102
932
100
829
348
943
913
583
558
901
440
157
858
76
561
536
597
650
713
218
841
469
430
967
615
6
64
561
469
790
243
990
816
939
944
559
506
300
989
269
241
928
453
678
800
265
686
135
499
467
638
953
947
747
738
578
974
499
834
300
537
207
603
348
520
849
397
524
618
577
719
642
907
927
377
131
265
748
901
136
562
288
1000
315
415
640
664
331
342
816
15
727
355
271
180
459
391
606
246
891
495
522
829
438
319
836
939
385
350
504
541
619
253
174
722
145
841
711
396
299
502
538
271
501
335
388
189
251
878
237
7
821
60
782
908
757
928
812
410
869
786
209
342
878
601
126
785
234
923
107
269
952
123
488
552
456
425
504
937
560
94
879
402
702
145
578
787
445
80
581
893
115
546
233
636
122
216
740
331
185
893
860
768
173
596
689
999
770
342
726
640
459
465
63
80
627
548
647
168
737
479
21
857
552
713
889
792
429
560
110
10
515
190
455
783
519
112
585
104
387
64
196
492
827
620
236
592
129
332
421
505
138
889
7
923
552
594
929
907
939
468
980
579
16
388
633
114
732
1
505
126
679
570
212
981
180
542
541
613
159
378
466
134
569
98
500
902
721
87
290
751
313
920
151
751
359
375
453
228
504
309
378
749
373
825
600
456
746
962
848
419
321
185
163
653
748
122
890
79
447
287
93
958
424
58
133
293
950
774
604
260
489
635
701
994
713
25
338
948
786
1
30
605
351
923
645
550
830
663
584
750
688
360
889
469
315
459
43
375
38
628
959
272
566
213
753
380
885
83
424
231
171
72
493
66
849
735
981
84
294
819
849
9
22
651
154
224
396
655
766
169
69
318
391
755
351
244
61
334
682
367
1
144
211
19
950
213
260
288
610
418
85
41
901
783
936
50
43
104
891
903
356
697
296
747
826
384
960
480
116
854
422
692
731
159
724
517
455
453
108
576
26
993
993
340
249
119
375
606
378
124
545
206
686
929
633
762
559
25
21
59
341
419
122
559
411
196
365
716
678
907
474
969
713
161
300
749
281
719
530
394
901
875
569
584
354
134
762
834
809
989
939
582
301
151
912
643
852
690
202
135
435
390
729
518
326
67
661
26
110
726
888
624
769
217
840
593
837
476
488
981
530
535
405
454
177
225
707
531
994
909
537
810
464
629
515
506
133
774
246
613
660
763
522
9
304
219
357
98
893
863
348
950
471
626
163
458
474
531
124
717
286
525
986
687
455
738
979
247
693
648
125
847
11
215
635
380
984
357
933
289
214
49
467
637
484
936
19
598
993
585
652
832
302
426
801
273
330
946
250
142
793
983
906
416
986
768
355
545
695
949
152
958
330
978
663
771
88
101
106
174
42
690
70
144
614
784
446
521
766
563
172
977
631
885
623
66
997
195
782
412
228
854
565
13
765
384
804
836
271
230
395
118
906
346
117
287
916
378
422
989
980
210
290
478
255
400
877
561
129
390
274
343
24
408
144
254
433
643
415
248
558
650
460
577
557
913
412
258
396
155
344
222
751
290
74
110
240
893
218
891
486
657
999
777
172
624
976
388
299
866
534
784
313
921
488
746
629
523
619
653
356
50
265
409
704
712
405
130
632
680
785
727
781
243
726
89
655
628
222
305
279
252
817
258
305
86
544
952
624
236
870
155
85
52
247
270
835
864
306
889
124
906
196
132
175
128
867
706
849
352
307
595
393
685
900
445
512
176
80
985
383
458
433
277
983
526
196
207
289
837
923
383
495
677
682
520
368
56
773
473
270
481
380
319
169
583
996
263
186
964
705
682
804
597
628
346
929
773
927
697
389
901
755
57
295
437
478
859
944
828
278
262
568
641
8
32
296
995
762
195
157
973
189
758
800
976
1
749
908
854
495
937
916
223
139
852
777
601
457
135
955
830
492
843
778
843
127
49
528
954
397
969
397
730
731
895
524
995
738
416
879
653
769
743
637
848
979
512
82
432
23
56
766
826
846
993
815
175
244
969
837
70
3
480
827
268
472
68
829
540
337
562
898
197
256
690
78
917
725
133
678
173
243
10
148
992
386
864
220
744
886
444
815
382
190
974
379
884
254
132
984
645
528
678
493
224
179
513
561
140
610
964
37
425
238
276
611
199
315
593
162
870
302
203
330
457
933
470
303
142
636
653
643
406
436
766
282
995
798
747
476
527
128
461
576
781
820
481
5
555
788
171
677
527
409
314
427
736
676
435
727
129
154
993
57
137
7
833
848
368
989
630
811
352
765
588
838
699
380
304
352
184
958
553
172
34
996
715
481
135
694
717
468
962
838
642
545
784
675
625
857
112
67
239
931
384
983
368
928
638
24
441
943
270
267
27
170
2
174
978
605
894
693
715
90
536
970
800
203
587
276
621
437
475
863
895
606
357
449
685
199
436
963
805
673
336
991
822
307
521
74
330
295
673
672
812
216
536
98
212
875
989
224
270
793
2
47
802
288
696
517
337
181
938
151
992
638
785
35
979
577
606
800
926
343
902
24
46
85
690
301
249
368
799
925
482
84
601
704
943
643
487
962
337
773
878
170
985
972
685
976
460
832
888
626
366
981
381
897
39
361
271
700
243
916
600
450
363
542
860
161
231
325
703
956
461
673
10
367
109
938
802
355
515
528
556
448
470
292
126
800
178
197
855
219
69
897
416
450
210
846
618
60
896
6
680
306
59
63
482
249
245
271
891
225
295
722
550
485
296
858
471
455
34
538
326
601
978
799
617
325
745
742
778
683
140
655
835
929
96
544
476
110
285
766
229
942
718
319
5
228
408
666
411
910
44
688
127
668
678
435
83
649
609
919
377
529
23
65
644
590
462
322
76
928
841
121
403
210
581
569
940
639
401
262
209
890
437
113
770
835
673
411
614
830
97
125
903
139
615
634
866
878
518
640
407
497
199
27
342
375
926
815
203
606
670
151
237
405
409
504
588
874
838
837
594
37
150
546
862
168
392
390
12
439
903
464
13
817
534
507
611
968
652
488
661
635
430
453
78
609
553
87
739
923
258
299
899
363
594
422
595
715
875
271
74
459
582
419
482
733
363
512
937
501
383
358
646
809
985
807
875
903
531
179
465
753
310
71
58
247
627
923
345
895
532
653
495
395
147
970
331
817
254
756
5
507
578
24
644
984
252
521
927
295
6
4
592
276
993
580
666
142
563
269
577
666
920
128
394
954
374
859
137
515
784
809
486
839
900
669
238
236
529
978
541
1000
814
744
288
312
515
126
47
437
814
104
543
901
84
534
40
329
19
790
909
524
748
440
330
211
826
54
304
568
515
289
129
305
394
857
65
600
122
843
158
618
138
114
99
718
197
230
574
674
872
362
728
438
617
205
298
992
511
762
447
856
583
196
557
670
465
630
40
61
185
919
757
698
120
906
775
51
460
629
986
843
60
255
620
633
243
288
746
249
908
700
698
49
300
224
742
85
949
993
431
308
530
58
814
875
918
124
89
477
247
971
335
366
597
663
687
404
823
594
668
46
125
842
455
621
195
88
503
677
152
576
320
414
23
200
166
459
246
822
116
292
499
356
224
681
187
979
489
352
99
87
977
980
44
230
677
271
782
341
659
567
188
20
652
921
401
482
434
37
619
89
309
835
369
19
523
618
274
732
673
24
825
383
42
981
186
216
324
870
828
283
376
976
658
536
494
101
357
458
182
893
840
918
558
62
121
860
345
128
346
767
851
799
466
589
474
356
818
965
48
668
878
110
768
582
575
714
539
474
871
562
329
678
737
330
515
374
272
223
267
267
485
684
733
27
164
398
165
78
328
198
142
735
21
318
744
125
540
584
857
568
797
828
809
325
156
746
160
691
988
922
805
424
171
521
504
415
939
422
569
335
830
190
726
671
912
358
107
264
172
924
906
928
689
848
482
224
198
606
613
777
732
520
136
805
328
686
457
667
154
790
242
321
33
16
189
548
44
541
904
685
781
822
783
387
892
998
297
635
708
246
208
813
156
860
75
164
635
147
868
368
217
988
628
281
354
52
889
115
266
185
21
456
299
480
728
571
869
893
701
362
16
17
809
227
248
840
295
784
70
860
133
127
542
945
93
806
284
718
86
245
555
23
37
633
452
282
884
664
785
112
301
668
925
658
373
766
731
443
802
709
714
459
140
958
756
378
214
375
998
475
141
641
38
858
317
116
189
96
296
423
345
160
775
445
952
915
773
821
700
13
659
225
805
188
906
925
159
382
310
149
223
75
954
777
257
461
365
760
361
837
168
439
870
682
34
636
813
419
862
4
528
788
960
591
37
87
450
25
429
271
236
17
353
58
660
107
697
728
420
725
644
279
371
648
635
933
633
899
167
804
792
971
3
674
53
20
112
425
931
325
581
668
411
887
809
494
570
510
550
83
307
87
717
107
193
99
449
488
430
530
603
80
579
500
727
275
12
914
544
385
19
354
177
846
111
234
657
988
362
992
741
130
533
691
691
235
347
958
488
216
499
629
879
253
924
813
763
171
364
342
708
1000
531
736
781
319
999
890
471
918
524
637
193
556
637
262
781
361
223
779
384
489
291
520
414
203
278
153
528
448
61
770
144
334
310
82
671
684
917
89
446
942
50
804
352
289
788
757
238
776
399
14
547
648
46
423
22
798
159
611
938
471
703
49
106
921
354
124
791
708
917
762
766
736
375
581
956
894
636
973
522
426
387
774
760
724
452
367
907
273
721
196
806
921
11
637
367
447
194
106
964
676
551
82
212
997
575
482
54
231
406
406
732
222
646
842
1
400
557
363
898
849
571
165
487
65
553
91
270
686
527
417
351
972
404
253
34
686
805
401
279
359
252
351
279
596
831
938
536
226
931
823
940
604
835
597
771
288
718
790
28
682
96
484
151
929
883
561
59
531
991
808
366
686
851
267
815
313
302
230
244
88
76
227
834
597
477
217
32
874
935
918
275
186
815
907
570
914
251
661
58
766
778
201
925
374
256
376
410
532
878
96
205
921
88
44
225
240
866
473
620
27
152
702
873
341
157
847
21
673
914
125
360
134
713
808
460
993
988
524
978
111
838
139
530
676
568
898
842
919
593
857
511
158
556
884
957
613
775
664
584
917
958
237
715
134
696
534
640
424
395
286
953
173
183
448
446
538
783
991
986
867
537
488
197
405
548
458
244
980
389
803
716
167
934
32
411
513
667
163
819
10
238
320
218
909
132
110
628
385
75
767
271
287
186
929
837
419
969
652
576
364
912
935
206
842
892
597
636
20
553
808
807
963
552
979
280
642
888
975
783
513
526
838
613
719
202
268
647
387
567
155
731
316
831
342
386
603
673
606
91
396
456
611
890
16
736
162
696
135
630
668
481
595
868
145
467
669
239
438
551
311
729
604
466
950
838
555
586
940
439
123
860
629
96
693
102
324
903
423
754
151
780
848
242
899
641
381
319
479
7
797
72
540
448
310
828
129
706
243
847
17
463
639
516
442
506
356
744
621
482
329
393
260
499
727
862
754
609
660
424
443
597
953
481
542
551
245
697
899
425
350
871
757
163
371
492
49
974
529
154
620
66
62
386
905
447
828
4
267
417
438
796
190
40
835
190
939
168
267
593
174
577
482
235
189
390
803
692
144
231
473
729
669
507
279
764
703
786
1
27
286
505
675
446
296
131
20
397
781
460
608
726
667
965
546
851
36
962
479
358
156
900
728
194
654
267
219
491
13
434
681
67
618
267
262
873
161
492
312
987
77
593
602
298
80
500
636
666
556
452
52
180
737
183
315
126
149
19
55
395
738
572
406
374
494
463
684
800
132
892
562
668
569
956
666
56
537
322
174
626
631
224
571
663
519
807
185
718
824
490
506
342
391
398
576
894
284
881
942
168
871
812
745
377
767
642
532
92
266
186
291
885
112
718
31
742
103
213
920
808
95
565
689
662
400
130
468
100
466
247
723
373
982
265
287
917
220
164
729
895
535
91
475
258
406
985
162
644
311
1
681
141
29
633
228
829
670
265
496
77
838
387
814
751
878
861
638
857
49
435
316
652
837
155
447
931
318
477
479
5
679
622
413
896
497
187
610
385
391
81
728
855
985
636
776
327
906
128
96
677
727
990
859
805
326
752
308
423
145
80
569
230
209
320
291
452
576
670
790
115
101
389
643
989
997
502
861
793
721
73
888
162
100
456
667
843
497
889
923
787
10
401
640
113
362
323
419
412
205
576
50
481
988
547
150
397
432
576
181
757
903
6
488
50
673
282
270
365
128
832
557
75
459
305
312
696
306
288
787
871
85
799
103
291
461
704
846
441
533
693
127
227
832
605
197
924
134
705
155
372
454
992
767
39
298
700
664
386
415
993
464
938
836
230
451
629
947
314
528
255
693
343
37
349
811
231
965
361
134
982
740
824
614
52
535
96
688
572
525
319
13
275
50
507
397
606
991
32
960
883
962
338
173
330
117
402
436
498
470
324
314
857
614
443
325
347
659
532
481
275
18
974
374
230
381
273
681
609
871
916
408
980
888
377
65
690
607
31
220
93
440
813
584
286
11
759
821
492
390
958
813
63
357
36
967
648
472
11
478
216
597
254
149
491
288
337
510
844
205
741
464
835
229
754
654
414
548
417
40
267
319
24
946
878
888
513
954
711
722
87
609
293
388
501
806
120
898
791
163
14
729
633
377
1000
643
148
806
795
200
728
54
741
515
372
356
387
383
98
938
932
363
235
328
451
786
772
823
147
966
503
909
882
41
396
453
888
14
467
928
867
537
468
755
657
912
846
79
266
587
784
957
348
158
576
975
137
509
268
774
433
273
261
828
502
217
544
88
635
527
298
791
676
203
931
792
58
950
950
294
738
9
729
734
964
356
888
884
988
558
953
928
674
386
962
411
463
959
904
456
286
792
239
576
849
646
233
752
168
456
556
170
357
965
368
174
442
888
124
528
426
575
481
50
906
181
941
27
296
272
363
628
109
674
44
653
816
102
861
597
524
790
861
955
48
876
780
108
48
818
189
930
511
449
374
468
261
597
560
639
138
379
845
947
163
362
20
609
289
826
477
348
352
226
596
318
390
808
300
294
841
44
954
312
35
169
445
380
968
652
34
768
643
887
562
647
117
701
671
528
980
572
966
19
201
592
484
935
149
268
385
662
116
250
529
1000
873
937
478
413
613
708
519
709
141
215
496
727
316
761
595
516
575
325
743
802
821
160
947
338
74
249
728
811
97
101
786
578
581
519
156
432
642
980
445
998
53
252
140
75
99
667
627
483
963
285
300
500
289
781
65
997
923
520
621
758
878
699
123
287
246
852
232
602
114
300
95
128
548
283
488
833
364
672
237
169
704
93
11
216
399
271
785
668
754
174
570
930
619
278
491
685
583
906
962
695
707
130
441
515
457
158
275
28
391
480
175
423
753
317
182
283
279
54
377
979
460
420
159
419
983
159
664
545
283
781
778
651
976
826
229
710
433
707
464
438
903
828
364
731
439
185
353
451
283
45
141
274
557
628
165
471
833
946
754
11
614
71
218
388
853
148
306
871
361
411
987
717
386
302
52
996
681
558
852
318
111
789
371
702
217
620
923
239
172
981
988
1
269
470
97
859
404
25
209
475
24
322
733
765
659
419
198
563
469
172
591
22
197
851
554
558
557
218
936
777
337
37
722
858
463
622
940
365
834
564
994
282
5
230
788
352
686
952
125
501
581
112
126
167
332
451
836
875
172
37
746
287
439
278
720
256
282
236
657
114
742
318
323
556
859
83
926
987
648
501
414
128
561
547
952
13
548
351
725
262
925
526
43
620
56
448
665
354
284
436
466
25
627
797
791
527
516
656
344
46
259
322
48
791
944
708
56
910
248
995
54
1000
980
265
29
16
179
331
938
195
346
370
76
798
639
226
515
109
945
471
656
137
333
398
807
896
721
125
722
980
583
898
181
376
88
508
37
108
400
446
631
365
760
69
107
214
588
565
965
864
66
962
127
727
599
771
915
182
75
103
579
54
85
279
455
280
128
976
391
165
355
996
825
892
588
547
774
698
198
767
44
218
909
899
168
12
775
109
937
255
345
458
907
856
545
951
921
43
887
904
521
590
419
75
103
399
254
162
807
132
609
290
427
928
27
54
72
39
877
540
920
360
253
492
183
436
143
461
277
527
98
331
329
669
645
110
326
514
396
225
632
907
136
865
139
797
158
119
2
81
795
718
794
414
377
234
887
858
828
474
82
466
728
646
802
564
959
566
653
513
966
847
797
240
271
502
387
641
131
879
235
253
102
156
12
283
878
911
553
130
949
413
217
61
513
382
877
563
602
896
807
231
573
58
647
731
940
759
651
502
34
626
645
390
127
796
450
309
468
687
70
395
135
347
589
815
743
259
552
579
820
738
601
214
89
151
252
169
5
248
8
118
621
832
448
166
272
836
549
91
638
643
235
357
422
126
91
627
301
480
255
891
811
370
706
121
493
299
586
598
23
405
718
635
972
66
187
469
577
808
715
511
130
5
553
973
635
770
812
132
946
273
457
147
911
407
671
376
970
405
949
621
245
497
60
574
410
162
975
17
537
897
959
13
659
628
289
384
19
111
490
292
850
684
534
607
44
750
195
74
261
210
648
963
877
886
413
48
654
642
981
237
174
522
796
131
890
730
772
100
116
671
226
236
386
624
882
645
407
790
646
134
259
650
921
278
582
545
585
227
238
379
170
384
348
158
390
269
660
866
946
437
898
811
435
354
160
161
284
489
417
856
832
702
863
462
114
213
235
816
404
53
165
521
295
912
331
413
950
727
451
169
167
196
144
110
62
634
305
64
520
225
902
915
23
801
70
41
112
710
928
426
544
208
826
658
131
97
619
350
373
980
115
824
262
604
72
6
33
253
6
599
236
38
545
524
219
241
329
545
8
573
224
747
611
326
153
239
969
910
2
68
143
208
845
801
828
494
219
685
968
421
296
567
53
715
572
26
672
766
136
255
37
276
664
312
477
465
36
246
355
140
881
520
473
72
404
841
780
741
567
217
135
469
86
608
936
387
699
5
657
462
885
177
749
17
520
574
861
815
980
107
76
760
834
595
704
745
591
681
158
949
929
943
662
191
456
733
804
530
324
984
492
405
965
899
437
36
801
922
161
670
21
871
401
559
436
438
948
186
972
538
178
381
575
115
990
435
186
129
400
208
965
376
806
572
110
703
813
168
507
943
542
642
882
619
572
4
325
29
984
672
849
844
530
147
110
781
588
942
546
195
399
576
957
683
65
986
996
913
934
655
135
931
263
126
388
144
539
369
519
4
404
577
485
221
934
637
611
925
905
439
330
840
775
619
392
946
336
126
92
508
381
206
433
656
264
17
125
857
954
104
982
735
8
396
578
717
938
206
999
853
578
980
144
27
416
158
315
447
314
576
757
976
686
307
403
372
998
672
350
968
408
459
447
652
451
28
985
286
974
109
673
833
895
535
939
563
988
88
160
658
587
929
587
420
4
778
562
80
513
134
158
896
919
352
475
820
137
301
694
521
656
686
391
979
498
830
801
148
48
882
448
442
160
943
18
916
47
585
440
43
785
589
884
944
675
497
781
760
363
752
48
631
335
793
395
393
345
443
985
666
409
338
726
501
223
942
171
117
255
899
338
548
304
88
773
214
18
772
795
531
718
655
220
679
897
492
796
550
915
137
202
730
755
569
763
80
175
470
951
113
223
406
334
917
903
508
886
777
688
841
481
51
727
300
937
57
818
983
202
934
666
459
152
475
504
258
986
912
890
193
398
534
383
863
534
771
844
772
261
94
311
28
408
671
746
518
451
221
464
786
596
932
746
576
315
604
923
152
182
425
242
54
284
908
923
914
582
543
148
314
328
682
136
439
61
4
107
465
764
674
644
180
469
964
947
364
985
677
492
807
429
185
872
676
960
267
973
145
412
239
181
791
566
33
27
332
414
997
515
644
102
192
410
885
198
876
916
755
555
663
517
588
300
601
210
16
457
4
22
393
251
455
487
54
416
788
701
740
744
258
694
190
639
311
110
998
677
575
613
322
53
727
999
917
294
874
746
266
835
980
603
309
877
632
868
361
441
148
217
346
701
631
279
392
469
56
692
175
195
921
17
124
933
276
741
765
539
197
549
7
780
879
212
165
125
578
719
843
741
550
716
599
622
20
967
476
833
921
250
69
568
856
85
795
103
253
718
405
726
204
39
616
453
815
495
916
638
223
611
221
609
581
411
92
103
465
906
629
586
104
830
13
518
802
961
883
218
683
690
404
306
672
6
914
588
189
662
505
872
636
125
770
443
151
823
180
810
468
346
283
930
986
483
952
302
290
432
444
213
465
65
875
932
472
884
71
842
793
176
428
356
285
932
537
912
906
274
856
554
566
531
637
377
861
561
634
594
856
637
882
91
414
12
969
148
765
265
763
396
171
672
539
192
553
129
804
360
906
625
869
601
160
849
442
984
922
276
36
612
169
26
38
955
558
829
626
338
457
677
569
795
222
134
114
810
498
820
807
474
535
265
98
247
585
221
22
816
488
495
57
502
429
568
532
299
683
557
571
910
896
599
631
58
56
328
157
976
867
952
699
188
676
349
173
626
440
751
558
677
489
798
447
963
994
205
356
543
122
839
558
745
825
733
551
17
104
472
959
45
356
393
769
852
125
289
351
788
160
621
614
81
195
773
994
130
279
566
711
816
804
40
874
886
579
527
550
923
470
165
913
465
128
270
905
637
266
494
632
7
843
236
916
474
196
575
956
704
884
921
101
996
544
608
78
484
536
942
865
287
542
564
567
532
570
549
309
198
984
357
136
354
325
618
380
711
640
722
750
331
988
391
669
995
591
693
4
985
820
474
409
987
844
813
938
400
309
868
467
586
837
494
722
513
503
54
390
777
705
150
883
230
982
404
796
292
418
2
6
576
247
425
671
611
145
715
69
326
476
623
362
408
475
238
861
847
913
992
327
764
340
512
138
78
362
404
934
726
768
923
454
876
530
423
868
57
815
662
841
185
215
298
939
240
308
372
760
719
556
183
346
87
240
733
6
133
860
811
700
524
948
884
482
881
724
190
351
381
433
812
29
218
445
49
822
285
426
121
732
54
968
78
407
969
78
811
376
621
840
225
218
593
373
969
987
153
930
570
257
898
639
514
616
40
880
535
283
287
767
393
816
161
551
475
550
155
990
865
465
361
928
888
709
54
357
780
872
264
243
790
413
528
246
986
350
893
282
7
450
691
535
265
656
798
144
415
427
889
304
442
2
645
904
389
328
29
164
554
548
487
953
987
488
397
591
240
553
155
983
633
781
53
872
726
614
490
851
323
75
139
520
66
667
372
837
623
261
675
293
528
675
742
998
976
398
683
148
262
181
89
639
86
774
704
774
661
149
99
116
408
951
68
546
41
771
423
477
1
63
473
29
549
165
784
657
272
957
716
377
437
136
852
249
379
938
658
261
96
438
634
46
308
205
762
174
500
196
295
887
904
248
762
232
941
426
647
509
358
783
327
835
222
822
749
415
940
3
777
797
684
244
327
987
983
210
197
815
710
572
975
336
394
131
526
386
620
859
337
626
208
452
446
533
82
957
736
856
953
390
176
957
444
43
946
351
863
342
469
480
622
718
79
434
173
917
429
889
456
606
777
26
56
895
952
540
656
631
178
169
939
925
890
347
751
392
362
689
242
6
263
11
675
323
222
517
786
45
105
597
891
548
991
376
417
59
769
840
192
617
853
842
585
808
783
774
577
556
368
19
923
915
580
561
843
885
656
293
85
777
689
620
798
548
557
936
360
807
217
439
219
930
204
520
832
822
710
663
977
374
745
396
118
619
708
328
943
887
145
720
933
38
605
366
599
954
291
766
21
70
609
723
477
637
848
512
205
807
924
725
831
387
582
743
586
282
449
535
180
243
95
150
164
508
604
831
629
341
193
170
384
253
102
60
91
913
327
559
397
369
744
881
832
204
839
924
35
713
587
663
956
972
938
713
788
963
49
150
748
510
639
400
293
886
791
662
998
358
118
842
104
850
460
425
724
130
170
66
765
639
618
928
916
139
756
961
455
864
449
384
208
737
826
606
726
529
64
685
627
549
882
249
104
543
498
447
795
35
984
141
563
241
720
19
251
39
166
745
156
202
248
568
767
265
458
35
316
925
196
593
822
854
971
885
592
156
829
499
613
475
767
784
848
925
976
74
252
627
448
364
186
583
861
2
49
58
694
481
119
402
198
759
20
490
188
836
765
531
632
518
15
67
649
373
71
355
852
915
110
208
924
945
350
573
957
799
165
791
338
987
637
529
917
322
679
833
782
182
650
605
203
990
348
108
220
353
354
729
914
527
968
370
587
84
421
288
999
675
572
102
282
793
89
16
386
296
953
977
712
256
192
633
116
373
960
452
597
809
389
308
808
789
224
168
986
732
849
234
28
996
190
88
198
538
928
869
418
924
618
546
147
163
586
646
639
763
933
624
743
296
584
196
479
461
79
555
349
336
718
399
699
69
765
50
482
708
615
795
459
285
254
748
221
536
857
171
387
815
80
201
32
909
458
364
648
406
343
75
969
222
954
592
570
688
483
493
443
339
637
852
686
152
665
692
40
554
697
198
242
910
177
428
71
610
285
933
533
82
485
790
829
237
783
35
634
929
835
370
749
965
780
355
353
96
559
942
937
203
544
393
505
578
459
91
762
806
992
700
826
263
935
468
484
632
440
204
106
189
733
583
117
820
647
27
391
845
476
327
973
788
918
565
316
161
355
643
621
171
301
916
911
31
635
17
194
205
127
921
462
486
869
726
256
286
430
404
259
886
960
4
696
694
4
382
308
736
475
569
350
720
129
315
343
997
842
168
297
686
219
691
723
1000
335
83
60
596
930
489
40
329
994
765
146
404
483
335
523
285
858
16
646
138
230
395
570
791
179
413
844
373
724
297
991
867
485
880
50
780
829
653
789
6
667
596
105
756
618
958
571
108
453
659
275
355
92
939
907
789
936
186
478
23
991
638
236
221
49
774
66
870
208
790
134
832
109
489
609
459
582
289
39
499
859
826
388
366
82
801
756
95
625
301
563
989
666
822
331
494
495
605
210
348
319
720
124
408
661
499
695
855
46
589
158
661
320
870
86
312
841
932
85
773
777
633
565
605
902
503
339
953
650
394
38
844
604
842
325
880
309
55
414
931
11
306
709
875
958
788
241
803
933
654
148
328
997
54
680
827
818
478
49
498
555
586
3
90
970
37
173
47
353
520
78
583
888
293
185
921
266
99
558
494
735
195
462
438
264
620
716
117
203
522
763
704
589
550
146
120
302
824
570
712
339
999
773
128
835
272
203
745
847
961
900
906
585
465
26
937
487
1000
222
588
477
482
329
119
825
325
38
715
240
757
732
294
236
400
106
65
337
550
168
377
399
543
848
509
179
79
797
41
299
168
867
381
899
616
432
800
648
620
977
110
198
87
290
681
859
744
216
91
42
984
176
105
961
650
524
39
217
645
417
837
116
331
70
311
25
187
126
116
622
55
425
940
633
657
636
337
549
720
25
362
839
200
185
887
397
596
653
80
292
284
180
6
435
117
884
754
414
298
621
785
597
663
702
442
565
62
524
661
96
503
744
4
197
55
419
26
137
321
886
885
44
413
260
814
387
8
120
779
589
990
321
173
80
636
930
903
350
48
917
589
922
805
630
878
745
357
32
85
169
766
364
451
552
771
185
335
539
25
728
542
242
578
109
832
847
322
222
364
700
167
86
455
502
189
987
595
103
825
19
57
271
497
535
848
976
698
557
937
944
664
431
921
693
241
881
302
805
470
129
565
951
681
961
94
44
631
424
771
970
311
376
786
509
573
224
790
459
665
29
12
446
79
601
402
602
868
337
147
111
731
329
152
586
711
724
201
413
321
359
548
452
261
513
633
970
671
948
463
268
50
529
958
226
518
391
222
919
144
11
254
530
402
571
120
6
648
664
934
311
733
774
352
648
434
913
395
754
458
484
598
192
165
729
410
612
4
111
749
100
893
565
376
56
423
864
517
548
800
270
776
701
927
218
906
484
868
46
478
212
212
687
798
183
540
775
722
123
273
864
128
559
668
315
923
770
628
926
395
756
297
586
635
485
111
65
496
791
91
526
310
437
692
557
114
258
445
255
698
776
960
421
162
380
592
27
10
962
235
868
9
905
246
803
205
432
453
16
479
644
594
527
15
2
265
558
866
641
673
427
573
635
28
354
454
272
449
946
749
484
601
146
265
766
131
112
570
352
135
857
48
940
540
439
330
948
276
180
724
158
565
689
245
612
459
412
792
782
25
88
793
377
213
744
425
631
470
801
65
524
668
461
246
235
734
783
772
26
667
764
26
884
291
306
758
524
181
155
787
745
700
769
131
725
939
621
51
581
717
603
373
374
450
45
227
826
840
372
61
184
854
562
362
36
375
381
30
387
263
833
764
999
285
399
128
775
521
407
213
9
412
298
893
400
573
671
768
80
842
719
785
309
846
62
391
123
477
80
837
975
337
512
894
341
116
512
827
300
327
336
932
386
592
555
336
350
885
8
34
24
763
701
322
213
616
548
922
336
420
104
44
617
295
461
589
733
395
55
483
210
344
446
883
288
434
40
591
647
301
329
588
172
630
470
7
873
727
922
235
201
467
416
86
250
214
775
130
762
780
925
365
423
428
21
346
659
169
756
823
69
359
772
658
611
691
613
552
922
202
769
660
464
851
211
699
721
544
258
566
350
223
751
795
972
798
279
407
338
228
645
834
671
32
841
643
333
878
563
714
388
644
678
399
246
552
141
903
341
546
554
841
705
68
936
445
375
786
318
404
826
646
439
670
967
786
163
882
819
528
260
216
681
612
804
603
435
325
791
233
683
970
524
190
536
383
937
880
245
833
306
631
308
719
753
474
353
891
492
663
871
342
65
912
833
241
689
697
330
983
397
218
635
996
879
771
511
557
806
350
158
735
927
287
922
906
442
596
785
981
964
489
695
607
918
209
992
114
330
953
539
917
825
117
702
412
56
558
958
140
973
837
764
141
69
677
281
979
188
948
706
860
602
586
235
657
748
738
152
382
494
320
122
882
793
896
559
56
352
472
831
932
286
348
153
301
768
659
243
429
361
608
222
567
70
669
755
592
140
267
151
141
286
495
989
20
344
462
851
493
301
775
914
324
291
455
468
62
404
351
931
123
110
681
530
681
681
955
672
243
240
875
906
52
967
249
544
144
569
144
245
956
306
703
277
890
775
98
773
114
137
71
4
198
711
404
594
882
647
425
640
387
918
368
902
210
21
2
583
260
582
423
734
527
517
359
990
227
545
619
160
489
603
549
177
223
173
499
71
762
589
333
883
214
181
951
935
270
473
652
434
347
745
916
184
571
962
845
77
46
472
63
122
307
858
367
995
599
76
785
489
883
286
977
775
43
832
143
94
817
456
643
357
391
136
606
141
424
926
652
723
515
770
716
159
775
567
665
845
212
681
28
673
87
687
704
678
284
383
948
9
989
27
297
191
655
281
323
879
325
582
299
735
844
536
906
650
431
446
90
237
337
270
56
424
56
159
174
21
662
213
276
333
349
238
386
244
213
120
476
704
599
870
219
248
132
537
41
961
642
960
995
317
789
747
105
440
120
997
878
634
672
982
609
488
7
448
957
443
725
234
35
505
98
627
897
684
456
243
906
812
354
257
890
640
332
489
435
499
318
177
894
334
304
293
920
647
991
896
409
726
469
320
761
555
876
968
260
961
208
113
205
891
83
369
142
192
327
443
180
885
707
358
903
753
5
598
843
978
871
515
815
693
615
912
690
564
133
915
310
946
693
136
357
719
170
648
927
656
635
474
459
58
925
144
452
423
895
366
92
132
630
1000
501
495
756
355
861
980
393
274
16
171
964
612
539
762
270
461
426
939
776
963
728
592
992
582
466
111
233
489
130
984
784
125
870
983
687
29
300
542
943
773
448
784
913
189
979
799
106
132
281
938
326
660
389
341
379
918
10
401
131
944
87
617
758
312
473
105
430
826
250
78
512
431
169
761
616
154
502
531
460
134
289
559
575
775
649
872
313
606
302
525
525
706
931
569
508
447
343
547
517
866
654
562
214
198
871
361
920
960
321
450
426
532
356
994
426
335
620
139
335
560
978
447
385
909
884
315
388
948
561
632
513
480
886
412
723
827
259
838
286
21
85
953
903
677
698
235
553
777
680
414
114
656
600
198
183
254
92
12
277
81
87
466
799
424
730
45
715
10
194
395
878
744
170
701
341
144
288
847
799
799
80
457
504
495
423
457
612
674
546
482
949
530
834
329
597
361
616
674
550
753
78
395
906
814
222
240
744
928
557
989
836
458
798
949
852
399
406
385
546
242
248
458
697
212
989
327
252
579
97
363
203
10
493
817
214
735
954
861
911
886
347
685
62
517
645
163
562
670
475
706
260
336
633
69
201
345
597
280
754
968
583
331
456
558
86
964
123
608
189
717
935
426
108
343
758
48
624
898
899
96
35
42
894
46
234
581
655
766
377
876
525
242
321
498
327
134
712
424
522
178
152
182
953
456
349
525
490
275
537
649
55
703
733
497
169
836
606
385
135
499
804
60
438
412
629
290
755
807
814
273
207
109
16
474
138
570
340
971
761
678
836
37
452
764
472
486
355
459
488
236
225
570
429
680
104
512
374
692
537
613
68
539
473
528
697
512
949
492
59
864
918
338
737
485
306
49
672
824
484
111
231
747
884
76
457
387
395
570
707
549
511
433
268
903
955
808
893
30
628
772
395
355
304
537
569
144
436
332
783
51
816
850
458
119
574
503
574
775
221
834
39
113
990
125
460
664
720
605
385
949
948
724
596
334
656
606
387
74
322
147
48
25
556
252
989
140
626
291
17
782
566
244
280
854
449
899
337
942
603
142
573
983
207
620
973
445
769
24
824
664
414
792
516
744
821
323
8
418
868
655
904
330
756
156
315
503
455
954
870
139
803
748
278
505
479
133
845
363
388
768
199
313
696
583
304
439
853
660
481
873
492
649
807
225
996
315
736
359
858
351
201
645
723
645
781
666
105
27
741
311
369
909
874
357
490
359
111
899
486
866
825
474
180
484
577
299
143
81
825
838
220
146
775
797
57
978
115
753
448
103
854
830
80
463
858
244
520
241
978
61
861
205
831
231
472
99
421
808
739
901
786
276
501
773
734
87
137
108
617
808
885
390
735
802
52
488
669
963
218
629
305
838
396
517
825
434
393
972
225
76
282
30
223
982
997
665
550
619
518
146
713
489
54
585
249
719
886
432
432
715
286
464
109
202
996
378
96
139
320
192
130
393
764
511
874
537
519
146
914
819
822
735
967
187
354
749
771
202
406
735
245
849
505
730
539
521
521
511
559
911
109
777
358
158
440
391
595
347
831
548
875
392
828
93
375
388
688
245
637
775
59
674
776
31
794
208
640
139
505
449
674
810
462
238
285
272
862
203
585
447
336
603
225
529
812
295
906
287
465
937
847
884
571
465
127
674
519
483
364
208
115
442
618
635
554
397
770
791
156
682
873
547
5
63
140
366
141
809
300
656
843
625
11
165
849
607
936
614
57
197
830
776
375
623
703
407
901
458
727
816
551
742
47
340
568
587
66
692
109
285
106
954
227
743
552
969
137
485
737
38
598
555
844
113
625
416
42
115
485
319
950
638
154
701
236
51
944
864
856
907
32
585
983
693
18
298
156
128
415
218
563
659
212
81
655
300
240
199
474
697
124
145
191
137
984
751
341
238
927
2
157
230
586
79
238
52
608
64
471
980
58
754
803
144
151
620
970
59
596
211
726
290
96
180
483
425
244
687
517
846
123
149
53
157
400
171
626
742
627
24
58
636
731
223
310
790
418
594
217
837
285
721
836
708
8
819
715
742
854
873
904
505
130
377
945
167
896
91
386
119
442
63
592
502
553
535
757
450
568
508
57
137
580
430
822
189
922
921
458
602
228
474
610
88
976
812
695
686
378
931
543
551
902
908
310
49
490
226
243
713
771
704
148
104
154
139
599
383
725
380
42
189
301
924
939
504
802
15
9
287
376
928
445
26
336
324
712
833
15
557
151
327
123
367
157
358
40
657
150
587
751
942
876
1000
809
649
877
760
797
607
80
154
235
2
564
26
802
552
514
769
10
866
249
877
204
778
21
73
854
962
944
240
652
271
30
745
817
47
819
253
383
154
469
787
955
543
533
630
579
8
843
644
917
164
56
715
886
819
463
315
256
615
603
657
523
264
54
486
496
705
553
329
650
295
249
962
284
447
445
888
918
218
693
898
144
984
438
130
395
729
751
621
666
418
826
25
273
625
56
40
154
876
491
81
38
122
388
936
58
400
395
430
40
13
619
634
717
479
473
781
621
111
714
834
231
324
552
633
243
677
30
618
510
201
152
401
274
808
392
910
791
415
272
331
379
976
693
897
182
772
551
370
676
181
3
187
44
604
384
371
86
431
425
724
228
684
889
285
556
491
185
731
515
620
809
227
83
126
700
187
763
554
736
571
702
278
603
633
601
252
254
461
881
903
974
302
691
915
874
378
989
400
254
854
875
292
868
676
759
867
591
236
760
932
367
207
934
618
599
431
528
650
344
452
512
683
771
126
29
544
331
785
265
237
33
550
465
145
992
776
470
179
181
25
205
530
920
672
9
296
183
978
537
476
256
456
283
749
591
451
401
3
12
113
603
807
541
362
421
864
196
26
982
57
102
56
765
833
109
616
523
545
924
891
647
869
427
639
799
539
469
905
521
483
934
782
930
894
272
815
263
891
10
445
264
209
998
870
895
790
247
863
842
237
273
339
651
836
803
960
77
264
525
637
437
154
357
568
318
399
327
371
983
465
772
928
231
993
982
822
241
663
849
595
164
642
332
632
827
917
754
160
928
479
39
710
557
640
15
413
665
711
811
640
388
904
178
870
743
612
331
97
295
120
491
774
825
428
864
46
906
91
245
999
574
896
772
750
931
745
603
470
635
342
460
839
689
142
66
22
851
558
440
982
297
591
916
821
859
921
553
912
292
946
253
750
521
457
550
837
776
422
499
409
837
806
536
495
345
517
470
612
297
300
16
388
386
861
388
542
810
606
523
945
521
78
440
935
681
647
80
653
258
1000
756
965
264
748
965
408
150
805
909
704
256
229
537
619
10
921
301
304
790
882
97
831
980
763
67
314
745
62
31
880
516
657
326
747
973
326
719
855
576
507
928
813
340
854
945
392
571
66
36
465
787
72
807
56
873
864
164
127
804
228
357
840
944
143
541
278
24
838
458
54
364
386
899
775
838
235
599
111
335
246
64
47
228
670
663
991
439
988
955
579
221
669
873
394
717
755
853
311
663
602
417
863
364
250
60
852
217
685
475
381
582
659
307
663
786
853
659
225
411
905
516
584
754
220
79
88
571
559
804
366
755
90
544
748
625
993
811
105
869
708
618
786
10
606
739
698
441
230
543
149
740
203
704
750
928
600
237
547
829
863
267
546
472
302
885
982
738
877
256
1
107
189
838
904
387
587
250
731
788
852
822
786
554
202
321
623
655
226
695
120
682
944
921
576
222
402
227
109
425
70
999
284
411
843
663
579
459
647
743
211
598
463
31
878
380
116
534
170
108
280
461
778
716
18
986
115
842
593
981
650
381
432
186
82
929
901
539
443
97
979
499
392
626
8
241
214
604
459
543
524
846
28
31
255
690
466
203
300
22
248
319
62
364
550
802
278
220
56
281
685
705
771
778
499
675
385
826
219
190
713
501
971
178
387
463
450
564
307
67
553
1000
291
567
943
537
26
211
122
253
653
771
73
870
303
679
162
897
452
471
781
647
234
683
188
794
743
701
67
780
920
306
632
488
828
839
494
56
12
954
91
652
134
908
222
269
298
242
90
363
280
440
339
241
416
906
735
630
18
152
512
788
21
613
929
863
24
925
224
915
996
789
11
199
730
814
115
819
519
810
998
864
660
83
213
465
100
194
792
994
984
509
41
822
884
631
25
597
233
427
909
33
838
987
414
572
399
274
878
81
620
631
784
975
857
605
187
750
237
701
148
939
836
830
151
935
815
179
493
945
381
152
801
598
58
878
158
351
26
445
794
916
240
717
957
363
615
71
346
435
799
879
444
880
6
859
230
270
875
736
947
878
594
745
86
653
369
640
286
257
857
805
576
384
357
948
312
347
409
677
151
983
939
895
657
472
233
603
449
594
857
175
343
265
75
576
589
944
466
347
145
657
200
347
891
902
883
433
856
710
957
257
782
443
401
303
843
728
875
158
910
73
505
739
534
314
241
884
735
5
61
262
747
304
360
36
125
642
513
109
988
752
966
46
713
168
185
960
125
391
483
781
39
301
992
277
71
249
95
157
756
501
167
379
385
339
835
506
408
190
828
607
922
607
144
696
548
783
456
198
931
561
613
222
235
579
639
724
252
252
860
774
151
818
640
219
498
535
758
13
879
445
635
348
367
799
451
536
105
396
703
238
487
561
897
290
763
443
893
832
428
640
861
893
390
904
958
876
781
798
589
629
214
774
574
909
451
50
606
86
747
69
153
866
552
63
360
686
899
442
549
151
549
308
650
586
874
361
261
304
554
907
57
700
389
415
963
624
901
344
840
819
967
529
433
346
409
456
985
74
327
167
221
262
973
404
388
229
145
786
639
870
375
520
355
540
708
131
897
440
467
231
902
172
220
139
477
591
107
474
532
407
784
529
71
257
512
272
475
139
341
359
663
139
903
412
578
386
67
112
595
26
598
394
314
813
3
107
691
583
944
63
605
503
956
286
778
472
736
632
431
461
907
686
176
925
13
982
419
593
475
132
2
131
372
449
876
151
195
959
363
40
211
506
971
871
623
824
763
466
525
16
24
308
548
890
324
581
159
989
108
91
832
944
635
183
671
14
418
97
635
250
322
337
182
793
124
783
53
184
664
256
868
453
652
145
442
951
849
545
992
559
609
76
939
945
683
156
609
12
811
81
953
533
852
672
350
244
106
600
652
338
58
794
921
401
968
429
698
297
619
133
221
426
59
970
776
68
355
666
205
234
217
311
661
572
853
488
916
382
572
353
853
722
436
703
302
934
768
498
59
644
417
581
726
432
461
616
20
944
478
336
314
147
592
286
476
809
251
142
534
53
109
558
269
10
424
256
646
178
113
706
865
89
975
344
927
270
626
725
815
298
348
396
802
954
449
562
912
80
658
821
291
801
801
301
81
146
260
606
406
992
713
811
260
450
265
635
394
488
366
586
793
611
825
544
973
903
854
761
106
582
285
712
956
487
49
556
690
619
516
270
906
903
556
615
648
856
29
221
713
730
938
5
345
14
686
49
245
850
686
836
907
84
104
423
463
162
637
765
606
994
71
861
642
294
790
850
403
585
568
468
601
236
733
513
141
448
219
112
79
61
142
581
203
401
256
651
650
190
50
659
602
687
337
66
831
835
847
315
824
164
781
631
268
586
221
814
901
64
75
467
153
281
489
398
508
102
715
99
253
620
41
339
100
997
727
881
218
169
831
265
350
698
444
405
33
702
141
483
414
878
365
240
789
36
70
304
797
480
197
646
142
807
447
594
825
383
389
91
125
847
139
48
9
470
754
710
189
92
948
920
811
673
11
57
633
196
561
201
581
767
324
769
809
285
261
483
692
991
166
1000
751
511
350
994
132
778
108
743
113
346
499
546
83
153
341
397
577
785
472
380
250
598
31
207
111
889
942
154
961
435
834
416
727
330
347
551
309
26
147
267
637
885
1000
258
853
348
940
202
940
39
906
293
647
731
231
882
255
126
990
924
625
821
562
877
916
684
702
673
599
65
34
156
656
959
198
124
396
264
748
732
894
717
562
556
907
9
724
71
42
798
759
604
58
32
648
139
466
100
302
458
983
783
996
191
997
892
821
338
911
787
408
668
136
656
987
222
539
577
360
818
351
875
524
69
912
248
482
903
109
433
235
37
79
948
106
102
529
578
271
417
38
839
868
476
822
591
87
283
756
347
445
611
885
615
802
89
260
732
777
798
715
306
913
709
93
298
323
860
531
232
570
652
632
780
223
6
738
201
877
442
62
717
411
294
151
937
916
402
994
853
40
610
95
787
454
331
33
880
776
227
303
384
547
808
783
59
821
352
731
430
489
120
81
532
719
242
709
43
813
39
467
367
294
769
51
332
315
955
162
643
299
544
34
127
285
76
83
120
608
961
382
40
422
721
645
305
24
774
654
292
133
900
393
945
56
74
675
964
168
714
712
278
221
776
912
614
808
271
152
556
723
981
936
424
53
143
122
678
585
825
360
319
523
578
989
951
556
678
906
709
32
964
835
308
397
809
492
804
31
282
403
508
357
879
475
663
389
544
1
140
926
868
465
408
210
434
371
469
212
321
331
281
653
666
814
431
499
993
308
463
946
776
69
324
838
285
350
837
71
351
727
995
750
77
115
115
813
925
203
584
357
808
231
16
131
28
526
109
548
932
738
406
65
141
465
457
993
111
853
584
631
524
779
574
95
749
450
139
412
175
587
908
206
739
890
57
804
392
140
409
704
532
117
997
116
695
518
623
737
897
146
910
994
70
11
702
749
974
343
445
868
804
211
361
88
498
143
789
376
371
83
94
298
296
106
894
983
129
528
201
926
422
437
250
237
804
225
416
911
550
391
636
385
1
748
194
911
476
179
521
296
234
246
964
124
863
299
50
898
211
198
888
454
563
408
775
589
362
13
927
100
156
153
575
333
850
494
274
892
558
590
426
389
549
440
448
966
806
91
955
883
734
896
601
603
395
889
950
690
464
834
840
317
771
642
254
312
905
271
608
528
852
678
718
735
68
106
441
396
675
796
137
447
719
180
632
641
553
788
350
95
428
349
616
457
340
60
923
471
15
568
124
820
670
1
94
801
864
273
401
797
289
3
908
521
863
571
50
670
836
267
715
26
930
7
292
969
694
789
455
75
399
938
695
747
763
179
414
817
720
765
682
662
284
198
359
655
238
565
354
726
65
166
258
381
18
872
440
769
719
633
973
319
972
642
422
987
796
944
636
412
766
659
133
121
903
622
611
460
247
913
379
126
186
684
229
985
376
712
393
399
776
302
718
403
921
548
162
896
87
442
3
486
367
994
932
729
42
391
308
302
815
135
444
69
630
303
722
99
835
326
699
439
370
156
174
842
527
274
300
727
582
784
476
346
260
729
681
505
543
857
366
238
848
294
764
481
919
963
734
172
136
133
848
167
68
192
440
36
243
581
788
106
92
850
416
85
942
949
746
218
739
221
972
216
928
15
93
117
520
495
478
845
942
1
230
473
666
283
850
90
18
25
412
754
770
338
524
208
310
325
846
917
247
400
827
512
265
755
634
908
956
292
937
210
103
331
354
18
611
669
848
877
872
846
331
461
843
67
22
517
545
824
896
726
11
141
646
427
897
326
192
560
155
236
679
311
166
392
312
645
671
694
107
358
725
119
845
312
596
530
87
238
252
660
97
874
600
385
904
224
140
662
574
404
66
881
914
900
140
900
500
39
850
798
903
148
465
143
432
156
602
694
539
400
845
511
276
983
747
878
834
326
289
843
246
491
507
869
802
442
508
855
575
644
560
752
736
336
278
95
21
335
203
51
770
469
190
969
478
604
145
40
671
752
565
362
233
945
276
619
18
371
488
622
679
815
36
153
204
549
224
918
523
654
242
922
936
223
488
253
807
2
493
78
154
817
322
649
276
557
507
243
554
593
548
262
901
238
11
158
122
272
59
468
608
605
44
9
384
885
414
167
516
197
786
348
271
68
488
839
232
639
274
731
785
243
167
121
992
585
631
476
897
412
313
915
732
841
649
193
343
501
504
303
348
243
861
973
252
478
275
794
727
118
451
371
776
687
849
657
335
427
624
607
148
120
613
381
421
902
291
592
854
573
796
507
127
768
193
701
823
891
119
372
64
887
817
432
841
780
385
526
156
398
720
332
581
857
259
840
792
184
131
854
956
934
712
578
597
761
935
27
699
713
889
949
371
404
410
84
353
368
366
914
991
600
318
448
106
707
49
263
334
167
237
719
122
882
202
234
517
607
214
554
330
851
334
188
8
537
137
583
806
46
945
120
406
269
410
764
213
950
356
12
941
885
819
813
942
559
126
316
999
372
674
603
901
912
781
63
219
669
628
689
120
159
850
390
956
687
744
335
595
877
451
486
182
653
705
701
58
580
896
244
98
339
273
85
580
637
87
124
32
40
346
350
204
61
649
999
406
339
244
953
17
858
77
18
836
38
79
194
348
912
362
732
655
799
323
609
9
603
841
21
420
349
938
625
763
618
257
585
196
325
684
886
437
659
280
19
667
84
455
893
361
7
949
737
385
79
784
850
58
157
810
275
697
605
846
860
363
961
707
731
153
24
600
869
384
7
476
374
453
787
916
997
2
180
45
675
222
836
813
161
819
614
645
296
175
219
161
118
733
495
152
798
464
2
464
340
574
413
785
88
267
814
588
352
467
236
641
874
907
588
552
439
851
695
825
657
66
359
731
854
329
149
140
9
884
177
101
932
786
235
597
179
999
481
379
752
427
357
214
285
828
501
175
237
681
223
860
611
637
545
516
839
145
885
116
780
207
225
358
211
982
995
405
827
141
975
955
494
459
225
870
437
112
428
182
131
549
64
743
862
610
500
194
344
767
453
190
306
980
245
22
666
679
951
876
769
812
828
971
174
739
404
728
647
968
192
941
332
406
319
648
589
820
246
23
560
689
391
151
392
470
667
992
946
571
907
178
940
36
641
558
748
968
973
559
478
275
123
484
553
159
766
879
712
113
455
937
275
869
284
724
536
877
419
694
354
405
290
553
377
271
57
50
822
561
402
673
447
421
845
550
118
172
555
73
415
505
46
913
807
536
271
89
262
802
329
754
581
97
456
145
354
190
982
965
215
80
682
59
983
400
310
879
334
8
146
650
916
581
35
571
173
258
792
640
705
966
796
912
699
107
270
74
786
704
66
238
752
922
707
769
632
147
88
757
96
429
507
511
488
148
633
33
521
241
603
997
442
167
693
196
397
62
910
759
873
244
419
706
323
247
905
559
522
132
898
807
762
645
549
989
728
143
593
28
805
898
21
272
573
504
533
338
474
627
948
498
990
288
588
830
178
169
113
774
64
199
399
38
255
806
828
49
79
781
811
250
713
653
436
581
60
841
879
445
575
627
654
288
840
142
780
688
483
187
711
489
912
658
223
132
440
755
477
743
601
963
176
964
839
1000
63
802
304
521
4
913
182
418
575
905
843
962
337
195
122
871
1000
893
173
626
261
996
727
18
406
900
988
925
664
862
117
817
947
595
982
330
804
604
854
512
346
225
789
41
458
595
745
795
832
930
865
617
204
549
943
59
741
86
844
143
688
167
492
923
219
660
127
720
957
259
713
446
756
802
723
330
174
186
75
724
494
182
620
383
321
769
443
771
519
800
199
490
702
997
850
886
600
248
464
267
335
165
187
906
73
690
102
219
568
300
455
46
829
15
649
4
503
987
474
225
625
923
281
631
41
962
193
86
155
931
990
391
666
83
997
100
601
525
182
566
255
543
653
458
625
956
947
231
542
431
791
668
992
422
537
686
27
27
68
22
299
607
810
321
444
408
398
374
508
841
667
975
100
265
912
903
239
340
748
76
675
21
520
770
35
295
902
125
313
617
238
872
52
766
217
310
93
592
664
94
885
651
605
323
194
303
251
747
480
193
237
651
362
407
271
118
352
777
322
927
483
970
618
305
545
5
27
104
371
812
834
759
67
274
532
540
78
953
20
223
738
370
508
262
329
272
507
968
658
787
523
980
903
750
443
535
770
784
163
653
40
889
696
379
202
403
868
638
214
205
700
108
362
943
769
745
850
870
151
238
986
626
30
737
815
896
700
638
593
447
484
80
771
459
29
93
64
437
563
985
713
228
952
663
294
840
803
63
284
820
458
757
120
932
441
117
690
736
804
104
1000
478
873
895
309
387
88
44
125
52
991
839
306
95
924
814
944
731
674
142
861
154
123
763
297
879
944
659
824
336
521
654
609
17
565
463
879
441
350
499
867
29
98
121
565
768
799
588
324
167
687
965
721
605
650
646
140
622
91
925
187
112
151
293
420
623
735
719
853
209
499
223
356
328
795
449
384
331
597
796
426
968
593
909
195
156
962
950
858
5
815
156
523
684
949
623
824
285
327
133
658
268
665
100
54
412
606
410
694
468
228
972
851
856
50
340
346
833
268
618
685
507
702
171
697
983
806
403
853
684
140
925
938
602
914
6
889
825
560
95
443
195
795
551
691
351
329
452
750
746
177
486
572
441
513
523
295
608
172
356
691
709
157
534
964
271
989
927
572
14
341
870
818
844
142
311
658
901
275
355
539
386
62
37
130
408
952
902
471
431
237
232
424
217
132
332
297
333
295
338
162
406
679
413
715
293
659
49
463
275
510
424
681
169
673
392
824
993
688
789
48
454
354
114
45
46
424
588
695
10
145
819
888
734
1000
982
468
445
331
525
447
198
895
878
517
228
3
560
413
720
626
357
863
917
717
979
712
280
74
687
282
107
241
931
214
610
317
954
821
964
44
638
461
237
237
632
552
456
403
932
642
246
425
627
371
651
289
510
252
757
142
593
951
681
421
335
153
353
378
594
149
252
133
865
994
945
247
382
484
806
942
33
188
818
271
868
488
690
977
152
912
837
293
569
28
962
642
168
842
59
63
90
934
686
183
948
557
241
748
945
498
826
27
516
848
968
897
255
692
120
60
422
371
411
622
137
187
520
224
659
351
935
26
829
490
92
85
821
306
53
132
855
793
462
262
408
985
465
853
768
374
192
866
471
987
165
745
298
605
684
337
8
756
864
591
924
931
482
336
802
929
205
70
196
377
95
567
610
219
516
27
348
432
677
695
892
308
94
127
997
376
211
739
504
457
238
903
992
402
36
586
25
774
551
468
702
98
838
537
640
367
217
414
299
123
468
3
778
824
261
667
839
172
207
768
897
739
29
314
188
549
329
449
121
224
368
675
90
930
79
62
637
639
247
139
941
161
442
822
36
974
813
531
53
156
293
580
22
596
117
38
475
240
814
546
160
334
991
945
656
512
278
187
601
81
828
725
515
65
565
439
942
396
245
235
710
139
25
638
668
796
861
39
159
543
558
813
828
706
698
139
112
932
6
228
891
261
917
617
335
758
245
324
953
438
906
976
188
994
564
452
705
198
930
182
662
949
215
48
866
620
853
686
680
763
243
136
978
220
661
947
192
415
945
305
764
910
770
219
886
317
592
567
451
319
373
626
557
842
265
716
754
417
292
794
432
352
917
110
436
657
93
561
6
562
31
998
623
87
443
525
195
338
487
805
297
152
948
467
839
229
493
1000
644
123
958
902
877
351
706
464
190
375
88
284
731
427
887
478
885
969
428
639
708
80
734
749
578
235
693
641
458
706
719
102
547
334
790
391
808
509
73
740
15
976
557
443
508
534
266
211
823
779
637
820
688
775
600
489
696
966
756
60
96
688
780
796
766
343
865
543
391
703
567
70
282
796
901
638
66
555
897
228
689
726
153
424
786
518
51
606
491
170
467
15
195
878
762
226
579
522
777
747
501
228
364
794
956
104
710
761
380
408
345
554
24
3
246
739
3
186
919
413
863
919
664
819
235
996
482
966
177
950
283
961
319
330
58
322
842
541
715
269
570
605
111
882
216
43
630
65
908
593
326
446
645
597
268
701
266
747
220
311
846
293
187
412
170
995
712
249
81
815
985
701
55
850
997
501
307
29
982
50
105
904
345
199
726
221
110
953
680
47
696
838
404
936
477
563
614
982
145
717
900
640
378
451
959
890
703
474
60
643
701
272
946
297
929
118
419
1
2
326
243
497
308
203
883
361
716
314
788
114
480
35
607
932
244
788
762
613
691
63
260
73
919
71
499
869
70
838
88
167
68
675
375
108
608
192
463
775
674
467
993
808
937
536
838
248
373
125
204
394
288
406
280
268
770
632
761
806
226
671
17
28
313
852
673
270
37
28
662
996
222
426
541
865
877
696
56
480
194
542
436
696
44
445
889
444
895
321
129
784
984
348
532
295
454
856
697
982
903
916
763
577
465
160
840
506
95
499
296
798
227
555
430
918
335
101
308
837
210
264
110
639
982
6
377
645
990
227
990
319
618
849
504
187
134
412
739
657
364
45
161
841
784
138
623
495
225
703
525
708
919
182
290
272
79
429
330
541
531
689
362
160
172
661
11
244
218
153
117
485
231
423
74
162
917
991
828
245
567
662
850
600
771
474
551
813
771
537
79
296
372
48
416
161
871
322
983
791
858
293
722
186
59
818
770
916
619
61
383
967
363
400
728
840
580
551
532
31
861
122
343
394
317
337
327
978
314
500
124
628
480
638
266
19
321
879
46
807
275
316
558
291
369
525
796
296
983
415
351
998
379
842
246
56
756
212
870
740
629
352
832
693
184
96
762
593
147
332
756
276
361
761
203
777
951
260
193
381
453
497
566
994
749
459
935
56
990
594
699
775
948
584
130
687
383
141
117
404
111
845
59
948
395
711
657
262
195
117
123
307
564
737
393
675
210
325
456
790
805
572
875
580
146
747
850
960
690
513
973
617
283
141
918
320
138
309
896
462
257
828
660
593
501
919
171
479
485
125
874
594
296
540
643
47
815
794
74
638
54
184
796
110
517
366
843
706
41
302
943
814
975
515
808
817
826
250
78
292
697
867
645
309
947
598
461
938
502
878
809
2
150
558
218
752
999
695
892
431
948
55
514
582
723
124
814
620
486
200
99
352
541
115
240
100
952
196
283
605
185
405
929
118
17
937
628
945
38
207
916
266
48
826
925
203
519
96
725
966
82
578
237
418
702
485
14
523
791
29
77
967
10
334
356
720
941
222
12
406
111
991
56
132
70
284
247
881
379
299
197
639
374
867
983
177
524
383
331
844
56
183
614
731
266
734
497
337
601
876
45
205
158
513
492
30
736
280
706
446
925
200
558
6
50
811
32
905
927
990
934
603
525
531
489
867
622
577
927
673
447
130
431
53
125
231
436
244
462
869
337
440
242
294
113
17
738
243
244
378
580
506
569
433
489
377
404
332
605
800
321
237
346
439
492
833
757
460
384
775
308
580
889
476
984
780
706
462
263
169
865
36
317
637
856
129
326
352
694
42
334
599
645
223
466
195
15
392
642
482
610
40
177
933
978
831
729
491
530
472
169
103
992
390
806
336
409
965
326
562
105
98
500
984
584
643
412
680
334
573
510
916
913
809
264
217
487
298
588
64
187
280
472
650
286
687
469
789
211
257
768
979
823
259
597
579
232
701
617
278
678
504
767
328
617
403
760
501
225
281
59
374
993
222
681
335
939
819
651
659
238
187
241
92
752
662
403
676
21
427
979
929
759
130
299
96
814
129
801
914
825
146
134
206
546
991
53
693
893
484
37
569
325
865
223
796
45
801
715
537
912
555
747
842
613
5
511
527
864
980
663
157
901
819
658
185
525
147
114
593
302
598
324
847
291
650
908
544
877
747
326
942
823
656
659
447
691
323
620
217
141
573
222
281
449
637
932
948
761
864
413
831
247
955
137
514
314
715
274
737
478
625
259
994
320
514
334
608
198
207
202
669
30
342
644
701
501
441
571
576
536
942
544
953
707
140
200
520
550
866
415
374
410
333
248
171
545
756
902
80
688
242
984
154
174
981
343
472
30
930
611
269
149
60
399
347
770
688
754
237
3
608
113
944
92
519
469
626
405
736
897
214
901
268
888
830
972
135
176
805
100
257
864
270
726
277
688
569
100
498
228
197
652
463
666
575
586
804
523
738
7
662
396
918
854
406
326
99
324
347
898
841
272
880
524
48
274
793
700
932
655
489
152
79
820
540
957
424
617
255
663
917
340
974
401
865
187
353
744
230
632
242
856
668
258
657
28
716
996
948
311
332
651
519
334
954
797
345
787
331
855
110
283
655
209
978
481
950
744
915
414
215
43
979
945
597
820
197
157
717
849
482
255
339
775
537
273
768
712
858
444
704
445
750
641
824
424
723
661
997
426
790
480
889
947
935
805
675
928
460
393
743
351
37
630
524
658
2
831
84
654
843
534
674
783
922
846
232
230
131
553
720
269
611
250
292
726
653
273
464
160
600
530
918
646
912
662
44
584
538
149
72
45
418
49
486
544
217
90
423
992
380
751
929
797
225
743
282
748
32
82
52
359
72
525
219
808
68
721
474
458
852
821
746
263
874
698
143
962
787
124
729
135
529
465
986
603
233
480
404
617
770
809
332
533
973
610
158
402
383
580
893
25
886
308
457
513
739
481
307
358
325
995
572
320
403
410
518
196
776
529
997
671
55
82
519
8
645
641
705
298
160
928
214
330
238
607
627
948
98
513
437
915
285
25
15
886
718
942
370
89
571
799
566
722
511
22
918
835
522
712
467
725
875
137
769
438
815
175
745
44
159
98
191
714
355
41
566
529
463
447
818
141
195
585
390
62
386
949
951
440
230
8
114
581
189
267
140
400
749
92
598
218
73
59
70
2
185
861
225
243
533
980
22
146
625
358
390
706
997
330
420
528
933
909
55
996
197
336
242
466
557
485
767
706
995
307
310
730
355
22
791
496
603
149
738
678
19
815
241
886
421
979
34
237
934
352
365
141
938
830
659
552
550
192
365
677
410
671
33
325
603
759
412
672
261
256
271
175
758
169
739
805
439
509
173
542
524
434
963
284
147
464
225
958
498
685
22
612
693
972
636
722
296
243
384
754
391
683
691
288
728
691
413
628
727
28
917
905
78
268
39
102
259
196
855
329
538
237
131
924
932
346
443
639
155
59
207
255
795
532
282
464
858
510
387
732
300
95
306
183
407
91
727
243
667
492
633
878
336
341
332
830
992
822
598
107
228
934
885
406
80
509
257
794
903
653
502
202
202
915
871
779
352
620
37
129
225
835
140
844
499
381
252
469
831
145
207
251
115
725
476
589
786
65
713
97
486
338
672
581
450
793
398
43
639
657
28
24
1
489
38
214
234
547
496
283
72
854
740
313
440
647
897
23
764
781
839
265
379
520
502
860
225
831
948
929
970
950
236
336
286
513
909
683
262
7
888
631
818
604
671
934
574
753
972
697
806
8
374
855
40
686
152
733
318
882
133
898
380
292
351
180
847
22
326
876
977
325
953
663
719
743
377
681
611
669
738
557
529
754
315
926
403
894
453
92
817
747
631
69
828
885
144
190
431
700
200
810
859
132
664
446
288
137
281
826
590
572
995
936
500
821
876
131
908
74
267
768
55
624
960
623
51
941
641
572
519
564
352
611
132
40
429
331
472
245
250
374
970
425
104
243
617
194
696
59
792
567
104
537
796
814
496
459
659
542
556
421
336
975
350
479
678
815
327
577
467
445
237
343
350
455
46
896
743
675
296
826
623
918
987
362
684
665
745
93
487
745
959
275
99
902
595
905
198
797
601
225
786
606
181
286
449
887
717
507
578
777
786
914
86
926
564
891
931
776
864
814
192
937
212
927
528
434
648
135
622
563
396
216
577
918
150
79
323
923
485
315
796
857
826
264
20
931
474
202
262
446
430
88
99
444
138
483
595
543
818
889
769
854
749
768
188
965
735
941
844
976
988
873
423
504
832
613
705
361
960
805
103
373
460
210
304
386
453
676
535
95
994
322
262
736
827
992
986
48
698
717
418
150
187
979
465
178
433
91
395
529
736
885
30
607
686
206
20
784
440
420
96
116
723
245
684
26
415
771
427
763
869
406
965
973
669
866
788
99
184
56
107
672
96
800
456
747
70
990
179
916
876
620
47
303
553
588
995
955
661
877
369
826
284
934
139
374
196
632
252
382
516
188
657
245
284
830
576
394
576
763
274
923
211
238
931
786
605
116
188
90
57
345
639
148
592
192
799
920
511
924
85
423
952
828
944
470
104
170
557
849
192
670
465
668
991
595
69
141
415
395
202
505
686
93
857
159
689
306
741
296
385
877
517
544
559
572
488
126
788
182
985
65
202
701
922
839
539
933
820
652
10
9
85
195
705
799
497
383
623
167
662
33
922
296
659
874
660
107
216
591
106
887
551
845
700
845
428
308
877
228
80
828
247
22
402
747
90
17
204
266
731
213
389
494
109
91
630
487
790
305
497
143
733
716
1000
295
368
494
223
735
908
244
38
159
392
699
897
262
620
554
367
249
42
454
353
102
619
958
943
795
903
565
428
496
865
506
317
523
493
96
108
426
839
847
184
135
953
469
407
518
120
88
933
92
918
750
311
824
862
321
129
180
834
400
375
600
77
748
174
587
236
56
790
442
858
562
563
502
766
141
18
396
948
43
471
453
952
342
318
901
288
511
620
883
4
280
750
680
444
79
623
698
155
895
479
950
62
384
275
783
326
370
481
542
735
712
497
710
110
629
955
828
935
200
877
145
375
725
55
535
902
36
32
670
976
647
743
832
635
836
238
32
369
372
870
291
376
624
35
37
131
195
799
591
237
91
772
591
667
640
166
78
863
50
285
620
612
515
601
545
271
281
185
855
708
893
496
833
265
172
437
729
169
88
148
140
70
846
215
870
807
913
867
132
79
691
221
915
433
776
873
220
855
479
925
664
314
420
63
634
790
480
450
779
691
351
993
130
57
275
39
539
640
248
638
471
754
170
324
377
786
930
778
26
385
398
844
198
646
651
86
103
66
528
533
700
620
795
246
893
118
770
124
206
890
264
691
120
915
81
669
732
771
110
787
770
153
274
661
280
243
208
547
512
930
526
427
602
731
33
209
677
273
987
779
914
365
830
257
892
17
401
116
307
252
727
715
758
171
920
435
833
546
603
807
167
176
531
967
519
302
755
300
123
694
785
374
780
413
657
119
186
815
737
744
983
138
381
75
901
845
283
817
140
990
459
770
823
47
322
154
981
998
256
23
999
4
405
217
883
635
140
401
31
475
820
555
396
895
8
673
69
905
259
554
358
330
966
289
353
972
521
471
841
30
217
200
179
833
910
686
400
840
449
604
379
938
258
405
385
321
289
459
698
579
748
249
283
230
607
834
673
558
969
451
349
539
730
435
877
617
866
608
995
253
868
891
647
535
527
206
692
564
300
625
649
25
965
360
357
93
117
395
902
826
340
491
478
249
579
843
126
649
277
888
458
976
387
624
515
851
221
362
916
397
414
953
311
998
1
460
937
143
700
651
790
703
23
926
500
359
767
24
511
383
771
389
588
689
544
149
966
839
550
463
709
733
458
415
961
788
630
736
803
759
499
376
379
761
235
340
809
689
296
282
152
986
35
65
339
616
512
834
583
185
85
230
226
397
114
18
367
389
371
751
924
61
307
102
928
203
399
135
1000
76
192
105
930
138
496
337
197
729
446
351
92
922
755
703
829
150
574
909
648
928
795
443
469
738
533
28
77
107
764
351
188
21
785
884
975
82
260
724
827
207
66
219
155
295
96
687
34
955
439
718
375
344
87
383
67
134
423
187
272
912
276
732
590
581
240
888
392
931
293
725
956
142
505
585
414
871
747
444
714
501
880
158
933
309
854
277
328
581
517
849
426
159
703
41
346
517
331
487
248
215
858
945
512
499
396
260
787
911
196
631
545
970
33
876
127
413
185
727
595
979
376
188
846
478
5
631
596
690
472
628
798
688
199
478
10
326
213
8
10
976
780
499
710
61
658
548
35
583
963
227
965
634
537
192
395
830
955
260
801
703
994
555
969
371
474
537
194
206
863
80
430
799
928
332
847
258
40
231
115
764
419
425
548
338
736
822
918
996
13
159
328
801
674
787
92
864
943
330
918
972
527
1
53
392
662
138
252
352
143
961
564
846
946
627
981
702
370
426
903
312
450
350
262
14
514
337
881
890
397
196
290
658
748
605
834
415
341
593
324
211
14
597
925
838
159
546
189
738
217
397
406
665
713
213
494
552
768
188
669
101
848
979
58
714
777
325
220
789
660
235
272
800
433
927
938
296
201
315
398
696
394
87
219
726
56
302
36
454
221
18
883
127
463
662
244
460
158
723
951
561
897
904
59
452
821
11
653
1
304
737
402
142
584
968
287
445
406
416
603
478
716
172
783
882
744
244
36
793
572
280
96
15
409
434
605
388
390
784
782
885
603
791
68
295
491
40
377
785
486
912
434
250
935
883
435
110
969
872
925
148
928
432
350
41
380
598
238
490
547
900
307
208
187
386
105
608
563
496
999
714
189
275
370
661
425
751
951
191
869
220
90
704
704
856
579
747
817
298
394
318
550
833
336
981
416
369
75
601
955
630
573
445
199
935
178
509
877
463
964
191
570
120
41
843
536
5
613
321
798
8
564
381
406
228
211
651
477
776
655
945
743
1
850
922
864
334
125
396
656
769
362
166
774
439
501
858
59
896
290
149
969
468
498
661
30
494
863
19
195
338
147
794
396
841
579
562
313
245
806
874
576
703
270
708
194
211
544
911
1000
143
750
178
291
624
654
379
643
657
417
422
91
237
249
369
484
720
425
246
838
335
216
839
931
58
280
755
237
18
990
240
517
246
977
529
38
821
897
18
431
459
53
159
694
112
58
790
651
453
143
553
506
988
79
179
770
108
933
637
941
618
32
617
792
127
598
363
40
247
451
594
442
704
107
167
97
310
338
159
823
264
990
253
37
368
419
667
433
587
451
377
159
824
134
58
866
915
922
995
185
623
99
174
746
857
431
946
770
394
34
895
684
195
399
46
923
740
389
108
318
906
718
248
994
637
160
780
738
981
234
255
166
148
630
649
832
893
1000
739
620
896
29
314
381
771
898
549
804
33
342
734
920
630
511
571
481
624
767
407
699
229
344
109
473
687
545
753
267
399
764
958
295
325
162
465
497
905
274
539
86
662
161
849
102
200
983
767
524
546
42
432
928
626
375
517
645
220
1
336
594
916
759
859
750
417
489
209
267
66
999
439
814
592
830
726
628
910
392
659
79
243
387
921
329
992
811
548
765
529
17
879
489
544
462
470
54
645
796
557
36
684
891
57
795
658
263
751
936
127
85
25
593
758
661
473
623
33
789
750
208
141
918
271
165
787
397
770
448
971
358
250
987
815
41
580
971
130
375
819
174
766
727
397
681
722
563
428
689
633
642
756
638
524
43
826
21
650
991
109
658
849
960
592
94
51
976
808
39
531
411
980
471
14
784
118
67
980
274
326
156
384
697
154
251
524
686
553
548
995
683
893
451
485
149
533
348
681
81
644
323
705
518
334
469
301
255
636
765
473
341
612
241
374
315
600
281
62
304
679
484
131
276
505
448
339
757
4
219
103
266
837
899
135
574
176
101
531
652
64
516
366
818
596
844
224
186
181
739
75
963
417
214
669
548
484
179
878
657
496
369
483
888
967
962
510
259
392
618
544
231
975
470
433
650
662
884
375
873
30
411
707
40
989
425
615
107
953
399
584
777
900
621
669
915
685
455
539
384
107
870
852
477
457
123
679
315
724
893
621
606
191
111
752
171
893
11
724
494
292
640
210
364
581
178
349
351
207
933
25
462
576
830
602
830
416
500
225
707
935
855
898
328
733
170
347
455
427
222
96
545
67
29
279
497
718
79
466
900
45
693
177
537
330
378
809
671
125
590
439
280
644
300
319
985
112
190
916
900
459
70
25
995
209
340
844
848
884
927
875
885
3
139
178
257
577
323
820
552
25
31
311
428
607
641
461
72
788
37
358
126
445
984
97
331
437
308
492
695
880
845
256
424
415
410
6
203
842
687
47
677
783
44
87
128
439
766
899
428
89
89
494
314
702
711
539
906
935
185
598
186
816
696
277
837
631
249
496
456
863
230
933
632
585
617
147
826
331
880
993
279
325
732
755
407
927
467
819
289
282
555
831
850
449
549
2
327
759
124
662
431
739
229
182
371
695
943
137
577
999
596
927
530
149
111
128
559
969
347
493
873
626
388
905
361
758
395
553
891
655
603
263
948
323
506
227
442
253
99
344
427
896
272
992
312
179
123
348
835
849
972
304
733
112
354
591
550
785
111
24
491
160
974
619
557
871
708
958
473
326
984
333
58
672
609
120
776
852
665
338
165
28
395
530
732
558
378
966
670
714
677
636
476
590
118
679
114
932
834
692
900
214
505
820
669
879
483
678
132
547
132
903
539
932
254
586
875
380
455
919
903
205
642
155
245
477
631
341
607
500
11
400
952
997
7
806
118
929
44
496
951
946
164
673
459
720
177
866
920
775
704
908
128
974
839
549
172
554
195
14
229
403
529
178
876
342
961
957
310
304
51
156
702
646
642
293
642
303
432
848
230
139
682
962
934
633
351
899
770
1
202
441
705
954
112
974
429
547
901
230
830
11
465
529
548
27
935
870
966
618
832
442
882
752
941
939
877
764
729
564
116
927
624
763
867
844
450
555
597
852
599
759
835
295
291
563
391
365
400
658
673
146
888
583
21
699
839
29
1000
260
455
586
511
114
138
836
480
287
978
739
588
983
512
978
193
592
667
313
167
195
125
8
816
683
215
87
472
49
598
507
589
904
657
356
407
4
494
803
313
416
900
864
54
958
458
7
865
739
206
233
386
927
929
557
965
362
180
744
588
282
615
743
191
201
79
526
575
941
140
905
471
930
475
510
579
139
551
278
547
432
585
710
930
708
607
670
152
920
810
669
365
966
22
452
874
466
293
163
517
655
93
553
963
987
536
478
408
531
392
415
557
935
387
848
93
539
429
131
72
223
944
903
792
682
492
202
739
150
168
170
144
7
63
643
533
351
276
7
427
335
495
368
971
34
195
510
880
638
885
90
535
32
634
255
461
201
305
167
686
428
581
938
689
976
820
125
733
787
273
253
398
751
978
787
14
252
925
596
545
53
686
251
164
29
801
408
422
915
651
133
423
33
390
263
878
897
824
818
246
709
767
13
435
27
496
657
695
300
426
587
392
530
4
317
350
81
140
263
290
506
193
750
731
334
642
505
350
952
88
481
466
71
192
692
743
766
423
173
693
789
313
326
811
621
976
681
443
766
267
539
602
880
877
44
975
672
44
1000
324
909
309
128
317
514
950
535
592
470
290
876
501
187
64
56
578
56
450
369
213
139
128
622
421
340
989
163
868
943
678
720
517
109
232
594
336
765
445
94
554
348
466
25
808
27
355
706
397
350
976
232
542
758
652
663
195
14
466
389
486
432
965
185
317
710
278
357
991
279
355
955
980
367
97
236
136
364
656
427
693
673
62
388
379
949
650
927
864
531
458
388
523
894
882
623
198
171
413
599
258
133
164
711
735
551
287
353
735
487
69
378
656
960
664
916
936
330
974
390
214
949
132
717
814
887
430
384
392
994
271
530
451
178
939
187
178
533
534
585
713
870
420
763
539
277
937
797
142
578
914
593
482
929
737
579
88
356
344
596
805
714
526
950
290
425
362
911
392
361
414
882
425
387
598
116
194
438
230
106
344
455
859
733
220
166
912
830
989
467
65
83
187
136
515
71
232
702
1000
837
670
546
517
565
116
766
149
836
875
862
334
456
251
73
192
16
393
61
242
228
332
687
954
519
554
828
108
580
41
537
844
324
241
362
629
208
803
297
113
978
275
696
979
689
140
419
451
257
738
653
73
942
620
120
754
845
851
853
832
960
620
316
78
354
253
403
168
765
414
793
117
283
822
173
582
819
305
121
727
726
375
790
568
309
804
88
311
925
876
767
240
53
78
667
112
8
7
382
870
954
177
795
717
469
226
228
241
224
757
473
319
245
657
561
18
833
299
966
538
463
447
853
540
884
63
114
861
190
438
182
721
881
258
30
987
763
268
364
985
90
170
701
637
542
279
970
401
444
242
263
629
159
821
611
457
722
331
970
271
599
841
158
144
927
646
124
359
690
848
764
272
99
90
489
357
845
636
861
192
3
10
956
528
122
363
498
364
400
576
478
96
954
860
690
432
870
294
550
716
110
276
657
731
378
378
743
823
732
428
100
422
55
978
72
643
532
466
917
651
885
501
215
932
469
716
985
430
272
503
848
732
500
818
929
166
686
910
617
699
231
515
998
989
834
535
523
810
549
716
455
343
88
146
730
490
571
686
126
477
106
565
73
461
494
488
992
795
857
534
782
875
167
26
987
215
520
344
188
514
476
316
377
979
941
464
443
126
882
840
377
584
633
645
510
183
669
95
895
757
496
262
943
618
760
716
549
658
741
858
244
349
172
755
358
730
707
141
791
620
435
16
734
869
537
921
626
487
576
534
689
848
917
727
616
978
476
567
394
171
330
79
753
737
706
720
478
772
549
677
620
203
153
59
723
245
303
974
284
620
34
331
41
527
338
877
142
438
125
652
880
209
330
573
493
895
277
273
458
906
351
711
836
836
567
294
459
353
844
422
196
70
661
437
101
159
323
930
963
819
207
236
700
394
247
733
38
47
369
266
152
435
780
590
296
739
798
265
941
746
385
809
636
415
660
271
610
512
473
574
137
434
515
134
800
318
557
291
96
893
164
10
283
281
607
201
953
170
772
711
607
323
590
745
391
407
857
17
271
507
371
413
115
491
978
319
560
610
457
78
91
324
205
196
436
359
274
43
258
449
699
800
135
15
945
289
976
316
988
164
360
210
773
671
754
744
766
775
219
237
877
43
993
386
302
60
294
201
710
553
796
242
793
613
495
720
385
591
90
520
232
302
590
84
47
141
595
401
634
608
554
71
729
509
404
499
701
807
129
825
400
680
190
85
251
867
252
484
173
778
320
347
999
166
227
483
873
386
377
272
523
398
803
694
411
691
887
922
487
276
540
857
699
712
242
164
470
907
113
942
35
92
104
163
968
930
451
400
177
188
813
177
407
808
847
462
568
454
557
465
250
861
445
907
407
351
328
344
525
929
737
994
534
277
938
716
368
750
975
466
331
249
607
596
393
439
632
808
91
330
906
461
994
679
316
187
576
36
48
448
892
468
778
749
704
216
831
726
519
558
905
193
589
140
726
574
69
941
847
808
376
777
888
976
303
989
672
386
585
520
115
781
421
122
192
702
927
823
17
724
616
107
857
475
784
502
917
873
103
360
853
986
825
696
254
280
742
862
817
787
456
697
507
913
560
542
789
172
65
173
911
146
765
266
319
332
266
499
486
377
89
756
857
378
603
188
135
558
529
97
827
648
418
672
857
705
826
657
30
987
839
899
317
670
271
559
268
910
100
511
308
745
652
49
341
836
646
573
873
881
439
395
795
814
730
91
104
589
535
158
84
415
460
821
885
810
173
964
32
724
504
93
105
312
790
132
736
593
910
647
105
415
970
772
313
596
743
715
383
94
769
229
129
355
506
841
822
754
26
957
405
161
542
168
964
246
475
226
352
69
877
198
96
894
748
235
218
891
219
245
174
625
602
528
899
765
55
74
848
460
946
802
10
222
67
481
107
948
503
485
551
933
315
769
321
332
196
692
575
554
901
394
696
494
577
420
493
349
64
243
402
989
888
96
917
520
915
299
911
709
591
855
178
410
278
668
302
989
438
130
921
19
328
218
555
195
422
456
421
494
997
308
106
102
186
568
503
528
344
359
183
608
726
177
235
842
361
233
684
586
464
28
754
173
901
687
634
933
32
109
907
451
707
363
466
101
340
115
569
78
730
70
673
671
764
545
808
497
208
345
576
775
540
26
269
477
205
513
245
404
687
747
443
771
567
765
835
913
48
103
703
103
506
965
850
270
279
916
244
632
263
188
126
849
871
850
348
338
570
221
521
820
529
876
590
990
846
529
618
440
496
906
893
639
356
396
924
779
660
960
579
796
780
264
361
712
508
472
804
731
896
481
62
193
281
609
27
563
342
961
734
143
893
702
394
70
659
488
108
477
460
170
212
395
71
655
266
94
513
538
865
73
712
674
831
856
227
408
855
48
261
547
317
885
257
517
843
624
178
340
149
699
998
220
835
500
16
538
118
15
368
28
913
342
501
726
296
248
431
60
150
544
346
92
682
24
450
520
619
122
5
473
92
242
203
567
609
905
819
941
70
503
639
182
477
450
262
178
834
937
212
908
764
369
259
106
528
749
466
565
459
975
753
529
301
18
713
313
586
438
6
765
981
560
882
668
472
867
332
514
367
904
868
335
372
1
209
442
397
677
967
983
325
429
995
225
731
954
230
305
393
523
688
38
503
374
810
995
684
491
447
733
262
64
649
496
782
259
833
184
382
687
67
634
514
65
964
550
450
152
108
498
156
983
60
434
412
790
698
191
512
772
67
176
479
51
980
296
482
739
323
785
87
17
372
190
26
542
486
219
406
285
212
556
674
108
160
32
189
24
52
713
960
80
936
604
960
244
937
622
439
498
811
454
831
600
260
688
176
600
181
366
449
255
10
712
849
956
870
331
858
625
510
624
871
333
907
518
281
44
968
829
159
989
996
794
111
659
423
318
458
301
897
504
603
95
923
874
362
919
173
510
63
697
14
5
419
863
2
737
543
403
870
467
980
245
22
691
305
545
653
473
662
530
411
715
582
122
928
978
598
531
659
945
407
361
212
630
849
544
734
223
520
604
7
261
629
313
611
449
634
827
873
35
234
739
366
110
569
339
398
599
826
525
278
966
31
471
125
878
465
159
673
156
53
286
789
349
24
941
443
180
367
635
428
925
895
950
462
520
226
94
209
806
624
145
344
875
447
583
56
911
868
24
264
261
696
727
395
758
320
510
783
440
281
253
618
897
501
993
905
453
972
975
85
266
555
706
795
206
623
165
750
84
449
863
893
378
613
367
742
136
220
221
363
119
369
954
487
578
161
11
92
293
502
970
195
605
94
402
689
238
317
68
807
619
124
923
206
293
721
591
715
735
518
525
511
574
796
94
856
763
597
204
558
745
554
867
6
10
807
366
970
756
655
240
343
524
328
354
675
810
88
753
635
643
905
813
533
25
110
454
614
964
763
824
168
543
936
907
377
88
774
980
462
68
968
692
900
758
248
826
417
78
575
460
988
262
21
349
338
183
698
829
247
197
706
427
556
394
790
691
911
971
269
433
131
266
876
714
609
657
318
403
259
164
736
93
395
45
756
453
325
144
492
869
630
28
681
366
823
182
115
330
552
675
686
535
589
734
617
337
597
594
957
663
58
880
960
593
834
470
802
934
506
527
934
170
63
872
514
540
474
416
539
848
434
703
714
770
845
918
634
58
654
906
554
75
268
857
868
482
118
280
452
781
890
856
175
615
551
528
222
388
613
931
338
837
980
904
766
610
315
334
404
795
140
58
714
613
753
872
958
147
619
956
657
92
112
204
540
965
348
981
868
141
386
839
707
361
250
577
655
76
72
832
525
112
147
63
742
637
862
421
502
366
236
457
324
259
311
77
233
701
739
441
683
317
671
726
280
105
541
832
519
542
355
110
47
677
911
153
384
9
740
545
689
86
622
192
868
404
264
554
295
110
75
640
428
466
23
107
899
786
233
190
2
799
322
473
54
984
472
695
818
467
898
907
21
453
661
261
16
65
762
672
813
633
63
374
5
170
864
123
639
798
890
446
676
363
54
850
500
317
587
363
890
247
32
113
961
87
185
928
856
127
240
66
376
449
299
298
326
286
927
492
75
120
607
770
720
36
813
54
288
962
887
552
604
956
85
293
826
614
952
360
140
9
660
856
787
320
56
968
425
450
948
709
803
470
612
67
848
713
543
297
608
678
294
54
865
692
570
919
934
443
868
601
836
98
639
784
16
682
317
137
823
817
610
495
209
704
108
582
483
444
627
948
514
413
678
970
463
418
136
887
998
793
464
811
930
434
828
603
412
982
66
300
140
62
730
500
496
474
380
756
186
742
892
551
763
264
769
886
316
582
383
840
773
974
612
740
477
643
543
712
159
274
820
484
963
627
707
253
944
129
137
334
331
143
864
86
894
697
317
283
957
992
932
740
949
912
507
465
902
124
644
49
985
54
418
296
957
214
214
357
441
868
114
721
33
16
270
481
563
16
508
215
275
935
741
696
300
930
887
371
555
482
668
223
119
358
53
215
231
539
137
947
247
144
918
587
325
623
799
373
124
70
618
222
502
553
672
42
79
776
505
378
507
211
203
905
499
95
565
135
952
323
769
385
15
319
129
724
584
427
99
126
464
227
930
502
455
459
311
656
659
899
855
426
610
633
525
463
232
643
970
160
207
542
254
209
66
564
651
154
207
652
40
86
85
587
892
327
23
615
32
540
435
981
145
209
790
78
470
855
299
690
250
651
123
924
276
341
903
14
302
485
539
95
211
103
439
445
529
717
909
450
317
642
964
711
522
148
605
323
573
759
516
320
389
513
226
694
5
526
988
172
672
514
51
181
683
286
507
14
104
352
615
237
320
933
365
818
542
633
43
270
438
967
739
361
658
747
54
574
287
42
756
560
218
89
764
276
5
17
635
380
30
747
685
709
690
735
960
347
896
497
577
889
376
22
325
968
150
235
29
28
89
645
892
626
610
212
925
247
468
218
617
730
30
668
193
934
634
289
175
185
387
748
465
396
281
101
838
470
571
793
562
759
186
771
846
894
334
395
940
269
602
860
27
809
549
802
482
438
233
585
679
843
145
554
299
690
760
158
6
459
271
459
425
458
109
985
609
369
537
269
543
887
936
726
801
637
413
674
153
575
15
440
785
484
110
473
814
37
515
308
934
128
531
39
359
800
337
681
726
191
130
438
227
322
1000
424
74
481
745
819
305
153
768
815
92
199
748
933
932
7
969
470
555
866
102
901
943
690
733
35
574
533
132
588
921
36
584
651
257
62
118
199
26
299
608
399
385
536
32
965
68
654
151
246
345
97
989
18
706
761
246
202
879
764
270
839
914
537
236
703
377
28
977
872
126
587
299
426
773
281
657
183
682
954
821
67
275
370
485
263
491
121
845
769
486
843
830
357
36
440
23
240
654
666
290
912
134
411
815
759
92
482
523
16
78
490
854
576
22
702
464
952
70
352
716
451
382
978
754
208
81
777
534
300
337
868
465
576
533
600
163
205
546
731
450
192
459
383
864
268
429
165
908
639
9
752
704
45
963
526
986
461
483
556
134
556
786
349
508
725
250
297
450
101
606
691
158
466
225
481
93
377
206
731
701
159
781
838
4
631
558
150
75
552
248
572
469
836
806
110
438
492
394
79
193
130
150
873
487
602
529
789
533
12
898
361
660
924
130
88
102
17
197
218
23
883
126
465
221
879
229
158
943
201
248
326
898
403
865
667
873
605
76
158
307
548
83
347
824
461
686
943
973
445
634
459
380
682
39
27
116
352
747
465
297
536
506
849
868
779
888
616
69
204
174
217
304
260
838
898
990
215
830
50
516
536
612
866
595
111
759
770
173
113
996
190
516
961
763
757
273
442
704
952
121
581
40
557
52
213
442
989
497
586
807
761
254
496
393
849
617
618
833
726
214
721
890
145
771
385
256
580
470
731
288
365
591
354
347
168
854
401
335
445
264
225
91
878
269
560
520
639
740
548
761
512
615
197
198
504
49
88
850
644
568
205
507
38
30
806
27
123
163
132
330
284
74
578
998
653
399
698
839
940
702
995
422
638
315
45
387
776
66
881
278
689
245
977
759
922
701
372
326
508
215
665
64
310
114
681
552
36
681
559
774
833
36
914
751
67
66
505
694
19
426
534
633
744
816
288
870
267
556
363
100
615
908
101
710
948
759
202
599
165
38
678
843
929
666
470
667
25
944
72
469
303
31
439
103
249
553
327
242
397
455
953
374
369
930
520
938
344
606
737
169
122
230
921
430
774
759
654
247
59
98
256
750
428
747
530
967
425
247
312
248
741
643
410
135
16
144
365
116
695
762
351
93
924
36
187
806
500
818
129
156
348
758
596
103
892
309
453
824
896
29
811
875
111
472
572
393
58
211
86
774
849
384
376
867
773
706
358
400
729
38
344
320
263
488
920
698
101
486
984
93
566
439
321
621
228
376
588
474
437
475
19
309
142
457
450
764
551
647
501
315
727
897
890
856
174
694
862
647
840
492
700
744
733
738
89
641
504
93
889
580
967
91
535
943
486
836
817
201
569
367
315
106
809
11
100
249
512
376
621
585
989
646
896
293
470
481
191
142
67
140
429
584
23
406
417
933
716
532
865
350
564
671
832
795
986
229
913
775
78
133
977
505
483
281
753
38
238
330
856
29
42
535
157
85
472
587
503
27
176
245
923
8
942
98
371
143
876
984
977
181
602
421
550
838
534
912
759
548
766
123
40
799
75
772
757
711
860
502
575
172
562
153
306
704
283
615
732
169
853
887
6
612
554
54
314
789
96
640
377
406
168
195
251
689
119
47
625
666
845
851
492
476
11
947
606
69
81
561
650
926
451
581
384
785
202
961
362
915
576
816
966
193
318
938
626
68
453
725
100
538
881
542
582
408
445
115
239
445
742
840
496
514
17
840
27
418
920
189
917
966
805
953
946
731
470
625
257
87
969
69
949
345
155
326
278
264
157
485
234
756
837
359
225
356
617
910
485
907
754
161
593
960
252
885
219
572
130
473
762
571
692
214
94
841
771
675
5
872
659
1
284
616
590
725
577
715
184
116
297
251
223
178
909
523
490
179
839
735
180
964
115
164
567
386
596
65
182
908
318
548
764
768
35
698
632
187
526
467
928
708
604
230
386
177
55
465
912
799
931
698
250
408
717
730
481
382
886
145
877
577
290
307
934
335
630
344
996
823
983
122
983
956
1000
832
147
731
898
619
694
11
857
635
337
767
725
991
541
285
248
347
315
94
152
318
867
229
505
432
364
989
743
92
314
506
638
927
815
309
251
920
18
550
636
907
681
714
623
428
609
449
546
379
109
610
177
618
340
744
433
490
563
9
689
210
871
970
591
199
916
777
382
740
528
28
617
799
884
957
52
423
72
711
212
942
462
145
817
61
298
975
816
59
313
117
236
508
989
781
455
318
251
157
778
473
53
596
393
512
283
804
882
659
877
873
470
533
851
972
97
533
195
106
230
310
225
649
40
230
43
291
207
368
205
626
158
361
573
856
971
401
574
979
538
759
804
421
824
494
960
240
246
409
588
947
220
903
47
485
939
104
352
115
307
526
309
778
733
586
430
19
193
464
682
694
574
188
1000
503
786
316
865
860
588
257
971
716
340
109
160
744
160
866
333
735
64
986
44
123
723
595
796
321
403
81
882
959
500
395
751
147
857
191
471
631
677
802
875
78
453
165
328
724
765
27
902
347
232
136
908
843
118
690
390
679
366
4
175
158
858
208
515
738
761
812
196
622
691
128
199
433
270
898
693
95
356
895
127
957
873
986
721
801
688
854
445
607
438
597
905
858
543
483
199
743
924
424
901
801
61
142
810
447
146
580
21
341
18
846
135
733
461
846
185
791
250
841
919
372
984
323
636
883
384
994
687
681
207
130
81
914
365
275
377
843
125
50
202
453
525
841
262
603
240
249
695
45
177
503
964
410
49
484
270
628
963
585
618
349
887
440
295
618
463
447
465
434
230
74
996
873
791
203
457
102
827
129
395
988
164
378
644
984
273
214
422
627
696
559
414
296
889
72
854
857
887
271
874
412
12
958
28
682
563
630
937
472
73
252
495
241
237
519
896
97
64
711
42
371
154
330
562
545
265
4
751
495
476
512
234
879
340
417
37
47
379
471
87
10
167
885
821
880
20
579
749
652
14
733
283
374
640
313
136
566
928
777
852
193
264
794
839
642
447
687
375
909
764
246
617
667
991
731
633
936
244
144
787
861
569
333
629
492
14
73
580
503
634
48
323
542
621
560
745
237
222
886
749
930
682
413
964
898
731
100
679
153
510
315
871
913
951
850
262
490
768
717
737
645
211
387
321
441
634
279
106
229
759
634
222
682
234
392
943
756
728
336
506
992
306
543
97
877
319
151
687
858
351
545
123
149
41
333
925
727
754
903
765
734
142
913
461
92
612
834
653
248
589
498
21
885
265
709
16
868
198
112
605
880
746
939
458
18
792
696
323
54
674
576
98
218
499
184
228
130
295
141
631
925
540
284
301
744
677
459
101
457
139
367
31
952
291
514
444
319
402
104
244
26
475
593
102
524
289
748
134
756
501
238
253
739
35
205
650
708
257
789
459
333
645
291
669
146
760
512
795
658
305
810
643
573
8
606
738
161
847
363
634
112
888
593
387
135
611
18
908
157
153
872
800
210
335
241
533
31
683
443
511
908
917
743
639
585
533
83
518
843
181
110
270
960
503
487
299
404
994
397
15
959
211
149
651
996
364
47
822
738
923
989
411
178
365
805
693
788
610
17
351
271
13
501
175
381
982
535
806
279
458
863
818
979
486
653
824
196
95
748
37
281
503
140
909
37
469
429
51
875
232
882
630
170
74
848
814
710
3
456
675
784
428
960
128
836
8
601
129
577
15
582
357
118
679
599
41
990
975
378
421
887
215
843
573
578
649
878
983
735
982
93
281
336
340
682
34
902
789
219
341
80
902
229
260
974
265
420
748
201
34
794
910
844
835
211
817
378
368
594
60
135
25
687
512
87
744
148
460
560
91
832
417
978
251
295
393
907
211
906
398
463
935
507
212
620
719
155
255
88
254
391
495
175
130
391
913
531
662
531
977
711
937
193
959
291
934
54
698
624
424
757
569
427
86
577
38
79
976
657
129
894
11
420
562
647
634
47
101
343
197
235
858
526
873
65
935
445
128
439
782
50
847
461
77
73
246
106
803
450
591
721
371
937
576
203
356
62
917
203
410
488
383
319
391
450
981
56
639
181
475
276
537
144
781
943
252
434
4
282
558
960
60
832
191
852
906
496
37
95
347
386
797
560
300
175
440
460
141
705
908
721
507
779
16
967
465
460
466
568
516
683
180
712
277
662
923
549
24
403
330
272
486
617
997
389
421
458
251
568
548
809
592
174
315
285
553
999
895
744
917
785
479
832
800
815
673
30
110
254
317
742
270
920
535
189
924
881
227
257
512
577
466
8
266
202
465
246
135
709
903
402
649
117
368
994
492
766
605
107
849
790
72
659
202
353
37
683
324
127
59
527
666
84
250
621
195
928
166
466
24
368
482
556
837
45
916
230
206
77
988
879
380
120
278
490
23
316
830
239
682
740
223
760
467
737
604
725
554
97
694
594
630
119
359
743
311
469
845
699
951
158
191
850
927
125
663
877
686
680
239
76
370
464
351
920
789
738
92
493
891
489
58
857
631
295
825
59
338
937
846
209
235
442
169
3
790
649
995
134
941
380
535
264
55
17
5
611
691
600
906
769
841
579
916
56
350
984
805
554
648
111
815
20
743
771
850
6
684
776
619
858
334
612
629
745
349
189
531
510
720
149
874
910
95
448
751
801
369
847
184
878
711
497
329
895
275
22
779
673
330
374
257
794
455
272
26
602
715
195
172
40
476
782
725
863
618
946
283
2
410
190
385
175
270
419
381
399
930
987
997
668
298
877
45
950
436
650
23
578
617
270
417
299
416
970
600
500
106
98
142
607
451
273
192
233
115
235
361
456
542
504
186
467
96
319
836
962
694
372
160
850
928
520
612
236
919
13
817
201
713
773
786
592
98
884
827
874
111
820
284
148
361
837
54
562
510
628
736
708
931
592
921
50
579
16
815
78
593
46
884
687
7
587
667
201
211
154
273
602
481
284
278
765
991
306
972
923
197
153
901
170
383
434
681
528
464
149
904
6
833
293
756
103
193
71
658
435
775
625
849
500
330
947
310
111
573
164
861
703
524
456
581
550
313
686
912
884
593
225
931
83
634
570
355
350
574
78
711
789
18
566
39
373
424
562
168
51
221
730
332
198
661
346
416
635
760
741
626
728
497
315
730
429
650
45
329
669
269
445
786
244
789
543
562
143
221
791
696
318
703
771
73
54
919
167
975
410
536
792
82
708
878
351
773
649
499
238
65
476
181
904
12
506
176
232
702
499
145
926
271
559
380
125
487
724
342
330
554
924
472
268
732
775
517
477
277
510
328
278
953
440
207
245
111
494
378
493
879
787
119
864
538
642
389
586
578
178
550
105
218
400
918
534
422
707
421
649
558
868
623
406
895
821
710
724
67
78
831
681
477
159
339
329
389
205
75
34
89
862
827
651
97
605
488
829
842
879
234
480
642
843
262
735
74
50
229
726
41
74
575
215
919
968
306
348
195
456
679
813
893
900
460
306
927
460
54
458
228
282
882
342
117
246
830
247
960
563
451
676
542
475
880
399
991
412
100
973
290
229
272
360
625
560
338
124
847
906
1
239
310
796
484
710
243
258
180
55
577
884
422
202
849
948
116
486
417
431
915
257
697
284
938
88
575
957
781
658
439
19
715
190
513
707
499
767
306
356
237
904
15
958
15
542
675
568
875
994
686
851
829
472
116
858
208
514
824
11
643
996
28
370
337
472
409
481
135
247
224
487
61
929
191
734
645
208
87
809
345
277
125
782
839
591
150
466
750
639
629
657
643
51
219
647
758
586
412
783
997
539
407
498
157
653
864
998
235
895
680
785
930
343
227
261
137
2
789
956
296
577
64
304
962
93
696
511
862
810
736
747
994
29
858
812
33
252
895
456
432
646
988
736
122
915
224
150
638
492
142
807
831
438
908
538
79
539
263
716
31
896
587
497
492
704
536
354
10
51
763
67
73
259
159
769
625
755
910
279
757
460
416
684
28
453
779
86
868
985
142
471
884
7
620
917
714
1000
956
728
282
284
324
625
902
951
872
848
727
229
724
841
440
401
151
237
929
359
527
19
933
494
511
54
281
914
634
674
399
897
51
643
225
98
828
594
531
268
505
32
919
124
66
42
443
620
698
154
884
26
864
214
201
135
303
676
564
439
525
485
699
271
273
592
958
805
177
191
662
243
555
965
769
715
877
991
855
213
951
464
733
336
262
60
764
764
246
598
58
141
488
639
336
493
955
777
150
392
442
716
550
815
307
613
46
86
465
851
882
288
331
87
240
317
81
415
968
62
162
492
818
265
461
768
8
276
914
287
82
269
621
138
718
483
752
258
89
690
577
228
873
436
15
636
780
517
962
816
754
823
504
57
624
932
833
867
35
772
307
522
956
283
658
926
923
218
759
733
431
175
728
823
599
460
418
468
270
640
464
938
251
490
158
883
228
581
386
565
267
926
739
873
453
962
700
135
374
628
488
911
670
445
772
323
778
344
926
990
359
421
952
297
614
938
480
563
854
661
502
644
240
67
621
647
544
32
610
737
196
367
65
450
591
981
730
549
860
478
874
203
856
758
731
213
115
512
593
63
943
576
612
813
571
766
772
244
550
159
736
200
145
793
498
775
539
405
864
851
49
134
780
513
419
93
440
18
488
314
931
329
150
873
891
723
622
926
280
585
450
966
916
331
577
886
845
320
41
302
4
750
583
186
828
775
490
39
684
509
514
738
35
157
590
689
216
243
392
135
606
787
443
279
743
349
660
401
638
21
677
283
121
842
266
84
594
599
476
263
924
662
864
258
590
305
339
441
359
976
679
264
938
90
754
636
82
223
842
286
543
49
203
305
153
933
241
83
33
900
186
613
616
585
193
460
728
856
177
766
442
35
481
316
806
34
697
41
826
255
568
341
289
803
923
237
81
442
22
709
709
701
516
500
597
731
476
333
564
834
587
720
635
56
648
522
927
888
983
969
915
910
241
126
829
149
310
680
251
44
770
487
275
183
381
528
722
351
601
801
995
70
1
214
108
476
783
696
320
323
279
621
593
905
445
126
765
908
881
29
955
567
822
914
203
990
903
370
753
206
210
513
743
310
299
710
229
48
403
824
661
340
20
429
924
533
405
161
10
597
314
796
251
133
472
683
771
776
844
903
499
522
791
875
647
588
553
160
14
614
335
922
885
449
464
809
555
254
703
48
716
416
826
175
41
559
994
155
289
11
288
588
197
200
15
339
209
831
27
202
832
128
371
128
48
93
8
170
728
527
249
509
435
490
791
859
393
1
926
84
583
31
581
93
157
274
330
941
386
733
425
603
347
920
175
57
430
325
740
164
540
887
490
335
541
355
612
108
121
845
594
591
727
340
511
180
645
617
803
80
637
859
381
945
726
221
430
390
892
738
257
194
460
284
882
796
898
701
846
65
607
859
893
386
21
160
744
834
23
902
206
562
215
19
216
576
85
934
249
735
483
636
718
169
91
665
602
305
784
357
575
328
876
587
312
243
228
238
509
637
136
807
361
881
708
874
928
795
190
652
821
715
298
468
154
508
178
806
513
322
50
535
24
760
922
990
218
724
50
890
532
407
948
474
730
759
840
805
440
299
408
932
318
321
580
496
31
392
879
393
385
525
549
315
440
564
284
346
378
151
862
309
222
70
434
221
254
929
509
28
101
873
906
809
50
511
82
730
60
276
268
360
355
211
799
387
210
594
870
395
742
829
694
116
103
794
713
491
445
170
82
954
429
334
102
575
863
61
669
101
251
636
105
467
647
965
904
38
232
926
33
733
468
524
461
157
501
367
438
71
730
599
942
807
109
722
364
792
797
655
175
888
227
981
848
137
533
569
721
395
540
676
896
458
204
183
445
562
477
829
434
539
34
201
278
488
240
743
962
569
988
244
515
392
784
101
910
535
556
158
284
909
174
65
925
66
612
907
28
40
11
350
585
981
630
619
130
684
836
463
268
75
821
637
31
870
698
577
179
905
990
640
465
99
305
736
759
598
151
177
671
435
440
359
971
946
222
188
687
242
565
247
205
319
333
356
110
705
785
534
777
152
555
351
901
539
601
324
280
30
99
326
144
527
140
929
258
650
292
223
825
774
755
952
946
161
868
727
30
834
212
647
71
670
390
966
158
98
858
272
943
926
840
265
15
82
458
400
333
440
686
551
904
526
633
375
869
588
977
235
76
429
57
393
939
435
261
664
150
426
862
900
345
327
383
453
371
155
903
263
193
500
457
303
810
491
828
935
752
234
574
122
888
817
116
560
283
328
32
536
812
701
520
717
59
902
148
123
808
643
575
289
83
806
958
947
254
775
116
627
226
149
341
231
73
664
965
997
788
723
376
248
13
610
226
996
699
338
989
756
659
85
852
910
882
339
178
574
309
208
416
205
475
821
375
110
60
395
267
624
937
321
747
949
730
592
487
586
255
991
476
803
475
714
323
846
744
539
336
433
210
210
39
628
184
446
100
358
205
876
336
684
276
229
591
437
465
327
791
981
661
776
421
660
756
758
976
988
983
15
721
721
392
906
183
756
742
447
410
223
149
338
940
247
921
297
812
566
914
476
734
637
622
317
657
890
936
995
629
526
210
502
784
617
791
490
683
284
692
247
84
452
425
553
366
968
326
699
492
909
885
669
388
541
691
341
66
699
610
552
616
330
723
71
476
564
382
838
5
943
429
288
430
390
311
265
730
89
293
764
851
668
469
744
925
26
595
323
859
657
18
955
720
579
145
584
843
815
974
372
494
936
152
302
191
328
942
862
532
695
235
66
469
837
456
238
489
841
806
382
103
676
776
436
360
640
309
404
862
207
258
179
873
636
63
830
700
100
661
304
467
220
690
747
745
612
9
125
316
465
368
426
497
226
858
479
27
200
396
352
536
209
95
367
986
523
819
996
284
935
629
303
489
200
83
108
618
52
576
804
109
677
974
548
405
817
825
629
962
646
327
917
233
198
66
686
800
378
231
525
913
553
679
745
114
278
736
441
533
988
66
341
660
374
291
671
131
717
309
533
97
693
395
712
275
2
260
391
649
729
212
12
106
514
425
369
985
460
136
106
652
191
262
957
720
636
532
445
450
929
745
254
236
265
155
181
782
684
323
354
731
538
983
446
86
818
617
695
676
621
444
872
325
774
494
768
121
43
284
389
382
411
350
814
493
623
565
561
762
576
748
429
856
147
517
979
180
751
748
200
760
255
257
495
803
860
556
771
149
247
584
293
224
553
355
998
973
748
367
85
452
568
422
70
443
469
244
945
476
989
907
741
109
487
623
552
205
492
875
87
169
784
239
855
829
901
487
408
706
971
730
446
905
644
418
187
768
431
996
135
720
939
892
238
459
321
305
525
731
789
932
450
490
143
409
584
130
125
702
763
837
847
137
498
838
665
41
270
457
666
213
309
479
343
562
597
221
150
288
132
134
366
928
944
495
87
426
941
922
251
164
449
56
292
519
220
715
411
117
747
240
456
389
978
534
126
443
887
534
507
549
914
429
985
704
995
8
214
872
736
890
127
476
325
282
961
648
921
95
859
546
599
941
921
774
415
541
493
587
767
582
73
63
63
863
476
911
606
916
780
902
774
886
153
164
771
601
875
771
698
218
727
85
226
729
468
326
928
931
278
678
165
149
931
69
508
129
891
428
851
44
763
823
749
456
248
409
992
448
302
498
145
846
257
400
560
615
477
904
385
63
546
385
200
430
68
586
247
833
918
31
613
276
182
915
391
624
81
23
567
43
891
942
311
357
248
358
431
198
247
728
977
628
435
975
364
90
136
167
933
210
542
313
571
925
664
509
862
913
537
686
256
75
44
104
908
84
347
569
178
663
187
72
247
303
261
161
944
576
451
919
700
86
955
849
440
357
261
311
399
629
448
427
45
636
556
513
767
903
583
182
517
25
259
218
351
654
862
217
703
671
249
765
254
101
720
622
465
865
517
978
211
387
561
351
453
405
483
112
549
81
154
926
651
632
670
653
587
290
201
328
804
311
196
953
201
168
178
685
151
786
788
941
625
887
764
626
81
86
284
395
702
358
462
410
638
906
815
522
160
262
211
201
988
638
134
822
632
193
112
84
261
878
805
483
481
949
560
709
417
90
192
799
668
295
397
661
6
345
467
328
206
724
894
918
998
312
95
812
955
37
658
26
52
937
496
65
777
784
789
835
882
467
847
335
341
861
881
918
612
764
223
880
61
828
673
43
262
74
548
731
977
737
464
297
763
676
50
895
567
526
604
738
138
97
176
483
776
274
644
681
761
800
195
496
780
884
986
980
814
549
912
262
241
968
106
932
354
841
235
760
101
10
693
643
636
118
524
323
149
96
268
1
569
653
950
450
909
761
137
581
470
310
301
731
606
759
742
133
499
584
967
99
227
800
751
491
417
615
32
927
960
565
468
24
575
85
706
676
508
537
396
996
262
188
540
116
79
460
28
440
822
89
127
328
33
469
207
421
169
554
267
995
494
197
632
787
610
667
774
714
417
409
346
786
108
828
409
311
900
959
280
147
387
440
626
412
741
122
197
503
523
963
101
745
529
617
604
261
907
276
245
914
779
840
479
278
739
503
156
639
876
143
881
974
438
743
725
697
857
183
786
721
606
371
847
46
295
656
723
642
466
842
941
884
809
967
51
168
881
168
249
616
960
621
946
983
385
502
602
979
562
413
442
201
847
492
628
811
680
689
107
900
671
347
601
191
818
249
175
382
676
777
380
959
88
683
229
749
50
237
167
833
363
199
760
692
23
155
18
630
688
227
188
571
151
69
324
311
479
377
171
178
362
834
720
854
261
520
289
779
149
357
134
186
980
72
437
303
563
495
915
662
148
757
503
799
895
79
265
828
350
423
167
508
199
211
427
466
877
689
897
178
36
285
334
143
501
494
493
478
101
383
672
769
672
833
725
632
619
991
574
888
644
243
944
619
645
201
397
703
313
826
702
572
689
826
284
63
771
881
746
232
278
113
478
906
863
419
952
566
375
959
590
893
251
133
39
911
785
830
269
226
762
618
135
275
954
791
3
882
40
884
536
630
791
334
990
758
774
474
242
336
420
920
282
457
5
730
90
47
4
418
683
715
311
11
576
708
27
869
85
691
858
915
699
518
695
238
206
627
611
800
400
967
329
94
942
604
208
167
434
305
917
387
784
380
279
683
764
67
202
749
9
558
221
927
789
507
959
992
604
573
698
129
12
57
358
732
130
218
398
474
960
185
545
321
974
723
797
754
456
246
851
493
708
607
965
442
552
203
263
423
514
795
682
464
734
333
60
112
862
742
372
235
204
268
741
274
919
555
639
758
340
998
671
154
393
341
414
831
651
688
53
953
753
275
989
669
827
436
146
784
53
130
455
487
699
321
868
332
806
251
311
851
195
363
171
655
611
216
273
837
638
251
839
786
501
665
534
311
944
968
604
70
215
49
18
878
572
652
723
422
844
270
380
285
306
331
407
906
567
467
776
360
180
373
750
335
434
420
681
754
161
788
61
812
390
323
255
64
397
720
719
371
19
914
55
117
117
763
977
176
695
187
79
480
529
953
337
917
103
191
445
493
272
551
394
362
352
641
198
371
286
986
304
214
104
341
25
180
151
560
259
717
466
646
907
740
248
794
620
679
564
459
959
750
318
509
602
840
42
500
987
689
247
26
646
757
909
828
539
295
165
82
897
636
465
870
449
669
186
331
394
786
257
427
172
312
376
546
911
622
265
411
397
632
775
882
556
384
784
285
739
739
565
815
542
16
702
465
504
566
699
616
777
856
135
152
814
626
594
481
146
90
630
345
600
939
705
673
661
118
382
16
245
960
63
294
846
289
182
694
875
524
123
547
16
645
47
937
601
133
479
605
341
630
743
435
193
127
306
445
838
930
657
731
985
544
594
266
692
858
724
799
19
709
501
349
536
978
366
968
697
865
430
480
604
881
648
929
463
395
638
286
887
298
119
813
280
429
470
116
691
968
24
578
934
890
554
308
242
937
868
198
414
283
528
978
233
225
525
382
910
777
140
676
457
17
343
824
179
372
798
530
918
828
974
212
315
217
907
750
72
297
865
492
179
370
570
580
78
541
623
116
18
544
488
93
223
258
721
274
35
663
136
418
902
987
234
337
940
249
559
273
797
205
581
8
735
967
355
916
155
201
462
914
274
861
688
876
316
881
468
630
348
94
407
80
865
948
42
369
322
230
609
230
73
118
783
837
604
368
218
561
514
312
269
972
441
687
425
326
995
989
875
579
838
174
60
626
210
50
286
84
603
621
231
458
747
990
664
891
791
163
823
79
349
221
671
97
73
929
667
61
577
741
816
544
785
592
478
646
264
582
821
438
695
877
895
261
400
702
968
42
747
321
192
315
364
255
641
164
293
845
504
629
614
412
503
441
610
936
643
128
262
160
34
643
684
474
840
643
158
748
375
505
569
537
994
941
387
722
688
807
808
701
257
358
315
701
489
696
706
656
47
627
591
345
666
495
467
190
802
784
738
172
126
484
468
824
81
250
236
156
298
376
181
666
820
466
231
290
924
507
524
283
850
684
277
520
873
948
654
630
984
778
752
748
906
48
470
347
274
198
830
818
629
133
353
976
259
417
173
656
60
355
905
894
293
494
725
6
548
937
708
6
280
611
258
419
972
282
374
520
401
700
556
435
451
706
411
330
664
526
396
129
6
771
662
824
359
827
707
441
889
456
345
167
748
391
561
980
536
663
965
345
579
173
881
208
342
787
611
543
246
817
20
201
732
341
413
638
686
196
602
397
213
881
178
874
338
834
268
11
391
705
467
2
754
330
219
49
127
80
645
454
683
129
711
87
324
977
667
342
723
274
886
252
25
547
612
331
859
991
585
63
792
844
254
690
485
223
43
84
570
507
167
77
724
470
607
535
491
424
151
852
148
566
871
317
336
574
989
961
209
233
873
95
589
575
806
718
980
539
249
399
318
653
558
4
32
630
490
882
317
25
401
705
523
328
692
201
228
937
984
438
843
477
447
153
603
843
920
848
386
143
774
35
96
468
949
57
287
30
222
369
266
735
587
33
210
733
550
440
676
798
254
960
501
676
630
309
256
677
163
881
317
871
455
238
144
218
492
194
532
832
411
695
442
379
603
770
527
290
199
363
609
77
326
782
180
543
52
843
455
79
585
504
650
575
146
954
913
682
881
661
772
296
348
830
84
170
395
124
164
517
685
220
235
278
750
994
357
535
204
681
716
162
676
373
554
418
84
577
4
609
118
396
826
384
175
75
332
470
545
290
841
858
337
549
601
565
489
543
463
84
239
75
550
539
570
463
778
415
499
945
367
410
539
681
418
621
318
370
223
800
107
416
223
848
4
800
415
86
570
522
607
80
25
542
87
957
508
650
189
229
481
589
736
112
84
47
534
194
160
852
953
106
686
819
74
538
547
208
111
550
972
690
549
603
442
45
960
188
545
559
556
214
95
228
324
562
812
426
17
317
972
669
374
270
774
453
676
161
574
914
170
49
779
251
927
898
942
428
434
165
504
651
586
712
743
517
769
868
677
554
415
831
82
36
757
875
330
622
484
51
434
336
681
137
573
886
723
617
342
105
786
373
190
563
213
591
780
45
319
110
549
626
78
63
312
545
792
214
616
944
44
811
454
794
165
152
75
31
996
289
883
988
931
480
843
702
130
45
377
580
283
281
480
198
513
933
646
727
843
555
280
575
144
735
429
381
640
795
49
402
847
63
526
677
309
232
849
84
579
635
637
568
717
491
227
342
976
308
161
858
456
654
686
664
236
474
359
81
935
951
439
775
650
679
508
890
10
585
698
425
383
580
955
878
367
420
22
46
324
611
203
20
109
516
499
77
90
956
441
149
262
765
771
14
520
706
142
153
154
97
190
481
238
310
639
804
865
12
596
871
112
678
815
414
222
410
519
360
707
554
308
726
34
970
795
352
40
21
868
727
522
563
893
641
242
249
769
303
167
432
442
851
944
861
410
913
409
129
761
954
482
509
515
714
925
461
382
916
233
541
556
802
438
904
854
765
686
867
312
501
251
259
344
650
69
388
703
876
983
506
792
662
613
593
284
898
198
117
667
504
787
205
57
923
894
303
555
278
91
970
490
436
52
943
139
962
231
964
883
209
711
173
311
365
761
31
488
317
262
880
448
621
526
204
7
680
933
595
119
508
489
245
388
56
661
501
747
166
767
637
43
670
822
575
983
986
965
670
892
890
498
81
831
746
138
464
873
640
279
903
774
278
964
54
823
464
764
467
432
230
957
895
854
430
254
236
520
709
800
399
643
281
321
11
121
871
144
376
264
532
217
527
552
747
436
479
458
419
334
96
329
861
620
27
495
884
169
267
18
440
789
816
10
27
499
747
976
273
125
779
473
683
720
80
257
501
697
613
164
79
575
811
214
912
966
729
826
713
700
130
539
529
66
146
371
908
720
232
791
544
193
190
284
701
834
877
666
892
697
107
634
1000
116
902
519
34
692
959
820
185
960
653
939
731
282
412
452
569
410
595
357
869
717
285
25
409
303
574
987
632
81
962
253
385
447
481
610
579
332
46
232
725
295
289
959
423
773
856
820
393
802
727
743
555
296
634
866
32
450
52
574
631
978
574
203
578
620
676
302
755
855
44
536
717
789
632
550
71
965
602
618
621
249
109
453
810
980
677
372
629
310
557
877
90
28
28
835
810
183
89
633
25
513
341
90
566
20
179
464
945
39
581
557
726
796
885
814
769
750
962
306
780
6
88
653
838
679
641
281
200
380
486
881
765
942
511
574
9
65
340
81
84
842
695
154
35
992
187
624
773
232
620
680
519
381
34
424
930
716
757
314
2
588
759
839
166
507
425
659
673
754
705
492
514
44
241
221
601
966
710
48
900
682
100
57
518
878
62
189
478
50
791
471
97
10
115
330
385
905
606
935
885
173
552
838
712
555
573
607
322
733
539
763
740
198
149
102
522
667
254
373
752
754
519
409
746
620
534
984
952
10
836
92
731
424
614
885
321
182
30
181
319
773
223
354
425
205
47
383
37
30
497
43
512
347
631
522
582
355
465
251
422
973
9
343
366
624
89
864
119
542
96
81
551
839
101
958
906
168
81
427
257
986
117
362
606
333
514
808
863
554
780
680
274
571
242
101
575
165
905
549
232
222
825
192
696
30
875
162
483
575
286
16
258
174
768
301
806
985
305
980
962
653
969
431
73
804
229
906
579
216
230
593
601
191
509
894
262
107
437
144
583
152
418
742
424
980
574
591
901
384
178
830
119
128
596
52
866
747
849
604
98
476
234
110
698
460
594
48
970
57
946
76
788
345
191
809
138
922
508
935
36
701
894
848
438
687
993
497
836
646
19
769
659
185
108
507
491
997
850
235
368
918
148
761
111
37
754
85
711
273
39
467
305
736
591
78
132
710
215
395
212
264
806
386
158
373
318
569
660
880
794
245
707
838
957
535
528
525
428
400
573
946
14
456
592
704
828
240
20
944
241
573
412
488
777
771
663
368
126
791
63
719
354
818
62
397
275
409
756
743
681
103
700
623
795
267
659
269
881
92
275
445
417
826
456
169
612
754
482
549
345
961
452
306
788
631
705
175
72
467
278
735
366
860
306
133
652
569
489
834
287
41
423
770
165
937
612
223
954
101
467
354
357
992
440
536
857
539
725
567
707
508
625
379
196
706
772
83
397
791
877
72
633
11
587
418
928
946
305
984
522
194
575
529
376
6
713
560
242
64
903
851
507
945
902
362
482
352
834
739
269
834
270
718
609
558
984
526
371
675
265
798
462
956
679
641
955
670
501
202
210
134
831
505
588
948
568
400
108
727
15
153
79
22
857
600
292
228
675
807
832
493
936
871
956
27
625
826
755
772
290
617
538
71
286
776
935
842
462
717
767
790
312
548
591
318
911
927
698
179
558
745
22
340
123
373
77
194
544
797
555
61
787
204
677
833
853
498
723
751
84
763
441
573
130
941
164
776
382
828
571
42
621
38
974
997
902
780
898
64
409
97
514
326
142
766
175
500
792
155
894
492
121
192
132
492
464
29
636
254
732
131
430
32
432
289
246
605
767
477
847
994
847
607
686
730
406
919
344
17
168
202
983
724
228
82
844
888
336
314
466
366
32
409
859
318
891
946
368
439
38
607
311
265
199
299
779
392
252
758
179
180
217
632
190
340
52
413
814
837
482
488
117
695
298
256
56
634
226
501
544
924
513
165
498
510
824
240
173
223
939
765
528
876
969
794
710
117
516
786
995
201
279
58
697
251
86
830
623
144
240
926
602
908
370
352
538
391
667
848
176
7
528
970
509
574
122
457
305
604
343
401
784
924
939
229
847
173
329
638
612
555
805
368
194
183
320
172
841
527
63
396
544
733
349
363
181
62
163
132
129
277
836
275
7
590
934
32
876
696
430
568
818
484
614
92
245
254
16
278
707
666
797
770
237
179
713
557
461
438
739
636
805
926
905
723
149
222
691
707
150
352
603
183
323
70
177
672
656
360
696
73
177
118
415
469
437
747
883
693
294
348
283
910
748
307
347
75
836
333
515
327
731
431
464
247
291
838
64
434
252
744
97
58
143
427
784
863
808
541
287
610
74
475
879
88
743
32
375
653
565
232
785
686
263
687
868
521
11
816
408
149
983
178
602
433
704
300
898
698
8
706
984
246
308
282
392
812
768
720
392
994
687
569
380
420
109
299
6
793
190
895
646
972
373
724
643
942
770
784
944
850
453
8
379
310
540
994
834
803
68
388
24
324
638
143
366
394
742
77
740
164
499
447
522
642
222
765
358
973
922
692
604
329
330
664
191
184
517
845
991
673
486
98
397
282
419
949
935
329
380
920
200
589
366
189
329
914
556
268
494
906
516
277
620
535
861
432
667
88
608
562
289
998
30
854
665
890
330
484
582
681
874
526
617
658
19
294
411
261
826
308
555
715
42
167
603
764
811
938
49
493
474
107
923
631
704
744
787
781
951
295
545
772
845
345
422
636
783
759
904
810
357
838
213
811
725
531
89
960
255
262
289
779
988
666
223
271
584
341
557
674
370
784
489
173
75
795
579
745
619
17
739
538
53
710
955
146
389
513
852
724
588
769
16
145
401
884
280
283
137
343
883
89
670
257
437
325
141
711
185
705
923
803
885
712
341
942
989
558
558
908
465
563
792
196
748
775
762
362
817
761
802
471
312
332
655
227
959
430
303
61
300
515
566
265
848
583
378
244
398
372
812
87
102
402
943
979
365
246
589
390
311
847
813
614
812
709
836
966
606
572
645
897
47
493
191
333
419
327
494
785
542
247
399
172
608
331
977
840
817
189
786
940
364
300
275
226
799
6
659
307
589
102
459
570
948
563
755
329
668
239
898
213
712
275
85
470
800
618
703
621
95
201
811
900
326
311
486
970
415
208
989
695
722
265
886
183
517
785
323
833
194
174
624
930
32
330
266
139
32
959
63
363
446
5
98
571
168
573
518
611
55
478
840
489
600
84
800
299
99
148
114
799
619
240
736
605
615
667
319
125
1000
981
648
642
835
863
723
400
602
594
36
170
150
376
355
513
38
483
947
902
960
602
793
915
338
741
772
952
964
769
213
333
805
3
459
153
668
235
324
972
457
271
380
307
188
333
42
858
750
673
336
605
634
345
13
222
517
367
450
746
626
448
363
55
264
36
920
538
750
693
273
248
293
701
882
980
1000
377
252
937
292
782
872
102
505
362
215
974
334
640
615
95
94
191
738
647
463
41
139
475
507
79
87
55
284
251
448
328
283
106
908
782
238
727
246
886
654
206
666
757
484
603
439
960
965
762
215
455
574
430
424
6
447
916
107
826
332
877
382
826
381
911
495
597
619
356
72
197
948
38
755
847
920
766
873
928
336
46
189
994
910
825
44
124
881
75
408
588
440
688
456
675
310
447
280
563
608
816
276
237
380
911
539
831
853
293
346
227
464
153
426
371
236
61
240
605
883
677
975
201
337
767
243
451
42
364
805
885
452
192
733
624
663
308
533
467
998
449
716
1
666
763
170
966
328
439
492
86
511
262
116
848
350
235
685
998
28
271
608
97
658
381
152
104
64
928
757
797
72
293
469
831
473
723
504
355
783
237
25
409
270
196
135
776
523
571
926
573
980
969
214
614
430
225
219
504
504
719
30
517
539
615
170
503
33
903
948
490
80
457
581
190
827
333
251
280
991
177
378
245
895
918
357
529
348
891
980
944
890
168
511
587
612
134
164
27
764
286
324
124
886
834
421
666
980
926
764
950
601
199
53
538
338
962
470
673
306
497
482
292
714
836
497
94
492
938
523
913
260
321
858
485
620
93
597
766
872
789
477
153
787
588
137
325
969
307
411
909
699
998
658
875
886
143
462
370
873
174
251
688
439
522
535
211
258
450
460
452
456
707
361
775
689
426
812
977
318
736
446
687
852
310
467
436
830
404
356
355
684
997
730
664
953
317
709
516
397
367
422
299
212
99
479
212
526
487
336
758
819
93
481
847
708
694
279
340
824
118
147
210
91
756
423
966
835
141
959
626
560
560
972
329
111
927
152
608
218
54
365
467
82
998
543
668
763
384
516
34
589
500
613
183
736
438
822
794
407
794
194
451
761
251
936
92
836
856
377
342
257
993
527
337
428
825
511
171
249
468
536
756
133
272
388
720
242
361
651
950
431
32
7
513
310
676
991
1
242
671
500
770
833
62
252
179
662
925
98
674
569
14
776
491
837
693
257
835
958
119
311
603
512
417
290
120
872
834
427
914
72
931
129
215
202
485
841
779
103
98
83
585
980
458
133
177
800
851
697
719
953
770
587
315
754
421
79
799
783
499
160
967
928
884
308
204
309
766
799
542
863
321
791
465
533
225
607
170
429
195
673
605
265
279
594
309
660
765
670
967
601
471
995
659
483
629
935
956
660
756
400
387
376
716
826
321
250
614
186
944
278
326
682
887
400
214
977
988
287
29
970
860
924
81
137
183
945
523
428
126
447
973
523
895
173
775
50
161
565
926
985
55
142
25
44
476
77
684
363
707
650
489
106
709
443
946
958
7
779
848
648
790
914
166
719
701
914
839
819
797
5
848
632
346
394
548
451
423
224
535
61
795
372
227
280
169
252
974
5
712
666
717
64
686
986
138
541
143
665
814
458
895
125
74
910
404
579
157
757
777
228
789
10
823
593
469
877
992
415
621
263
72
724
235
177
705
137
805
115
155
426
149
999
276
694
194
637
273
252
907
24
702
430
340
981
124
118
193
818
957
765
393
672
387
969
917
182
625
510
522
971
415
908
58
157
470
129
819
812
405
73
682
813
841
873
892
30
568
823
970
173
45
972
600
885
66
37
340
895
105
297
643
113
738
565
998
567
517
177
963
998
874
142
483
732
928
297
157
191
577
307
67
9
868
847
366
283
461
144
61
914
924
350
345
345
721
869
384
259
17
854
671
959
831
595
962
229
657
390
291
434
399
798
795
504
341
905
878
237
950
304
773
44
468
65
691
850
644
839
570
395
435
626
900
551
213
443
208
632
793
281
593
858
628
302
108
298
615
173
896
622
267
797
721
962
470
494
946
10
607
821
72
247
650
848
650
858
700
662
786
447
534
291
441
148
973
10
449
104
247
250
503
578
91
882
360
141
1000
723
152
484
932
514
36
430
758
440
340
579
926
535
19
902
132
925
489
269
281
950
850
560
635
618
114
524
873
762
267
11
704
491
936
535
808
250
968
384
123
833
442
668
930
240
527
739
750
126
107
423
804
890
285
339
687
199
729
417
923
803
302
386
293
65
585
600
183
521
706
103
680
143
361
217
874
698
14
259
580
764
75
242
722
491
260
503
750
163
437
272
739
998
19
127
283
359
356
119
911
760
641
120
485
613
560
600
993
653
299
615
208
390
525
243
915
712
670
111
791
996
173
918
594
684
327
66
982
307
52
612
151
364
192
734
518
293
946
857
805
24
610
357
227
230
131
527
979
462
891
76
817
798
721
13
370
505
403
171
732
488
832
998
6
979
533
496
736
979
496
330
571
486
111
226
101
430
554
727
501
504
134
268
557
853
971
308
634
631
850
965
398
993
282
176
426
24
560
937
371
391
137
555
3
320
698
196
277
557
136
213
577
606
40
875
388
431
421
158
979
222
111
198
104
552
732
847
345
468
121
552
487
616
877
398
219
496
26
772
556
346
836
538
582
948
531
6
507
852
935
285
601
145
127
764
227
901
822
592
85
864
485
29
774
784
187
440
952
17
800
530
701
693
430
139
193
774
906
549
365
793
745
791
136
940
252
870
633
409
323
192
996
623
71
732
610
10
626
619
10
512
313
911
302
906
948
287
658
294
192
278
338
850
708
421
741
32
411
454
166
947
198
209
353
542
413
433
354
572
724
115
984
73
226
269
894
201
369
292
315
837
741
206
658
346
812
74
429
203
513
856
392
12
926
809
501
585
394
291
901
351
112
489
204
348
609
160
317
446
563
944
366
258
82
198
585
389
924
569
648
302
110
737
580
96
66
837
253
909
711
87
486
514
901
69
945
881
227
889
333
164
481
221
895
587
14
820
838
186
806
654
118
217
312
245
949
312
74
139
531
144
604
702
732
445
312
589
891
704
72
304
489
777
601
237
138
936
959
450
271
599
358
270
913
84
943
437
154
263
372
146
268
920
827
850
953
936
555
78
840
177
154
839
232
99
619
441
7
647
560
635
797
955
134
67
792
757
957
946
25
166
665
688
545
646
872
60
706
615
961
993
660
76
535
805
272
92
391
66
856
703
527
694
568
106
88
161
786
524
94
901
556
223
507
78
995
539
445
907
595
635
361
614
500
941
615
941
198
855
124
835
505
375
740
576
401
739
582
150
26
70
798
96
145
244
121
433
442
900
184
491
318
608
715
674
246
659
669
201
341
875
822
903
509
126
593
969
452
936
645
376
831
697
371
409
85
516
464
250
801
645
640
174
973
787
993
251
231
310
630
804
888
523
975
66
676
769
596
651
148
982
472
440
35
785
389
470
301
931
545
232
221
81
495
555
608
504
303
908
190
255
130
521
248
802
503
203
845
865
223
102
358
425
179
959
579
512
361
580
337
353
993
363
480
938
38
708
22
852
275
73
472
478
784
225
664
343
949
981
898
379
9
357
825
388
814
585
333
816
640
882
602
240
874
230
634
643
888
656
818
620
684
685
494
179
725
683
80
651
918
804
35
582
901
114
838
123
604
264
189
615
586
777
852
521
757
604
908
849
968
111
705
480
339
76
453
608
390
599
252
606
774
15
294
206
853
90
162
828
468
749
387
269
974
595
935
713
36
261
845
217
729
446
48
418
204
112
280
166
560
908
114
207
580
343
322
845
680
626
213
699
763
365
102
300
659
513
776
294
492
58
701
439
622
935
672
420
784
577
851
734
641
320
394
567
290
603
394
613
152
547
489
247
298
18
274
352
484
725
620
327
111
258
86
522
823
230
912
408
751
817
443
275
203
118
474
167
192
651
683
39
345
266
238
850
580
462
695
413
443
858
516
332
156
108
868
312
208
92
916
422
828
621
443
668
765
194
508
346
600
580
783
230
238
138
393
570
326
807
338
276
90
647
63
406
480
658
311
273
572
375
196
58
913
363
307
799
833
350
785
51
798
169
480
266
562
71
747
206
215
286
943
257
203
847
394
595
94
845
474
518
107
256
429
147
466
385
767
907
185
839
343
834
230
589
766
860
902
383
376
607
892
265
847
163
693
405
418
519
986
810
855
82
126
715
511
698
133
643
286
167
405
159
833
101
944
347
119
256
41
902
319
234
225
506
69
501
766
881
307
243
187
476
287
458
32
272
857
72
628
586
773
540
673
96
635
604
284
491
17
386
560
329
506
962
808
681
644
953
333
114
239
395
89
377
87
368
546
959
954
426
864
298
535
854
798
21
219
194
831
56
708
271
687
840
929
149
716
135
204
84
674
140
381
544
12
726
443
796
180
561
160
394
332
886
486
153
506
432
762
813
599
767
238
675
396
947
77
936
514
894
812
312
344
367
136
821
22
746
70
262
958
93
759
18
730
116
607
283
976
746
13
744
473
989
710
11
758
600
606
816
503
935
43
122
342
985
626
785
998
244
96
357
393
529
262
939
844
300
655
735
624
348
404
108
904
925
817
489
532
546
268
436
236
693
322
533
513
643
435
553
949
435
215
514
707
789
957
828
676
437
114
735
143
879
416
610
851
71
600
523
23
934
88
660
262
827
500
814
216
364
595
169
582
16
77
41
308
967
713
70
829
599
413
586
785
784
195
537
973
909
481
384
174
172
791
878
140
230
693
448
231
714
830
224
118
495
937
398
513
814
30
699
129
567
377
256
900
106
412
3
72
864
523
102
917
36
478
567
688
294
363
350
925
222
40
731
362
763
550
724
520
465
343
586
513
721
935
222
721
527
382
448
785
500
956
623
772
21
555
98
491
420
650
331
656
47
43
244
19
920
314
618
633
429
570
869
152
177
84
559
400
666
425
388
525
973
947
205
696
952
905
797
654
786
955
815
442
900
565
236
259
352
668
166
735
813
918
638
836
174
91
280
294
617
480
404
676
728
620
80
178
839
319
254
807
353
776
804
864
213
478
712
540
53
738
219
11
804
931
874
600
711
952
932
503
750
974
397
34
452
324
349
594
983
173
884
363
131
786
94
235
552
287
91
670
201
230
920
923
407
796
627
608
440
102
428
654
751
929
80
500
274
159
144
800
333
350
734
16
694
171
744
6
294
875
320
127
987
577
485
435
417
890
458
279
795
372
146
938
914
333
729
19
213
741
23
982
93
421
545
505
938
210
785
429
541
488
249
624
686
336
231
483
660
585
115
668
388
199
266
395
690
749
176
779
880
227
630
756
576
74
61
612
96
109
192
467
289
973
257
931
981
828
852
699
464
299
476
99
640
78
360
451
478
184
60
648
428
581
592
518
314
782
588
418
2
83
96
957
850
273
116
938
545
43
950
389
402
797
728
38
674
277
236
707
668
198
322
867
752
98
679
38
412
739
804
811
601
691
253
20
518
160
121
975
858
774
812
751
265
744
804
230
449
792
27
970
938
274
950
996
937
174
202
311
154
33
816
237
714
417
758
721
490
228
455
377
287
23
438
354
294
506
66
77
151
554
530
540
796
428
980
100
965
326
670
658
863
70
475
708
48
504
10
982
31
132
819
303
412
639
819
855
667
202
241
264
826
889
800
752
372
74
743
199
656
460
690
70
2
256
932
56
464
37
929
743
900
74
296
803
597
219
468
982
225
4
605
643
272
224
990
753
467
139
357
954
876
397
123
813
535
920
446
435
482
277
423
372
12
547
478
138
820
248
195
746
456
693
419
362
177
47
440
547
842
428
481
614
981
639
486
267
532
492
448
81
50
240
100
327
361
322
838
341
743
499
137
926
725
456
609
245
501
113
20
275
765
237
307
203
522
390
607
36
25
931
846
313
555
535
239
66
188
686
349
40
42
678
37
785
758
941
706
419
121
906
720
752
804
217
807
970
194
830
524
287
115
400
590
788
82
445
2
210
397
933
359
524
980
316
770
46
371
558
29
200
713
341
490
257
871
491
235
74
34
630
644
354
327
191
475
10
935
259
899
953
230
103
712
61
231
918
123
115
450
28
116
216
895
725
332
565
514
14
869
530
873
727
142
587
220
908
205
79
389
857
510
722
182
972
120
461
958
359
824
559
187
190
414
791
607
969
641
234
465
189
10
401
36
344
618
447
238
887
703
700
713
539
442
91
168
288
786
900
137
526
819
821
560
49
211
575
758
37
795
142
431
734
230
242
292
257
995
855
822
876
667
436
425
115
553
940
948
264
273
983
130
215
799
202
60
78
819
421
106
664
995
274
139
792
866
787
56
320
679
796
764
962
383
214
809
232
413
867
788
315
631
62
515
279
982
81
679
771
11
518
401
305
358
756
629
298
772
898
835
233
956
162
811
747
781
80
676
957
19
847
389
51
765
805
155
21
139
387
137
444
704
770
768
351
256
142
798
593
310
753
931
562
651
851
526
774
751
203
377
616
766
147
45
508
58
12
529
839
872
326
365
288
897
423
349
580
908
950
196
286
603
290
393
11
26
118
392
204
693
129
66
869
658
483
69
648
246
681
304
123
144
352
237
667
849
951
188
869
220
450
67
371
28
900
214
943
937
175
168
747
337
287
212
49
776
436
463
89
534
331
162
401
53
394
549
676
520
179
371
153
878
696
647
591
964
368
780
149
236
34
497
830
794
746
363
744
993
108
830
100
974
562
872
731
869
325
255
937
252
668
411
628
683
816
702
50
790
64
576
867
425
611
762
33
870
217
156
626
940
37
549
838
85
876
618
351
302
689
942
653
706
342
885
217
150
548
326
79
132
391
132
59
558
71
190
759
625
307
584
540
222
353
191
837
724
746
575
573
37
674
568
910
43
370
328
267
342
22
987
352
360
470
221
922
395
430
212
165
183
27
505
831
885
199
192
749
208
931
731
927
512
334
440
229
362
294
364
519
964
800
816
245
332
88
315
667
808
401
69
336
788
546
405
933
128
379
764
331
689
43
966
557
944
66
444
368
383
409
94
307
703
164
152
455
397
889
282
535
427
494
666
714
119
195
413
197
275
281
74
686
773
366
372
868
605
329
532
370
382
395
740
20
821
645
339
865
638
814
335
68
553
362
680
772
847
720
562
976
984
31
653
751
393
924
833
422
359
623
445
871
376
194
525
810
992
817
767
652
367
796
235
632
304
405
916
944
442
793
303
959
718
907
74
38
931
795
849
78
432
708
704
647
557
142
815
547
394
326
168
657
880
703
738
182
20
614
916
800
236
759
263
752
457
997
863
622
590
682
611
395
441
80
834
417
974
349
507
32
52
184
159
999
444
527
301
290
919
669
809
471
734
649
267
714
668
117
675
379
19
728
324
274
679
694
849
897
473
327
664
450
428
296
34
937
553
828
23
409
996
293
426
331
169
427
589
35
518
963
706
479
178
585
785
851
635
937
983
97
878
871
405
83
260
254
811
982
419
429
854
397
182
846
650
918
312
501
477
75
338
529
369
120
468
730
209
649
779
853
669
877
427
188
41
263
654
371
524
270
722
355
40
287
742
174
24
113
538
475
904
942
343
767
208
522
98
34
299
965
584
617
776
748
454
281
466
583
425
963
770
165
606
25
827
307
929
710
609
568
127
153
589
328
598
495
67
166
708
578
577
525
812
257
83
923
326
571
789
354
687
891
499
133
927
699
407
149
891
820
90
381
828
798
258
591
227
560
513
278
244
720
958
370
35
627
19
616
628
785
227
314
696
343
58
850
749
164
120
493
821
403
130
26
670
631
152
87
889
252
500
574
75
414
571
10
416
633
635
600
597
81
240
584
939
873
489
568
91
682
905
776
361
741
980
522
18
591
797
757
483
959
291
249
370
777
838
813
741
705
844
5
803
430
920
880
473
684
69
731
925
179
1000
211
257
593
333
871
885
339
10
953
124
83
627
210
716
905
801
654
691
523
896
368
91
243
627
965
520
166
107
837
423
688
892
57
260
550
432
724
489
509
167
528
352
201
146
575
993
943
693
811
374
985
115
938
757
256
879
363
306
684
985
553
454
43
516
146
279
629
424
314
67
218
711
165
599
474
47
402
496
397
763
107
103
439
876
228
991
654
487
314
150
611
454
80
330
820
707
643
788
123
970
633
930
816
919
962
907
307
17
687
305
711
356
308
425
149
837
812
554
457
946
980
808
615
175
767
804
529
898
77
476
698
98
855
774
898
911
263
893
266
394
598
906
72
233
770
396
23
424
384
719
144
69
908
60
194
519
973
317
56
75
603
149
747
312
15
242
549
918
743
963
230
590
966
70
489
150
332
114
583
558
54
449
536
877
734
555
468
605
186
496
358
969
529
890
981
947
936
731
858
786
740
779
813
754
23
966
103
681
460
493
194
639
901
838
926
739
143
899
205
596
381
899
403
514
82
453
284
776
406
451
668
749
837
978
15
700
394
540
757
294
647
295
534
778
777
792
458
751
77
998
118
243
640
13
364
545
430
925
808
866
602
737
581
431
698
131
141
66
333
133
812
676
57
405
317
276
356
963
758
386
191
645
392
680
13
501
59
744
955
624
324
686
770
606
216
120
148
964
956
740
216
356
217
307
416
362
268
356
437
938
812
371
563
365
476
466
635
702
645
847
769
253
817
461
151
569
709
270
506
824
101
527
275
208
825
288
166
136
347
147
496
666
98
831
652
504
117
880
86
371
561
88
487
306
341
780
157
689
473
273
173
391
750
67
592
453
959
415
851
156
222
913
487
151
963
674
504
570
645
465
8
685
720
904
247
717
109
452
798
892
200
463
458
648
525
3
338
240
230
502
771
590
994
535
897
379
256
230
213
823
514
822
971
481
950
882
983
769
850
613
358
523
116
385
664
94
654
404
258
972
607
958
873
870
166
242
39
511
208
137
627
117
81
653
582
761
688
961
941
242
403
81
325
162
485
308
422
209
385
431
415
434
731
615
895
476
874
594
616
306
557
481
306
991
646
56
857
435
921
881
452
817
564
964
561
676
369
981
275
176
644
254
176
160
483
796
766
958
355
711
513
819
935
182
731
8
741
69
825
317
380
884
953
735
192
517
738
534
625
653
507
839
948
227
454
57
804
650
248
218
670
758
853
324
492
632
760
349
659
463
403
375
981
663
257
692
548
246
7
366
166
332
228
922
566
300
195
279
760
716
835
37
684
673
298
506
779
582
340
650
247
786
503
228
518
565
72
998
902
266
929
769
463
298
708
496
930
692
119
345
858
758
893
855
283
148
601
892
877
284
461
94
937
660
398
891
606
38
774
980
377
907
648
371
301
868
960
695
297
811
706
515
617
834
62
797
850
866
406
536
775
871
365
756
37
318
339
771
872
332
425
631
48
571
323
137
785
405
571
679
657
420
441
407
384
626
896
953
991
976
304
956
6
2
5
187
263
407
413
919
398
452
46
519
292
839
800
932
591
582
787
852
898
55
298
877
400
9
762
905
504
828
129
315
518
744
754
259
527
23
666
523
414
354
137
936
387
826
542
327
476
897
845
327
216
700
482
134
118
883
983
508
606
953
516
857
812
716
358
257
972
13
460
656
239
396
445
305
357
786
803
661
26
434
557
642
773
698
415
113
771
242
237
914
407
295
697
593
316
469
152
214
260
513
89
274
475
42
988
829
75
974
58
350
671
875
140
728
614
926
980
101
191
504
199
854
630
693
557
235
20
131
509
508
107
744
647
460
448
809
321
397
612
746
675
446
929
763
304
120
824
211
9
606
873
85
438
164
588
611
932
378
350
290
557
701
68
57
135
928
902
465
64
739
829
919
849
448
918
15
581
427
937
2
18
479
293
222
561
567
408
123
164
937
304
133
128
628
576
225
834
761
938
486
663
825
233
379
770
358
110
685
909
46
604
283
201
288
478
49
613
695
500
137
902
833
826
834
974
740
225
989
912
414
212
748
419
522
73
932
57
998
331
977
466
129
499
749
669
937
820
926
717
374
288
886
153
923
443
191
221
692
308
851
293
962
372
484
752
495
687
416
431
559
24
507
752
797
481
219
935
543
148
8
971
148
176
651
584
190
136
516
76
187
604
116
767
590
753
481
727
361
104
53
642
420
745
815
922
607
6
309
660
551
38
75
599
58
777
748
74
172
478
770
788
67
412
190
358
350
318
529
821
94
889
60
648
203
926
129
370
268
786
350
634
113
390
605
336
673
384
758
515
650
8
951
854
651
837
120
937
148
854
126
944
675
244
502
40
83
875
377
562
607
705
555
24
706
236
100
83
364
696
6
865
585
867
732
477
325
328
391
86
1000
409
421
709
999
355
399
718
349
30
451
116
784
975
441
856
6
814
660
798
837
786
297
449
296
670
350
277
389
464
967
212
522
987
423
955
26
994
83
819
211
469
717
140
757
549
494
759
8
881
810
643
905
334
892
511
899
644
743
243
141
987
588
912
682
492
441
516
184
362
804
893
862
660
781
810
1
782
92
952
400
285
574
378
526
92
745
14
992
1000
937
948
221
94
313
586
794
919
795
241
23
194
589
333
787
469
498
207
470
343
672
483
185
777
801
8
70
611
979
696
586
570
683
1
204
967
311
304
766
794
757
263
121
103
343
46
321
413
238
397
816
376
150
719
552
84
738
677
856
216
624
368
293
683
348
760
434
563
910
916
599
871
756
524
231
179
212
383
462
164
397
768
853
909
587
88
998
220
860
816
926
227
591
467
761
296
48
286
123
648
887
421
131
70
829
543
690
842
183
318
927
307
161
608
272
519
112
61
701
61
938
537
76
434
909
857
355
373
40
553
685
85
13
577
34
672
316
436
72
934
946
869
463
343
516
940
610
238
88
400
142
154
373
276
131
821
204
881
92
514
357
906
331
368
848
768
66
762
818
184
87
72
996
780
407
945
514
607
463
719
532
641
977
792
761
693
476
539
431
666
831
839
696
768
910
411
783
118
561
918
388
162
739
248
994
447
494
461
783
603
953
646
784
834
159
327
728
816
834
130
855
669
701
115
559
599
995
582
338
853
183
157
991
899
727
672
369
90
920
669
292
657
442
391
426
538
307
738
999
434
292
999
285
483
789
133
635
104
231
987
700
919
916
126
194
106
97
876
175
186
647
784
363
63
502
932
451
50
335
448
726
747
584
140
551
887
74
345
442
690
919
13
521
844
318
542
126
944
149
59
203
143
965
712
931
769
126
7
681
905
318
395
61
257
614
110
239
148
610
737
212
176
861
107
961
850
13
890
670
544
589
689
330
226
303
554
60
703
198
533
438
608
616
344
983
915
237
248
670
574
964
962
33
748
450
816
982
222
441
359
920
778
929
349
130
735
286
360
705
363
204
259
460
626
247
458
373
519
289
155
133
314
898
722
230
171
9
71
892
920
852
39
875
280
145
836
728
431
46
138
726
643
203
682
72
626
509
114
339
357
861
412
368
410
302
394
9
241
386
726
138
441
558
362
394
714
577
511
908
213
780
105
145
921
40
208
606
967
848
971
790
103
832
559
294
101
383
909
342
501
790
341
352
939
424
793
393
300
86
896
470
45
562
193
666
391
812
561
66
437
986
287
262
961
642
314
991
370
97
888
103
191
884
220
643
584
620
775
300
579
452
523
836
134
400
803
434
645
583
447
51
240
292
487
996
64
326
47
935
752
833
16
460
463
126
697
141
176
617
918
746
434
32
35
902
354
548
813
46
506
353
462
923
240
399
978
257
117
790
509
474
381
348
676
508
834
360
671
793
14
432
446
526
366
662
530
154
924
64
828
819
113
271
254
223
450
81
221
915
292
337
798
565
293
954
824
161
895
657
393
404
7
125
883
793
7
808
165
13
334
620
691
297
250
101
937
345
766
375
44
269
377
447
588
751
978
948
124
285
271
404
504
933
38
552
4
507
896
973
998
453
526
561
231
17
934
939
748
449
961
949
210
118
166
809
600
396
183
300
325
91
829
646
316
37
581
352
17
140
497
347
95
847
315
216
274
521
245
177
961
636
924
730
239
92
111
593
329
162
960
588
892
769
131
677
353
864
559
203
15
622
470
714
872
81
67
456
893
619
408
721
46
363
145
771
467
224
210
982
13
745
974
179
885
375
149
882
136
97
468
316
662
546
192
602
694
906
630
505
918
900
128
457
83
112
462
375
373
775
161
949
859
855
49
667
88
974
220
825
218
249
731
179
140
611
527
687
730
548
506
997
685
498
175
963
419
313
42
467
137
311
750
288
517
446
970
557
394
20
251
592
470
205
321
560
335
329
846
447
43
559
278
290
46
101
211
480
584
505
626
217
466
26
500
888
802
198
540
197
427
1
183
380
619
17
618
748
288
971
299
67
943
931
291
22
622
215
880
123
449
765
14
910
654
319
568
265
672
250
877
966
428
322
693
341
32
951
530
56
879
771
334
587
589
445
575
919
305
680
134
351
636
369
810
70
906
620
887
339
445
181
965
707
382
444
156
670
753
774
850
562
776
372
468
312
829
284
22
862
18
426
823
681
183
713
403
832
898
460
563
459
277
238
462
411
401
273
854
945
792
305
877
110
621
528
309
461
307
883
815
187
716
492
522
652
453
485
216
561
602
805
521
690
885
823
744
153
349
795
427
721
654
204
277
559
481
56
824
71
807
41
100
252
645
285
618
43
293
81
187
730
349
621
402
332
520
221
212
275
725
967
591
369
133
19
196
272
530
32
860
151
853
275
920
243
841
95
641
341
450
274
512
34
146
709
703
702
191
581
842
821
793
851
87
168
343
479
627
872
1000
245
917
86
558
425
385
235
889
855
849
450
229
132
634
771
246
771
179
165
140
150
986
224
961
5
896
643
6
36
24
236
369
897
166
288
721
513
102
500
928
156
56
665
402
193
482
457
963
744
485
408
561
751
427
236
412
120
690
158
988
663
164
739
805
551
718
101
178
850
853
67
905
509
723
882
375
874
961
701
741
368
73
970
579
520
675
116
982
905
548
759
85
893
262
753
857
331
151
954
398
388
519
534
77
858
284
64
595
149
690
329
470
16
333
22
472
881
524
65
291
228
907
258
60
119
339
399
399
376
272
766
335
332
256
125
771
342
733
963
210
464
992
750
55
765
998
392
143
781
853
907
123
502
775
583
926
131
830
534
821
536
144
596
522
992
925
999
387
308
455
76
985
904
131
585
234
726
779
846
844
170
675
26
56
325
185
360
488
916
452
8
472
324
354
549
424
892
769
812
651
574
308
871
459
617
806
535
639
616
267
616
152
736
441
553
341
362
905
760
122
699
320
155
352
116
533
926
36
127
335
525
121
939
961
244
356
478
887
505
124
582
77
176
190
881
590
795
33
490
399
587
818
236
306
541
57
603
129
632
728
965
656
465
943
953
472
242
250
12
405
973
324
281
243
273
102
956
355
924
369
180
27
620
459
360
657
965
965
487
422
827
348
710
674
631
856
920
122
23
471
558
788
616
474
201
863
206
776
741
807
909
402
139
512
202
364
775
860
700
687
434
803
829
568
803
920
259
443
169
499
76
272
695
358
181
479
236
996
349
817
179
167
701
876
194
642
83
70
99
753
994
752
276
287
266
483
181
438
627
642
561
832
685
234
904
63
603
230
516
808
937
775
353
348
672
358
431
231
510
371
158
892
817
552
457
286
483
462
884
963
116
496
254
572
644
932
491
469
385
170
476
963
87
611
722
762
291
618
584
325
567
599
529
163
856
538
735
630
191
243
908
347
521
159
718
225
227
843
754
999
211
114
185
275
82
426
599
373
67
259
672
661
767
165
336
649
763
654
135
839
376
283
316
237
608
152
991
435
396
509
405
423
826
314
920
598
896
435
884
992
727
598
886
376
893
346
294
741
655
40
142
640
445
359
591
2
926
869
201
321
275
947
232
596
154
777
993
975
973
187
45
838
655
791
725
963
88
315
999
505
855
964
161
741
637
413
245
908
866
328
320
54
861
310
29
449
668
834
823
33
257
42
352
331
576
221
390
480
194
434
479
297
895
21
209
846
669
652
673
545
968
179
181
692
992
801
753
226
19
956
263
626
467
893
352
152
488
119
413
8
348
784
980
622
760
575
869
935
645
899
262
506
484
957
741
268
562
830
952
974
901
821
175
733
628
139
609
536
848
450
553
361
817
957
17
254
384
448
488
773
206
187
743
309
187
590
593
113
985
426
429
285
176
631
257
604
850
912
677
831
8
43
927
38
92
87
661
598
401
865
632
692
936
611
805
582
428
149
727
450
915
902
163
280
247
681
114
153
353
546
339
297
898
965
402
439
231
141
89
304
138
646
778
600
12
426
944
480
450
858
546
218
208
761
476
853
679
177
586
604
747
303
83
157
961
157
231
317
443
451
377
130
866
648
274
263
110
396
572
369
941
346
124
161
139
860
456
157
70
300
326
390
563
347
835
900
335
313
941
489
935
500
540
60
292
456
530
815
559
392
375
748
850
151
725
157
870
821
621
347
177
527
617
294
26
967
943
831
295
6
470
791
1
964
828
666
312
329
476
537
739
239
919
431
446
477
560
806
162
691
841
564
282
195
457
847
88
52
403
877
928
71
556
290
363
990
274
721
2
389
255
872
742
817
505
968
621
200
802
255
343
854
507
180
818
322
875
972
705
811
347
632
75
236
374
741
759
739
480
65
872
66
179
697
269
411
275
325
457
118
851
291
525
193
946
283
242
672
515
881
362
750
769
666
510
999
424
291
790
166
670
719
355
788
927
846
787
304
571
813
33
460
840
665
66
497
97
417
155
73
453
221
857
896
510
72
381
759
668
442
2
64
975
249
561
923
994
875
929
633
540
257
485
641
406
680
291
128
425
574
674
983
278
466
325
267
486
269
888
196
917
257
236
340
983
382
271
975
394
90
152
481
991
431
311
265
696
23
452
929
88
429
54
311
416
566
518
600
174
53
222
902
472
818
214
561
531
864
183
23
606
811
637
230
498
732
939
380
636
849
950
384
362
834
562
481
702
843
334
321
339
901
747
257
8
934
379
735
751
585
412
416
780
894
442
157
764
104
530
984
435
110
794
32
307
552
598
750
209
133
593
770
19
520
435
566
714
99
988
345
359
932
236
712
180
505
907
284
220
219
40
779
357
143
324
127
684
250
65
775
322
184
68
677
754
653
554
430
680
700
453
641
203
411
90
874
892
136
306
478
884
899
529
176
728
501
172
547
126
739
994
435
62
300
761
882
67
125
597
384
532
476
930
173
57
509
818
708
769
878
752
795
469
800
721
551
199
35
477
958
557
460
416
891
664
240
433
308
199
148
470
770
327
224
160
575
662
805
168
562
631
941
348
85
738
330
812
748
263
229
357
225
861
224
481
909
398
358
381
191
87
873
926
874
683
758
563
607
25
341
537
261
718
425
594
835
110
832
534
837
11
779
617
70
801
203
833
423
648
2
469
546
596
192
251
298
169
119
574
434
957
230
972
305
390
339
36
270
517
8
459
113
151
433
721
988
186
169
233
357
235
162
402
895
3
787
194
598
944
30
238
168
869
523
412
307
74
873
170
703
512
598
561
357
267
67
4
404
292
981
426
691
995
359
257
241
724
435
157
155
647
603
48
651
820
323
191
691
467
917
600
130
623
304
27
339
332
21
141
86
531
327
269
774
599
794
263
287
300
559
626
315
527
304
37
491
805
150
781
628
986
835
435
82
959
968
314
572
471
684
858
805
370
711
98
899
634
747
824
916
626
27
857
760
839
151
119
351
303
553
791
232
468
480
946
724
70
1000
461
316
977
324
903
247
496
695
356
113
924
214
805
910
431
208
811
143
476
182
679
483
68
976
211
4
119
469
470
199
51
52
646
835
568
170
260
177
242
385
457
289
108
813
51
925
14
271
337
964
861
154
415
512
176
874
913
518
716
702
560
232
897
947
998
902
903
749
614
843
251
172
917
443
462
919
174
715
222
738
607
707
80
507
428
478
316
73
398
371
54
133
391
976
115
856
655
552
345
467
67
643
394
722
718
299
977
67
577
607
680
284
803
210
275
571
563
115
337
386
787
370
652
788
412
109
571
723
73
86
971
442
103
35
945
214
937
109
685
596
730
221
277
790
47
303
276
23
999
394
39
481
77
978
697
40
250
187
607
942
590
332
838
585
808
697
992
829
612
718
231
541
705
445
894
647
591
684
494
593
92
304
218
988
632
3
248
126
864
239
391
286
227
142
495
937
330
940
113
490
869
883
699
783
949
662
387
302
245
50
56
27
463
890
961
870
930
542
684
919
947
618
524
80
758
151
743
250
598
364
290
853
291
842
690
441
314
219
819
67
69
476
191
291
342
540
189
33
565
176
408
946
578
98
898
632
11
783
651
819
290
778
81
541
541
125
642
520
334
153
937
165
303
47
872
31
155
519
452
193
488
407
790
662
130
221
803
907
432
503
816
566
43
352
38
639
233
631
412
807
756
165
910
32
550
735
701
278
368
759
969
989
508
354
376
971
418
901
280
453
893
322
879
374
923
35
373
431
59
936
94
12
316
841
307
875
216
530
46
411
578
890
929
345
38
695
332
992
107
267
732
582
753
556
284
667
140
213
884
389
153
866
101
168
769
129
326
465
190
823
431
362
849
529
28
89
92
858
144
83
360
766
777
790
165
825
292
249
15
618
117
410
719
313
485
276
166
60
283
196
781
29
172
71
310
817
266
814
532
466
575
109
748
508
356
441
639
313
247
378
193
494
787
311
901
303
514
199
383
725
333
382
900
473
265
202
990
203
992
994
566
26
856
968
397
868
90
690
849
268
83
108
111
6
449
564
908
312
497
807
898
493
462
810
498
519
525
94
913
481
196
345
493
875
143
353
395
331
882
658
693
762
89
866
712
899
415
285
379
833
861
376
821
491
711
546
250
947
970
970
434
78
55
444
701
369
213
781
444
594
783
863
604
692
925
287
414
413
923
475
14
196
473
228
174
323
659
979
485
585
465
398
835
585
723
589
916
326
419
856
765
912
86
895
106
37
880
300
322
441
558
509
437
633
218
632
413
46
159
129
376
189
602
997
163
551
381
916
696
723
884
797
247
699
694
340
628
363
387
453
696
942
916
876
328
597
823
946
214
391
311
195
372
571
845
397
320
509
524
762
182
629
957
202
857
374
718
963
562
573
786
505
667
600
530
164
786
328
932
15
495
241
703
360
885
982
912
441
407
273
511
281
88
409
908
71
287
463
339
127
572
922
333
255
203
738
33
307
956
670
431
814
699
352
885
841
221
739
417
652
311
466
355
305
958
157
884
78
861
945
910
476
151
261
470
622
322
477
580
66
901
141
24
344
319
325
104
189
765
107
754
933
549
309
769
460
653
391
102
91
686
851
316
859
437
549
330
984
561
150
514
773
721
248
58
780
679
832
284
846
420
426
238
530
358
659
460
532
106
1000
307
938
59
112
580
507
268
605
505
758
692
956
291
320
928
56
598
863
960
90
259
939
286
495
490
239
34
291
671
79
315
428
466
435
116
661
716
461
490
113
56
232
684
882
641
398
68
2
753
548
479
584
252
340
597
198
76
861
525
438
976
295
591
123
722
651
737
777
841
247
523
878
776
649
922
853
994
983
591
968
248
900
219
38
611
961
908
386
396
915
270
575
326
126
53
229
591
430
701
688
527
803
162
330
703
541
675
152
143
81
976
594
254
235
604
644
784
312
525
8
818
592
293
456
339
634
381
525
416
162
86
416
407
658
646
280
885
310
805
77
169
714
98
845
459
521
531
529
556
296
191
486
69
964
540
399
847
608
807
618
64
804
927
876
37
354
959
922
387
64
740
850
603
157
858
833
398
22
647
486
527
265
23
352
871
443
471
824
689
435
362
388
878
149
114
229
996
130
394
91
561
697
683
784
852
432
47
879
22
190
874
942
845
323
695
121
831
489
904
37
755
208
380
680
876
347
549
476
246
840
365
768
552
222
87
689
863
45
472
834
528
814
194
182
189
874
872
426
576
567
100
268
280
90
237
242
202
675
547
307
739
138
458
832
65
358
359
535
45
975
330
645
432
418
670
827
997
425
893
393
141
355
108
956
387
936
352
923
825
561
491
201
270
899
751
66
376
358
837
365
434
913
825
173
895
898
731
553
948
638
710
279
609
202
355
286
882
147
435
112
492
849
736
776
586
900
367
414
595
95
999
451
117
753
45
259
299
428
695
67
696
635
70
340
994
838
488
974
299
792
980
433
925
323
759
384
743
740
283
485
179
394
930
713
897
328
79
43
69
595
550
330
851
543
949
973
386
329
461
303
190
969
17
683
273
478
567
963
712
28
394
304
693
614
39
370
214
404
396
529
752
804
983
30
207
302
236
87
332
288
879
412
675
420
106
30
811
537
345
132
232
797
820
322
827
485
26
862
313
915
458
408
340
918
656
307
228
712
671
738
476
329
588
828
229
393
584
451
892
726
363
545
923
190
467
671
652
186
95
3
663
454
603
117
846
154
735
726
776
739
27
6
447
780
517
255
733
761
64
426
146
792
130
485
635
383
832
662
140
680
420
394
627
12
155
164
129
230
670
500
94
63
544
127
999
638
767
610
761
382
180
880
930
771
794
713
62
763
69
549
921
300
863
88
380
968
807
691
970
759
222
964
37
884
616
872
393
776
951
306
130
715
585
377
28
15
798
568
591
353
294
527
298
576
940
496
77
328
235
292
394
896
740
300
555
969
721
175
40
404
789
793
690
683
200
560
602
457
780
319
416
490
149
992
511
323
32
552
275
213
976
83
249
234
694
509
421
957
613
16
385
775
944
342
371
790
706
844
392
134
732
754
887
753
604
40
246
972
857
120
598
598
546
15
31
946
445
633
216
909
749
551
48
143
116
77
471
484
297
361
168
956
398
40
122
137
25
229
403
153
183
660
659
306
814
446
955
184
284
234
559
111
979
488
209
973
382
269
210
767
673
147
424
727
930
813
862
481
479
576
103
528
793
136
228
239
622
954
287
723
700
112
588
126
476
720
248
395
786
867
513
68
288
590
336
418
790
531
574
147
293
820
954
875
702
177
650
877
661
409
911
858
916
282
691
94
926
204
630
918
180
284
62
349
847
119
958
683
904
72
814
941
868
920
564
420
623
491
515
7
589
286
162
546
664
197
491
286
956
92
44
380
316
435
586
473
57
148
672
634
66
581
827
298
732
815
302
420
682
522
578
722
407
234
896
807
212
220
71
903
825
110
793
166
187
24
406
820
615
268
889
856
591
571
408
701
856
425
311
998
385
365
925
653
75
895
817
364
645
350
462
130
355
187
427
656
614
75
229
145
466
688
2
685
216
270
5
361
208
907
771
221
832
924
395
461
392
970
53
541
394
193
371
437
115
335
635
941
94
725
192
700
290
929
579
722
257
220
79
146
569
163
415
439
183
325
246
578
111
536
979
409
9
190
163
132
859
782
380
773
881
256
155
594
259
766
821
606
9
125
707
753
586
590
283
864
379
577
76
193
315
614
295
182
194
84
92
161
205
347
288
783
338
382
247
406
23
420
258
35
402
952
441
138
84
88
744
407
97
484
992
492
40
986
349
859
82
651
784
158
577
75
285
931
518
784
658
53
967
1
699
35
904
277
414
193
628
314
756
753
979
802
29
151
142
262
712
124
762
667
966
753
384
111
484
215
12
898
683
902
703
200
435
483
671
884
693
670
330
187
373
706
86
655
816
68
425
200
6
488
60
136
451
117
453
836
327
634
34
951
17
133
818
231
686
875
955
616
893
362
909
643
517
759
622
195
500
361
8
269
975
687
565
764
366
768
722
243
967
389
766
247
299
357
871
25
304
346
754
469
24
525
1000
639
983
938
895
510
911
600
951
471
815
326
912
678
635
621
165
567
906
349
949
700
904
477
639
670
720
945
718
947
605
557
714
411
705
878
536
789
981
299
125
404
744
774
302
405
709
290
984
168
890
750
720
626
992
804
618
104
147
150
298
654
18
926
450
972
271
160
962
732
416
656
336
582
832
312
290
91
550
641
37
656
37
160
705
773
793
421
765
60
31
642
155
149
113
345
951
875
679
891
95
209
612
542
692
4
74
526
804
978
862
590
530
276
232
686
361
613
160
795
498
256
745
324
809
38
65
200
615
214
358
538
325
175
826
738
232
967
714
954
432
126
570
160
943
533
760
428
567
873
359
645
944
834
549
592
544
328
483
225
54
878
423
14
727
827
592
428
794
135
821
981
943
389
553
779
222
76
195
191
460
324
112
53
431
62
780
856
561
23
762
430
905
57
193
5
526
19
395
936
137
861
117
984
70
635
626
835
211
827
542
441
533
816
893
833
243
267
310
310
381
975
695
277
889
997
951
559
815
920
583
715
315
745
48
727
536
220
771
471
334
358
617
514
969
566
470
137
609
30
242
951
499
977
323
110
119
6
959
916
519
926
543
586
297
462
113
11
335
716
618
647
534
524
690
75
238
691
700
328
957
632
863
853
288
121
48
825
662
706
717
591
610
824
116
230
840
820
433
562
256
879
176
432
455
341
373
822
934
997
575
88
404
741
839
685
151
386
983
805
346
540
481
706
575
198
264
924
612
85
586
182
665
878
818
563
874
119
753
449
864
14
512
787
510
360
673
481
923
496
565
89
824
528
18
577
131
93
996
533
563
542
672
145
532
764
507
241
394
837
784
851
395
281
899
94
271
14
397
662
527
10
405
805
877
268
629
543
190
928
530
745
547
317
646
837
709
196
280
187
368
777
925
582
40
884
890
842
368
195
531
306
877
681
401
842
979
194
401
52
76
654
713
565
194
443
888
658
459
413
981
942
90
402
25
565
300
242
446
141
660
55
273
670
31
43
87
781
105
80
729
990
990
165
696
54
33
176
31
162
235
461
242
420
231
486
461
48
754
142
632
748
938
347
958
957
592
268
247
68
788
797
70
268
725
962
844
314
862
564
36
458
706
663
709
707
518
495
526
812
403
25
159
672
916
619
755
339
365
263
767
444
433
312
965
654
636
61
912
731
375
264
516
849
37
345
533
115
671
215
71
631
256
523
179
47
481
654
615
228
258
15
740
617
875
950
292
854
849
157
460
463
26
609
310
735
417
807
93
484
590
633
384
979
175
246
328
240
190
165
473
795
435
195
829
195
185
894
788
848
733
33
524
179
159
927
314
752
838
549
983
732
786
68
337
987
965
816
20
221
14
733
701
741
723
2
865
860
736
942
803
470
613
222
533
49
377
104
549
170
122
747
240
659
68
548
766
650
712
155
994
169
341
7
803
318
258
264
712
791
506
511
320
245
735
918
480
983
160
408
490
540
199
968
826
997
476
444
113
291
377
19
102
347
216
138
368
598
398
786
365
347
643
893
213
466
485
138
341
121
746
550
642
587
639
154
361
713
466
343
313
262
635
786
358
206
846
478
272
995
868
949
312
990
271
759
763
533
851
130
742
569
244
5
362
357
425
839
104
557
346
188
933
904
968
493
230
756
338
518
124
37
166
560
142
464
552
913
416
534
142
39
878
394
11
579
936
612
985
624
184
871
958
648
554
758
2
120
185
179
705
82
970
382
220
946
393
218
992
298
802
76
951
813
684
857
275
225
907
476
469
901
81
634
614
754
417
19
103
124
481
689
105
771
238
92
286
307
670
86
6
252
992
369
374
369
253
907
2
114
643
330
279
829
357
767
282
776
304
247
212
232
211
653
346
651
947
154
102
315
989
215
722
12
14
562
473
1
506
917
25
946
170
957
843
553
640
684
18
355
679
324
941
472
602
950
626
201
147
247
297
958
396
238
46
466
615
322
994
40
106
676
408
523
242
939
648
681
853
94
652
880
75
662
911
458
550
588
534
500
628
766
36
645
813
702
964
163
273
669
329
771
634
628
77
565
668
300
518
6
696
54
720
122
730
658
342
932
423
566
296
674
863
90
929
547
150
745
112
564
460
58
739
587
4
356
683
776
889
406
137
482
378
265
655
109
479
408
897
543
99
991
273
585
215
106
184
204
661
26
575
549
156
713
812
404
132
331
732
161
800
106
835
444
598
634
213
260
887
662
772
889
261
440
706
776
379
974
8
367
548
895
954
169
609
210
183
323
856
892
951
597
825
129
610
84
778
65
166
764
639
29
32
801
944
576
717
660
92
154
260
99
821
827
672
657
350
310
499
536
104
489
915
648
247
729
410
175
540
518
229
206
177
440
210
876
324
12
549
967
75
670
358
127
400
91
535
676
455
39
636
495
313
175
915
629
776
583
660
43
444
308
251
454
590
855
140
269
767
421
72
431
236
636
429
432
477
685
542
825
59
28
162
317
99
341
83
932
383
935
40
792
962
658
643
782
747
216
54
726
120
909
523
737
123
23
714
108
116
506
940
400
113
87
56
446
177
705
761
582
365
988
513
776
717
498
70
255
689
663
919
868
255
620
507
712
619
681
219
453
116
783
542
392
406
46
672
567
525
555
128
66
680
556
607
326
958
520
380
353
264
986
30
731
863
607
241
765
896
610
622
320
112
746
279
744
821
833
953
763
809
238
66
393
515
954
938
719
297
478
790
860
19
335
847
552
499
942
54
584
614
479
423
719
934
560
13
858
847
809
903
931
46
893
286
411
115
148
991
405
686
741
321
983
329
177
92
801
877
83
134
73
373
397
350
658
216
497
596
345
348
352
295
438
530
449
700
381
857
146
148
480
649
92
484
742
796
507
84
471
409
487
521
549
407
933
9
250
245
367
178
37
568
687
642
37
994
857
42
786
574
648
967
408
768
784
211
591
877
302
334
613
5
474
361
182
543
390
791
57
75
190
772
236
402
971
413
24
33
586
740
405
134
936
709
997
407
838
43
307
777
233
383
123
114
343
394
688
395
320
22
687
881
126
55
220
900
626
495
652
772
354
38
627
261
27
118
621
700
596
563
109
585
619
894
776
16
733
711
271
816
299
371
647
562
651
436
1000
36
921
912
791
786
126
368
19
613
60
447
695
780
525
79
49
663
638
994
513
370
240
743
815
598
945
496
442
604
983
360
323
719
807
789
838
265
347
975
144
103
949
740
397
259
265
564
635
280
784
862
979
5
282
513
328
424
188
955
916
180
760
868
927
52
999
570
880
438
432
783
627
481
273
354
641
962
932
833
711
507
574
571
306
967
209
130
634
65
795
354
861
511
966
412
48
853
306
483
105
240
511
524
476
154
426
746
305
907
671
984
591
344
508
182
152
808
673
540
313
831
134
753
858
470
108
906
171
409
219
253
463
228
409
105
643
263
9
492
700
536
459
80
435
120
275
78
987
134
236
517
897
276
201
318
378
439
641
43
38
494
742
72
575
756
893
231
848
7
476
574
296
198
150
81
881
120
214
562
624
400
241
916
310
139
884
226
134
415
649
851
903
628
474
812
896
388
158
280
643
219
33
902
694
879
787
35
924
479
17
693
14
949
919
167
559
554
489
816
671
370
767
503
35
595
942
493
129
570
566
421
728
193
777
95
850
184
144
505
45
318
694
380
273
309
761
22
682
492
507
993
226
851
362
376
473
200
186
998
879
551
636
989
523
756
100
508
553
569
534
261
593
130
772
719
976
737
125
554
933
467
638
883
817
841
956
363
32
285
590
35
570
544
285
106
981
594
325
513
139
822
859
208
414
421
762
589
688
15
106
403
231
483
57
736
597
867
904
430
559
991
966
360
606
156
312
553
657
830
609
25
476
794
910
575
730
596
862
487
751
487
646
270
848
236
937
76
450
349
323
426
434
270
888
238
778
48
144
892
26
845
87
281
179
380
923
346
270
95
916
624
322
362
900
672
354
562
222
107
841
216
267
144
330
648
272
159
928
858
819
839
50
356
263
866
87
753
375
951
650
783
621
262
657
250
852
929
806
140
641
369
916
754
151
629
213
240
212
805
862
369
231
884
995
740
662
996
987
843
40
191
1
589
988
307
649
960
177
420
194
440
986
636
847
720
432
739
599
8
60
268
506
929
614
166
497
611
720
43
588
69
292
430
850
388
45
150
613
546
355
73
134
924
626
72
432
690
536
953
60
277
763
509
322
117
286
592
884
643
935
315
741
320
649
29
253
146
802
756
322
596
36
118
804
497
283
634
947
675
31
432
978
498
444
81
967
667
634
212
738
644
255
82
917
188
586
27
168
302
453
6
294
777
656
81
145
205
47
725
239
968
55
328
549
260
232
93
203
631
357
838
716
888
732
856
930
448
577
77
93
408
835
288
327
634
297
29
297
188
651
100
78
258
995
342
37
550
351
422
61
802
951
920
614
679
411
920
906
791
401
632
938
18
140
338
286
626
807
71
294
877
992
14
758
983
412
537
285
270
447
183
250
384
454
663
689
189
478
105
515
802
695
379
161
821
867
328
139
426
159
105
5
447
895
630
938
936
219
394
460
999
177
444
818
904
430
405
223
522
658
819
435
196
753
921
145
37
35
212
244
464
68
812
329
517
141
670
750
121
104
124
67
1
37
190
64
391
209
232
341
47
854
323
84
296
580
718
828
44
639
313
882
718
854
905
635
97
734
320
139
865
211
228
198
494
446
542
701
785
381
857
78
968
49
265
588
767
190
262
583
275
358
163
47
761
557
625
454
793
420
381
469
166
66
302
41
159
82
219
262
614
529
739
699
153
449
453
8
595
164
520
350
350
512
598
479
53
303
490
425
254
464
674
365
306
753
105
630
903
462
257
767
909
221
453
262
206
877
883
811
321
445
616
12
468
273
96
954
487
914
291
482
871
660
694
819
703
339
858
856
874
776
973
630
371
252
317
439
796
422
23
596
519
395
764
27
40
120
367
816
182
777
337
301
731
612
510
530
22
555
812
715
721
969
182
820
796
128
258
583
227
330
335
67
531
94
452
309
581
549
197
763
523
953
958
989
816
249
923
511
527
717
55
821
106
75
661
278
738
808
940
43
270
154
57
255
446
891
881
357
843
28
533
889
464
546
244
31
450
594
866
931
690
911
570
151
471
802
867
569
430
694
133
734
230
146
229
993
334
210
646
634
208
211
833
963
63
317
48
475
4
791
57
218
48
410
546
61
47
361
901
800
956
869
334
953
279
906
976
640
724
598
669
195
323
388
648
970
281
542
231
384
844
368
905
406
307
357
938
531
117
551
727
781
665
587
642
445
26
273
29
56
339
25
389
574
986
200
468
894
22
137
160
518
528
763
662
733
700
693
275
675
530
93
632
430
842
11
878
726
344
474
510
819
73
443
191
906
288
593
808
756
434
11
454
285
263
92
824
491
594
327
721
496
465
211
949
442
629
203
958
642
446
521
955
708
228
580
96
311
996
28
557
900
443
688
980
928
599
170
790
123
343
570
383
889
439
467
16
194
190
364
514
195
209
849
598
420
992
995
688
524
195
938
560
528
557
169
104
971
383
781
759
574
401
807
875
897
573
841
396
910
133
322
768
602
749
222
894
545
170
382
309
771
172
435
463
488
902
45
184
907
957
200
887
888
672
426
119
216
106
68
343
70
179
274
652
621
247
868
301
793
167
117
482
904
556
271
806
308
520
862
319
147
610
963
690
55
119
993
415
947
154
218
514
72
77
769
181
110
24
884
305
461
220
65
604
780
704
44
358
484
914
737
347
205
276
884
695
113
621
682
741
607
727
531
941
143
779
956
77
851
866
873
701
165
876
626
879
887
342
655
713
14
837
220
88
145
488
333
347
496
80
948
319
377
986
497
241
500
854
66
635
614
600
847
122
805
728
41
500
226
449
17
129
186
341
407
847
273
572
748
161
630
774
455
423
613
761
193
83
762
159
153
852
475
916
368
815
796
394
944
85
444
395
17
617
615
70
311
156
76
103
412
122
785
967
255
437
596
312
863
907
609
758
86
797
384
449
943
668
537
749
160
361
210
332
715
286
526
799
466
773
420
603
471
343
170
765
212
165
539
341
753
887
695
90
787
231
980
97
672
493
135
403
760
100
844
828
810
929
291
235
801
931
988
491
204
966
286
219
680
394
842
255
191
147
810
390
718
480
663
598
144
551
383
441
362
304
202
757
347
867
219
58
748
831
974
284
543
315
520
688
427
697
598
679
925
227
288
355
623
557
907
359
580
331
977
394
683
636
802
436
670
40
587
214
610
392
25
45
847
302
998
438
818
498
344
217
700
802
670
65
515
538
831
527
230
579
995
480
339
107
204
11
635
347
927
458
171
248
433
86
918
76
680
504
236
382
70
468
96
642
616
151
917
175
10
316
16
575
619
76
899
12
640
97
65
234
566
152
564
993
578
918
275
930
712
794
761
648
473
287
608
831
64
216
351
780
553
581
433
663
105
459
186
112
896
668
462
539
409
305
386
681
621
447
673
453
20
445
95
128
459
297
982
234
645
500
78
335
408
647
689
26
13
780
827
70
440
186
959
583
973
871
58
571
446
432
872
932
163
431
742
237
902
651
794
210
337
803
84
873
941
377
103
720
678
300
59
135
801
1000
535
506
680
287
441
123
850
176
662
8
432
420
434
291
646
48
285
581
385
652
323
97
745
505
751
947
930
868
776
76
203
973
466
864
385
272
704
249
989
484
128
578
194
877
804
60
760
993
446
845
454
718
203
251
709
206
359
586
75
656
834
369
438
380
37
464
168
871
432
808
69
858
175
947
494
423
316
581
47
309
347
643
46
490
331
242
341
922
452
970
109
138
600
627
3
36
502
460
367
744
995
349
287
951
295
234
903
444
444
219
791
904
724
474
159
190
493
16
328
440
746
916
203
321
758
291
476
690
286
688
868
717
161
117
25
265
591
22
618
940
93
971
770
777
809
662
198
942
902
174
356
214
797
2
415
228
356
558
146
660
447
264
634
569
959
290
293
99
45
266
807
639
279
31
505
287
414
573
134
193
683
849
181
942
893
95
675
631
110
570
894
724
387
420
500
80
793
485
419
755
38
441
212
351
57
598
770
663
265
77
921
381
613
826
940
391
202
130
998
28
958
846
322
253
801
593
201
325
809
500
993
984
123
949
994
571
696
934
341
767
583
267
151
853
109
915
724
470
166
139
966
877
855
971
135
601
893
773
664
217
509
310
60
687
44
772
834
341
106
676
6
104
919
424
967
34
471
571
392
559
150
529
446
78
834
522
767
742
833
86
542
299
611
319
560
865
7
372
280
352
513
392
817
91
236
231
228
850
367
768
638
82
330
608
567
705
300
262
264
161
461
640
999
793
167
852
22
820
199
849
347
304
389
396
597
562
242
243
914
390
575
122
313
330
847
367
942
984
586
569
413
987
247
614
747
889
929
908
508
604
561
342
365
508
629
802
691
538
973
599
791
830
970
259
987
542
198
506
143
527
751
122
121
383
503
599
334
290
956
148
802
721
808
682
78
748
973
838
978
236
627
989
321
601
766
443
769
225
880
713
423
814
638
836
48
182
833
188
677
9
487
153
855
76
696
294
992
384
688
400
116
328
646
870
823
806
2
442
374
731
292
191
690
924
170
45
483
780
848
819
850
409
50
912
475
174
547
356
973
706
491
871
56
463
48
931
885
894
287
654
439
82
872
440
731
514
902
939
474
266
122
862
120
499
827
573
271
575
18
196
99
548
728
168
792
21
12
812
25
571
780
478
95
47
499
280
688
53
828
246
212
815
397
965
233
478
269
442
848
585
121
947
753
137
801
64
368
131
711
65
601
975
439
936
778
463
136
134
776
305
427
170
657
325
45
640
949
528
959
226
242
218
494
452
978
202
843
739
130
930
393
372
972
94
503
544
301
815
725
555
261
56
967
570
420
301
775
107
830
859
729
531
620
386
920
417
70
333
646
593
234
79
716
13
912
434
237
438
169
57
334
1
684
98
57
401
890
999
590
383
275
3
22
611
219
354
100
814
431
583
836
304
401
523
330
580
266
937
915
739
148
692
553
869
332
461
449
395
618
809
995
625
807
355
506
366
538
442
673
532
665
329
303
141
919
506
709
939
868
152
64
183
81
91
136
769
962
894
90
994
945
892
456
717
608
973
940
583
781
970
484
284
926
373
875
518
898
832
238
454
696
653
954
987
957
74
900
54
777
594
420
539
879
74
106
114
305
614
285
440
550
462
107
758
520
305
246
811
780
378
542
445
285
709
333
976
226
732
869
599
647
192
931
703
230
974
708
933
8
36
75
250
786
94
615
21
752
104
152
408
88
856
68
909
391
200
417
949
369
503
670
826
584
981
960
171
987
402
856
292
594
536
22
457
963
396
602
174
21
996
798
28
432
830
923
484
897
788
134
307
713
496
179
988
467
397
750
581
947
989
438
902
245
746
888
886
530
204
448
250
176
562
536
276
769
973
955
663
979
338
608
922
500
70
414
691
10
755
742
708
599
77
343
907
233
679
595
236
601
853
846
374
109
94
789
450
899
581
82
264
514
582
901
261
206
653
685
677
995
224
136
892
247
860
417
974
955
19
591
833
902
634
571
163
603
199
231
606
229
338
881
141
742
43
999
754
102
824
984
851
734
64
688
730
398
765
675
638
222
668
464
620
959
494
496
378
436
658
212
866
771
329
417
155
178
201
59
421
79
632
636
558
805
105
759
7
385
97
754
888
793
538
806
410
542
982
868
830
724
532
433
975
400
298
329
383
773
911
887
741
712
177
189
112
15
478
624
881
252
922
624
10
161
596
327
379
359
452
827
533
524
518
878
111
359
166
158
593
321
76
686
775
575
431
566
576
631
596
17
319
879
204
548
678
593
159
220
817
995
511
175
105
681
556
985
950
13
791
937
950
129
561
44
540
814
314
454
788
848
389
939
779
367
197
285
292
408
436
774
120
109
725
395
422
923
683
76
969
855
980
19
989
919
368
168
626
959
20
953
641
519
782
702
147
664
81
551
575
523
322
241
43
870
561
929
526
216
145
33
6
759
756
160
829
994
47
381
73
994
591
472
610
122
426
239
918
446
846
728
408
230
442
946
192
655
594
689
771
360
746
225
75
485
865
854
635
648
373
854
490
674
747
872
530
987
683
649
638
249
434
818
922
241
449
655
773
991
952
835
232
834
462
683
420
437
541
917
341
827
259
600
431
94
951
865
628
772
855
4
578
844
128
657
841
964
561
188
590
743
21
789
354
902
290
530
828
666
520
317
609
41
929
711
13
502
747
654
796
180
664
396
679
873
182
367
71
50
360
282
290
561
390
513
859
954
362
657
187
122
303
258
47
525
333
850
787
371
323
835
123
939
987
243
728
724
719
68
541
170
833
708
864
570
58
22
897
110
295
645
294
163
665
515
679
648
820
986
866
714
347
538
671
24
835
838
800
663
860
834
295
57
669
633
387
312
876
159
452
67
801
949
920
308
421
13
654
576
54
387
293
652
32
826
506
127
586
153
937
213
116
901
830
789
801
234
24
941
254
617
990
195
544
319
113
244
438
665
217
184
185
856
662
232
470
335
975
386
463
887
83
787
25
127
691
328
199
564
269
663
109
202
370
892
242
482
761
76
898
450
920
216
266
224
993
491
202
175
233
355
272
772
273
561
40
698
309
301
917
666
447
428
62
364
988
174
29
62
403
837
808
750
95
694
923
86
853
779
45
74
23
229
375
123
63
613
667
87
90
42
383
935
460
876
894
957
191
533
58
764
284
241
768
931
562
583
274
793
727
322
167
772
704
317
929
639
217
294
850
261
762
875
947
736
782
525
242
268
920
28
359
794
669
688
978
177
600
702
98
689
642
42
412
669
528
766
364
455
641
864
611
141
960
652
673
265
711
216
550
282
621
637
943
543
400
517
504
571
161
879
253
600
38
622
874
715
171
535
114
445
565
370
939
307
68
534
381
664
858
804
271
206
394
855
163
506
709
513
791
431
336
372
348
575
889
824
725
565
509
619
599
773
984
776
925
958
312
36
944
387
904
101
313
236
397
544
315
466
270
663
423
890
70
521
656
877
77
59
288
965
648
520
457
695
335
340
149
122
99
304
831
812
589
69
744
582
503
29
499
914
518
159
139
731
130
663
290
215
13
200
363
403
199
975
25
609
436
249
324
109
609
658
901
107
962
262
741
735
196
450
722
731
202
650
92
471
318
297
615
244
510
654
802
3
811
924
72
360
671
497
174
223
634
374
447
342
880
517
787
987
733
356
259
114
198
755
365
691
939
486
924
293
903
677
334
671
946
739
777
789
421
11
580
718
670
721
488
858
750
899
127
206
539
560
252
749
565
809
733
620
517
526
352
362
424
938
641
489
910
696
963
537
754
38
963
7
260
249
317
873
533
890
460
851
867
230
575
242
859
874
675
969
758
856
45
360
822
345
681
361
127
696
579
92
353
769
925
120
578
324
290
356
985
837
898
245
698
245
935
793
690
992
634
14
769
214
582
592
235
103
267
912
672
243
428
99
706
220
133
412
280
912
874
134
156
635
160
99
895
788
228
127
532
686
537
928
523
54
642
498
313
37
890
628
46
662
154
905
537
366
460
521
585
619
940
259
139
681
26
275
605
198
150
663
781
724
550
365
573
204
922
646
590
160
791
254
208
581
467
361
494
513
369
574
621
974
306
624
66
56
34
813
914
68
49
949
68
114
95
292
21
780
309
968
106
486
292
441
848
644
630
877
79
937
557
648
16
966
530
822
352
974
432
197
751
591
34
334
817
365
111
73
729
342
295
249
279
101
369
640
920
493
187
725
839
757
836
478
737
833
957
266
197
472
378
881
40
163
330
895
51
991
569
801
791
310
651
869
25
478
476
246
418
991
946
583
793
68
272
411
182
93
10
550
329
353
392
53
103
228
886
616
458
262
230
882
245
624
339
791
135
46
620
997
406
689
210
345
123
321
577
620
518
832
737
64
5
377
51
659
313
380
229
813
698
216
663
867
38
654
688
799
892
8
688
616
293
557
258
169
104
950
743
556
278
244
600
859
254
705
945
675
999
707
573
812
958
906
506
537
243
360
808
988
946
407
22
710
366
954
77
780
291
256
930
661
195
412
526
759
377
591
874
624
600
395
174
873
770
911
975
232
529
706
263
503
435
442
244
912
565
854
345
19
955
534
604
321
297
346
194
729
691
322
298
348
64
571
937
371
63
89
634
440
869
322
986
531
358
39
327
278
511
314
657
649
762
454
925
81
245
270
583
486
532
416
40
30
505
409
272
218
477
578
398
623
510
410
449
536
195
666
930
935
788
206
15
404
716
690
385
95
929
157
765
364
494
59
232
463
107
468
202
545
921
58
807
306
191
910
85
751
782
400
961
971
467
184
552
290
334
801
695
839
301
515
949
429
933
798
521
568
275
303
716
624
382
251
529
407
605
908
952
916
429
246
412
586
886
910
515
140
88
361
923
70
472
425
774
843
710
488
511
171
37
304
379
47
988
676
128
820
115
299
657
268
298
704
431
485
679
528
500
414
86
338
881
28
53
824
854
478
191
479
471
18
703
799
186
154
312
657
74
250
724
699
521
780
20
585
644
521
55
387
929
248
8
723
764
902
739
45
574
780
489
59
282
45
761
402
672
706
935
574
9
293
284
602
1000
650
568
80
734
597
324
16
787
762
291
412
38
530
159
599
127
885
969
151
636
906
37
611
262
816
257
370
256
772
970
797
352
42
381
77
267
806
676
345
595
605
560
334
575
364
960
214
817
980
987
250
489
732
94
656
886
122
553
308
583
318
988
22
559
72
734
728
764
827
210
180
649
762
317
835
43
673
150
121
597
920
892
619
758
162
887
601
826
217
284
970
219
203
546
884
494
49
362
266
25
573
212
927
500
602
875
300
543
3
690
588
863
92
272
729
274
608
666
689
830
324
659
517
109
425
68
12
339
966
329
72
711
87
685
567
682
184
538
40
498
887
334
710
501
529
451
952
980
777
128
942
467
223
440
192
436
39
659
471
257
236
155
997
163
681
124
875
696
803
42
421
788
798
718
440
180
272
234
504
383
440
825
9
730
427
5
77
376
741
824
425
307
683
183
921
478
341
547
899
243
797
234
239
139
362
704
878
893
988
909
639
255
455
810
266
894
611
655
93
116
699
428
47
618
782
204
579
837
366
771
680
701
596
11
356
763
813
969
810
756
831
488
87
579
36
548
163
625
286
178
260
112
640
920
679
801
147
327
622
77
264
944
227
861
25
503
576
242
702
846
487
46
559
209
750
752
273
62
826
334
727
654
198
606
180
790
244
624
269
104
937
520
900
318
742
905
855
504
774
668
856
414
669
502
897
281
643
38
905
342
898
783
152
516
886
387
408
292
906
931
510
901
215
42
891
283
90
641
604
163
282
28
582
841
905
861
150
880
86
261
337
997
649
943
144
860
663
803
717
405
985
805
336
518
768
407
248
641
527
980
592
915
512
847
132
973
72
660
69
398
150
763
913
155
313
101
333
4
485
24
890
51
112
993
811
62
595
834
279
137
668
670
237
664
840
69
405
175
160
273
966
940
342
598
436
621
694
213
316
300
428
556
432
563
645
572
335
71
701
825
724
237
718
281
614
221
731
202
906
423
311
210
74
70
556
987
938
278
14
515
843
188
447
2
152
395
330
868
631
885
663
244
161
153
940
427
251
986
128
697
956
643
101
656
169
808
257
15
701
739
9
375
234
512
375
74
998
92
209
629
987
266
449
634
645
125
379
257
182
885
73
595
150
305
77
271
424
877
931
582
527
254
277
403
64
75
184
860
137
507
782
435
747
274
483
802
605
951
839
182
252
552
589
407
62
258
548
230
533
203
773
603
258
859
883
806
84
452
483
332
291
262
421
377
43
386
966
636
990
758
104
855
664
766
814
256
207
828
613
516
70
658
630
460
550
784
198
995
401
47
281
110
319
469
28
970
792
869
441
185
665
39
411
408
785
133
377
264
245
153
455
468
102
58
193
700
888
101
7
438
903
401
985
477
48
691
948
323
931
401
608
982
55
924
176
928
193
23
27
189
443
777
871
570
58
414
442
986
861
632
852
774
936
757
658
638
360
163
128
558
909
945
397
619
43
714
967
188
984
751
516
312
379
490
62
500
841
422
334
297
680
101
630
161
232
866
523
235
521
253
531
481
422
871
281
576
110
654
726
636
321
18
729
577
904
419
667
421
191
216
750
378
951
534
447
889
85
46
719
109
766
182
796
497
408
328
846
289
740
969
244
617
235
589
61
977
347
368
50
523
300
363
684
441
690
918
711
231
778
493
306
315
134
984
146
783
281
861
605
482
55
131
885
860
679
230
47
190
975
409
838
824
677
111
688
117
603
100
483
555
259
841
518
379
547
730
555
704
423
292
70
740
717
400
558
209
828
894
247
473
698
725
703
204
262
883
562
649
595
941
78
676
67
969
267
819
143
987
154
484
923
837
66
333
73
593
942
603
631
154
368
791
31
696
401
708
791
29
296
352
552
722
909
464
511
66
903
898
865
535
895
122
565
475
298
292
548
115
960
307
614
888
650
212
299
247
57
86
407
817
267
306
351
794
587
701
97
932
214
645
287
338
463
566
70
577
172
734
293
238
501
396
930
212
494
541
98
430
704
585
529
686
676
308
138
484
273
187
201
546
684
113
700
751
431
126
583
775
859
437
78
632
395
485
662
668
341
207
999
273
64
997
962
741
242
74
846
245
272
97
1
870
994
895
446
995
681
148
411
81
613
667
440
137
636
709
374
655
805
405
508
867
587
950
265
496
147
689
964
62
886
584
649
914
782
882
498
865
55
929
16
264
339
251
77
795
856
957
913
117
46
478
275
704
740
454
362
879
225
302
561
106
508
643
700
37
643
280
298
701
274
889
251
469
412
903
495
131
48
352
463
475
409
561
553
275
536
694
408
472
406
86
552
635
974
209
789
517
387
872
834
602
94
988
852
90
740
799
901
674
541
982
842
810
296
461
900
905
328
71
902
11
407
428
223
148
161
518
556
352
544
528
977
893
721
396
174
893
87
402
349
745
222
883
58
304
301
804
144
845
838
504
55
133
678
385
999
788
835
713
827
323
116
971
63
837
468
412
183
386
633
540
141
474
9
269
107
916
588
412
587
614
450
964
398
374
589
384
464
999
749
701
36
306
585
788
725
606
671
631
694
443
801
724
462
90
579
16
30
326
519
952
466
589
741
275
651
413
878
170
632
422
994
257
901
827
166
693
977
493
845
365
861
175
316
734
286
439
337
388
210
110
539
813
657
847
268
155
837
573
337
8
471
57
596
383
358
874
314
38
550
380
99
313
916
51
525
432
514
771
640
25
925
182
301
254
635
254
607
512
644
566
761
132
668
657
364
912
731
956
474
581
467
453
796
477
157
274
967
848
376
761
274
169
151
475
46
781
684
807
634
985
41
488
138
445
652
390
989
368
159
413
94
491
884
167
462
331
189
399
187
499
69
792
174
151
612
876
238
794
353
223
68
740
140
70
87
472
865
737
395
68
277
975
871
618
169
464
952
244
412
205
806
965
659
483
401
116
85
410
437
470
162
785
251
513
315
174
557
556
283
648
333
484
140
574
262
1000
238
237
855
144
762
822
835
716
223
465
361
9
948
678
434
901
565
425
186
906
561
538
766
311
183
942
236
841
399
398
236
631
132
46
162
441
699
98
247
185
247
410
283
806
981
536
629
481
154
72
826
926
111
775
395
322
169
966
310
985
730
206
282
467
857
83
169
191
444
221
790
95
267
311
942
994
424
35
661
549
117
238
606
787
300
618
26
94
437
490
889
478
509
887
659
695
463
392
647
522
474
596
56
35
772
10
630
302
272
603
287
268
949
862
231
946
679
423
841
254
300
869
31
961
740
265
905
244
379
330
245
296
256
962
800
281
340
973
382
685
831
477
514
770
407
398
712
400
378
906
559
997
956
442
366
761
230
164
590
545
992
283
158
32
238
767
505
875
42
322
449
553
517
393
977
541
721
158
653
231
724
150
632
794
508
184
197
742
18
715
322
547
488
636
32
73
88
787
201
949
83
115
21
255
909
518
569
57
48
902
785
400
100
846
685
333
236
612
845
418
49
915
1000
977
924
985
130
8
186
3
531
302
699
866
201
806
53
633
323
675
183
679
755
789
64
792
209
727
118
938
251
304
105
438
321
855
572
605
741
336
359
717
70
222
302
334
231
874
9
569
539
768
519
918
159
496
711
640
504
958
599
472
824
527
977
695
534
255
495
163
841
389
872
931
892
561
875
544
960
7
657
892
166
116
247
769
831
379
287
894
870
583
612
273
538
678
895
141
445
319
382
689
5
501
668
962
384
65
617
66
575
118
745
839
429
538
824
690
376
849
53
155
52
678
848
56
282
922
203
838
671
520
631
784
566
422
856
319
320
944
843
547
567
212
195
497
714
787
674
296
960
917
402
620
929
44
279
344
459
352
287
260
146
171
682
94
31
993
453
822
173
701
124
486
961
372
651
245
693
680
148
442
343
483
220
826
460
653
924
869
832
597
751
358
876
193
600
20
735
64
368
979
682
204
684
265
786
988
283
431
707
493
734
568
167
885
502
653
873
352
874
231
626
680
844
867
943
125
909
689
759
657
648
600
676
12
47
423
799
239
839
315
391
593
511
288
490
690
216
565
110
808
561
794
876
119
135
862
760
386
674
162
86
394
960
677
133
954
931
190
460
825
944
244
563
330
863
231
575
737
417
109
516
714
276
844
22
289
445
575
576
788
832
909
17
158
337
501
503
948
395
260
156
947
654
97
344
171
429
133
922
435
610
664
787
235
944
992
765
26
18
449
233
300
779
519
827
16
163
38
273
80
234
823
671
539
258
959
544
89
318
178
561
303
367
435
156
708
140
827
155
484
949
449
166
62
201
666
680
389
413
545
785
930
622
842
915
751
330
64
290
203
564
586
580
765
191
705
840
598
363
818
952
240
864
621
663
641
157
328
787
467
144
450
303
143
13
580
891
678
28
975
906
662
833
457
917
195
626
325
731
691
555
468
214
652
844
904
367
554
411
249
821
881
232
468
332
260
279
383
927
343
648
20
42
786
385
861
394
212
627
465
338
546
871
719
152
467
600
188
31
20
17
658
573
620
361
975
183
786
114
700
142
929
426
976
57
450
276
177
2
219
171
615
978
200
702
602
225
674
905
621
525
980
152
234
871
203
268
630
791
523
672
371
173
257
589
6
644
727
823
685
440
202
121
822
222
113
941
143
493
611
267
173
88
359
196
320
730
94
222
249
784
141
466
149
149
524
658
840
715
769
305
410
898
773
342
198
584
368
508
517
209
325
854
444
834
574
69
392
775
374
773
924
799
1000
516
478
914
276
995
209
526
951
926
206
96
460
64
660
465
125
119
448
676
173
678
722
508
301
812
770
893
659
737
396
51
233
738
525
500
647
612
537
60
253
22
102
570
258
498
928
346
319
305
865
337
684
12
294
490
488
419
589
149
266
433
678
145
66
596
458
852
837
219
865
659
905
517
894
202
417
696
776
229
610
684
803
131
660
75
6
50
615
921
14
945
640
178
926
152
392
994
970
800
841
524
43
897
267
633
979
17
486
671
525
329
583
481
561
86
539
955
70
852
207
721
701
433
12
20
563
919
601
420
63
285
437
787
164
715
970
849
454
210
613
758
789
18
200
301
99
172
994
786
128
709
599
174
518
173
327
733
647
641
652
347
71
828
410
624
245
803
304
105
450
435
81
226
479
16
498
143
696
396
795
175
557
591
947
421
510
49
408
52
499
673
397
874
942
260
41
52
163
222
858
263
728
343
109
149
42
835
540
679
852
154
912
879
31
875
491
473
114
425
379
164
570
607
161
622
766
691
831
799
841
292
402
815
516
366
890
514
962
470
617
768
440
826
876
731
332
855
67
542
621
560
328
447
564
577
561
881
552
735
488
850
683
717
28
841
601
754
888
586
510
341
693
229
111
629
380
818
405
490
871
627
901
265
230
461
813
836
588
5
255
984
156
249
256
967
539
215
674
860
384
528
732
488
113
861
947
711
137
908
673
416
472
342
360
820
119
183
896
571
925
57
60
732
896
155
225
907
85
65
911
678
266
257
707
9
546
716
364
502
991
123
590
199
72
7
159
131
498
501
511
968
528
704
903
945
419
139
540
677
50
482
826
628
72
563
35
757
190
613
266
315
266
872
459
837
22
972
682
139
18
949
600
529
448
364
254
491
68
738
869
822
190
474
351
591
291
475
592
279
218
918
445
189
378
23
484
515
582
205
249
487
387
702
718
645
907
602
144
608
45
258
280
672
24
178
184
198
900
869
519
11
483
554
240
993
690
329
83
615
936
127
83
429
549
807
657
408
625
772
445
631
900
822
180
972
466
316
376
364
160
339
474
718
463
282
437
770
618
111
448
967
452
689
523
987
96
679
317
678
391
917
393
964
254
677
500
762
717
904
175
74
660
308
131
187
467
212
420
341
986
177
354
351
197
711
496
368
938
841
828
406
894
910
374
304
786
739
123
504
401
209
113
422
613
390
921
171
81
580
581
148
637
4
217
260
700
459
227
623
225
905
924
196
791
854
947
114
465
401
575
469
954
958
350
891
397
9
33
581
867
767
967
358
282
164
405
896
963
483
207
555
512
821
562
123
39
723
123
350
26
583
957
359
260
795
263
897
350
262
662
924
318
566
184
205
616
999
799
432
724
700
410
886
181
359
796
803
467
264
894
428
708
31
130
190
539
989
288
570
814
29
501
4
56
709
556
596
665
548
600
512
970
724
756
662
108
854
900
709
601
133
13
456
229
871
151
424
485
395
8
789
431
344
496
855
280
631
521
955
400
725
388
8
700
447
830
921
584
190
736
739
739
300
19
699
24
413
953
346
656
657
501
475
680
3
835
940
469
494
289
324
588
745
435
26
937
882
844
596
480
43
381
29
278
688
518
309
722
197
286
695
107
669
920
117
682
433
200
590
331
458
744
707
903
803
263
159
991
233
858
684
673
368
996
29
288
73
709
297
877
300
895
542
281
284
344
569
234
804
262
699
5
200
596
675
277
996
453
990
974
237
241
651
706
140
951
812
337
225
166
756
954
886
960
425
147
269
863
78
107
392
430
664
507
683
787
212
513
502
704
854
558
746
388
98
713
344
193
647
567
307
861
334
556
6
779
724
585
515
920
573
591
197
847
577
435
182
142
812
134
11
143
833
991
555
689
666
589
208
870
812
18
520
448
957
906
654
699
290
26
495
903
202
287
805
634
672
915
547
273
830
498
395
887
21
359
491
739
206
403
703
203
665
204
997
787
808
582
63
307
332
340
971
984
118
152
501
394
11
806
730
734
77
147
637
850
20
99
742
811
181
71
271
611
961
938
951
724
543
493
263
858
537
971
954
212
511
792
634
952
430
145
552
421
675
417
12
801
700
760
441
565
334
276
823
78
416
409
65
120
770
116
877
966
459
327
909
852
902
6
235
357
731
851
725
228
149
293
506
678
205
18
500
18
593
634
973
776
528
504
147
128
771
973
177
531
143
417
214
976
672
583
875
125
126
673
121
949
781
519
501
145
202
938
694
758
240
113
530
943
643
383
16
722
475
365
383
933
7
740
872
305
852
340
784
741
924
393
295
433
203
948
696
401
392
486
989
410
314
706
235
996
273
309
652
475
683
352
216
456
972
421
462
299
155
421
213
403
481
270
252
985
252
154
284
240
261
292
131
356
276
345
753
910
662
718
591
588
539
985
702
982
841
596
353
498
270
839
50
16
385
749
470
21
62
288
382
364
87
662
475
691
922
71
910
837
605
548
573
167
257
790
219
919
932
59
158
111
388
272
683
446
903
404
171
970
420
180
707
936
194
844
71
450
541
458
184
980
515
810
432
753
93
493
801
390
950
138
445
862
998
102
111
14
672
141
841
428
358
701
500
394
457
534
994
66
326
273
441
711
738
418
244
100
569
9
691
665
128
840
693
75
915
715
317
239
643
650
997
564
5
365
706
512
57
648
928
89
38
403
929
949
125
261
726
201
946
667
141
845
597
239
501
17
572
40
874
841
269
100
212
766
684
188
397
703
486
325
1
152
913
20
514
778
845
529
877
570
947
698
466
800
23
110
44
490
552
345
813
987
952
96
387
554
263
796
453
588
800
197
866
186
829
1000
169
318
456
288
874
766
734
958
342
349
480
817
787
670
375
283
734
784
734
871
263
725
751
776
488
796
128
897
34
886
712
595
717
853
218
305
219
178
126
918
361
699
588
454
433
199
539
183
177
30
238
746
202
760
150
287
22
30
422
826
457
427
197
346
814
195
665
126
136
44
79
890
833
126
886
231
142
527
798
593
230
212
861
821
199
479
548
915
914
375
467
161
363
428
543
258
195
313
421
395
212
737
405
511
834
913
466
109
979
499
704
78
393
748
219
930
157
941
475
780
36
855
131
122
336
171
792
217
159
202
263
436
296
292
747
473
511
530
849
694
631
198
392
261
699
489
836
843
409
597
494
892
199
247
873
482
651
65
180
657
308
5
447
75
644
181
804
504
635
74
119
366
358
39
614
118
69
463
85
710
482
699
55
757
332
138
497
329
856
364
798
480
540
385
267
715
313
343
802
604
399
948
303
676
204
103
27
520
935
873
388
767
125
945
594
235
905
233
156
82
607
126
503
227
285
147
877
659
808
465
220
518
471
800
995
976
457
735
730
32
97
348
648
282
573
389
877
643
610
917
609
751
748
439
81
495
994
114
357
693
978
507
763
476
297
707
242
312
350
378
47
950
844
431
951
760
74
592
601
117
285
67
724
452
646
879
656
605
880
241
31
901
160
479
583
169
652
606
673
559
30
669
568
600
311
334
502
388
653
24
244
212
93
104
233
165
774
227
351
523
909
996
35
749
573
475
758
983
443
983
875
809
754
779
429
880
100
934
820
739
138
720
164
765
946
309
738
752
542
440
202
28
33
974
131
403
970
946
12
480
757
805
28
9
357
2
852
56
140
17
179
718
425
180
942
996
184
383
966
219
384
861
315
132
686
775
778
311
525
232
686
129
167
704
782
848
954
595
932
801
803
775
302
769
5
526
990
866
500
250
270
224
86
685
280
746
518
125
449
23
984
336
970
285
282
416
385
898
899
873
671
496
267
559
303
318
730
903
391
686
118
124
391
846
374
679
833
602
391
245
196
267
60
957
368
428
548
458
68
996
995
547
264
767
132
867
877
478
834
131
1
971
221
814
457
592
742
146
763
423
608
475
471
276
76
766
426
634
303
71
671
886
951
313
636
283
282
600
748
997
203
614
799
546
624
285
240
664
539
138
77
336
414
148
190
365
864
934
704
317
72
398
524
106
89
696
228
802
3
553
355
457
900
486
485
904
705
469
660
471
300
925
410
547
725
709
50
748
908
911
3
201
126
922
576
125
303
143
34
457
343
164
797
730
929
19
325
812
577
321
542
389
331
712
685
259
124
88
101
624
739
455
832
558
282
150
779
730
267
355
885
309
729
510
26
670
260
276
255
167
521
131
618
776
540
600
26
836
98
323
560
495
582
908
139
688
950
546
709
666
893
887
987
135
828
559
291
69
98
11
228
103
655
86
783
234
518
805
917
229
527
432
877
742
253
727
280
648
442
718
458
520
40
985
706
475
667
658
825
856
404
829
808
346
869
72
603
121
878
126
617
640
422
534
57
452
300
261
244
236
518
850
752
864
467
676
606
923
992
290
792
546
665
580
28
822
996
743
65
318
834
654
815
442
918
220
221
494
403
780
127
221
190
389
340
637
50
111
733
674
885
64
480
941
914
21
478
516
241
824
583
234
34
745
546
351
510
179
430
842
18
751
854
825
774
978
617
787
230
153
151
318
625
965
738
79
1
715
661
571
855
672
255
76
642
232
352
841
543
68
749
149
270
369
155
456
192
642
510
155
730
222
730
880
809
850
674
438
116
183
590
651
68
86
368
356
675
893
690
812
951
630
564
577
102
336
787
686
522
221
603
618
506
381
181
117
708
195
595
381
555
313
635
546
258
368
149
659
584
163
596
515
249
75
149
867
671
887
9
485
801
54
519
471
959
681
342
65
887
96
199
859
742
6
623
28
384
631
775
652
84
105
594
716
768
694
488
669
988
67
303
702
79
917
551
67
393
748
716
824
66
508
18
363
504
85
186
955
660
358
624
346
242
620
861
115
148
733
335
112
821
264
350
796
714
204
539
706
719
627
253
612
238
750
111
119
583
447
361
632
481
212
781
613
807
919
632
17
72
519
537
633
833
983
254
818
933
363
2
771
419
873
390
51
30
248
6
542
414
464
436
414
601
98
795
945
793
234
867
251
264
828
602
51
984
878
13
642
626
580
519
116
750
888
337
718
316
534
890
938
143
639
50
564
561
468
679
468
314
786
158
336
718
506
509
894
174
26
246
447
401
716
353
705
201
515
609
932
86
489
57
449
896
507
545
359
362
885
170
203
664
2
893
904
197
347
785
970
135
460
164
448
886
487
339
496
206
878
819
802
558
847
593
256
302
791
557
447
396
830
232
584
653
976
665
366
964
210
816
196
584
943
793
875
281
903
10
585
96
475
707
522
540
935
325
30
260
803
872
451
621
762
810
212
189
191
935
832
777
390
416
672
611
999
452
211
156
950
974
587
313
513
431
910
48
674
9
630
964
99
521
831
986
428
835
877
109
481
940
280
124
246
644
4
330
193
473
666
510
527
549
277
863
506
101
207
166
827
776
57
171
381
129
984
110
422
481
813
265
246
860
974
716
68
875
884
770
652
173
915
65
625
640
480
25
110
565
120
166
492
821
649
721
652
515
604
208
996
666
216
855
922
223
134
225
200
110
912
25
853
83
72
822
771
869
203
313
218
447
111
867
852
347
535
308
616
538
286
270
117
812
3
9
694
569
856
272
414
551
670
646
645
417
930
865
701
957
27
679
297
432
950
251
174
757
333
503
336
199
389
482
779
846
829
617
461
360
278
666
531
415
51
288
527
799
436
404
306
350
743
973
983
800
501
329
50
97
102
19
133
987
132
908
563
454
344
415
52
142
1000
897
291
999
830
605
182
232
424
88
807
103
242
651
917
216
767
253
900
747
542
238
742
477
959
417
442
591
711
319
697
959
756
871
478
2
492
398
248
329
599
549
197
8
648
734
842
764
190
680
715
367
443
976
714
184
143
856
846
231
365
6
734
6
328
902
292
91
308
5
352
777
764
205
921
972
711
14
937
234
187
389
57
83
384
507
71
654
641
477
969
373
28
749
583
550
719
947
968
715
656
953
385
70
307
315
810
651
440
514
412
656
949
143
305
935
689
833
206
818
200
620
329
298
971
497
955
83
569
103
653
176
601
847
34
476
926
277
272
327
995
194
350
89
485
803
152
568
619
202
41
589
718
630
577
73
525
210
323
739
826
339
521
948
716
522
554
265
617
182
716
39
823
911
793
655
911
695
349
174
830
881
426
711
845
43
558
302
848
444
637
950
666
489
154
238
162
434
803
180
900
614
249
960
42
624
88
827
2
219
711
682
66
176
794
856
842
7
619
137
933
179
286
362
655
488
155
809
7
306
518
160
303
705
599
33
85
858
472
962
976
720
351
204
115
704
65
976
688
961
168
530
872
907
319
994
179
866
29
46
808
27
840
316
95
433
308
845
584
404
919
92
549
597
191
728
8
910
800
898
435
560
488
737
371
960
907
647
104
484
295
273
431
791
96
156
263
175
162
760
509
283
228
956
218
669
698
55
465
839
600
174
815
854
791
73
510
100
60
568
698
523
869
318
127
500
829
51
748
509
877
296
554
952
363
287
815
791
885
997
601
158
766
182
96
714
529
919
758
344
593
362
800
726
678
336
860
405
72
970
924
269
33
760
776
762
45
350
292
715
562
816
872
426
195
469
192
507
957
976
232
53
345
150
240
885
533
871
880
1000
876
443
329
839
260
123
483
666
591
724
771
206
827
918
277
612
540
356
11
27
938
769
214
261
636
981
506
578
257
176
549
174
94
790
648
712
672
152
371
177
9
345
838
406
815
796
810
869
609
783
73
666
7
400
912
263
993
495
664
165
48
781
415
599
404
596
945
289
548
789
911
577
335
785
81
451
697
218
155
552
20
408
355
845
675
559
472
442
110
832
527
21
111
306
537
380
589
431
141
931
275
782
990
372
224
791
891
328
926
678
641
490
102
956
406
690
995
773
240
356
64
794
72
29
521
535
63
950
66
824
749
259
522
563
794
5
792
74
501
997
732
77
440
506
55
818
699
957
366
913
277
69
783
258
113
315
350
730
54
215
662
489
855
710
683
382
949
809
708
340
283
753
872
677
19
187
343
899
238
212
597
950
121
736
762
831
216
243
39
195
555
948
648
797
347
333
558
682
907
217
533
579
292
837
627
283
837
906
357
717
418
254
211
957
799
435
24
769
870
650
19
100
928
438
8
501
399
848
288
731
585
223
309
601
55
303
45
695
298
89
313
752
124
795
13
366
89
250
343
135
906
337
583
545
420
382
976
707
201
940
538
501
252
83
406
822
622
133
443
391
951
741
405
42
96
383
890
475
35
601
704
206
165
806
9
875
992
33
812
99
941
815
936
802
666
280
604
300
855
600
153
477
938
212
213
38
530
584
877
197
707
835
22
141
415
255
929
253
395
593
825
415
37
4
753
654
464
729
444
21
974
882
517
876
697
219
351
694
934
403
467
71
217
49
107
888
527
809
956
473
491
861
661
167
617
409
838
926
797
234
809
434
352
926
135
769
910
116
372
822
240
967
164
511
978
181
879
345
886
16
554
27
831
128
821
617
253
608
808
208
219
199
773
240
554
566
362
291
706
417
925
690
153
444
301
318
219
339
835
774
63
583
157
428
482
322
447
997
937
408
473
946
824
582
685
426
638
880
57
472
106
562
151
867
764
228
92
428
748
386
763
458
735
367
545
770
99
402
348
990
321
644
531
819
636
106
514
551
693
812
577
426
729
941
344
326
402
360
948
921
961
769
713
617
854
612
465
550
250
6
277
445
189
233
494
371
243
717
441
285
636
31
27
800
738
165
849
788
743
206
32
274
111
609
204
565
64
441
504
734
995
347
458
357
197
473
879
889
689
291
694
189
256
46
754
459
45
582
217
326
165
386
70
866
816
26
697
122
370
593
207
76
707
353
372
87
848
598
638
534
605
591
645
758
506
574
96
434
753
54
610
210
355
948
412
737
822
730
310
279
60
414
454
681
148
71
773
838
727
579
843
723
606
478
147
703
48
149
380
114
867
972
451
5
166
797
339
585
18
846
780
102
870
94
79
830
799
306
980
377
980
172
625
752
922
366
127
490
48
991
166
683
234
528
331
923
723
369
625
27
696
4
682
899
406
158
744
37
427
519
393
9
50
225
354
683
285
933
426
121
219
116
748
819
749
237
157
419
778
560
344
103
67
668
895
630
811
207
61
377
916
971
281
801
652
228
75
473
71
74
888
178
115
703
897
634
804
708
563
40
318
904
933
28
18
720
316
567
686
901
960
46
342
120
803
56
8
113
191
348
688
115
704
100
674
708
861
863
990
660
557
526
423
995
499
201
132
293
827
203
255
207
318
182
296
268
290
35
331
308
402
441
208
268
2
727
13
727
612
312
41
198
425
153
369
169
378
456
947
853
511
420
789
881
825
931
459
453
776
933
551
36
886
666
259
338
684
82
473
112
339
547
42
331
888
340
986
426
946
570
466
535
115
891
271
210
109
764
430
595
768
101
300
871
732
849
164
684
525
408
911
333
202
837
875
741
503
488
266
612
680
15
925
723
772
751
318
2
109
45
797
894
284
518
142
535
629
112
324
423
505
455
244
595
324
347
918
806
315
87
216
841
465
967
802
884
960
498
348
824
693
850
469
475
123
521
56
955
799
496
859
893
404
13
244
701
37
578
998
871
761
60
968
175
153
555
81
651
721
163
998
492
535
32
242
281
400
769
164
558
178
845
496
357
643
704
583
164
386
63
592
764
826
363
133
547
377
371
765
157
128
716
795
810
233
538
633
220
321
475
719
831
858
939
705
962
376
12
123
575
867
309
272
573
444
834
409
945
604
223
639
616
999
727
76
559
685
980
947
563
209
878
328
114
762
865
87
947
827
573
466
215
432
984
413
660
151
290
436
828
451
139
279
158
863
280
152
736
705
448
612
584
789
961
440
659
589
656
12
103
882
708
739
921
730
367
134
939
988
876
905
813
241
626
322
910
176
133
733
44
904
579
744
461
709
431
76
927
988
166
507
477
934
214
650
197
610
36
506
386
657
668
909
596
813
166
970
330
786
128
592
632
803
877
978
418
323
942
806
144
3
199
395
336
969
394
769
583
861
809
998
822
921
514
557
131
581
983
760
792
652
854
487
82
210
276
544
123
718
565
989
99
748
894
679
367
906
349
84
264
216
942
180
923
261
139
825
55
847
36
573
415
806
556
330
651
843
961
587
329
994
513
246
196
349
349
182
143
194
510
784
938
593
565
669
496
775
489
663
366
356
282
897
150
571
298
602
756
199
433
748
777
787
117
196
759
124
505
436
825
647
426
311
930
599
379
335
998
335
335
355
351
108
179
341
110
25
371
29
720
676
827
987
334
53
47
436
580
20
274
817
124
537
799
651
555
268
596
745
308
989
116
119
758
417
438
395
153
719
961
492
753
948
481
654
394
95
789
774
723
296
918
933
505
936
771
878
731
69
133
867
744
612
42
972
229
221
31
446
719
643
52
205
199
586
750
823
518
840
361
708
576
458
684
267
651
302
461
948
847
142
52
20
337
814
439
827
973
641
446
40
908
437
591
128
20
927
77
859
337
366
298
159
150
446
675
54
164
328
748
740
875
803
256
74
350
89
350
859
694
792
189
393
816
864
901
636
537
201
308
246
689
686
865
454
635
63
990
430
528
26
312
358
733
288
426
898
49
222
383
102
766
841
541
153
117
522
339
442
420
900
261
666
22
769
537
553
199
666
94
813
317
67
915
667
902
750
219
63
724
940
811
314
662
315
563
416
896
807
206
764
927
400
543
317
35
824
721
534
37
96
456
541
647
380
941
88
288
507
708
792
956
814
918
78
630
666
350
989
732
136
915
740
392
835
614
494
574
825
727
324
681
865
425
764
894
985
178
648
338
538
75
158
143
415
599
159
618
74
537
896
32
405
392
104
965
216
111
412
779
292
998
680
542
588
359
577
642
85
861
265
403
232
549
535
267
718
209
112
455
512
53
149
613
713
746
100
602
807
410
281
479
315
576
420
721
672
9
409
897
411
950
301
354
381
607
301
914
753
661
139
273
52
125
756
534
318
177
652
303
744
444
633
838
839
832
905
52
245
144
662
545
808
672
348
442
433
409
784
548
507
775
195
187
426
536
985
182
863
134
783
602
908
773
892
247
186
434
771
411
345
434
599
55
80
304
278
419
984
492
465
28
81
875
340
219
836
125
875
603
833
731
285
306
47
901
207
475
836
577
908
262
353
579
478
444
75
212
533
896
527
716
426
379
93
643
353
479
14
546
3
83
279
407
638
485
150
839
522
61
455
450
695
466
677
689
945
480
34
134
671
960
450
452
55
816
328
209
582
587
527
274
492
986
777
834
176
711
63
928
901
961
174
965
478
323
687
913
666
140
174
717
158
38
280
26
987
8
644
508
57
353
344
854
276
832
646
81
510
545
371
903
106
440
117
727
306
882
901
321
220
323
534
305
415
13
185
412
316
606
125
873
837
701
640
410
611
635
416
25
192
279
511
212
421
224
179
261
905
489
416
31
235
802
63
974
109
585
716
173
35
7
484
887
627
850
858
401
842
481
542
11
642
926
147
583
725
890
53
481
918
591
597
592
772
434
962
816
700
886
806
656
741
379
715
478
627
736
16
623
408
364
369
765
306
456
794
840
821
513
512
418
382
783
9
611
967
621
275
480
231
346
21
430
586
930
999
272
641
692
271
465
115
268
348
553
86
286
689
973
9
562
933
193
456
117
600
635
920
13
729
952
374
808
48
984
474
428
856
190
434
374
724
413
639
501
505
593
1000
24
912
453
911
47
78
237
412
647
140
280
827
470
825
596
727
888
452
663
515
970
548
295
338
936
482
808
293
276
154
715
106
449
758
800
547
911
122
770
856
235
902
611
372
269
180
439
351
592
666
867
720
7
731
891
106
459
969
847
41
546
860
275
671
761
361
402
660
678
932
519
218
600
597
771
363
560
115
705
570
181
242
488
956
611
363
874
24
627
481
839
759
88
663
315
587
61
565
579
290
348
592
696
476
622
561
863
621
76
501
605
12
286
346
606
145
996
853
328
262
654
1000
713
747
832
534
971
42
97
45
904
603
542
185
222
143
893
187
77
116
92
843
368
905
266
506
427
714
289
463
376
484
461
252
767
492
446
100
139
438
249
681
769
960
898
820
196
498
519
609
74
357
629
627
532
620
832
609
482
292
550
967
277
701
99
14
679
683
172
602
382
562
769
178
202
249
717
909
621
63
169
641
611
28
918
907
478
461
902
147
64
666
45
551
773
380
434
679
757
470
904
117
95
2
273
941
933
455
857
700
381
340
382
955
424
874
102
146
216
718
722
716
922
977
761
965
692
803
65
62
448
981
524
20
913
816
477
193
716
487
880
47
460
788
115
522
357
843
196
310
420
951
227
762
202
171
183
928
793
665
505
458
88
79
486
700
371
457
187
352
891
255
446
448
416
56
544
291
744
470
299
205
718
541
654
578
644
702
310
783
867
940
609
956
913
381
643
528
822
931
541
648
204
991
962
315
109
468
120
130
33
517
46
70
224
480
411
550
19
476
928
396
83
983
248
995
308
516
340
72
590
227
494
999
875
828
473
507
669
748
866
3
673
861
318
417
327
418
188
658
824
59
126
313
589
884
235
175
315
640
738
562
385
980
558
131
914
625
808
108
723
6
931
411
240
627
203
124
724
955
318
218
223
120
75
162
360
78
507
318
390
198
400
606
965
389
797
950
689
39
980
455
868
967
394
71
817
581
200
770
710
183
401
882
243
136
40
308
295
204
546
774
401
936
125
155
45
391
58
165
743
853
826
413
394
456
312
858
624
768
679
233
711
486
156
884
211
341
655
751
570
203
58
984
890
167
33
722
459
74
464
161
863
551
907
909
259
124
21
980
900
393
589
527
72
576
546
538
450
924
443
287
231
683
901
286
574
278
892
844
572
352
157
119
394
143
649
706
312
434
693
422
29
968
416
893
93
795
135
986
222
483
585
905
45
520
260
979
101
498
706
802
939
877
278
388
809
237
745
434
764
891
134
624
925
692
389
139
312
653
707
192
916
723
941
444
601
718
73
629
56
907
546
581
218
216
218
110
527
372
792
866
916
524
836
417
655
93
942
234
47
624
126
191
495
404
324
493
655
512
712
630
212
701
633
92
331
263
96
87
978
583
193
448
131
614
279
212
327
913
418
145
176
190
455
585
187
547
13
549
732
728
904
15
40
705
673
632
873
911
505
910
923
235
301
76
56
681
483
426
214
248
30
932
179
136
315
294
426
879
533
417
970
386
913
511
461
133
436
607
778
972
501
323
18
93
814
126
97
712
810
176
133
935
65
85
418
91
503
546
47
534
666
862
224
559
962
853
850
604
595
490
223
342
840
853
634
649
420
731
143
642
16
205
83
189
348
115
679
326
857
131
723
6
729
516
411
479
913
344
293
400
801
42
797
426
466
677
925
699
692
310
540
89
552
75
114
491
946
399
953
794
366
893
667
346
91
31
111
893
194
660
92
985
25
775
904
800
256
744
143
162
237
346
312
329
114
594
467
726
125
266
476
427
538
482
563
615
942
477
411
668
974
913
517
764
133
672
432
135
4
149
206
164
87
413
638
536
450
505
944
571
561
340
14
676
13
344
767
582
318
4
10
651
589
960
814
94
725
147
659
366
660
757
516
356
347
459
573
256
406
419
548
131
797
131
397
312
427
977
746
675
368
737
565
772
222
962
460
550
213
264
416
105
824
69
29
493
90
328
22
142
232
1000
354
829
950
875
309
461
526
420
770
180
877
934
288
401
826
196
664
437
159
205
496
319
482
351
565
255
504
541
967
935
131
400
646
543
670
625
320
905
531
5
855
695
32
389
795
959
305
110
126
553
854
981
319
241
994
1000
384
330
285
328
936
696
62
943
291
991
349
593
176
623
754
352
956
824
449
83
207
766
937
636
40
198
153
400
841
544
336
170
996
731
282
899
728
284
792
58
374
373
575
740
332
585
458
616
409
135
437
91
497
156
53
748
350
442
557
285
713
756
587
643
236
375
397
980
390
93
196
468
74
258
846
615
741
796
973
987
623
352
525
731
89
826
961
275
253
635
547
937
696
933
673
950
574
910
726
584
434
29
811
619
794
717
522
449
886
592
64
433
21
811
226
972
705
450
127
954
955
170
167
850
321
575
348
747
685
784
957
45
318
745
638
370
546
716
38
493
71
180
539
698
238
158
62
82
466
527
597
746
678
493
856
681
797
796
441
430
270
578
12
295
164
117
190
923
573
751
359
612
955
435
117
551
556
301
833
535
240
497
680
393
910
374
531
463
178
743
341
14
118
575
949
389
735
982
798
10
235
738
688
123
335
944
543
282
599
605
138
166
241
88
867
225
914
408
923
68
767
265
738
251
426
589
102
289
656
114
162
328
138
149
425
885
190
297
949
450
280
350
145
569
874
929
14
225
482
787
154
931
785
831
611
4
367
38
476
886
891
461
149
221
511
396
377
645
957
635
471
876
986
425
611
753
841
404
765
334
939
311
576
5
274
701
470
867
905
270
398
284
462
620
850
617
837
479
211
623
76
441
114
896
27
280
153
48
481
758
232
13
397
645
851
988
266
342
840
41
866
138
407
325
428
574
878
213
736
862
166
357
772
584
861
855
321
127
770
253
375
456
919
51
263
838
285
781
188
101
6
451
250
826
404
368
104
668
922
906
90
618
11
789
89
615
44
853
345
391
612
43
193
785
899
627
992
85
409
205
525
118
999
121
806
922
41
317
537
847
549
481
426
814
249
613
183
310
953
744
320
407
998
622
790
715
243
616
91
736
816
969
734
501
835
798
841
747
376
902
231
134
251
545
546
151
582
858
850
463
704
383
660
372
694
626
559
3
695
152
376
562
241
887
400
743
8
819
293
927
758
202
116
357
754
711
406
848
610
735
319
930
350
121
656
547
424
274
27
549
597
435
474
266
892
338
652
387
224
236
47
217
981
428
776
141
564
33
245
783
799
724
283
926
250
555
427
705
648
777
702
5
71
793
581
247
40
989
822
953
393
190
502
582
677
951
921
129
772
687
965
879
679
918
188
564
676
524
107
830
579
983
175
629
441
989
466
611
844
754
353
98
869
529
388
517
956
577
110
469
105
914
764
742
310
609
769
651
684
354
289
70
453
288
469
391
910
781
723
437
439
16
968
42
939
683
835
622
312
79
726
545
226
194
12
549
987
134
836
736
226
359
719
937
53
787
633
334
490
736
281
284
269
88
72
232
559
784
689
430
759
973
200
958
288
691
384
185
196
963
308
397
512
583
234
755
476
674
596
173
176
282
155
960
666
932
420
266
347
40
77
483
231
546
481
754
736
929
235
633
825
40
503
790
628
803
959
362
155
900
260
160
374
24
451
531
688
123
26
55
823
357
232
653
227
137
765
913
355
730
238
607
622
376
668
441
397
770
748
59
128
73
856
183
576
299
623
584
198
66
322
250
893
208
551
721
707
663
463
73
577
401
255
445
900
886
775
289
497
713
873
811
562
615
536
125
290
989
978
741
200
460
572
904
595
760
920
198
235
399
431
516
29
165
472
243
497
483
546
982
820
77
973
698
519
159
223
474
214
580
427
419
420
16
532
396
82
241
276
406
379
4
438
397
337
846
780
245
987
417
748
421
91
530
239
613
981
209
714
175
664
469
495
847
140
423
361
597
865
566
428
799
350
801
891
226
175
805
400
479
131
868
723
553
730
203
863
214
117
41
21
736
248
527
571
325
280
560
782
288
302
208
121
539
904
305
811
601
570
124
768
645
591
784
177
412
967
190
727
125
804
854
979
588
799
906
418
739
733
967
495
834
337
318
358
321
485
1
54
188
452
41
660
254
886
973
217
420
206
293
344
381
400
176
86
690
545
99
924
321
946
556
834
97
487
100
964
450
619
375
788
953
456
632
576
15
599
446
636
924
640
22
53
136
762
517
606
386
539
252
106
664
754
583
683
609
85
431
403
163
561
186
211
641
972
750
369
472
838
2
447
994
112
841
462
607
518
271
917
507
337
719
372
986
462
855
634
989
766
735
846
209
191
1000
530
512
451
206
122
891
940
78
674
466
234
662
137
277
584
871
111
734
922
876
15
637
180
205
398
612
208
102
492
668
158
969
181
319
954
205
281
400
432
829
382
235
748
599
548
345
942
190
839
203
882
180
978
869
403
201
470
530
123
665
130
30
277
852
307
542
952
30
36
376
237
478
970
800
144
957
258
425
652
199
412
355
836
473
853
844
848
116
33
638
490
216
957
523
173
303
477
865
382
978
945
81
134
902
700
58
516
483
368
498
128
863
151
52
112
551
138
896
534
141
127
94
52
82
652
681
179
392
660
912
946
542
820
552
465
474
490
347
688
867
208
110
657
302
983
926
674
965
740
48
114
853
56
991
51
247
683
173
478
386
453
228
662
848
855
737
93
153
944
740
567
479
281
824
168
188
290
991
296
87
734
772
462
931
47
269
216
724
883
882
501
777
550
508
668
337
5
885
610
827
643
590
766
378
454
919
255
403
9
493
994
412
362
1000
503
117
168
891
7
173
263
223
573
561
468
79
275
705
614
179
794
901
678
325
463
548
399
342
447
940
982
25
696
128
293
391
296
440
480
260
99
781
83
721
806
767
520
633
262
79
302
629
320
140
438
487
515
403
289
906
726
55
548
873
173
916
126
840
371
675
457
883
125
375
162
841
246
232
38
208
436
459
85
206
715
758
645
32
828
532
737
742
301
675
401
633
216
13
144
242
304
60
642
299
665
802
456
55
269
633
848
419
428
401
764
233
567
762
639
870
965
692
991
997
626
46
680
60
62
525
319
505
559
266
559
239
481
546
865
173
225
762
993
938
749
947
549
20
983
539
919
660
12
63
374
786
672
641
323
178
69
981
570
812
565
608
874
50
13
601
308
916
335
59
706
228
89
816
940
751
298
698
924
855
694
736
978
393
447
308
666
634
645
146
264
136
50
513
808
365
112
597
37
742
837
384
634
525
866
834
860
625
32
163
69
995
739
468
606
718
765
678
286
307
425
79
971
997
628
236
794
16
34
165
203
919
378
52
312
64
37
620
30
241
96
511
35
249
490
673
965
980
270
817
107
163
694
444
472
483
624
824
395
210
677
564
679
854
665
105
888
569
139
523
603
238
254
565
304
215
770
674
107
668
703
129
742
363
70
69
13
504
167
334
458
943
68
555
119
667
354
846
93
975
597
803
43
179
830
231
943
955
999
196
120
737
425
508
97
616
424
753
805
312
514
298
528
671
109
515
283
12
201
613
466
418
276
64
251
692
664
596
640
298
554
115
77
61
185
744
215
788
63
331
788
260
640
438
510
228
559
817
602
158
456
810
832
460
280
947
952
858
320
260
996
378
387
456
220
135
143
174
379
760
151
979
627
813
65
634
581
997
277
450
992
312
506
183
18
574
5
55
318
846
547
935
51
428
887
639
408
20
139
587
458
530
391
775
972
816
941
138
346
325
711
889
926
193
775
352
833
876
439
142
852
801
984
278
81
829
995
974
807
550
215
375
505
574
948
509
961
2
386
39
255
198
636
218
750
857
864
585
289
101
719
548
517
986
120
991
625
399
569
413
833
775
383
941
608
450
627
741
977
757
62
980
262
152
145
503
249
777
952
829
74
843
927
884
115
163
501
152
778
938
995
542
346
666
648
346
988
654
300
115
648
132
12
126
735
451
886
414
465
160
438
987
276
30
143
963
917
237
188
813
723
23
57
830
87
66
278
217
344
728
583
911
109
104
742
376
618
496
554
94
766
531
837
447
359
655
749
987
545
139
465
838
517
52
45
130
377
884
322
899
459
615
763
863
501
93
554
831
842
504
628
288
160
551
927
863
384
762
981
983
98
965
797
993
130
538
124
417
58
553
385
857
41
267
971
211
728
722
129
508
988
419
362
706
867
95
143
176
483
677
725
486
537
367
40
290
731
650
947
794
679
725
643
332
826
500
615
16
462
828
359
310
194
86
23
653
131
580
223
900
583
483
578
472
310
185
894
573
219
10
517
736
948
221
120
243
927
103
53
717
397
727
433
236
320
666
379
897
294
536
103
646
380
761
142
544
233
340
617
365
17
739
303
583
417
236
203
338
429
189
519
942
756
728
167
851
357
308
442
791
105
431
65
904
563
562
577
370
622
967
979
953
101
744
606
296
429
784
414
601
241
809
303
565
43
892
586
1
91
69
454
648
296
751
129
64
285
645
407
360
674
808
473
733
291
270
170
443
305
401
433
904
193
801
175
20
52
47
763
779
8
76
128
358
394
320
699
704
889
958
569
607
90
843
767
796
784
687
48
456
795
95
365
909
387
902
62
856
115
50
894
737
463
955
137
265
788
879
462
110
884
366
713
71
962
185
421
775
942
538
718
122
760
543
262
223
790
101
977
548
614
303
637
360
85
491
851
288
52
906
530
61
163
634
756
8
900
211
839
932
327
833
441
333
122
547
896
802
90
247
191
558
733
508
694
772
441
553
331
290
503
700
836
851
480
658
685
663
412
956
475
498
989
590
884
81
56
731
773
600
790
907
668
645
463
687
641
709
947
259
562
705
30
696
781
574
173
951
604
197
535
744
299
268
1000
634
978
706
426
487
412
479
556
468
731
420
854
443
14
734
26
397
949
404
151
49
128
644
138
367
41
876
713
82
497
438
241
634
33
395
485
185
857
356
819
499
999
161
526
470
641
699
526
94
51
824
337
451
148
584
53
86
498
503
926
794
434
695
437
403
104
926
812
615
454
609
623
350
557
871
418
318
225
464
374
735
572
335
574
215
17
42
850
848
251
107
76
409
860
563
445
439
606
665
509
689
870
733
720
19
385
583
798
405
177
862
491
129
602
862
188
592
458
82
440
431
403
870
609
801
367
988
792
721
174
817
638
393
360
238
921
247
35
929
514
280
698
914
951
934
104
761
905
352
640
701
686
382
186
320
400
71
100
184
454
749
784
918
919
986
292
806
699
882
558
939
498
137
116
297
396
319
652
938
170
607
321
616
628
1
514
759
882
694
713
719
899
842
110
587
668
451
915
694
28
486
680
108
527
573
463
57
691
888
427
221
718
885
247
286
953
572
782
952
422
898
577
860
370
681
142
518
990
194
380
384
491
184
227
705
222
608
313
578
841
846
445
985
389
457
793
195
725
842
918
58
959
306
238
160
424
102
51
732
226
996
11
493
623
778
807
326
304
940
861
795
148
421
59
19
194
913
861
377
351
755
689
817
875
822
126
302
713
140
303
70
638
209
826
918
512
100
731
713
101
465
262
661
626
530
688
654
633
983
25
197
811
434
246
984
131
770
511
189
24
323
19
942
357
213
304
246
646
620
194
806
300
31
206
862
659
697
812
129
266
618
929
377
127
409
933
13
643
281
715
282
566
217
596
325
573
109
410
406
15
299
699
56
957
462
756
785
911
229
208
219
525
311
926
275
91
101
332
992
917
932
565
196
502
219
566
9
979
675
865
568
454
702
735
985
744
808
433
731
492
624
442
103
785
672
981
415
235
553
570
830
921
631
105
537
740
601
714
92
462
563
663
301
247
347
703
994
460
870
543
384
365
251
608
488
680
257
813
263
55
413
868
684
223
757
550
994
964
804
437
732
43
749
845
977
973
317
93
423
786
953
763
522
10
260
314
977
670
640
289
256
487
162
343
654
366
547
500
678
925
983
365
137
77
236
516
420
605
111
914
861
285
884
977
990
331
757
925
700
861
738
72
81
630
598
61
709
499
732
391
717
974
798
221
821
686
1
122
810
860
759
364
705
662
273
354
907
822
220
49
177
68
388
516
203
716
567
336
876
257
430
208
93
848
462
935
94
459
197
962
841
794
169
762
969
265
25
684
141
976
169
282
444
136
173
811
644
340
942
286
672
892
275
441
735
711
32
11
810
389
603
964
119
655
740
725
348
843
106
959
16
944
83
189
424
506
492
380
8
927
861
632
793
650
814
295
857
431
952
139
368
68
322
706
820
980
214
590
519
549
550
208
285
449
573
549
552
34
892
520
765
461
199
749
43
406
139
144
552
125
853
60
955
131
737
682
587
941
786
96
710
196
728
580
343
947
797
845
643
53
638
304
775
454
309
970
522
536
775
242
633
942
589
680
46
945
704
828
689
949
460
308
502
761
857
675
690
38
130
998
16
699
541
722
66
175
996
136
59
56
820
682
719
96
536
434
147
551
6
288
424
496
652
794
893
139
761
128
653
124
85
360
866
471
34
78
866
119
754
400
899
993
332
601
583
158
134
903
797
862
55
436
769
260
50
53
607
151
889
443
346
326
479
955
887
52
492
635
878
732
241
275
634
24
964
640
737
586
683
673
812
97
837
147
285
451
720
189
653
795
573
76
889
638
854
963
142
375
813
511
810
385
19
939
389
347
856
652
275
515
384
454
784
483
117
320
271
408
461
842
131
755
545
766
873
346
143
463
187
940
242
824
152
598
526
787
260
818
770
658
963
795
634
442
824
187
886
641
165
449
413
362
300
152
694
119
76
682
596
422
440
385
442
87
206
513
317
229
992
325
478
58
582
271
573
935
566
518
65
613
203
971
911
233
880
551
83
441
429
740
939
933
809
297
826
858
363
619
536
747
920
424
399
86
517
323
873
193
407
363
449
818
313
796
595
758
613
215
211
823
230
634
800
706
557
287
126
626
632
722
656
192
148
213
491
521
598
654
784
559
8
881
914
444
279
773
764
976
76
613
526
472
613
911
378
804
429
300
220
968
418
173
455
338
989
466
381
643
189
321
430
816
41
448
862
51
135
622
982
846
737
168
186
292
262
213
356
636
22
187
212
935
550
339
247
684
645
10
761
441
535
26
351
807
183
845
926
595
824
38
937
670
266
270
72
721
375
185
77
195
409
522
749
703
561
327
369
506
144
359
18
73
345
649
295
298
370
704
913
696
100
35
545
773
96
524
52
813
884
638
958
546
7
668
603
466
212
960
907
157
523
589
128
570
637
35
265
88
283
197
14
159
680
547
307
424
228
260
493
569
918
961
163
566
704
93
491
584
278
995
679
620
265
471
792
798
830
31
814
379
107
984
245
744
648
277
918
20
297
285
24
522
519
780
517
934
227
943
155
974
567
603
467
310
982
849
819
666
81
771
584
387
520
398
153
191
110
794
117
508
874
889
549
568
608
871
679
370
768
852
684
761
206
90
500
124
348
271
771
580
880
213
106
208
943
893
762
482
94
882
802
61
35
98
507
51
202
321
560
123
852
16
91
171
166
869
180
746
287
870
846
156
887
924
837
930
38
735
779
371
708
140
380
10
160
183
389
98
879
937
991
713
462
506
135
673
39
685
70
197
406
491
18
172
25
119
461
999
450
942
38
146
538
829
376
16
1
409
498
194
491
910
643
915
409
836
400
382
70
91
123
633
678
74
421
784
820
942
428
834
812
480
204
657
304
972
288
497
988
48
962
25
136
724
193
6
957
784
621
699
431
167
160
404
378
281
991
977
993
6
750
688
987
702
720
579
766
702
697
307
788
623
996
555
368
318
750
248
691
453
252
206
754
498
607
352
269
379
353
275
300
181
46
767
564
45
13
939
870
861
619
663
117
424
418
359
667
498
515
628
643
596
300
815
906
394
473
361
34
366
956
702
621
623
832
589
609
965
937
885
160
845
112
319
797
256
405
208
152
596
707
850
662
175
394
164
17
366
582
162
961
355
464
985
306
67
70
602
660
139
479
701
425
711
137
995
67
445
516
903
547
384
727
572
35
187
115
256
762
850
56
382
881
200
389
17
759
362
958
48
972
897
705
87
604
517
660
51
143
95
943
355
398
231
582
898
362
724
566
362
884
177
44
848
346
379
986
562
284
253
975
75
20
924
962
672
942
924
8
419
25
590
33
918
540
518
548
113
677
294
202
164
977
801
704
139
70
123
384
211
175
420
177
104
239
195
331
786
389
47
480
775
560
351
45
976
810
299
95
675
818
390
901
146
514
771
438
385
611
795
976
597
54
767
738
440
27
172
321
483
257
551
198
966
750
842
167
772
14
209
50
454
51
303
293
249
120
455
368
322
305
520
57
845
463
953
745
141
986
243
825
810
120
997
218
690
311
819
775
493
142
627
22
222
943
192
332
756
107
510
70
589
449
65
714
286
710
180
244
126
427
419
316
327
971
448
883
420
484
843
946
602
838
88
66
389
482
403
125
446
248
113
557
288
741
972
957
412
950
230
529
545
109
270
300
877
621
310
432
581
91
30
224
422
108
943
604
998
450
31
2
984
809
426
507
775
959
932
115
84
535
752
693
390
242
123
16
610
358
436
855
980
851
55
630
966
293
271
593
957
44
744
845
569
823
329
749
723
900
418
467
991
599
793
414
362
730
502
383
249
845
471
998
476
934
410
925
27
283
39
948
535
751
846
664
830
621
383
988
413
560
568
133
358
901
593
6
981
670
820
205
613
274
453
926
913
771
908
122
502
981
513
204
97
466
596
418
968
610
64
795
295
571
307
213
904
918
612
709
955
101
323
617
387
773
661
519
296
118
436
252
982
18
920
440
94
868
773
95
156
300
230
829
784
888
737
169
49
180
821
232
789
998
281
789
142
57
714
338
213
361
963
372
582
723
361
448
305
40
498
32
183
585
846
326
314
719
757
469
373
866
238
553
654
517
431
873
607
330
917
727
519
76
792
831
24
337
966
147
323
340
296
494
348
270
959
827
637
712
950
473
323
643
713
953
501
500
667
203
189
440
863
168
255
841
66
782
971
475
314
260
294
526
420
501
607
846
920
158
381
390
709
567
174
758
965
322
422
214
988
748
741
281
282
891
831
296
524
944
608
849
86
224
909
124
411
897
967
526
860
668
846
833
619
555
233
376
867
691
265
351
685
812
586
451
135
730
450
446
504
615
479
226
981
366
643
57
920
679
133
514
410
700
55
616
85
296
297
173
982
35
501
279
786
981
787
147
968
226
786
231
199
936
566
651
874
319
240
507
774
573
404
541
678
334
62
992
213
589
367
177
353
313
337
530
746
326
663
326
507
988
906
326
161
401
623
909
230
691
459
48
294
858
818
640
471
359
498
325
941
315
598
858
531
761
77
557
394
851
568
103
508
296
457
205
58
621
761
240
765
984
57
8
863
441
544
174
770
510
375
779
418
821
513
469
872
440
743
724
120
197
903
409
855
959
80
453
676
339
279
306
353
762
32
99
740
181
535
114
451
946
138
246
631
558
458
637
63
23
931
557
320
587
390
890
911
421
98
319
175
688
746
409
192
74
110
286
133
467
414
571
260
986
967
536
289
970
311
203
914
849
934
239
91
32
596
62
114
117
435
532
595
709
338
954
214
118
489
907
509
42
630
568
39
84
326
810
953
635
438
315
392
206
97
358
166
775
696
717
825
82
798
356
611
108
417
165
744
161
820
48
169
78
844
76
195
67
769
265
410
643
907
764
910
884
441
902
116
997
500
570
430
803
98
902
534
274
366
51
412
712
453
164
62
499
581
285
429
612
988
66
312
245
937
583
857
963
518
512
784
762
721
170
686
330
135
687
572
539
671
625
317
935
925
951
849
561
121
137
703
979
117
534
48
733
614
880
391
860
533
970
981
222
496
48
319
630
516
444
330
691
256
364
434
321
699
469
227
673
649
103
471
992
282
578
876
581
845
930
471
621
702
955
429
64
153
120
877
193
836
181
566
735
63
930
278
609
149
512
492
476
646
210
147
273
407
381
307
830
567
523
144
467
871
35
953
210
239
344
822
889
108
490
197
910
888
132
812
951
807
234
357
162
539
322
831
718
258
336
729
731
203
544
83
587
378
913
922
770
783
623
885
76
432
108
554
947
461
146
612
332
846
14
20
57
591
666
283
234
754
226
291
625
375
822
369
182
167
929
943
240
822
952
660
954
928
725
886
587
781
977
277
242
823
587
483
439
53
611
145
718
510
662
30
89
857
218
531
756
154
804
802
952
167
832
456
174
912
44
115
336
701
174
87
590
666
409
114
621
555
698
416
286
647
769
253
318
784
964
831
668
839
636
657
776
428
912
394
691
318
94
839
487
755
803
919
876
913
283
472
266
750
915
175
761
835
116
167
764
113
259
799
915
171
148
481
67
279
901
754
875
381
782
593
374
246
654
404
611
204
228
367
973
217
227
555
397
604
905
756
23
328
104
22
186
665
189
753
871
985
717
577
863
561
711
345
892
580
712
341
983
17
605
183
95
599
357
966
867
888
401
916
976
398
396
175
150
761
473
403
367
168
892
512
167
718
233
260
253
843
871
357
778
660
486
442
815
1000
809
570
488
831
622
828
174
988
268
314
1000
444
584
1000
575
827
223
914
534
543
763
697
4
639
901
817
546
509
275
624
475
634
150
4
709
837
270
595
475
912
679
406
252
102
218
199
302
613
680
193
45
230
336
469
288
173
662
988
27
496
585
231
148
718
539
351
837
875
915
116
934
846
259
117
782
647
683
432
342
345
552
414
479
406
418
347
355
581
573
445
809
851
356
107
462
616
500
368
21
24
433
221
937
284
393
851
124
875
644
846
928
782
860
145
915
308
963
813
328
515
324
741
259
89
227
5
680
238
957
957
485
282
686
46
595
745
568
32
16
80
122
503
433
646
1000
552
590
206
727
65
212
977
844
307
681
251
161
405
20
683
510
891
5
614
461
667
376
232
960
643
188
920
738
817
315
888
654
755
3
84
824
276
160
398
517
622
744
391
315
577
234
135
961
782
644
254
653
977
994
940
275
11
412
531
213
247
324
211
940
420
276
565
537
93
982
977
647
621
145
318
160
906
431
10
93
312
734
257
697
817
548
215
845
843
789
891
116
243
948
841
816
609
758
88
376
395
913
257
173
355
530
582
859
453
152
348
702
702
104
303
257
357
908
760
960
511
302
435
856
432
115
546
734
884
879
334
391
299
619
966
637
903
662
717
884
775
699
464
872
437
564
744
156
723
357
93
465
593
602
916
935
67
140
908
540
646
262
904
727
413
467
92
399
533
842
727
888
991
703
837
501
238
636
911
566
880
470
258
602
652
57
525
442
716
930
844
632
744
73
244
437
341
31
221
102
117
577
828
830
103
958
261
87
289
535
660
437
760
263
780
95
278
40
249
798
202
431
371
362
314
633
824
542
437
860
120
388
783
498
434
347
557
488
237
749
708
400
181
184
643
569
874
495
370
482
490
758
803
330
636
687
886
272
563
336
813
486
567
865
836
529
400
373
68
877
621
507
272
778
42
623
785
687
903
770
677
658
928
655
684
2
179
73
726
435
508
951
592
691
436
321
913
308
509
13
681
845
517
813
387
352
497
154
301
260
86
145
578
233
632
898
600
714
454
651
440
39
756
164
411
18
31
192
396
852
210
666
92
68
425
328
318
924
35
195
291
418
456
195
123
559
431
716
830
74
604
619
819
79
636
455
179
530
667
275
74
482
611
394
213
259
635
947
658
648
181
868
223
165
68
183
318
215
521
163
375
730
479
892
938
487
134
321
81
831
503
697
53
986
715
549
992
489
872
85
53
509
550
931
563
17
457
653
659
803
335
355
396
320
903
10
507
234
569
831
831
320
627
128
917
41
911
639
479
765
194
195
174
54
146
968
650
888
347
268
919
993
652
973
909
675
202
290
467
691
519
438
181
710
387
250
139
880
713
456
142
853
134
555
945
377
917
818
835
228
606
905
189
812
966
12
729
267
968
228
840
232
1
38
671
787
975
470
744
214
747
444
437
355
99
294
11
348
553
260
850
412
459
993
154
196
98
770
657
908
83
152
826
91
894
281
636
424
261
884
218
398
995
321
624
34
12
668
466
94
543
952
447
378
939
104
641
775
61
106
928
704
987
129
156
470
618
126
462
844
872
500
670
852
279
955
835
386
211
589
825
730
471
612
273
512
603
793
396
925
174
925
901
252
200
113
685
897
61
658
90
133
531
697
242
729
4
481
391
471
593
406
245
344
570
452
1
789
484
693
122
55
424
937
999
90
94
352
244
825
753
140
772
1000
635
943
774
832
146
678
367
984
9
931
6
224
527
866
710
157
301
850
770
157
84
644
905
400
911
42
737
499
298
328
71
793
90
762
709
789
490
587
415
580
908
716
226
343
528
359
515
179
919
319
70
596
576
594
6
957
33
226
492
52
43
26
123
761
393
948
259
463
123
385
826
450
238
586
841
89
568
740
448
918
52
1000
318
154
584
875
78
326
507
953
858
870
13
901
136
565
969
33
816
630
169
508
850
150
585
413
823
245
993
547
584
74
227
734
414
327
420
861
236
318
810
674
52
193
83
537
151
42
748
999
609
891
779
19
264
670
572
144
660
223
313
740
426
375
988
639
147
867
636
213
122
686
873
905
261
975
405
751
39
218
1
248
620
846
373
236
186
762
506
85
76
543
243
627
530
210
355
704
730
573
890
122
349
74
349
121
988
987
86
143
762
571
424
817
741
508
127
598
147
516
268
421
4
566
13
59
390
522
532
628
589
341
62
808
193
224
136
915
653
175
114
917
877
540
469
842
188
976
713
794
404
184
465
2
810
478
914
854
563
940
865
913
396
455
614
267
535
418
148
398
439
268
536
932
287
293
929
273
163
354
287
127
510
256
821
367
769
515
104
490
53
172
51
201
357
128
205
269
56
184
331
857
392
633
883
15
252
737
768
844
761
916
732
143
133
784
823
23
786
449
657
33
937
641
594
871
748
301
561
602
674
243
938
652
770
380
847
520
639
780
209
285
134
529
140
499
117
958
621
973
372
319
866
327
247
369
516
872
701
683
581
572
242
711
48
374
641
723
210
137
428
847
60
791
902
319
561
86
807
933
166
497
865
413
793
425
102
120
311
820
239
50
708
751
487
548
337
247
732
579
16
954
468
636
305
735
814
594
982
403
611
900
611
177
905
495
75
276
83
785
157
337
564
781
538
968
204
259
96
782
527
433
5
763
482
140
929
632
659
8
576
176
821
414
956
177
156
294
971
655
866
21
370
641
591
659
688
564
696
844
506
677
617
438
283
623
321
901
8
363
426
982
183
232
677
971
941
769
285
229
665
355
103
136
117
386
738
914
909
883
471
997
155
976
296
775
251
665
467
529
38
632
717
374
55
621
687
827
194
117
178
392
821
615
548
230
369
757
956
511
450
24
180
560
808
466
413
257
783
159
792
460
517
687
407
399
842
987
194
80
625
299
420
782
381
808
440
580
112
805
21
702
672
832
810
216
431
336
468
187
652
814
561
973
784
281
556
791
833
190
190
992
72
587
14
783
616
374
134
280
804
43
67
816
914
151
128
449
460
78
963
464
206
347
685
449
93
895
568
233
443
182
391
563
197
980
358
899
434
4
975
128
84
283
373
301
605
318
373
734
318
637
996
941
296
285
230
886
956
198
607
16
958
122
545
361
632
975
466
733
922
80
434
763
729
730
399
22
630
911
199
996
192
820
116
28
452
30
166
659
718
764
251
964
514
756
6
589
370
600
445
216
159
349
486
51
860
320
73
804
942
746
864
304
47
947
419
552
309
164
379
538
393
40
408
598
348
30
550
420
418
692
215
95
258
870
240
728
406
313
324
222
429
121
677
823
903
753
892
860
286
14
919
945
749
558
479
561
279
972
442
564
686
423
484
660
673
189
815
281
806
132
873
651
27
320
687
16
349
543
21
179
510
455
512
470
636
405
763
282
450
806
750
99
137
80
973
726
750
776
478
94
969
456
264
555
83
353
626
94
319
594
629
220
996
976
307
631
574
936
121
897
317
328
920
540
178
96
888
863
528
715
15
824
483
558
156
34
974
958
105
711
107
810
986
35
69
985
886
890
584
741
891
419
889
529
584
172
312
322
644
883
790
629
368
52
73
897
852
617
963
845
49
923
643
624
146
126
48
371
520
915
271
861
42
152
216
464
638
619
26
559
838
564
368
874
511
161
306
962
93
305
322
195
398
379
12
152
554
794
163
312
669
89
156
252
591
368
131
374
548
671
941
339
474
636
690
966
580
477
555
358
85
866
689
404
41
780
220
594
893
757
743
335
740
278
262
503
261
219
235
62
927
361
208
947
436
13
587
270
255
656
199
149
796
378
689
84
17
572
222
893
180
994
632
627
93
840
943
801
393
907
138
512
347
287
151
705
213
272
340
936
388
324
89
448
482
26
793
310
948
898
186
632
116
862
873
594
293
889
970
147
107
108
951
760
407
190
163
498
868
385
984
76
884
963
249
259
480
141
433
113
740
803
17
191
684
444
634
667
616
808
863
821
714
635
21
20
54
777
854
550
269
701
860
208
828
46
840
569
239
497
370
230
520
677
128
148
3
163
379
369
804
10
474
99
377
358
923
53
144
799
442
458
554
178
418
934
871
431
365
684
611
856
303
101
831
960
456
934
415
632
302
616
70
954
821
219
19
378
699
790
265
372
404
466
863
862
265
877
854
992
126
825
385
759
738
116
73
91
738
739
848
765
2
283
354
404
168
593
489
439
346
202
802
557
368
992
306
623
468
866
690
511
934
967
71
572
99
110
194
708
29
658
402
131
404
11
826
943
363
279
970
601
556
427
256
182
257
411
189
132
109
368
493
815
67
927
941
779
92
115
637
97
472
100
205
561
945
268
641
739
414
693
642
157
706
138
807
917
688
81
486
93
84
176
961
164
476
711
309
525
324
351
528
895
320
442
509
3
993
654
945
551
331
576
590
806
95
165
137
601
618
622
564
727
154
343
3
884
245
99
72
415
162
476
121
36
205
927
42
634
528
468
129
998
201
207
969
66
436
370
495
818
235
440
158
503
249
362
619
262
300
487
496
549
848
86
487
958
660
822
600
208
66
510
335
69
524
874
413
947
594
765
13
718
108
513
592
115
17
609
30
679
362
982
249
825
867
455
462
46
886
821
901
671
840
148
209
883
798
585
696
869
576
890
276
96
580
413
252
719
630
18
58
1000
162
737
688
479
556
540
834
334
779
694
683
9
222
621
908
708
349
37
644
829
766
428
135
717
413
587
313
414
830
23
759
209
894
545
397
875
973
221
786
460
195
198
50
362
403
602
353
219
415
831
295
824
423
83
782
887
687
886
711
969
237
739
297
300
922
681
974
558
8
803
595
860
472
222
76
377
316
7
736
12
480
936
313
517
411
696
59
286
942
342
365
808
895
398
78
411
744
988
61
539
748
762
563
221
201
196
645
813
819
54
272
365
855
408
644
155
194
625
31
35
575
194
654
240
80
32
129
215
196
225
638
845
95
740
220
181
245
742
559
400
115
574
206
255
514
351
432
743
73
361
802
27
485
172
137
943
344
410
728
557
907
649
554
310
622
793
760
281
14
577
880
945
435
569
70
616
172
141
179
456
677
400
580
497
969
22
528
693
823
220
283
340
15
865
314
620
695
891
737
161
979
668
531
687
957
22
181
855
625
881
154
312
700
369
997
855
867
281
924
343
787
504
463
663
117
910
117
606
835
660
4
13
448
635
146
905
992
956
403
613
327
128
56
93
892
396
677
751
958
314
269
62
442
345
577
213
483
597
141
789
331
384
908
281
582
403
165
775
403
746
148
777
226
849
924
508
295
731
52
409
605
583
88
809
979
799
203
895
509
104
76
175
104
249
731
611
670
106
188
473
287
676
633
745
845
643
300
617
740
620
427
198
652
181
453
68
880
80
73
726
429
817
918
294
824
840
384
52
645
240
568
536
898
750
383
937
617
206
639
498
576
424
303
458
566
609
211
828
467
996
194
971
272
420
997
501
270
889
347
504
860
67
263
465
827
750
987
559
469
45
969
166
668
996
939
575
837
804
455
817
705
632
237
529
68
234
266
514
950
273
864
419
103
270
933
582
424
547
101
613
650
443
803
743
630
299
173
306
620
418
250
979
252
285
161
573
309
810
840
211
960
261
384
754
869
850
290
140
482
660
708
164
819
680
302
874
319
280
487
355
632
345
606
212
763
649
94
435
654
771
778
675
100
7
251
167
884
288
696
672
157
66
616
849
377
492
684
400
571
989
326
198
298
499
698
341
441
248
465
747
889
897
120
483
239
302
652
470
870
942
11
607
147
260
217
640
47
791
885
273
192
957
664
158
146
845
346
358
838
124
381
828
136
474
177
256
930
571
804
326
571
702
695
118
122
562
493
859
712
632
470
730
195
812
824
729
450
676
734
896
908
767
261
317
307
877
61
448
272
114
401
206
19
894
149
233
396
681
266
440
493
424
797
705
294
156
542
154
132
140
385
966
307
305
710
69
816
418
475
393
24
613
301
581
58
434
324
191
854
519
709
438
86
401
423
504
637
681
285
247
898
19
385
937
946
932
653
285
536
430
750
598
973
868
473
377
110
229
559
46
134
237
96
799
342
333
773
722
800
549
822
470
645
759
856
763
794
599
715
904
6
613
126
288
545
803
188
674
202
831
689
527
48
557
809
365
102
495
40
411
26
8
37
258
94
747
679
474
926
944
850
238
889
622
296
197
668
710
461
656
229
343
387
143
262
329
591
141
279
884
358
498
710
264
998
596
698
838
470
896
829
479
219
864
680
909
184
615
892
742
743
812
482
569
766
536
220
337
56
808
192
681
205
459
143
609
274
839
776
135
801
641
952
24
322
757
668
814
987
679
746
668
864
386
413
419
226
95
324
357
437
483
146
968
66
232
500
785
505
794
917
17
676
336
505
390
380
681
136
905
458
922
359
864
226
76
658
560
555
804
359
470
596
735
272
696
346
389
77
613
215
38
623
419
252
102
516
317
958
823
828
568
443
60
320
561
242
985
306
323
274
355
171
620
276
843
600
899
530
554
783
860
882
500
201
356
815
289
129
655
854
684
648
852
669
43
791
345
36
821
421
856
239
501
589
422
607
315
401
160
594
73
879
367
257
282
915
706
2
455
158
801
220
218
627
553
776
343
877
900
375
349
812
522
488
664
610
226
862
645
765
327
665
933
966
412
926
734
374
234
276
599
885
382
949
214
123
562
606
502
235
9
871
89
54
560
338
790
819
420
460
329
436
479
935
929
222
342
133
783
184
875
649
642
118
190
300
939
286
450
741
923
941
797
417
265
757
981
738
456
69
996
221
125
893
141
819
83
899
439
845
503
841
259
655
157
486
368
782
23
760
313
284
917
604
233
882
10
88
727
865
228
404
356
872
571
686
752
370
317
54
41
69
946
875
488
574
353
996
842
278
599
644
859
900
994
727
873
53
810
541
72
971
265
243
372
802
741
17
376
935
368
542
921
421
210
248
171
906
304
831
9
433
687
701
754
97
410
326
858
828
211
956
274
484
177
798
698
65
261
572
675
70
956
255
902
939
773
999
694
95
431
405
666
275
835
813
208
769
958
793
161
657
763
792
482
358
130
759
325
638
572
607
118
700
208
612
732
158
59
138
753
502
237
662
203
104
5
692
816
977
12
7
86
234
224
649
885
666
207
213
394
922
443
280
451
530
321
295
207
421
271
791
133
628
283
630
28
613
713
837
653
984
824
702
13
443
7
31
119
457
5
827
255
499
732
231
412
707
488
243
540
447
460
601
733
590
421
220
259
275
413
739
611
547
66
81
396
546
885
376
917
844
503
272
777
138
400
420
695
730
57
887
987
153
856
366
848
841
279
281
654
968
138
346
991
448
623
677
9
628
937
319
15
365
161
900
904
49
772
205
168
611
961
643
715
716
438
940
693
147
988
900
799
857
384
761
344
282
638
471
444
289
750
218
305
571
276
670
472
386
53
679
337
287
379
648
928
892
763
374
186
808
166
954
541
526
254
212
561
494
808
254
859
585
868
919
236
879
593
327
259
3
87
252
65
280
657
749
236
586
38
318
973
135
148
910
671
354
838
249
217
662
922
242
973
221
494
781
471
672
158
825
302
463
371
482
534
611
480
749
279
667
448
658
707
169
468
882
861
145
856
208
156
38
663
941
313
997
438
947
787
646
428
9
456
284
321
161
462
958
288
885
598
33
730
420
578
659
593
925
847
13
544
920
336
329
644
260
715
493
319
860
230
408
623
537
198
453
777
644
571
67
942
577
757
936
998
909
90
283
898
594
866
504
793
663
921
736
709
875
65
17
16
36
517
326
333
60
693
176
776
436
299
416
651
413
717
539
817
108
87
123
904
742
336
983
534
376
617
241
471
846
301
798
363
86
692
625
379
646
99
882
553
25
770
123
135
389
453
743
533
323
37
388
757
573
797
262
377
114
268
141
109
476
659
424
108
984
27
741
914
458
130
483
816
962
7
111
43
398
834
249
841
77
554
386
958
941
88
475
499
758
691
834
413
433
167
537
103
590
175
913
784
682
862
873
248
194
397
515
627
968
738
876
616
256
182
752
347
908
788
215
784
970
775
858
76
105
398
776
763
417
575
38
131
703
797
686
275
652
410
344
656
254
427
130
987
508
419
917
332
537
897
911
205
404
813
173
237
222
459
968
762
655
104
763
249
530
168
301
80
77
565
394
590
278
170
19
659
883
997
834
374
953
774
454
467
162
99
700
278
717
246
569
982
440
983
841
697
475
502
96
862
109
639
409
994
411
113
123
493
732
411
953
713
638
315
85
892
504
766
109
865
840
937
363
716
374
925
723
645
78
427
954
350
616
143
490
208
122
401
911
327
852
696
440
356
984
395
516
558
803
877
848
244
524
739
394
118
297
543
409
489
287
734
14
567
280
29
758
270
962
553
305
54
879
456
655
301
99
549
318
685
756
766
436
784
995
887
167
901
305
3
551
705
880
686
683
841
428
661
265
78
801
82
501
945
938
143
875
25
852
906
545
275
841
632
999
772
643
889
88
289
24
925
793
953
145
574
883
68
114
31
153
818
324
364
38
228
536
584
264
214
182
374
616
997
24
374
51
455
130
23
155
216
128
536
376
438
807
533
563
226
456
219
68
623
763
768
108
907
706
760
103
740
644
77
446
328
719
685
534
334
759
87
899
778
109
78
988
510
201
597
448
137
216
116
820
499
893
20
132
843
405
833
257
899
211
37
823
938
992
394
103
712
83
393
582
933
301
455
854
528
705
7
49
479
632
387
294
491
266
828
571
76
160
427
903
888
332
108
41
327
26
55
662
481
776
15
634
447
145
142
95
960
411
778
912
47
504
685
612
104
703
758
997
403
960
156
502
536
226
162
779
717
822
787
153
175
742
288
348
101
716
335
319
745
54
499
129
272
525
119
540
969
31
349
410
199
405
398
24
291
438
525
228
186
161
368
586
253
479
550
820
136
488
353
474
894
190
402
88
977
866
969
156
764
76
490
802
496
99
328
418
443
640
659
476
55
809
573
332
653
698
146
145
954
358
296
944
350
620
663
482
393
5
653
757
383
899
40
980
305
299
196
342
613
684
97
134
530
980
764
654
581
184
669
857
71
913
946
900
93
70
968
561
419
815
940
20
353
285
703
628
195
805
853
128
482
900
628
216
586
39
736
495
553
909
460
622
314
956
917
897
498
114
319
638
139
894
420
413
506
486
144
628
115
111
530
15
770
650
733
272
104
462
802
516
695
399
355
179
274
270
65
722
940
355
95
841
583
149
215
858
896
206
367
627
472
797
867
615
469
134
266
764
262
43
136
378
281
347
681
534
2
643
134
494
650
847
361
125
736
626
951
643
967
842
337
851
451
178
192
641
327
433
393
699
172
355
366
281
531
477
506
404
964
139
666
14
824
777
429
520
806
600
965
577
975
975
846
178
596
193
48
880
576
817
773
507
766
454
409
751
654
660
130
905
239
613
151
361
975
386
663
637
733
900
781
409
654
106
641
449
634
560
971
415
915
296
994
170
933
841
571
674
138
276
839
497
968
488
429
739
546
153
547
426
955
498
817
485
136
647
795
42
547
161
519
99
740
420
258
607
911
666
877
581
302
828
897
177
57
773
345
582
758
213
986
179
417
338
357
657
121
160
326
683
901
696
553
281
628
333
315
297
919
188
672
190
81
810
797
920
124
331
655
897
726
42
869
784
837
421
763
450
294
848
74
518
417
575
758
776
67
72
648
163
50
484
453
183
77
817
754
372
702
404
174
864
805
378
881
232
215
140
944
469
994
289
819
430
801
63
431
92
436
121
905
701
406
406
966
252
849
911
456
792
687
379
182
686
208
399
557
369
600
858
68
59
138
434
653
602
817
676
501
902
240
211
589
360
484
789
546
378
459
236
57
245
42
813
79
687
851
154
599
905
100
743
531
222
380
835
606
341
610
828
811
767
588
373
987
173
818
906
704
368
263
881
429
45
740
701
284
660
469
234
427
663
145
856
171
770
541
146
514
141
284
724
648
111
926
242
358
632
862
184
971
646
960
995
653
444
972
995
394
464
964
700
996
90
999
475
735
745
270
853
144
999
729
508
517
444
18
602
365
826
134
153
989
284
880
151
774
579
592
377
582
878
21
264
850
8
527
686
596
71
965
268
563
987
691
656
173
835
179
196
764
814
595
660
851
290
532
959
788
661
821
281
252
694
955
710
438
622
201
210
714
474
944
768
763
68
99
624
897
637
754
770
332
256
295
323
691
144
398
934
900
418
194
158
946
69
822
575
665
771
368
492
857
635
863
282
532
160
645
741
27
460
850
383
58
298
255
245
526
585
974
605
11
791
760
3
490
121
778
73
709
435
758
29
64
608
383
32
574
458
600
357
731
395
319
949
574
693
608
963
346
644
67
885
474
869
536
119
405
781
679
274
78
490
254
953
362
477
92
523
886
998
899
237
43
485
989
49
839
191
986
665
458
935
337
679
82
90
204
143
555
889
943
529
917
713
895
869
732
267
671
779
374
475
460
207
135
454
144
975
77
161
156
641
70
188
91
754
325
675
61
314
53
543
655
147
573
36
149
933
323
108
314
837
731
314
759
49
848
675
257
34
957
474
910
997
138
34
329
850
877
328
221
995
412
699
920
323
400
52
416
186
920
645
400
482
554
981
661
647
469
398
970
103
33
633
201
608
455
46
35
46
352
173
64
439
951
17
474
314
818
769
799
142
660
697
406
238
720
556
487
382
763
219
326
426
424
152
531
328
991
18
725
371
295
948
938
816
448
963
541
864
629
616
110
610
993
170
81
607
5
548
347
778
244
810
253
668
749
187
589
449
485
509
234
673
432
449
107
480
39
156
932
886
569
694
137
791
905
219
862
561
957
960
709
399
712
887
291
217
314
414
141
408
285
622
769
729
164
220
950
488
379
964
412
381
122
287
154
598
380
657
546
275
20
613
227
990
25
434
576
735
547
162
163
745
438
45
195
612
320
496
415
374
38
359
298
622
578
613
689
248
115
619
204
122
905
707
819
877
130
182
71
961
677
790
231
310
33
336
584
305
147
397
718
168
159
10
318
577
342
830
527
91
487
468
356
911
209
641
985
612
340
326
48
762
677
317
160
724
791
458
6
564
563
368
291
665
358
632
720
585
497
289
983
694
771
962
385
373
292
80
390
865
865
503
818
432
440
303
890
83
904
564
575
31
649
874
985
949
881
588
626
286
608
43
407
174
600
663
208
904
396
272
682
574
586
14
716
249
220
981
625
920
128
39
742
604
401
340
518
160
5
735
638
796
787
596
953
780
688
595
196
555
17
618
575
337
88
297
325
274
313
632
218
411
125
777
839
45
723
344
176
515
689
525
696
133
1000
915
585
728
790
161
339
266
531
485
166
60
934
651
968
401
993
218
813
831
48
727
871
845
675
60
765
582
484
350
183
894
626
678
346
283
921
299
672
360
59
276
517
849
197
213
429
663
697
261
729
265
389
670
565
344
974
950
808
797
680
143
282
183
266
783
866
89
822
895
935
282
595
748
476
163
237
175
942
779
459
975
598
568
66
263
659
88
734
707
996
233
711
226
585
788
807
103
127
760
671
446
500
584
376
577
753
199
726
264
418
961
593
641
756
566
763
320
449
448
470
447
891
627
811
411
943
606
726
489
477
703
58
967
534
169
504
179
248
545
933
462
928
961
630
243
877
521
525
348
579
481
340
149
873
643
913
343
582
319
653
24
888
208
191
156
422
781
819
773
623
76
246
981
437
374
501
343
861
835
592
339
91
47
644
352
342
398
806
106
448
324
181
532
474
780
368
804
435
737
20
701
126
93
955
484
780
193
974
213
975
9
498
797
715
173
573
94
165
230
538
65
823
908
921
329
251
720
691
454
647
924
36
996
670
725
278
565
898
605
334
215
237
852
406
33
410
666
202
106
382
719
65
969
178
675
818
229
149
957
31
317
105
36
651
197
159
571
637
465
317
49
322
430
55
937
699
696
167
975
741
254
151
958
159
297
278
222
704
802
276
137
246
426
249
59
374
419
56
596
193
51
880
513
318
538
117
311
824
559
44
313
29
230
951
71
562
858
541
66
115
871
432
947
645
54
580
19
563
667
217
279
617
36
731
87
774
950
524
453
382
559
463
12
284
495
31
988
385
641
640
821
343
277
869
708
704
372
580
962
793
407
959
5
123
457
541
767
903
185
181
479
466
78
757
144
96
474
110
462
763
908
367
627
751
875
304
199
33
359
878
198
483
383
390
711
745
393
995
503
606
499
435
604
255
483
958
380
679
995
328
339
759
551
733
822
329
795
184
745
588
967
673
792
765
681
984
786
865
945
520
505
666
771
960
849
853
912
848
110
365
982
446
84
520
683
326
873
507
944
196
552
144
526
400
297
606
50
401
209
992
453
267
791
173
625
897
995
381
308
245
802
350
401
295
543
674
492
919
550
212
761
31
282
4
414
651
751
183
467
569
951
788
976
344
990
219
817
242
798
317
704
555
621
694
446
480
971
988
337
325
355
178
222
399
895
968
958
341
910
502
955
5
618
350
10
297
394
820
858
481
440
86
766
560
288
568
985
324
299
270
96
503
196
505
97
287
725
549
603
129
741
270
653
390
346
737
465
839
261
114
900
481
242
905
570
465
199
748
256
74
655
522
767
918
317
473
452
473
819
436
318
89
158
20
129
399
946
746
888
835
365
785
862
625
621
867
645
188
785
365
801
349
133
346
315
142
473
593
404
293
515
215
263
625
15
480
951
769
303
943
937
530
798
752
812
201
295
288
255
912
132
901
666
838
818
592
770
714
356
926
128
647
277
328
693
641
343
197
501
630
18
941
104
33
22
105
596
40
746
294
939
869
838
435
838
253
50
267
579
247
274
637
111
268
779
296
124
962
839
409
46
77
303
926
688
49
171
285
717
402
923
665
294
392
135
143
943
531
953
683
201
780
75
803
656
230
237
178
743
1000
607
164
54
997
130
440
19
856
603
525
468
118
202
921
11
205
245
41
181
277
195
865
955
391
325
480
638
712
991
294
67
677
146
697
759
143
625
404
934
543
699
526
306
970
598
668
163
967
3
987
526
473
18
201
124
49
738
3
509
14
340
183
860
589
587
49
982
461
711
400
496
485
921
401
489
336
214
188
741
66
713
923
162
421
504
349
299
719
845
555
549
814
623
827
286
427
189
939
197
662
8
197
972
79
107
853
952
76
959
274
438
665
268
376
182
949
96
385
977
724
930
969
379
685
556
108
327
649
71
887
847
50
974
531
55
724
26
610
435
666
499
330
688
995
512
202
523
857
366
211
414
347
198
791
707
855
807
532
440
394
204
587
913
596
305
134
337
51
180
115
869
590
467
704
951
897
855
586
163
616
43
208
720
688
211
590
340
223
840
190
470
654
653
526
732
263
575
8
32
408
855
453
998
975
923
284
247
617
137
288
564
327
274
133
207
774
554
517
433
617
986
975
811
692
61
858
62
583
138
959
953
586
422
541
265
482
59
334
945
853
741
138
361
908
153
284
994
909
772
114
1000
313
788
47
817
711
393
529
402
480
268
372
733
807
890
562
942
439
159
591
800
43
958
786
307
557
485
890
846
287
540
373
662
790
574
553
461
773
921
642
556
345
558
239
296
949
709
645
504
232
805
600
233
915
605
698
464
442
810
776
279
843
93
47
657
749
296
585
251
969
468
86
455
365
562
440
589
32
819
806
265
942
339
307
876
277
881
401
646
659
673
259
910
365
902
209
95
374
610
404
387
835
894
403
221
92
695
267
545
950
950
128
255
233
566
903
351
61
491
986
113
427
144
303
50
845
598
62
459
842
210
901
172
24
835
916
485
275
376
209
316
446
182
199
350
488
716
907
309
621
1
846
509
539
589
924
557
88
155
998
363
90
414
313
676
224
694
93
953
929
423
973
740
351
738
793
652
199
649
517
716
271
460
683
59
66
689
843
931
571
311
908
556
825
991
191
646
326
880
176
229
665
698
765
69
62
40
806
121
603
315
192
388
84
259
747
10
302
713
385
667
543
246
741
176
785
247
615
666
844
297
50
876
262
7
823
939
272
9
442
452
570
463
496
781
933
249
338
319
968
37
639
851
388
512
312
258
258
361
657
568
585
81
365
734
493
238
187
598
956
620
646
205
743
594
192
20
786
101
550
605
659
915
859
8
227
204
368
483
836
963
103
96
565
593
910
493
203
765
733
374
597
699
789
187
921
175
577
194
250
924
270
330
547
499
112
204
778
394
888
190
437
969
412
813
179
656
233
504
629
86
451
405
672
978
603
80
701
94
78
883
365
129
426
251
331
108
190
389
459
801
651
627
559
665
936
267
622
46
513
849
980
724
972
606
381
396
363
322
364
369
89
951
647
541
479
108
435
753
758
2
745
721
40
454
798
41
386
397
556
230
684
661
258
369
343
900
627
652
327
238
13
103
64
580
382
763
178
563
461
904
757
814
779
205
107
501
612
368
544
197
28
352
804
684
339
274
65
683
252
4
415
415
959
698
858
554
174
795
550
402
885
510
61
32
221
481
874
775
326
38
234
628
643
481
683
100
290
903
359
557
515
321
146
338
362
305
315
800
731
892
150
966
13
271
375
642
361
637
904
707
405
644
533
776
979
90
747
588
952
825
705
295
825
390
824
266
117
542
114
168
916
684
558
853
177
161
395
13
471
544
99
667
958
313
241
266
255
802
166
646
761
858
613
71
720
460
969
364
988
442
853
473
39
536
127
854
185
192
206
741
415
30
769
709
505
290
593
923
256
380
224
159
825
465
656
931
101
48
4
81
5
667
396
775
399
162
978
148
24
441
935
752
503
316
935
583
989
768
228
680
495
958
941
211
247
403
746
515
714
993
190
780
91
966
461
922
80
495
248
745
809
316
661
646
596
682
892
988
40
975
403
743
637
541
946
159
701
613
660
33
879
752
808
620
958
878
461
331
993
793
587
177
982
80
559
299
469
400
18
75
484
506
459
1000
166
738
597
946
261
371
826
491
471
955
599
684
239
696
594
27
173
12
907
441
763
619
310
711
409
911
834
204
110
903
538
682
301
749
357
671
469
678
343
158
156
209
440
361
879
674
186
925
321
411
374
190
850
463
753
104
76
249
311
948
678
492
547
276
172
612
411
403
668
911
263
295
867
145
286
971
772
480
280
372
596
426
662
177
371
57
787
271
612
718
433
348
186
464
375
685
232
686
542
252
569
715
121
126
540
723
352
652
649
909
478
929
664
774
443
950
82
282
525
175
991
820
4
417
382
207
360
636
930
393
251
686
84
148
708
65
91
782
548
483
213
840
31
409
986
828
141
786
817
224
696
796
630
434
709
897
525
893
1
349
628
204
131
95
396
79
105
184
651
844
160
868
532
444
179
162
368
221
922
894
190
196
302
232
243
237
423
263
397
306
927
439
772
884
487
613
287
833
960
942
46
162
792
165
670
640
745
611
750
719
947
848
544
7
517
45
952
385
772
976
568
927
114
84
308
977
208
180
712
85
13
157
529
27
543
567
581
806
973
41
251
329
867
287
151
485
842
863
637
439
939
990
910
270
346
432
352
544
892
865
623
5
878
227
761
315
447
228
242
734
617
629
467
665
568
850
664
245
511
225
547
542
727
507
353
459
936
264
113
158
214
431
47
659
69
607
43
291
153
648
44
842
288
737
7
565
170
376
815
710
139
682
154
844
868
980
908
67
688
906
55
136
551
151
408
646
280
531
795
660
864
298
429
627
39
446
297
952
276
341
365
381
631
145
260
180
581
370
918
195
115
388
320
36
855
876
107
1000
913
988
292
870
520
504
773
377
208
337
615
950
464
551
307
362
329
485
358
999
383
651
580
807
904
856
398
388
770
354
340
333
854
940
640
661
229
575
534
127
511
535
389
247
40
88
313
122
422
377
228
535
149
561
704
312
632
233
42
692
10
798
180
232
506
803
14
872
959
182
627
870
379
992
741
709
31
498
437
525
595
404
805
239
418
611
726
397
732
131
441
648
977
698
900
902
62
164
133
486
463
990
72
8
549
19
281
247
431
235
63
94
932
405
278
456
959
340
970
112
708
12
637
654
634
896
545
64
38
759
995
937
474
536
878
68
908
79
149
929
704
354
107
531
74
68
450
346
574
817
161
198
602
596
193
539
630
896
762
98
48
696
858
659
131
361
177
657
583
819
313
343
526
454
464
495
617
786
340
68
161
398
190
677
709
528
113
556
666
438
873
441
833
927
470
889
669
386
620
668
279
356
106
214
781
868
712
614
767
753
46
200
24
729
123
680
544
284
13
618
124
309
199
232
541
971
553
719
349
547
5
739
873
817
29
269
813
107
62
758
244
308
847
421
431
3
466
531
55
335
537
791
935
418
638
206
254
891
533
396
648
672
174
964
252
119
786
346
922
552
553
565
438
542
560
437
423
465
677
81
92
555
24
30
700
105
486
841
765
515
519
876
689
609
143
847
408
10
585
765
105
398
510
203
804
141
147
154
877
165
930
291
121
887
436
170
66
714
519
752
611
911
540
625
927
610
494
513
773
354
678
935
62
842
238
395
525
483
571
108
812
963
124
62
192
251
514
165
345
410
311
339
346
110
21
668
85
960
12
163
816
667
156
227
436
531
974
691
411
995
905
142
949
786
151
323
151
703
208
577
387
243
812
680
70
78
519
897
337
853
572
785
879
900
993
80
314
250
90
984
49
741
683
332
522
131
405
360
108
851
342
314
702
468
175
678
211
944
700
615
741
527
278
110
270
482
340
369
974
867
537
285
212
280
513
162
338
819
545
402
155
514
529
623
833
114
829
455
551
467
574
345
929
640
848
822
603
599
68
20
878
524
553
741
511
757
926
953
85
5
509
451
328
631
347
326
978
798
806
1
503
769
976
877
36
903
255
12
391
735
564
874
925
78
607
906
295
257
491
540
892
426
776
367
824
427
753
308
858
792
312
64
642
298
293
570
886
957
613
891
884
456
774
799
944
800
602
260
808
402
164
198
137
909
878
200
469
818
754
262
845
345
559
301
482
59
454
908
429
506
312
746
161
446
495
56
441
307
323
983
591
198
899
817
512
128
165
775
430
77
325
672
332
246
833
668
503
85
151
296
422
694
414
146
470
794
921
913
600
762
141
973
134
136
503
331
325
605
814
520
185
744
578
56
352
643
824
73
433
163
331
116
368
735
280
403
821
530
439
509
524
317
961
118
782
540
741
395
65
969
96
558
736
785
183
453
456
110
201
263
772
802
919
28
694
796
465
279
824
411
668
970
738
799
419
813
887
164
694
310
212
455
884
29
74
6
33
164
828
966
435
976
573
464
804
518
194
124
855
942
782
956
755
770
932
658
338
736
209
42
368
201
291
666
422
682
899
712
166
743
663
840
875
333
469
32
69
706
705
426
50
177
32
735
922
348
961
156
427
863
575
588
544
443
187
573
329
704
582
621
934
230
787
488
72
485
954
536
473
392
49
501
9
844
533
901
254
971
89
813
225
743
777
943
890
340
702
771
871
801
381
19
420
646
528
864
359
507
906
125
182
363
211
116
930
582
709
981
751
850
487
95
311
16
726
571
315
47
367
984
466
538
909
181
109
730
839
435
670
547
372
294
750
940
780
141
393
773
541
907
612
499
985
360
745
184
859
113
578
752
497
821
453
913
849
21
805
931
670
747
619
216
592
354
352
783
628
926
747
743
905
307
788
357
59
48
776
632
787
483
139
99
505
779
99
198
918
11
801
641
590
246
824
240
276
159
264
940
849
928
746
228
165
38
769
647
89
127
785
897
205
217
272
868
461
499
866
17
86
340
299
692
661
342
482
350
137
75
593
152
938
598
436
74
11
972
635
491
847
778
492
191
38
69
416
897
899
270
921
680
39
324
76
88
555
727
195
429
666
208
265
402
234
504
297
202
555
34
343
275
251
348
399
169
849
864
787
265
877
787
901
768
897
69
407
1
932
944
46
910
162
877
247
719
594
715
625
810
665
488
275
265
357
531
499
952
492
594
227
713
291
151
924
964
177
379
229
4
58
205
920
419
8
333
36
227
339
430
174
837
562
471
29
465
610
819
217
395
13
768
319
325
428
126
851
136
12
921
565
565
679
453
84
671
202
742
386
450
429
857
44
664
658
781
469
741
337
191
617
609
805
8
736
453
781
647
802
672
615
634
189
785
142
688
11
615
134
397
294
861
902
342
813
80
646
913
12
175
498
55
848
731
13
902
852
891
106
569
914
60
995
390
548
385
769
526
454
832
614
201
224
686
558
753
932
482
843
344
173
688
681
441
848
946
182
98
597
307
731
677
359
723
924
905
927
949
476
21
770
177
152
387
598
953
894
105
358
340
778
71
366
899
350
445
289
753
167
655
563
918
116
938
602
103
151
903
874
408
648
732
498
676
484
492
518
796
288
443
443
900
37
395
937
239
340
918
784
493
281
643
361
414
666
8
915
992
868
523
863
787
258
39
186
674
352
577
756
7
434
970
71
144
349
960
467
319
606
411
331
111
701
988
229
137
785
982
144
114
429
981
214
187
242
712
458
225
531
710
978
837
24
430
49
1000
930
34
312
541
222
366
16
185
121
574
884
509
189
407
713
961
310
486
267
26
121
726
349
744
108
678
231
47
688
734
739
795
74
51
396
965
622
560
963
188
654
590
633
706
464
530
897
876
331
393
794
533
871
332
873
896
13
970
670
209
173
840
952
967
991
395
259
419
104
795
534
15
988
128
728
586
880
805
324
382
116
620
673
479
45
371
853
747
791
996
545
261
781
888
79
22
902
433
345
869
572
843
781
751
786
35
971
868
441
650
747
769
816
309
804
176
149
842
992
157
637
562
426
308
51
575
484
743
375
807
553
29
535
637
140
692
342
6
573
553
206
448
52
926
66
733
280
706
257
723
201
424
670
591
690
671
698
784
142
646
919
964
25
224
355
713
391
615
483
938
257
606
839
804
521
424
210
462
804
418
892
31
175
184
462
102
247
189
792
469
520
688
824
948
191
511
742
902
850
297
722
526
619
883
426
53
345
846
757
771
359
666
140
147
215
552
819
428
528
776
195
780
723
227
254
431
68
35
504
276
821
291
662
111
731
303
529
6
387
377
107
301
127
793
27
380
305
520
806
694
710
216
249
447
878
229
583
3
797
651
539
334
300
940
650
781
997
279
499
966
195
629
509
974
660
376
139
784
437
600
26
539
203
218
703
406
768
726
990
704
441
782
89
452
921
651
680
718
263
393
33
975
264
729
280
149
292
716
494
226
188
723
152
87
377
720
905
682
727
524
297
816
28
535
231
568
156
414
545
797
169
323
987
321
550
652
272
35
818
569
665
703
542
384
698
175
545
434
232
515
774
159
62
894
844
69
626
129
770
574
241
435
760
21
431
294
229
801
586
355
404
146
154
911
965
33
54
824
196
657
778
744
998
111
920
53
979
203
519
284
517
852
620
688
339
136
963
190
716
842
535
253
760
345
8
58
736
726
763
964
474
314
283
438
201
255
172
506
121
286
981
321
89
613
296
602
575
696
267
566
920
788
868
457
561
242
697
940
514
18
47
407
912
264
325
767
782
573
626
350
596
308
410
367
321
387
794
810
859
32
919
743
766
329
227
691
110
832
234
247
170
109
585
68
410
853
748
145
877
109
689
600
666
265
277
322
637
642
957
382
909
953
454
567
946
418
869
333
264
15
546
140
858
239
546
445
471
712
351
596
744
183
708
477
72
772
121
60
754
801
596
921
630
176
669
405
944
102
627
330
597
838
98
63
342
333
861
337
678
813
821
397
404
842
559
944
827
931
800
863
626
517
398
915
219
2
185
408
289
607
131
357
821
986
764
814
571
900
758
819
428
767
915
949
524
571
490
491
261
441
985
122
653
189
73
334
518
241
258
10
74
668
270
229
458
514
948
858
504
172
534
468
912
377
900
908
562
253
209
172
315
964
908
270
123
735
764
478
625
390
834
686
715
116
907
561
752
844
959
897
185
507
588
831
349
442
234
568
146
373
228
890
83
741
359
983
917
611
695
76
749
61
865
958
964
707
849
679
847
1
631
690
68
28
696
157
465
804
500
491
718
481
453
936
607
452
932
617
456
82
77
637
316
654
863
644
175
208
61
784
197
102
194
114
595
524
542
362
223
655
591
383
422
892
22
773
925
336
526
902
906
746
260
43
325
289
713
371
812
727
130
359
242
96
399
487
15
591
495
260
811
86
149
226
234
655
400
70
357
550
87
885
623
297
139
404
956
979
732
324
216
299
982
834
321
751
888
134
466
31
636
32
865
888
243
660
361
750
718
993
56
784
608
121
855
554
803
154
424
56
974
253
614
720
849
493
847
899
817
201
296
492
40
949
957
606
306
608
868
555
361
739
797
131
375
117
694
724
442
398
89
851
800
726
386
623
483
639
722
917
726
727
640
374
301
350
322
838
321
162
573
548
815
318
24
192
465
23
274
928
500
512
809
621
674
639
571
821
623
5
5
476
667
960
243
961
311
863
843
790
256
707
183
267
752
598
145
449
493
576
223
970
75
994
548
720
235
963
637
881
710
410
836
520
566
922
539
829
289
877
279
75
745
305
678
519
374
582
71
873
608
289
359
354
576
557
232
34
600
756
490
963
856
677
598
513
856
231
973
482
60
270
752
768
26
323
954
837
3
949
15
791
741
898
648
560
626
484
857
650
922
416
736
900
52
789
342
925
341
162
576
254
581
377
469
703
124
313
707
188
920
842
533
1
101
50
395
562
211
223
844
788
205
181
197
532
644
305
454
972
322
971
794
450
722
219
715
28
285
142
574
930
461
898
818
134
923
250
702
596
90
234
644
975
361
893
668
289
41
14
572
604
968
459
558
746
292
975
75
8
662
374
516
23
352
539
246
271
466
49
163
186
443
92
598
475
518
993
938
24
683
854
757
747
939
787
613
829
319
702
920
73
250
894
459
485
302
508
170
802
258
488
817
409
777
835
40
962
583
783
45
96
261
68
913
788
255
551
92
297
576
314
136
122
70
796
183
98
846
650
959
549
595
792
347
420
80
557
656
447
47
929
791
702
174
616
452
320
424
89
341
803
364
802
111
75
599
507
455
371
431
956
299
121
285
311
531
219
219
264
89
458
49
214
507
463
255
838
217
126
806
59
995
451
536
711
959
674
465
168
423
743
763
843
733
535
650
710
941
673
600
969
796
465
685
546
64
252
729
364
648
421
244
249
300
439
774
858
5
534
369
265
246
45
393
693
453
76
768
416
894
788
70
41
154
556
563
209
135
283
431
273
203
340
927
645
694
960
124
312
517
447
282
508
988
204
558
637
350
415
974
308
653
227
65
802
817
363
618
371
710
439
276
510
27
677
520
754
627
339
768
613
687
933
867
962
754
205
275
595
301
968
604
659
874
81
19
379
323
242
170
838
854
856
968
538
869
878
532
164
639
439
56
249
861
40
177
426
77
297
679
558
720
518
994
328
312
890
17
801
948
697
232
60
726
760
970
260
251
276
938
367
683
297
780
377
24
396
576
63
555
450
616
125
344
70
727
205
764
916
695
348
815
58
70
383
836
545
721
171
891
579
52
822
704
24
709
799
527
513
934
278
741
67
481
291
286
973
128
901
276
657
394
147
250
406
14
555
564
109
96
773
367
617
649
278
459
953
361
181
71
339
58
853
277
935
312
483
320
280
16
691
588
625
568
25
387
754
518
484
915
434
128
237
37
321
337
334
596
29
34
533
937
56
373
321
287
441
128
842
431
364
695
706
836
361
432
605
27
468
466
238
536
422
972
313
211
970
180
264
980
457
86
929
471
134
864
600
10
24
521
766
608
783
203
377
505
709
865
655
739
949
736
304
982
980
118
490
567
678
567
79
263
599
460
481
809
635
254
872
690
887
499
690
886
390
813
124
624
335
568
686
226
554
6
90
220
344
861
409
820
132
337
845
713
116
463
563
867
759
440
709
712
951
571
125
639
703
775
303
220
495
465
802
921
780
815
681
400
674
15
523
642
582
152
253
292
367
798
283
564
653
182
460
991
69
96
944
130
515
314
395
17
61
354
800
851
685
874
844
864
877
877
9
832
82
115
436
975
54
837
210
308
457
31
875
612
475
866
918
297
760
882
449
386
789
813
513
738
567
624
283
409
695
446
928
731
974
646
34
328
115
152
345
728
608
518
988
712
502
951
501
803
629
647
776
545
835
355
414
362
890
43
144
798
39
886
637
897
636
601
511
334
871
294
346
652
392
587
245
623
533
789
869
328
929
246
887
11
535
826
465
161
461
711
769
527
567
244
450
16
462
646
727
468
422
820
999
343
744
281
884
257
212
528
202
111
703
780
692
299
415
63
209
89
859
118
700
833
523
416
549
79
107
880
751
20
294
572
945
975
304
673
568
743
901
615
223
747
90
62
938
868
471
794
128
725
107
219
938
962
814
359
146
797
976
704
929
675
330
205
654
371
712
56
261
317
388
636
985
228
444
113
901
331
683
796
233
628
603
249
444
674
349
563
891
268
960
945
205
331
839
965
643
977
167
372
359
460
846
410
903
242
693
909
331
896
787
292
919
943
295
781
895
15
618
761
538
901
427
229
682
181
991
718
958
99
223
901
70
282
40
327
46
709
955
381
642
69
298
610
60
258
108
35
688
321
524
898
852
580
463
600
446
36
462
228
888
385
844
192
46
163
786
942
666
582
405
655
356
607
777
82
358
709
620
436
197
488
472
347
772
87
360
395
629
896
328
685
949
550
706
250
259
641
657
811
991
888
386
559
794
716
354
201
944
340
990
427
277
479
695
372
822
767
353
365
727
783
216
485
99
364
745
971
134
547
943
586
257
22
774
361
21
498
497
22
225
704
136
528
18
89
842
847
773
451
613
48
169
810
693
255
215
882
964
825
928
393
860
354
996
292
594
772
35
658
35
815
981
725
156
641
749
961
807
220
550
622
484
388
134
507
913
135
820
922
481
788
359
15
3
228
570
711
881
190
211
450
424
971
716
801
13
616
298
841
816
730
400
835
972
611
618
401
517
304
50
801
831
534
486
452
60
190
961
44
797
198
994
875
272
151
255
162
455
56
489
97
758
873
297
386
486
345
749
835
773
759
882
313
520
862
840
91
767
177
801
97
996
310
841
137
108
695
597
475
194
380
905
481
767
113
606
231
827
991
360
46
974
342
607
963
825
386
804
50
116
426
665
267
234
973
411
339
401
270
6
703
336
128
886
140
58
858
994
155
423
349
799
490
84
22
552
447
847
465
242
820
812
63
602
332
237
806
12
434
832
776
365
207
50
526
788
878
6
664
590
188
827
485
5
418
631
419
56
383
810
391
378
148
986
946
925
495
815
104
289
427
814
499
775
108
505
291
487
670
483
709
398
281
447
857
817
700
856
585
693
294
616
823
928
178
146
752
244
680
225
580
170
822
265
513
401
890
37
693
134
426
437
507
955
218
541
685
547
901
106
32
744
839
645
470
478
839
390
321
753
75
785
367
55
325
622
337
571
255
583
865
158
2
730
872
248
788
454
575
796
605
480
9
921
293
807
27
116
479
862
245
768
924
739
260
261
793
120
834
126
234
352
361
524
462
216
135
867
202
108
388
519
991
726
31
344
279
846
359
309
756
460
710
508
575
372
219
712
434
306
365
18
541
758
964
236
592
77
609
422
767
742
364
346
659
384
659
759
753
887
936
36
775
797
587
140
771
373
108
886
257
812
197
158
178
589
751
91
663
405
307
204
798
899
496
148
704
183
525
17
229
241
516
165
477
402
773
55
193
450
701
1000
775
375
148
516
293
443
398
686
444
36
907
93
793
667
148
852
41
687
614
795
266
458
83
85
272
187
777
413
257
194
922
459
950
109
500
469
288
396
741
673
460
631
964
721
845
168
930
513
982
188
789
568
196
625
27
585
933
148
570
922
156
192
346
545
398
23
143
399
172
934
584
261
514
10
382
884
321
298
818
626
59
856
571
836
108
921
583
985
728
324
668
880
156
395
946
362
836
793
987
541
170
129
763
973
439
738
126
201
771
713
529
700
100
129
168
597
77
416
512
512
812
11
474
455
135
727
86
25
786
784
606
85
578
65
450
651
118
952
188
26
102
73
140
68
555
363
752
68
647
127
39
937
862
212
875
227
384
954
775
104
521
317
151
520
872
513
715
711
746
449
804
611
997
529
962
959
71
726
986
662
563
314
33
447
967
349
73
972
645
795
156
316
265
191
497
238
60
863
338
647
340
16
920
514
581
459
660
817
315
342
808
209
751
36
448
781
762
221
685
697
408
289
260
471
648
455
646
376
293
294
865
785
501
16
907
261
345
464
629
862
52
689
451
431
548
953
1000
605
821
211
77
926
453
406
1000
658
403
427
385
922
718
206
918
292
433
218
525
260
309
602
611
914
470
242
730
665
190
374
106
147
289
747
959
238
647
915
417
690
314
965
186
57
588
895
757
424
197
881
143
959
446
880
572
456
754
372
562
838
534
561
72
72
774
3
224
53
984
494
180
801
423
987
359
758
614
479
87
38
230
89
201
256
346
990
820
952
909
488
750
689
48
283
518
616
483
866
39
665
884
99
331
581
471
242
457
645
574
76
119
344
107
331
929
165
141
302
379
418
841
434
12
243
35
615
71
961
610
136
188
534
731
573
282
172
607
330
928
79
171
230
880
907
550
335
310
723
669
103
611
236
678
134
253
536
123
988
298
872
973
991
658
815
670
517
62
711
332
973
20
513
137
587
769
907
694
152
298
153
894
81
89
219
345
488
99
585
987
496
885
570
902
688
484
150
653
396
817
22
702
537
933
87
589
825
371
639
600
488
282
273
577
73
717
936
392
518
676
618
338
443
81
864
377
527
840
701
730
911
554
556
779
799
222
480
638
826
517
274
15
288
803
160
192
46
102
272
65
763
631
539
151
147
372
534
417
56
375
436
592
607
136
588
327
969
450
8
243
106
587
856
386
568
520
60
98
342
180
248
637
923
421
661
146
993
426
956
715
530
810
669
368
743
536
654
768
962
94
971
319
493
78
564
125
497
424
548
954
162
82
91
977
757
830
673
522
730
270
986
527
617
776
841
668
402
328
248
377
918
695
253
93
48
406
213
118
734
306
941
394
311
260
546
380
228
757
864
935
28
726
86
810
360
902
558
875
855
436
760
735
971
265
169
710
248
973
9
489
6
473
957
940
184
862
448
639
896
238
602
734
278
99
710
609
380
163
879
694
181
132
675
431
271
935
566
89
411
470
557
614
944
711
630
172
5
345
539
373
568
728
50
436
641
108
925
696
339
461
851
938
122
281
6
6
252
865
171
33
370
439
111
382
167
504
464
150
318
355
532
598
188
628
147
464
355
72
299
456
644
477
292
578
207
839
996
160
158
390
189
579
402
85
82
709
610
498
853
81
724
848
430
558
989
61
826
126
283
345
27
26
407
752
834
38
108
603
53
198
806
430
150
611
406
332
795
300
114
216
736
238
872
458
97
796
882
905
491
845
714
998
311
682
654
33
201
732
261
202
947
731
613
140
12
712
327
134
487
661
254
27
509
129
699
124
69
478
104
67
738
640
418
759
991
476
779
864
752
865
725
350
250
627
864
813
505
274
834
35
570
362
422
359
188
915
916
957
627
975
118
15
333
862
947
191
424
126
257
424
263
473
300
340
30
211
232
33
732
849
248
977
130
553
163
166
819
81
752
367
111
679
750
553
429
171
183
131
615
152
599
620
965
720
887
790
790
716
548
83
18
763
717
363
684
722
756
642
139
354
937
433
488
85
592
851
46
769
146
372
595
262
561
428
830
437
109
644
667
980
823
590
9
965
642
363
185
708
49
191
489
870
947
524
171
115
643
723
791
881
40
600
51
995
600
480
106
921
168
415
866
399
519
437
16
138
358
473
277
967
537
639
970
597
492
172
84
690
206
157
833
487
559
578
211
603
586
913
103
976
963
685
360
129
68
911
621
56
54
329
799
84
701
700
862
999
253
194
981
560
34
90
127
304
436
579
964
191
755
449
231
210
455
851
826
531
643
107
520
185
957
764
540
533
588
694
278
962
872
66
14
374
725
439
884
15
245
70
251
107
924
745
287
575
280
119
844
874
178
582
623
547
753
115
247
691
645
511
77
954
193
541
547
10
368
378
301
754
455
651
686
574
939
980
985
162
610
759
332
287
639
259
405
820
269
788
873
103
800
829
30
450
750
524
229
147
436
867
530
835
730
236
441
583
394
694
751
247
275
594
244
957
545
580
500
698
393
64
89
991
797
575
224
602
505
195
305
90
937
429
902
732
479
486
373
30
581
885
750
585
119
750
512
577
738
908
555
497
257
157
36
18
779
648
726
150
841
376
188
849
803
181
402
316
663
497
406
101
701
341
181
949
621
654
234
53
405
182
325
9
662
529
329
304
120
878
498
603
798
161
276
460
540
110
391
330
842
735
161
911
321
239
806
932
755
280
121
446
344
819
22
612
752
444
312
682
510
246
550
645
562
779
14
562
121
601
584
124
477
218
833
393
86
981
738
982
104
648
188
179
489
868
915
626
945
781
564
218
284
348
360
815
205
724
221
222
134
219
266
637
484
950
324
434
670
285
482
704
229
568
695
482
680
413
177
914
106
93
655
967
9
113
527
418
678
123
649
11
175
731
773
627
36
608
621
262
989
531
214
399
277
637
341
97
682
228
986
748
976
916
148
991
315
764
689
699
44
358
804
326
495
390
211
150
612
477
427
88
659
344
321
859
850
491
706
223
456
677
872
906
849
327
855
620
980
41
680
259
970
939
12
972
895
463
432
298
300
631
40
989
702
440
187
413
117
296
943
722
678
871
314
35
497
757
343
963
259
659
942
727
469
626
738
977
872
4
257
175
351
371
484
46
503
715
228
216
179
499
720
564
515
68
592
254
348
49
688
672
472
31
187
674
883
803
154
679
13
889
949
128
978
909
889
736
24
588
178
800
683
824
415
529
638
328
884
11
911
766
479
955
833
227
307
786
130
96
952
40
643
89
938
233
407
301
117
564
253
588
629
861
687
518
554
159
497
417
614
192
458
753
75
839
535
197
535
284
186
246
416
230
719
201
792
24
182
632
648
956
920
199
809
308
772
849
508
956
842
960
52
473
942
946
108
681
83
231
859
588
830
235
738
446
974
228
443
472
714
452
706
393
451
946
628
554
409
853
430
833
490
840
161
930
183
429
237
933
876
676
679
239
627
655
584
991
317
602
662
222
86
460
640
798
177
742
956
62
571
333
454
815
350
861
698
894
288
747
158
152
40
906
721
70
176
328
913
598
472
469
779
68
100
437
552
179
790
473
165
137
601
102
132
986
689
641
560
58
332
466
853
265
514
531
196
620
590
183
45
6
880
210
657
690
583
432
180
511
57
842
908
972
321
482
128
693
656
771
384
833
280
977
97
81
378
869
214
808
242
374
974
782
841
226
920
633
937
197
27
877
769
459
166
938
399
53
163
995
52
218
397
955
170
563
214
53
439
658
443
847
750
654
942
401
909
963
421
536
939
871
738
854
958
182
522
134
965
647
202
363
347
975
511
339
535
703
80
293
66
24
19
416
219
997
252
567
541
189
969
619
798
913
735
152
348
708
706
177
471
598
901
629
954
971
674
192
81
633
380
829
267
693
710
81
730
470
336
790
988
528
302
411
450
291
92
500
66
413
379
245
811
235
299
187
752
215
471
359
616
158
111
126
29
464
327
959
77
353
72
212
444
230
311
731
115
910
666
785
603
443
164
373
677
635
756
445
848
208
966
940
222
709
338
842
894
918
382
638
759
516
353
681
439
207
512
921
97
303
482
441
15
55
940
999
183
613
151
524
607
591
808
141
685
652
199
843
801
385
3
352
217
35
905
77
488
306
771
325
836
562
355
83
388
211
373
753
722
975
323
205
915
50
575
379
174
850
157
467
157
165
90
390
325
68
350
885
981
841
278
25
207
522
773
397
540
411
705
503
82
13
759
135
706
471
374
643
163
472
509
34
183
987
733
773
128
976
529
24
334
368
769
818
76
200
31
280
984
793
786
652
813
250
542
272
726
340
689
97
608
50
141
611
486
728
869
169
832
696
64
920
381
718
2
450
102
472
605
223
134
466
365
677
838
442
540
590
559
397
481
939
380
793
528
24
899
380
190
65
44
362
181
828
23
268
477
95
782
16
784
950
762
107
624
926
319
818
852
24
894
543
535
504
933
141
993
119
561
263
314
181
260
175
771
416
119
479
415
91
761
492
551
310
707
797
962
661
769
584
495
675
48
990
60
624
239
580
210
278
252
493
183
144
603
532
715
579
634
663
975
916
379
974
711
407
833
115
37
353
421
666
350
257
734
662
538
233
957
698
962
180
971
697
738
405
815
388
444
524
34
23
735
421
475
642
274
996
237
477
44
224
836
710
355
797
83
855
820
223
866
498
142
811
778
978
817
405
497
888
760
89
934
923
407
316
435
711
80
114
709
729
258
42
773
324
944
589
914
135
477
550
539
953
8
732
868
134
326
1
592
232
904
321
990
418
821
895
501
615
684
972
434
985
818
166
300
581
743
390
257
492
399
593
270
818
692
588
908
120
645
128
132
800
872
301
44
35
138
21
314
445
481
89
957
720
762
839
158
762
510
872
119
745
641
757
250
690
951
871
621
763
292
721
224
526
983
217
523
798
332
357
721
632
91
685
386
109
313
731
378
356
328
322
507
196
523
333
997
319
173
935
617
736
831
884
287
513
695
693
84
511
909
846
828
882
986
313
855
620
418
733
141
305
49
593
698
529
982
600
27
163
632
256
478
762
36
308
545
915
675
360
505
280
882
445
297
360
367
749
226
852
530
4
898
500
984
302
763
968
163
187
788
200
993
946
87
89
300
941
764
51
114
684
838
296
994
105
901
124
301
131
51
630
648
262
728
532
844
283
329
679
277
674
828
991
66
514
217
202
299
906
242
781
295
41
797
861
195
1
326
810
94
346
779
341
601
327
958
686
940
285
610
420
690
454
233
983
814
882
359
790
899
672
49
126
412
42
408
669
359
16
221
569
927
666
215
528
584
918
22
188
615
923
669
451
280
833
291
73
603
647
806
959
321
468
513
143
634
105
903
332
263
472
500
248
729
637
225
730
946
696
579
704
945
879
944
681
29
392
430
418
710
589
989
704
549
959
965
43
427
288
867
156
811
110
895
825
314
217
698
573
223
557
876
85
676
349
13
73
879
590
387
491
77
440
56
618
994
159
723
567
116
354
631
177
502
322
757
98
754
164
752
110
426
176
364
367
417
749
623
301
822
623
640
393
318
893
708
860
403
602
333
605
707
105
919
430
162
633
109
612
16
672
190
412
580
801
557
13
88
660
951
648
255
529
80
414
970
865
279
375
22
762
59
71
953
951
745
486
908
433
943
850
835
260
212
410
504
300
152
417
603
28
130
162
577
543
942
838
1000
11
74
353
4
722
622
23
669
741
555
222
380
956
780
666
849
910
370
986
853
448
392
644
822
620
20
61
35
707
979
8
562
488
946
950
75
89
188
34
302
832
624
856
212
514
463
968
976
453
778
310
398
479
678
431
734
719
225
381
827
724
891
632
996
961
132
252
439
168
610
817
750
419
705
222
751
977
216
652
47
210
570
436
569
874
434
436
909
73
366
886
447
65
999
341
90
875
337
489
946
380
913
96
423
107
919
300
37
506
941
791
681
874
603
141
236
408
223
729
181
101
601
215
288
324
174
506
581
960
66
506
497
928
39
727
569
739
902
993
26
532
771
64
419
654
424
12
748
443
110
545
599
339
397
292
483
828
13
288
907
999
207
472
708
717
829
72
833
469
204
154
58
991
874
444
102
659
471
794
216
471
277
277
612
141
545
972
13
490
265
955
220
838
861
851
822
527
269
618
81
88
929
868
587
799
500
133
502
538
532
975
55
912
884
725
517
628
439
951
47
917
510
438
632
647
432
616
868
424
977
852
462
599
638
979
152
594
289
744
201
363
455
628
761
150
189
595
148
891
588
913
549
767
83
141
727
438
953
715
73
439
940
383
731
44
484
865
598
705
817
737
722
773
107
505
957
836
908
240
819
441
394
940
118
353
253
1
311
823
673
787
525
477
505
312
810
575
618
472
556
393
401
104
906
357
578
374
673
427
830
664
519
904
165
159
93
502
648
798
420
28
889
126
80
492
620
854
613
783
829
587
162
328
149
301
546
295
641
610
882
978
682
765
349
980
394
651
900
661
933
713
572
157
28
901
526
907
320
214
106
273
439
370
29
323
264
439
263
242
461
38
291
193
243
832
221
634
270
599
649
253
735
141
276
703
983
617
995
276
468
705
627
486
452
131
476
311
595
709
640
469
552
26
371
710
708
295
793
553
459
697
985
282
824
745
781
311
691
834
622
210
745
122
458
779
945
358
998
583
436
74
598
250
986
817
649
654
302
719
670
842
114
796
184
191
533
771
88
792
971
131
457
543
888
361
633
744
718
994
991
263
581
204
27
499
849
130
238
423
146
52
839
979
154
814
504
971
442
604
198
385
604
324
625
752
179
296
14
790
187
970
725
43
626
652
668
655
951
994
628
737
370
124
363
7
779
889
782
512
299
581
621
267
668
931
740
622
185
899
606
964
530
978
566
165
517
301
240
827
782
842
722
931
474
390
328
995
242
775
285
212
201
46
133
321
119
884
563
172
748
610
120
25
83
502
454
649
355
36
821
174
722
851
118
497
951
931
28
728
873
506
805
836
17
662
772
145
625
501
915
818
221
961
797
776
984
98
623
778
449
689
480
548
498
533
648
880
140
699
415
665
345
289
10
618
68
974
104
314
650
699
837
794
963
450
469
629
70
917
575
829
613
216
152
378
894
574
166
522
350
16
786
132
193
666
43
621
52
212
719
897
784
459
2
822
72
657
884
440
21
488
304
51
723
138
773
810
704
930
581
152
218
318
726
780
593
910
371
340
220
354
992
215
329
541
377
28
379
624
265
578
760
745
773
900
514
220
656
93
946
160
143
338
328
153
303
279
373
685
878
563
806
437
84
855
133
455
130
116
684
470
134
252
91
305
631
522
634
407
124
221
315
24
981
272
69
432
507
272
290
945
224
473
700
113
197
936
668
670
797
780
248
268
375
87
600
997
191
477
949
13
387
814
896
320
889
820
757
920
948
571
545
86
433
7
377
462
84
616
367
86
690
380
529
164
553
949
800
639
655
728
87
148
675
260
116
975
361
813
993
988
789
613
561
355
748
462
73
49
795
860
207
743
557
855
175
751
484
17
526
68
582
872
248
409
615
102
958
388
878
594
279
605
950
154
995
500
730
350
212
236
691
448
539
794
494
898
261
690
47
115
577
416
619
614
251
812
862
676
416
18
444
806
885
592
539
226
14
670
602
507
82
738
693
244
175
717
109
367
777
582
256
279
618
642
466
508
834
976
979
997
201
227
370
443
959
112
553
329
816
575
852
447
764
436
789
700
719
780
930
963
373
91
575
589
319
306
110
931
214
559
567
900
703
370
316
140
895
422
816
890
395
885
78
971
306
436
787
627
148
759
64
142
339
316
486
240
758
600
288
320
878
940
646
424
198
135
569
717
945
869
173
955
569
885
91
20
152
377
324
204
649
904
116
286
854
412
308
871
57
627
218
650
644
158
281
450
304
136
586
975
82
133
932
145
243
375
258
786
815
991
116
238
699
151
341
124
467
462
260
134
286
927
570
166
955
92
467
593
690
750
777
737
118
731
554
855
936
830
108
63
810
915
468
682
401
593
61
398
843
601
784
527
604
257
689
365
439
900
254
334
37
214
541
144
68
759
601
701
547
795
173
859
824
746
22
395
62
193
325
785
747
385
107
463
657
617
73
228
703
698
132
413
239
960
552
199
758
890
924
224
377
547
92
248
150
355
770
155
32
751
819
63
286
418
64
597
219
531
87
699
390
500
655
461
870
206
299
560
698
624
104
840
401
991
956
478
355
444
302
922
782
116
26
529
400
218
159
403
95
576
949
421
477
399
327
894
884
803
865
584
190
780
150
37
787
816
910
329
216
357
314
348
240
659
642
675
595
343
888
998
258
157
943
711
831
4
726
44
577
318
970
622
695
247
437
828
665
901
1000
718
888
138
365
545
373
981
232
97
939
763
303
216
250
537
899
799
5
122
890
554
796
380
254
563
447
981
899
450
151
964
270
555
338
842
877
93
20
886
143
673
299
479
831
935
829
115
916
303
298
696
940
8
393
268
811
625
316
249
473
314
614
468
113
849
18
94
393
305
976
591
666
975
827
399
342
651
858
956
330
963
47
985
967
824
938
756
981
403
924
128
788
209
201
773
871
66
792
898
81
740
323
194
445
942
705
459
464
304
456
567
947
623
187
4
156
393
672
197
381
160
7
254
113
745
601
539
678
738
113
698
490
962
14
392
142
798
128
992
150
352
390
926
509
463
48
203
171
460
719
869
191
372
33
816
544
59
72
383
564
311
453
687
553
560
708
443
344
222
551
354
501
97
725
762
419
477
407
406
778
766
540
567
696
524
62
804
449
763
708
778
802
261
972
364
844
402
849
385
725
762
170
794
826
262
715
80
719
208
794
993
732
939
648
437
64
149
863
507
160
145
959
206
506
444
453
349
80
154
2
499
459
511
666
578
964
813
951
942
308
729
39
336
904
623
557
75
389
126
277
259
915
618
405
566
480
706
474
438
879
40
435
28
880
21
195
356
850
36
753
496
419
871
74
482
661
875
996
862
974
224
832
435
51
423
772
823
317
737
838
913
765
856
953
140
393
475
622
793
334
860
823
250
342
711
989
91
494
795
365
556
865
894
607
703
445
573
207
913
747
179
244
105
417
231
980
144
635
103
19
431
245
437
132
606
397
295
328
614
900
420
446
135
643
312
346
514
208
62
794
896
235
982
222
199
183
142
890
958
887
853
393
818
710
963
70
634
159
629
648
736
513
857
354
886
454
678
822
855
627
308
328
359
833
10
301
296
827
674
596
825
734
309
687
878
725
753
842
102
928
900
311
54
482
672
754
747
300
753
454
242
358
855
334
72
275
899
444
724
539
35
376
274
977
862
10
533
965
569
112
754
458
967
545
13
99
531
310
896
572
659
165
971
865
326
338
885
325
162
718
594
187
817
960
342
793
124
131
575
858
194
897
839
927
88
742
95
685
82
402
593
836
921
504
610
118
620
387
890
381
545
226
612
822
511
864
36
149
602
218
787
898
256
716
889
162
898
7
245
711
96
75
271
873
757
4
751
529
364
820
816
317
635
279
139
436
266
969
50
460
617
824
319
218
305
985
746
110
649
965
564
189
856
256
875
961
629
801
4
151
612
289
689
587
715
827
498
962
906
358
730
499
469
132
303
399
137
657
842
568
684
810
239
290
791
204
458
410
31
494
247
115
794
27
729
569
872
133
536
534
188
395
291
564
858
437
734
544
369
126
728
148
171
607
730
233
367
223
15
356
537
262
119
325
922
371
509
169
352
701
432
988
321
63
283
883
553
892
584
595
265
367
849
507
86
841
201
411
223
619
577
787
92
228
769
399
32
534
356
665
166
451
759
617
722
542
305
279
311
493
179
896
813
333
576
821
441
226
209
771
559
905
553
836
557
71
855
864
890
620
3
806
950
150
790
180
31
45
972
78
48
322
819
14
44
599
481
501
770
750
635
444
773
265
319
316
505
896
788
596
942
900
496
164
67
84
60
152
378
902
133
275
252
31
652
808
615
260
869
177
856
978
869
627
351
256
61
502
261
339
231
511
510
329
341
730
965
987
176
231
889
888
331
939
659
585
793
739
629
76
553
915
714
607
249
709
1
770
861
175
198
942
846
512
246
320
916
762
786
217
874
93
452
812
524
878
168
251
698
447
711
866
884
690
824
264
739
653
45
240
44
899
282
757
289
677
831
760
116
887
218
184
332
398
731
346
51
550
8
836
788
562
337
153
30
116
610
560
868
628
53
97
765
563
864
217
461
705
927
283
261
446
604
25
725
41
425
110
843
222
164
179
315
772
402
64
502
412
175
392
912
884
734
483
851
168
727
250
1000
604
372
793
249
94
299
533
41
661
785
4
894
385
39
886
491
142
52
470
933
631
277
492
332
887
70
203
889
858
375
640
33
638
636
230
957
649
275
332
132
395
373
791
974
410
375
321
857
682
755
385
110
130
566
230
454
695
706
937
573
211
580
642
169
517
518
591
897
191
980
303
34
880
77
930
596
464
423
848
904
163
630
610
246
299
62
671
409
589
589
694
290
770
178
848
750
838
99
204
119
408
438
264
516
513
373
662
230
666
363
317
946
183
18
629
513
526
886
866
310
956
851
526
960
836
108
301
344
781
937
247
361
199
614
893
898
949
836
337
772
505
969
803
243
487
308
754
820
431
246
414
696
412
953
480
133
499
710
859
495
48
522
515
457
519
15
908
105
864
906
2
256
494
532
599
373
533
17
521
837
329
663
258
208
189
67
811
320
925
267
806
719
58
976
447
988
479
548
490
980
952
899
233
824
86
26
450
852
312
107
336
280
964
456
740
529
762
717
435
594
893
800
722
751
388
1000
390
184
695
625
966
843
188
269
215
937
833
528
48
8
409
569
371
435
473
470
899
567
727
665
642
426
581
111
594
44
464
76
123
81
884
522
727
297
323
122
79
845
797
889
764
103
329
240
705
935
618
63
25
888
934
51
50
773
601
77
179
511
507
918
629
919
718
984
413
292
649
976
484
303
214
649
647
704
55
884
726
794
254
332
463
404
865
779
815
424
287
194
623
528
722
172
111
801
918
81
335
435
998
780
449
531
399
210
654
306
876
517
772
680
54
597
660
303
264
153
89
589
230
373
318
178
743
365
266
593
603
317
153
544
996
168
435
437
915
250
143
204
443
976
30
443
484
132
470
238
19
768
729
739
65
980
23
747
323
104
805
79
891
981
803
463
573
978
681
79
977
398
615
615
95
753
677
901
26
146
706
759
288
647
249
698
506
134
227
476
277
530
222
361
746
759
673
120
712
15
785
380
119
149
698
48
425
64
278
857
650
15
939
998
884
625
39
981
631
247
759
550
677
17
816
517
77
589
32
835
460
57
537
99
101
31
389
930
92
175
435
387
541
765
553
605
898
994
812
391
421
822
656
355
290
120
961
502
85
766
703
883
178
127
4
39
70
32
546
476
895
981
674
362
68
799
43
930
586
383
319
852
547
495
279
965
274
775
627
299
867
298
993
299
46
997
858
519
976
258
620
811
86
825
599
231
13
883
571
459
496
900
303
505
399
326
670
897
119
755
148
326
256
517
869
941
822
957
967
88
228
862
651
340
940
580
283
46
41
376
766
500
844
519
711
48
382
350
176
103
838
363
247
90
928
928
383
799
844
824
220
491
605
207
506
376
571
968
915
740
423
710
773
113
152
717
147
326
445
363
304
222
413
384
303
86
746
323
351
553
282
208
615
883
424
285
365
5
1000
140
693
659
13
123
559
302
119
363
585
172
870
972
843
71
483
290
872
952
359
131
278
384
651
21
589
296
941
391
463
213
472
498
975
337
470
640
465
442
760
853
323
498
306
886
222
396
290
685
458
876
53
32
538
36
558
242
605
359
20
34
78
256
22
772
669
526
729
304
1
967
777
502
195
636
59
461
128
869
869
4
536
243
847
803
796
117
710
929
981
254
42
114
773
284
297
346
879
473
730
659
906
306
196
178
25
928
624
493
371
334
492
471
817
543
842
436
687
671
168
481
974
942
64
336
881
210
617
828
805
448
386
480
445
65
242
190
336
568
473
263
993
305
360
289
774
524
822
484
745
975
856
153
114
624
233
879
247
833
297
882
885
526
812
753
963
462
471
427
310
691
93
830
638
710
544
101
407
592
98
677
575
610
308
817
787
457
444
319
217
212
214
301
190
610
794
911
685
12
150
748
996
717
267
576
165
894
179
678
269
469
614
769
286
761
681
974
67
518
256
792
876
287
623
328
70
714
516
312
768
464
888
612
764
939
617
999
510
860
906
882
734
91
286
653
160
782
5
17
800
25
47
418
541
751
222
237
52
488
531
968
605
980
512
976
19
363
383
757
800
770
563
856
517
767
610
711
585
5
687
747
936
799
431
968
493
171
477
156
983
998
986
535
374
575
201
423
152
804
466
963
721
690
132
479
445
578
504
424
231
798
272
131
113
981
914
783
975
361
181
140
426
754
96
534
840
798
864
558
754
220
706
727
130
588
924
65
478
33
410
229
474
875
441
316
489
995
809
940
423
4
275
501
304
989
867
840
409
669
768
637
73
308
428
953
919
582
27
316
980
968
642
620
72
858
269
894
826
771
395
679
963
527
918
377
800
184
70
411
428
862
424
464
718
342
220
379
129
434
998
515
236
707
983
513
99
82
732
413
822
200
329
63
144
216
799
564
499
852
464
269
736
140
710
522
623
266
973
874
314
301
803
986
227
457
536
845
113
658
456
139
696
862
308
902
930
596
709
585
781
561
270
730
469
40
253
364
248
31
165
981
160
727
9
786
650
969
822
433
587
783
729
69
18
982
977
921
939
46
354
19
474
217
895
891
108
806
63
247
44
193
400
712
340
898
230
659
183
432
128
83
586
297
749
195
794
651
94
177
933
676
427
75
743
586
905
354
782
577
406
26
157
744
192
588
638
130
817
236
15
638
104
942
692
493
136
17
800
290
938
732
557
449
924
418
237
80
249
214
821
818
939
285
386
212
2
939
307
621
801
484
607
373
615
108
184
179
678
301
161
366
972
567
326
550
707
244
486
779
733
285
557
4
89
729
393
997
523
442
684
450
84
406
717
82
840
483
460
985
347
100
189
358
755
755
867
9
329
602
547
713
742
585
376
561
681
819
160
960
217
920
58
819
882
995
673
763
614
885
716
924
543
7
462
973
98
880
407
575
95
975
896
390
216
68
17
43
819
664
695
270
101
382
781
552
420
429
889
125
37
397
877
202
605
677
161
613
483
700
513
837
382
100
577
570
872
602
130
569
17
152
994
490
784
320
630
845
870
523
636
991
313
981
764
273
566
582
647
88
718
75
79
595
208
46
596
301
678
203
70
510
576
344
245
918
751
249
429
260
547
432
66
949
854
327
532
157
156
30
300
583
849
128
571
483
44
540
566
191
577
516
956
421
218
109
290
182
903
507
904
970
349
596
478
260
627
968
338
992
56
422
600
875
326
668
508
841
888
538
604
937
460
546
967
228
962
10
330
75
336
294
804
262
452
946
843
5
753
626
271
848
405
769
459
798
406
859
207
838
579
55
476
107
390
640
897
657
255
445
883
650
387
965
262
281
248
349
570
494
357
830
531
782
556
452
804
959
821
137
773
842
363
237
991
167
76
717
956
926
354
32
994
558
912
579
412
24
543
312
531
916
662
763
851
153
76
238
412
703
686
382
332
45
713
688
649
754
597
752
823
676
953
251
692
642
823
691
249
592
995
928
327
243
343
372
179
179
5
537
990
329
662
332
528
330
396
44
534
214
373
505
943
153
65
325
697
775
881
392
748
685
807
83
812
384
124
726
600
747
361
922
512
557
363
257
257
399
789
799
463
370
391
505
87
648
150
362
381
953
724
609
223
349
673
899
862
589
625
621
516
471
893
885
798
243
24
876
658
142
448
379
377
560
679
279
144
176
496
745
970
634
156
644
947
974
965
438
397
99
462
436
70
2
86
854
348
345
405
524
352
260
924
470
988
907
29
833
181
416
850
762
11
329
686
973
13
538
179
650
648
53
594
238
827
591
417
455
428
139
957
575
931
135
830
589
680
853
969
387
742
892
295
501
71
444
309
283
447
109
627
578
681
640
926
143
696
894
858
21
399
683
230
107
699
955
162
913
644
934
989
353
395
408
382
986
700
370
546
772
576
588
377
802
167
502
152
918
109
35
635
361
302
536
537
823
658
84
861
353
283
811
15
567
544
733
511
563
640
824
729
692
640
707
451
143
400
386
857
840
449
911
227
767
693
721
863
221
751
685
635
876
853
546
127
775
469
536
556
536
279
440
537
141
655
278
258
612
571
51
865
803
724
759
626
281
720
943
27
10
347
593
24
87
359
132
542
355
638
570
752
60
361
611
782
106
531
688
298
611
286
419
837
669
496
958
839
205
461
54
93
780
986
433
717
48
700
269
830
308
251
107
818
276
944
575
445
761
431
646
93
381
338
978
122
882
57
94
645
863
508
767
32
923
362
997
121
355
67
396
390
484
48
622
342
698
609
762
963
8
392
182
387
705
726
434
852
321
854
264
596
617
796
624
630
801
567
866
178
465
586
965
174
65
355
729
406
849
917
383
764
271
182
893
588
858
926
619
292
403
170
643
278
128
687
213
654
161
576
275
432
270
214
974
662
297
390
362
473
154
116
266
55
540
421
438
455
804
413
641
441
448
46
287
809
868
305
631
259
810
992
246
346
919
886
741
83
471
813
215
508
73
100
954
855
669
939
289
46
649
430
285
876
275
461
196
599
881
117
199
651
532
30
950
869
901
909
935
889
152
529
421
366
491
619
43
283
911
396
725
908
342
9
672
857
68
757
621
353
802
768
432
996
252
758
334
256
362
606
853
481
666
738
491
416
356
733
769
97
723
142
81
519
622
241
159
668
476
319
629
327
113
162
252
587
464
587
996
133
684
216
949
180
826
237
497
426
563
522
856
473
799
334
243
981
221
797
492
222
971
495
904
830
659
796
456
248
892
10
298
813
312
35
612
450
916
972
504
686
96
47
600
50
374
297
397
963
314
698
210
907
457
779
814
981
410
343
426
998
414
590
748
869
823
815
195
378
922
843
258
396
415
550
216
206
759
142
25
893
215
337
299
683
123
238
719
716
473
484
103
964
226
201
616
944
260
407
293
388
14
750
122
289
92
923
422
605
144
629
153
399
333
747
94
436
553
183
528
38
357
992
198
540
266
517
806
825
698
657
269
221
277
899
254
516
698
405
286
974
632
280
847
4
371
125
433
570
78
100
509
525
483
66
656
797
882
750
984
756
77
553
38
160
691
351
48
772
945
547
314
145
541
744
962
65
773
597
62
860
385
828
351
86
947
913
378
147
747
639
940
7
271
618
88
496
365
826
815
678
70
421
791
338
945
412
134
970
426
245
284
548
376
982
472
961
536
579
182
253
32
692
222
690
418
558
765
261
18
755
721
411
471
70
371
698
467
280
35
575
611
374
866
695
268
631
580
984
986
35
18
191
825
673
998
831
494
157
796
194
708
578
965
583
601
224
919
83
324
65
862
900
203
32
193
777
957
227
479
77
498
508
441
857
796
342
184
682
133
420
72
968
816
302
223
370
101
255
604
96
622
566
91
72
119
782
668
534
617
779
132
16
498
68
315
634
120
443
812
289
711
973
672
665
277
295
324
894
186
386
234
376
897
283
470
513
23
721
366
69
563
281
971
428
653
453
792
299
645
945
656
313
666
703
145
497
61
345
189
854
289
145
853
129
911
276
265
388
269
752
940
196
353
388
452
48
132
161
518
186
310
531
102
95
72
660
35
781
903
958
15
399
943
80
577
918
698
285
761
292
108
106
772
40
146
345
869
228
117
777
102
597
813
336
271
972
467
195
662
161
287
910
708
268
922
710
687
700
853
89
8
198
136
107
377
884
308
160
414
685
570
559
833
463
533
938
388
847
929
363
150
83
678
49
569
160
626
738
972
108
80
123
814
644
992
199
56
269
272
33
482
511
240
268
645
252
697
594
408
5
397
562
703
521
999
348
231
372
720
508
315
988
983
342
999
178
311
211
800
343
636
35
235
425
931
255
332
138
800
735
888
182
251
435
136
946
367
204
837
674
25
709
537
189
113
334
884
51
922
883
441
456
530
30
409
280
11
792
15
402
271
700
105
878
133
9
651
551
72
993
480
439
648
339
489
595
259
687
47
158
300
630
60
15
213
855
376
816
177
652
858
103
396
726
432
931
25
94
870
727
810
870
887
26
379
910
387
413
996
599
313
231
266
568
636
574
936
744
450
668
468
949
31
980
484
191
959
329
575
930
105
785
163
820
351
408
319
905
411
709
472
747
3
282
935
783
950
194
47
10
450
615
523
214
930
622
288
99
364
279
666
77
895
929
331
962
919
49
777
487
538
194
461
398
434
293
920
849
741
29
343
966
507
93
101
733
639
871
672
820
37
525
251
569
779
481
113
99
822
41
400
459
641
258
649
774
660
161
779
604
106
185
684
105
127
941
839
126
651
488
531
83
449
916
420
299
326
352
140
519
165
477
566
469
820
262
181
667
477
891
715
164
155
813
841
525
495
414
263
183
825
65
961
209
779
221
728
675
413
770
356
51
857
84
20
470
1
66
458
303
662
33
531
196
916
460
612
607
42
432
56
947
613
181
675
605
780
198
771
507
755
250
747
360
799
103
759
425
775
823
174
456
477
382
822
443
483
664
170
942
247
88
568
44
515
819
676
504
906
911
11
157
679
820
325
506
315
417
175
272
484
9
618
811
411
915
434
487
425
809
672
508
701
402
577
270
805
21
171
948
682
298
849
936
158
491
359
740
842
933
439
122
570
714
210
581
179
985
157
774
437
218
119
93
416
325
305
420
486
806
745
36
326
988
955
743
85
985
857
559
857
212
137
725
157
173
303
369
971
763
680
884
243
505
458
976
385
997
679
375
516
326
776
405
622
369
835
968
803
707
294
7
68
347
163
175
900
558
218
283
946
931
790
51
749
170
940
855
389
246
842
432
268
278
106
975
41
902
667
632
883
967
599
225
846
92
854
869
69
8
548
301
978
625
818
934
448
452
728
17
60
350
921
888
246
567
960
934
112
694
367
787
152
456
381
257
910
248
376
712
894
921
692
885
660
624
348
636
73
425
750
772
187
36
31
873
54
217
114
983
50
311
919
155
973
968
416
97
261
285
364
580
156
486
657
843
542
799
158
976
497
347
808
125
279
740
548
434
608
529
314
819
618
847
947
32
771
375
372
993
368
227
809
23
24
470
96
447
635
797
426
11
892
259
936
706
372
106
614
866
604
495
946
877
259
241
544
427
814
850
796
1000
600
779
196
228
150
256
607
793
156
990
178
801
128
833
1000
943
92
746
903
297
235
460
954
320
462
845
345
459
237
338
343
778
912
711
890
222
8
126
273
421
521
665
989
437
426
472
564
494
958
242
631
518
153
28
8
278
386
241
852
5
325
286
257
648
783
482
776
332
483
801
457
172
600
466
931
305
266
657
986
917
949
403
825
71
688
231
926
336
733
308
10
593
39
609
105
891
393
125
147
896
717
223
847
309
207
86
779
610
536
547
785
604
310
768
826
578
314
934
341
273
868
540
32
548
794
922
754
302
64
373
838
216
194
594
750
878
850
211
452
146
935
825
237
953
611
361
62
324
362
496
618
55
192
613
472
386
490
4
606
989
944
44
619
770
84
662
634
321
730
712
722
315
630
802
239
795
58
697
51
92
989
686
27
69
764
202
555
465
785
531
80
426
935
665
826
667
833
255
924
344
984
86
159
401
157
760
414
72
50
37
673
246
392
840
159
615
174
51
748
873
630
42
341
755
889
355
257
356
6
69
45
27
183
150
335
86
573
553
465
765
995
891
676
61
272
273
597
646
664
285
588
579
41
167
282
339
31
955
301
587
373
705
716
191
84
982
269
224
863
455
782
69
360
775
440
311
555
941
831
756
501
982
753
827
132
102
756
561
650
407
334
614
253
952
494
15
618
116
131
858
589
261
303
818
990
214
991
97
354
352
433
420
597
991
393
780
393
327
57
877
35
384
349
656
108
325
567
891
148
979
194
497
797
633
611
166
662
1000
265
931
185
726
471
482
384
995
701
417
213
583
653
119
653
170
849
605
376
853
802
548
954
589
27
628
168
699
302
511
893
693
617
75
434
407
180
895
934
831
738
680
665
98
165
46
589
790
983
983
567
112
32
413
992
497
953
492
424
901
583
672
7
377
585
113
71
524
881
711
330
59
513
864
531
56
600
143
231
391
935
149
606
511
606
223
882
974
745
105
976
98
130
315
438
667
906
795
620
903
148
318
293
775
301
271
582
324
832
678
198
869
557
762
417
831
181
890
160
459
578
524
835
907
197
633
290
963
774
113
368
227
231
934
48
683
225
97
103
423
335
1000
534
752
263
481
769
10
764
619
772
250
227
373
756
310
972
270
151
952
356
637
839
446
720
340
451
409
76
582
674
754
160
91
134
327
163
932
367
179
10
267
825
444
519
608
652
496
181
497
148
367
551
96
502
442
468
874
356
71
392
407
200
71
171
369
435
23
451
907
188
945
761
961
581
133
33
543
238
964
945
641
258
989
7
214
742
934
757
667
244
94
780
334
184
202
526
739
346
38
44
830
78
932
845
962
702
842
49
115
939
867
889
761
869
905
382
789
75
648
719
136
88
279
495
107
261
29
406
896
434
221
469
461
588
567
115
775
755
226
752
410
42
616
498
575
589
7
856
31
610
718
5
720
480
120
260
596
972
703
997
874
361
201
999
851
68
111
748
520
948
11
674
429
101
727
718
636
303
754
893
140
772
355
702
870
998
370
348
188
796
126
725
851
565
765
43
558
5
949
785
540
139
184
406
110
588
915
820
759
486
173
258
142
260
754
503
289
836
861
899
441
424
669
731
199
197
493
785
99
617
129
926
271
72
436
536
602
798
450
504
697
760
113
273
971
269
257
127
422
668
570
503
971
292
147
609
785
305
632
66
657
691
139
575
349
882
859
859
778
1
749
251
70
706
754
334
803
953
763
986
192
774
936
20
604
357
43
383
526
266
230
529
46
676
953
133
983
839
882
820
12
846
232
935
540
922
356
676
637
138
391
106
993
413
427
657
768
123
984
741
185
475
514
1000
911
21
313
541
563
345
466
219
197
14
410
678
238
332
270
379
131
296
387
294
928
441
360
294
138
923
460
514
430
277
520
131
190
769
261
78
525
179
550
160
17
123
247
955
441
748
187
636
681
752
290
558
295
188
965
58
535
449
800
410
130
151
973
285
824
396
935
399
467
1
735
249
465
880
745
952
500
677
650
264
759
155
341
775
333
577
704
149
67
522
398
995
909
148
418
672
709
903
594
834
513
91
236
47
614
481
803
171
12
380
801
466
492
192
143
614
206
496
838
912
530
130
182
922
948
569
599
742
910
155
912
928
927
351
67
769
641
272
312
288
254
187
391
846
495
555
575
696
242
422
247
169
47
699
339
415
35
908
88
817
116
474
513
239
977
550
487
234
94
644
502
258
854
49
35
667
957
155
948
25
427
290
493
788
969
627
293
1000
872
30
166
984
348
477
752
379
48
821
691
66
410
194
541
672
720
353
712
372
972
589
425
645
138
620
140
509
19
58
922
485
617
607
953
226
919
171
758
308
9
411
753
142
695
122
388
365
216
980
527
335
122
856
671
568
139
884
319
24
684
912
36
195
696
805
787
817
639
288
717
879
825
675
820
295
733
888
886
269
590
614
709
887
311
324
774
938
813
129
551
295
865
163
99
447
850
218
854
956
275
883
405
634
423
322
549
265
264
112
113
523
650
302
872
566
846
942
399
453
658
854
808
135
773
370
205
290
434
48
70
652
259
168
981
842
805
916
807
894
504
733
981
827
691
264
516
639
773
708
204
29
22
125
834
32
68
449
296
479
976
546
207
869
645
608
16
798
413
621
608
580
911
406
86
51
669
951
780
861
458
388
499
726
93
950
709
220
264
709
642
709
971
692
276
906
319
257
786
367
741
198
304
979
210
159
801
87
634
356
454
487
419
475
156
910
139
905
673
10
364
124
561
99
939
134
157
40
454
354
802
775
204
250
36
950
662
297
631
961
401
576
228
536
411
411
774
678
999
999
185
363
766
865
395
920
722
366
476
410
220
160
600
653
247
725
414
760
584
552
810
185
478
614
196
304
760
51
85
523
817
801
247
713
401
76
730
576
41
168
737
159
742
51
776
335
713
657
471
532
121
488
148
366
246
447
618
126
943
376
618
252
37
810
969
45
130
907
873
840
292
291
702
817
308
857
271
398
455
165
849
944
263
155
128
60
381
332
916
387
421
461
612
161
639
79
384
220
392
784
574
332
600
386
22
942
827
453
909
458
203
702
241
181
121
993
261
883
534
363
937
788
727
695
173
448
628
84
520
548
98
945
1
248
123
195
111
6
534
603
182
211
674
550
87
137
442
981
677
861
257
286
449
859
791
237
687
882
776
849
714
617
776
216
963
349
602
980
285
534
954
46
287
733
940
567
514
860
383
46
980
43
178
553
907
715
532
742
484
726
610
317
181
362
967
37
380
185
161
213
134
489
104
840
412
15
41
186
528
256
532
713
344
352
433
636
446
79
683
321
743
905
648
970
830
398
871
743
15
579
362
506
156
915
956
953
270
767
848
660
459
41
173
10
859
695
334
586
146
536
879
756
659
420
893
707
332
589
240
91
439
361
505
798
637
819
141
102
888
454
182
558
650
935
816
617
134
318
305
838
529
48
988
971
850
24
571
958
440
876
529
39
260
345
178
789
777
311
910
844
641
593
169
518
401
117
956
277
143
414
53
276
322
722
694
744
20
136
118
62
550
351
286
775
594
564
64
624
75
992
339
919
542
298
865
236
164
925
105
443
327
975
997
542
452
814
332
672
872
12
422
888
526
585
798
994
791
750
986
828
955
592
791
837
771
73
113
719
979
805
54
182
936
904
942
591
310
998
968
392
264
164
310
705
762
198
991
425
404
65
216
492
649
858
619
724
469
853
660
781
172
509
396
331
635
370
10
506
251
876
734
39
625
28
291
305
502
689
571
613
418
83
20
704
324
688
130
408
769
304
520
786
297
551
299
900
349
410
815
554
349
742
410
968
614
882
538
378
404
509
421
945
723
22
464
238
463
523
786
762
83
362
590
652
324
901
524
723
359
792
888
497
404
595
259
720
32
19
136
130
363
388
247
928
834
226
464
486
496
985
669
295
640
29
512
92
87
940
696
362
658
117
355
153
195
399
107
232
982
161
566
154
574
906
473
719
866
892
88
641
678
761
184
992
271
417
791
113
972
657
823
262
541
176
865
202
987
597
677
309
281
133
445
560
850
323
387
901
760
58
110
136
221
742
20
406
443
39
154
766
861
100
71
153
462
561
765
248
283
878
174
337
120
775
515
337
192
651
534
513
754
829
808
324
671
413
354
996
550
359
169
137
326
78
779
704
126
513
527
128
830
182
117
249
977
119
884
982
601
983
366
330
108
863
18
417
541
487
316
724
445
580
106
602
68
108
734
425
840
35
427
473
876
967
419
740
777
803
514
371
152
62
135
387
78
98
434
665
189
798
689
886
226
690
53
315
613
619
688
820
114
248
467
515
672
724
726
736
303
739
961
877
307
111
37
760
136
736
163
797
948
431
873
214
277
758
281
963
251
397
131
796
504
995
558
148
228
735
992
106
857
37
362
747
484
909
610
594
451
476
525
701
507
118
91
208
547
476
854
758
231
292
310
306
717
697
941
238
319
87
322
629
173
170
678
723
872
112
379
381
604
990
103
360
538
870
844
730
93
951
499
688
203
161
502
263
955
463
868
180
736
938
44
212
575
391
179
910
504
831
750
491
567
661
46
35
582
866
625
847
860
754
718
10
907
76
530
686
518
444
524
712
798
23
53
354
391
410
187
904
566
456
158
944
927
560
624
703
170
592
873
919
723
208
149
999
122
765
538
107
645
439
210
972
99
425
384
861
612
302
63
160
974
733
460
444
357
679
24
741
212
228
180
939
769
937
186
946
851
320
8
221
623
752
765
805
518
581
52
812
804
687
449
616
182
86
583
658
339
411
405
855
619
285
754
128
833
658
838
405
769
145
35
794
127
301
244
327
471
548
132
777
271
141
752
565
258
197
416
737
143
285
201
272
190
494
120
772
289
224
849
686
913
152
841
812
822
970
846
735
419
515
93
282
461
866
888
775
194
826
960
102
42
944
669
170
735
942
87
313
78
920
54
610
625
220
552
887
213
218
89
360
619
564
381
523
635
615
270
864
477
888
720
470
795
377
695
365
462
461
945
692
2
3
2
497
742
884
214
909
740
935
237
985
134
686
249
332
769
851
48
918
908
782
352
131
363
401
843
244
600
266
933
940
258
501
816
419
43
295
67
950
132
549
979
397
82
42
846
397
723
177
594
371
666
960
558
476
889
395
655
950
282
841
942
14
218
255
306
697
937
416
61
418
999
382
353
203
145
475
545
721
646
994
249
116
627
756
231
779
916
275
208
815
678
78
473
896
476
212
335
645
408
470
632
456
685
256
922
885
322
273
527
345
644
430
304
886
931
461
852
221
863
733
913
50
369
666
846
925
125
968
435
569
208
646
719
603
367
350
206
111
935
182
617
308
683
501
244
873
799
645
136
169
751
711
564
672
981
724
658
394
296
566
668
13
295
43
33
690
402
306
353
297
884
669
361
866
756
535
238
599
602
738
923
708
171
141
645
694
62
694
493
389
947
536
741
259
530
875
582
997
923
585
68
412
149
436
367
957
294
838
874
39
178
851
331
415
514
917
879
559
216
478
875
879
894
190
374
69
619
918
439
656
695
77
792
41
550
178
881
915
822
615
153
995
395
851
142
391
441
134
29
821
478
819
480
56
103
167
908
687
301
212
763
305
206
951
123
693
747
601
622
442
876
137
725
713
976
687
458
534
605
565
950
83
948
950
593
931
220
226
173
83
796
10
68
988
20
768
500
362
498
682
867
814
163
163
380
761
562
967
588
74
631
396
893
183
668
472
816
167
362
291
603
452
494
981
745
312
374
832
124
335
162
182
784
356
967
604
785
149
27
782
197
346
330
204
55
622
752
496
27
177
150
743
599
959
899
655
834
849
28
801
137
253
456
409
11
152
818
447
478
696
50
778
702
822
184
190
380
256
770
30
584
460
997
966
141
738
819
129
40
789
362
541
49
417
456
231
494
16
396
922
99
662
933
487
918
385
60
660
612
226
372
617
788
195
643
139
656
139
811
12
8
842
725
231
414
355
858
338
565
700
698
919
890
610
661
899
950
863
188
758
598
145
171
223
591
77
943
282
132
222
874
628
842
397
34
724
758
623
475
754
281
369
446
660
425
536
229
286
341
803
386
446
837
529
874
371
547
417
901
549
479
509
388
469
875
916
624
149
754
870
1
603
2
309
746
617
605
237
201
279
469
500
528
735
282
487
659
536
30
471
955
770
146
976
307
887
689
597
344
769
649
146
8
116
225
898
5
678
892
931
534
193
190
276
275
167
394
650
807
776
683
40
518
250
984
306
605
54
388
270
906
89
944
463
204
901
669
820
86
573
805
135
641
604
734
10
44
547
443
361
580
623
133
307
760
807
362
379
965
153
114
554
488
211
315
600
939
449
606
530
725
535
654
784
710
169
851
912
230
926
59
104
353
219
945
930
645
70
529
24
723
836
824
260
575
438
794
169
958
900
447
970
187
223
531
601
272
706
206
556
686
826
33
193
994
705
830
378
218
21
230
17
58
920
304
44
63
136
197
920
407
55
569
539
180
891
549
722
18
519
25
156
440
730
371
705
491
859
104
529
140
790
569
322
437
336
443
308
609
836
794
301
88
640
405
300
15
806
331
567
863
969
991
93
674
808
593
663
835
982
399
502
474
700
123
596
308
334
754
359
224
592
244
271
962
816
771
455
17
918
751
963
270
304
388
696
942
900
288
474
146
36
615
758
724
555
309
927
39
929
142
805
126
587
767
354
907
945
455
55
188
777
922
514
812
733
498
269
649
745
914
610
60
35
132
433
117
195
995
841
111
601
926
214
836
991
570
955
719
599
45
970
116
704
433
225
993
746
246
370
772
469
848
544
350
676
266
931
143
277
365
542
566
251
110
17
530
63
527
913
371
826
12
100
138
209
843
374
310
700
94
338
834
309
692
937
812
236
981
765
336
329
37
411
691
392
903
656
635
516
104
315
516
661
49
844
747
660
416
632
578
633
190
72
127
598
820
68
394
699
841
651
317
40
419
753
965
609
489
994
677
112
536
556
239
889
647
816
260
202
112
438
490
346
760
60
187
997
184
521
574
152
222
842
74
804
334
795
254
249
47
963
381
529
254
644
68
57
931
809
723
925
829
620
441
725
754
658
516
975
363
122
991
420
771
725
503
513
873
932
245
382
25
474
21
461
560
765
224
738
744
13
76
286
885
264
589
319
745
615
558
541
867
118
323
952
108
658
188
602
520
226
148
991
654
560
16
977
558
89
128
44
978
479
559
774
765
842
177
162
70
853
920
224
683
615
423
963
793
64
445
346
508
150
632
431
727
790
779
126
324
831
154
386
157
836
382
831
106
578
99
851
228
499
848
309
88
265
690
815
526
770
602
398
436
586
19
123
610
916
819
796
341
558
638
491
272
255
627
22
937
76
716
870
524
157
947
313
687
194
706
661
607
596
537
587
136
75
727
505
523
778
84
817
169
755
126
659
864
666
414
450
169
186
927
164
968
440
159
719
726
193
113
330
650
199
465
961
784
309
963
237
50
458
565
320
375
627
887
280
355
227
312
432
334
130
482
967
415
749
985
956
639
149
742
464
531
164
972
80
264
883
663
644
916
680
140
343
709
163
663
598
629
34
998
409
574
875
551
873
966
299
958
635
848
730
996
910
603
341
305
562
784
289
687
424
8
469
677
686
530
444
671
719
873
89
169
122
879
751
544
167
608
398
366
23
818
320
475
349
154
439
903
875
741
165
260
590
641
51
379
20
484
204
867
875
651
518
705
28
579
325
174
394
114
976
227
782
360
204
861
194
111
867
188
382
833
789
664
677
82
5
385
240
432
638
443
940
243
36
79
969
80
526
779
190
189
363
513
945
176
3
47
720
1000
823
599
635
422
830
181
188
320
668
618
75
623
462
583
189
224
659
16
92
859
11
884
352
861
319
623
149
670
356
512
455
155
636
876
917
155
342
287
297
84
789
882
943
124
224
472
313
301
676
406
16
694
793
22
166
129
307
105
118
990
858
958
817
176
356
599
39
820
14
90
797
117
432
214
55
493
861
547
680
394
861
467
255
163
109
803
983
860
28
631
393
339
241
183
3
634
596
975
382
465
662
28
302
695
128
480
778
713
510
2
848
966
937
151
880
377
545
227
42
931
195
224
314
520
812
217
125
34
622
870
192
761
984
806
695
398
279
224
232
359
568
545
329
612
297
813
446
970
406
254
545
628
564
725
251
741
136
697
597
18
694
101
121
619
547
593
830
129
813
767
156
35
1000
403
601
889
966
112
156
342
338
620
986
290
208
521
84
665
969
502
775
825
656
964
27
47
45
460
481
386
83
555
8
40
902
573
370
396
819
181
279
143
202
908
722
204
50
519
939
716
447
626
844
2
780
29
11
273
788
78
546
781
25
760
324
305
306
332
83
112
45
35
823
17
194
858
799
752
641
366
163
623
514
315
955
356
851
171
715
103
450
654
489
814
561
125
323
564
242
988
692
979
862
229
451
588
220
943
29
804
184
926
563
229
614
442
612
167
513
856
867
539
71
127
50
888
247
67
767
780
48
886
664
728
489
775
652
700
512
181
313
366
818
3
881
539
618
138
313
643
859
679
71
642
299
611
188
586
184
19
62
825
929
665
248
972
351
298
158
908
509
203
220
475
140
315
527
25
17
675
433
632
270
149
854
643
889
85
283
184
164
36
618
406
766
760
981
532
557
451
613
214
970
573
806
343
991
714
564
171
348
590
365
574
505
726
958
314
450
337
589
429
79
641
457
241
177
158
458
20
606
572
495
60
352
352
695
754
476
665
934
284
885
71
908
714
48
108
886
576
443
158
931
555
571
920
64
484
823
402
341
677
358
600
279
565
431
917
401
709
250
967
943
538
570
583
902
558
689
763
693
367
426
778
655
553
938
875
498
406
973
850
621
452
249
233
863
13
173
29
904
323
41
724
993
281
198
747
117
581
375
720
35
756
553
566
832
697
283
24
748
318
309
172
131
336
755
337
232
597
856
149
476
966
430
575
561
582
855
476
392
186
292
602
458
303
319
968
703
306
921
242
338
750
989
114
313
945
110
615
378
403
442
6
755
665
881
161
432
38
598
347
21
910
212
915
942
680
560
702
385
772
34
868
183
876
954
494
223
353
272
509
470
652
200
416
70
745
15
854
178
820
390
236
392
885
82
579
699
531
696
196
814
827
567
50
698
194
487
465
800
176
136
365
274
187
579
345
18
724
143
728
894
982
289
196
873
543
863
721
214
585
233
286
952
63
390
341
151
448
28
15
378
902
2
848
817
218
327
232
288
462
42
780
175
4
878
589
950
576
623
706
539
26
507
154
234
707
695
555
273
807
224
722
444
477
291
596
312
304
866
552
736
553
985
410
351
602
951
463
618
143
877
425
837
99
679
523
268
633
653
857
112
295
249
762
656
139
511
136
322
595
911
635
709
975
15
139
966
774
448
182
14
328
179
829
180
984
989
97
787
643
315
118
141
461
357
158
104
497
469
43
184
325
348
734
624
980
479
587
509
105
639
309
307
850
959
721
583
900
245
257
846
978
766
511
611
312
693
294
820
866
744
353
671
545
346
341
789
243
803
692
398
317
560
733
835
17
620
786
311
479
576
999
276
94
529
359
165
487
352
661
546
851
397
221
920
117
741
756
482
257
521
186
209
71
695
49
495
938
872
877
411
372
426
130
381
683
219
235
684
683
693
865
743
179
937
835
591
950
649
904
272
978
552
322
161
21
913
191
377
979
330
557
514
120
801
708
891
940
444
312
404
332
891
886
852
782
539
578
295
491
341
399
599
719
731
840
843
111
651
307
655
471
347
880
876
262
770
737
159
84
959
957
263
532
752
575
813
130
512
436
256
466
367
868
593
301
586
199
196
132
348
893
722
669
111
430
671
705
205
105
616
132
72
585
515
218
772
415
820
814
9
658
235
866
925
511
157
441
366
43
748
521
134
170
579
959
985
602
537
334
786
781
464
916
292
754
583
589
446
526
340
380
996
674
695
187
485
926
284
403
320
931
94
412
758
717
473
316
93
147
368
879
242
256
633
356
239
515
164
791
825
914
373
410
469
249
222
919
661
168
640
892
224
305
624
941
778
347
785
14
167
949
359
27
851
232
979
976
791
9
589
836
330
982
964
857
918
898
195
289
331
75
382
199
160
720
509
793
991
241
165
580
635
67
302
790
186
571
732
682
492
321
426
785
808
282
967
627
43
545
703
245
12
829
239
595
545
312
932
8
122
324
925
6
960
21
125
112
113
481
199
776
203
569
340
171
845
522
58
412
719
437
712
698
481
774
834
980
411
523
564
32
757
898
670
206
235
323
690
744
37
961
713
228
5
264
197
675
322
817
997
773
215
300
491
11
646
489
260
777
928
77
304
17
525
520
191
723
20
268
836
346
399
496
834
199
353
899
419
58
227
199
138
473
658
757
273
738
669
99
904
77
187
202
252
373
537
133
601
685
435
970
672
863
426
993
797
809
481
803
596
332
712
366
199
62
745
984
179
615
337
843
526
33
226
102
948
571
66
444
720
19
501
645
122
129
123
980
214
158
52
239
336
190
406
693
265
707
717
622
384
794
688
897
580
510
311
684
848
196
485
558
719
904
729
151
719
741
524
45
25
596
65
750
375
681
973
483
61
275
567
941
538
338
876
434
790
976
461
530
57
244
451
852
1
481
962
770
646
162
187
527
697
248
5
761
934
139
921
471
455
668
510
245
435
960
301
946
977
650
228
118
312
678
338
109
342
808
466
247
37
98
945
464
674
775
247
426
323
357
661
583
227
407
698
542
931
6
975
812
133
896
724
302
210
230
923
899
280
74
270
77
511
101
895
778
76
406
712
725
800
16
819
939
81
460
185
447
110
703
145
111
747
871
903
28
695
449
319
204
749
52
759
38
976
440
655
723
653
199
767
817
673
361
794
105
905
333
146
347
711
641
171
693
378
417
85
315
783
7
163
302
969
808
510
978
666
214
853
574
983
566
380
634
663
126
567
601
286
392
336
811
789
517
638
497
484
209
736
472
549
246
47
895
585
660
388
852
436
713
877
574
919
45
522
733
505
715
761
658
272
458
813
253
636
120
737
113
492
149
498
577
353
986
203
490
51
385
886
11
310
37
876
119
296
315
824
393
809
625
952
216
383
631
902
842
954
575
883
607
128
15
463
197
328
571
439
29
270
679
713
731
271
958
998
209
875
474
475
962
160
123
228
187
877
377
407
660
269
829
587
583
991
352
707
364
105
173
324
765
483
862
635
5
306
33
897
131
547
550
379
460
481
174
995
952
262
860
81
119
601
392
578
502
375
618
64
796
798
345
619
400
403
838
571
578
698
970
473
410
782
282
558
425
637
619
43
124
56
527
339
617
385
324
178
248
350
583
154
373
236
822
968
455
608
304
927
231
575
242
873
998
327
132
802
10
289
598
851
544
801
938
229
454
639
476
920
949
82
972
666
861
443
569
825
909
171
203
190
319
700
952
735
713
161
560
577
336
6
231
145
544
327
849
639
987
381
980
422
40
410
360
881
884
367
91
644
72
557
439
771
557
514
945
687
938
690
545
177
84
615
542
715
448
266
549
772
48
301
987
510
585
671
319
455
147
868
976
312
718
752
831
91
57
435
173
96
557
202
350
125
353
812
635
467
325
808
439
855
598
678
655
589
839
777
813
442
912
943
701
832
466
657
320
927
611
396
313
60
152
564
550
827
750
17
124
735
999
721
865
110
646
549
392
263
70
537
843
578
720
210
686
260
406
722
429
997
230
642
625
660
444
172
298
480
742
480
808
843
300
612
205
964
402
129
341
213
624
236
344
805
364
641
591
889
984
837
973
806
929
776
70
453
983
153
845
216
255
639
597
911
569
435
198
521
695
480
123
311
243
456
327
52
116
540
869
682
128
464
11
735
765
47
674
223
95
815
314
516
523
723
689
916
415
261
529
274
629
427
822
1000
632
154
280
260
196
778
571
959
627
33
60
380
118
900
142
975
70
346
716
855
186
614
998
4
719
285
659
72
498
731
229
910
278
987
808
665
499
273
393
328
766
572
550
147
235
767
723
183
606
764
226
610
637
949
831
44
887
91
913
334
944
506
329
734
515
887
532
324
568
718
983
874
202
598
533
87
8
110
321
289
503
120
697
211
623
475
812
444
358
164
811
520
371
888
38
348
842
884
234
891
817
570
488
591
93
255
640
994
16
719
864
446
604
945
438
545
94
662
61
204
357
654
647
841
605
954
198
182
493
184
250
649
3
274
357
66
481
703
290
738
809
251
915
519
984
951
226
609
297
555
621
232
899
387
328
225
803
890
810
848
251
495
120
787
955
749
395
416
920
750
147
862
443
27
537
329
401
983
584
417
133
877
134
900
48
130
454
539
617
414
527
2
516
598
478
927
541
117
62
468
357
746
830
421
269
75
407
154
980
217
297
145
745
396
766
852
416
100
651
48
605
438
393
476
623
175
205
905
895
687
27
201
261
719
868
70
967
424
182
472
157
610
186
543
377
519
389
69
923
730
154
134
890
993
829
646
412
886
814
796
893
184
969
423
2
760
911
410
830
648
111
958
877
603
125
584
466
158
1
172
797
680
643
263
72
396
879
50
40
689
107
197
871
230
626
710
483
664
187
574
307
662
901
737
29
69
311
368
992
831
408
987
836
101
319
197
392
668
691
270
52
421
62
749
603
78
101
590
18
816
209
70
782
761
828
872
142
513
791
274
78
21
147
352
905
146
246
463
139
203
263
42
698
619
982
921
524
594
413
975
465
329
732
873
614
918
108
121
329
522
225
366
839
782
667
176
695
736
926
67
312
690
428
638
500
595
890
35
201
484
295
849
600
431
966
764
421
327
504
924
476
468
909
46
476
594
752
751
728
567
138
462
532
277
97
484
68
767
174
547
59
779
252
201
754
105
28
919
619
198
193
658
684
454
48
953
633
472
199
309
612
378
17
762
206
994
743
31
171
227
486
571
357
566
856
210
687
974
654
756
206
797
882
130
967
519
275
123
985
319
746
833
544
461
388
208
932
419
145
879
51
569
881
663
404
967
302
678
721
439
156
20
796
746
169
327
189
83
417
388
98
538
245
117
65
425
350
884
165
601
378
149
990
966
217
844
41
377
209
717
120
71
630
124
911
560
162
409
255
651
525
29
517
881
95
74
67
209
111
682
125
223
45
103
131
493
801
882
360
935
672
681
717
240
411
745
512
447
336
959
561
761
135
681
125
561
913
297
48
341
64
521
961
28
774
19
543
702
281
820
679
267
563
353
799
13
788
659
788
349
656
480
679
188
794
489
730
608
462
866
614
457
128
809
161
481
956
312
537
450
795
750
765
457
83
379
231
284
954
835
190
237
933
140
302
388
830
503
926
473
830
413
234
56
326
161
210
693
729
904
237
969
364
847
307
286
562
950
840
163
220
775
719
654
445
773
438
202
370
340
181
885
857
425
250
522
620
364
508
587
223
849
395
198
540
646
643
711
516
741
43
619
470
105
460
507
796
122
849
808
612
83
192
960
807
808
125
377
993
593
525
319
47
205
457
352
300
566
728
594
943
93
728
360
870
415
371
118
34
337
747
917
347
437
482
554
300
696
954
801
783
875
214
946
28
152
885
750
190
695
365
687
876
445
382
975
825
352
317
509
14
724
734
225
728
126
248
872
486
508
213
391
266
811
673
344
201
370
719
892
722
813
670
861
190
25
474
324
190
958
357
953
10
740
993
115
290
556
461
323
472
261
770
175
488
534
56
380
49
657
399
781
23
673
803
591
644
778
83
169
722
262
278
763
584
242
736
603
220
709
211
626
1000
127
134
875
348
929
732
326
989
801
829
497
723
528
939
681
194
556
777
68
797
121
386
339
695
982
890
543
880
304
312
171
372
244
964
417
932
98
700
532
115
704
695
29
108
910
489
253
534
548
744
508
358
313
537
463
68
354
44
75
577
194
144
617
630
775
823
698
96
77
246
346
185
754
36
342
509
658
579
973
907
968
171
297
130
872
425
837
806
396
637
322
582
24
756
757
979
218
181
595
299
800
857
276
862
447
55
708
953
198
767
534
149
988
877
200
75
685
121
884
252
28
406
347
399
131
214
618
463
964
674
230
685
315
382
418
201
256
192
279
56
68
25
388
998
921
188
822
104
330
854
787
109
559
73
348
290
699
196
822
897
109
602
481
415
252
440
119
390
758
439
910
167
699
953
728
639
660
72
755
27
166
49
787
798
425
291
109
43
164
846
191
41
513
693
748
255
536
86
897
739
1
908
241
767
442
261
718
511
359
513
958
769
675
617
723
76
193
833
702
993
862
869
600
25
107
98
959
402
353
718
610
918
131
646
14
111
848
489
974
355
368
146
398
824
54
486
827
900
805
40
435
290
939
882
91
26
457
655
841
574
370
240
878
449
262
706
652
128
194
978
298
518
418
136
937
963
53
388
771
541
76
507
54
424
499
11
220
200
568
387
427
337
195
473
746
443
594
463
87
560
263
99
656
506
56
306
470
196
68
897
957
947
440
29
193
992
11
738
673
850
949
262
819
692
97
817
610
588
794
180
830
363
371
724
415
780
329
517
311
973
482
716
63
357
947
792
73
721
958
4
115
863
920
193
204
906
969
159
378
393
610
827
298
352
647
949
816
816
720
299
834
649
254
209
835
169
511
817
452
735
746
555
299
375
170
297
114
597
545
37
897
671
746
149
392
94
560
68
715
399
329
731
358
186
760
192
136
51
408
651
827
80
853
539
426
710
572
397
940
63
869
53
616
284
984
981
319
53
698
798
555
180
311
571
285
117
886
963
233
304
21
310
884
490
233
360
743
547
235
780
693
871
4
527
508
130
558
817
666
991
796
752
607
475
561
634
490
748
368
596
345
481
837
471
196
413
971
770
410
352
820
199
19
684
3
417
237
380
773
626
731
607
14
159
442
320
645
425
954
621
379
470
437
246
698
912
176
274
185
221
597
52
95
128
458
349
124
472
580
971
877
924
91
435
466
845
670
766
987
16
658
220
378
60
264
492
291
212
274
4
179
466
847
966
750
269
964
224
296
650
91
343
187
83
433
991
997
451
917
439
304
175
715
927
192
970
661
704
902
684
431
804
848
403
679
976
450
306
658
769
831
774
25
429
456
906
626
168
215
906
60
338
289
753
759
234
362
221
94
573
409
574
777
166
330
177
444
958
150
908
848
373
396
446
505
894
499
443
47
879
764
157
703
884
547
303
587
198
733
787
447
860
532
499
579
150
908
525
436
456
650
987
288
437
225
207
940
625
63
53
156
956
855
135
916
227
778
969
42
150
293
378
72
511
326
143
446
896
168
380
243
612
409
201
695
711
584
949
694
468
950
729
323
291
47
983
208
793
213
613
150
653
267
483
75
22
932
197
777
399
395
714
356
340
602
708
504
875
489
576
7
220
388
659
901
238
270
529
765
91
299
192
513
711
455
648
871
51
571
553
460
530
235
641
25
754
430
173
890
369
673
913
162
867
656
48
549
252
106
10
929
759
631
392
941
224
824
19
967
284
795
746
823
304
590
764
367
842
679
22
23
482
797
870
904
75
950
184
815
788
319
43
930
869
139
506
343
700
349
123
14
549
980
643
835
403
778
771
719
399
531
948
585
679
922
853
111
924
512
752
952
447
630
852
865
481
521
562
865
210
102
907
95
180
74
392
556
944
932
290
249
197
623
662
530
189
219
421
710
904
998
406
1
369
748
740
935
438
930
709
275
597
595
24
273
630
596
608
835
501
656
981
808
417
356
904
101
835
938
204
848
151
101
587
109
880
647
813
919
425
905
839
603
933
372
367
384
338
882
820
265
378
925
887
38
321
454
691
87
116
625
58
309
934
424
583
111
388
93
953
912
265
558
472
27
232
846
860
80
841
582
160
377
123
242
36
732
183
776
827
341
545
583
478
188
399
600
856
350
527
426
42
303
475
10
886
12
399
392
487
124
141
405
308
94
304
40
284
433
462
373
658
537
227
595
262
801
555
665
602
754
554
585
437
8
66
70
492
700
446
687
584
932
315
121
683
434
529
334
417
297
234
800
72
189
693
882
419
864
515
683
573
164
995
388
690
949
595
177
472
540
946
303
373
371
382
802
885
452
714
627
499
198
861
673
760
910
986
323
329
904
983
611
141
905
536
59
527
788
464
577
651
185
743
545
748
797
417
326
389
447
604
59
472
83
927
479
715
924
990
924
158
931
996
430
618
611
175
8
66
908
479
765
630
624
909
543
311
355
916
117
484
412
548
817
1
578
406
639
992
831
15
526
517
360
912
510
823
305
613
858
294
645
642
163
168
570
950
594
659
519
408
147
472
729
511
780
575
846
95
812
709
618
632
776
373
173
648
235
896
720
902
724
792
765
212
58
808
101
270
750
919
887
322
180
103
124
354
431
857
694
288
460
306
925
750
343
211
346
172
875
371
875
339
742
704
204
1
788
759
543
871
663
536
226
98
272
270
867
346
2
281
927
702
654
45
551
956
383
442
510
240
708
488
901
610
845
964
39
926
172
28
612
318
669
306
764
556
516
955
219
942
884
899
956
657
134
769
223
94
252
71
875
386
391
766
116
190
792
768
730
815
200
794
800
942
138
666
737
504
39
415
136
797
277
483
656
499
619
904
608
98
476
600
400
160
584
815
350
984
450
301
591
453
961
44
12
301
57
227
178
608
252
630
215
41
93
871
469
280
369
716
571
78
966
195
207
621
820
405
518
228
317
704
532
889
835
449
454
889
875
562
966
503
341
992
898
797
112
568
763
683
990
814
693
648
481
95
253
73
629
786
452
625
302
306
31
984
921
496
770
90
591
240
117
158
21
250
922
954
382
591
437
198
497
907
31
514
347
272
249
54
908
252
967
752
758
91
372
215
727
865
434
387
99
116
329
491
529
698
14
185
876
572
778
550
623
807
131
305
421
345
829
577
545
961
193
698
752
423
122
724
99
65
381
824
774
862
776
233
871
622
849
217
390
104
569
377
377
686
292
654
308
739
968
618
290
1000
147
960
599
24
868
625
413
306
900
710
315
757
151
41
322
992
245
356
702
340
442
154
854
576
77
535
825
97
651
857
877
705
561
591
641
190
190
550
1000
634
769
578
838
723
962
863
168
399
614
253
974
842
488
370
297
131
75
842
719
938
793
665
397
224
953
596
270
273
902
453
840
310
644
393
214
609
72
553
710
256
663
924
400
678
111
959
404
628
918
227
632
574
407
345
920
340
957
574
213
397
527
663
490
439
695
10
658
727
499
735
504
232
344
26
118
774
135
972
889
220
537
175
316
268
22
620
365
536
892
617
54
438
29
186
271
850
496
883
575
642
453
917
864
950
55
373
356
510
162
503
289
444
683
347
101
644
356
373
625
309
595
452
16
242
798
252
703
228
162
22
648
205
635
855
604
928
86
705
839
570
176
871
27
976
681
156
606
349
230
636
936
745
490
841
991
104
877
123
189
490
734
202
178
836
780
166
40
769
327
714
443
38
401
44
719
634
450
600
713
966
739
830
503
327
916
221
812
487
448
141
950
418
821
417
676
69
450
196
232
608
210
311
94
751
408
314
737
634
760
350
773
171
673
252
368
11
701
606
789
999
559
30
208
538
485
595
704
330
77
131
484
798
916
145
926
893
469
226
14
93
748
79
80
150
181
819
536
537
988
727
480
616
109
451
622
249
380
551
966
976
259
362
93
859
819
379
682
847
166
754
106
787
681
45
583
254
695
51
341
2
310
430
726
151
76
799
973
205
137
195
646
581
303
100
342
667
190
704
368
294
246
728
502
155
967
925
851
915
96
314
77
670
915
321
924
987
2
257
99
941
6
993
3
474
20
240
748
896
149
614
156
557
728
511
181
552
418
901
292
804
135
311
861
49
340
661
558
41
724
99
74
759
740
672
211
522
766
474
562
711
860
924
537
206
260
925
427
755
763
986
617
242
99
815
761
198
241
512
979
994
350
240
653
851
735
180
445
168
741
658
512
712
985
544
725
899
723
428
883
719
410
612
554
866
733
665
167
303
461
135
427
762
500
37
945
685
416
892
229
716
526
421
803
124
382
494
310
491
91
542
861
579
462
465
817
533
407
2
412
490
361
630
317
219
779
345
358
629
877
72
21
869
884
38
364
240
56
179
162
371
534
526
906
909
975
562
322
486
535
759
642
893
392
837
763
173
512
814
774
837
764
575
59
513
800
534
341
114
362
909
583
70
778
309
601
224
473
587
648
765
246
397
943
972
922
477
355
588
725
441
993
374
419
811
446
754
776
57
852
504
451
668
711
105
708
660
630
734
710
475
759
864
301
902
710
79
310
550
193
59
378
376
408
598
265
949
496
205
372
487
975
62
970
133
173
77
227
621
84
353
684
245
965
647
261
15
269
279
232
983
158
532
843
970
950
789
439
376
320
521
6
301
1
780
18
951
991
23
361
178
24
949
900
80
142
507
910
729
751
411
256
518
448
283
638
77
262
32
689
406
673
186
994
691
931
677
338
250
730
12
616
192
287
851
878
663
193
777
918
23
211
413
666
866
348
137
409
609
140
341
504
237
39
547
844
921
218
748
775
420
905
995
584
573
550
607
924
761
769
392
766
853
2
883
540
97
266
945
158
333
219
44
505
160
975
103
799
950
772
152
970
123
634
903
799
710
635
984
135
52
231
799
912
394
399
900
72
286
8
305
730
925
900
412
81
15
699
40
634
289
198
653
314
572
542
995
847
144
74
223
664
215
866
118
208
524
467
91
150
412
303
538
538
274
543
536
279
902
935
17
699
119
302
319
146
47
912
458
716
496
911
549
236
260
356
555
572
566
185
946
177
501
590
908
550
30
897
460
941
135
2
201
212
654
831
457
207
668
90
256
409
646
768
921
906
111
490
62
909
281
818
389
153
19
35
102
515
408
783
560
89
456
151
555
801
757
474
809
334
412
138
224
797
158
154
39
73
437
134
248
271
98
541
591
994
523
821
945
452
239
35
173
567
486
163
375
303
801
107
995
415
387
736
425
724
955
21
596
747
740
440
538
288
613
308
44
109
553
666
383
373
271
677
478
926
438
184
72
803
787
293
204
588
351
338
741
368
249
576
790
55
685
322
590
828
323
974
869
226
777
610
698
271
723
364
625
561
73
819
211
932
704
25
137
691
483
573
725
843
715
340
69
8
679
160
951
917
614
670
394
468
388
35
988
346
85
61
116
101
909
469
799
409
148
726
197
961
402
900
699
59
921
459
144
512
714
776
968
914
7
423
961
676
752
950
888
493
169
983
433
46
676
928
816
832
183
495
937
987
440
511
104
825
1
260
240
632
441
645
952
922
638
30
2
985
297
519
542
27
415
774
921
653
30
218
7
729
457
605
745
908
161
482
95
209
584
64
603
102
505
359
590
463
5
176
352
650
664
832
831
668
436
946
913
76
505
684
913
844
563
248
794
862
132
178
395
142
971
247
251
93
133
349
600
393
953
809
816
121
101
944
842
772
825
563
117
752
724
330
160
689
658
535
227
691
943
909
389
274
561
542
985
219
959
844
649
74
917
764
989
365
107
143
595
812
207
173
237
42
856
416
995
329
324
741
607
886
476
829
473
83
527
608
637
805
114
91
510
791
405
631
321
449
330
488
16
108
535
994
861
111
327
293
71
436
685
802
601
790
430
92
658
229
743
832
580
396
556
821
476
420
745
878
436
355
710
578
158
813
649
350
587
76
771
498
484
572
766
63
930
48
87
252
411
163
964
395
482
524
651
961
18
350
66
227
697
64
878
588
679
138
74
352
402
386
247
93
58
744
114
274
557
305
335
922
757
979
248
575
308
716
11
605
697
650
546
270
28
875
796
542
560
840
72
838
314
461
688
256
883
188
658
840
130
160
939
672
632
527
634
312
578
759
572
225
329
487
894
345
977
986
659
846
86
947
942
552
232
584
618
121
101
421
822
314
677
364
57
185
472
762
73
14
871
213
930
141
389
800
93
658
34
313
35
62
62
747
576
582
93
33
102
871
940
528
895
146
544
268
16
661
71
359
598
619
581
173
925
234
679
210
389
654
200
568
265
937
293
11
258
42
246
473
960
77
1000
713
640
680
590
528
331
466
674
559
756
905
917
282
470
911
235
197
529
637
804
588
103
686
302
482
717
11
78
590
220
288
794
87
160
403
631
51
973
41
328
285
282
44
164
993
636
326
490
516
250
648
569
902
619
513
309
600
427
713
898
983
830
876
528
715
12
436
128
199
893
51
481
494
27
420
186
83
987
838
683
866
21
581
933
564
336
395
451
489
159
952
62
298
615
121
140
908
573
290
133
235
790
792
827
783
135
682
179
414
161
736
523
807
29
559
609
223
634
108
257
185
785
800
357
617
484
556
588
771
651
854
480
27
131
840
409
247
468
56
677
948
701
197
99
934
420
552
412
451
388
507
370
118
328
528
628
95
887
558
381
992
352
650
228
994
425
957
967
586
284
905
807
8
144
503
40
291
789
254
319
318
868
51
523
845
263
793
661
851
528
185
371
887
193
325
353
310
741
247
533
457
165
538
794
790
347
514
928
42
917
203
790
215
885
584
763
29
72
71
310
101
315
271
784
697
467
398
690
355
478
552
284
88
192
270
717
127
75
372
956
389
760
151
332
932
182
363
921
673
42
342
878
549
577
765
510
130
857
261
125
410
387
112
638
128
371
729
512
502
831
479
844
742
694
689
322
982
84
336
339
600
318
25
747
21
514
320
638
153
299
422
40
612
840
465
604
754
312
421
226
311
943
703
995
140
996
117
70
174
392
671
843
184
206
162
257
360
912
138
240
40
97
4
1
152
352
603
380
34
155
533
524
373
892
850
911
914
588
568
135
442
528
531
964
332
724
853
838
553
94
57
411
663
291
492
705
725
352
370
201
524
745
998
446
696
897
377
849
611
27
378
898
920
930
108
416
716
402
940
388
131
135
895
550
35
263
730
171
231
200
123
438
130
61
802
406
487
750
359
737
162
742
711
375
263
701
897
816
255
337
942
902
794
313
37
901
109
609
169
178
727
462
628
950
216
893
544
451
416
896
703
333
299
523
428
286
225
499
226
661
843
492
240
356
310
823
279
339
816
251
359
965
622
427
218
676
954
767
245
765
129
769
616
633
227
262
209
370
487
687
33
547
336
250
511
831
645
733
919
401
362
798
705
167
133
881
195
489
938
123
408
424
12
371
321
540
541
942
928
958
726
726
897
647
777
215
413
898
355
190
95
577
772
166
456
11
982
122
482
292
35
739
329
402
198
109
20
765
394
875
274
784
945
823
311
433
882
261
518
246
219
881
378
846
684
436
956
756
347
237
529
368
493
412
655
821
838
877
112
999
917
193
620
55
47
824
219
649
773
838
499
562
135
738
613
459
390
973
142
387
60
619
463
980
298
883
192
464
606
386
660
314
891
584
150
770
659
360
785
535
952
521
563
658
247
899
7
977
136
790
285
559
63
736
495
213
780
14
968
522
468
752
104
831
659
287
227
285
208
243
427
302
541
815
136
856
342
915
474
557
659
158
996
785
101
155
569
83
471
211
542
603
689
324
228
629
302
324
18
133
248
112
94
853
756
201
797
616
482
206
224
490
986
475
466
880
677
812
272
876
208
109
560
987
100
772
375
905
55
997
364
86
30
328
794
758
646
443
464
414
895
772
601
983
476
379
966
657
250
529
978
752
492
488
569
129
609
415
917
386
972
619
903
480
335
119
373
480
67
138
827
873
109
149
178
200
113
110
595
864
688
788
259
593
95
462
74
417
964
808
963
992
855
512
441
775
542
976
542
844
918
517
33
143
345
618
98
542
52
126
273
380
965
752
537
100
914
893
848
171
765
572
333
744
411
239
577
380
956
300
156
764
623
498
623
533
148
663
659
190
413
969
992
656
111
531
982
142
81
80
493
905
728
481
768
927
681
95
571
711
384
294
743
216
859
988
710
387
282
678
162
887
321
376
313
408
416
709
674
358
313
674
247
828
196
789
400
500
702
852
469
518
960
112
282
460
538
431
422
215
862
925
998
974
206
645
111
559
876
109
999
999
528
866
46
598
904
820
465
758
430
738
475
446
219
250
231
516
44
617
582
75
743
746
989
677
343
249
572
431
896
814
305
33
692
805
832
329
989
794
267
244
906
686
571
854
422
200
804
886
705
726
640
203
162
13
979
646
645
700
443
187
239
443
806
491
931
279
113
845
254
916
401
908
679
818
390
883
134
335
503
529
532
634
864
888
617
845
675
734
711
665
525
526
226
663
734
65
887
640
774
187
683
706
211
520
471
183
340
775
45
61
893
83
200
466
771
607
15
559
740
42
117
327
425
622
186
969
744
956
322
984
133
363
198
581
511
329
96
753
973
436
49
213
629
339
274
393
809
404
50
882
129
198
960
1
546
319
158
695
566
978
977
573
255
357
677
692
546
977
634
654
610
256
567
696
742
965
695
688
297
517
849
407
685
896
652
999
342
571
840
291
907
899
676
516
508
384
215
2
216
657
842
661
210
178
123
384
157
482
511
26
607
261
853
303
975
682
967
743
811
138
788
843
609
44
686
691
375
392
637
624
530
528
831
936
494
13
169
265
479
484
857
37
596
157
959
270
385
991
331
131
241
524
869
840
46
144
320
929
511
819
259
399
335
372
978
14
319
7
160
836
17
110
189
104
296
313
906
750
459
430
366
149
209
172
957
197
782
433
793
432
56
597
901
732
269
507
101
48
294
660
879
748
66
776
762
420
844
49
913
383
489
320
688
736
827
906
888
525
474
996
333
457
192
409
153
678
988
949
874
294
659
794
13
703
432
139
362
288
668
783
568
717
356
476
947
899
242
623
657
652
22
371
534
239
952
189
884
266
624
821
495
850
403
867
979
597
211
327
291
669
924
158
963
163
624
244
121
77
379
236
869
394
976
394
961
169
282
884
6
91
504
18
610
649
636
543
995
919
820
409
595
990
175
423
81
207
876
792
63
756
940
866
440
573
187
298
12
220
350
450
487
143
117
113
478
694
213
512
412
394
271
122
547
190
331
59
441
865
308
641
293
329
650
284
546
289
713
66
16
625
104
117
613
892
326
522
389
551
605
549
282
878
702
841
377
26
832
666
976
390
570
453
42
217
756
604
825
443
967
23
600
801
83
885
501
616
839
913
338
85
23
842
188
506
157
806
254
623
80
87
177
233
853
69
545
229
774
225
823
503
127
690
286
531
475
283
863
990
919
867
938
452
785
550
318
85
609
591
520
274
128
788
478
253
236
790
586
176
482
24
699
526
784
879
353
384
428
376
16
916
354
793
593
335
944
628
790
743
244
835
167
496
611
493
896
166
270
919
294
738
175
796
174
432
850
45
940
398
612
14
146
608
672
84
915
438
155
887
226
819
986
208
571
328
932
58
916
263
826
543
183
575
152
952
729
519
706
881
406
3
22
343
823
921
607
530
395
219
803
318
579
14
276
640
474
886
695
604
630
363
178
573
448
694
472
455
59
238
610
171
933
197
44
554
759
939
811
982
319
887
369
656
208
783
101
790
215
159
393
898
126
21
352
23
509
61
945
14
766
210
347
883
386
978
760
895
824
804
828
257
938
634
54
198
202
982
271
774
209
68
339
978
123
987
709
557
804
467
383
531
321
500
135
523
416
13
510
917
309
802
300
306
890
128
655
870
957
763
949
138
683
764
854
38
859
916
792
265
835
644
96
786
250
134
775
730
818
574
703
989
437
693
442
620
863
251
680
545
999
721
427
78
652
179
698
557
233
320
413
703
461
622
636
386
598
872
60
128
138
706
872
42
127
297
749
892
521
89
727
610
60
286
159
917
156
829
755
675
187
784
996
182
438
352
799
954
618
229
421
421
528
659
989
585
3
325
970
933
665
173
101
784
406
372
31
829
737
868
972
828
346
417
167
299
221
565
870
571
728
741
835
743
855
562
18
951
663
462
318
826
661
964
689
184
406
272
900
808
174
383
538
624
907
565
593
727
1
889
117
471
709
491
979
258
54
353
733
806
189
703
940
340
100
595
80
645
364
801
362
899
462
955
321
975
775
764
78
250
1000
209
543
978
154
878
629
8
736
953
769
903
905
932
629
594
723
860
940
284
590
694
789
665
42
452
554
478
950
954
898
46
20
288
882
708
172
635
319
8
46
693
938
87
398
756
793
964
588
453
630
319
726
251
600
914
288
88
767
40
170
932
394
229
231
624
842
1000
332
102
239
603
767
992
785
551
774
590
667
247
489
458
83
138
321
232
795
673
232
719
972
764
789
63
815
632
216
570
608
618
869
745
391
56
678
283
398
339
175
988
783
69
624
87
919
614
659
3
730
407
552
397
99
75
924
238
404
842
270
695
584
686
134
929
993
407
161
190
470
100
537
227
686
549
516
670
827
673
829
930
146
501
796
175
681
99
838
77
746
486
935
399
393
886
287
934
129
563
53
953
606
98
610
140
893
210
180
893
177
110
54
29
448
976
870
153
784
299
578
395
350
773
804
779
124
897
258
231
657
652
760
110
883
462
212
199
119
139
544
291
899
662
268
855
235
465
765
783
198
345
865
905
497
271
557
740
827
88
938
999
359
619
606
415
660
690
748
845
733
397
115
982
602
318
933
651
73
438
543
421
868
255
230
175
328
950
258
362
263
462
634
896
345
78
445
25
638
409
972
78
482
683
901
660
946
891
125
745
527
674
564
127
577
767
399
840
185
465
901
512
898
846
768
79
706
405
514
918
169
378
995
282
451
245
578
833
266
834
851
194
443
987
967
719
885
969
936
58
200
695
199
712
152
336
827
476
419
93
541
575
815
737
553
315
281
36
909
312
442
308
627
677
466
196
407
72
311
186
128
217
141
525
632
248
897
987
563
308
498
344
100
905
158
523
518
836
637
132
415
952
22
497
305
645
830
352
33
673
765
101
121
895
496
885
741
538
200
755
446
853
400
925
221
422
862
414
661
892
918
391
292
639
595
179
145
713
379
209
716
420
238
141
314
66
819
36
669
746
326
694
358
474
676
260
241
671
978
742
662
749
229
359
578
529
411
541
142
308
845
949
537
674
734
104
986
560
320
104
957
645
979
391
550
886
874
782
915
906
507
742
377
978
594
440
578
540
253
249
601
562
382
157
515
563
454
41
195
769
703
869
588
733
803
667
837
676
696
533
772
17
208
60
347
783
422
299
526
90
564
760
961
460
338
41
588
531
229
381
908
607
261
800
280
593
129
512
52
74
396
7
717
703
659
509
564
589
223
530
511
85
811
895
873
234
289
909
846
144
209
320
393
717
211
341
30
513
970
280
745
975
437
255
894
905
563
69
479
871
572
560
638
158
114
654
522
9
312
891
11
135
796
440
853
928
292
446
910
348
268
133
131
208
395
231
787
478
315
148
271
240
330
817
453
163
114
282
205
697
518
914
169
711
824
598
318
966
601
366
108
631
396
731
292
57
109
389
580
119
802
83
353
774
102
137
612
907
99
591
153
146
826
923
753
105
1
49
778
407
684
688
223
943
897
177
629
31
86
535
762
545
470
895
142
603
962
425
794
145
369
522
609
533
994
357
771
374
589
833
576
891
879
616
810
522
487
205
559
885
156
922
982
917
630
296
64
740
410
570
877
817
868
965
153
8
898
873
292
453
337
397
41
577
906
509
173
131
302
628
467
891
372
602
159
520
19
940
823
165
593
601
352
536
46
826
274
594
58
316
173
458
671
480
376
849
706
672
409
172
390
26
905
357
165
22
834
689
609
934
909
157
772
101
996
332
989
346
201
328
418
947
42
235
125
243
801
277
535
382
702
46
466
690
44
399
749
874
783
981
666
587
364
880
32
868
787
635
786
665
972
660
374
915
532
165
25
646
934
825
302
185
868
772
900
814
373
961
771
195
864
611
61
418
794
212
253
827
75
518
154
642
763
94
50
979
759
210
426
80
432
308
161
424
147
851
973
940
648
84
217
711
132
121
828
410
629
831
324
188
1000
186
309
921
462
91
832
485
54
224
295
247
880
99
352
31
246
378
366
645
94
431
563
441
192
308
975
514
642
545
609
861
165
715
86
251
494
206
138
587
947
495
945
286
924
89
292
557
639
405
913
488
857
51
182
543
805
403
543
407
702
879
662
114
547
40
316
49
898
490
456
720
394
552
721
160
665
893
915
465
104
560
595
201
699
406
991
412
745
499
915
492
797
905
196
485
673
196
444
222
649
131
613
326
264
219
935
281
291
312
263
661
520
908
790
131
953
636
363
29
907
223
376
159
290
327
293
945
36
807
402
229
236
352
312
827
65
910
48
389
968
35
328
281
911
66
765
932
720
84
272
562
659
665
923
283
434
810
875
306
765
823
730
406
486
557
901
847
930
186
107
685
977
601
140
729
740
567
428
508
321
62
701
213
453
557
324
986
134
570
418
885
542
514
953
524
640
724
411
689
845
555
428
209
100
608
112
963
451
474
323
206
997
877
295
313
682
697
428
634
960
200
917
414
774
703
197
615
675
54
826
55
132
525
534
472
261
166
628
29
267
245
876
259
858
96
263
678
781
627
724
100
410
756
105
199
8
261
63
35
885
863
618
21
180
901
333
333
411
612
882
848
230
848
896
474
86
71
530
203
589
557
152
263
424
92
913
537
605
844
751
781
701
730
520
261
429
346
559
131
667
460
973
254
495
123
316
180
380
705
146
708
951
547
159
765
142
438
193
369
653
879
430
60
768
889
557
520
596
173
453
62
698
618
246
276
879
397
197
417
664
479
932
44
578
930
14
18
922
239
677
199
141
810
862
105
272
880
324
339
162
402
698
814
365
836
877
681
648
351
968
379
28
713
389
436
153
988
362
453
600
234
198
249
377
582
271
246
512
440
516
28
99
62
607
442
608
423
719
751
565
129
930
108
936
98
848
83
685
884
39
32
3
788
152
874
653
382
467
221
726
651
702
887
855
741
551
501
582
201
393
328
185
707
997
434
673
456
875
7
118
831
125
997
713
480
218
221
169
628
220
749
171
334
356
685
583
386
650
423
48
711
625
94
394
506
697
168
42
767
923
152
186
526
262
879
77
930
319
142
199
208
878
346
438
695
138
377
626
360
703
150
6
674
841
109
209
255
417
545
322
437
237
732
518
821
204
750
472
888
842
354
513
971
242
389
38
220
416
85
242
739
377
12
588
701
4
600
817
106
903
917
460
821
6
828
1
655
636
730
819
562
101
850
39
463
687
440
221
823
50
316
591
868
635
857
192
244
708
991
872
998
3
695
528
988
767
242
376
227
225
741
339
204
54
559
792
921
534
806
53
237
418
436
966
156
429
431
870
812
518
195
38
273
665
540
416
748
58
588
106
422
937
511
575
941
270
261
34
505
673
363
740
664
693
398
271
136
627
8
968
422
559
147
782
536
189
805
790
918
321
648
471
494
592
831
649
860
141
743
699
797
433
617
204
668
374
710
756
761
201
272
11
314
358
592
420
774
716
231
288
845
55
966
935
985
673
57
773
340
353
216
56
531
708
27
910
320
64
664
997
957
664
443
843
901
937
119
408
719
982
887
967
176
223
697
744
906
389
868
18
634
597
969
636
587
323
569
938
598
495
805
126
428
749
657
13
984
150
449
889
461
311
362
12
877
898
707
788
163
984
269
322
704
539
288
393
230
664
555
310
25
811
657
317
701
347
602
412
208
277
969
487
311
863
206
677
505
175
923
705
233
294
846
752
303
32
610
128
600
540
701
565
571
93
697
511
436
692
389
165
768
862
520
345
919
133
627
491
728
317
927
237
95
557
271
23
308
585
938
155
447
317
440
584
796
137
577
403
970
794
690
764
367
805
435
429
636
696
430
706
96
162
810
838
398
475
58
251
303
76
503
224
125
278
495
665
244
488
599
671
126
123
111
455
428
706
818
63
129
204
209
998
61
775
266
531
896
523
565
975
412
720
672
683
830
256
694
849
93
709
439
457
257
547
828
883
548
450
89
727
244
634
792
417
248
355
944
11
121
505
254
413
382
285
112
905
87
497
37
495
45
918
118
100
555
512
462
971
207
52
765
101
122
784
929
585
975
382
46
5
312
370
190
980
917
555
198
950
493
789
12
103
476
560
229
116
599
481
212
62
728
746
496
359
560
22
241
151
23
24
173
876
588
265
799
45
259
50
677
491
703
828
167
392
828
440
407
430
157
614
233
307
481
327
353
709
631
282
406
487
657
791
426
482
377
849
873
949
23
987
579
974
670
846
922
626
257
999
58
859
237
707
268
302
345
741
364
195
543
309
603
639
899
438
757
280
96
849
825
265
278
501
375
45
137
479
641
185
529
842
326
839
392
375
525
975
415
925
299
731
756
160
209
528
43
114
560
684
71
874
191
311
881
106
393
216
371
890
946
393
162
517
321
413
268
483
809
725
957
901
706
405
345
949
734
402
431
772
530
671
718
471
390
912
63
414
474
783
157
142
286
594
825
543
594
457
408
837
901
807
620
113
198
15
613
843
20
531
471
819
752
636
970
436
725
414
256
100
888
996
37
819
753
476
982
690
854
162
305
114
189
973
892
20
990
866
960
311
678
163
907
19
56
502
953
373
636
948
180
117
490
476
794
899
153
644
788
504
949
770
698
47
547
359
810
936
684
815
992
620
785
719
339
645
612
71
911
504
213
938
176
163
137
889
199
874
318
450
232
89
85
548
132
862
464
620
913
121
305
564
888
583
822
249
998
887
780
637
387
729
941
868
788
396
343
859
993
127
678
64
539
133
303
29
751
960
425
323
457
122
585
203
15
554
870
127
760
502
211
838
643
934
712
294
594
400
196
140
132
548
75
801
808
185
197
482
358
852
542
577
868
366
505
4
789
678
51
1
423
715
192
763
344
553
77
105
294
402
514
36
274
409
833
697
910
188
896
655
711
346
432
929
449
994
76
469
791
385
221
1
220
379
243
308
481
374
752
36
40
734
259
66
515
486
76
333
639
253
280
747
77
979
346
495
346
961
376
616
134
142
911
178
598
372
974
787
549
603
369
434
18
556
199
886
385
432
289
909
96
690
456
646
35
700
552
353
745
370
839
532
72
442
519
212
232
252
175
780
970
170
488
266
281
812
815
460
81
397
146
572
348
283
486
407
523
811
963
177
338
65
787
159
869
59
755
360
298
165
167
250
777
291
846
385
837
456
468
473
960
901
566
989
312
822
353
983
146
143
18
124
29
472
218
344
910
542
332
657
993
989
404
888
533
275
864
38
975
911
805
4
277
957
39
173
908
880
191
210
723
498
808
978
890
690
844
129
67
959
908
363
307
748
317
729
515
585
401
638
852
786
421
445
175
442
191
559
450
841
755
35
92
330
462
528
371
831
375
297
313
900
278
668
43
256
417
5
134
149
762
766
326
844
774
669
923
718
597
327
294
178
147
998
159
679
772
215
759
612
54
165
585
721
818
637
83
26
639
248
616
917
949
441
38
216
342
448
405
507
855
980
734
981
785
965
202
358
77
14
881
196
446
629
900
39
176
415
915
421
944
651
928
672
165
630
744
867
34
124
862
10
901
166
144
738
636
110
419
386
387
574
70
279
473
456
719
482
215
675
403
60
167
675
954
91
576
10
902
313
856
526
878
283
572
757
377
360
678
142
738
671
769
604
364
436
699
830
560
687
205
317
800
466
115
901
922
49
307
982
499
586
816
141
621
853
431
170
411
461
633
790
857
949
974
513
972
710
868
145
863
543
266
421
29
976
917
140
82
186
703
934
139
448
88
532
332
597
829
947
240
886
935
537
557
966
317
296
977
452
687
48
104
691
59
445
195
889
618
788
631
712
832
752
375
860
425
5
64
858
224
574
24
489
957
594
247
909
806
672
295
410
868
737
162
273
732
674
360
871
35
432
889
466
239
586
290
697
816
531
673
821
747
564
482
164
482
139
766
98
524
471
886
76
408
498
928
922
105
926
563
609
851
709
730
229
951
857
332
712
401
913
53
134
24
774
539
117
429
793
439
914
258
274
207
270
127
505
173
18
123
496
88
716
963
409
253
281
735
525
395
753
628
207
629
780
237
986
221
401
824
356
374
989
379
298
923
984
458
863
662
178
537
357
989
878
83
835
715
212
599
601
156
230
669
389
98
199
445
730
801
692
27
783
17
636
970
537
866
474
475
897
516
7
855
614
856
265
586
406
701
980
546
907
653
829
79
272
410
659
152
360
191
316
202
422
954
535
210
145
240
598
189
704
830
93
532
202
838
180
608
515
557
222
586
89
121
478
704
682
18
880
123
378
594
527
44
489
957
669
998
78
82
409
75
941
533
255
408
835
912
963
395
636
63
812
982
884
75
565
846
868
358
906
450
10
394
39
751
805
294
507
840
979
967
995
866
868
505
42
409
206
406
144
901
681
359
672
760
628
641
400
676
179
596
224
872
32
303
801
245
772
276
439
973
318
969
568
581
649
942
474
479
441
767
848
638
602
127
832
465
19
141
935
888
976
610
141
343
842
759
25
652
610
59
462
746
776
866
809
820
889
968
48
783
795
583
446
774
255
12
739
160
133
926
726
616
806
234
402
846
790
567
468
20
835
697
111
253
888
602
455
293
431
499
976
140
605
852
459
482
500
301
814
688
684
458
151
595
819
747
63
461
750
799
956
294
989
442
647
211
927
991
143
610
398
360
689
723
488
504
715
535
559
850
265
171
538
643
877
569
438
611
614
686
945
935
164
542
628
298
491
88
40
677
497
314
491
647
580
995
793
171
744
162
625
261
147
769
473
415
573
952
275
459
351
1
23
264
646
425
546
822
907
485
641
341
472
172
528
341
3
905
299
208
442
140
715
308
667
683
196
567
876
746
304
337
998
685
385
524
112
924
259
174
937
766
46
161
943
705
242
176
518
333
168
961
964
146
779
614
750
409
603
838
610
691
277
193
577
887
753
801
953
311
739
422
589
937
358
517
548
981
321
747
393
774
143
291
885
354
55
579
842
245
291
241
250
687
392
613
535
939
3
675
27
374
393
90
265
776
610
953
776
643
706
879
343
289
1000
345
600
283
677
552
974
45
324
649
634
448
218
815
109
927
235
610
679
890
295
963
451
215
148
380
309
203
133
242
535
693
247
569
976
901
527
266
71
223
241
628
936
415
857
884
956
505
103
606
26
351
666
137
650
964
272
539
615
575
925
210
832
997
73
990
259
965
350
507
510
10
323
520
876
919
367
263
17
965
383
94
480
934
608
321
566
398
122
705
784
858
41
979
287
104
551
727
225
627
101
44
930
956
104
774
190
589
427
494
646
555
806
76
530
725
83
390
538
684
815
647
625
376
365
934
895
748
87
765
582
279
558
807
293
687
133
531
342
16
262
204
978
44
127
525
769
197
148
185
228
158
835
836
1000
966
251
256
589
685
118
977
627
653
174
312
191
909
987
456
493
663
807
347
553
539
455
31
173
927
432
564
550
959
669
904
421
507
320
791
482
142
66
393
146
168
188
337
410
665
534
823
714
25
128
692
187
555
824
693
628
577
871
709
860
909
695
349
887
713
501
166
373
503
536
719
570
530
978
851
734
836
447
845
454
43
90
560
94
331
22
268
708
111
686
669
388
639
320
495
975
165
324
148
485
252
767
110
376
581
668
189
7
898
965
260
255
762
275
820
258
398
664
564
707
272
619
172
921
971
368
700
184
601
468
263
469
171
331
190
741
398
986
479
446
929
905
160
719
244
156
121
57
395
516
88
913
305
409
667
742
549
717
814
521
447
551
656
648
774
83
321
446
637
368
321
194
858
927
78
722
727
510
384
133
138
75
939
137
932
530
633
809
719
185
886
347
607
177
209
513
6
364
126
30
140
316
710
135
978
45
321
879
40
88
541
515
935
387
955
494
572
165
128
195
656
673
123
464
500
226
904
473
183
450
257
190
774
7
216
950
693
390
549
264
261
538
528
989
158
129
106
430
820
444
589
769
746
547
99
455
340
404
437
849
184
248
416
438
539
142
408
429
529
224
611
370
628
569
518
724
54
932
146
998
165
921
887
131
215
278
210
281
681
29
81
124
894
253
628
3
910
61
532
31
383
201
629
333
703
373
412
140
819
952
500
391
967
309
626
799
12
330
386
115
195
83
804
438
896
744
758
983
437
94
441
690
35
878
329
387
781
292
584
34
909
703
416
714
680
456
699
640
934
299
43
436
713
500
627
336
415
235
284
752
596
170
765
878
895
485
623
590
549
741
860
949
613
125
357
19
326
585
83
558
8
297
300
369
509
714
247
764
506
174
316
607
885
670
343
912
16
927
445
783
2
369
768
797
867
913
647
580
217
766
897
425
123
592
426
277
837
449
891
318
503
898
867
679
175
540
899
518
342
57
833
811
601
488
20
731
322
92
369
419
931
654
700
269
906
497
560
599
719
768
441
739
704
826
374
80
306
639
967
635
217
182
260
982
685
733
252
267
664
841
507
90
533
469
46
707
856
504
657
946
976
360
788
662
321
914
470
310
938
353
68
477
137
827
220
791
132
986
18
658
175
568
344
703
51
225
282
628
719
676
705
437
519
92
453
612
666
357
998
908
646
447
139
844
758
751
59
879
268
545
23
512
557
238
107
202
199
215
602
132
123
281
181
289
883
796
452
251
597
531
291
358
276
173
207
679
149
204
58
254
34
539
618
669
998
945
861
898
349
739
349
710
454
682
754
665
14
318
403
873
208
203
684
240
535
626
318
880
297
445
768
752
389
601
533
318
485
737
657
241
758
87
566
680
989
474
251
756
304
808
898
158
773
974
292
633
844
351
713
358
861
503
591
756
979
787
873
373
378
695
924
854
36
774
796
872
273
871
857
128
877
266
113
159
941
984
22
771
437
198
252
347
181
187
612
162
44
742
352
93
221
254
119
806
877
13
139
564
750
345
581
311
128
338
674
560
170
858
853
945
709
430
97
963
525
353
687
593
578
118
786
956
814
781
620
147
27
456
548
664
644
513
955
637
506
354
769
162
430
911
348
653
813
81
633
14
605
414
770
866
742
251
828
779
530
398
871
679
509
168
384
146
87
274
2
335
550
629
517
640
138
591
429
11
512
556
645
61
320
102
499
707
528
69
963
90
878
59
776
990
99
862
217
733
501
199
435
872
179
2
576
533
352
189
399
397
274
496
750
725
769
485
29
718
663
269
742
752
326
874
352
728
45
381
876
834
224
165
120
539
222
630
12
496
214
779
207
363
623
878
69
248
503
223
115
592
777
732
273
835
365
686
614
133
46
426
755
727
397
247
785
296
210
36
411
791
644
427
974
781
736
375
154
302
31
87
444
578
812
195
961
734
827
894
729
814
472
542
360
994
86
851
973
861
410
399
245
42
280
635
761
252
295
960
166
51
574
720
219
199
678
166
498
546
454
529
407
775
837
346
116
206
666
107
254
54
110
99
485
227
670
44
587
757
579
764
304
455
68
645
993
217
175
96
100
692
712
579
547
699
527
9
411
855
450
502
682
381
154
513
463
923
716
384
707
558
821
183
476
837
423
535
748
847
143
796
997
784
863
565
135
468
769
990
907
544
571
770
504
883
734
56
993
810
368
673
124
355
801
232
231
685
26
720
232
224
880
109
173
753
277
366
387
949
857
13
84
414
107
30
115
220
420
475
728
412
560
668
365
689
695
153
934
719
495
954
542
122
799
825
355
217
5
294
145
20
626
303
48
837
467
172
270
17
448
396
777
96
412
567
498
593
176
274
192
193
683
424
953
913
345
853
253
104
591
417
523
846
173
65
576
344
16
496
537
452
257
115
572
321
662
956
407
495
760
109
530
461
937
15
7
788
150
637
45
526
145
139
802
409
834
214
424
812
955
599
11
96
276
645
976
132
366
10
308
377
408
720
322
782
599
822
839
225
444
830
125
899
654
21
576
286
406
360
877
899
457
516
268
6
956
3
655
909
838
945
521
171
372
324
963
384
763
911
767
695
724
205
81
316
554
858
148
679
619
38
548
727
39
99
573
65
62
765
686
363
842
717
492
416
292
143
299
769
278
336
121
640
655
833
945
168
548
4
173
692
863
187
432
819
195
667
341
574
203
850
423
784
33
971
61
162
549
518
299
276
5
397
324
679
239
494
674
18
669
947
557
858
159
887
209
282
277
882
841
90
624
569
614
537
652
244
986
120
862
260
990
888
320
156
232
81
220
354
895
722
602
133
601
919
385
334
792
241
627
894
157
519
237
916
760
810
469
412
708
70
136
260
625
293
870
198
710
474
751
874
890
798
246
45
395
853
747
75
133
525
948
727
395
457
910
117
736
613
971
394
379
511
558
342
115
194
578
645
469
818
301
988
840
56
539
524
466
156
504
491
273
600
945
915
141
779
5
417
648
18
809
97
124
564
951
373
706
868
897
416
146
615
818
517
307
460
517
345
670
364
941
523
642
755
197
393
169
481
157
130
953
666
486
622
569
127
370
619
902
974
316
743
641
378
137
840
982
260
638
44
344
838
594
660
613
537
290
630
398
771
320
930
820
505
306
709
607
279
951
347
645
617
114
931
697
346
647
812
668
356
347
994
694
788
722
166
303
433
198
20
103
411
43
395
746
794
558
442
420
930
7
686
740
651
365
375
733
448
197
932
521
925
891
726
444
550
33
561
624
807
909
522
370
304
16
802
420
346
966
195
750
728
382
735
533
246
193
815
930
524
259
765
540
290
390
506
734
122
653
358
589
84
309
540
804
339
846
168
835
26
375
834
418
211
43
912
837
690
277
856
558
785
340
608
305
44
153
164
260
932
356
38
855
183
309
68
491
479
104
550
656
498
698
168
95
208
936
569
109
455
606
729
567
530
641
410
967
423
245
162
674
875
32
283
535
205
226
76
201
103
601
583
831
223
108
648
326
497
79
842
876
503
483
301
414
116
970
941
490
924
305
928
228
585
413
461
242
364
414
145
847
597
931
276
458
705
477
317
793
703
911
761
415
848
782
339
146
170
902
211
133
183
613
422
668
969
49
353
394
174
142
358
197
195
253
57
896
988
71
12
843
456
895
606
675
360
450
25
739
53
191
139
197
91
407
967
382
981
525
139
767
880
725
434
828
68
331
66
133
406
493
812
255
792
362
511
455
834
264
715
673
582
431
471
10
169
451
325
794
651
943
623
292
148
903
120
333
667
816
698
397
575
873
739
259
806
612
324
835
290
835
955
771
990
965
951
167
192
854
16
11
365
638
722
114
997
472
827
783
313
786
399
23
643
313
709
810
556
261
711
847
538
863
740
279
145
51
738
20
57
132
901
716
392
159
192
886
981
162
514
435
37
528
708
565
788
577
731
107
217
843
513
405
988
643
33
201
16
268
74
416
908
533
1000
315
663
483
610
326
627
770
833
684
673
580
553
160
963
35
358
364
484
653
354
481
705
817
518
879
386
179
208
688
507
598
573
334
799
501
608
17
119
537
509
278
195
9
794
147
894
854
387
829
222
851
494
533
725
382
623
830
819
243
559
892
855
981
443
62
389
729
354
460
231
778
985
773
314
956
14
923
327
442
808
55
376
809
939
178
608
944
775
825
880
977
139
300
67
517
568
447
519
292
281
372
514
766
304
240
311
415
568
65
525
140
7
421
119
708
795
123
251
222
918
225
592
363
217
134
492
538
872
242
550
141
70
243
728
855
248
225
135
273
875
691
16
164
215
905
257
387
878
341
949
802
272
564
162
514
246
560
85
440
317
402
147
529
882
134
527
867
728
956
738
595
960
74
587
796
204
98
881
444
563
494
702
147
347
377
939
580
25
924
29
504
228
726
554
735
839
730
396
714
420
801
671
160
251
506
535
828
245
483
273
584
900
614
774
843
205
293
633
916
120
244
608
958
867
755
128
37
753
642
834
288
653
976
921
248
620
414
163
256
301
946
58
213
964
31
506
114
976
355
781
486
532
946
330
298
264
919
113
936
114
959
786
580
545
504
4
674
679
722
525
219
483
556
606
295
462
542
372
569
616
616
463
529
621
857
294
855
284
928
669
629
313
47
333
69
393
422
303
77
324
469
424
192
746
579
688
442
593
847
290
210
922
963
265
467
268
440
820
611
958
422
151
733
130
607
621
345
312
238
663
455
527
667
661
433
841
750
376
268
149
219
183
688
796
203
500
70
297
289
315
268
59
862
639
260
463
968
51
995
117
642
229
950
382
422
530
666
514
795
199
987
879
435
785
805
754
397
667
861
145
863
395
564
919
680
713
836
308
647
708
727
468
461
538
885
399
294
566
34
958
200
547
261
86
952
706
273
693
440
174
785
779
475
263
841
516
672
483
182
993
145
50
753
250
869
856
50
46
914
541
285
512
233
320
297
491
329
735
713
900
899
299
113
868
537
323
863
790
645
867
830
658
4
839
421
219
844
777
240
544
843
712
214
611
212
835
198
338
911
404
915
318
91
406
607
197
44
59
882
220
310
120
104
989
102
330
90
883
876
56
37
912
695
318
360
989
29
980
560
747
752
798
342
55
418
416
930
340
315
153
956
654
430
611
336
193
211
702
262
641
925
702
850
258
493
328
943
123
917
614
324
324
792
611
882
151
951
513
308
579
982
859
519
377
215
854
345
237
796
742
965
175
630
322
200
327
287
436
61
941
472
223
868
15
282
458
856
586
261
122
440
68
230
622
192
444
965
783
160
325
67
783
376
81
766
708
254
292
18
309
130
764
925
821
363
216
466
436
272
547
504
113
660
260
285
955
856
247
971
282
992
632
279
887
709
764
953
679
615
799
632
84
574
514
660
107
366
125
502
929
328
938
752
276
347
567
154
558
970
347
654
962
458
282
288
277
339
569
611
172
355
261
446
116
775
159
987
864
674
352
641
673
172
144
578
32
589
289
614
689
132
545
964
193
56
583
350
26
182
172
173
583
303
400
758
974
256
415
159
615
415
772
657
60
899
42
887
400
88
771
453
789
903
210
28
378
885
507
171
989
330
218
539
358
578
45
715
689
131
697
645
525
405
634
516
704
814
265
1
213
330
834
956
353
871
852
39
484
626
419
214
987
925
207
785
834
381
173
426
248
792
317
652
558
742
920
312
243
930
717
991
582
987
435
647
51
970
947
408
817
756
65
245
244
292
635
122
327
26
201
327
347
855
935
892
873
655
944
436
406
729
330
260
616
585
589
276
100
45
16
153
56
29
796
137
70
319
377
104
478
226
536
793
383
351
261
605
483
602
214
7
317
162
82
376
383
413
542
60
888
673
946
553
525
197
53
926
794
86
327
84
839
633
364
6
701
168
4
828
160
622
540
550
59
907
257
155
131
681
181
173
846
227
565
36
728
984
100
104
951
743
288
923
716
623
695
64
96
744
69
917
581
929
384
916
478
871
958
993
748
936
711
482
565
194
471
325
120
308
2
179
718
644
104
951
259
328
658
353
555
8
15
315
737
766
471
467
249
949
871
453
481
721
572
540
178
746
105
840
142
758
860
472
593
725
55
169
806
927
43
151
254
576
746
575
587
497
647
497
181
24
277
92
903
485
605
823
971
551
75
337
493
315
287
170
336
132
489
712
468
181
97
503
812
189
468
632
956
962
980
912
779
227
312
550
127
745
472
218
262
847
733
806
664
324
147
629
149
103
710
556
976
218
568
327
777
407
885
317
694
71
120
154
51
436
485
877
272
500
329
767
523
754
1000
615
715
724
530
923
112
99
120
475
765
569
996
783
384
554
654
135
76
657
906
382
570
37
437
122
178
885
740
651
747
844
441
908
299
516
986
648
868
181
602
249
323
456
262
885
545
906
79
281
455
569
221
893
783
924
953
161
374
91
847
433
77
959
589
250
945
485
6
975
558
641
161
121
774
325
376
365
98
136
66
912
168
27
99
804
570
758
227
785
293
520
791
544
673
277
522
520
587
183
757
947
4
882
809
510
725
637
525
790
305
7
320
666
688
215
80
974
54
468
377
26
736
196
380
27
833
629
686
60
337
141
55
36
144
548
705
962
352
899
368
923
598
311
800
436
26
133
818
187
661
7
199
747
590
432
6
520
373
69
974
66
518
351
607
941
718
906
542
363
743
952
573
340
576
65
412
386
386
694
938
572
428
361
189
472
794
734
817
500
239
688
48
238
942
985
481
642
201
470
183
396
491
509
621
293
254
952
967
225
68
75
142
283
563
796
802
469
553
967
132
772
386
683
913
676
435
373
850
701
989
888
550
247
531
939
841
821
557
14
373
727
621
312
562
428
258
370
964
83
805
762
117
206
897
675
746
18
619
222
962
813
831
66
765
565
232
305
709
122
70
592
93
498
246
151
374
242
743
685
835
319
935
183
695
726
358
276
970
846
939
92
380
608
517
551
530
671
738
645
392
159
32
522
841
3
450
148
646
513
599
891
822
676
745
632
722
554
475
905
577
323
939
119
456
706
810
162
773
11
562
517
537
532
586
574
532
830
950
13
450
265
318
943
842
227
666
15
401
692
950
856
706
93
795
989
71
13
631
866
529
870
420
776
322
583
275
148
484
213
824
214
217
677
109
104
836
958
225
148
955
668
604
619
465
424
90
162
607
277
494
911
82
328
327
617
745
771
789
211
866
806
915
823
342
265
963
702
528
343
761
424
544
521
745
440
11
608
843
346
186
888
193
204
351
465
939
858
169
276
962
496
402
696
488
611
43
306
957
133
441
186
390
720
433
42
794
146
871
600
786
218
149
932
730
943
529
825
137
474
117
872
16
939
316
682
128
406
466
519
818
114
157
694
222
559
413
263
153
207
518
918
897
400
786
488
507
495
968
117
876
389
314
34
67
374
537
789
897
681
40
985
730
194
835
819
828
522
469
195
332
57
196
787
173
683
318
185
756
527
319
178
269
507
985
307
861
475
145
40
733
412
88
329
394
504
965
837
950
909
698
822
317
658
999
536
659
498
130
1
224
384
920
181
933
1
393
920
779
949
75
479
111
168
676
145
338
763
390
179
476
648
481
331
194
321
191
241
731
644
252
316
110
723
430
88
576
847
637
646
81
977
65
440
938
468
729
673
477
532
562
519
646
460
896
612
20
769
783
623
618
256
87
211
247
388
724
365
841
611
697
923
402
905
856
67
711
372
378
726
922
721
57
101
526
267
395
990
948
460
359
191
186
33
399
24
539
542
21
935
394
487
724
211
502
192
645
83
920
336
574
866
37
343
339
330
720
854
717
216
594
150
152
640
962
712
539
149
641
49
280
387
266
579
586
612
262
595
781
816
699
306
940
830
756
518
770
595
333
781
57
708
662
710
365
494
414
786
928
87
899
99
835
436
446
442
663
732
929
619
717
462
734
69
877
211
133
729
876
362
194
543
490
38
819
198
753
5
480
484
789
750
533
93
280
629
716
865
888
795
615
202
211
612
408
851
925
379
160
326
856
499
317
981
633
672
810
172
441
295
345
993
128
13
68
771
609
302
749
907
45
7
46
663
778
19
216
167
365
661
820
282
346
864
616
944
570
961
837
258
4
752
471
928
966
513
25
588
607
793
444
185
309
171
553
891
384
620
406
915
77
769
400
195
436
136
874
201
17
377
176
969
790
679
873
61
819
703
848
351
480
893
521
408
43
551
326
791
402
805
892
732
648
472
53
549
924
898
957
600
743
5
53
772
497
185
650
291
431
153
96
94
750
560
358
166
839
989
906
970
812
938
401
586
724
529
599
211
837
971
280
479
240
281
764
406
996
333
760
868
755
102
872
209
388
873
87
962
816
262
937
688
645
130
882
628
622
859
595
192
190
995
522
329
636
981
46
445
408
534
52
868
185
260
511
826
205
244
927
503
158
705
157
43
691
256
153
290
182
975
639
650
996
266
596
706
873
462
701
121
429
195
541
916
35
857
511
443
485
870
784
233
915
69
649
416
446
227
808
633
877
653
927
142
536
813
857
389
118
149
468
391
902
612
940
160
274
951
723
806
880
449
84
118
40
637
338
165
310
510
372
946
166
867
69
136
865
738
577
791
436
275
145
248
647
116
435
493
505
973
780
39
540
129
870
686
691
590
738
566
41
900
700
597
104
959
145
756
576
792
652
625
709
871
959
297
536
470
714
29
196
534
784
23
507
724
137
310
764
620
945
3
451
539
633
126
194
68
14
796
816
213
576
810
802
6
192
566
812
513
246
824
164
471
242
25
347
167
427
746
700
794
892
416
363
187
900
600
498
808
875
971
546
808
651
634
986
273
47
576
671
57
811
854
304
155
249
583
43
222
669
917
516
666
839
988
802
742
274
206
992
193
77
420
54
284
453
165
604
531
779
658
84
28
273
232
574
40
921
628
128
436
268
952
110
647
122
90
452
12
972
105
170
817
176
464
717
834
553
913
990
894
57
522
874
870
615
687
220
463
82
872
78
354
450
471
796
615
153
472
356
734
310
526
903
275
247
611
15
967
478
741
640
970
593
71
38
182
213
288
264
698
198
431
943
971
847
117
106
779
662
708
861
844
605
117
546
844
444
806
794
593
926
24
630
349
14
471
325
617
364
413
231
258
563
709
242
445
343
351
828
796
200
886
824
999
331
543
291
411
807
944
777
356
238
62
284
345
978
466
62
30
69
975
135
446
728
527
95
52
160
478
300
132
880
550
59
350
521
337
778
646
323
618
329
215
106
741
93
982
554
950
226
869
56
899
705
155
194
503
612
393
205
943
959
681
379
895
38
554
417
992
948
429
236
127
466
280
546
445
886
235
839
779
772
823
59
839
869
924
338
679
532
857
654
859
130
622
181
207
841
55
380
319
150
529
606
728
123
894
107
214
246
521
829
842
204
717
351
157
488
235
604
407
113
322
798
796
73
541
78
555
357
596
38
37
500
533
119
148
661
962
342
159
181
433
547
375
407
657
517
145
333
68
936
472
262
119
131
820
274
790
915
737
732
996
689
629
483
14
146
328
634
542
524
121
44
736
410
534
717
428
484
497
319
701
460
478
932
239
694
775
992
104
586
468
74
166
960
432
814
969
53
439
800
669
607
582
697
601
851
205
247
135
801
35
986
765
421
472
751
786
660
822
51
464
283
824
396
380
704
996
542
485
760
128
383
447
446
826
937
97
196
77
463
103
166
683
231
540
366
831
918
692
181
221
884
210
993
938
822
799
158
673
405
675
551
29
587
375
261
352
159
929
779
960
10
19
202
687
287
513
581
383
334
670
475
374
830
409
244
934
37
237
341
472
441
848
134
514
359
932
354
533
278
427
319
346
785
331
492
92
957
173
774
795
992
425
170
105
672
466
101
130
982
184
713
156
839
941
950
700
399
412
74
529
895
787
543
232
264
890
848
465
96
71
9
199
617
109
889
199
435
989
419
469
811
78
76
589
50
190
732
704
427
4
33
446
722
558
54
187
76
848
849
867
340
113
890
71
551
34
99
186
433
905
330
223
85
822
727
336
142
62
316
146
691
129
572
748
244
385
453
667
829
802
610
80
88
120
1000
364
891
622
195
380
553
820
999
925
229
555
859
512
403
430
701
905
734
18
476
921
642
993
718
583
187
191
818
76
736
623
580
887
876
623
843
163
811
639
618
569
224
675
222
878
205
997
354
124
403
548
940
378
961
429
816
121
189
938
7
744
153
920
465
930
528
564
573
524
137
427
652
48
564
109
15
196
102
979
776
467
115
327
789
626
528
553
583
804
833
353
86
864
420
372
273
152
536
463
616
839
423
521
337
848
453
831
51
818
193
25
307
617
365
21
935
675
623
774
843
816
892
268
117
327
804
960
833
707
396
784
999
915
815
900
427
989
257
634
150
544
723
397
188
40
497
943
101
696
396
42
780
564
998
442
346
615
995
87
874
619
797
644
881
269
260
793
192
222
201
153
802
715
946
397
869
984
706
883
783
939
37
84
560
499
959
202
479
516
585
623
957
423
260
277
149
671
295
550
662
463
324
131
61
564
224
44
570
734
309
191
467
887
194
898
203
181
342
339
209
104
798
216
662
34
26
734
254
923
98
750
128
495
674
942
706
812
390
1000
89
120
256
112
93
672
644
486
708
597
292
252
999
963
474
835
21
883
192
848
306
900
773
568
889
903
762
361
638
521
351
744
863
269
888
365
775
734
209
851
419
729
609
347
105
656
301
579
204
295
99
435
411
835
902
390
242
269
261
585
540
188
943
5
277
612
956
982
761
734
927
228
654
371
76
681
860
453
293
724
449
120
972
760
266
855
335
676
740
616
955
505
774
97
41
434
222
136
880
385
654
711
470
579
572
196
30
855
195
300
525
28
255
610
804
238
994
768
234
75
681
96
941
221
538
916
915
531
909
892
263
723
875
497
815
332
297
74
190
165
424
49
111
278
807
553
499
397
242
95
369
788
858
940
79
819
269
546
835
824
922
750
653
453
378
379
160
366
290
640
731
991
271
925
440
98
669
650
254
81
517
362
659
184
555
640
690
387
294
220
925
294
535
399
556
174
619
4
95
255
970
109
609
447
143
256
653
997
712
145
198
914
777
633
968
664
795
402
510
290
736
850
276
52
265
609
699
710
771
549
17
753
589
346
138
276
666
440
376
670
303
708
284
4
274
297
148
774
837
829
887
684
666
630
297
268
685
730
543
441
188
123
808
540
350
182
814
994
459
174
702
553
737
559
421
900
642
101
334
568
924
871
232
293
508
877
323
343
485
449
43
890
120
436
743
202
783
981
388
286
162
925
424
622
922
853
866
805
241
443
488
228
278
12
720
425
690
138
472
340
777
797
666
551
683
705
667
477
364
460
196
651
716
654
512
446
316
310
858
28
747
901
191
921
346
716
238
246
547
533
752
660
658
401
646
978
71
817
408
744
389
752
728
301
891
791
849
488
108
90
508
698
989
23
688
919
302
117
590
298
477
357
414
967
18
989
507
113
25
739
453
758
94
728
461
301
63
456
208
657
655
929
939
716
46
362
183
960
791
963
941
269
343
924
562
366
602
146
815
869
546
182
860
642
31
560
927
969
245
936
489
112
165
512
667
968
583
763
382
863
924
807
522
16
127
673
11
829
315
318
197
968
861
508
430
129
685
542
41
517
362
405
195
308
634
110
246
779
445
897
288
393
530
450
578
834
829
508
388
875
788
70
604
18
640
896
126
44
349
157
677
954
782
899
167
306
25
456
150
625
495
51
241
376
647
634
568
978
629
404
491
491
181
586
820
850
463
748
743
52
247
391
494
223
93
543
563
317
712
875
914
89
706
159
217
58
276
982
617
431
281
252
898
313
246
425
228
100
534
354
825
640
904
304
7
601
132
19
93
509
154
664
522
67
502
94
372
728
372
196
213
925
773
957
818
52
638
532
820
40
645
801
832
359
769
846
916
345
261
294
496
53
838
724
40
230
352
199
828
575
95
492
162
215
226
790
205
171
469
482
461
666
396
135
566
316
85
925
680
585
900
589
275
434
459
436
512
728
603
75
729
804
305
297
782
593
51
983
105
809
125
995
404
25
660
772
832
908
16
723
343
471
301
609
675
993
356
794
89
152
578
618
526
4
310
190
361
666
349
578
272
961
321
686
48
801
294
160
363
816
14
265
607
570
578
13
919
736
195
785
421
740
914
304
521
755
862
97
849
371
567
530
17
906
408
68
955
149
111
687
983
239
443
234
160
508
986
135
686
380
907
16
297
832
154
726
669
502
407
727
813
248
399
49
319
877
941
814
110
776
93
847
33
391
452
43
249
868
448
962
842
659
869
597
527
586
584
381
613
658
576
273
637
959
942
205
179
996
480
253
433
275
856
647
35
232
96
147
507
334
333
358
426
875
340
269
83
926
330
701
981
979
940
346
971
59
95
773
228
445
654
132
546
707
370
269
610
461
708
614
25
89
487
533
874
699
147
784
489
759
693
347
933
170
1
174
430
20
219
329
582
895
469
618
782
437
916
985
653
758
522
940
681
458
508
770
508
220
617
536
452
426
745
739
952
755
442
39
549
495
33
607
949
182
871
551
448
212
314
310
745
269
543
120
715
803
277
399
263
253
762
440
757
416
166
845
885
186
622
975
978
842
772
90
987
236
549
953
338
498
378
423
826
345
672
959
550
673
733
20
669
886
717
64
399
318
334
216
244
212
326
705
933
897
589
860
907
254
1
781
498
63
638
820
115
536
76
647
872
194
906
974
86
282
419
3
976
36
672
272
746
492
759
838
899
989
209
700
334
129
839
929
234
808
303
229
273
824
811
572
953
718
192
70
178
735
547
516
322
238
230
839
104
458
794
306
580
216
830
441
408
128
352
489
379
850
479
771
829
119
692
386
224
716
881
560
652
966
701
402
395
74
535
936
78
428
472
63
93
961
281
556
148
816
314
250
805
856
632
370
845
991
419
326
106
927
938
355
235
677
843
130
419
126
674
808
762
975
743
22
428
664
419
18
48
234
43
456
182
628
308
415
835
667
946
781
81
749
28
509
909
355
975
221
267
620
640
215
132
536
470
249
141
846
787
390
943
326
712
811
997
931
94
671
936
263
104
107
16
890
799
935
387
321
79
874
102
883
920
967
841
280
670
406
305
373
517
178
112
615
906
733
810
580
837
440
324
278
472
694
741
257
403
380
850
32
299
852
263
53
336
710
258
221
15
445
714
982
480
428
632
132
435
857
772
773
109
971
887
332
501
289
876
107
282
652
926
635
374
603
402
31
139
964
765
581
579
545
329
49
695
577
989
588
391
794
385
672
923
124
140
154
885
555
899
441
193
91
921
765
327
650
873
698
346
405
304
407
832
311
981
609
975
548
929
807
460
133
514
236
698
277
395
822
184
896
480
648
485
290
300
602
396
214
370
364
332
405
163
433
890
212
320
628
837
101
572
399
479
697
654
305
474
493
182
255
693
520
49
401
628
77
422
166
219
94
813
483
671
818
28
194
9
274
14
525
651
432
759
684
245
47
436
936
383
925
914
947
569
758
625
803
995
727
517
875
270
802
489
606
228
12
274
392
338
23
201
936
47
20
667
876
580
238
396
979
358
480
812
961
199
629
892
784
884
448
921
344
542
938
436
594
497
162
505
509
909
679
191
745
564
728
660
504
632
822
984
916
103
730
66
165
823
662
521
744
802
93
554
435
483
821
80
70
195
778
356
673
889
595
410
342
556
146
399
91
445
106
828
941
307
74
262
724
408
960
746
449
990
143
655
564
179
370
128
132
100
498
529
770
73
952
608
155
345
199
195
81
757
654
246
295
111
147
45
836
767
517
191
178
201
925
759
246
791
232
703
310
145
122
92
809
637
700
302
414
626
987
617
13
71
42
10
846
823
484
41
724
934
787
944
116
732
88
935
902
236
166
728
771
756
895
20
536
128
751
481
172
116
887
352
952
954
867
357
927
884
427
25
876
784
501
883
3
698
326
261
910
125
668
569
780
443
49
993
301
717
423
555
577
460
903
303
163
605
994
254
414
85
290
338
530
907
734
249
27
564
351
559
903
946
852
920
408
642
582
435
167
692
127
554
393
385
262
955
37
661
69
907
61
31
769
562
417
726
223
474
969
920
119
375
326
499
582
943
489
807
302
810
280
207
317
580
768
103
266
975
272
254
271
527
83
857
603
432
749
876
934
254
600
511
299
211
234
579
851
651
828
746
107
167
479
280
676
505
258
963
385
69
293
327
313
343
989
196
483
8
458
818
878
876
327
516
2
6
345
912
410
551
658
219
523
933
161
38
561
924
95
355
612
93
938
187
703
860
666
392
216
94
687
718
182
792
86
75
752
870
343
341
649
530
353
773
491
958
397
213
696
353
705
863
58
405
373
320
245
378
710
967
138
908
527
566
403
444
491
68
710
61
427
259
725
989
378
833
404
805
297
895
113
679
487
670
802
471
280
445
796
752
10
337
768
998
7
547
96
340
225
143
145
219
114
291
943
237
503
48
388
300
619
521
346
861
823
210
986
726
278
830
268
401
582
779
726
414
333
664
633
380
691
994
162
848
293
233
389
124
259
876
846
322
640
129
870
882
357
69
171
676
598
845
887
578
649
644
892
124
378
612
268
427
903
892
675
46
524
236
804
930
648
427
238
846
265
851
799
947
511
143
928
256
16
777
694
875
979
824
815
687
423
898
458
139
632
457
627
488
589
236
718
503
98
556
118
241
394
660
823
932
256
40
692
438
24
887
301
994
463
470
378
166
140
212
424
38
806
694
468
655
298
645
828
648
671
199
422
811
535
371
402
87
134
729
857
84
260
718
899
750
950
955
704
303
840
53
977
839
148
267
874
318
536
280
630
761
523
970
6
589
671
884
211
985
528
449
128
56
182
660
508
344
331
90
324
935
954
596
578
23
78
27
726
269
568
553
296
721
614
996
425
382
369
681
828
722
180
859
115
571
1000
752
485
866
870
591
580
662
779
820
659
663
857
792
330
300
588
898
805
25
660
12
976
66
150
578
680
367
965
444
187
805
845
749
278
67
789
796
296
770
461
873
189
501
980
376
890
438
524
465
326
175
345
697
983
125
98
714
234
664
911
164
568
755
202
425
431
362
100
628
677
394
240
702
493
268
823
863
236
424
89
47
842
319
779
271
328
452
730
808
439
980
468
362
684
340
586
139
838
100
688
812
482
942
936
917
318
266
539
141
792
445
78
268
35
136
206
332
246
388
104
646
419
505
29
915
765
759
464
640
251
77
644
340
428
762
689
920
150
189
205
677
804
116
927
15
413
974
960
947
352
16
188
835
414
704
700
636
691
102
440
127
29
290
848
190
851
60
949
273
784
197
213
546
812
711
512
128
691
239
676
994
933
707
473
799
976
17
322
931
93
198
673
559
149
962
802
288
623
70
711
320
136
246
919
708
373
644
196
329
421
32
743
752
483
916
836
22
408
808
742
698
697
728
558
218
459
794
713
725
305
476
14
63
318
660
538
539
36
203
139
407
870
35
20
742
486
218
656
550
455
566
329
486
930
580
656
513
180
485
828
225
567
72
668
278
949
954
290
609
564
526
844
658
154
652
785
817
459
612
176
736
252
354
750
890
762
455
864
44
665
489
12
857
840
693
252
893
724
915
793
707
410
839
960
561
613
393
951
505
229
56
120
237
511
511
987
214
807
721
846
906
399
33
587
5
234
374
351
605
234
922
712
122
438
932
336
722
445
516
519
598
477
268
555
261
967
602
611
366
675
524
709
258
262
377
410
578
697
774
45
758
30
525
651
172
899
895
318
50
582
910
286
993
521
766
7
64
68
617
298
17
562
141
929
122
24
325
210
484
424
842
645
459
942
266
302
981
653
96
306
198
823
237
807
783
351
161
824
698
917
420
602
1000
109
590
529
449
106
992
167
338
523
740
689
952
647
759
837
507
642
412
552
244
215
317
598
599
917
707
790
7
468
455
975
969
493
481
504
429
586
812
750
433
920
9
176
243
485
11
556
821
615
716
216
626
677
765
599
198
663
86
992
875
965
687
40
294
779
126
501
46
447
805
795
952
525
987
57
969
527
1000
781
636
104
600
661
328
886
882
876
308
317
459
931
722
635
813
106
224
518
898
741
891
91
86
841
438
642
481
973
519
891
499
6
82
642
364
12
313
403
791
586
715
924
759
886
252
630
701
945
282
597
832
200
221
85
632
711
505
627
682
247
412
313
152
282
741
241
245
952
208
55
822
180
604
132
231
532
450
223
99
806
922
332
483
34
267
172
289
349
810
805
341
121
910
962
796
876
917
114
894
777
241
566
154
862
153
730
230
801
827
245
582
691
434
826
35
255
798
526
39
898
261
625
177
246
899
504
42
156
171
648
116
699
421
433
702
297
371
432
263
997
922
781
750
873
94
559
656
659
924
250
513
35
490
77
558
421
5
428
95
741
97
631
843
393
976
57
252
571
191
915
283
162
44
110
683
667
569
242
103
3
160
140
749
556
565
346
411
582
970
604
832
896
347
721
372
803
37
127
849
398
807
104
236
686
270
901
637
449
570
912
581
430
736
683
211
205
955
730
395
41
270
107
126
177
917
172
842
191
570
245
439
575
269
710
848
177
695
650
995
928
755
285
847
148
155
317
47
761
752
798
317
979
992
281
422
328
667
809
968
442
565
808
751
694
322
13
677
570
927
379
470
669
883
348
568
355
999
930
603
369
127
802
807
178
951
57
562
423
104
248
19
612
468
137
440
98
498
899
401
494
833
571
550
857
218
216
926
417
998
621
186
123
54
337
230
17
66
523
857
267
412
373
57
732
864
858
469
91
452
150
366
888
538
370
205
324
179
224
478
292
330
701
79
899
273
251
859
709
979
736
420
35
723
58
408
860
416
531
753
393
562
975
376
859
671
18
830
816
248
277
258
213
185
950
798
439
505
811
291
788
931
796
733
174
654
142
402
381
45
531
40
850
760
798
740
804
864
547
452
513
120
452
135
608
575
119
610
682
919
109
121
851
880
156
475
543
81
649
352
561
367
176
55
390
629
296
565
769
494
726
174
804
106
843
422
278
391
688
292
350
846
725
854
548
876
196
602
811
164
267
781
347
377
109
884
237
742
680
301
65
688
250
880
302
789
659
726
829
717
870
149
778
749
640
81
817
680
38
662
105
634
67
912
418
385
926
611
359
254
239
532
132
561
184
181
117
926
579
64
341
383
864
269
999
434
395
893
377
639
611
381
899
312
480
391
491
198
57
209
185
739
119
23
652
723
652
621
377
601
341
210
303
782
364
42
76
518
500
552
468
807
972
480
166
896
519
274
867
555
895
676
559
287
362
12
918
15
784
121
998
628
598
308
781
923
309
921
685
146
101
408
836
318
871
756
770
980
250
255
237
815
178
422
949
838
194
756
441
517
905
682
703
206
16
724
852
744
891
432
949
953
886
72
975
5
570
404
113
342
523
150
732
886
616
907
902
777
556
323
822
786
981
336
296
820
618
157
278
673
809
441
521
285
249
830
619
276
910
592
30
464
937
629
226
414
773
529
759
776
895
636
858
360
307
345
180
395
388
990
431
432
773
664
915
661
698
317
473
233
626
287
932
317
70
192
885
217
196
763
604
882
199
767
914
500
450
651
126
703
114
902
474
103
263
430
90
490
521
429
213
47
918
331
208
382
949
408
973
967
795
546
480
856
282
485
533
189
447
576
298
9
494
721
783
435
527
694
285
36
692
502
715
577
266
766
864
938
777
391
899
126
472
916
842
770
320
42
301
381
240
775
518
982
478
529
626
401
841
300
99
637
36
719
553
243
499
408
420
580
902
533
523
134
4
901
266
843
638
224
961
495
372
432
793
842
870
24
92
11
13
493
827
165
639
791
732
151
111
673
59
5
44
488
705
836
169
655
411
532
746
641
777
164
930
713
79
768
174
122
264
370
138
683
39
749
506
865
680
459
829
652
18
36
769
397
107
175
126
845
219
875
626
274
152
230
735
465
307
549
697
813
646
989
599
455
417
734
478
702
486
7
429
435
236
905
210
377
247
118
51
292
382
81
267
267
485
995
787
168
647
486
894
272
845
343
329
836
838
902
388
89
391
181
807
691
249
773
44
247
799
850
8
854
42
369
449
968
293
712
955
132
37
551
967
209
489
681
310
803
701
934
475
512
528
40
293
485
336
517
710
514
144
201
85
570
755
63
785
230
569
339
922
950
947
782
715
481
412
86
330
48
519
128
45
75
905
689
218
362
914
756
892
599
172
332
772
39
695
928
1000
950
401
532
374
197
401
943
631
948
76
783
989
992
744
366
379
666
654
896
735
666
182
123
231
323
337
674
591
68
117
764
474
862
833
890
445
381
248
426
254
573
250
702
950
45
856
326
899
378
511
968
884
116
20
804
309
636
954
108
976
550
57
244
22
586
981
459
410
141
684
401
762
789
934
284
450
121
691
950
575
179
562
873
907
636
131
308
867
600
754
399
402
607
298
10
936
917
396
471
624
700
19
223
827
94
538
542
48
398
30
163
590
829
229
610
822
424
439
497
279
619
684
886
767
980
573
8
266
371
680
349
717
563
701
83
707
918
312
371
637
334
424
832
246
48
507
833
232
279
733
869
277
920
960
409
18
659
27
82
358
980
349
945
37
470
586
915
601
722
13
107
691
927
284
986
131
938
462
723
401
180
563
79
925
289
368
503
37
777
920
814
641
332
946
48
339
593
453
543
243
358
843
336
778
230
212
283
524
652
958
107
564
107
385
724
840
46
817
822
763
747
589
615
664
871
409
120
732
988
785
90
754
673
618
955
308
111
583
724
62
308
657
835
498
115
959
366
670
280
138
831
581
646
655
65
378
436
681
301
866
294
780
630
738
368
198
482
543
267
378
616
647
163
252
398
340
665
991
813
813
331
139
740
942
858
481
507
676
56
579
652
380
685
625
88
630
105
163
612
848
488
266
795
610
31
959
803
653
195
30
650
393
519
904
683
251
956
878
883
180
996
902
656
591
69
18
398
300
859
741
30
199
168
943
83
120
950
254
692
743
944
615
10
485
128
348
161
994
846
67
827
271
47
801
958
436
537
936
904
894
528
982
470
936
69
705
13
845
104
866
717
227
32
667
609
583
635
13
718
117
148
883
8
381
76
391
372
666
66
658
14
940
790
187
24
768
331
291
787
865
987
12
160
851
780
137
22
333
193
129
883
655
839
236
718
529
814
615
117
289
467
32
100
690
206
585
701
28
738
959
496
832
829
888
806
557
289
903
212
497
363
905
349
616
138
817
713
104
902
358
323
260
587
999
658
725
582
258
237
179
229
823
584
381
257
411
66
798
264
913
304
183
94
90
410
107
644
56
306
901
186
812
776
425
757
362
705
797
568
319
157
568
661
433
567
791
221
202
347
111
88
578
622
315
954
769
647
714
726
334
704
412
261
90
909
712
494
807
437
934
522
339
80
430
821
610
994
898
159
831
675
929
148
425
959
359
615
416
859
137
156
435
603
356
263
92
59
577
450
171
127
783
610
21
282
145
691
531
666
253
416
305
568
650
411
986
108
296
580
197
251
62
1
257
26
470
914
615
956
690
612
968
284
215
168
132
505
741
958
56
103
536
915
806
156
955
249
945
643
846
166
522
866
296
759
770
416
541
816
722
474
885
756
154
54
166
303
674
14
649
778
316
254
216
74
678
556
376
513
536
945
938
737
845
271
146
748
225
975
697
996
352
627
346
139
149
871
742
755
317
911
710
787
546
470
461
977
673
491
111
859
185
479
441
183
716
491
50
741
610
255
938
698
189
815
52
460
109
365
565
999
68
692
426
368
164
717
300
788
434
164
94
324
408
326
129
655
85
194
454
855
359
1000
925
429
771
324
471
50
448
510
371
604
204
56
469
159
109
38
35
429
236
379
311
149
955
956
913
541
851
126
942
690
309
234
16
250
859
71
500
329
602
32
859
838
448
965
435
818
419
276
903
489
978
915
367
856
207
263
307
702
664
793
620
716
910
607
553
322
47
600
656
503
56
60
792
526
393
955
845
35
70
33
984
400
418
144
304
574
821
838
157
954
980
400
742
909
681
980
395
702
630
332
522
516
612
30
344
154
180
693
404
794
53
891
362
851
666
909
671
611
624
499
613
794
358
32
592
640
920
270
706
382
716
60
440
248
910
837
695
228
425
791
507
890
710
874
541
463
918
641
834
281
760
69
352
387
16
88
610
815
661
540
993
587
591
696
448
967
197
241
886
880
398
861
989
684
317
167
101
702
454
732
552
983
85
408
52
796
630
970
778
258
879
337
389
316
335
270
476
29
350
517
914
721
445
824
133
123
918
80
613
49
868
160
790
517
815
683
116
459
386
13
246
352
955
287
190
141
680
174
790
829
145
360
82
955
668
475
925
999
404
264
796
423
563
357
785
669
415
905
644
930
285
672
211
926
377
933
643
243
133
662
680
996
777
40
594
725
852
289
557
461
851
176
932
845
487
336
367
31
753
704
660
849
689
955
50
392
702
825
979
713
334
595
407
852
632
803
411
731
639
479
186
782
99
797
524
361
127
56
524
75
488
355
583
184
127
110
698
133
763
866
703
93
673
441
391
105
305
524
341
76
958
310
932
366
588
596
211
207
741
52
220
483
720
58
951
704
348
556
277
143
126
897
126
169
152
518
656
802
875
612
394
379
700
654
141
16
438
746
924
232
855
302
464
717
886
470
395
716
616
73
980
910
801
539
154
19
502
492
523
528
422
163
379
130
646
802
882
441
786
593
303
562
997
349
622
850
901
477
861
43
271
229
195
558
196
288
324
300
546
129
551
859
796
362
750
295
640
525
709
25
366
364
352
526
686
676
994
634
557
227
88
259
523
71
889
232
327
850
86
800
812
284
728
59
643
137
709
173
22
380
660
835
340
144
355
817
677
326
620
831
169
404
327
167
507
58
238
736
278
736
348
227
400
155
918
31
669
65
550
505
299
272
516
885
388
80
35
917
443
775
355
788
468
763
317
531
585
244
503
424
904
101
251
252
94
777
547
519
167
520
262
825
76
263
304
651
33
856
965
763
920
53
187
257
748
901
507
60
898
714
164
332
794
834
215
806
727
769
551
555
782
80
375
73
229
630
52
829
231
404
230
667
492
118
797
476
262
291
533
637
165
266
300
572
478
903
219
625
795
331
566
163
536
181
58
445
334
180
794
353
198
873
339
483
233
474
385
491
866
555
936
800
739
350
214
963
880
940
339
40
322
493
370
305
93
17
471
506
346
800
824
652
497
840
381
30
395
49
731
733
916
999
141
477
905
249
318
925
34
85
534
21
975
609
576
86
286
695
361
541
518
278
205
168
371
780
445
758
149
312
517
840
412
384
680
963
434
516
261
612
36
78
684
476
424
106
575
199
882
642
908
164
589
352
517
117
321
783
272
665
571
648
890
738
395
960
661
155
383
656
309
303
255
597
873
789
961
482
727
630
608
250
832
173
199
28
869
499
947
514
172
471
884
978
284
958
593
742
497
30
150
63
975
37
790
851
925
620
363
550
804
604
414
787
733
659
576
134
147
365
25
434
184
33
948
634
484
221
312
38
876
380
771
201
897
502
177
419
196
941
5
940
684
789
1
546
694
360
455
132
526
325
841
264
485
17
994
477
943
254
587
229
989
791
476
45
972
175
348
342
602
338
226
840
289
743
588
252
128
268
259
176
218
315
776
701
54
813
620
273
353
871
577
794
996
876
488
758
733
704
841
464
910
551
941
997
783
617
932
710
878
486
526
424
482
609
138
382
580
706
27
311
459
295
205
592
759
755
77
631
977
550
254
22
273
266
508
962
10
101
599
714
565
335
583
597
877
77
242
105
628
299
507
281
128
738
61
388
809
788
860
266
649
876
956
488
19
164
839
592
189
631
487
197
186
709
473
786
767
706
750
288
43
173
185
390
666
219
542
635
571
554
352
9
971
679
44
657
679
211
768
789
855
831
591
634
963
681
137
513
75
354
248
690
619
814
6
736
386
644
249
495
840
86
772
637
820
183
552
992
283
204
662
503
51
221
31
698
444
362
832
42
288
770
80
375
4
778
976
934
422
133
634
125
500
350
89
291
358
475
905
212
890
562
288
978
772
161
316
160
847
6
816
939
716
849
432
927
864
112
649
980
802
587
895
200
505
975
329
661
915
393
634
133
376
376
924
247
658
55
866
46
662
365
269
877
989
155
666
916
294
19
871
381
761
525
119
696
93
238
122
420
114
660
328
760
469
696
726
883
931
800
785
36
499
299
474
701
820
672
901
617
478
784
763
524
312
147
681
914
270
296
508
911
255
280
843
627
37
78
343
991
596
485
880
121
185
628
240
734
3
826
847
972
601
935
963
296
57
668
887
759
524
660
987
79
944
165
765
387
624
379
777
459
875
343
931
505
116
242
581
337
675
745
889
806
10
667
118
959
263
890
871
272
806
937
818
654
971
33
109
656
233
801
502
453
904
950
212
759
853
456
643
722
812
766
417
295
627
510
620
271
174
28
740
403
750
802
577
592
442
538
287
98
365
181
823
167
676
678
262
221
971
617
880
7
994
209
412
681
604
248
594
858
576
782
968
45
145
237
953
752
158
662
308
774
307
540
499
815
230
390
902
655
157
959
479
527
401
378
278
237
243
86
141
837
623
666
45
307
665
7
802
835
243
351
241
724
663
874
595
883
97
395
514
150
561
712
41
395
74
832
924
484
149
71
827
686
895
585
371
45
836
394
449
568
30
404
919
814
144
198
608
623
988
645
550
273
392
455
503
311
416
893
99
655
647
762
417
367
721
652
397
641
263
178
240
139
182
607
901
826
602
842
825
801
742
187
314
477
770
727
320
621
948
411
973
413
440
144
872
702
746
271
29
30
102
868
342
879
80
128
678
795
318
993
936
696
513
864
972
749
819
879
886
625
317
778
971
816
520
803
581
986
747
461
266
977
785
184
797
200
449
146
130
605
537
489
904
342
216
261
831
516
22
183
214
142
545
184
857
533
330
342
857
868
698
426
100
609
994
790
823
775
236
744
237
825
255
864
74
32
218
911
854
798
816
186
864
312
539
140
66
308
177
50
669
470
94
388
661
191
884
271
364
979
744
47
34
805
253
640
539
59
280
741
434
611
439
322
116
662
843
231
284
678
891
819
639
757
512
655
608
153
553
368
894
568
11
607
820
11
386
875
757
715
750
773
413
621
35
761
402
412
644
134
288
939
734
319
274
161
431
950
781
372
774
460
468
616
438
41
617
621
117
953
410
542
7
76
350
47
996
521
975
36
27
881
23
360
567
409
460
453
300
988
93
697
959
292
25
699
669
922
877
363
304
628
521
821
148
963
48
812
563
821
845
70
480
369
937
650
254
813
201
866
854
295
675
729
392
961
935
330
723
913
440
606
236
322
821
327
938
446
317
951
677
691
948
176
647
123
563
674
330
34
605
464
683
289
275
848
693
142
808
643
373
156
742
701
920
662
357
322
995
929
1000
260
72
826
576
445
336
311
355
418
908
526
127
769
48
603
897
493
550
575
541
329
774
909
273
573
614
282
363
802
239
167
241
204
631
691
57
960
771
5
768
205
840
111
56
626
947
660
705
689
688
792
619
817
345
436
288
561
618
861
369
995
580
458
6
63
979
880
674
608
98
695
593
161
131
649
255
332
436
499
161
827
94
102
670
713
900
143
758
507
307
420
567
109
860
99
855
343
332
724
848
135
141
48
537
933
596
958
150
5
195
848
425
690
491
818
266
482
23
963
586
101
416
863
427
328
48
84
958
425
599
143
565
458
405
926
59
649
776
979
969
206
343
453
998
733
60
745
972
383
703
1
58
468
580
776
559
57
683
53
371
470
729
755
46
225
334
646
453
140
96
199
234
812
509
651
620
610
415
904
652
655
213
414
557
9
116
465
828
423
562
494
554
571
308
233
684
623
809
490
178
403
276
320
494
135
146
193
413
953
828
519
17
949
237
552
518
495
63
254
718
21
688
193
141
157
408
908
210
438
913
473
446
317
993
173
321
299
102
323
278
403
698
247
429
12
252
347
634
406
464
27
949
908
456
933
961
647
690
632
128
365
925
354
49
609
792
894
547
860
434
103
540
883
279
658
952
628
158
949
319
520
907
23
334
855
102
446
309
351
745
877
389
569
585
895
448
69
247
336
751
675
477
985
845
129
655
966
654
795
157
613
411
756
307
881
904
839
392
612
466
627
700
97
315
490
592
379
99
19
375
745
999
29
162
638
301
470
956
15
157
162
885
839
135
264
942
929
261
793
561
909
470
282
63
330
780
910
361
368
45
24
290
672
837
5
582
24
880
855
840
505
443
716
787
756
306
768
745
736
200
605
514
114
135
224
820
59
635
253
28
721
740
860
121
147
527
103
810
722
58
128
212
476
901
713
754
765
790
153
831
897
573
359
261
252
324
369
788
316
385
154
704
851
139
733
171
96
534
119
966
505
713
563
198
40
632
867
996
422
212
308
291
85
396
839
610
798
468
791
210
38
114
263
984
242
26
739
327
8
271
260
535
162
271
637
372
362
999
778
176
578
913
217
225
338
223
270
116
125
335
127
606
673
663
304
694
209
600
583
723
859
84
520
935
575
101
59
224
889
431
624
789
766
157
298
27
610
754
321
263
207
55
229
870
41
61
388
904
912
307
548
648
277
493
302
332
47
158
51
888
836
470
90
792
839
594
999
924
557
700
346
917
566
385
70
619
432
192
573
178
618
924
701
712
961
679
288
710
871
883
874
116
913
79
555
482
858
960
630
759
589
899
885
9
476
234
894
793
972
733
668
80
216
889
372
251
352
229
562
187
160
344
606
496
309
188
525
628
227
43
463
30
158
679
412
484
407
431
622
501
223
320
299
929
975
889
859
995
549
116
984
582
922
637
174
934
923
501
322
853
86
884
65
173
303
474
327
492
734
746
502
122
40
985
213
806
563
688
398
973
483
949
809
235
382
524
627
369
846
543
12
257
944
242
896
103
449
685
207
827
679
162
18
654
682
825
843
804
303
212
380
678
329
452
562
68
560
337
667
755
92
966
593
303
568
295
145
993
442
798
305
624
515
391
38
308
163
931
113
537
690
885
814
477
181
211
157
913
96
116
429
278
576
96
432
945
122
605
821
318
852
745
291
297
17
652
217
365
860
568
501
894
153
205
46
272
969
659
271
68
324
8
505
832
352
741
945
9
553
318
95
136
509
521
255
736
160
685
656
264
372
596
345
44
68
584
722
409
624
317
967
122
598
915
228
744
91
235
533
819
230
631
893
623
305
44
948
746
70
23
801
961
623
153
407
689
18
428
5
846
506
284
564
20
867
384
196
744
810
748
769
81
831
493
733
866
229
277
288
740
226
514
594
520
222
575
679
571
309
469
40
554
62
973
758
379
500
757
49
195
859
831
829
13
479
565
817
892
670
583
96
682
906
93
884
967
65
580
442
226
732
351
673
187
754
104
999
58
361
562
503
560
147
221
180
721
135
429
373
957
955
346
103
279
892
796
73
385
196
688
581
989
574
459
413
989
223
940
109
973
135
165
624
127
626
893
511
832
229
48
245
82
142
834
189
424
415
38
23
262
910
903
138
250
881
6
647
956
709
780
153
167
904
659
358
988
25
360
921
374
552
466
733
841
71
309
888
888
363
130
207
95
111
636
124
956
974
363
112
246
721
693
567
124
969
13
307
254
826
227
350
904
394
778
686
393
650
397
128
262
720
47
115
232
919
886
583
370
208
645
603
841
954
514
523
340
927
469
762
536
499
991
267
889
928
325
841
771
403
699
232
149
279
456
906
977
524
660
893
71
984
539
947
459
461
78
555
137
999
181
976
666
983
93
604
336
851
164
414
418
266
656
164
608
580
978
312
932
296
658
332
213
16
395
210
716
68
710
431
733
600
119
696
669
417
219
938
673
270
768
942
973
624
664
25
846
120
713
788
601
139
194
886
28
840
549
171
532
46
965
275
559
168
208
940
988
120
855
928
874
843
985
371
305
612
436
804
159
797
11
921
237
98
373
309
582
579
916
31
797
29
621
936
823
237
725
24
959
827
85
998
846
160
251
401
803
656
620
369
124
613
491
78
938
214
521
430
778
955
814
384
282
182
910
616
335
764
949
844
533
165
645
273
54
387
43
73
909
265
658
720
45
624
312
314
1000
635
859
715
613
548
56
431
798
623
14
736
564
703
49
401
249
388
224
764
403
152
586
614
906
81
905
482
641
137
691
521
513
965
432
77
681
316
273
444
607
86
804
61
966
830
236
579
459
356
14
800
364
681
818
521
951
165
994
654
991
167
680
834
211
880
283
933
929
353
507
484
87
848
823
74
542
820
154
176
803
771
517
714
361
187
591
910
368
547
443
604
728
130
178
284
567
975
882
518
661
899
36
367
636
891
535
593
662
570
528
182
929
650
590
780
395
508
131
101
174
18
528
321
474
797
210
699
147
876
801
437
796
611
462
878
841
324
804
646
130
775
59
305
468
67
753
392
925
994
749
461
876
172
390
906
543
494
440
861
207
596
643
485
368
68
43
239
885
53
641
597
500
755
570
750
260
125
735
503
1000
644
793
495
498
705
406
322
875
551
948
909
537
139
216
696
284
537
272
823
206
695
191
508
648
525
400
250
824
194
281
311
636
497
864
186
872
951
799
392
231
4
243
987
567
361
964
659
328
984
718
120
415
754
969
773
583
127
51
340
85
389
200
187
450
265
266
585
175
686
500
44
637
543
543
153
709
69
636
78
417
342
101
955
450
36
356
980
519
200
83
890
345
304
669
866
534
223
719
656
710
163
269
808
74
713
287
533
962
386
224
577
104
14
629
949
990
316
329
39
190
809
257
878
508
988
782
879
591
349
316
360
949
410
55
568
422
365
911
717
753
351
128
763
333
646
581
243
118
261
461
552
419
516
937
423
553
185
355
235
309
706
730
3
813
775
609
550
652
356
863
422
44
778
592
534
448
132
139
453
230
598
150
436
937
709
729
63
259
808
978
362
997
87
672
821
211
718
352
578
268
498
882
387
674
363
375
642
440
882
471
896
194
530
117
794
443
176
380
279
176
673
313
286
460
896
601
825
827
854
488
566
998
759
509
531
961
40
680
495
461
330
65
50
767
409
139
36
932
928
920
279
852
483
647
67
132
289
680
889
153
249
364
265
742
715
865
355
549
586
331
227
571
700
312
270
251
651
40
257
253
277
62
20
302
55
698
484
452
562
984
93
779
964
92
263
756
246
666
595
509
480
200
998
747
20
337
757
405
910
933
849
933
162
847
492
738
804
660
972
499
786
960
312
926
849
407
231
100
490
497
128
684
5
882
559
139
379
84
771
610
492
706
384
239
719
535
246
537
475
510
799
868
700
133
56
233
583
784
418
331
41
333
121
291
612
622
60
572
444
648
97
274
25
760
726
499
113
755
167
467
121
558
511
802
841
65
566
796
974
802
400
442
401
306
435
768
517
494
110
299
224
860
764
498
381
5
413
671
608
898
507
160
340
248
609
571
939
561
148
448
499
757
77
54
679
727
283
873
568
827
85
14
79
116
6
984
841
92
269
154
894
765
163
837
751
211
484
100
552
131
769
301
99
529
921
865
540
360
128
33
340
878
690
98
984
465
480
200
517
905
285
861
663
459
205
280
729
566
607
855
950
694
894
529
224
692
469
333
408
936
839
941
501
766
768
128
41
937
734
786
19
302
735
534
434
535
651
57
385
471
957
965
259
540
581
406
124
882
75
625
915
929
93
406
414
642
357
633
246
130
919
219
376
100
551
314
625
391
500
993
797
927
710
607
846
532
817
589
396
411
905
808
600
575
31
454
993
117
3
96
496
42
757
724
200
320
943
553
884
917
9
898
493
830
171
634
954
571
112
660
776
128
182
289
860
141
156
670
812
944
319
210
853
151
758
431
113
670
273
888
659
387
219
537
181
266
962
456
594
299
341
904
186
537
688
511
152
446
492
804
459
937
790
383
61
753
683
793
408
290
179
552
27
609
736
854
732
74
450
169
680
60
832
352
24
160
506
892
441
633
985
615
144
155
842
495
301
541
260
240
974
738
939
947
764
316
759
448
409
639
441
936
418
106
705
65
708
151
21
21
898
188
156
971
554
323
140
898
213
441
153
97
459
228
104
458
678
814
356
294
351
945
105
614
943
55
469
668
474
158
163
96
857
212
3
197
963
512
157
677
150
691
174
737
697
124
362
521
176
879
995
718
302
881
167
638
207
601
859
139
417
442
908
620
9
940
158
677
583
65
979
147
696
180
752
1
368
674
662
941
96
898
322
621
595
789
340
147
117
470
925
845
785
238
24
342
855
511
287
696
174
773
365
617
428
24
646
853
923
2
588
458
777
269
188
950
383
266
7
368
921
630
378
825
524
370
66
449
405
992
746
546
900
304
58
388
926
405
915
293
751
349
980
567
388
43
927
425
117
218
160
241
849
746
175
329
71
115
625
9
128
645
481
869
436
875
344
11
40
650
126
518
599
558
804
582
500
822
886
512
283
159
581
303
996
891
365
606
398
319
826
663
155
446
184
259
322
186
859
791
397
566
831
334
237
817
279
958
913
903
205
644
378
765
277
817
466
501
176
934
306
758
72
569
727
863
696
108
571
590
654
542
170
23
270
815
384
644
244
853
734
675
838
699
147
675
166
148
752
589
358
911
970
755
44
591
892
867
659
707
528
523
498
591
87
787
350
217
870
132
782
949
694
263
840
718
59
541
13
400
381
194
773
991
733
43
946
745
463
211
421
595
970
181
445
35
693
601
850
138
58
434
92
517
733
425
892
884
41
332
609
290
797
96
236
267
147
879
3
889
211
943
188
153
470
444
635
245
866
520
892
927
515
504
614
738
818
695
75
743
460
887
212
279
500
773
606
512
269
411
210
665
317
183
428
459
999
57
362
620
577
495
657
348
927
84
394
265
21
781
906
678
355
712
226
956
436
605
126
458
207
287
324
696
77
140
523
383
781
53
377
592
902
203
349
490
270
946
714
48
845
211
611
631
916
37
141
660
629
337
15
340
912
525
116
20
845
382
676
935
404
432
451
880
288
132
411
929
227
382
959
392
797
225
655
81
216
113
712
369
75
784
307
677
218
623
866
792
236
358
59
865
174
87
186
1
63
915
992
136
863
939
739
281
215
923
519
263
193
768
399
822
876
791
946
310
144
927
110
220
581
170
221
514
720
980
69
14
201
909
664
142
534
411
266
946
343
662
733
644
885
207
47
904
629
438
121
687
433
240
638
756
617
590
738
906
855
571
787
535
331
32
382
449
67
79
969
677
654
698
147
648
903
61
824
275
63
501
860
402
345
691
740
547
448
331
118
105
675
491
783
987
4
846
708
187
168
200
373
895
429
83
465
624
171
696
402
246
927
159
872
977
703
849
703
118
737
571
956
806
925
472
70
106
201
886
271
529
101
743
216
466
579
812
20
77
903
755
395
916
127
951
635
901
188
83
560
318
162
721
333
188
597
525
283
693
102
247
482
352
599
384
824
271
721
217
807
136
835
968
42
543
117
986
739
915
880
182
84
516
113
444
472
14
791
361
999
626
91
416
507
145
39
738
729
25
505
610
754
282
707
201
143
183
532
399
476
548
56
215
38
36
640
930
642
973
820
73
286
107
27
354
476
175
855
856
547
337
185
186
257
316
994
756
240
564
77
61
680
905
227
646
670
855
660
410
310
287
566
62
519
170
749
830
949
893
213
960
98
38
450
161
955
588
889
924
55
216
668
534
819
700
441
701
462
545
402
933
543
552
90
210
439
439
842
4
636
598
926
430
773
737
495
168
760
470
531
788
175
855
816
284
336
545
820
977
124
462
106
383
666
844
481
314
460
128
654
258
362
348
624
48
164
648
346
910
132
75
490
273
982
8
265
132
238
486
355
313
844
192
981
751
161
61
972
753
231
299
549
283
278
122
172
488
930
653
438
46
612
236
497
450
842
896
882
970
940
785
955
900
785
242
393
653
819
525
287
424
445
363
429
409
332
227
343
47
923
617
438
342
597
727
424
84
540
563
793
712
352
961
733
642
830
980
329
104
151
830
256
914
896
842
491
187
983
966
730
645
558
963
321
67
370
738
520
439
961
257
770
505
223
76
557
781
581
832
84
535
31
941
665
926
794
366
243
226
168
541
921
55
434
479
696
633
377
597
886
328
25
56
871
190
730
266
839
748
605
721
222
67
609
544
365
960
319
933
765
273
514
221
916
400
210
396
378
499
756
743
212
418
876
753
327
3
320
534
583
287
930
762
769
30
456
639
628
235
434
412
220
545
808
750
795
885
723
697
218
307
115
953
756
775
310
982
675
540
798
780
677
817
796
200
667
731
975
397
755
868
943
299
622
317
713
9
637
794
361
689
173
286
562
814
574
675
467
602
156
961
673
92
433
43
648
607
473
479
47
251
931
302
802
721
842
749
729
924
691
721
689
820
638
893
981
445
5
646
759
320
341
448
744
279
390
823
384
323
308
852
941
249
330
981
676
688
876
973
415
634
793
67
315
743
12
707
560
473
400
778
58
579
26
915
943
659
349
282
853
146
61
220
461
653
475
275
751
606
356
425
849
894
36
773
15
639
532
579
574
253
104
270
128
683
370
965
426
93
673
177
603
279
833
513
356
783
842
663
794
22
311
426
348
744
686
312
107
780
343
27
405
348
687
232
314
176
278
99
913
273
827
508
877
518
643
245
966
122
716
151
460
636
183
19
434
413
357
930
68
345
824
875
830
247
427
740
473
477
41
170
278
258
176
388
856
695
377
778
132
660
299
958
853
554
87
49
45
485
423
133
413
495
166
157
542
340
41
133
159
754
227
98
393
259
23
150
165
375
984
853
346
492
66
434
336
791
323
496
7
308
693
426
810
682
192
259
931
143
662
570
57
58
811
820
216
677
909
717
611
791
933
349
154
673
371
244
589
28
143
60
746
656
325
302
456
219
438
312
113
770
79
828
672
701
572
506
130
387
154
215
186
42
907
311
810
309
305
790
922
615
759
992
253
640
999
483
699
103
474
843
207
658
210
353
257
887
723
10
541
274
651
836
313
534
756
219
180
909
799
890
830
829
609
178
304
867
333
411
910
72
481
663
864
539
840
566
1
591
802
582
711
23
911
951
340
672
699
508
894
987
985
705
806
375
866
471
922
856
554
981
603
931
76
21
44
666
598
411
465
687
812
826
853
150
356
479
291
802
769
336
751
902
797
914
398
145
206
278
94
694
414
535
809
116
385
994
47
286
191
160
264
334
602
905
470
292
863
496
860
403
519
609
372
966
834
141
521
218
815
385
739
951
364
101
699
511
374
133
790
359
883
460
2
598
513
5
948
741
557
103
660
531
969
249
99
787
460
634
15
120
656
48
920
837
966
882
452
517
418
361
333
540
228
640
458
338
258
34
395
230
859
539
720
511
805
715
157
869
166
190
456
325
981
324
311
618
569
992
382
368
128
116
662
396
54
258
18
333
66
589
732
972
774
545
231
879
833
773
49
460
171
332
213
11
91
649
916
274
225
452
308
698
428
746
712
882
690
909
364
663
64
159
34
941
440
976
544
572
677
517
214
654
284
734
762
67
350
678
30
410
855
422
174
361
879
160
652
64
447
268
403
338
921
583
122
414
920
672
416
375
728
640
928
734
7
902
239
345
450
363
458
419
672
696
924
496
253
715
404
94
357
401
455
178
729
761
402
752
244
563
508
612
346
954
459
775
891
97
256
166
922
290
979
891
849
435
624
844
362
368
432
432
144
309
687
944
147
608
956
441
707
43
133
84
311
159
469
491
144
513
958
74
896
258
66
277
439
164
831
318
127
70
761
321
464
736
799
715
783
266
884
373
410
576
250
267
520
866
670
335
489
704
330
844
120
114
844
797
538
6
220
817
909
410
262
510
382
216
954
524
835
560
895
386
53
565
714
753
940
867
722
845
265
261
763
732
215
837
313
602
714
172
450
297
82
512
176
227
103
377
969
229
980
705
147
50
984
465
772
940
808
655
393
244
791
738
855
984
195
870
812
187
666
701
293
85
857
179
895
404
957
493
743
651
508
266
335
698
487
146
811
977
79
193
955
291
965
829
479
590
225
701
732
50
149
450
998
449
360
291
989
148
628
285
946
949
712
364
39
721
330
510
353
954
130
936
844
375
126
794
87
287
634
699
485
605
143
330
922
413
953
448
484
468
635
972
954
254
524
138
307
95
556
353
302
348
704
105
561
868
158
138
272
816
181
198
717
340
266
800
395
828
815
866
393
248
66
576
29
542
406
447
502
175
530
480
446
711
119
199
823
720
846
535
576
425
564
825
779
232
452
603
844
685
762
524
489
468
555
469
758
772
483
833
388
725
231
69
196
615
709
774
969
310
483
8
552
626
184
87
436
406
861
756
167
686
323
560
339
680
518
179
736
260
937
727
475
207
795
286
592
846
531
459
612
544
727
352
70
199
158
203
837
46
56
789
355
57
68
910
579
732
633
438
500
312
636
907
605
317
313
149
542
840
311
227
543
205
708
813
881
445
583
186
731
555
414
236
360
622
183
215
445
740
570
488
716
104
30
206
799
772
870
639
324
385
649
916
885
548
383
15
421
694
45
180
932
972
801
371
221
114
290
955
546
311
973
630
608
807
285
470
342
343
841
72
332
553
461
2
495
151
142
136
878
59
385
37
31
624
490
200
436
747
528
852
899
19
695
24
650
975
671
768
127
145
437
706
72
901
690
613
617
15
667
333
494
438
711
154
370
45
327
700
582
28
877
512
202
129
272
746
495
168
198
845
245
170
496
607
410
907
245
807
787
911
36
425
129
774
660
555
252
134
153
307
188
832
731
323
368
566
662
85
162
835
508
837
827
74
527
766
70
669
211
88
985
977
80
810
69
555
911
224
405
564
470
655
857
712
724
597
295
146
222
98
469
444
7
223
131
216
8
459
377
840
292
176
38
570
990
652
86
572
946
687
705
448
363
568
640
472
807
969
902
41
942
408
721
859
260
36
888
939
923
865
261
826
515
32
276
363
174
299
750
923
68
848
136
247
668
296
655
978
571
41
405
510
923
260
640
975
620
319
890
111
562
930
498
224
181
122
432
693
362
967
983
268
658
70
7
929
390
7
960
234
824
278
843
869
113
820
551
593
123
836
831
906
564
477
207
520
60
945
797
161
962
661
872
331
688
505
418
385
373
524
675
692
414
152
859
715
284
728
820
552
622
27
397
847
206
576
604
26
847
797
622
478
670
355
731
662
489
683
979
90
217
314
357
822
307
538
727
401
267
899
535
110
177
219
609
85
955
154
992
74
860
794
775
569
322
418
406
634
759
342
769
7
450
731
617
930
909
362
632
757
431
576
439
570
688
80
412
940
255
862
8
461
988
145
638
914
3
291
836
702
825
509
558
757
945
501
996
226
643
495
196
67
417
628
120
166
790
332
518
684
574
186
127
139
895
668
268
155
403
413
864
908
159
837
272
26
589
464
86
138
777
896
257
290
116
107
441
187
983
704
492
581
698
816
400
154
467
563
792
938
424
399
295
634
141
185
704
224
202
561
901
882
492
10
899
533
902
48
228
359
26
143
99
168
274
256
460
847
516
433
69
14
34
464
207
609
67
453
486
401
707
76
499
281
215
414
727
780
116
519
199
476
571
272
891
796
605
690
761
289
726
552
586
588
376
104
509
161
415
664
301
404
547
122
858
827
188
713
400
859
793
923
156
280
52
96
49
414
692
97
81
975
854
389
615
919
126
20
752
727
361
295
350
292
356
383
991
6
297
681
405
668
648
552
414
588
822
964
473
603
532
614
266
768
184
376
615
165
92
294
187
601
533
866
68
993
877
103
326
857
146
661
87
650
302
386
488
674
542
771
124
866
656
149
227
92
222
929
887
484
82
818
75
945
31
765
88
218
131
323
322
796
383
211
927
517
768
148
27
900
817
422
614
162
928
249
190
371
649
718
477
383
997
970
250
39
689
338
462
620
836
372
343
680
273
996
73
221
183
603
998
594
84
535
46
693
587
211
189
725
521
190
325
316
201
540
921
792
584
218
120
208
74
607
781
126
525
934
112
177
784
111
122
179
753
404
108
939
541
449
817
907
721
336
676
530
116
907
741
488
801
910
589
5
215
400
427
76
368
595
107
742
144
426
557
557
588
204
410
945
911
104
219
505
654
714
727
170
87
467
108
800
447
621
960
963
80
381
95
617
874
843
865
935
655
754
833
733
352
446
77
858
825
914
342
373
201
719
532
621
481
308
730
40
910
349
103
119
364
921
490
49
533
733
477
407
251
48
38
701
690
693
588
709
461
321
433
331
921
102
157
111
50
138
434
664
376
207
131
11
304
879
334
198
82
657
85
673
402
565
251
570
267
511
871
457
345
845
783
107
495
743
82
556
534
461
220
28
589
16
119
334
597
584
737
988
576
737
919
578
333
663
226
943
158
680
639
265
887
688
724
526
434
670
855
664
518
5
581
392
863
130
67
859
569
79
817
256
715
474
570
27
514
856
328
552
485
650
983
46
184
604
880
952
21
330
993
276
538
395
53
177
348
524
117
584
595
610
577
819
419
640
521
951
388
117
719
131
302
253
211
242
58
15
660
986
519
107
138
974
440
87
27
466
539
125
18
155
768
363
20
795
653
428
924
539
353
426
788
553
737
657
945
863
350
369
7
402
616
99
461
920
981
537
814
764
41
394
845
519
816
453
527
165
503
841
630
705
993
572
839
204
375
575
452
775
470
759
396
344
125
130
311
961
693
632
946
997
583
161
960
842
275
166
477
595
501
344
465
816
560
208
26
616
902
725
244
230
181
786
78
766
939
27
123
977
982
365
743
772
275
707
231
663
902
448
120
499
198
757
759
664
705
153
535
346
985
534
911
661
653
674
580
125
227
138
568
477
489
765
118
880
127
98
497
311
348
641
696
362
992
398
127
687
462
937
21
107
415
102
220
708
750
632
449
322
884
103
960
450
695
70
637
48
810
767
284
566
79
475
810
302
203
484
493
448
473
611
292
145
494
404
448
514
578
471
254
897
234
874
904
461
779
154
832
951
665
346
770
565
538
308
53
891
396
769
370
355
478
794
240
872
671
750
979
255
275
466
828
470
978
986
205
5
721
207
757
458
971
752
4
967
570
612
876
220
957
448
392
635
39
977
33
745
431
495
140
926
60
473
768
433
395
77
16
97
662
658
797
145
454
517
365
366
90
714
709
217
921
297
85
558
527
72
542
394
433
996
295
380
522
290
180
894
793
658
247
130
509
353
733
44
51
372
286
945
1000
789
335
216
44
68
903
912
348
218
31
6
896
818
185
615
168
272
679
866
207
137
214
967
790
986
44
650
924
82
215
397
357
90
511
773
128
139
500
723
430
828
88
949
239
193
517
304
213
198
634
714
352
84
542
294
764
766
474
178
719
526
829
77
797
448
841
732
599
405
263
233
951
895
811
659
965
731
809
589
629
383
664
843
819
756
322
213
774
355
834
63
84
31
507
419
199
4
897
547
329
426
87
121
321
539
244
762
804
374
477
110
432
41
387
644
530
865
512
97
856
36
70
722
426
957
38
594
606
199
594
843
713
822
405
978
414
815
57
461
97
606
176
298
233
902
419
683
437
600
590
685
591
145
565
549
927
526
592
423
393
18
807
239
996
919
466
27
49
759
488
162
432
909
393
904
28
76
615
147
468
897
458
432
219
746
702
181
808
909
933
538
689
474
248
412
843
642
864
104
723
692
520
354
539
475
287
792
244
165
571
533
734
958
596
107
989
555
675
995
838
556
886
790
41
348
585
415
170
664
315
873
588
774
319
741
419
161
780
969
29
629
372
592
973
25
463
640
767
124
545
863
100
783
55
916
335
182
815
246
215
799
686
306
690
802
920
619
737
695
895
876
801
398
583
524
255
397
154
224
894
259
552
164
999
599
783
444
969
515
887
663
864
650
274
405
443
263
160
509
459
141
351
921
39
742
503
413
928
701
299
662
292
704
675
31
532
794
373
859
265
372
572
255
229
501
331
172
362
637
860
33
737
598
402
268
327
378
658
928
821
417
220
965
818
63
440
858
794
270
552
11
143
5
587
753
470
464
849
839
50
947
265
49
51
167
927
869
651
840
548
259
694
640
331
201
873
978
979
60
744
625
188
778
38
881
967
605
870
878
581
336
422
563
723
25
592
151
772
753
936
89
647
313
937
110
797
596
260
560
342
69
218
984
253
975
68
923
685
789
165
948
325
19
192
251
625
674
905
518
342
563
850
379
647
155
521
475
428
877
286
56
56
596
188
86
41
518
456
997
526
879
111
647
446
640
600
477
586
831
771
609
437
341
837
374
956
701
199
815
844
877
120
788
930
134
281
611
635
832
196
652
209
367
318
855
663
572
398
958
878
585
350
92
348
562
420
506
447
659
954
413
866
379
403
319
124
711
535
768
620
516
973
110
758
227
319
761
70
285
77
462
120
655
563
175
198
422
740
597
451
722
700
773
180
217
99
886
448
897
416
128
50
249
333
505
125
732
897
504
416
64
352
865
208
25
737
60
526
378
352
715
8
13
234
893
233
626
605
75
930
58
80
703
663
957
101
372
62
526
662
71
636
990
892
444
502
820
484
653
136
925
266
296
363
773
434
785
390
835
107
748
621
861
884
282
350
218
48
385
243
934
873
440
627
156
300
439
259
436
848
523
183
642
246
502
711
306
710
244
338
921
184
219
654
28
152
14
868
929
813
350
634
537
516
978
276
147
347
846
317
924
684
107
517
470
350
839
197
170
705
869
735
908
669
682
558
343
182
240
804
214
72
440
120
982
628
85
740
761
452
476
34
615
301
171
270
254
723
22
161
623
243
335
118
109
751
887
814
906
515
577
796
583
953
687
372
58
871
90
973
980
415
249
466
2
350
515
700
526
646
84
637
310
532
912
52
735
334
66
664
637
445
249
994
349
710
719
972
4
360
398
505
200
395
753
808
871
957
935
279
543
825
746
98
209
611
237
539
732
642
111
173
29
781
673
780
285
640
752
783
84
736
882
470
697
145
42
73
678
116
426
37
571
938
28
453
822
54
332
666
889
77
1
539
160
859
291
729
533
249
828
573
399
492
531
885
359
493
689
29
181
325
645
151
422
426
116
297
618
917
877
510
183
324
478
648
940
808
650
830
772
675
303
888
959
547
346
176
650
71
85
387
320
470
616
787
241
541
471
406
726
940
729
292
376
708
972
889
620
59
739
947
623
356
587
169
998
73
484
959
843
297
995
229
345
968
689
188
542
637
201
481
876
996
694
781
867
801
783
211
545
112
571
539
313
948
136
129
538
570
653
69
487
612
359
696
199
153
746
19
492
713
668
152
590
792
546
945
787
278
501
433
161
544
15
623
586
493
687
376
215
190
760
834
135
951
339
924
145
913
664
952
452
211
356
221
630
818
297
856
353
23
688
801
269
274
879
990
862
842
749
278
338
313
805
608
314
485
627
225
646
576
16
515
756
55
985
156
683
551
720
843
461
485
804
803
528
77
243
673
652
318
344
94
209
372
26
546
752
595
992
526
497
52
36
175
753
950
874
846
311
898
119
896
535
286
379
225
213
342
45
660
214
641
992
338
694
927
295
634
847
108
87
48
204
217
822
684
92
922
558
590
135
905
345
316
632
78
446
459
217
91
909
864
469
93
955
408
35
993
763
968
397
775
494
247
613
553
796
665
255
113
647
350
285
700
73
625
783
646
216
67
310
238
232
332
160
938
725
454
921
613
759
279
568
7
31
992
789
33
412
459
348
826
946
243
89
696
320
710
595
267
2
588
638
102
515
717
264
91
759
498
804
684
929
716
122
849
301
6
151
261
114
211
134
818
816
294
14
43
213
237
101
318
399
596
481
169
946
992
649
36
476
814
465
31
637
872
885
220
498
543
844
861
543
211
317
845
790
428
862
324
12
294
856
128
708
14
262
107
234
415
993
999
488
541
836
735
608
59
478
389
451
332
376
110
998
490
85
453
436
717
209
509
383
303
286
88
615
669
793
27
692
746
937
361
96
562
61
705
825
843
285
708
934
753
493
830
138
652
888
27
469
884
99
153
911
167
289
7
118
103
786
996
570
709
503
329
25
621
820
504
673
818
677
594
212
276
314
525
948
973
482
80
122
40
985
848
880
677
80
717
701
637
609
799
636
716
749
860
415
700
889
427
335
635
489
758
845
146
704
766
939
738
208
800
753
689
926
921
284
163
294
930
763
671
286
955
11
823
684
822
61
634
966
821
437
279
742
689
741
313
909
830
614
833
533
841
714
971
23
384
105
400
330
346
295
254
754
973
253
954
430
417
899
992
731
666
946
602
615
387
456
623
436
592
167
584
835
371
463
160
114
140
830
759
953
6
806
886
370
873
687
362
629
852
750
193
166
396
313
95
669
338
744
248
180
655
450
849
436
363
929
413
719
423
223
610
142
903
498
582
663
942
990
346
108
251
305
878
125
974
867
921
324
754
364
372
804
744
176
360
894
141
126
764
228
509
343
979
186
835
696
180
340
751
25
216
786
834
367
535
146
223
467
193
580
46
126
126
373
340
375
312
535
169
17
372
346
657
817
445
37
512
523
898
541
414
921
514
842
327
339
371
524
391
389
499
987
561
197
770
230
570
109
205
238
103
630
19
786
316
361
301
905
913
828
149
344
103
407
470
119
635
964
430
625
988
478
683
878
564
651
133
125
342
423
933
475
79
420
857
208
571
546
951
109
894
360
597
520
813
398
729
787
759
311
970
453
852
540
874
834
465
269
292
600
738
557
128
596
257
884
405
415
846
825
567
174
40
197
466
535
368
824
306
258
970
21
83
470
478
991
762
410
302
597
508
613
644
403
749
364
619
425
795
795
850
799
988
181
778
423
102
811
691
716
812
343
220
791
565
660
592
747
127
111
476
239
414
422
645
212
921
739
7
468
270
9
785
738
880
363
726
54
782
225
311
535
913
663
817
113
41
851
979
374
619
614
728
414
444
713
157
554
28
920
425
823
930
941
786
353
135
958
305
214
771
867
130
760
45
314
344
266
339
277
555
484
784
240
371
760
524
981
819
524
56
626
575
296
731
883
630
816
523
304
594
564
634
42
434
719
388
774
822
555
104
401
692
377
343
681
776
379
999
157
128
203
177
636
655
562
731
981
681
29
598
189
436
975
797
531
152
670
72
66
136
797
679
976
797
937
723
971
98
144
824
494
329
361
598
570
402
268
588
929
92
147
852
450
792
459
352
87
377
137
650
169
700
65
223
369
133
782
830
712
258
251
997
689
549
419
645
931
387
406
303
906
255
348
116
819
353
343
121
199
120
490
809
680
377
673
83
123
895
654
83
543
178
14
240
270
189
658
110
386
557
926
223
773
503
849
214
26
393
698
963
90
329
782
339
723
648
418
415
777
540
67
688
869
260
928
939
220
559
671
835
308
31
593
285
516
56
186
866
144
874
13
335
975
149
829
348
112
29
69
60
935
353
203
168
833
117
959
325
862
765
79
558
554
143
113
512
934
224
724
844
191
806
123
101
565
434
542
727
761
745
104
662
578
281
57
143
538
557
106
908
985
850
483
3
510
734
486
763
585
859
434
371
974
851
386
591
824
511
515
866
345
642
702
43
637
4
831
353
521
811
193
166
226
180
673
219
370
701
628
727
976
49
912
778
191
181
111
910
969
192
850
621
214
363
982
822
808
261
581
945
479
17
930
473
699
80
90
171
676
785
232
173
7
77
649
404
780
582
232
501
730
39
250
528
548
762
488
291
619
423
114
991
239
949
209
291
877
723
528
583
105
620
882
445
664
612
553
754
516
813
235
951
853
872
344
271
777
573
936
533
747
324
130
276
985
3
657
597
716
270
96
28
500
24
419
210
960
168
716
897
859
212
339
52
855
537
272
396
233
333
195
797
589
329
620
319
731
423
438
575
42
253
427
267
161
541
554
453
126
795
438
122
55
551
918
109
26
914
521
277
66
547
534
119
74
664
511
656
42
786
305
544
179
217
130
841
380
242
732
730
57
37
498
843
484
145
179
504
691
183
4
333
407
108
104
195
733
990
562
365
10
732
902
147
823
605
506
912
227
763
248
655
2
129
670
749
257
204
90
498
705
336
396
492
773
968
683
500
19
228
506
847
477
945
315
784
182
898
499
356
584
598
609
659
507
447
498
209
64
446
555
301
218
938
715
911
733
54
661
664
870
634
453
852
509
388
873
296
346
999
910
97
434
648
149
977
607
208
315
925
278
946
842
370
672
141
156
934
819
437
283
92
528
124
527
761
120
779
203
900
925
876
849
708
397
13
895
901
268
421
512
835
298
249
261
977
61
948
174
316
685
755
136
836
607
851
766
108
245
326
527
374
922
443
449
242
515
33
678
274
81
88
62
268
149
722
87
16
434
724
817
684
518
876
888
718
409
27
268
366
962
708
219
492
868
705
818
328
286
586
501
240
203
653
286
346
332
162
741
62
647
957
308
256
702
822
278
701
495
1
586
969
968
306
602
707
200
141
253
511
955
629
150
237
550
700
877
635
922
655
212
680
374
275
880
802
726
935
356
513
496
584
371
593
303
683
4
87
890
341
693
845
48
995
61
249
239
908
171
53
916
677
740
985
357
706
856
864
347
298
971
515
188
622
270
686
322
319
54
499
327
897
431
727
155
432
431
298
280
248
664
21
832
455
736
456
912
191
986
223
1000
401
512
829
802
823
72
241
919
589
242
43
444
541
68
996
972
903
586
195
519
434
783
865
559
571
963
986
686
345
28
609
461
64
893
705
598
832
101
831
1000
997
713
739
101
528
724
268
581
126
591
536
832
624
912
472
452
819
964
202
659
473
577
673
756
601
798
145
676
555
864
883
208
655
322
456
712
277
496
530
992
369
119
948
564
367
655
190
686
313
733
17
401
833
158
198
322
245
167
775
49
737
944
207
898
17
936
105
128
259
164
981
925
494
563
586
224
807
362
986
849
843
648
443
573
144
547
568
421
811
935
967
957
785
149
774
355
859
988
66
763
136
150
118
847
250
397
883
424
133
896
845
794
477
643
651
690
353
364
483
798
618
22
212
437
841
904
747
275
508
271
874
979
142
728
84
259
819
797
542
78
276
656
425
738
424
639
278
116
646
899
924
594
659
574
740
136
114
899
755
482
330
1000
160
710
729
478
253
232
607
500
789
837
861
845
960
609
138
216
988
326
711
201
370
506
16
448
394
383
447
981
427
906
455
106
826
347
450
997
75
192
292
920
864
786
408
994
415
644
672
545
283
408
250
405
262
199
534
956
752
505
149
306
163
806
762
791
486
865
98
856
162
958
115
513
774
384
783
729
885
240
287
559
561
820
743
319
722
967
735
850
496
392
65
728
168
241
109
328
148
201
93
809
635
26
422
389
286
659
894
795
255
52
308
386
424
389
460
257
514
643
991
567
39
318
906
445
731
798
814
116
151
892
121
249
709
108
463
179
174
647
645
320
97
339
232
20
241
576
725
120
266
761
940
709
394
6
819
902
746
559
389
979
346
944
20
918
537
914
434
147
720
87
135
346
826
567
79
252
956
969
424
728
930
969
158
793
295
947
218
926
501
334
518
717
533
971
918
863
302
193
769
556
456
362
110
589
105
254
5
845
147
49
776
410
502
686
74
232
573
965
854
128
695
126
292
913
145
568
624
647
553
13
686
281
164
693
658
465
493
70
156
959
335
187
336
826
984
17
142
580
774
36
143
549
726
858
686
976
184
947
259
805
801
305
979
674
124
580
166
362
356
185
772
833
546
903
266
60
605
913
260
14
33
357
740
550
213
349
297
451
402
811
150
550
356
642
65
678
608
493
515
154
13
871
547
704
120
367
842
948
280
579
435
84
198
659
365
964
777
532
318
566
738
490
966
736
421
279
275
191
628
819
533
980
143
344
234
992
767
161
221
662
334
140
708
691
196
780
878
488
70
935
774
38
5
314
103
62
430
439
399
681
937
47
693
255
440
870
500
721
881
275
450
542
460
551
319
334
663
476
605
328
52
396
2
118
817
250
326
530
641
846
482
49
269
221
65
950
511
107
36
198
99
369
731
182
938
754
126
596
810
494
911
96
517
44
385
899
783
776
651
158
976
515
864
745
843
620
517
107
35
710
910
939
108
273
932
759
105
95
276
884
548
888
27
955
876
520
328
866
935
14
490
929
110
787
476
129
106
711
162
608
162
174
175
848
706
746
353
618
62
981
120
418
858
582
124
15
184
450
495
697
415
109
33
9
815
614
385
92
728
334
62
201
168
935
725
639
111
478
733
107
648
793
389
470
416
195
640
978
416
168
288
313
408
861
886
197
550
95
586
910
858
149
173
767
360
720
401
517
523
345
520
657
652
45
604
855
462
101
854
34
996
692
578
184
330
599
963
639
300
265
48
370
609
328
552
840
226
144
350
104
932
916
377
115
277
800
753
668
925
751
710
5
579
946
687
879
258
319
620
782
667
126
4
124
817
492
802
380
841
559
628
616
174
206
948
330
862
325
204
274
791
240
895
742
72
234
620
865
618
57
42
582
215
940
502
308
27
912
774
791
519
151
59
286
248
681
871
983
841
7
879
547
731
122
162
770
922
964
546
562
118
523
884
965
55
758
191
409
750
944
515
193
717
291
340
46
868
514
39
670
962
510
667
362
966
480
905
185
634
620
528
646
934
978
157
534
689
212
369
372
951
726
475
942
187
136
396
451
279
88
115
238
755
190
100
330
396
240
987
797
559
987
508
595
143
368
365
524
100
547
279
972
805
116
948
402
382
468
993
857
311
753
290
365
243
755
265
789
967
744
812
526
914
628
536
498
407
697
892
13
95
909
647
421
687
890
778
961
106
806
584
844
694
830
304
395
911
173
979
44
295
561
652
49
67
598
249
99
909
666
644
382
892
882
482
239
421
180
308
309
420
742
426
900
611
865
699
419
922
838
202
857
538
558
221
695
59
430
609
107
540
544
933
16
962
271
117
364
780
168
581
950
793
550
928
339
514
137
339
609
580
978
712
183
519
219
500
589
389
349
879
740
328
305
613
270
124
142
503
516
228
29
787
980
508
26
265
487
182
406
168
802
48
318
20
162
96
206
816
50
37
748
854
534
126
2
473
672
878
105
752
815
924
120
967
101
313
593
227
100
26
928
228
332
317
987
539
358
786
184
161
235
744
916
348
388
546
402
870
382
4
852
933
641
961
429
961
897
325
647
331
47
654
700
915
112
414
686
5
247
634
884
772
33
544
7
920
870
144
863
621
900
397
944
117
751
868
259
609
353
186
155
174
233
679
971
497
971
873
94
145
958
341
420
956
215
534
263
858
769
854
462
134
26
160
842
667
642
357
177
201
621
460
507
42
780
777
996
874
231
453
529
596
260
629
860
160
824
911
493
409
893
672
381
804
66
946
201
783
166
320
205
177
47
293
607
766
447
999
39
593
544
97
862
71
804
869
38
304
824
245
790
263
124
593
530
646
288
544
398
301
395
73
259
76
440
312
233
825
314
328
627
107
975
155
677
785
610
948
627
350
997
9
510
281
721
792
433
180
636
729
326
729
732
855
847
741
587
781
625
709
705
490
61
292
333
843
681
117
806
396
453
130
82
357
493
480
867
61
353
577
683
341
422
547
279
579
4
762
32
2
340
518
365
15
163
206
757
965
368
531
621
754
63
420
179
155
537
260
474
494
675
37
838
636
961
747
448
821
492
183
89
971
348
825
885
544
286
104
545
876
924
748
619
199
541
267
388
252
120
891
236
418
532
434
811
872
588
631
829
75
238
447
118
277
382
778
385
389
567
700
240
695
398
160
192
414
581
561
706
19
380
239
926
584
692
202
313
150
101
851
302
244
28
599
42
262
535
458
433
343
433
681
964
778
102
504
297
710
796
865
175
116
328
752
953
594
679
469
19
505
495
705
400
392
448
736
119
417
110
486
228
742
355
466
996
426
280
776
449
401
292
486
275
530
333
689
161
591
161
450
773
248
243
682
925
737
76
706
964
41
718
879
21
770
852
222
611
857
18
403
955
422
483
800
571
847
837
600
881
192
575
80
49
555
830
253
814
900
929
60
814
140
628
156
798
21
749
126
158
418
402
662
407
205
159
831
607
784
333
62
233
671
6
905
657
312
546
916
249
402
148
249
56
585
363
695
202
310
676
878
397
51
931
347
420
797
800
72
52
963
587
656
677
397
323
220
702
198
517
491
23
412
946
80
991
510
550
338
712
730
832
462
79
11
178
691
620
237
149
566
96
945
114
201
817
515
552
453
789
34
991
666
158
742
800
408
860
969
22
251
68
962
981
161
781
832
703
531
887
171
27
222
97
505
897
234
450
884
509
805
488
370
876
783
763
94
891
94
110
840
158
26
950
835
710
818
988
539
209
731
841
734
397
399
472
160
365
742
871
256
681
140
33
324
528
893
153
561
796
201
917
975
491
41
903
139
937
349
427
117
961
847
581
661
688
728
847
947
616
146
419
718
354
118
286
676
782
39
210
368
433
444
955
604
552
65
515
676
662
507
647
227
438
49
677
668
356
185
451
454
889
526
287
371
993
586
946
210
243
810
1000
875
254
893
417
992
968
112
844
580
973
892
857
171
253
289
406
70
705
419
761
98
286
109
565
267
872
215
1
300
817
126
636
819
682
920
289
337
813
553
91
868
300
217
5
107
305
720
246
652
955
327
397
648
752
997
551
593
955
386
441
753
504
288
392
815
810
403
864
928
206
469
533
254
923
818
112
515
200
364
607
794
556
878
270
12
291
150
292
105
26
331
215
902
429
270
66
102
339
171
517
545
157
255
694
208
723
418
856
915
904
33
832
842
757
188
974
256
446
616
397
813
65
519
438
946
127
263
599
537
772
708
724
115
670
482
776
264
190
139
404
830
659
494
423
729
426
846
435
892
19
15
80
917
884
291
849
536
85
469
934
848
857
103
334
611
89
1
332
583
676
767
494
4
141
894
543
850
113
491
804
396
44
265
465
989
1
752
521
624
523
143
133
125
276
249
87
212
696
296
196
757
900
260
773
866
873
423
745
178
371
634
604
997
14
571
140
408
776
908
817
547
433
891
740
571
592
295
387
699
562
97
660
876
703
516
373
247
885
236
966
644
320
733
124
696
353
650
956
49
783
50
598
371
862
211
397
498
440
341
320
115
643
230
895
829
54
382
747
347
629
624
769
752
467
523
66
549
138
216
77
209
449
397
682
480
452
288
705
572
966
397
927
663
132
730
636
871
305
918
755
945
133
426
824
458
774
585
440
196
73
711
287
801
926
978
551
421
224
36
342
315
525
575
724
862
53
191
104
428
693
909
993
875
418
706
657
284
972
175
709
638
718
284
538
781
226
776
312
989
613
395
426
847
617
543
471
951
115
376
180
160
98
630
377
731
156
666
631
698
132
300
186
262
954
26
752
837
598
109
898
572
757
874
128
886
87
226
193
540
805
74
841
266
46
856
977
842
585
818
190
729
479
38
676
128
713
450
874
322
159
275
536
739
32
343
537
994
559
752
452
514
743
203
826
49
965
125
99
479
664
403
349
846
463
120
377
486
949
221
173
439
774
433
446
85
836
80
775
73
136
658
866
188
273
171
571
721
690
252
619
329
491
58
427
74
72
750
21
565
862
138
793
676
185
743
803
316
629
61
360
116
337
336
879
708
319
479
381
465
216
91
564
206
957
737
45
369
405
683
270
593
373
370
557
488
393
756
947
594
214
509
822
199
291
734
784
707
480
578
859
745
705
549
947
19
665
877
357
241
484
548
363
81
845
928
18
235
286
50
835
129
280
683
566
732
182
308
992
206
376
978
580
862
742
846
851
985
83
822
546
623
325
425
13
349
58
406
758
365
519
115
757
14
182
925
984
953
936
218
551
766
255
600
23
768
834
29
758
99
963
487
558
996
253
672
548
304
435
957
943
849
643
497
285
321
979
955
825
678
170
785
918
897
831
387
743
125
172
736
137
845
995
278
96
760
472
994
310
468
511
527
123
864
489
179
490
442
723
409
804
296
377
183
983
706
391
158
799
610
632
207
271
166
723
264
854
855
878
774
299
258
660
334
288
730
791
223
392
673
990
640
469
17
376
398
330
801
140
713
432
480
31
547
347
679
705
592
12
636
131
647
70
514
67
601
160
92
74
655
675
66
671
759
314
370
998
418
769
447
800
194
989
379
630
239
783
138
922
159
971
990
972
323
876
276
953
537
757
358
777
606
638
510
5
928
144
946
32
694
98
966
459
685
104
398
893
907
815
152
442
528
342
713
787
664
67
814
48
570
184
380
637
697
411
75
866
904
689
401
417
832
128
395
668
77
121
384
486
328
327
153
331
100
189
132
426
9
732
903
314
827
693
390
317
677
406
605
299
835
468
697
682
547
950
382
795
166
772
501
539
696
937
607
809
531
516
972
272
749
596
356
919
863
980
186
285
310
27
557
308
303
904
606
642
863
461
348
614
13
104
39
144
132
328
482
671
402
5
483
556
153
166
800
462
648
737
563
948
518
632
91
889
617
687
450
338
560
127
883
165
553
657
470
114
450
830
967
937
136
8
811
927
440
127
703
443
794
455
2
27
759
733
413
317
358
390
102
229
881
11
403
844
447
888
766
987
167
256
432
772
170
785
619
267
110
985
656
992
38
477
601
191
674
464
363
684
173
331
232
637
474
37
53
754
190
848
950
281
768
984
649
642
371
991
959
759
512
964
895
838
974
298
262
932
970
280
259
685
816
689
807
436
599
516
860
307
470
112
909
997
216
289
252
727
707
420
394
205
677
153
87
534
33
115
124
700
559
921
985
651
448
868
832
997
573
914
136
67
770
954
455
379
717
925
461
583
164
991
375
593
387
900
354
932
716
632
247
282
943
615
333
838
175
111
351
380
474
871
131
853
228
771
632
912
732
961
40
50
919
986
853
913
501
455
551
905
74
112
549
426
858
542
596
963
845
365
697
774
89
473
938
87
741
764
277
581
241
863
517
415
753
543
161
229
535
872
796
323
440
676
990
730
153
537
403
987
92
394
982
193
116
776
644
390
324
862
830
375
251
826
650
827
724
395
130
991
481
148
246
271
411
855
3
765
937
50
817
157
629
142
848
417
613
568
735
433
715
901
391
44
564
357
139
950
85
853
464
604
886
621
130
530
80
394
184
457
959
354
671
286
791
352
467
182
696
399
749
35
229
48
34
100
788
108
596
881
453
54
361
247
176
617
21
295
514
303
223
720
249
3
159
293
331
427
781
625
495
845
180
513
870
480
361
73
599
962
760
307
229
446
384
939
233
344
369
153
489
158
89
328
8
539
680
988
463
541
5
976
347
30
629
278
684
309
317
20
253
362
961
920
264
525
586
857
215
36
280
303
473
653
466
55
740
451
924
109
156
12
372
502
254
399
209
685
364
762
246
272
352
894
837
74
780
828
878
904
637
352
538
30
850
400
436
47
644
385
220
604
679
907
129
695
576
736
198
131
108
602
201
448
853
126
301
698
540
172
657
522
696
19
891
431
410
987
414
454
252
596
117
175
393
912
787
717
986
434
945
407
730
812
506
703
331
681
754
460
265
141
672
767
839
728
573
387
74
270
333
312
313
663
235
55
794
446
614
94
666
19
17
290
6
515
562
234
495
580
553
172
302
826
147
621
598
279
88
788
882
935
79
671
934
443
348
52
813
21
387
655
764
916
608
399
292
156
911
38
948
820
727
455
546
817
157
558
658
979
234
4
216
291
174
976
967
280
730
830
351
861
383
727
85
473
190
287
372
924
539
915
200
205
941
652
609
439
249
367
186
284
383
609
289
329
713
694
646
461
742
448
82
764
633
576
50
228
417
796
569
434
443
722
931
433
713
984
234
240
308
216
404
698
8
360
872
18
544
199
476
928
675
143
490
216
412
100
890
435
279
649
97
649
436
879
502
430
879
965
970
735
688
969
416
913
465
413
277
860
709
896
366
233
841
372
166
758
993
772
99
829
502
305
675
60
207
124
723
927
313
63
87
393
579
754
282
213
17
801
591
690
124
606
26
749
912
90
353
596
639
831
135
650
206
52
376
110
632
517
859
299
884
607
748
874
628
781
342
112
114
157
151
730
514
192
595
122
513
293
736
467
850
724
366
910
804
361
735
875
332
695
896
645
681
955
423
523
815
409
796
252
922
686
281
890
599
442
535
986
62
801
489
756
866
800
277
919
159
480
111
985
484
378
55
121
473
898
565
104
573
462
523
550
101
393
271
317
527
198
764
916
860
295
572
857
406
252
912
49
984
284
285
806
880
123
552
524
430
328
521
793
160
801
160
591
833
550
612
200
562
732
50
641
432
602
266
787
670
309
581
759
499
378
322
864
237
330
612
126
80
143
709
416
279
134
427
276
98
426
470
821
13
383
641
494
119
233
975
52
586
680
808
866
331
436
677
521
756
493
731
755
536
412
30
939
956
90
700
716
209
257
425
856
424
431
159
130
918
167
267
763
306
241
529
61
668
811
550
906
929
711
190
126
953
784
542
206
656
533
840
376
582
470
449
928
4
229
734
475
573
889
169
994
952
985
546
684
665
374
492
85
605
438
817
431
248
151
375
927
657
131
263
475
771
158
138
407
316
585
395
940
916
675
708
403
615
210
222
742
92
619
264
495
293
490
998
165
65
558
904
923
675
170
270
627
743
801
193
462
208
387
704
878
456
130
709
93
600
960
439
180
245
9
940
615
727
300
944
213
990
364
163
608
731
628
619
738
406
244
152
367
999
486
645
288
222
969
835
726
928
722
791
404
91
574
267
897
670
420
198
181
19
653
519
732
278
486
354
153
389
917
371
45
914
828
763
778
856
61
885
889
75
363
36
46
676
762
268
940
980
281
403
980
270
896
589
373
567
296
875
51
70
309
255
877
767
829
551
771
946
709
335
707
975
328
798
990
779
535
102
918
912
194
311
658
954
864
405
170
277
5
267
87
853
692
742
748
898
8
86
963
627
187
133
706
268
79
517
639
814
720
168
255
684
606
47
485
586
782
841
815
381
13
873
293
698
97
32
355
355
866
921
29
412
528
741
931
791
785
648
439
980
605
461
555
285
604
624
285
454
749
276
795
270
496
122
219
898
533
568
752
330
16
217
585
291
561
434
307
331
272
110
645
671
791
180
775
532
673
700
16
332
394
512
377
124
974
602
332
109
466
269
158
845
564
134
395
65
193
837
255
618
207
991
345
124
288
586
657
383
696
597
609
449
788
948
852
537
125
383
658
626
537
11
3
683
736
470
825
945
948
727
553
577
545
491
728
325
863
103
397
492
213
559
47
702
605
996
17
386
855
600
681
914
541
359
234
574
761
545
556
382
754
68
457
819
223
129
608
160
643
681
579
26
924
268
698
125
534
750
922
955
613
267
485
382
646
547
866
631
1000
342
541
168
977
312
57
391
96
190
192
822
958
397
349
716
445
604
898
602
941
906
855
304
961
363
155
417
871
711
781
35
323
893
209
772
708
941
898
775
135
425
98
461
443
314
840
173
311
660
787
831
775
927
583
896
391
151
413
659
804
369
784
966
745
916
929
929
299
259
841
132
868
2
633
87
387
589
852
444
232
2
388
548
737
469
839
465
389
753
526
529
583
152
900
790
299
704
713
486
150
436
176
800
73
705
304
726
329
825
776
823
599
186
944
983
685
45
63
141
757
979
440
8
113
790
932
495
170
265
178
489
742
807
991
41
716
388
598
824
910
683
774
912
238
516
496
581
298
943
392
818
178
399
182
667
543
337
256
372
76
704
750
523
928
410
782
40
149
669
994
894
969
733
202
926
413
58
720
968
985
399
897
782
33
668
504
942
989
656
877
952
892
865
127
309
466
781
317
149
552
885
239
428
891
564
288
257
83
905
11
167
49
13
75
576
470
106
779
664
507
152
730
191
539
217
980
535
806
2
755
386
620
291
869
44
209
139
61
283
409
689
810
58
95
420
585
128
721
516
145
840
319
749
230
902
103
993
918
958
125
989
6
181
510
509
973
890
451
403
525
426
502
340
194
105
695
207
240
121
666
263
901
676
281
124
76
442
224
576
693
735
614
42
344
373
34
231
223
301
237
138
86
461
436
103
703
309
294
81
246
615
656
602
155
859
615
190
303
647
722
138
658
19
16
634
277
461
98
166
134
700
629
67
231
77
497
800
430
434
376
293
688
916
577
248
715
85
876
824
581
13
476
529
474
799
407
457
655
94
396
240
595
748
732
218
453
689
691
341
345
468
872
301
274
706
168
202
239
836
176
851
768
134
558
410
70
992
239
716
41
823
354
51
631
755
536
521
427
492
497
487
887
340
824
693
322
405
589
831
626
409
662
275
715
385
605
645
850
779
620
673
317
98
319
564
428
327
23
673
439
775
874
864
791
885
292
353
999
803
235
187
667
194
236
759
311
859
460
938
151
203
855
442
556
513
5
63
603
270
510
237
61
477
513
225
172
60
520
883
809
923
810
586
935
204
529
357
793
546
42
719
951
5
226
29
130
304
181
353
725
746
248
5
78
2
344
962
861
411
341
271
336
151
637
432
935
851
126
499
289
775
480
283
829
713
37
630
81
97
620
205
81
675
274
599
666
272
293
871
985
788
846
806
230
601
233
292
495
974
39
215
628
891
493
179
169
989
891
175
728
902
283
63
702
388
506
331
817
42
279
161
801
311
289
254
448
743
118
223
416
123
430
625
385
197
20
843
620
215
232
117
536
366
768
990
634
530
93
309
16
456
480
721
778
585
248
271
741
273
889
344
364
77
585
664
188
132
99
493
805
337
129
483
229
262
2
868
451
214
15
792
170
858
827
628
933
168
42
75
396
231
536
664
20
633
139
66
265
710
998
258
280
952
313
163
155
244
177
852
35
425
928
796
782
853
768
913
409
282
386
364
224
380
6
155
469
628
546
595
252
203
592
574
737
652
462
454
897
838
950
63
589
672
267
954
380
613
265
574
315
786
305
485
800
824
24
79
851
217
808
527
237
74
998
816
468
614
737
857
143
694
882
548
912
890
593
618
190
439
57
836
801
386
294
853
951
880
160
564
254
407
443
381
68
164
448
188
67
440
571
120
794
77
130
470
918
600
189
219
68
572
156
667
397
104
731
620
495
202
145
426
859
829
713
901
901
128
427
861
394
249
701
528
334
621
391
567
406
301
913
872
673
248
610
537
594
989
535
594
233
151
439
244
339
769
95
286
6
114
46
358
781
17
458
454
439
322
92
845
82
135
292
231
895
13
503
434
676
92
81
408
184
419
47
692
501
447
6
673
812
701
674
197
485
168
299
146
845
785
836
534
826
783
877
598
533
278
212
123
806
671
358
938
80
900
589
106
180
543
777
867
217
87
822
772
405
415
598
776
462
722
88
284
219
620
834
277
217
132
908
665
354
666
380
974
97
810
618
312
391
979
874
325
132
517
265
497
32
851
677
730
734
700
127
617
306
120
798
185
592
399
319
173
486
409
851
136
855
64
183
704
718
944
375
385
288
970
428
188
661
288
97
155
261
135
229
629
623
507
970
701
738
948
726
827
991
591
71
47
647
895
648
565
964
173
691
747
287
96
16
706
850
853
190
754
656
544
116
936
462
660
466
779
852
254
223
139
371
480
103
747
934
725
764
645
44
477
542
206
900
398
888
841
125
821
848
823
662
36
643
877
396
265
914
303
170
208
221
462
166
386
176
366
83
290
980
985
128
520
177
635
624
667
194
451
938
712
557
554
517
64
745
963
47
220
305
690
149
173
201
755
544
373
355
41
357
8
13
993
45
845
854
213
481
668
751
850
879
630
686
573
567
422
627
580
107
286
92
751
888
297
724
597
129
231
447
86
153
607
666
768
920
157
555
906
69
73
673
444
129
853
20
736
133
486
207
935
608
993
533
794
810
72
678
445
88
688
161
409
490
991
895
676
71
850
969
205
865
644
250
621
172
675
548
172
619
720
809
259
444
792
298
983
585
142
789
151
460
876
524
185
753
366
127
175
161
782
705
100
778
673
84
889
750
496
498
577
885
415
102
256
141
457
311
943
310
365
375
723
742
48
538
769
676
610
825
890
584
307
778
313
947
659
459
260
73
163
625
760
853
691
298
804
877
741
853
617
932
119
348
340
722
543
93
870
588
897
307
940
117
552
322
783
798
252
979
890
276
561
743
435
376
744
591
905
751
276
906
371
927
865
473
608
560
2
128
968
895
568
815
510
815
945
568
395
340
427
445
970
128
453
519
266
352
340
847
884
307
731
757
353
228
956
869
82
122
834
42
983
825
251
829
678
153
994
70
961
722
927
984
856
989
574
498
157
87
564
553
841
302
211
844
98
399
695
766
22
564
932
353
193
417
237
638
490
424
314
173
453
30
944
431
465
17
966
401
804
908
817
3
350
727
911
852
383
63
646
509
407
163
639
613
407
754
100
152
286
385
908
741
481
344
52
955
906
631
576
652
480
31
64
745
411
79
22
66
338
580
192
815
200
403
962
568
376
461
568
978
275
152
693
130
30
35
398
945
373
212
89
168
87
672
328
268
646
878
882
968
797
970
347
275
859
304
40
565
472
439
648
728
358
343
277
411
437
318
126
134
278
64
25
396
442
414
440
951
754
441
380
86
906
95
813
111
99
7
858
221
598
852
995
591
204
480
993
841
623
56
74
982
642
626
78
596
828
817
37
250
209
902
607
90
984
82
291
177
905
611
216
325
363
375
537
154
580
624
171
592
578
810
697
305
731
924
706
381
785
286
804
144
210
480
765
146
622
1000
40
221
798
247
941
8
498
674
343
460
918
283
669
721
87
140
260
156
947
281
972
498
152
186
977
826
881
2
315
508
46
789
689
384
341
419
355
146
525
149
750
335
147
548
651
395
716
159
269
953
958
275
636
871
364
203
86
643
724
673
383
373
719
434
292
956
909
583
989
28
678
926
731
949
763
491
618
363
40
332
155
860
96
951
493
881
994
958
953
292
314
96
410
974
199
394
640
382
697
984
553
263
69
92
520
636
161
813
681
681
127
529
209
416
986
271
968
904
550
875
941
262
253
543
60
934
248
278
822
516
983
732
146
942
109
184
482
961
202
737
94
687
269
330
770
419
437
830
954
100
515
294
448
524
371
474
372
860
182
770
33
128
643
143
726
50
177
934
236
38
44
155
30
220
963
569
654
47
583
807
902
444
641
832
657
475
173
311
160
194
486
809
633
656
912
314
824
126
539
251
28
95
214
22
608
99
141
145
842
248
264
179
165
16
498
2
531
131
541
454
669
311
661
13
458
212
397
966
512
175
513
465
349
295
937
2
176
845
653
66
415
363
669
177
587
538
263
74
61
568
683
555
481
870
339
358
378
835
341
515
615
830
896
814
815
801
708
365
836
651
1
757
735
9
221
991
341
155
765
189
763
613
337
38
663
407
636
103
108
3
132
415
181
759
624
187
278
92
115
131
221
610
315
604
884
208
717
732
27
475
779
727
425
792
215
867
171
191
754
967
266
377
71
737
193
333
698
106
210
536
921
464
527
188
587
766
345
765
712
639
6
856
573
917
102
516
708
570
509
314
847
557
686
816
378
1
538
529
348
973
316
199
384
321
788
946
156
218
941
903
161
534
993
939
696
704
369
527
835
506
625
48
119
43
974
624
464
261
222
98
456
554
410
922
833
346
406
515
431
57
13
138
304
536
899
436
28
860
811
590
443
389
70
440
184
86
316
61
433
437
832
974
222
722
536
629
495
15
931
818
883
52
860
409
804
13
921
167
69
355
774
433
655
56
397
159
672
14
545
94
854
898
260
932
84
442
342
900
567
31
84
545
266
447
423
463
135
793
883
343
487
962
361
942
576
489
819
597
86
251
443
403
766
297
660
504
886
14
699
790
544
971
43
877
107
13
216
479
221
622
827
104
909
129
681
605
236
84
106
216
908
990
303
636
948
650
670
138
299
563
575
889
795
182
962
460
432
348
515
949
321
871
851
309
966
89
342
198
796
172
746
150
954
122
741
916
425
672
874
607
489
771
158
648
384
923
759
624
751
430
789
812
169
496
204
562
587
227
203
734
994
792
340
48
984
413
752
590
235
361
521
673
36
877
225
940
149
764
136
865
286
420
388
829
360
243
626
511
545
690
366
652
848
707
263
179
554
929
22
240
441
826
489
999
99
907
766
879
27
232
865
559
454
709
472
216
989
107
937
373
246
258
428
261
606
678
563
774
126
716
486
936
393
376
499
307
845
168
858
890
625
701
307
945
601
228
205
522
538
43
878
726
776
451
974
429
945
983
114
631
422
722
140
740
240
849
585
789
105
987
782
25
51
546
201
340
978
989
177
759
16
920
203
545
198
898
326
531
421
188
21
960
34
980
95
459
693
198
807
772
304
699
401
526
986
530
684
621
979
898
102
784
341
729
20
486
88
950
541
636
170
169
275
481
275
28
896
656
40
320
218
627
624
886
776
651
9
455
572
940
616
799
741
927
984
47
380
423
339
544
656
953
858
377
651
775
291
590
70
898
406
142
79
927
423
868
45
734
174
57
890
706
256
776
95
870
852
735
120
234
194
316
186
521
883
366
867
883
413
503
947
265
267
956
324
865
909
441
537
504
832
149
649
802
596
711
833
780
430
907
953
839
549
969
871
154
820
560
983
150
765
891
710
105
211
996
280
909
51
865
151
656
711
18
873
63
903
79
982
685
165
129
807
483
494
883
673
630
128
270
57
329
124
593
711
36
954
275
626
715
755
108
976
664
236
70
879
997
488
3
858
108
105
882
419
274
105
983
25
136
96
971
49
928
20
842
28
203
598
668
615
289
278
328
161
850
109
728
805
760
441
555
252
943
787
268
175
969
488
848
323
960
42
819
969
806
97
187
274
784
150
246
537
399
903
621
38
703
130
573
389
378
610
308
866
588
375
970
197
10
78
83
679
432
767
420
288
27
719
676
658
740
277
854
435
232
849
1000
496
445
275
744
995
223
838
138
993
322
46
457
690
810
176
925
915
118
254
856
585
951
822
276
294
828
327
950
72
309
449
645
602
845
20
580
895
736
436
276
457
939
631
444
528
288
748
115
809
262
616
949
453
592
29
554
761
846
584
684
144
647
562
384
471
293
916
517
792
399
923
607
794
623
499
601
97
659
466
5
594
478
299
785
655
207
999
605
910
147
786
233
749
166
248
436
392
113
416
235
604
960
1000
225
688
80
695
508
386
464
5
927
707
691
531
485
519
153
34
223
929
388
885
384
102
352
682
399
196
132
947
51
489
907
787
236
655
921
331
865
327
863
583
806
781
332
20
224
602
979
941
334
646
537
61
366
500
170
324
491
880
496
240
564
125
190
302
803
978
285
222
951
385
166
757
25
896
780
909
501
584
781
133
668
95
129
984
932
536
222
340
38
481
737
897
555
236
196
193
456
891
727
772
329
401
620
470
538
73
54
974
662
429
793
986
691
320
766
328
696
571
161
270
213
194
95
228
126
371
973
717
638
14
340
113
808
680
448
338
233
26
752
71
669
781
244
450
775
437
880
532
712
442
349
945
25
748
80
314
104
937
702
978
510
39
141
494
645
337
131
200
549
153
249
840
119
624
449
899
631
946
730
811
308
435
773
660
559
24
289
342
676
470
422
400
1000
660
697
916
9
879
949
909
342
788
136
656
517
180
162
243
981
285
662
425
170
495
199
588
465
932
481
173
293
167
2
465
108
764
8
23
688
57
762
378
992
696
915
826
796
67
177
279
489
644
611
185
675
695
592
452
699
529
884
171
813
665
368
690
454
859
634
235
44
946
49
871
775
819
935
40
87
698
168
304
934
25
858
220
473
951
767
445
510
391
770
280
895
68
972
862
84
765
76
140
223
294
194
550
472
275
594
73
738
937
797
966
639
547
32
988
321
988
310
397
677
240
271
342
645
226
521
518
516
544
408
133
612
107
22
266
237
604
774
732
587
1
57
372
147
11
369
536
165
557
733
191
6
809
442
680
513
262
945
676
50
685
152
295
550
495
585
606
708
266
534
60
484
616
872
445
148
703
213
20
473
897
885
441
60
970
584
919
437
353
623
817
312
540
414
542
281
759
197
185
374
386
58
785
54
415
948
532
656
463
773
459
819
455
617
399
155
103
809
64
241
755
861
114
59
9
257
5
166
732
721
190
187
755
840
17
727
597
866
257
434
984
127
756
717
851
691
135
598
719
857
819
275
84
607
919
231
473
337
669
141
372
108
175
427
73
132
202
2
827
438
629
675
380
479
953
699
90
939
949
171
332
163
172
317
843
431
490
251
980
782
265
422
603
178
104
819
447
633
322
971
390
299
399
922
992
660
749
656
35
680
42
879
580
175
211
716
200
748
972
582
676
315
400
466
402
660
645
892
141
433
342
86
596
759
668
253
445
886
261
412
116
374
435
932
600
924
205
783
18
289
632
520
496
646
952
177
143
474
714
597
568
206
914
183
430
902
738
700
964
761
36
566
298
537
139
988
645
837
925
446
132
826
338
254
93
89
705
365
188
273
271
172
542
649
326
752
458
933
223
931
928
534
315
567
298
903
571
641
963
806
223
137
876
147
290
161
24
451
236
454
726
224
359
252
772
179
699
454
978
777
407
175
681
602
545
52
52
834
225
160
912
507
856
940
866
277
3
366
188
160
51
440
866
48
403
236
610
872
442
898
429
929
845
396
595
267
142
428
427
979
594
479
337
965
559
990
22
955
538
533
503
641
977
97
976
303
753
904
49
657
950
653
34
551
222
727
372
736
502
703
188
189
331
436
190
373
374
113
851
354
983
928
849
950
799
441
273
920
473
276
969
758
555
527
715
822
463
139
614
383
268
574
216
675
675
264
403
158
221
726
975
55
185
712
248
652
143
429
667
994
394
728
633
386
722
82
238
533
82
373
621
248
836
752
973
420
119
324
8
301
727
979
906
276
730
496
298
952
618
926
851
813
399
359
436
682
508
406
618
942
795
111
461
796
126
554
215
842
325
104
511
902
300
154
77
338
177
146
860
75
205
905
638
151
972
601
902
908
251
134
777
867
374
412
272
917
586
727
962
703
296
449
515
997
450
306
122
394
538
828
991
893
888
913
556
798
990
87
929
892
532
719
441
38
753
379
826
186
461
541
712
269
795
57
591
626
373
165
398
399
8
315
130
809
551
771
689
351
769
763
290
718
365
950
296
694
385
91
337
367
305
111
904
726
14
214
397
153
768
275
772
337
949
538
530
883
106
539
764
247
356
253
374
668
653
726
392
432
848
781
520
163
739
991
640
835
491
784
55
830
917
391
641
694
120
386
947
216
889
718
495
52
74
474
191
419
887
74
797
304
703
257
902
227
470
997
646
849
280
452
771
615
5
130
216
178
159
758
568
576
292
713
174
993
313
497
610
478
94
419
497
170
598
585
379
413
550
299
487
668
372
208
706
240
704
859
49
697
315
866
202
281
654
540
510
748
580
666
865
882
42
107
551
293
627
11
31
285
888
745
38
256
361
88
100
529
989
844
809
582
427
788
711
326
397
779
720
482
786
960
295
133
686
175
498
187
934
143
175
866
15
453
195
298
364
166
643
964
218
646
313
57
158
264
697
765
414
789
871
129
797
605
346
397
868
369
2
720
570
371
677
648
96
637
845
114
190
790
96
504
457
766
803
967
476
755
432
340
708
162
471
933
221
942
815
943
270
418
765
457
603
549
515
843
193
693
75
818
760
71
167
651
54
538
476
750
385
741
48
362
277
433
308
231
456
541
346
835
612
550
673
264
468
921
583
891
777
533
647
729
773
626
627
766
465
281
259
659
906
272
969
840
254
35
542
492
985
561
184
875
106
269
202
151
579
294
754
215
489
166
706
35
630
564
688
642
329
686
841
240
309
771
595
858
294
510
47
598
916
369
163
797
148
369
73
377
184
471
191
223
157
531
750
702
595
725
621
314
792
468
948
49
593
88
237
212
213
966
999
387
779
402
959
708
279
207
150
793
468
922
900
563
56
581
845
632
224
172
630
133
84
259
875
633
223
796
304
282
873
786
719
435
568
283
585
779
375
227
601
445
915
714
548
632
419
618
89
82
25
927
975
77
343
753
260
747
102
750
733
169
320
583
762
90
37
183
139
190
105
724
295
418
911
686
516
328
204
869
331
319
382
963
341
324
692
104
117
834
811
881
677
67
174
411
263
765
242
435
799
321
625
870
458
940
600
879
212
53
103
328
135
530
724
441
462
67
562
568
111
741
87
256
439
902
267
222
518
466
338
401
74
194
535
979
575
725
994
207
630
972
807
834
995
990
939
203
994
582
268
401
86
702
554
371
656
204
526
574
835
585
617
586
296
166
73
36
545
578
325
390
159
515
517
403
803
467
50
506
634
543
834
4
845
552
704
712
734
241
117
588
619
933
809
997
372
873
567
458
85
237
653
127
641
132
707
814
562
884
128
14
496
592
68
318
181
208
131
548
531
397
827
159
715
25
622
766
778
417
137
120
378
476
726
523
687
301
139
440
356
234
466
39
729
157
890
471
147
389
10
989
294
806
706
411
997
618
535
7
805
817
645
626
983
454
81
766
226
777
121
334
560
736
993
27
393
516
901
671
594
590
830
286
844
225
952
406
209
499
845
932
61
692
891
825
986
308
402
57
325
104
26
556
312
250
945
299
579
118
216
352
943
308
374
380
5
169
49
101
61
515
959
219
213
212
70
587
400
10
130
781
242
365
49
764
225
935
786
41
781
149
534
573
214
511
953
707
296
289
158
559
560
866
938
620
986
281
465
819
824
459
316
938
738
186
222
40
352
164
375
539
517
348
461
659
308
365
884
251
862
4
748
405
611
637
293
831
412
991
405
738
340
832
726
818
636
996
677
976
406
681
383
676
204
75
94
99
532
210
224
841
657
377
492
532
851
584
27
602
323
302
457
392
674
184
201
929
633
528
159
8
223
14
967
663
278
631
838
691
376
777
750
706
881
249
398
62
741
174
926
106
101
995
882
428
592
292
264
171
353
573
787
997
476
139
683
33
567
822
483
937
547
667
190
277
665
616
199
554
911
867
110
546
676
857
333
114
557
762
972
267
665
990
68
64
646
385
662
881
912
778
533
689
241
73
710
236
3
260
991
461
746
653
823
28
768
126
806
610
631
367
25
437
236
955
160
669
233
600
19
349
40
21
776
44
675
752
635
821
939
629
122
838
226
840
475
668
391
187
839
487
632
656
125
324
345
470
382
951
223
560
534
369
685
779
112
490
865
251
440
377
1000
965
326
298
25
88
939
961
594
507
964
499
530
793
576
173
938
114
983
303
808
631
561
651
963
559
630
304
653
382
977
155
881
689
115
224
840
696
94
391
462
833
406
604
108
664
147
257
944
53
145
211
343
680
201
922
990
959
927
190
987
941
958
368
380
24
412
227
993
140
619
300
361
632
31
232
862
220
175
552
827
291
257
335
572
236
722
415
755
738
692
185
446
683
683
490
583
880
444
848
263
855
38
998
437
785
551
807
150
79
923
669
401
175
417
840
86
901
226
611
247
134
521
794
25
550
29
807
298
983
876
523
982
274
10
131
360
529
972
518
606
373
184
21
888
153
202
983
42
11
569
222
818
430
3
393
154
139
671
223
737
251
199
787
376
114
880
292
324
646
292
339
782
846
140
262
228
774
678
944
131
547
528
439
815
771
35
872
984
428
574
306
457
429
368
735
152
912
464
888
294
912
455
298
57
204
468
953
637
949
663
906
789
298
223
413
443
233
405
529
914
752
715
594
536
968
693
724
342
810
100
251
499
783
547
2
793
713
695
496
418
449
239
394
665
269
783
1000
896
139
613
220
365
20
74
145
16
152
970
340
393
592
941
7
185
340
251
402
730
49
807
307
20
666
516
854
338
345
269
746
719
627
948
748
813
197
855
341
582
480
874
599
507
971
495
683
608
482
543
816
649
393
101
244
348
613
644
486
282
199
838
130
441
468
812
514
66
22
977
936
499
294
597
406
233
123
424
581
282
369
645
202
266
785
297
283
322
185
76
329
82
458
164
51
436
133
296
410
790
982
799
359
795
664
731
266
308
476
582
884
478
112
223
672
392
718
891
446
689
655
80
594
898
109
108
567
56
108
4
965
292
538
105
269
697
510
409
240
745
742
317
22
967
715
839
269
336
988
761
977
76
438
501
242
184
163
636
887
994
465
131
740
543
598
334
353
314
989
695
153
178
208
5
291
20
271
651
987
553
794
27
769
309
89
778
825
650
566
989
608
910
678
785
975
461
237
60
378
575
121
215
51
451
269
854
711
657
403
362
35
553
85
153
41
965
563
200
564
483
357
99
202
306
689
563
483
435
678
727
496
409
671
51
912
458
214
941
143
139
952
419
364
52
159
306
263
183
717
425
682
807
85
262
762
640
229
379
797
108
509
628
790
183
275
877
601
233
265
509
656
718
927
469
438
375
513
963
335
728
63
239
988
403
465
53
983
707
379
534
562
401
157
137
84
383
826
343
80
294
858
508
135
635
692
52
249
109
940
765
13
295
780
568
712
673
292
499
408
256
397
45
187
793
618
189
985
554
99
719
865
231
186
395
151
364
408
557
591
8
876
626
585
72
959
744
582
856
599
494
914
862
774
222
732
852
422
16
194
480
631
777
735
550
978
170
73
113
731
417
580
147
5
87
800
548
118
17
166
495
74
470
452
50
560
487
62
9
864
121
50
620
854
934
687
760
542
676
430
567
746
563
427
320
99
925
40
572
947
314
446
151
713
317
36
666
930
454
236
587
472
517
339
791
474
632
149
714
44
141
531
888
169
124
453
700
125
9
754
666
323
257
657
370
739
548
983
500
996
253
156
83
735
205
338
108
98
986
434
205
51
972
323
961
779
375
363
739
586
403
128
581
557
420
368
899
757
724
399
156
881
105
463
692
73
904
124
161
117
662
449
801
311
797
509
893
121
940
769
320
126
727
14
107
900
850
814
150
170
117
926
177
34
147
679
88
64
35
122
455
835
22
653
937
796
763
912
753
439
237
954
165
375
761
109
133
303
818
481
918
837
632
721
414
796
509
605
450
916
951
905
93
848
505
267
260
980
76
87
581
874
187
898
482
48
303
380
960
417
843
937
346
983
977
704
652
217
635
967
745
188
420
252
709
675
273
729
214
382
797
189
623
906
154
546
874
295
272
738
853
849
948
918
142
367
77
41
477
129
862
310
249
770
355
441
656
638
89
403
883
348
888
83
837
44
154
330
489
298
69
971
859
667
174
657
40
683
749
889
401
454
246
144
332
100
795
811
437
991
463
539
85
90
499
711
634
769
300
938
424
122
182
915
861
155
346
471
524
230
619
380
236
780
632
341
484
642
139
553
392
300
35
478
709
970
520
706
879
729
503
335
380
810
38
883
888
819
80
590
787
818
286
862
713
176
985
777
590
608
623
771
632
72
216
110
305
37
370
256
137
177
423
33
562
736
118
343
678
640
49
243
948
932
750
392
352
254
961
230
465
930
57
779
222
639
70
587
929
813
43
218
169
668
669
615
836
199
305
843
483
580
497
991
520
139
74
467
592
494
736
528
626
489
802
652
617
282
459
275
230
329
401
481
679
998
252
498
131
275
497
187
133
336
999
308
126
755
304
24
155
808
75
939
325
581
4
32
348
615
425
963
795
411
718
584
313
398
277
964
89
917
457
864
343
345
475
416
461
752
640
668
671
357
666
818
824
649
73
174
953
215
831
326
735
217
475
576
905
975
903
419
973
296
926
725
271
42
452
366
513
920
854
171
551
618
687
507
925
248
419
254
166
497
248
626
527
23
402
133
974
407
536
922
820
410
975
906
332
360
578
372
25
279
960
205
110
703
637
476
748
276
427
915
347
850
90
675
108
257
773
921
471
883
285
954
841
924
615
10
255
487
383
397
210
738
128
333
933
926
407
719
760
443
694
73
168
15
6
43
214
788
952
212
776
295
657
435
76
275
647
528
390
872
292
979
723
9
862
250
506
620
607
400
50
997
507
968
552
712
515
510
968
462
182
744
944
683
508
996
298
16
778
522
275
478
890
321
868
767
409
269
81
204
142
749
863
697
576
463
850
524
895
782
726
884
636
841
205
925
249
504
167
416
968
546
436
289
432
620
73
60
436
64
801
500
38
209
373
35
17
597
281
23
318
446
163
460
702
773
710
680
286
824
630
310
43
827
455
62
607
652
598
971
943
656
72
303
512
828
716
714
579
391
615
154
242
174
616
679
536
373
526
582
732
849
578
197
548
688
275
336
548
604
506
529
437
655
185
196
304
905
264
366
130
893
107
861
45
186
678
652
849
898
883
679
346
761
748
588
855
230
759
680
101
156
875
873
347
745
187
616
246
890
154
529
386
485
684
969
914
958
31
894
956
147
677
130
742
560
874
605
520
253
503
208
330
817
268
655
694
428
4
176
94
524
71
870
892
430
375
314
985
178
544
365
64
823
208
141
833
829
94
828
886
436
893
323
286
505
444
712
11
12
813
229
595
236
270
661
255
680
1000
122
725
951
612
753
825
146
185
165
535
756
603
398
945
763
417
731
16
381
330
969
512
850
665
686
821
793
859
497
627
921
102
639
575
265
743
10
119
722
968
339
715
407
552
360
438
201
219
689
826
933
229
603
510
825
355
82
736
188
323
274
430
881
132
12
838
693
406
142
107
652
68
177
395
241
208
268
218
624
916
515
797
309
293
454
85
97
545
896
27
790
308
412
345
875
887
418
810
350
113
239
521
900
892
515
194
887
350
26
850
992
653
340
542
896
235
686
5
88
137
119
177
741
643
328
540
615
187
442
176
108
768
766
206
904
741
700
39
159
928
994
474
778
413
113
223
161
295
700
894
720
893
66
789
597
623
160
151
254
818
711
643
45
254
99
920
443
58
36
107
330
964
332
906
643
578
856
815
725
458
290
652
907
310
450
165
227
537
740
13
692
710
771
828
161
272
306
372
751
924
472
27
650
707
600
996
363
737
172
612
702
917
60
122
292
740
695
127
956
443
818
644
127
376
217
396
331
436
190
518
879
803
549
334
119
33
607
237
7
746
995
998
281
790
83
9
239
762
505
94
964
199
537
476
855
594
74
449
514
611
571
106
312
545
589
163
508
101
509
619
365
39
596
452
558
87
809
52
71
804
682
408
927
741
154
332
327
342
426
164
212
505
822
468
832
626
139
205
624
256
158
735
620
186
843
818
617
925
232
440
556
17
191
907
916
611
14
164
442
984
296
676
179
509
657
568
631
651
663
903
836
181
700
138
279
703
698
811
868
991
295
480
651
395
480
753
542
735
778
30
109
704
777
222
375
788
168
289
678
97
485
906
846
303
426
949
349
110
977
784
627
263
557
520
491
148
47
504
350
452
890
327
39
187
410
525
178
624
106
984
331
311
979
765
704
442
866
713
762
245
355
740
948
973
100
116
625
323
254
444
466
791
305
273
804
561
816
433
840
2
424
265
203
760
15
885
84
720
143
501
54
819
619
593
709
822
691
448
506
679
399
150
490
3
462
635
136
574
572
805
197
455
57
50
274
523
649
728
802
709
568
275
290
228
171
683
940
448
195
993
233
804
33
328
646
334
507
717
478
33
348
650
624
154
962
855
258
43
65
258
586
837
490
486
241
610
788
536
414
140
232
444
538
493
522
879
173
57
765
584
786
487
279
516
245
248
404
339
215
120
768
646
99
41
394
936
814
159
624
879
472
803
93
876
25
364
872
229
974
749
469
549
584
163
599
126
391
456
490
98
416
161
29
216
207
670
249
880
722
680
463
903
111
179
899
164
661
738
789
901
508
820
726
903
260
149
521
265
306
905
955
708
457
676
574
649
499
640
110
389
417
403
230
773
314
306
11
659
513
750
4
346
939
289
748
893
622
828
366
920
109
224
203
20
626
25
525
430
62
833
962
947
265
37
736
393
635
239
693
100
741
733
833
9
529
819
320
959
700
565
942
664
999
885
586
704
511
415
598
551
496
756
823
318
971
84
695
417
32
11
22
784
832
831
999
665
286
984
528
212
794
639
178
299
712
789
945
41
872
146
542
459
187
439
88
645
258
399
967
515
949
856
49
988
93
876
698
984
855
810
728
166
780
432
996
740
232
113
396
969
749
112
829
257
830
594
133
807
791
996
72
880
648
665
212
635
389
507
918
364
669
543
775
720
660
855
449
152
748
399
363
377
830
542
601
154
193
11
158
30
358
109
942
999
795
713
995
215
133
546
2
2
341
684
491
389
362
43
98
341
861
890
866
648
62
3
860
166
145
218
289
739
293
503
921
655
292
614
838
953
526
616
470
220
311
263
394
784
795
282
639
388
42
128
59
453
519
645
911
67
921
382
928
666
153
33
28
199
358
545
304
227
43
15
85
40
741
371
668
349
148
196
786
540
342
791
12
794
515
694
53
584
645
462
348
208
648
452
457
60
863
708
482
239
174
837
170
11
658
934
388
333
443
184
403
347
347
784
753
303
965
206
524
854
101
610
544
30
814
472
332
503
913
46
656
931
416
348
174
283
356
747
992
33
339
98
876
47
390
580
547
777
4
59
691
121
750
829
329
924
442
73
715
650
681
210
209
159
507
601
493
929
35
747
8
263
178
185
754
206
4
811
436
980
848
202
492
685
5
874
688
916
754
65
855
734
489
774
790
104
921
315
532
528
700
543
25
97
292
269
617
607
636
109
28
684
912
153
133
105
749
405
371
619
329
891
700
620
144
700
721
951
602
992
30
981
304
196
916
842
554
183
215
385
598
197
527
962
168
743
23
647
106
390
743
843
282
697
647
561
520
57
661
799
957
293
618
594
147
247
315
275
176
455
845
414
282
229
23
733
766
116
974
985
462
760
886
450
689
629
548
213
388
982
516
835
93
657
646
397
518
992
337
120
766
245
978
950
612
381
28
555
893
976
637
151
734
310
942
462
263
404
966
901
503
901
599
751
307
175
243
724
594
14
554
782
625
527
145
512
756
693
259
673
892
82
200
737
892
855
719
413
284
113
679
125
937
991
43
413
827
712
637
36
580
959
217
330
304
524
59
25
84
160
680
305
621
995
324
342
730
632
530
962
770
282
434
330
658
896
461
782
797
276
723
995
112
568
731
723
400
393
3
204
371
67
781
193
72
78
342
273
884
952
302
742
911
182
953
912
366
696
858
79
521
645
882
792
896
951
378
298
612
158
453
194
264
591
122
397
232
741
696
497
105
106
917
473
742
389
190
486
577
120
790
209
949
235
42
721
607
115
291
498
41
899
963
457
980
631
110
331
200
939
634
841
778
515
813
316
66
592
830
395
952
12
780
426
419
226
3
4
34
748
677
851
741
181
293
909
271
904
45
67
549
917
149
441
694
137
834
478
640
654
50
475
885
48
972
252
642
930
1
863
473
242
290
208
522
742
786
308
631
286
397
873
940
209
172
440
69
119
327
71
592
921
521
68
332
701
48
649
947
413
522
854
378
972
157
217
4
425
3
894
749
402
349
8
989
884
15
944
815
697
492
215
105
782
662
281
896
456
388
434
764
373
378
431
251
826
550
62
913
368
601
273
224
465
579
766
378
47
64
219
60
356
978
399
339
479
148
503
160
280
479
953
369
256
14
782
788
984
209
437
639
430
459
555
519
370
298
772
222
578
719
137
921
227
736
84
612
163
662
165
269
330
576
995
869
628
84
894
280
943
818
783
32
884
64
747
169
33
537
522
682
137
590
885
521
743
112
560
821
210
901
756
763
927
618
962
445
802
264
886
251
798
725
768
458
347
139
384
241
981
680
180
828
407
937
909
261
542
201
53
126
775
830
81
662
768
383
291
837
707
319
582
360
770
921
16
100
964
518
420
40
197
252
622
757
591
361
114
341
623
443
83
870
603
190
777
796
391
903
120
86
8
425
334
542
982
256
91
507
847
284
364
69
204
956
727
953
162
751
318
532
743
470
67
761
90
248
74
392
891
122
206
524
483
729
98
405
493
921
728
401
753
142
672
234
413
959
926
903
857
470
949
191
77
211
178
294
592
805
810
901
890
813
100
10
639
173
762
876
568
166
316
722
25
54
379
304
707
426
989
962
924
803
997
539
118
230
451
434
984
451
690
87
747
731
556
424
592
559
719
97
214
275
624
937
774
113
989
621
287
308
77
466
623
649
214
174
829
337
138
534
469
70
802
359
27
30
210
400
181
865
691
569
955
789
790
585
310
680
615
54
763
377
28
99
968
458
561
849
49
427
317
520
639
592
380
348
215
924
494
321
345
814
805
548
858
984
545
83
834
759
363
210
489
513
908
502
726
429
915
484
147
581
746
315
784
2
813
749
687
594
802
555
742
691
922
690
817
588
700
778
366
627
972
889
161
242
799
143
668
951
10
447
921
420
971
514
452
590
911
398
917
353
917
948
626
410
205
948
75
759
876
245
933
716
702
795
653
516
847
427
58
294
648
63
757
697
682
311
258
463
417
607
951
56
672
556
962
834
952
718
9
307
485
843
2
743
467
494
109
757
555
62
407
552
139
394
27
146
319
678
942
292
767
745
118
761
875
643
805
338
663
231
151
169
958
513
165
87
232
620
285
138
326
674
468
836
7
254
745
586
929
792
683
321
109
75
998
639
472
912
918
627
372
202
474
130
234
835
75
421
640
333
139
119
257
671
481
715
940
482
472
264
273
708
652
623
557
833
637
138
972
2
643
810
222
724
912
801
485
324
629
593
908
29
671
237
184
354
674
912
988
461
464
459
181
288
830
603
714
563
12
391
113
222
28
706
282
413
147
837
100
983
403
753
961
296
15
137
975
287
6
241
14
890
81
323
159
380
59
751
423
702
749
879
779
542
194
423
634
805
630
416
917
108
334
735
818
125
780
864
76
906
166
803
395
803
438
988
245
241
359
652
791
406
88
341
173
831
961
167
689
1
864
959
702
338
661
686
236
363
639
393
299
387
823
428
971
841
308
909
118
215
480
235
444
642
96
938
232
349
717
314
765
561
931
105
884
955
103
945
589
426
173
420
876
758
115
366
248
772
274
465
452
661
720
284
41
514
138
660
301
483
543
725
916
653
267
935
534
439
297
176
14
255
959
395
742
263
405
231
842
259
136
806
520
128
976
186
42
851
590
988
46
740
580
314
1
443
698
445
594
265
482
746
793
523
910
812
87
980
274
192
187
886
561
956
58
784
62
943
712
35
802
810
628
982
658
866
12
747
710
269
366
961
433
352
993
93
871
738
147
678
766
417
481
423
989
154
364
90
261
421
391
90
319
574
117
918
164
105
652
922
982
655
236
404
646
906
355
730
453
607
246
941
889
764
883
350
783
459
657
728
139
859
3
8
344
706
167
843
162
7
154
12
163
685
658
376
772
662
427
53
129
253
94
524
361
723
972
625
635
598
686
780
605
621
821
338
455
268
929
627
772
376
362
145
903
752
387
363
302
597
957
749
573
194
328
969
605
610
438
707
219
61
582
150
217
202
476
18
570
869
224
953
783
652
53
179
126
284
959
609
504
38
528
24
250
170
307
474
998
9
38
826
94
452
967
244
745
485
225
453
161
829
960
809
534
983
514
594
562
711
422
414
601
546
446
319
259
932
155
1
368
463
794
500
857
90
311
898
978
241
458
855
725
586
802
225
30
543
364
641
525
699
318
691
213
45
878
261
421
271
57
645
742
418
444
311
544
852
537
550
786
889
464
821
494
359
90
262
316
98
634
736
940
615
915
764
38
199
239
877
622
313
801
245
338
413
141
921
290
277
878
673
427
497
445
169
405
61
8
253
100
824
88
107
625
254
687
420
786
44
832
45
403
47
573
249
820
528
405
347
226
911
983
445
110
40
776
20
313
456
4
292
622
373
801
688
813
814
49
212
364
869
732
210
800
116
999
830
788
67
321
475
633
908
275
682
801
902
517
128
460
575
458
971
781
192
982
263
936
118
332
12
312
344
926
337
438
853
443
249
531
511
991
839
349
877
554
10
284
634
179
470
187
372
602
373
502
90
50
865
649
85
21
809
486
899
701
118
868
563
546
469
17
703
235
632
420
982
858
294
471
955
734
71
902
641
686
308
361
54
961
420
115
460
233
762
994
358
281
434
160
66
24
20
148
292
536
985
3
290
566
317
961
11
879
93
297
171
402
803
458
321
781
642
523
782
448
506
380
814
713
60
741
475
710
112
250
426
248
482
518
368
757
700
851
876
549
166
811
161
548
843
536
687
510
179
876
610
494
698
57
762
10
626
492
240
848
1000
827
697
39
933
56
135
813
86
792
310
678
968
348
881
950
357
353
83
162
8
15
996
773
821
993
479
532
821
82
428
638
600
550
328
598
394
28
958
280
563
303
763
213
65
241
582
629
463
310
388
84
81
897
210
749
237
647
650
627
854
562
264
27
350
511
619
577
438
68
2
969
340
329
629
376
987
469
656
222
949
314
496
538
220
124
711
673
486
150
254
520
160
207
913
757
326
719
638
800
673
191
828
318
679
46
752
177
565
124
51
648
19
907
634
519
265
723
374
569
841
743
688
449
362
602
517
657
608
841
166
706
517
192
241
994
63
930
179
179
512
124
927
31
281
637
934
837
464
169
959
462
107
460
152
51
473
991
484
188
889
208
885
53
213
300
389
752
632
58
167
507
257
182
572
866
982
676
240
436
126
672
840
865
674
62
275
5
358
859
22
232
345
55
823
868
106
83
115
543
853
671
438
110
29
17
560
438
505
698
187
975
508
696
976
502
821
223
996
912
442
778
925
144
747
22
48
646
156
599
549
863
451
984
682
279
188
827
164
492
100
996
511
647
969
746
134
297
261
964
695
441
666
497
608
40
824
900
606
801
715
803
962
370
582
245
313
406
809
996
15
152
878
857
617
262
360
387
362
603
951
337
571
710
697
281
396
344
879
627
717
365
545
195
863
732
263
44
474
996
515
70
15
89
50
182
400
563
669
532
716
681
139
360
274
927
386
506
60
578
654
537
216
940
87
729
347
737
48
873
290
932
560
963
497
940
416
361
308
810
920
963
231
436
664
202
783
279
472
495
598
412
440
855
247
898
984
962
695
650
954
937
378
986
160
430
638
978
102
393
665
599
319
112
145
393
515
616
539
64
547
610
279
953
446
445
201
828
850
458
220
817
638
210
595
584
82
777
118
31
553
257
231
939
645
91
372
933
624
627
818
86
257
596
922
290
412
809
914
241
293
444
370
524
823
748
48
815
470
833
31
649
769
537
26
579
897
967
230
774
924
463
370
288
765
169
438
290
471
330
106
517
180
711
72
102
976
247
347
697
930
162
48
526
795
292
393
582
195
293
406
700
649
740
293
640
457
855
610
638
266
773
74
107
163
768
334
283
235
854
109
687
868
527
827
164
464
178
319
147
915
884
188
542
885
898
162
278
900
87
136
137
314
30
633
980
448
244
91
808
585
223
716
447
64
612
674
798
379
821
998
690
96
848
936
415
372
886
414
891
51
538
909
246
618
117
314
329
814
544
306
282
285
831
315
855
514
982
455
561
159
440
652
166
76
863
803
193
556
95
974
360
711
719
557
876
534
421
798
514
884
751
317
283
543
530
79
264
507
300
757
905
925
717
599
643
394
702
711
242
891
543
136
645
241
815
229
435
882
200
615
269
649
777
437
714
446
361
705
23
960
797
297
268
39
919
565
130
932
20
575
407
390
309
691
919
512
778
626
122
314
325
82
146
232
771
801
413
134
613
176
232
2
981
586
993
97
271
259
652
313
372
777
234
428
220
312
963
117
666
296
468
927
281
501
221
913
767
467
9
229
134
760
759
805
610
839
500
161
581
183
571
542
499
885
459
793
782
178
797
828
238
162
134
124
412
595
41
400
594
761
27
511
887
267
499
668
900
137
700
256
104
704
166
908
851
635
736
987
368
858
573
305
788
313
952
735
421
203
822
347
21
879
246
843
761
556
892
351
999
834
671
104
674
370
457
123
372
145
621
778
651
437
707
53
243
37
221
374
112
224
905
126
167
734
304
349
633
287
682
655
697
225
568
117
69
479
280
723
520
397
798
4
286
901
272
629
499
112
248
57
393
807
453
847
153
56
555
843
673
926
927
260
393
451
800
634
636
893
610
710
551
955
569
623
851
762
632
104
13
334
146
68
518
796
398
627
3
738
178
501
910
3
271
804
314
665
443
408
160
108
140
449
46
943
577
13
25
940
334
767
646
312
875
68
586
418
647
115
799
437
529
793
34
611
446
214
976
438
914
352
992
571
102
813
689
264
792
527
27
895
239
82
750
498
535
466
290
231
530
257
83
423
748
655
461
169
42
296
903
425
886
521
416
246
348
577
296
77
742
294
296
3
916
902
512
477
915
25
911
311
499
321
513
676
621
918
642
418
515
563
592
273
458
356
272
433
668
69
91
519
993
267
432
187
277
920
542
498
281
734
568
698
78
165
764
233
680
988
618
685
454
317
729
784
577
172
830
836
370
57
238
681
884
531
375
798
466
384
719
268
424
919
710
88
66
757
683
793
561
766
837
378
92
988
654
325
700
895
909
877
107
903
616
828
502
850
842
746
992
48
274
979
951
606
870
773
984
949
688
557
614
828
207
751
65
709
79
488
721
56
252
267
944
953
850
875
920
471
11
876
125
384
138
602
833
138
658
837
778
492
429
335
755
855
409
900
431
156
49
5
134
25
147
823
694
182
587
111
675
176
456
601
526
42
530
420
193
37
6
595
767
313
683
888
574
304
456
23
928
626
165
904
456
504
298
531
482
97
25
171
501
580
331
781
139
551
794
811
357
118
672
286
844
30
515
530
692
339
502
926
490
373
43
926
892
265
950
870
581
872
693
261
307
688
804
854
326
285
499
289
142
857
979
19
925
726
674
977
368
6
903
772
7
192
35
181
258
139
256
375
478
750
477
629
414
694
745
212
258
665
771
790
402
1000
818
960
653
967
252
444
353
659
522
93
339
246
190
60
146
256
905
454
206
690
900
295
32
33
655
837
551
622
887
204
824
432
892
777
344
73
585
994
1000
639
296
37
577
157
474
400
346
532
990
461
916
257
649
15
994
683
856
174
151
299
119
163
968
289
215
334
188
642
407
137
617
198
41
882
559
333
235
890
515
413
131
4
700
769
354
514
735
716
921
268
477
15
817
81
566
320
857
632
702
315
251
678
74
680
509
782
631
554
916
736
93
858
848
521
673
698
616
955
526
100
362
138
804
470
760
433
60
507
942
997
426
801
106
818
662
942
704
780
658
804
23
570
474
584
182
93
291
307
288
661
954
754
564
410
904
202
737
297
400
923
897
532
878
145
317
499
198
36
437
55
290
354
343
612
425
552
568
514
930
552
997
93
654
844
967
195
932
298
395
139
87
851
946
801
749
248
742
4
380
133
138
433
470
94
404
80
755
707
956
604
710
224
930
70
289
338
503
222
562
350
327
845
469
146
858
773
356
641
151
808
395
698
913
140
203
120
198
853
234
967
184
781
572
347
855
246
784
809
281
215
381
662
412
14
278
850
945
18
344
502
883
674
776
924
855
804
564
562
140
381
760
463
601
876
601
822
405
830
806
484
519
521
518
712
406
487
434
54
309
146
633
928
746
1
506
398
605
715
961
669
289
847
780
29
935
202
600
321
605
562
494
548
732
998
539
856
786
141
80
18
337
500
618
456
174
426
376
39
159
327
649
144
810
575
959
936
419
869
922
437
648
936
445
692
162
135
580
287
837
915
881
527
452
101
622
830
628
669
594
266
929
12
494
724
693
696
99
891
164
352
535
75
924
674
939
922
469
438
738
244
993
107
567
513
105
835
595
28
248
633
637
428
52
66
983
14
717
56
306
267
776
312
355
100
301
449
426
601
658
58
706
469
432
903
726
915
27
899
63
526
760
755
358
483
951
966
488
570
665
377
410
596
232
658
821
231
651
858
254
761
270
671
662
918
911
164
848
794
724
496
330
822
627
600
347
922
143
870
778
234
793
670
635
308
3
868
713
188
629
649
653
646
813
609
407
712
862
465
621
698
221
772
926
208
452
714
532
944
297
377
781
714
543
895
518
724
422
554
237
86
700
190
965
520
448
238
753
353
728
379
471
275
65
9
309
784
633
720
37
888
549
528
601
418
509
872
76
286
309
282
343
82
419
194
125
714
922
589
159
177
559
12
361
138
568
72
817
737
266
666
292
906
55
64
776
537
655
441
225
56
842
637
302
271
960
697
393
932
754
237
619
65
849
794
831
981
306
98
861
855
294
628
384
890
807
927
792
380
778
877
453
449
680
543
532
827
891
275
337
800
671
432
801
398
626
509
291
940
863
437
386
301
918
553
667
650
685
21
845
952
225
547
732
226
335
827
675
405
205
522
61
668
290
480
435
266
799
584
572
208
833
849
560
630
245
362
617
340
776
210
856
795
859
822
695
731
792
38
918
783
600
771
689
663
51
369
949
929
740
626
711
902
62
940
733
65
192
295
940
136
923
576
734
62
277
242
48
381
384
517
571
755
1
72
97
990
407
652
358
520
134
207
1
174
149
862
632
12
641
514
925
160
545
926
883
856
271
921
242
404
912
709
891
284
346
408
893
484
254
577
398
7
61
902
282
577
190
248
814
835
840
946
57
658
688
542
971
812
547
212
393
831
18
735
159
888
608
178
647
411
618
464
922
399
344
569
487
679
779
409
363
872
58
389
864
430
340
192
942
928
690
618
449
733
807
207
3
293
78
913
377
520
589
338
530
204
136
894
434
926
251
777
845
709
489
854
33
502
987
379
274
649
382
951
610
712
718
296
974
326
891
252
275
347
503
809
457
140
761
171
870
760
180
591
504
701
403
164
760
54
427
849
496
203
863
747
995
637
649
51
372
61
803
170
693
762
380
199
716
87
806
340
769
977
128
849
713
737
551
809
359
600
825
346
951
179
652
921
564
637
325
963
319
211
222
443
371
776
610
923
483
301
463
273
869
347
641
493
677
268
818
38
118
409
25
615
806
362
509
684
285
340
923
784
88
778
486
379
922
589
881
121
731
870
115
309
472
476
494
852
378
573
126
209
405
187
107
659
315
818
653
704
554
358
944
597
674
949
391
789
559
894
369
534
124
420
182
44
485
921
193
338
781
279
587
391
25
3
202
243
334
224
227
511
863
31
331
128
623
236
965
211
80
427
171
640
151
75
210
361
714
552
717
387
280
134
907
209
828
461
546
649
81
453
15
164
718
414
850
319
102
878
506
381
100
771
992
26
514
665
211
723
409
168
517
648
400
27
41
944
562
133
791
678
152
406
405
162
812
519
701
141
230
480
850
961
529
404
73
24
766
183
254
702
57
362
764
433
748
257
92
881
982
232
569
912
780
97
607
601
437
797
398
663
652
914
907
510
304
6
383
588
198
495
307
773
427
635
845
399
209
55
468
909
205
540
292
212
350
981
120
588
162
888
888
371
359
464
433
710
374
5
50
426
980
295
327
342
864
758
111
500
402
353
283
368
318
585
223
475
161
545
445
903
742
600
925
732
770
217
64
833
928
385
44
377
545
316
601
38
831
389
872
173
377
807
14
149
233
67
778
641
439
132
51
909
298
156
688
16
54
713
592
476
878
731
115
42
225
785
337
248
704
935
646
784
564
64
399
42
795
533
85
943
599
30
594
710
723
678
659
359
704
838
491
522
590
537
977
667
147
135
503
899
817
670
657
319
977
287
594
334
135
310
800
419
757
805
381
569
365
929
738
80
364
973
700
373
865
753
740
267
360
959
922
502
755
95
579
327
661
921
575
660
282
673
160
661
498
880
82
563
932
302
623
255
906
383
647
421
170
590
597
12
232
220
607
430
898
552
535
109
392
716
794
97
14
281
297
821
879
372
703
497
674
58
424
525
751
870
529
769
123
569
757
852
81
708
358
459
215
94
343
168
630
996
76
519
969
844
795
867
702
173
797
65
791
817
543
173
445
663
842
208
220
825
632
399
67
750
597
553
308
592
15
891
717
184
781
189
996
59
501
89
20
283
931
259
108
295
789
432
489
566
157
438
818
659
269
59
326
167
465
900
706
106
504
503
328
565
199
613
769
781
583
850
900
395
401
34
996
296
754
60
408
354
149
543
367
337
34
405
363
479
157
198
408
494
697
248
172
312
208
636
636
451
841
597
441
724
200
216
531
949
436
153
80
417
875
717
892
145
551
816
684
369
516
190
680
278
668
841
938
756
177
791
729
774
266
108
29
94
231
663
927
199
107
214
309
654
303
232
722
688
882
351
686
386
873
455
93
759
169
154
502
904
119
896
321
643
851
3
858
271
776
680
190
544
438
472
652
624
90
666
473
443
963
879
796
905
138
436
824
381
384
160
371
213
92
909
431
321
647
498
685
540
209
673
51
26
871
443
493
935
612
376
282
562
290
462
857
335
141
734
196
344
918
128
387
605
855
16
681
861
77
407
847
547
963
70
124
472
240
756
368
895
237
221
284
922
851
982
766
576
221
638
471
472
52
61
676
746
773
991
401
789
491
399
523
375
746
471
331
978
645
216
544
403
861
534
344
425
312
21
363
728
72
918
898
321
233
393
848
557
965
785
989
24
981
505
248
882
5
69
569
653
570
118
837
99
680
350
43
557
454
994
565
50
827
852
1
549
829
927
446
992
710
382
515
63
435
867
671
277
647
304
628
607
261
823
693
754
222
875
903
179
851
525
760
165
403
521
131
528
117
32
650
54
104
892
576
401
849
748
574
963
998
779
365
189
342
566
510
922
621
212
874
590
812
80
438
521
90
339
250
206
537
79
223
69
956
905
406
211
890
785
131
610
22
418
114
478
691
531
218
828
153
335
62
818
560
843
84
97
395
844
986
226
186
142
713
202
948
85
229
269
698
496
418
495
789
880
363
20
562
163
98
522
5
311
713
182
671
851
310
363
128
729
916
288
566
931
904
231
33
20
868
133
953
30
185
82
187
214
669
821
955
739
859
267
311
774
440
85
755
370
250
485
747
132
119
761
580
993
515
568
94
322
601
567
180
177
857
856
891
780
829
582
237
183
967
189
426
651
710
73
391
526
192
787
947
170
965
551
782
146
150
528
840
974
266
220
309
619
805
404
575
402
297
191
21
135
216
171
456
132
573
129
315
186
466
454
499
728
158
214
869
181
499
847
968
930
618
552
488
439
856
752
382
781
853
460
279
267
554
997
36
896
643
234
850
84
586
496
345
490
34
317
434
795
788
458
559
964
937
12
138
872
56
943
637
159
525
120
720
853
160
753
357
585
327
159
592
208
634
950
937
231
105
57
958
789
479
507
734
765
882
460
266
311
681
874
814
226
753
50
411
581
767
464
447
525
314
526
349
422
897
342
824
349
846
125
59
508
220
626
559
290
600
851
22
563
503
378
752
284
813
777
646
626
239
998
697
701
299
102
317
351
757
395
501
653
748
817
991
537
47
453
195
359
81
155
511
355
300
555
121
659
482
209
74
967
394
205
641
984
966
357
524
510
830
985
490
398
606
398
388
638
831
400
306
509
764
539
851
83
618
359
134
357
959
624
65
949
82
317
982
598
224
260
505
683
348
349
691
573
65
722
263
946
981
679
705
86
394
790
482
825
790
427
521
982
34
914
335
106
507
590
874
850
681
335
245
551
804
544
963
435
414
89
254
410
391
567
266
598
128
995
729
590
187
163
735
892
506
68
819
226
806
203
446
98
384
963
360
578
834
156
974
296
629
364
122
486
645
929
70
312
894
464
605
824
744
73
426
613
852
919
791
668
872
400
583
979
791
929
530
132
356
257
283
559
669
341
497
79
463
988
813
104
993
910
880
167
713
345
153
496
146
124
236
933
426
889
956
882
11
229
186
875
961
612
688
5
16
354
876
737
403
346
458
554
960
873
381
456
680
687
348
635
230
410
474
475
350
483
294
670
280
119
443
384
546
137
813
328
474
145
869
91
810
254
136
300
666
402
556
981
825
403
537
21
130
63
32
774
255
2
919
653
696
418
287
37
204
610
950
922
209
977
698
547
19
135
303
633
679
973
287
987
440
732
802
960
726
663
762
651
310
412
523
815
197
58
7
137
362
626
150
916
45
996
943
232
802
348
141
348
866
675
941
435
685
427
497
726
672
77
219
834
315
224
191
284
794
889
880
299
169
806
563
462
8
848
537
183
69
216
213
837
253
630
689
999
604
591
215
482
562
696
280
780
28
138
688
59
54
726
107
76
131
254
29
268
117
544
17
790
819
292
364
447
130
675
58
327
389
757
5
430
353
928
14
737
739
940
979
980
829
656
995
835
2
267
920
388
432
571
18
491
341
881
876
70
407
282
746
545
891
226
834
233
31
932
809
65
98
648
13
954
239
585
395
896
921
292
229
256
345
258
22
709
661
811
871
997
222
743
677
7
382
643
305
667
532
611
740
802
184
903
749
429
902
44
385
904
797
134
911
972
128
391
354
50
246
451
963
12
794
590
313
308
569
835
626
539
909
849
193
481
838
621
434
117
418
237
202
463
950
414
478
837
720
77
428
743
951
984
166
746
535
276
216
530
856
895
818
845
751
2
737
200
230
884
132
966
97
346
431
14
997
275
832
143
777
856
247
332
222
928
41
273
400
98
852
755
857
508
191
179
853
638
244
934
693
87
504
386
944
80
437
966
990
345
362
206
964
68
148
617
544
905
102
958
500
378
655
815
160
544
49
400
136
523
264
109
791
332
833
721
888
479
49
73
804
940
284
653
499
466
798
852
142
660
471
554
953
887
334
297
336
882
665
538
813
862
646
414
646
77
304
974
262
964
498
71
775
525
231
957
946
81
446
181
931
334
779
557
993
522
435
800
207
498
491
956
812
790
409
871
517
27
532
780
541
640
596
550
585
421
90
225
261
335
413
333
718
986
320
797
327
233
149
439
352
797
626
764
438
109
866
153
620
285
342
630
315
847
176
86
404
761
102
233
83
408
844
564
648
359
456
293
738
201
371
599
878
195
533
476
301
277
994
149
206
741
794
341
527
962
774
625
276
703
192
714
282
847
705
851
908
904
267
345
948
263
11
941
424
954
2
925
479
650
57
783
886
723
466
788
951
451
563
107
754
883
569
890
747
436
28
334
678
47
457
892
717
588
551
657
429
262
367
422
936
967
479
81
205
889
976
869
923
171
540
352
791
127
561
263
437
307
407
4
325
716
507
99
204
608
860
974
646
571
974
166
196
94
965
489
470
374
766
732
327
920
957
182
878
404
708
647
671
305
751
651
862
104
76
216
572
189
248
909
900
172
894
909
259
9
873
439
820
187
129
250
820
241
10
811
428
40
102
456
670
603
274
55
639
694
657
670
846
64
778
274
102
37
888
864
768
45
836
168
557
853
484
744
320
473
769
464
418
171
981
242
357
566
745
427
302
528
480
417
16
504
824
931
515
897
627
865
433
377
635
783
719
311
908
955
730
52
366
265
273
455
565
478
394
862
988
101
985
729
665
539
398
247
884
299
262
573
154
782
696
760
320
582
902
60
915
268
928
64
428
365
7
26
148
595
480
832
623
479
768
269
623
94
236
676
635
104
94
565
602
181
649
521
584
618
340
551
479
187
991
45
762
319
608
706
442
269
897
100
69
220
371
991
714
214
562
246
248
387
398
882
159
232
208
800
381
518
229
837
317
58
680
36
290
718
677
460
165
956
298
439
786
685
106
881
145
452
300
156
941
761
459
121
282
874
526
32
803
551
299
465
419
43
173
879
230
70
317
104
882
680
755
886
776
630
79
585
128
382
624
283
795
911
980
809
167
223
668
693
199
943
643
624
819
341
41
777
539
928
266
268
97
68
52
102
328
144
640
183
281
450
564
353
808
353
836
977
462
238
525
286
548
446
791
539
630
667
486
86
587
270
291
595
594
634
230
993
17
847
81
206
281
69
861
368
210
435
93
998
232
625
983
584
80
157
35
117
320
971
817
377
99
131
821
207
24
318
378
568
948
328
585
911
769
969
77
289
17
596
265
670
177
3
348
114
151
581
3
843
241
412
185
729
339
480
838
411
751
273
682
58
256
839
432
797
501
795
946
955
846
869
833
546
97
317
6
898
360
954
487
923
406
584
563
286
539
350
10
655
941
897
712
276
850
240
445
377
753
958
987
264
969
634
4
521
608
492
349
445
927
805
515
683
516
987
977
57
590
222
83
736
901
123
972
234
413
186
690
201
975
730
356
599
629
628
723
661
108
352
943
988
311
778
679
214
244
755
988
967
975
650
520
260
671
954
693
9
649
572
427
124
691
595
951
503
593
194
938
289
990
774
941
974
83
693
708
264
757
623
424
161
949
143
382
351
868
248
872
851
778
229
311
825
658
849
775
609
965
788
111
316
112
106
761
800
49
873
296
388
498
156
362
554
981
295
473
604
770
754
572
555
283
859
841
582
263
445
537
815
248
737
982
826
512
823
998
808
621
702
172
341
214
220
357
632
433
165
721
298
662
401
465
69
911
234
62
288
180
93
507
710
647
239
580
908
371
439
595
521
439
447
431
722
233
709
924
506
495
905
823
852
428
832
621
361
916
634
512
724
272
610
629
252
635
622
489
737
231
672
262
131
245
327
107
874
991
513
272
214
373
643
126
534
386
189
557
534
555
543
425
81
746
518
873
695
759
846
356
911
462
850
149
241
2
826
997
28
816
745
283
270
721
611
769
416
384
151
531
188
841
588
180
726
555
892
841
763
701
258
657
32
974
574
755
854
268
261
737
693
949
218
745
466
325
524
70
587
137
221
83
36
534
734
2
227
51
459
625
82
584
600
710
537
187
630
108
609
820
605
128
310
828
161
831
927
39
212
159
605
823
259
829
769
392
724
912
618
889
945
914
851
540
260
934
785
245
150
177
274
520
546
709
143
615
197
833
410
971
498
875
211
918
270
508
166
666
774
925
928
180
679
349
772
510
778
367
388
480
23
543
484
444
812
587
423
971
570
142
857
913
331
895
284
291
442
274
465
847
513
504
943
895
434
129
226
310
605
425
791
131
555
319
731
249
733
505
747
89
610
482
196
29
160
125
46
541
427
240
970
666
178
258
231
517
532
869
702
936
100
913
112
308
380
315
599
798
60
174
724
968
466
387
392
791
570
339
528
593
884
270
920
336
52
892
411
945
188
708
468
128
792
295
219
209
625
464
260
32
35
844
864
946
72
935
752
158
160
65
270
534
257
30
604
53
162
406
677
648
113
660
504
178
881
199
64
583
316
482
210
89
704
130
731
475
374
731
471
16
671
723
283
707
820
271
720
743
217
551
561
68
359
226
676
986
995
182
270
451
42
796
255
680
488
89
337
148
806
135
442
861
366
12
257
48
956
383
996
56
802
521
962
272
419
247
161
375
192
746
958
65
865
707
757
709
997
543
782
984
9
745
298
732
665
551
18
683
696
184
47
618
822
909
410
858
577
12
129
648
217
597
835
132
482
809
117
144
101
655
158
946
808
132
723
398
16
761
235
762
506
963
496
522
191
905
590
105
503
614
662
397
10
158
523
270
636
662
518
142
246
756
686
731
432
813
997
789
34
8
382
556
321
779
334
81
777
748
113
380
107
557
940
564
454
333
147
734
777
707
913
419
19
416
118
788
992
491
802
686
873
988
939
791
834
998
536
819
593
423
532
786
631
613
660
750
383
520
162
375
972
437
266
874
969
773
381
603
203
532
270
650
864
364
860
246
27
93
924
726
239
613
619
71
5
924
715
773
841
871
442
857
69
815
38
456
673
107
470
224
357
698
290
209
387
658
270
589
964
686
285
745
597
900
880
781
438
366
125
481
579
808
607
124
104
943
927
295
53
664
594
40
544
126
52
295
5
384
432
469
821
840
728
530
771
216
329
656
273
147
206
808
818
785
612
117
967
982
860
63
942
733
575
813
133
563
859
923
844
436
949
859
177
605
305
433
281
538
505
294
83
673
3
87
245
299
575
736
308
320
231
606
904
972
491
949
489
847
167
130
222
728
225
642
547
811
873
758
501
845
747
46
18
644
967
606
279
152
863
60
702
990
388
812
303
978
570
31
948
633
899
160
529
83
175
457
167
113
208
256
359
313
710
172
407
419
874
419
564
968
424
810
59
343
375
730
613
119
339
599
42
382
985
895
356
365
175
787
36
284
369
871
273
768
141
246
605
618
13
409
732
952
370
65
285
961
920
947
993
604
16
175
973
589
174
540
878
872
280
300
195
760
312
738
345
386
892
807
91
979
604
590
407
904
810
231
193
830
674
208
101
813
158
540
335
262
79
563
478
972
675
440
268
433
756
430
806
640
198
264
816
467
477
675
456
481
934
251
663
758
701
290
162
866
556
268
89
660
479
872
633
989
387
270
246
693
296
455
705
507
193
48
805
627
2
879
497
710
343
76
56
45
219
118
285
454
379
499
783
266
877
255
43
345
240
557
524
727
768
3
852
910
681
15
4
190
262
982
653
751
637
381
872
398
584
146
31
910
573
970
34
26
294
61
6
941
65
121
186
58
860
943
13
424
158
102
375
935
480
638
557
911
243
524
664
105
535
971
230
539
501
292
240
827
325
139
53
803
157
418
543
343
981
71
348
225
81
228
251
790
698
934
607
903
501
771
198
452
679
210
47
186
846
479
565
226
441
17
825
962
984
387
918
413
375
605
109
288
391
447
929
190
704
201
472
362
997
755
862
389
234
621
303
70
747
727
155
438
538
341
205
597
144
535
682
569
479
935
577
839
280
352
524
683
205
70
843
606
142
195
331
456
15
474
39
850
205
440
614
560
742
558
697
419
574
285
540
127
545
618
256
57
214
730
60
790
256
787
443
650
13
863
474
942
675
174
335
958
718
513
729
60
458
850
55
312
6
560
67
210
500
623
318
19
202
462
829
105
938
767
278
468
426
794
520
315
193
132
376
171
187
853
442
501
675
319
163
218
679
626
495
794
62
835
293
905
318
680
980
658
284
407
143
506
279
759
465
881
615
889
771
434
52
165
72
528
512
423
167
276
291
186
751
998
101
794
11
447
471
166
372
516
454
146
379
443
127
977
733
709
43
486
120
939
695
974
794
97
27
656
853
210
214
716
737
632
259
697
795
627
424
10
674
644
164
771
874
206
20
79
92
800
872
87
830
448
80
909
357
957
263
491
276
966
946
59
872
991
809
644
905
632
68
509
710
7
361
981
321
233
582
330
809
503
282
853
186
869
651
226
61
379
554
555
642
600
822
264
877
895
771
136
227
48
937
326
61
930
152
193
723
981
349
88
65
183
976
60
663
82
478
591
978
145
73
69
438
414
973
680
809
987
277
817
218
314
985
885
910
705
978
604
143
696
347
524
615
145
168
473
498
10
653
104
429
768
636
533
810
348
530
292
348
275
186
480
98
423
602
32
146
443
42
499
717
420
928
587
701
800
826
970
504
951
932
581
706
984
754
658
192
614
87
316
336
926
946
306
293
870
886
934
706
184
988
811
902
255
854
218
207
82
157
411
141
148
633
79
43
478
933
551
192
583
404
36
556
311
708
364
125
851
162
236
179
253
823
932
983
878
625
820
80
121
349
762
829
615
784
679
844
866
228
152
712
926
370
899
778
297
693
360
755
717
756
458
653
866
98
769
830
301
68
969
980
159
559
468
521
215
513
509
155
927
41
916
339
999
206
853
37
793
805
631
379
674
12
657
810
986
334
58
899
885
165
382
201
721
153
69
515
980
696
24
386
85
179
748
966
484
928
939
173
543
495
393
665
727
564
321
283
429
695
920
492
601
141
134
827
30
195
82
523
692
856
539
287
139
148
188
674
272
51
132
615
171
874
240
450
889
857
531
246
223
920
674
255
546
792
121
142
682
185
115
990
705
304
998
171
247
713
847
868
604
548
429
420
472
79
889
679
623
916
357
266
213
497
891
941
702
71
778
295
561
52
241
660
20
533
13
385
153
693
87
647
457
61
194
556
960
889
176
598
551
367
517
405
916
91
711
407
952
920
46
209
6
388
624
394
612
870
132
38
674
14
962
441
185
355
746
441
657
583
307
201
393
710
276
561
628
217
397
874
340
355
583
743
237
942
383
238
3
367
376
972
427
16
397
889
401
26
203
726
143
63
350
913
180
835
603
75
784
172
145
431
586
794
235
101
15
356
724
736
88
946
13
986
813
998
627
968
121
464
566
336
846
210
988
542
692
797
572
573
559
211
148
790
845
648
750
495
569
155
305
505
213
798
585
310
246
23
877
373
146
55
69
748
585
503
509
466
168
832
14
69
727
969
899
286
726
144
741
57
759
988
859
46
494
25
191
328
639
971
300
149
704
642
762
537
367
883
61
76
249
632
425
312
770
143
757
142
547
418
906
998
500
115
69
814
399
536
10
553
129
836
161
567
335
233
357
155
430
864
142
470
184
862
115
383
229
415
751
963
855
841
494
21
427
149
687
534
569
197
83
847
65
283
270
259
31
960
316
969
536
904
352
395
276
933
613
546
314
633
643
498
183
604
15
979
813
42
908
771
894
218
342
901
233
448
670
592
621
282
191
549
515
9
386
436
582
21
320
348
762
233
239
643
66
553
213
791
745
324
991
746
839
808
883
953
344
989
565
304
410
451
220
201
60
608
285
465
868
337
413
961
939
920
942
696
302
269
276
600
533
599
133
400
18
63
501
763
760
387
514
377
68
211
161
756
771
660
930
326
805
651
998
790
199
590
570
859
466
403
308
182
389
274
587
719
20
115
464
839
478
499
856
174
766
766
388
605
446
22
792
784
418
57
512
314
490
513
408
998
672
258
38
614
337
557
39
293
486
528
543
906
362
363
402
815
565
977
230
984
631
61
926
713
792
998
378
187
212
753
524
643
586
623
790
176
388
692
226
140
428
941
288
636
624
241
364
805
50
830
560
512
408
519
220
538
16
535
909
589
321
851
323
248
688
856
699
522
957
447
810
769
813
968
560
616
553
931
543
920
224
138
639
975
440
627
891
932
387
867
457
822
685
746
360
691
785
214
174
82
531
858
501
500
381
335
308
574
499
311
765
330
640
500
205
367
268
472
234
755
858
102
822
157
695
957
400
30
774
440
617
730
591
215
427
29
724
287
595
852
106
144
560
984
793
511
814
169
853
607
615
244
740
278
902
939
116
5
724
511
656
596
386
690
775
301
757
249
609
223
879
131
789
132
101
237
752
218
431
889
369
918
724
463
651
633
598
928
197
95
693
820
795
141
14
703
305
882
572
314
555
599
540
402
468
211
387
732
57
828
272
850
249
736
67
986
717
125
964
903
26
37
555
588
434
270
670
431
648
447
992
957
658
69
660
194
551
111
679
527
845
669
892
222
477
204
716
847
22
202
614
510
136
427
502
146
457
494
882
125
440
197
539
59
664
881
49
43
161
152
183
479
248
393
529
311
133
890
302
728
308
827
375
356
363
73
987
532
400
473
495
529
655
282
768
465
297
526
525
217
622
296
985
868
25
438
691
94
188
652
269
404
923
741
188
363
951
669
277
742
717
99
892
49
21
295
133
52
833
630
441
691
189
452
235
284
450
736
2
6
545
749
365
433
26
989
264
367
909
725
264
239
290
831
458
159
691
6
113
44
925
100
464
370
27
27
584
752
453
666
287
975
336
211
392
100
35
691
482
959
619
744
527
706
191
275
297
62
160
354
582
586
679
520
604
563
447
725
864
112
5
270
919
708
463
446
200
609
323
58
53
595
689
645
638
48
698
20
195
603
437
686
432
551
976
798
491
704
381
600
27
651
754
704
404
229
396
113
940
524
176
666
410
935
62
444
724
654
554
718
839
431
462
248
443
619
54
58
906
329
122
360
330
982
918
950
225
663
212
227
555
466
986
976
371
445
371
177
277
894
484
419
282
408
775
919
407
586
325
789
555
299
298
916
763
174
418
772
933
274
893
531
529
49
708
103
540
247
549
81
211
879
953
153
658
270
435
206
503
932
457
240
100
273
107
186
743
131
267
926
487
749
869
106
887
76
553
838
959
218
679
17
175
465
182
766
147
539
190
481
911
644
696
61
439
429
796
143
39
223
208
615
843
737
809
235
437
982
944
919
10
334
108
149
109
506
409
997
193
686
894
469
692
278
439
207
228
443
398
122
964
166
604
200
799
631
669
521
271
524
712
550
572
275
796
868
56
360
403
817
970
539
177
989
907
278
66
73
669
709
705
367
807
149
570
157
83
608
985
247
511
726
550
172
422
267
928
972
220
646
225
9
95
944
364
943
986
544
7
901
528
813
508
837
515
219
367
283
693
914
414
993
304
68
710
482
889
187
769
93
278
245
242
1
595
680
646
554
357
250
74
415
422
258
71
254
633
907
34
159
490
400
531
498
74
932
955
709
758
908
768
369
936
557
391
950
125
617
494
858
312
909
31
724
342
437
869
406
483
109
281
851
38
308
873
777
13
293
760
127
421
897
918
377
743
6
687
74
432
126
332
439
131
690
424
463
432
854
565
701
603
216
623
876
696
305
231
484
832
660
758
832
282
67
360
305
145
795
992
237
70
744
455
422
456
992
652
190
20
602
241
964
427
493
769
401
955
773
196
525
758
270
445
756
410
871
240
380
800
910
22
779
366
84
197
712
910
251
295
33
893
86
885
495
226
710
259
711
33
345
951
924
779
530
130
945
445
655
818
547
135
376
613
601
639
991
352
481
971
16
687
584
829
992
115
364
285
23
354
908
714
685
315
936
143
708
129
73
745
256
818
392
154
759
234
499
662
961
839
908
92
264
743
43
370
517
167
968
343
99
169
874
440
534
40
412
104
879
224
218
795
847
43
324
503
926
746
744
378
798
627
170
78
964
35
617
856
836
121
832
277
504
67
478
649
987
351
415
919
114
356
875
858
38
224
994
772
44
420
916
870
524
897
680
701
898
112
164
699
834
388
657
34
323
291
35
369
34
743
80
96
924
580
237
880
228
131
979
61
842
195
990
572
543
468
575
577
727
83
85
916
70
436
626
818
49
855
11
57
346
23
731
890
949
262
704
640
198
928
707
785
106
194
665
736
51
458
457
289
312
435
476
901
9
774
954
521
707
680
984
691
307
604
245
51
907
532
664
157
961
778
630
739
446
484
949
150
696
211
384
753
273
114
520
460
490
186
689
415
237
983
849
109
308
50
669
821
780
980
506
340
864
701
656
402
289
90
992
101
491
461
102
847
815
845
130
82
453
206
766
77
121
915
282
603
276
870
76
180
261
611
894
895
933
683
822
498
142
260
167
594
974
752
545
279
790
711
851
476
910
856
306
582
267
447
440
755
460
561
690
344
443
43
286
475
474
26
221
807
95
973
407
814
619
108
565
710
19
978
999
342
172
624
171
931
133
507
924
533
475
902
241
512
763
957
706
84
918
961
183
226
573
705
785
845
498
949
926
125
854
166
59
403
318
696
763
741
114
371
987
629
580
500
586
863
194
796
765
734
925
500
695
74
344
441
347
634
191
264
542
459
998
381
333
681
923
437
75
175
166
300
990
48
215
579
568
803
687
720
927
341
729
545
84
656
775
936
196
208
950
28
966
464
575
883
832
28
30
125
998
130
689
423
111
955
793
30
135
462
866
798
35
886
737
242
940
68
330
232
824
138
104
870
130
833
443
917
422
903
372
927
867
669
655
882
303
759
730
701
701
441
965
468
80
813
377
590
295
261
335
416
697
259
727
993
333
575
762
786
221
400
850
138
264
709
990
214
502
457
735
944
761
809
28
229
218
686
201
298
45
351
973
634
86
628
546
344
482
633
816
174
245
527
250
655
74
950
202
990
85
226
341
403
755
352
342
596
46
89
228
887
635
171
547
356
152
750
101
29
581
757
75
725
301
733
223
714
779
66
263
707
579
261
698
66
183
65
139
297
118
782
544
50
978
91
979
887
275
35
159
988
467
626
512
867
133
689
507
867
19
135
735
917
615
868
606
553
971
905
530
726
719
102
154
260
637
70
568
127
642
518
372
909
805
225
178
884
819
313
396
220
386
324
154
624
142
803
798
662
81
786
703
643
882
617
77
620
247
969
995
589
77
826
192
398
323
456
10
247
417
51
470
904
479
827
659
914
882
865
481
163
378
824
365
121
662
33
696
979
197
108
575
659
125
390
26
399
301
24
903
184
858
403
566
819
206
46
870
850
35
735
120
842
743
836
431
749
652
342
356
277
553
79
766
108
385
912
656
865
314
546
30
507
94
703
1
603
336
27
19
603
244
68
475
794
441
86
967
84
760
226
215
163
236
804
919
854
91
85
890
670
216
933
401
690
490
149
45
874
299
143
331
844
795
832
884
969
728
285
388
345
224
715
339
842
449
843
290
979
949
552
483
785
385
6
691
189
473
76
648
706
240
32
651
378
82
902
805
964
724
834
892
369
884
85
52
188
352
956
286
988
217
128
289
695
209
370
298
20
429
490
410
359
318
778
328
37
311
897
595
66
519
324
158
810
704
14
537
97
992
910
976
320
39
262
680
65
823
538
667
586
842
842
807
265
259
348
340
813
459
275
553
549
543
280
287
587
539
986
681
93
477
542
845
118
27
752
202
663
105
300
854
749
695
59
663
258
161
275
679
247
482
669
201
218
178
163
995
586
161
940
177
187
404
66
798
232
95
715
488
527
907
346
344
156
113
823
875
52
539
592
977
68
774
482
822
198
624
611
54
609
525
179
869
982
535
632
415
489
543
802
418
382
553
140
118
815
262
95
385
978
634
21
387
79
873
726
249
983
8
942
983
576
290
520
353
31
726
138
454
205
387
658
534
315
569
38
972
919
489
898
407
959
960
401
714
296
419
114
895
729
756
897
996
974
591
699
827
439
98
289
611
943
945
645
694
686
681
664
82
925
722
343
895
750
105
378
793
335
367
396
44
796
201
639
188
557
61
21
185
726
473
904
519
529
669
806
991
304
48
532
825
872
113
907
272
411
789
337
120
49
436
959
385
543
452
997
982
297
95
268
371
926
41
480
8
317
228
77
909
840
753
915
843
964
934
964
402
41
158
586
734
418
826
659
800
374
502
968
817
584
378
849
975
951
293
996
604
697
839
758
735
502
545
969
360
389
724
560
811
764
341
792
340
684
171
916
397
29
601
462
97
674
653
204
79
193
197
978
292
860
854
225
220
948
824
104
752
399
685
442
164
955
251
667
699
741
747
54
801
127
860
297
374
394
740
459
361
379
622
805
511
810
590
899
495
459
883
609
364
630
321
339
989
722
633
898
249
769
932
893
684
965
126
448
802
86
805
327
440
683
18
270
419
629
413
457
222
357
397
520
576
684
344
488
646
640
372
336
988
128
914
588
555
557
87
544
817
815
887
261
476
77
339
391
390
986
70
304
16
673
161
745
121
947
810
410
556
732
39
428
605
489
646
721
798
931
642
614
89
810
661
862
18
941
226
466
772
904
275
285
99
67
81
436
652
669
520
946
672
698
696
904
861
227
59
640
951
671
513
87
710
172
466
526
103
917
425
388
894
766
538
650
214
996
410
608
561
288
665
525
201
399
947
708
214
54
515
54
252
713
110
36
638
821
567
350
606
16
472
201
315
587
250
274
785
133
242
15
43
5
718
702
584
588
241
185
704
910
517
867
415
384
643
674
386
693
682
289
833
977
616
909
335
518
17
118
328
39
249
270
418
609
583
930
709
889
419
517
78
101
668
278
673
705
491
106
971
198
752
552
379
871
994
541
747
615
242
948
115
75
667
216
694
551
992
589
397
32
522
404
176
685
879
112
64
926
812
322
98
913
957
262
217
956
62
453
844
846
956
301
82
580
542
553
388
273
144
268
116
332
839
1
555
108
824
418
962
323
408
445
610
536
992
355
55
786
268
895
667
359
905
696
989
281
214
702
591
778
606
291
959
422
211
101
372
96
653
306
868
246
842
229
177
84
583
734
927
569
981
812
521
992
880
108
836
969
57
935
284
461
459
492
866
234
578
571
513
791
944
42
444
405
799
805
236
345
262
676
48
768
667
914
721
37
301
676
519
414
469
742
911
178
688
251
100
229
790
36
975
137
918
382
800
422
701
678
188
577
382
481
909
962
318
976
599
250
51
673
746
536
115
455
191
577
834
765
967
880
646
815
491
518
889
170
29
619
572
976
838
461
392
375
626
953
122
403
762
117
555
723
193
822
407
121
187
669
885
580
794
404
209
101
416
649
979
174
995
66
153
943
87
294
358
668
541
117
398
39
592
364
121
262
919
995
253
622
625
655
424
368
148
742
348
401
850
710
72
178
368
872
264
692
876
450
728
154
67
16
768
224
6
722
512
258
27
937
41
46
458
1
22
957
314
789
543
218
25
735
25
325
909
729
420
197
377
69
358
763
789
252
586
107
457
937
790
174
570
852
879
316
686
762
887
608
16
880
939
987
930
250
123
704
7
710
695
541
435
16
780
468
813
575
611
203
191
38
392
188
722
690
85
52
425
162
756
543
389
519
645
255
194
160
787
196
468
308
836
415
263
76
724
435
362
236
938
204
749
842
464
654
177
810
925
701
219
410
43
723
208
358
286
122
211
888
536
558
546
732
627
865
380
406
887
429
629
598
175
38
726
722
446
820
820
908
605
905
612
786
233
879
357
432
807
921
527
761
190
769
233
451
503
285
809
235
954
464
871
988
865
177
775
619
906
793
635
177
507
125
963
957
529
787
553
640
519
157
463
648
331
621
793
990
416
669
514
816
867
711
760
809
166
200
857
304
617
758
864
730
680
513
517
558
745
799
323
474
410
684
999
851
11
557
550
968
947
108
96
621
351
647
981
889
779
601
753
891
897
439
420
268
579
32
716
15
454
618
225
4
687
149
905
236
708
761
921
399
673
532
734
797
677
461
82
95
123
847
814
598
189
819
548
3
55
830
772
620
384
332
319
104
587
668
115
626
536
504
706
230
777
711
376
865
688
706
571
183
760
690
968
763
892
101
736
819
590
863
482
857
61
685
898
942
419
767
363
440
703
730
623
140
916
503
184
665
66
201
266
911
76
724
974
103
448
931
877
698
795
763
297
977
703
611
454
703
874
563
60
573
218
899
92
581
336
348
227
564
857
189
890
388
204
198
926
231
672
856
678
384
141
965
637
823
373
11
906
573
574
200
424
543
847
76
273
72
231
18
419
901
235
735
926
687
204
72
12
414
337
46
323
308
950
76
460
905
366
778
74
975
871
533
861
873
327
276
351
742
362
610
714
688
529
383
710
698
484
329
513
590
5
254
385
749
638
498
77
725
859
82
398
43
902
61
592
728
819
48
75
129
922
798
551
562
490
57
783
235
486
533
62
626
112
40
982
260
200
299
225
355
808
890
917
359
892
117
538
809
615
323
540
217
645
328
542
984
811
215
487
392
604
641
149
836
300
227
195
334
953
338
378
256
87
752
490
934
700
295
446
481
102
499
225
736
174
762
415
687
899
253
816
153
365
58
871
740
1000
624
726
320
521
633
319
361
891
825
270
435
628
141
268
172
964
788
282
700
676
480
211
380
897
160
512
241
855
953
945
77
264
991
807
599
78
987
953
393
377
152
427
671
466
84
794
1000
643
799
66
208
703
926
719
698
951
416
418
234
397
812
955
70
851
249
366
997
834
857
379
445
560
191
125
324
798
622
531
668
47
386
927
482
311
102
175
399
732
149
72
911
474
252
861
935
558
956
431
454
779
478
204
804
461
591
739
928
554
755
832
600
507
735
242
162
419
316
201
816
207
540
557
869
911
79
754
649
801
11
801
949
667
234
114
25
500
226
335
102
809
672
276
325
984
704
704
854
425
185
997
557
661
472
603
372
297
598
859
956
452
631
948
662
258
279
686
257
140
467
391
31
836
683
298
120
531
418
857
918
74
871
787
456
962
437
929
459
665
172
792
636
920
558
182
395
806
414
460
819
788
713
771
200
409
407
69
894
996
107
880
518
567
590
506
773
89
687
848
302
418
31
62
13
484
530
63
245
802
203
254
23
936
170
947
370
353
202
628
329
985
194
628
909
927
349
748
642
897
639
113
813
503
334
830
720
875
996
60
515
956
348
734
252
557
879
476
814
346
854
258
263
64
644
914
989
615
950
953
776
139
525
13
497
842
477
909
714
113
79
465
891
444
310
227
283
751
992
721
799
972
507
117
332
224
545
46
85
392
233
853
410
737
301
728
561
7
651
24
531
585
797
550
857
393
185
793
864
643
304
825
313
22
853
120
857
583
957
615
3
436
577
164
509
303
796
923
271
145
654
312
807
379
522
981
364
621
819
538
537
525
29
936
48
45
562
66
978
347
998
528
320
702
641
528
213
907
115
595
558
158
950
81
38
872
702
480
748
624
185
188
714
252
828
678
637
151
968
23
47
18
186
297
926
541
367
704
539
102
295
176
871
127
979
811
591
555
824
733
902
823
6
897
5
888
89
878
126
63
6
949
262
851
30
575
820
559
226
12
329
189
208
882
289
991
713
413
966
124
630
554
694
42
623
322
787
604
455
537
713
416
392
582
557
563
872
938
153
738
710
24
456
742
711
306
873
471
473
730
313
807
583
294
632
256
120
939
37
819
600
55
726
312
60
561
737
291
975
928
525
794
87
510
267
376
53
271
277
250
980
296
192
950
584
503
790
579
695
607
401
600
262
703
856
121
849
813
868
796
866
332
523
794
392
625
288
769
529
929
598
397
669
337
584
848
934
843
971
497
282
388
521
303
515
350
636
531
433
178
915
930
929
725
520
21
676
355
173
931
377
108
489
45
252
27
158
832
555
246
128
367
423
616
611
472
303
433
175
852
507
292
626
334
239
249
718
86
504
208
902
726
939
910
511
319
518
995
779
595
452
325
33
147
393
210
283
983
215
181
139
567
225
713
676
402
660
655
439
295
699
158
235
642
60
562
742
509
403
76
274
784
431
39
196
393
566
245
619
441
516
93
982
131
880
307
47
489
180
588
674
260
345
835
410
810
743
512
632
502
292
321
444
825
63
602
35
491
42
768
500
823
422
655
426
30
841
871
674
365
508
119
871
767
27
970
93
277
50
780
109
453
583
246
327
11
901
641
293
153
518
865
177
375
630
318
196
73
735
19
325
927
909
536
984
887
333
84
579
526
258
554
938
717
495
343
707
832
947
613
707
152
410
979
101
758
98
722
997
952
887
307
744
156
297
378
766
341
600
434
241
244
261
42
324
22
127
829
884
560
364
462
929
311
224
479
994
442
71
167
749
40
999
615
35
322
579
723
308
117
909
203
233
346
225
568
773
899
767
655
678
82
447
530
693
747
179
473
176
353
358
338
68
442
86
779
305
449
239
719
842
331
334
944
435
242
488
922
192
354
454
760
700
980
833
722
234
353
79
880
142
767
866
277
996
300
664
467
544
14
186
378
776
341
440
270
661
362
715
956
253
801
788
574
858
869
972
913
960
546
436
744
383
459
371
612
982
343
178
311
770
912
840
605
992
114
28
798
101
922
304
438
992
232
984
775
124
977
840
611
365
246
838
806
465
92
552
23
116
685
694
285
413
661
474
487
393
839
132
344
26
946
34
144
671
651
189
293
546
976
905
867
204
125
578
313
352
869
268
972
608
885
827
339
951
862
805
831
690
790
268
359
737
539
974
213
882
745
36
566
507
69
345
438
908
90
519
95
982
426
83
672
521
241
931
276
804
902
837
946
451
443
930
627
766
404
630
740
905
811
455
43
244
322
511
197
256
25
222
877
92
977
49
314
753
346
531
879
465
920
948
684
393
838
336
206
323
614
355
630
312
939
736
941
604
246
644
794
291
779
313
845
293
708
731
538
264
888
4
298
890
8
233
722
929
192
428
618
3
632
999
690
825
429
833
246
64
629
840
566
489
406
109
470
397
427
489
160
564
705
522
673
138
671
94
98
956
767
114
295
727
584
809
986
422
478
927
973
985
621
269
703
182
654
487
567
989
456
1
142
440
80
230
18
256
538
83
2
905
983
773
268
951
774
591
434
694
97
235
669
133
68
635
651
223
704
10
618
255
777
44
818
938
299
680
350
416
317
989
807
30
780
992
111
109
461
103
652
452
297
69
165
437
92
899
781
904
160
294
340
54
430
526
366
598
452
522
69
307
2
182
358
956
236
572
136
319
875
717
60
582
509
148
586
2
924
237
297
130
288
634
497
249
153
757
533
928
481
433
585
769
333
203
507
470
426
772
829
328
489
318
226
151
262
152
599
374
992
265
395
834
505
874
973
274
284
984
607
143
485
301
202
679
506
604
897
569
542
801
548
718
541
457
466
765
113
539
927
49
247
495
677
646
116
531
85
968
902
164
645
144
272
664
247
94
127
39
5
747
255
576
464
351
801
756
692
177
821
597
96
240
751
57
812
814
310
166
154
642
225
998
940
746
159
392
448
635
421
607
420
547
326
707
752
71
594
560
510
138
773
761
443
887
508
665
445
370
391
4
321
411
252
202
748
166
23
621
565
127
691
438
383
347
477
753
34
654
71
844
573
509
664
165
371
919
549
829
361
554
272
809
613
764
665
43
264
747
607
940
270
484
27
540
575
411
498
715
73
12
727
359
171
614
420
458
854
769
261
324
894
475
215
7
263
394
967
112
842
947
66
821
277
846
262
884
149
180
617
784
712
635
174
42
89
849
378
861
190
137
973
906
589
40
816
53
274
268
884
355
470
563
774
309
721
974
180
749
19
813
111
337
70
299
161
668
701
537
711
475
9
998
790
273
112
113
250
58
240
955
3
349
493
218
373
953
789
878
975
312
395
987
173
187
983
12
843
750
317
33
105
843
526
871
674
289
413
941
753
660
411
204
678
833
588
91
75
993
600
710
960
486
569
935
20
76
694
217
303
696
785
84
685
759
44
327
775
442
137
820
370
145
11
763
165
486
986
898
213
791
332
903
522
14
952
745
268
425
800
238
322
211
339
432
194
327
714
755
21
565
282
14
936
817
807
459
23
951
948
122
45
520
607
554
332
809
361
901
534
332
441
986
399
950
695
673
418
271
534
371
942
798
114
925
321
626
923
521
761
119
484
497
804
94
116
64
805
545
550
77
311
814
742
901
22
421
405
361
863
493
610
485
760
807
328
509
916
36
909
156
727
656
333
738
2
358
502
29
802
496
4
180
74
310
510
163
191
141
448
368
682
886
653
10
719
249
454
952
373
145
61
374
261
779
181
523
976
517
489
372
595
630
968
650
651
424
169
132
183
33
87
486
851
390
744
227
669
487
525
579
597
62
984
64
86
285
139
725
698
823
260
734
69
946
739
994
831
925
960
55
577
89
960
287
597
305
328
797
897
555
985
31
980
527
412
316
954
830
463
890
821
512
90
110
186
68
197
590
233
991
378
13
523
263
435
227
75
846
479
22
214
377
848
681
895
782
275
1000
542
459
530
974
981
985
224
740
687
85
595
723
418
709
866
121
263
633
204
6
292
958
396
361
283
229
112
301
433
694
16
592
599
381
60
321
351
242
8
242
55
640
592
883
255
819
759
979
899
799
134
170
287
371
166
192
206
457
421
987
392
128
158
244
338
1
592
894
444
571
268
4
718
275
541
311
532
715
473
376
419
536
365
969
556
911
761
820
354
445
973
319
519
567
123
112
87
192
204
757
159
478
939
818
513
17
27
785
824
689
952
231
961
702
659
466
731
63
299
746
455
825
683
789
995
986
297
933
177
833
491
810
87
875
946
772
388
221
648
674
604
427
355
803
339
387
999
889
501
773
547
178
920
948
593
463
177
971
350
849
94
578
784
764
65
513
336
382
366
661
57
224
612
762
4
134
810
318
434
242
797
516
675
790
431
596
536
903
588
98
802
480
872
889
629
376
972
664
654
985
746
872
243
106
462
664
571
755
95
513
184
159
211
601
260
740
772
952
43
339
152
544
840
251
739
315
506
933
785
63
575
373
567
738
69
209
513
491
523
632
652
182
984
9
679
728
545
928
914
813
507
79
691
972
385
969
11
16
803
979
878
82
784
685
315
333
62
683
979
485
818
365
193
883
683
255
403
805
939
512
346
56
594
190
654
642
412
645
240
548
43
297
576
176
103
539
878
17
441
235
298
521
838
645
456
923
94
60
31
2
776
671
658
354
902
404
116
789
515
571
606
885
355
143
956
558
877
425
755
769
411
671
738
99
591
947
228
13
94
144
82
60
315
612
374
142
875
299
11
244
723
643
567
700
198
726
899
139
598
338
519
783
696
692
272
597
149
484
611
171
967
887
623
855
2
842
37
834
962
709
624
306
573
941
751
892
334
939
390
711
787
669
515
309
322
933
683
766
340
406
546
874
9
690
197
204
966
672
541
286
28
398
329
862
421
548
104
369
54
341
73
382
124
343
829
740
660
266
932
475
690
251
580
465
375
579
997
927
783
985
712
516
19
976
579
763
13
631
281
70
649
388
49
259
829
204
489
956
705
334
775
710
620
644
891
799
173
60
297
153
474
246
144
664
866
71
145
443
301
763
300
246
136
916
931
384
288
655
924
915
618
351
620
821
882
248
556
156
820
231
124
883
763
768
280
213
653
744
606
791
514
496
426
990
229
870
144
919
940
543
674
492
509
146
650
18
256
965
70
386
635
131
189
798
581
219
746
455
25
163
87
277
467
193
328
12
563
288
477
581
398
302
346
570
471
453
180
121
489
384
121
316
690
352
60
321
822
391
933
200
849
517
248
318
137
95
467
670
172
529
885
323
835
332
825
382
874
458
276
553
491
483
606
405
907
893
591
921
345
207
831
750
127
186
525
904
478
654
743
248
207
759
542
272
614
648
728
102
890
592
617
589
774
579
902
644
410
268
600
678
234
990
113
111
153
165
618
472
485
102
392
483
911
678
139
914
162
757
114
684
291
577
608
853
147
526
390
710
120
861
792
91
297
970
465
460
929
724
232
21
515
280
132
343
846
505
441
526
109
802
442
955
474
717
749
68
657
170
222
370
606
532
939
137
825
49
170
856
825
336
63
491
852
712
555
58
361
208
82
861
659
948
781
953
757
442
244
46
781
44
345
136
181
475
305
581
595
814
945
216
486
839
38
383
528
928
777
395
323
983
626
84
225
20
263
522
906
104
867
942
871
321
765
164
254
326
324
533
127
799
18
520
999
860
810
629
386
43
329
191
83
991
859
957
307
389
796
147
929
20
80
748
841
14
76
413
927
513
526
264
185
998
465
283
302
479
488
717
399
581
307
124
704
334
348
271
626
113
19
52
108
766
390
40
116
425
225
41
843
870
712
258
535
628
789
270
840
154
632
60
241
549
764
750
433
289
238
533
495
321
511
534
285
722
971
974
819
848
532
66
285
490
386
527
951
142
761
460
487
883
493
622
96
762
357
773
427
791
307
899
457
853
250
559
399
862
520
538
218
513
964
265
525
830
426
168
465
488
492
264
697
630
499
785
736
420
243
580
725
160
267
359
164
148
319
599
274
803
381
44
413
796
653
328
423
69
14
174
877
629
776
990
918
988
995
478
829
932
223
15
468
87
314
173
501
381
865
725
652
96
900
874
284
659
670
261
276
717
812
491
506
299
666
557
258
101
234
541
511
992
138
410
381
863
932
553
974
849
308
948
480
770
46
485
678
357
39
40
913
467
388
331
199
19
312
464
390
834
616
353
203
903
516
862
489
859
942
600
332
611
797
808
446
129
269
646
857
386
13
515
48
304
893
729
581
357
41
3
714
188
173
702
680
152
465
760
94
262
808
486
454
375
919
216
769
790
622
944
186
682
594
562
879
859
991
355
564
445
690
728
772
972
316
907
382
238
822
568
999
54
186
891
474
635
658
547
228
984
119
524
76
74
300
485
931
21
29
571
100
739
190
167
906
722
816
190
991
743
544
847
979
240
724
686
161
62
601
974
454
95
350
90
179
980
190
675
160
786
470
740
185
30
400
791
169
868
51
299
239
662
358
538
508
336
117
870
554
135
398
69
463
453
350
151
828
362
131
505
302
371
568
790
117
710
187
227
488
156
488
379
981
974
652
489
730
96
409
751
836
36
469
633
445
385
707
519
729
925
321
490
466
562
292
20
997
283
762
728
72
313
429
94
512
469
624
232
684
494
542
382
465
782
961
796
797
500
929
55
905
562
58
689
988
329
508
159
488
129
263
883
77
968
993
1
132
822
678
14
777
957
157
248
557
618
958
352
410
239
61
666
890
63
759
356
528
676
399
679
815
514
584
589
516
824
363
170
966
922
65
73
509
845
653
196
513
649
938
352
207
669
544
551
165
58
235
843
418
752
149
351
24
856
462
262
418
69
270
56
28
441
784
166
445
184
478
623
901
731
481
943
927
522
333
703
857
219
209
760
262
204
865
56
487
234
811
304
240
54
733
621
542
665
723
352
438
643
691
911
582
610
227
463
162
493
259
649
680
712
85
367
782
786
753
845
652
156
300
822
531
206
50
710
508
566
57
11
105
774
756
107
95
306
85
778
643
785
647
453
125
898
969
240
919
213
549
249
54
565
189
589
838
199
36
667
519
128
894
134
550
484
598
864
283
754
688
873
776
897
175
960
901
279
943
162
183
268
194
837
565
108
414
263
873
372
512
211
829
923
168
841
334
772
904
621
176
689
105
696
429
676
992
292
636
701
581
287
246
163
759
27
903
644
916
853
918
400
46
557
668
933
787
167
707
711
675
38
116
786
797
243
966
605
81
601
808
803
724
536
798
138
622
143
384
10
227
431
492
211
941
789
814
630
26
83
71
674
24
683
144
45
824
907
537
347
873
57
946
719
494
255
640
321
899
729
926
32
302
104
258
154
471
479
406
297
176
784
712
822
236
965
623
434
305
60
608
545
112
104
68
28
571
112
34
838
114
104
310
786
600
223
185
422
379
563
15
608
436
206
770
832
59
316
122
768
126
900
755
857
970
950
375
950
712
261
303
162
132
175
675
115
421
854
961
717
606
462
957
446
61
813
462
878
266
631
544
856
896
541
694
258
409
319
192
804
518
733
678
726
332
495
283
389
486
493
652
170
287
451
866
985
755
621
560
864
450
949
507
883
156
350
567
579
796
446
163
700
458
98
400
776
34
572
517
518
772
29
613
511
990
285
505
11
319
481
108
905
78
388
975
49
837
543
484
304
768
324
691
495
139
366
63
478
178
430
138
213
592
963
653
487
200
69
840
502
546
598
401
57
794
330
134
456
970
23
304
609
347
202
631
990
825
138
217
276
249
418
792
503
931
871
440
531
66
383
351
445
364
321
206
301
968
855
525
249
641
468
670
664
303
328
232
381
210
13
216
494
454
269
761
494
29
123
166
681
382
647
604
920
237
161
237
774
500
427
423
998
199
680
301
169
768
955
332
961
435
238
313
200
147
411
969
382
211
846
460
751
832
752
68
420
804
78
878
248
871
827
469
343
718
166
524
153
99
578
795
67
363
614
17
305
512
524
241
718
973
141
542
744
479
926
179
428
778
2
156
864
444
338
544
872
699
988
60
15
997
438
210
283
95
647
680
924
480
352
803
919
315
549
643
529
502
858
660
240
92
617
967
110
17
179
905
271
34
846
61
821
867
266
828
889
743
954
357
981
916
762
36
29
321
768
659
754
184
70
90
44
293
384
545
60
625
193
564
699
210
423
396
843
434
280
756
560
451
914
896
64
38
54
487
737
995
615
66
17
157
539
717
241
189
826
191
845
590
776
915
436
769
977
189
359
605
434
402
320
663
570
292
534
96
518
118
634
342
246
82
285
885
570
529
26
741
48
243
393
824
65
615
764
13
178
602
693
587
914
163
737
646
788
284
880
303
247
815
728
705
618
72
562
407
915
570
205
214
524
302
408
380
374
714
108
967
201
873
510
249
884
372
376
261
655
202
326
4
195
138
207
341
210
217
810
324
150
507
278
568
118
704
597
255
874
38
423
583
68
600
360
735
484
485
502
979
134
67
687
110
486
333
453
260
983
420
115
42
292
448
759
106
368
242
159
443
531
812
831
200
234
282
471
331
78
529
24
156
968
942
477
770
974
578
300
307
600
469
110
256
675
10
754
367
10
146
511
230
291
547
509
249
435
99
796
579
749
789
700
554
831
526
261
300
53
497
552
493
889
447
639
693
69
636
785
275
758
298
271
754
512
166
828
217
772
953
302
638
49
757
584
107
734
5
267
359
717
907
743
579
562
396
679
101
56
160
866
532
335
713
489
804
649
384
738
849
57
751
518
903
992
317
731
944
680
151
239
376
868
829
151
908
177
222
510
485
646
628
826
263
745
259
130
868
191
340
409
607
401
944
329
865
306
191
141
662
560
672
546
227
878
739
58
491
358
866
131
601
156
364
888
914
808
629
805
441
844
474
116
383
55
309
15
228
926
635
963
843
314
805
535
161
394
75
266
338
257
703
930
693
326
287
491
396
934
570
750
570
966
660
377
451
502
990
552
272
741
372
946
824
330
172
139
978
404
990
858
39
271
214
605
480
697
477
365
480
152
352
60
664
248
581
343
676
795
780
151
467
596
795
135
722
101
874
737
454
540
359
211
601
10
891
329
401
227
997
861
443
392
493
170
537
655
367
433
977
153
660
54
340
533
402
826
699
121
839
253
19
645
31
257
528
510
399
172
96
166
954
519
965
8
733
587
716
607
465
222
28
797
584
576
584
292
492
762
488
49
425
519
684
573
338
1
157
700
990
770
155
181
823
899
271
558
259
869
989
412
779
582
221
43
513
402
428
56
103
587
158
103
265
879
216
258
846
277
237
117
159
242
100
722
9
653
532
835
174
859
211
954
39
64
873
642
707
128
248
450
213
544
138
717
365
45
569
17
363
764
764
875
560
359
624
648
666
851
504
142
227
165
351
625
442
542
681
371
255
56
431
786
171
424
487
447
457
205
553
115
190
250
67
876
164
967
88
99
766
558
427
822
780
893
796
512
523
95
435
875
863
241
490
560
401
771
415
117
592
377
770
568
630
142
134
279
674
651
250
617
417
657
173
36
37
626
904
828
291
149
971
756
892
778
431
203
334
325
51
232
995
18
784
208
742
230
202
214
181
654
264
517
425
922
635
792
515
658
803
600
603
860
383
916
644
353
361
73
607
730
467
622
158
879
551
991
342
700
587
751
77
51
909
514
118
351
379
220
770
474
444
604
801
759
480
144
893
32
358
704
505
477
944
351
189
112
93
556
264
395
766
111
220
163
90
586
408
732
535
107
366
481
905
543
585
633
491
961
679
309
584
305
649
109
499
870
417
625
429
35
860
330
712
137
338
227
566
107
113
476
946
667
102
992
939
492
148
663
28
710
338
396
646
505
943
671
649
418
231
690
748
111
756
453
476
6
698
318
946
211
521
684
559
577
488
453
776
574
553
818
290
893
792
769
215
348
764
408
434
675
188
802
838
331
859
660
20
196
9
513
929
417
209
481
77
249
461
930
181
896
364
485
521
769
81
964
886
545
406
714
690
670
355
779
759
663
611
54
300
703
591
314
786
500
109
586
847
364
369
835
745
739
524
362
724
186
155
615
296
969
770
338
566
929
911
123
777
306
491
459
600
503
780
315
109
615
828
136
11
646
183
911
448
987
489
593
610
680
903
755
486
399
308
828
295
881
992
626
533
749
773
187
113
274
593
121
791
669
213
767
901
891
982
464
452
811
604
155
812
810
445
354
514
522
217
234
217
511
797
225
474
82
533
43
777
356
636
518
274
939
167
932
681
247
668
840
157
610
735
501
341
752
666
118
323
178
876
60
45
261
927
111
529
556
896
594
354
971
269
890
30
949
722
481
246
743
943
161
503
188
146
441
297
139
3
529
853
854
546
460
392
188
991
83
36
389
549
680
767
685
14
891
306
592
351
487
366
63
536
304
520
193
635
282
820
151
478
141
405
438
304
690
536
365
452
153
918
831
492
175
680
128
216
361
111
495
537
316
82
579
668
134
130
802
905
219
307
857
987
122
255
208
244
810
440
531
726
409
109
467
43
1
334
956
956
497
455
652
591
958
351
627
784
985
201
653
203
968
863
806
836
51
521
86
913
632
29
999
529
113
235
783
96
390
626
70
212
269
842
286
720
598
942
36
524
389
845
29
193
655
11
865
529
959
273
131
4
921
704
810
478
64
534
972
619
398
446
78
269
94
1
978
342
442
581
904
943
61
973
297
91
958
652
315
797
626
902
287
302
845
114
129
938
201
39
994
417
669
257
15
380
749
885
35
654
796
348
633
992
130
94
588
39
486
272
186
892
121
729
381
874
675
180
909
122
462
1
885
131
441
931
306
680
545
903
116
454
385
320
198
233
618
372
735
742
426
397
852
120
600
875
369
511
737
361
783
440
886
567
319
496
817
828
985
341
742
413
98
200
932
468
682
820
173
919
455
341
424
306
871
626
347
370
833
421
609
176
227
93
975
707
416
845
273
133
155
991
222
459
204
334
984
804
52
719
50
356
783
549
725
985
73
434
69
520
728
170
573
977
958
929
296
390
800
864
422
436
711
368
404
764
373
847
986
771
189
181
343
608
762
25
564
338
906
726
440
522
382
880
316
964
589
536
342
12
912
594
25
569
299
237
416
964
881
98
602
898
163
467
468
960
369
10
796
642
21
386
895
325
739
662
878
462
530
592
631
71
566
693
258
682
536
546
510
102
213
879
299
685
765
824
890
356
709
200
792
258
118
782
673
750
856
318
855
437
145
464
72
95
761
932
219
585
478
841
737
363
189
732
164
755
283
704
108
951
440
884
571
587
34
803
114
846
655
274
846
268
154
60
564
819
740
957
695
323
328
925
859
67
331
520
984
249
529
238
887
917
467
316
189
277
83
145
199
511
915
783
157
768
285
919
855
612
300
292
172
13
409
771
525
908
486
241
569
469
124
967
735
487
869
349
380
686
649
845
345
356
522
356
747
452
178
569
649
149
350
590
100
927
377
680
685
438
701
98
329
775
16
803
641
265
87
316
438
583
28
73
452
814
963
465
431
63
538
121
962
347
722
142
406
824
687
696
258
814
343
813
97
732
269
266
50
771
358
156
359
112
513
162
192
510
77
477
329
334
541
116
728
534
230
633
251
534
309
264
57
782
471
198
205
502
82
947
99
248
402
798
229
998
741
896
557
871
49
850
569
18
483
629
656
877
980
142
52
790
695
143
951
919
459
970
811
492
74
239
95
708
350
787
856
1
282
49
652
995
660
579
230
152
686
611
336
62
928
402
736
310
991
565
290
118
867
819
472
250
810
304
251
241
936
168
667
632
478
167
736
758
779
879
553
580
652
495
597
218
693
299
258
134
508
650
569
333
563
726
969
608
578
304
662
560
928
610
836
105
535
606
520
188
117
137
380
720
463
39
110
95
613
634
362
201
433
63
351
566
96
530
383
79
420
869
541
808
813
794
679
545
864
818
710
69
217
98
862
593
438
424
248
490
56
123
593
190
799
928
431
103
319
744
422
504
406
821
696
606
729
36
287
450
673
889
798
813
707
312
407
83
34
610
191
923
981
653
562
594
698
986
261
8
258
626
994
944
168
152
268
356
656
169
417
396
806
321
111
571
795
823
878
465
1
925
282
567
743
785
455
60
748
11
614
861
236
492
31
829
675
244
705
794
844
675
627
995
833
72
100
598
12
111
47
173
784
921
633
422
159
515
800
967
808
466
507
744
246
286
567
352
261
341
997
790
500
61
667
104
393
839
886
865
216
288
291
819
175
469
984
739
813
272
477
266
945
418
364
485
572
397
63
113
905
278
161
399
726
492
111
283
784
598
56
927
835
538
546
466
221
109
808
706
616
176
980
553
649
696
443
144
659
726
979
17
757
450
964
168
696
671
253
502
806
385
703
35
364
808
506
147
373
648
666
363
618
543
932
411
299
304
498
754
239
5
603
419
919
38
912
680
99
964
237
101
846
338
722
502
114
754
72
638
889
9
815
789
65
639
846
988
878
83
701
310
702
359
125
518
471
482
478
362
816
789
448
995
225
979
354
313
208
930
51
473
492
328
65
522
710
686
140
833
941
621
811
7
714
132
960
5
753
203
585
534
861
236
150
136
785
749
982
995
826
233
112
221
268
307
882
238
370
115
396
974
829
411
593
729
95
948
328
955
887
580
334
711
561
954
373
216
731
800
170
728
707
592
980
3
823
808
751
679
742
74
876
259
135
269
485
792
938
29
72
975
563
171
991
156
992
277
51
629
724
25
960
707
890
916
889
261
684
703
776
829
455
179
283
932
419
990
521
929
981
764
741
601
59
187
215
678
664
604
410
679
217
348
417
764
718
280
282
783
954
973
539
338
382
522
774
468
178
259
493
532
230
526
911
940
528
218
537
690
458
34
603
34
51
257
420
222
79
371
760
971
215
57
206
204
205
923
223
658
55
816
379
137
830
741
759
567
518
201
98
506
803
238
603
440
292
595
709
19
904
180
284
359
679
452
885
695
214
440
733
939
312
863
5
171
188
202
891
671
758
652
625
892
120
594
335
673
323
591
176
65
920
945
626
389
596
557
232
528
378
117
400
981
540
727
965
934
344
636
418
449
180
131
663
873
499
567
68
751
185
147
412
859
637
341
63
428
901
775
304
297
645
995
325
514
628
773
793
840
596
528
277
755
201
972
62
779
639
336
50
391
170
378
499
355
605
924
337
36
124
864
670
145
508
361
876
417
978
560
381
910
367
179
808
990
251
253
698
551
29
675
397
716
657
393
52
74
905
824
846
495
540
529
766
698
811
261
201
48
971
257
643
506
332
33
583
254
550
21
466
290
384
85
232
214
207
336
518
468
897
686
100
569
570
277
499
233
811
245
992
828
682
303
443
324
788
235
475
735
135
766
504
61
328
172
68
947
901
668
717
535
219
864
419
534
439
512
107
113
486
381
495
72
848
316
755
632
275
456
988
359
143
144
675
942
332
276
450
6
934
706
634
685
32
860
884
440
77
884
265
460
95
502
777
76
81
257
88
758
449
956
829
685
336
951
301
328
897
352
844
222
453
406
467
851
519
22
535
638
272
891
438
80
986
718
234
445
335
839
151
832
205
904
736
48
879
345
145
483
985
101
768
122
649
403
919
856
631
481
824
548
74
723
491
643
660
166
356
680
622
190
776
772
50
941
550
957
370
323
639
340
709
348
186
139
96
296
741
24
82
346
315
680
447
362
544
109
74
16
740
10
979
760
83
527
720
5
543
739
116
441
367
553
265
673
145
67
346
179
527
48
601
146
633
903
176
931
80
402
209
727
352
473
681
490
902
562
57
389
993
437
666
790
797
801
116
291
658
773
765
438
759
104
424
522
662
967
15
296
297
342
870
551
41
252
709
214
438
602
130
68
6
951
583
220
263
336
428
179
847
152
629
774
98
210
45
169
1
273
95
909
722
816
753
289
297
257
466
327
196
617
606
258
596
439
476
810
195
788
754
460
329
336
458
502
932
848
210
32
659
895
575
908
59
210
752
294
271
955
742
692
144
62
373
238
6
956
281
597
602
217
967
33
852
150
614
75
166
823
166
743
9
848
544
470
301
82
518
726
33
459
927
805
136
371
412
417
286
358
781
544
799
412
448
447
184
825
136
882
268
377
158
315
982
609
178
403
87
89
268
60
84
856
484
201
577
689
918
651
117
438
393
769
396
443
518
39
254
951
835
272
562
558
176
87
527
891
142
1
302
166
849
837
123
790
657
119
347
866
672
809
885
330
192
15
524
466
123
306
531
687
634
851
775
828
949
914
302
657
241
138
943
952
40
670
54
301
442
414
965
695
667
592
10
147
191
375
317
771
769
542
671
219
155
13
825
933
198
611
629
397
324
618
215
466
118
501
255
898
802
714
13
402
975
601
516
884
865
264
645
87
706
712
400
468
566
723
870
13
127
642
693
645
441
774
897
33
666
104
84
903
130
834
799
383
870
651
860
558
937
646
94
132
363
587
653
49
666
560
603
969
175
67
991
749
243
319
943
463
631
838
648
25
967
437
281
197
203
342
7
604
400
505
199
413
32
119
958
477
229
1000
788
75
11
731
36
895
635
439
337
476
634
658
810
199
970
944
234
800
23
876
754
523
797
567
925
282
805
74
82
624
597
950
63
845
779
707
303
373
680
147
207
379
532
361
459
665
122
696
669
41
445
123
303
778
750
280
396
235
754
912
910
433
514
537
980
145
598
991
431
101
755
877
171
994
223
101
12
304
203
366
499
395
778
937
93
934
739
31
880
462
371
914
588
868
223
144
297
557
309
440
674
395
948
337
952
833
710
134
189
219
505
617
466
956
894
726
868
60
128
622
19
654
246
567
907
128
806
694
527
996
471
967
597
987
719
606
233
527
409
831
15
568
795
16
301
674
850
271
5
371
445
994
309
51
9
187
945
104
771
188
727
571
607
985
34
299
798
482
758
500
708
927
90
650
534
196
148
846
760
789
90
125
911
201
836
742
510
805
950
84
897
492
545
702
704
95
281
959
339
79
695
897
776
30
98
233
341
263
232
855
921
251
743
766
216
633
250
223
252
295
484
714
322
369
511
482
957
33
548
578
326
681
239
761
624
373
570
142
710
461
777
159
176
953
691
323
550
489
3
193
82
751
801
203
885
770
586
291
769
857
662
764
223
834
468
461
416
822
899
88
973
81
176
529
547
330
98
53
877
502
829
607
119
122
497
787
720
368
950
666
996
396
15
397
880
701
452
365
23
126
600
753
521
623
409
540
100
25
133
338
470
912
473
980
941
87
385
428
89
343
50
406
443
937
764
146
685
655
609
772
839
428
824
125
265
208
714
310
68
207
801
829
684
689
674
937
21
189
644
782
480
421
894
943
615
170
280
244
966
131
307
84
837
15
120
76
355
237
502
489
224
134
19
842
985
7
398
15
410
210
197
399
946
156
591
955
710
380
852
504
649
724
729
235
880
324
448
199
141
303
531
497
505
977
934
6
230
969
317
714
672
807
358
185
693
471
149
228
870
888
634
591
154
537
969
368
279
199
444
890
398
353
320
17
881
882
507
154
194
578
540
800
68
387
710
107
924
440
518
773
675
745
847
543
555
780
398
760
603
394
928
679
780
100
822
727
477
290
330
472
351
964
598
857
991
239
252
157
929
328
882
189
889
674
227
543
981
620
264
1000
741
328
670
818
546
679
340
300
949
505
709
893
898
855
672
87
651
913
780
553
425
871
207
276
462
263
728
937
268
276
551
418
208
90
403
108
521
565
699
632
100
509
984
742
35
299
77
364
9
852
527
200
147
820
29
901
772
405
470
504
864
373
87
757
706
694
82
986
311
729
660
339
759
30
104
636
496
644
991
534
962
268
51
401
692
722
505
114
126
994
939
979
982
534
897
103
936
585
403
857
772
53
595
493
897
860
456
620
323
754
438
966
778
275
373
808
603
957
699
508
503
863
441
823
1
235
810
61
653
391
560
676
723
987
401
613
1
425
938
574
899
489
518
358
777
268
364
638
716
24
134
835
557
980
796
242
124
899
320
182
978
931
258
782
914
463
673
902
700
596
282
850
221
426
891
783
272
553
382
123
749
78
581
872
855
891
293
459
278
248
685
639
960
468
980
982
241
57
119
738
631
762
635
171
433
829
507
996
748
228
162
227
142
718
104
533
385
407
891
234
267
900
290
154
381
216
497
882
211
397
232
413
563
146
376
775
601
880
585
982
300
309
950
594
147
17
353
234
295
552
663
633
177
215
250
176
817
90
630
470
657
826
206
120
773
371
199
813
744
147
851
758
313
114
894
765
173
815
110
509
892
753
502
51
29
401
268
306
950
718
264
951
709
312
110
198
662
278
435
992
111
310
11
429
405
892
683
631
371
250
82
871
890
283
69
482
682
854
739
975
125
690
608
829
3
612
300
615
631
994
626
472
709
134
489
483
601
701
427
141
480
549
946
927
908
953
996
37
985
763
110
369
159
64
713
240
150
679
93
709
203
250
351
10
80
692
406
351
776
539
806
261
914
58
638
746
215
54
329
720
183
955
483
610
405
124
230
534
455
327
687
181
392
945
303
358
335
841
810
198
336
727
446
186
106
535
906
469
728
550
236
442
568
995
476
176
57
383
425
109
874
140
324
328
330
969
612
905
425
942
163
988
152
532
567
788
96
680
95
173
259
519
954
294
384
536
323
584
709
835
440
494
242
631
714
538
134
264
421
577
673
837
64
772
747
53
863
336
372
926
195
990
12
850
989
70
979
914
236
313
169
465
808
682
727
661
702
26
31
146
712
977
553
71
237
252
728
348
644
444
965
471
137
466
329
179
566
35
210
1000
9
985
516
1000
212
715
552
88
188
824
729
872
378
786
718
364
760
572
472
816
223
285
785
567
332
178
691
85
330
946
93
298
875
784
410
916
503
510
963
691
294
19
41
454
553
404
276
340
548
380
62
823
553
47
212
55
468
597
960
532
296
321
711
291
612
141
649
692
957
952
438
322
786
247
754
731
184
849
320
495
82
121
466
587
113
642
941
152
555
206
879
562
49
963
363
45
900
656
984
314
794
220
159
319
740
425
752
682
856
901
707
422
391
595
979
302
49
662
68
486
215
858
818
234
195
727
971
50
926
278
174
33
933
371
722
172
462
747
391
996
869
497
86
287
287
754
903
525
561
588
435
383
231
393
771
822
59
544
730
328
244
728
297
367
11
174
111
427
658
918
118
891
564
376
174
550
840
757
482
800
539
249
218
401
337
507
606
252
637
687
12
772
878
177
309
355
644
196
905
853
851
648
342
176
892
977
289
941
117
271
88
538
451
529
766
121
262
856
557
798
797
295
523
752
678
175
856
66
938
128
749
849
52
387
560
574
248
584
124
681
155
23
654
153
483
326
700
177
27
432
974
23
728
145
702
959
930
826
330
350
254
374
68
107
677
316
727
285
541
717
776
958
201
599
359
434
924
757
243
546
487
168
321
970
638
666
374
508
210
214
182
845
219
882
36
524
716
589
875
808
518
785
26
647
187
501
565
180
804
621
818
86
123
807
422
607
710
216
657
282
491
81
478
231
990
227
786
362
156
817
992
3
343
975
867
290
465
443
996
79
783
103
888
315
92
14
956
519
295
599
114
534
498
753
713
736
764
943
881
658
643
811
139
414
421
401
282
313
787
907
179
836
290
732
45
455
512
743
207
847
369
838
155
733
317
319
864
887
544
109
28
888
407
569
821
829
472
498
272
504
536
945
125
556
905
593
350
712
15
848
60
485
227
193
690
665
250
53
708
521
153
177
41
875
428
518
615
108
856
670
132
734
210
225
262
368
5
780
927
817
535
949
249
521
440
433
34
781
921
96
374
36
489
62
62
952
856
1000
35
239
150
181
985
932
149
339
624
315
643
107
803
810
353
548
852
927
48
355
61
795
635
380
159
897
47
467
26
373
679
16
660
663
974
304
556
310
521
354
284
473
692
66
995
74
395
388
39
503
15
557
605
532
979
804
580
388
675
472
370
975
642
208
501
840
60
716
202
832
551
610
34
338
230
33
857
625
769
73
70
72
928
457
114
28
687
663
691
623
590
367
9
86
417
106
629
63
587
144
188
942
3
775
328
452
180
728
666
645
564
928
542
916
947
563
554
880
736
324
640
794
642
728
544
690
22
611
41
530
746
258
219
538
911
145
458
286
193
923
465
271
894
119
884
476
4
994
562
840
712
152
475
683
820
761
732
835
488
740
785
658
573
819
215
191
563
199
997
368
792
398
152
629
188
8
107
288
257
252
848
668
411
686
210
408
22
875
199
295
780
608
332
651
21
73
342
624
726
395
474
663
752
152
824
121
738
776
798
180
784
239
853
229
695
69
128
438
67
519
409
483
965
676
200
320
285
398
287
431
135
228
318
202
747
857
365
959
492
282
370
710
541
531
646
843
604
722
346
840
952
268
877
611
632
233
820
147
378
198
791
55
222
527
36
966
230
571
288
956
95
183
557
864
554
898
81
878
704
271
622
787
369
152
635
99
558
139
665
604
954
49
423
7
93
9
651
10
573
690
824
556
189
288
162
993
375
72
200
609
702
725
413
312
469
238
951
239
631
812
618
719
388
95
610
344
766
81
384
848
456
164
268
127
949
185
54
7
782
770
885
305
297
901
189
316
872
467
291
106
17
470
596
897
96
695
916
389
649
891
591
78
504
946
561
490
884
94
415
820
724
963
763
588
288
103
989
818
928
735
537
715
577
618
421
982
113
313
569
709
271
630
947
266
175
706
142
710
877
989
237
39
529
398
359
23
931
47
232
462
237
227
452
440
540
788
940
580
918
669
240
334
266
83
879
75
897
789
28
131
481
959
69
907
345
368
497
974
543
38
774
274
401
997
395
666
418
530
404
621
509
135
73
231
601
432
253
645
454
419
162
661
462
822
14
499
850
731
957
695
363
397
223
664
48
804
289
708
178
646
80
182
728
374
958
33
60
306
306
219
629
160
1
309
591
989
976
158
193
183
375
688
654
138
494
681
86
196
837
968
659
686
133
548
834
243
66
6
976
85
832
29
84
625
357
972
693
582
159
193
204
776
401
291
63
895
618
521
219
838
982
345
243
683
741
536
334
933
623
277
209
452
618
421
507
430
488
470
936
793
809
818
832
691
95
536
222
98
806
277
711
100
633
899
771
143
471
58
53
369
940
305
382
191
124
240
991
406
440
831
376
502
218
347
858
256
586
242
612
400
755
948
396
889
620
763
714
284
899
937
459
851
691
606
358
242
424
452
678
55
636
829
753
139
965
634
836
218
975
366
665
353
210
693
943
729
919
301
591
528
483
982
243
953
440
728
974
2
385
33
640
259
718
772
535
799
417
766
296
265
487
600
118
337
768
334
368
98
110
518
641
236
684
297
139
668
423
471
24
877
103
92
26
236
637
531
208
608
475
8
196
792
871
222
626
735
947
113
794
8
100
728
735
700
342
851
3
800
570
362
485
84
591
253
441
751
993
836
824
335
568
990
621
926
62
191
613
360
487
696
469
840
83
458
553
382
291
298
135
616
790
383
5
702
708
288
589
572
630
804
794
257
907
154
731
794
75
501
380
131
914
427
24
427
760
611
998
403
238
42
857
734
497
937
629
972
349
992
156
179
472
728
930
271
974
447
965
46
165
773
464
2
348
834
989
383
801
881
865
280
880
555
337
275
385
77
784
853
874
314
955
719
615
114
741
265
275
257
489
621
225
111
240
136
564
386
552
694
564
408
764
921
279
945
662
256
462
979
510
820
799
741
307
219
670
967
978
725
334
614
894
773
444
192
781
335
298
493
576
541
61
694
284
857
485
769
169
233
324
663
938
920
724
922
679
41
352
327
423
601
942
624
153
336
208
624
961
712
812
764
858
394
170
762
413
738
404
108
13
200
685
971
26
68
522
553
576
591
321
51
940
425
653
169
814
251
254
537
817
624
700
512
644
333
104
568
211
66
923
880
998
734
154
786
540
602
773
502
678
275
272
858
763
670
531
845
453
330
73
436
149
843
948
508
391
643
128
660
724
191
283
405
650
389
266
508
279
87
446
193
221
710
278
605
42
368
147
152
376
279
561
298
381
986
243
986
780
638
520
92
156
544
697
229
540
343
759
778
568
362
837
234
645
180
379
833
638
974
826
944
566
971
928
920
666
192
534
898
977
747
792
583
284
129
227
183
863
292
99
450
977
844
752
298
473
343
425
543
166
478
146
115
885
964
846
521
241
45
843
418
149
850
152
931
134
264
902
709
262
596
266
817
312
82
940
251
455
193
163
242
288
770
681
544
525
270
854
584
36
755
319
700
223
855
224
671
893
568
93
422
902
677
774
82
841
555
780
533
948
265
581
221
260
257
4
285
706
378
14
964
529
585
553
880
900
538
8
985
81
198
133
927
795
661
953
84
778
724
216
788
565
92
498
97
721
723
927
13
627
526
808
228
852
522
137
329
921
618
101
869
969
344
191
891
378
274
481
269
14
338
938
745
51
916
404
596
742
445
4
713
666
217
300
256
149
212
471
163
575
97
160
539
251
964
392
354
335
990
155
917
96
981
820
344
428
645
554
588
118
561
276
627
834
992
529
95
182
128
822
995
462
841
620
94
958
775
189
304
674
424
923
612
464
875
604
121
381
59
302
378
909
676
265
439
467
452
173
50
185
6
639
939
510
411
657
425
630
492
989
487
51
979
165
968
926
935
831
834
895
271
701
238
241
736
228
725
185
526
444
37
975
513
107
868
233
147
406
381
735
315
21
478
346
739
216
603
394
66
33
344
142
432
335
192
341
133
647
639
87
993
246
180
303
179
957
915
247
503
426
175
338
673
457
999
490
620
149
361
863
716
160
747
620
693
417
59
839
77
979
863
200
249
577
662
467
574
532
231
31
625
417
47
18
208
790
485
536
758
799
786
644
682
268
750
542
408
123
730
306
205
656
789
186
335
180
819
162
732
86
989
938
192
182
177
37
19
450
901
987
161
45
845
844
155
454
304
471
597
191
711
53
448
326
973
284
200
450
493
589
828
353
636
462
492
849
844
764
148
679
812
372
602
337
905
99
27
40
482
209
649
753
907
170
143
355
816
517
225
587
631
814
108
351
405
747
756
332
837
336
319
653
697
68
763
473
953
555
440
7
610
932
286
433
656
824
401
572
517
137
993
997
130
371
62
446
61
354
744
47
116
583
930
853
518
378
632
630
71
97
589
678
648
585
764
683
20
800
717
266
257
329
309
945
935
118
852
655
913
266
577
881
725
197
291
688
537
855
150
640
157
836
774
659
816
511
338
377
315
297
837
434
646
158
473
462
395
348
990
214
64
159
819
405
952
144
113
367
385
878
104
520
906
833
701
15
478
345
964
650
903
972
871
277
413
772
797
495
853
140
265
378
921
910
809
341
740
343
247
22
377
476
273
247
25
88
33
710
270
146
261
990
224
232
657
948
352
851
375
311
499
970
915
491
944
362
247
277
349
576
672
75
81
405
825
792
712
766
193
291
479
792
718
577
83
778
379
549
510
307
109
152
470
562
61
287
655
333
25
634
265
664
739
868
133
471
961
394
376
680
416
820
675
611
150
877
189
402
425
376
631
233
974
136
193
3
378
454
891
884
310
881
362
879
654
529
310
105
811
88
616
24
50
64
589
273
410
478
937
29
504
422
848
107
541
412
990
89
23
441
312
827
878
1
317
621
222
97
839
192
580
486
438
353
109
921
246
923
343
185
446
9
15
114
630
239
748
561
923
940
816
521
149
491
696
206
264
329
835
892
972
142
942
805
734
814
71
113
339
576
996
362
846
664
652
321
965
471
917
253
894
852
661
98
218
733
756
905
711
655
710
141
800
218
687
143
2
629
934
116
866
748
77
516
813
81
277
594
811
129
29
149
991
405
224
265
167
199
157
918
699
882
379
844
320
110
616
9
322
824
518
345
3
345
659
145
355
155
28
664
785
222
243
50
92
818
864
619
985
843
440
942
213
592
429
900
753
757
687
101
580
214
13
592
242
805
144
824
848
885
686
193
105
893
664
307
708
557
803
315
757
681
166
267
842
585
490
481
112
430
410
335
938
631
781
704
760
480
465
550
325
916
292
766
783
117
368
472
84
192
560
379
666
812
756
741
694
49
475
649
19
50
492
122
561
408
415
524
61
276
549
328
7
332
4
141
67
657
667
197
549
502
621
265
250
673
568
990
552
977
69
232
772
767
734
897
591
108
29
71
846
544
21
18
94
704
217
745
134
256
636
394
112
830
372
668
909
558
236
877
291
840
470
943
663
782
174
898
368
508
821
979
147
212
164
418
797
380
929
422
33
94
877
633
313
694
270
580
655
378
245
224
531
500
374
756
544
427
485
193
904
829
866
176
710
175
128
612
628
30
346
429
875
483
545
801
320
638
273
601
119
673
771
772
558
384
219
524
646
485
621
960
611
217
174
825
617
934
386
556
933
442
758
686
277
822
615
998
277
343
517
499
809
877
762
404
478
900
672
854
646
769
708
12
267
476
989
503
174
483
442
922
681
564
645
266
55
794
404
697
906
981
241
21
610
827
269
604
628
109
366
227
985
945
195
579
247
47
340
638
36
446
791
188
498
795
42
151
165
818
339
142
351
822
966
948
542
531
32
176
245
639
896
371
432
609
247
337
992
244
845
193
588
464
126
977
952
538
159
222
897
747
984
6
283
91
920
409
762
175
311
210
365
860
50
885
907
609
389
681
735
729
761
603
575
836
794
648
94
983
239
511
315
819
301
291
239
73
714
439
823
390
969
299
996
297
304
107
543
625
405
257
473
249
286
955
983
403
507
141
237
158
674
695
951
861
181
483
232
471
271
788
176
761
806
1000
521
304
560
240
7
991
480
742
191
616
111
426
167
687
300
64
1000
222
372
844
749
733
204
955
589
12
1
980
925
596
141
554
362
980
133
720
65
768
599
869
338
935
223
968
231
280
736
32
588
7
367
419
253
31
667
620
59
303
230
627
834
929
648
852
892
338
993
842
401
76
189
705
547
90
955
240
661
479
367
263
331
811
687
515
53
39
854
834
154
937
873
983
578
793
434
648
595
725
253
631
685
663
17
184
610
475
288
793
200
177
439
416
470
449
465
365
477
926
552
549
753
852
366
754
252
725
374
28
477
492
909
962
888
732
334
879
703
972
404
505
981
997
854
681
191
536
307
83
531
198
824
719
947
934
837
164
123
532
698
123
728
910
829
934
850
17
272
36
858
185
485
270
909
684
376
122
915
40
901
658
94
400
31
950
139
875
536
255
637
304
818
75
631
340
991
493
99
108
488
849
687
921
768
923
283
739
87
266
830
72
888
208
360
60
102
406
394
280
512
455
672
675
414
258
728
655
973
301
918
26
61
988
357
923
847
434
686
306
97
944
680
932
970
472
530
898
51
959
35
24
539
384
44
337
766
734
224
902
694
861
660
48
636
379
812
848
220
336
108
317
505
385
800
398
278
559
752
267
753
596
496
855
293
911
261
804
341
979
654
230
400
887
318
782
820
233
245
501
95
415
326
869
599
550
403
278
986
944
318
860
960
71
413
255
778
468
531
420
618
843
792
51
908
927
343
493
829
323
826
316
443
640
538
870
324
730
115
196
171
716
103
659
573
806
981
543
3
609
11
627
178
766
813
464
88
236
708
676
381
509
673
87
293
348
241
923
980
384
759
641
936
76
258
131
164
49
548
233
910
816
317
474
36
246
702
922
610
895
227
887
843
525
76
950
293
683
358
466
189
228
399
258
764
81
153
683
745
272
463
641
548
563
278
382
220
554
917
149
929
188
124
809
625
999
971
613
503
275
622
156
97
577
615
397
139
644
570
361
788
829
178
740
504
621
937
156
608
699
299
314
525
220
849
586
831
733
661
841
453
179
204
509
835
939
51
898
411
780
143
799
497
856
595
266
576
623
813
247
10
645
236
446
391
789
145
393
144
236
794
183
441
56
594
790
223
850
189
144
903
102
53
420
326
426
663
78
702
868
398
264
499
775
69
102
776
511
365
263
984
498
584
956
88
610
728
146
735
971
396
350
283
571
970
884
754
952
228
759
133
386
918
741
999
610
759
290
169
190
42
161
892
17
286
476
137
272
371
996
700
422
203
108
175
490
241
794
302
841
134
477
867
243
335
143
112
771
792
636
544
439
704
312
185
83
917
539
504
133
745
671
765
380
845
181
23
752
341
640
802
395
566
90
318
102
603
136
203
199
347
801
845
557
940
772
844
301
233
154
585
131
412
297
599
915
43
547
206
339
558
2
922
967
656
503
247
33
170
92
737
615
699
154
726
644
723
257
665
371
950
521
802
485
399
936
855
82
45
693
401
65
936
1000
934
362
324
271
939
575
738
859
855
244
889
685
541
980
970
218
651
118
219
267
407
378
581
973
374
262
910
160
200
577
472
994
736
494
382
460
626
41
264
769
215
771
628
183
585
640
366
160
660
769
350
924
534
893
310
752
647
753
44
333
970
602
555
533
117
285
880
753
170
78
216
901
66
566
462
644
580
374
427
228
298
480
784
662
501
197
297
467
519
611
984
491
973
439
658
559
287
819
707
802
984
482
77
597
590
145
180
949
414
721
819
21
67
115
318
270
362
977
737
298
151
740
438
96
726
713
282
852
640
749
436
840
210
250
103
222
478
885
481
779
136
388
927
677
759
278
578
387
706
120
695
796
224
233
571
338
613
367
148
735
776
947
428
533
148
898
323
174
766
992
878
783
187
868
667
190
100
585
742
985
711
655
731
526
401
963
536
930
757
912
638
20
773
407
173
90
933
11
798
155
920
718
863
999
895
312
561
991
651
197
518
97
448
931
782
951
32
426
266
154
128
922
490
211
708
401
897
618
456
60
124
674
164
823
318
522
215
655
48
770
947
597
359
804
428
55
292
570
113
827
509
149
909
781
737
955
425
879
405
727
549
459
187
817
67
295
176
425
712
982
54
553
895
618
946
462
406
575
591
308
493
426
109
461
110
684
903
737
558
127
181
387
406
875
170
257
376
311
330
925
806
156
810
26
424
720
905
183
435
416
526
149
336
124
550
833
434
879
442
837
798
664
738
38
260
785
803
513
97
458
799
801
261
686
919
110
370
522
784
570
163
62
339
30
824
307
736
249
387
167
434
525
420
400
214
942
315
292
873
472
826
194
133
68
920
851
672
788
634
578
274
697
390
994
799
974
116
938
31
234
648
648
524
514
45
40
223
791
915
175
976
141
339
570
78
891
698
70
615
179
568
403
688
339
863
372
581
479
561
893
541
387
680
717
116
661
667
733
954
563
977
208
523
667
420
188
488
759
821
529
371
861
624
757
677
454
337
972
897
156
147
557
656
187
592
315
815
911
923
978
518
631
665
715
995
598
942
422
483
897
314
47
702
452
251
168
209
916
868
367
371
616
218
660
829
26
259
422
121
507
609
777
545
115
318
378
447
394
207
884
861
941
740
201
828
428
37
714
792
496
370
365
177
609
427
373
619
513
682
806
367
430
454
40
36
492
623
300
263
190
521
138
761
854
191
699
996
204
108
47
946
91
414
692
413
411
945
644
973
9
603
19
916
110
141
234
463
451
49
313
161
812
33
665
572
97
527
999
297
457
771
677
926
208
281
925
730
461
918
792
763
426
370
645
603
364
577
292
111
1000
516
538
449
35
816
81
95
45
861
186
730
699
411
496
701
695
265
681
218
249
178
347
572
271
50
797
425
606
411
760
683
823
328
195
529
99
199
603
955
659
306
88
524
108
636
558
169
723
222
47
531
455
198
140
731
939
796
864
483
294
807
207
144
885
345
660
651
470
351
761
261
402
958
653
704
595
671
106
639
14
375
267
266
335
301
645
604
254
458
507
177
629
466
871
826
287
412
778
920
853
115
369
516
412
137
568
906
139
8
854
549
327
360
676
597
359
120
568
124
269
448
908
648
507
891
570
769
378
38
421
547
457
89
738
780
915
878
134
447
353
295
510
442
189
537
885
154
101
301
690
583
306
858
266
470
715
913
850
323
106
316
297
361
502
958
141
83
900
667
384
642
313
488
558
190
871
532
215
148
371
467
957
661
248
817
543
588
390
461
390
1000
626
108
11
554
989
84
532
81
35
433
459
369
637
241
285
466
627
45
381
757
611
422
821
719
89
114
463
520
708
577
654
566
159
466
372
696
707
328
508
971
836
787
228
892
804
555
60
469
169
901
428
754
525
611
829
331
723
52
759
790
845
695
797
395
94
311
957
983
498
144
528
650
86
509
160
920
730
673
862
897
404
349
915
385
971
825
467
70
988
575
668
625
169
153
817
66
348
359
916
744
771
903
376
130
504
291
449
933
599
225
57
169
410
615
350
501
98
164
248
549
965
618
679
897
693
970
958
209
970
298
33
195
260
483
880
192
664
721
380
744
932
623
430
905
673
707
871
937
731
240
55
700
514
734
533
315
777
863
363
608
1
215
39
448
44
97
875
305
165
528
958
317
913
706
460
640
563
461
187
141
14
639
730
316
77
951
465
865
77
519
977
548
576
274
165
759
801
379
421
782
49
68
775
836
968
640
847
805
70
847
759
56
293
625
916
834
713
886
705
509
743
115
703
412
284
639
957
39
329
715
265
194
470
64
134
22
587
55
295
948
782
520
232
249
254
103
147
372
398
114
223
119
872
89
802
531
770
654
335
606
303
827
565
28
610
594
422
701
398
450
538
209
119
621
124
290
315
823
189
15
568
779
727
676
208
159
550
282
598
271
899
189
289
609
844
600
855
332
729
616
497
832
616
41
813
827
760
383
260
837
633
353
910
457
910
708
91
595
135
439
353
720
491
187
11
202
217
219
208
38
725
505
19
614
408
186
640
659
453
244
124
214
732
263
410
273
947
985
657
739
818
769
996
446
7
167
855
336
850
592
959
293
778
407
963
760
406
897
402
26
944
234
339
988
493
949
644
266
240
462
289
776
333
879
476
275
451
628
639
907
679
489
607
494
325
236
272
180
746
414
155
30
80
737
114
376
22
226
322
999
420
467
318
753
536
320
581
850
249
997
625
814
373
655
23
90
500
599
153
377
486
684
697
22
755
789
76
228
107
57
85
427
590
148
970
853
317
933
48
301
809
888
778
36
553
969
875
69
1000
859
652
342
132
338
293
895
90
960
157
740
67
339
546
10
823
165
572
910
746
444
917
176
324
609
282
974
256
854
296
703
209
454
486
697
419
914
659
643
871
482
733
410
837
940
583
76
908
629
996
185
480
318
139
615
842
913
299
26
650
943
798
533
574
469
109
95
341
330
196
161
230
631
8
245
310
983
887
440
350
297
362
383
415
858
432
778
565
5
987
424
3
985
446
610
219
444
44
862
421
604
466
295
583
354
658
222
931
383
753
262
616
14
989
925
589
545
388
524
417
795
760
316
896
7
276
982
824
452
456
893
251
837
928
144
812
151
711
993
534
635
124
163
629
407
593
467
338
650
827
332
849
405
798
98
688
729
962
437
746
407
977
799
261
427
917
615
700
205
693
846
434
847
885
594
520
822
740
674
696
69
408
483
897
923
814
1000
237
222
739
490
388
638
779
303
752
547
878
220
618
761
7
910
769
29
409
444
620
523
543
236
48
433
480
485
498
409
66
916
858
818
564
621
823
704
904
881
172
869
844
130
456
755
579
615
89
628
349
906
713
131
614
141
38
449
194
751
44
147
615
489
546
273
546
766
666
460
836
663
645
537
170
480
811
697
738
398
200
312
682
596
527
316
266
197
718
503
855
521
193
152
846
440
439
180
604
59
196
376
327
575
753
389
513
915
418
798
360
664
249
11
3
910
484
740
958
798
952
504
529
46
930
927
223
158
532
625
396
813
730
106
471
737
556
434
64
393
838
350
252
992
71
197
70
642
698
250
1
949
70
990
904
9
875
462
306
528
645
102
478
770
239
301
31
106
880
572
31
242
389
357
793
593
777
428
596
850
221
321
505
534
772
468
389
203
842
495
11
14
639
675
732
581
229
681
14
373
837
570
367
456
334
416
816
18
593
124
296
965
539
745
578
838
279
21
478
461
650
12
125
994
881
385
27
549
855
348
495
108
610
285
755
247
316
843
751
117
956
613
177
160
321
578
781
315
741
149
350
828
184
6
69
341
960
914
147
622
298
358
692
156
475
138
837
851
36
57
13
247
849
412
86
965
415
329
823
611
884
872
730
991
701
479
908
260
653
498
949
624
384
534
293
282
86
836
697
577
196
207
634
728
395
761
501
124
94
403
513
836
917
80
993
956
390
699
616
365
140
82
792
751
459
536
30
68
997
348
591
106
679
56
156
554
699
416
576
718
555
794
962
78
686
127
523
971
187
701
587
17
471
738
199
310
509
180
505
55
445
127
929
49
984
103
767
347
935
679
434
524
668
29
32
181
76
683
314
708
826
49
399
904
281
321
780
701
533
999
264
142
376
584
507
745
911
973
689
570
690
686
714
632
966
357
34
760
664
830
834
684
157
833
828
876
757
384
400
667
163
68
123
231
724
812
989
310
496
38
815
982
554
946
360
306
899
192
682
477
623
416
125
943
697
928
106
27
850
335
595
775
540
67
741
119
938
560
637
947
195
302
597
344
960
122
670
100
328
809
291
555
873
647
163
982
449
499
439
29
749
852
247
159
433
599
451
651
765
454
291
489
317
530
185
383
276
71
586
226
274
282
226
553
491
939
465
922
953
756
767
712
586
542
496
507
612
758
329
105
271
475
606
205
714
626
811
994
143
127
242
161
911
679
605
385
356
16
940
942
601
956
776
902
411
853
914
304
470
946
522
848
124
679
526
853
708
266
431
701
72
643
752
516
819
503
249
591
57
260
2
954
195
662
162
499
402
235
923
317
894
939
822
224
123
172
24
978
282
774
611
365
278
769
260
150
475
384
880
858
46
309
924
526
756
243
145
813
336
551
461
336
391
209
493
704
974
335
73
466
510
256
664
142
774
494
232
532
4
25
570
788
40
902
444
62
585
636
229
147
298
737
905
165
454
486
345
278
318
293
889
347
245
978
38
688
712
931
997
360
176
389
448
922
675
984
620
230
569
342
216
627
654
715
237
858
189
578
60
104
13
645
401
844
53
993
954
623
974
852
544
418
650
145
643
9
410
50
941
634
745
689
468
291
262
553
465
211
185
438
764
402
656
432
994
676
393
26
296
232
11
473
567
697
476
360
487
525
679
745
677
746
109
331
422
414
938
878
291
499
636
482
858
598
369
366
480
611
59
602
742
429
935
495
756
755
836
441
966
444
296
713
492
79
671
6
349
99
176
534
29
468
715
154
88
720
822
298
335
265
859
424
159
961
861
385
341
334
47
325
417
263
106
695
297
615
771
542
369
103
109
494
774
571
193
749
872
48
511
945
181
156
553
4
239
869
495
913
890
222
804
926
485
265
891
877
355
485
634
107
715
926
728
24
826
460
313
472
877
1
290
864
514
4
33
546
381
194
977
942
346
369
678
825
314
45
520
492
642
888
181
718
242
141
344
92
349
723
911
762
841
292
146
673
689
287
764
69
838
935
972
460
330
250
865
210
4
279
356
664
449
276
88
996
193
974
310
26
301
877
792
859
650
316
231
528
148
36
462
795
96
258
10
866
675
480
179
74
309
744
907
509
240
775
97
168
209
144
981
432
594
603
344
615
663
799
135
844
905
891
33
772
517
953
76
510
227
679
305
651
588
590
730
485
760
866
576
324
596
942
932
349
518
235
419
572
288
693
420
269
274
404
758
757
227
143
451
475
889
584
291
113
3
857
584
988
390
307
324
922
832
563
425
665
409
505
449
269
804
322
393
908
853
587
724
347
249
242
806
616
910
415
295
512
970
250
834
201
752
316
637
542
333
689
123
773
566
526
820
815
442
775
140
800
755
717
509
357
895
163
539
844
431
490
588
969
863
157
104
194
568
991
612
891
467
328
57
485
424
34
495
706
703
556
798
633
88
384
121
450
403
772
367
664
282
86
793
120
959
918
179
272
767
991
711
57
812
887
840
196
967
879
885
891
940
475
89
728
687
798
177
17
822
605
166
960
24
556
388
807
639
351
160
575
837
464
567
18
675
514
136
288
403
758
970
90
178
795
96
255
98
337
342
307
154
818
66
31
239
695
450
20
842
516
868
922
437
217
47
392
848
676
372
798
80
213
674
362
192
631
289
709
805
348
10
809
738
395
785
878
81
349
655
91
761
739
494
916
248
151
557
441
626
993
709
326
653
864
486
921
831
590
808
635
716
202
242
878
889
614
226
739
65
282
521
133
795
883
508
289
86
934
607
334
68
322
250
196
508
899
328
204
596
668
987
602
890
593
948
617
787
746
314
878
113
293
908
736
750
866
804
498
251
924
616
643
507
90
514
866
427
816
685
189
459
398
135
421
523
93
322
7
611
16
88
615
847
576
765
908
288
434
112
581
139
354
974
102
318
876
147
594
508
409
969
961
945
245
564
628
174
950
526
287
933
815
43
619
132
336
126
267
626
180
646
250
97
752
351
610
926
242
890
344
333
10
147
533
453
248
867
198
252
141
629
582
348
152
719
441
874
653
357
485
488
816
9
239
527
620
257
491
71
823
792
948
390
977
609
907
833
920
444
526
745
675
784
785
369
366
543
299
59
597
654
976
307
691
345
907
247
362
851
991
321
651
679
521
738
431
294
397
211
390
286
647
200
144
669
688
558
81
918
117
49
590
790
844
670
563
745
84
93
458
1000
38
831
745
870
116
929
252
57
195
63
801
996
709
957
525
169
358
919
418
567
808
128
26
111
73
24
621
898
169
778
894
590
247
362
941
137
642
175
309
297
186
541
954
75
700
629
230
311
769
533
449
121
813
292
126
784
968
621
752
995
481
999
835
84
173
538
975
930
18
769
958
824
19
49
204
442
418
834
411
447
682
447
907
960
886
296
61
293
850
721
66
882
854
789
557
333
816
362
817
836
589
751
774
985
422
67
606
221
698
176
509
692
777
811
144
308
128
947
312
189
994
44
662
464
490
130
617
635
377
978
252
295
787
831
548
31
768
226
310
763
882
477
57
604
27
265
339
567
277
647
284
83
830
465
650
359
54
806
285
45
262
682
717
571
40
552
516
746
898
636
205
925
546
256
730
123
333
577
954
912
242
189
173
896
373
969
425
798
25
506
220
934
337
187
379
963
934
716
859
312
182
456
818
604
471
467
652
753
404
532
447
132
890
798
77
355
928
848
182
783
294
189
395
796
434
134
472
270
624
47
436
437
840
725
457
507
869
472
939
998
883
70
223
720
79
428
361
740
23
155
689
487
10
682
274
315
104
856
878
513
495
114
773
723
508
433
606
185
855
277
511
45
731
669
848
212
949
305
274
882
606
399
309
908
685
541
241
667
623
391
961
895
75
498
306
290
57
846
574
309
170
16
133
699
853
991
505
783
456
720
811
406
487
500
268
772
536
156
272
81
248
742
647
18
194
211
867
648
658
87
384
200
158
675
728
569
981
761
701
81
155
72
826
237
28
985
178
689
85
109
870
654
718
392
764
351
394
364
425
818
101
953
927
606
984
81
918
500
804
910
224
322
243
166
399
337
89
443
804
553
12
777
231
403
14
67
617
944
594
90
74
704
364
996
351
731
115
128
833
261
344
962
357
631
838
754
449
708
218
220
87
195
249
194
681
579
360
747
825
394
998
708
273
718
424
847
708
511
36
263
162
477
591
669
327
632
521
327
599
639
92
374
416
291
330
151
345
228
479
931
405
61
258
145
336
648
333
789
851
146
229
213
451
813
379
903
22
287
116
164
287
198
214
871
145
510
991
558
79
994
101
147
102
533
883
604
170
783
529
584
579
877
395
970
658
410
517
790
942
991
733
622
135
986
851
39
365
920
15
45
644
187
710
716
975
344
903
481
263
284
406
549
31
13
926
20
953
572
172
100
410
908
49
681
560
131
228
264
925
642
335
825
133
86
559
765
227
938
776
539
929
805
132
881
332
211
633
827
772
695
493
882
32
565
846
738
641
532
971
944
703
749
380
795
648
501
917
490
290
885
555
322
789
368
713
227
493
2
713
561
116
455
496
356
401
692
797
654
230
361
799
689
123
427
676
894
229
584
576
667
159
349
293
827
516
480
315
520
547
573
980
81
105
243
189
47
57
313
503
40
317
809
464
767
932
369
690
712
26
885
609
416
971
798
708
420
825
513
828
41
955
792
332
170
779
848
959
173
695
86
776
810
649
79
948
808
213
438
933
341
730
666
370
214
843
978
94
8
705
318
685
757
244
487
480
11
148
393
193
284
622
896
181
968
585
640
902
756
662
561
309
488
249
456
754
156
952
122
479
456
918
100
928
886
907
976
918
920
497
518
167
150
468
691
814
659
220
716
339
62
104
890
709
825
632
865
696
472
868
419
40
258
732
544
527
729
543
844
149
329
936
814
168
898
140
580
347
454
743
41
578
143
265
200
864
603
248
639
932
282
138
729
761
452
909
180
946
739
261
971
155
17
202
513
879
398
32
167
307
901
53
850
433
74
793
545
441
498
214
975
1000
616
117
550
349
793
952
11
962
854
318
810
126
591
708
414
6
905
484
146
615
317
623
130
659
546
530
162
394
730
70
74
494
674
56
232
388
171
586
380
730
66
17
919
430
217
852
75
161
941
488
140
374
832
617
114
642
58
28
622
562
407
705
957
574
338
429
444
754
279
500
99
102
247
854
733
837
601
560
243
987
439
647
793
901
681
250
31
342
376
323
233
515
142
535
520
714
935
519
889
279
531
339
813
197
227
910
599
994
224
94
541
544
125
382
110
17
750
403
101
488
225
956
696
656
903
931
846
714
250
251
272
657
234
940
628
210
117
502
48
146
818
102
401
933
158
394
46
580
371
491
784
14
244
241
9
567
119
892
763
950
791
276
511
607
4
821
980
491
884
73
328
112
102
918
252
181
19
365
353
274
362
574
272
759
186
786
614
611
44
975
656
879
296
300
209
285
437
925
759
852
179
340
182
510
760
116
948
365
648
923
662
642
326
720
245
403
367
267
808
777
353
471
523
797
501
672
366
945
26
602
679
139
407
689
872
227
677
310
458
1000
830
844
831
376
190
625
858
664
365
442
393
780
7
833
288
841
151
213
344
849
333
855
903
52
57
821
463
143
415
209
801
660
834
516
534
848
2
469
998
738
973
429
576
412
354
349
358
245
261
302
87
428
403
825
911
207
277
649
348
108
948
915
226
864
301
642
99
902
976
37
772
991
397
220
130
134
488
72
435
845
632
206
582
696
438
530
626
457
694
438
25
162
641
475
651
205
382
200
603
887
780
82
259
903
709
456
789
935
857
995
572
834
611
667
578
908
715
859
785
456
497
208
131
11
487
685
343
727
123
652
207
940
89
936
509
260
542
444
908
420
114
481
488
766
105
731
551
471
750
807
558
481
754
374
714
750
579
142
860
556
106
401
756
531
370
379
783
596
46
431
363
165
228
935
121
811
842
834
921
108
725
963
425
496
995
643
765
836
852
544
227
785
336
497
610
238
933
747
58
884
85
122
703
314
842
733
443
262
887
132
512
267
149
256
294
472
32
161
995
312
54
240
375
594
376
599
741
793
219
305
768
482
688
451
557
428
873
402
518
286
401
87
279
782
785
936
877
949
34
906
862
281
987
36
827
639
740
181
71
362
351
851
805
321
747
603
286
583
374
40
808
934
656
298
261
786
809
820
306
861
856
335
855
629
983
245
628
677
525
988
66
82
919
590
763
352
972
281
885
718
638
998
740
389
298
587
806
869
240
775
13
598
611
281
15
998
635
987
535
448
300
748
572
851
32
240
440
233
87
232
136
235
555
804
508
479
856
326
35
492
600
465
844
324
497
95
716
12
781
744
446
803
249
128
909
360
607
403
577
277
282
12
15
849
220
344
136
426
511
27
553
649
837
331
439
546
871
44
697
750
736
160
89
86
550
940
214
379
917
176
863
640
912
10
341
681
787
282
789
850
103
169
422
772
495
840
848
931
575
955
335
467
770
91
956
761
21
603
25
296
379
13
178
766
449
716
681
615
575
743
330
32
396
287
371
899
129
966
403
373
511
113
176
569
841
909
482
296
2
850
129
903
606
844
91
78
681
244
505
887
427
235
131
408
590
299
265
84
979
934
847
310
464
403
713
840
579
55
490
290
495
681
649
427
692
436
607
921
162
101
586
943
316
830
131
333
87
94
820
53
883
209
697
293
181
709
414
910
514
838
865
851
551
579
385
824
763
11
164
755
912
208
656
531
201
588
147
80
497
361
568
122
452
731
873
800
695
557
1000
982
558
487
495
232
908
962
405
309
769
103
880
595
369
171
309
53
131
233
434
99
909
674
75
353
484
411
566
306
899
12
975
806
739
455
455
706
880
894
887
144
525
681
50
707
588
799
153
161
605
83
494
518
394
826
403
968
638
864
363
603
371
822
402
901
178
968
436
695
491
42
209
675
9
506
895
547
690
878
213
610
177
225
133
900
779
411
831
9
345
404
614
360
451
815
934
29
326
830
439
154
869
884
291
618
904
751
554
954
564
190
588
350
313
941
775
248
648
654
816
248
987
276
63
948
565
543
88
920
441
471
702
199
875
166
182
595
391
861
337
596
817
782
348
883
496
385
20
262
615
500
211
351
309
154
710
503
799
180
780
243
319
251
887
987
1000
613
905
917
196
668
220
656
972
490
696
853
584
512
452
837
829
943
732
288
88
872
940
244
728
665
96
831
282
12
515
844
494
883
547
625
880
759
589
781
922
704
361
901
416
250
699
825
742
609
670
992
57
419
893
40
487
98
326
157
401
879
649
647
762
779
598
775
387
85
241
270
628
397
261
761
668
934
744
38
117
591
863
274
68
177
86
231
100
387
238
54
982
311
832
455
995
705
543
971
834
829
631
518
68
386
398
609
959
975
484
499
297
530
905
979
516
407
282
691
49
142
610
691
298
406
268
385
60
372
704
155
559
517
365
707
438
858
20
661
211
791
539
954
709
949
616
402
3
993
619
147
109
820
5
793
568
447
257
747
640
761
327
640
412
386
953
750
606
141
15
23
248
984
313
620
636
836
756
949
263
428
977
746
413
123
804
120
190
709
883
417
618
326
929
398
298
996
800
485
806
722
571
788
661
765
300
192
223
478
994
42
324
55
599
874
784
641
479
188
222
510
943
476
717
456
882
596
975
95
457
111
591
518
79
388
909
632
648
102
741
540
117
288
932
554
969
221
308
748
124
241
114
509
137
80
387
179
259
382
95
731
118
889
35
398
281
187
677
297
966
18
105
405
505
885
218
684
926
100
157
750
233
478
687
263
498
598
944
123
923
921
498
621
366
76
182
951
679
334
483
859
385
602
626
750
839
287
619
272
45
14
669
276
728
523
369
25
81
988
953
725
865
681
758
760
168
125
742
509
186
861
534
238
866
515
36
382
71
109
43
449
251
474
670
928
239
151
673
797
894
425
873
684
802
967
974
289
126
121
48
416
30
31
830
846
760
669
742
322
639
296
292
144
696
64
48
174
630
263
929
632
85
187
939
675
8
714
816
609
974
478
254
551
906
936
526
512
619
737
341
137
930
528
728
819
880
761
582
493
778
106
264
185
372
779
301
303
415
514
819
741
319
878
781
94
380
347
533
668
254
903
383
522
3
883
192
460
20
503
14
772
602
748
838
515
737
315
415
312
947
909
925
947
647
466
23
549
543
812
378
766
44
868
386
135
545
749
178
819
679
1
375
951
341
803
322
138
348
149
674
43
111
925
279
588
563
291
293
17
913
3
308
958
498
109
95
678
95
986
245
897
630
815
562
921
81
403
629
327
755
754
302
143
843
855
273
243
290
998
27
711
592
318
647
27
62
377
997
232
507
335
688
690
985
662
161
662
537
424
897
666
318
851
489
523
593
302
839
70
420
772
229
733
663
728
406
557
182
458
81
838
663
77
461
173
562
992
522
648
77
957
720
846
893
789
780
562
670
459
991
422
904
530
178
87
848
875
133
364
609
174
854
331
445
951
341
542
508
798
86
486
2
30
629
727
767
178
710
573
829
647
625
710
305
360
371
957
410
420
25
172
962
640
604
424
944
308
349
703
175
689
960
814
75
588
825
629
843
765
693
501
115
103
554
520
292
220
729
222
308
644
281
537
536
767
908
39
931
529
418
10
238
205
739
447
300
711
158
891
74
563
163
891
954
12
811
973
389
873
44
230
595
296
711
30
362
18
399
893
571
677
314
257
68
383
587
769
948
89
361
669
146
238
956
89
490
798
188
343
970
85
679
816
80
689
589
658
517
415
777
325
386
418
804
914
354
578
556
384
835
748
528
990
417
729
951
701
181
657
30
919
507
66
521
573
222
53
765
542
683
790
74
387
477
177
73
618
975
526
166
7
855
20
850
52
96
138
959
306
634
343
280
120
67
160
179
376
291
129
15
844
957
291
163
172
985
547
395
911
125
665
228
611
753
769
593
778
681
850
857
406
703
208
774
861
62
790
434
147
764
22
652
948
910
140
522
397
807
956
53
232
679
701
918
823
156
864
331
614
644
920
978
641
821
482
781
163
239
649
940
879
988
296
382
877
897
632
248
237
565
573
503
152
821
426
106
571
851
902
426
585
364
702
749
245
601
814
802
21
935
143
174
904
72
326
407
982
616
396
319
410
819
473
800
869
913
784
926
973
311
183
761
594
310
725
576
750
667
56
611
518
567
84
636
418
50
892
785
857
919
897
107
506
532
44
261
942
618
189
608
493
479
933
721
975
482
827
987
951
752
299
550
187
387
631
301
247
278
33
36
525
871
190
139
573
790
652
387
281
271
93
544
325
790
776
424
294
85
532
14
108
35
162
71
627
471
483
316
870
90
142
998
859
57
926
112
949
763
551
32
390
503
803
624
48
452
462
203
402
476
682
833
407
732
322
532
368
970
322
952
686
703
316
931
262
145
607
155
345
925
42
820
853
111
548
801
517
977
836
338
733
338
315
652
667
940
309
242
982
609
503
804
542
365
954
877
591
694
90
339
178
518
888
815
72
181
797
925
7
954
63
34
863
120
798
849
300
724
532
751
450
429
1
241
493
764
607
267
337
216
346
445
155
265
970
441
261
462
826
809
614
80
102
658
304
722
202
360
515
459
575
397
777
789
599
108
833
678
74
771
47
480
456
973
104
342
205
649
682
983
537
565
894
440
431
216
560
425
937
313
779
424
724
100
854
609
331
672
358
878
754
414
9
78
877
403
59
588
699
337
132
930
520
169
764
33
19
86
429
80
629
922
526
635
762
404
573
872
176
826
891
286
241
925
167
229
936
714
590
973
165
21
690
768
379
293
644
551
549
999
552
543
249
618
112
947
996
773
191
365
2
540
47
371
177
345
311
844
594
139
392
317
581
747
696
607
292
376
854
406
893
274
218
355
495
442
24
383
552
133
946
681
753
555
263
809
345
886
491
829
445
185
111
249
102
271
999
833
830
953
259
10
836
291
413
681
423
681
340
734
905
668
918
462
895
341
58
382
24
35
704
653
973
890
430
429
220
466
442
973
29
227
166
306
48
232
123
491
323
753
434
395
666
863
148
902
109
291
559
133
582
911
814
148
58
339
406
11
175
1
602
819
700
895
467
538
309
57
886
999
851
348
935
458
621
798
996
488
233
176
273
769
328
872
734
578
729
425
44
358
620
252
778
803
2
225
35
289
981
736
594
342
410
817
938
50
15
689
762
998
450
841
104
316
610
373
847
941
170
862
138
12
527
477
234
615
258
378
372
753
735
731
544
519
778
804
457
929
88
689
544
753
738
159
623
18
163
66
687
532
972
449
352
905
349
232
684
78
21
987
501
265
520
729
738
576
988
140
135
318
862
925
357
108
555
228
592
496
708
166
866
752
642
580
550
825
436
40
33
267
393
979
116
79
790
620
439
36
460
975
206
2
176
795
495
203
789
822
734
147
799
48
248
171
359
11
383
138
690
310
369
884
591
651
971
400
976
733
971
586
379
170
695
666
975
513
147
958
942
93
750
799
927
112
377
829
971
869
119
745
479
507
196
880
766
997
533
655
213
312
767
15
324
935
883
483
840
899
257
320
578
520
592
613
862
883
154
804
257
914
727
305
798
571
929
325
69
281
872
28
307
251
678
392
150
710
13
963
783
428
644
763
14
108
984
238
254
369
764
19
432
55
212
696
680
584
630
531
968
862
807
234
965
77
517
506
118
313
246
34
274
520
362
32
264
841
193
216
483
671
852
300
897
113
195
736
858
689
1000
425
817
271
304
552
266
177
867
548
271
318
871
390
534
85
317
140
226
378
46
630
759
834
951
685
246
827
748
142
674
263
615
168
674
536
122
98
384
282
130
45
70
701
762
78
68
320
129
617
132
8
204
10
464
957
156
988
525
127
474
751
241
332
418
34
364
757
705
356
563
198
828
48
270
719
88
343
451
747
247
5
233
847
680
491
759
550
55
604
731
638
844
985
856
239
456
522
802
927
329
957
339
788
156
563
48
57
268
712
365
512
314
610
747
289
614
206
425
137
901
570
568
447
780
566
658
568
871
737
558
16
498
706
17
204
785
236
388
207
180
342
886
926
783
489
49
707
287
951
969
115
44
877
455
114
483
481
543
307
139
8
671
288
591
860
390
364
910
289
709
113
623
605
18
262
774
709
113
401
397
78
967
861
602
25
780
935
521
199
320
272
560
761
722
880
754
659
717
691
556
705
741
53
17
933
480
795
198
836
205
801
575
656
664
85
393
837
401
458
160
137
127
774
992
638
149
626
48
99
942
88
126
661
660
781
369
908
743
100
114
685
826
916
161
869
824
442
107
514
406
238
948
375
90
535
850
875
814
135
844
967
174
172
207
212
467
911
475
600
315
591
347
315
903
33
219
674
828
382
738
950
115
859
546
624
233
862
336
919
820
111
468
114
402
756
617
227
616
559
383
161
279
320
351
280
233
669
811
701
22
263
257
287
335
189
812
436
642
63
933
304
579
933
97
987
478
578
710
576
893
227
96
665
75
20
322
122
173
770
515
406
315
700
538
727
866
897
137
679
874
117
142
767
131
477
905
405
334
285
927
557
549
940
536
198
541
396
566
121
586
162
198
477
32
180
538
590
256
215
23
243
618
591
476
629
708
195
457
586
459
665
597
590
680
638
744
199
197
669
108
290
29
251
37
484
6
910
722
625
803
949
918
14
608
813
691
409
555
433
356
429
618
126
991
143
853
811
347
53
780
376
562
623
199
973
784
788
931
931
741
569
815
744
302
85
781
285
284
699
994
17
137
42
834
426
620
924
989
386
260
927
32
406
240
593
624
994
294
685
961
469
356
958
109
594
14
222
693
359
226
288
744
67
416
516
603
661
789
310
494
868
643
867
735
299
520
896
606
160
290
821
554
543
618
182
770
610
841
583
175
149
954
531
487
79
279
958
373
490
401
34
633
721
116
133
997
789
458
452
412
200
386
834
578
823
291
800
157
24
347
680
246
706
609
974
685
250
934
768
266
619
5
120
167
16
209
794
791
596
654
650
716
669
356
265
653
734
534
96
151
460
958
599
276
431
529
222
649
49
603
166
50
531
97
66
230
307
77
567
736
473
365
844
295
158
658
708
752
815
822
892
669
443
294
460
396
751
982
66
856
47
671
970
365
472
677
279
456
779
452
908
138
496
870
102
967
738
200
215
50
323
128
603
412
162
752
140
156
31
160
852
516
990
74
628
197
676
47
762
365
628
854
353
272
614
82
203
786
658
362
947
24
92
346
550
872
481
341
231
441
747
415
101
387
122
954
492
600
851
862
44
988
704
50
107
923
435
418
884
485
304
267
80
798
636
968
518
588
205
761
265
631
904
754
389
847
765
548
349
669
909
434
369
746
395
758
891
166
277
905
333
166
389
304
958
744
509
15
568
651
592
741
170
9
705
570
458
208
140
336
198
764
946
284
128
586
767
612
23
407
458
553
945
242
411
893
492
332
910
207
92
454
114
618
992
425
470
638
600
284
446
435
280
989
478
942
543
354
952
362
768
670
842
961
309
634
350
511
819
224
538
394
127
706
469
171
861
205
804
352
266
212
180
247
354
905
915
998
604
431
783
336
923
126
631
187
463
207
616
957
204
629
701
236
912
678
848
705
204
318
18
212
952
511
717
352
226
513
300
406
254
606
684
149
661
888
411
862
385
468
254
877
190
896
672
120
700
713
443
384
211
777
795
567
310
409
134
654
529
474
287
37
818
214
807
660
620
40
443
550
745
505
392
535
5
364
292
346
814
978
213
813
552
309
112
603
524
404
283
779
750
583
372
476
696
508
420
179
246
928
211
366
900
181
939
829
215
464
831
551
959
474
895
871
346
264
408
581
934
83
119
716
507
492
374
79
289
295
543
924
379
694
212
840
140
576
538
564
623
64
94
383
782
282
265
796
369
772
999
326
906
191
274
717
79
683
170
268
190
812
840
734
100
62
3
30
186
677
766
974
430
68
772
430
680
76
655
513
526
158
756
970
954
946
883
440
186
696
671
93
617
858
752
22
818
374
494
887
938
325
583
490
630
266
56
398
861
876
714
225
565
605
14
937
113
608
655
345
14
596
60
22
94
172
885
984
612
877
490
867
471
405
33
763
670
433
489
536
652
50
418
239
45
59
747
183
559
296
205
340
495
702
267
3
390
66
653
59
821
260
488
800
282
286
194
930
349
674
74
313
59
571
336
51
546
395
985
688
484
55
625
674
833
558
704
758
702
301
159
635
886
437
719
1
788
517
377
141
973
27
627
344
578
522
141
681
141
828
484
193
216
174
310
87
288
159
248
340
90
220
335
9
441
586
442
633
72
769
580
324
761
311
389
569
253
849
373
254
108
571
642
190
594
752
32
203
198
419
466
932
160
126
334
592
650
435
489
324
880
26
182
209
490
221
879
677
987
371
454
833
900
749
674
158
583
517
269
173
261
903
105
900
1000
912
161
371
804
796
59
32
870
27
900
595
410
681
2
786
99
27
946
503
354
557
22
59
157
894
774
577
61
795
817
93
365
944
563
611
158
353
759
156
107
959
984
875
387
440
402
367
137
388
67
704
164
678
34
72
409
320
406
562
849
120
141
399
108
185
171
822
22
698
903
901
810
401
669
802
313
922
74
421
935
408
453
812
592
934
875
582
933
812
204
243
570
225
740
540
872
581
881
957
101
615
51
894
351
514
878
514
754
324
216
907
923
430
173
976
437
206
700
425
441
786
709
346
141
494
875
130
15
687
495
879
91
620
807
47
500
486
165
799
859
963
337
419
688
441
985
196
246
591
71
368
636
123
542
105
978
328
141
975
804
546
610
60
511
743
860
673
923
220
924
622
509
880
614
111
781
575
856
660
788
813
627
858
334
486
229
406
779
367
449
621
841
825
753
549
802
568
279
848
931
281
832
890
722
680
496
875
780
873
722
325
761
886
3
5
837
889
276
182
546
961
252
162
755
187
770
170
665
517
56
24
471
86
555
474
307
640
564
767
596
282
499
752
763
22
1000
821
553
513
492
62
868
898
35
287
131
927
464
990
650
384
904
899
381
348
691
483
765
51
637
685
35
912
349
186
508
797
1000
715
872
775
569
263
449
372
37
584
698
849
482
16
998
127
295
525
881
765
979
780
444
820
124
295
608
542
187
890
287
557
640
225
283
643
903
737
883
213
241
90
761
394
454
165
732
899
758
675
325
967
741
753
945
316
635
206
587
374
452
731
692
84
727
14
750
204
670
564
686
357
599
95
889
27
376
460
1000
334
421
460
191
705
589
338
767
471
836
402
318
39
114
9
572
501
409
103
331
483
152
603
571
569
518
193
846
857
257
498
661
88
807
186
337
294
371
289
220
129
557
913
780
850
936
542
257
440
593
366
55
510
313
382
981
418
587
583
777
526
996
153
130
620
874
475
490
306
370
695
573
640
144
742
394
306
991
999
20
448
615
264
37
636
621
247
863
502
563
620
643
334
527
533
467
231
316
628
998
514
761
757
458
716
71
48
82
851
421
481
793
652
158
838
857
100
128
755
696
918
600
618
906
617
204
193
719
349
98
237
828
80
302
802
523
522
793
567
577
876
451
358
135
664
421
947
176
850
790
322
773
990
730
905
461
384
441
586
509
66
257
49
805
2
291
556
337
32
852
288
985
974
653
348
444
752
540
758
614
607
46
116
729
238
596
117
823
189
594
780
878
923
942
84
121
802
765
666
543
621
236
385
590
446
455
853
426
240
252
483
867
181
642
205
314
604
432
756
563
267
105
405
374
947
712
996
72
474
948
470
259
918
985
389
917
53
910
538
809
179
819
372
81
44
706
950
427
929
297
992
987
909
888
872
399
937
75
687
60
671
953
14
733
902
44
619
41
25
700
171
312
249
196
947
477
142
73
651
393
670
551
708
77
98
964
824
790
998
283
175
840
148
730
327
249
253
375
853
143
314
408
698
855
930
446
497
217
966
861
447
490
878
594
812
670
380
351
845
668
333
381
704
14
460
270
940
273
948
309
260
328
98
22
580
30
903
414
814
530
867
294
453
728
420
841
778
898
3
202
420
526
272
494
110
781
897
53
656
866
114
153
575
674
537
706
379
816
720
645
181
86
623
782
164
877
453
957
456
868
291
192
141
568
562
376
436
934
680
746
571
328
121
49
525
550
778
806
584
542
708
549
617
612
259
239
95
746
149
336
122
598
276
155
169
304
903
201
795
106
405
158
343
107
933
79
506
172
208
116
699
105
136
825
358
771
114
667
679
711
667
836
774
203
578
972
934
386
734
608
483
268
731
436
715
953
710
619
512
411
961
389
574
438
622
126
603
277
154
972
410
494
376
756
693
329
535
711
103
703
268
995
349
473
327
517
284
317
650
951
307
857
674
102
992
220
796
981
500
273
547
46
243
188
330
70
236
834
582
11
779
718
780
64
402
857
61
829
522
5
94
114
857
125
487
468
495
848
210
962
388
951
472
90
235
542
993
911
895
730
879
721
965
63
140
612
680
886
442
239
45
87
871
13
4
415
303
696
471
647
501
104
283
423
194
189
443
481
209
297
593
359
198
791
271
377
603
577
362
850
317
255
138
43
897
775
391
323
291
507
489
341
800
572
617
844
375
136
68
893
429
114
241
835
43
404
868
395
842
334
133
611
809
476
519
171
25
356
644
900
640
895
879
766
395
583
231
784
647
510
854
649
181
351
534
724
38
367
702
296
237
234
799
603
511
290
364
237
141
396
794
961
563
140
565
837
640
574
613
851
425
997
726
886
798
578
8
979
553
750
947
285
409
402
150
74
926
829
576
382
517
327
956
645
558
72
148
762
118
618
384
560
975
972
695
537
389
678
339
127
586
771
716
440
6
779
75
590
165
163
308
273
405
731
254
224
904
582
243
511
53
98
42
459
735
317
997
104
63
829
895
702
888
933
18
800
739
416
927
773
883
755
728
507
889
939
1
163
422
385
55
527
968
620
946
500
878
500
490
691
402
736
538
927
350
416
966
707
672
20
133
307
476
160
46
263
982
898
121
432
478
32
218
698
597
187
562
658
133
898
300
280
186
110
675
655
628
710
235
396
753
745
66
180
521
974
778
207
974
270
831
59
239
175
875
568
49
618
945
806
847
377
718
259
367
404
564
548
24
506
769
836
601
238
152
181
468
35
274
645
33
790
565
948
175
78
14
804
215
211
483
839
310
111
340
202
290
788
858
512
618
832
742
822
546
932
239
650
586
874
480
926
50
874
148
932
818
380
45
912
434
668
886
40
316
661
471
896
170
386
413
385
642
440
764
315
912
590
206
473
150
413
966
95
743
474
230
86
762
107
640
204
398
264
423
708
984
298
764
621
811
757
339
869
118
448
336
30
552
100
834
327
887
916
193
797
1000
186
955
283
923
937
811
13
318
260
413
27
822
582
116
675
585
622
300
713
731
220
566
283
637
518
916
184
669
193
33
430
480
605
892
10
41
709
246
158
335
579
964
188
50
182
816
155
653
849
64
153
964
512
117
76
691
360
622
49
452
44
541
548
465
930
214
421
434
191
891
660
177
720
961
764
159
955
941
987
439
687
310
591
473
854
425
441
876
151
112
965
472
964
974
515
951
826
118
650
5
85
781
710
75
929
306
327
739
270
998
200
351
239
676
532
722
191
148
30
531
214
403
254
683
88
64
408
4
522
506
369
497
298
127
881
920
617
410
325
535
583
821
456
760
203
61
768
857
767
880
955
954
716
483
19
456
399
535
169
354
177
914
599
996
449
645
597
678
33
927
202
774
262
719
829
220
848
179
814
843
267
108
881
441
964
672
889
514
170
879
13
246
479
682
770
686
634
144
847
48
175
748
770
727
663
869
835
941
246
358
590
838
201
418
365
574
943
240
13
129
671
368
74
538
503
390
27
857
439
352
154
375
966
237
829
528
454
959
705
516
753
592
359
824
546
953
445
752
117
268
312
564
114
332
315
50
822
523
795
156
201
5
786
810
670
722
45
241
193
91
920
890
744
845
907
489
629
125
487
981
468
765
975
764
856
679
677
161
856
411
582
94
522
179
224
723
562
234
65
177
149
919
984
589
591
602
983
357
267
568
269
907
793
31
204
299
848
661
484
659
486
394
46
801
31
869
879
361
845
496
895
463
380
48
454
189
895
668
979
164
155
348
324
107
244
273
211
555
336
896
97
840
905
256
298
28
398
828
58
762
821
162
518
857
58
680
220
42
967
225
866
492
502
423
535
621
128
464
469
182
812
642
816
856
726
900
465
406
595
644
176
914
311
307
768
819
43
507
32
250
563
128
380
647
921
349
970
739
944
465
203
776
211
314
35
313
340
274
501
950
409
78
227
169
318
165
450
823
710
860
276
886
859
460
454
790
566
236
975
38
683
383
144
833
366
256
642
122
520
546
242
812
207
645
496
900
954
121
718
930
22
100
7
471
690
335
906
315
518
959
515
667
368
187
519
932
702
759
676
594
279
536
718
285
945
445
526
416
603
947
687
601
856
268
224
695
25
946
371
479
424
618
766
883
850
575
304
185
192
336
228
791
977
387
713
62
433
251
334
121
343
291
315
768
581
977
399
393
701
869
484
287
386
240
953
841
850
83
718
922
555
240
597
126
676
497
577
738
848
836
878
927
614
421
520
149
878
561
256
766
407
616
320
613
95
740
445
625
257
455
970
639
705
231
689
207
745
691
278
565
495
561
770
911
136
209
553
815
819
468
799
855
910
433
73
587
224
133
90
534
665
254
258
188
453
606
674
941
722
651
720
457
820
204
245
232
79
374
618
9
191
904
589
269
542
355
993
223
60
984
811
625
174
724
13
220
456
458
889
879
415
590
297
248
675
49
373
287
483
969
749
213
72
733
276
151
926
509
572
298
396
122
445
490
430
912
400
878
418
205
988
816
259
183
706
190
829
209
530
125
925
119
927
465
654
618
371
410
963
659
976
480
666
597
833
299
921
22
61
736
539
356
349
640
926
740
3
714
728
221
108
108
437
15
456
926
321
422
283
187
59
17
730
714
336
887
161
84
519
37
115
997
218
536
728
427
179
632
916
433
515
868
486
820
679
148
583
700
973
846
587
583
608
286
654
846
536
355
554
272
275
583
405
931
998
750
156
798
976
973
403
398
283
271
242
232
356
804
368
896
599
331
563
634
726
968
46
504
955
959
910
478
463
37
993
568
774
909
101
507
834
541
462
599
597
217
620
107
884
796
812
951
107
201
965
530
228
914
119
232
971
210
999
534
872
898
907
642
234
599
866
298
425
958
189
723
250
740
249
670
313
460
223
195
395
58
56
90
861
125
681
862
46
378
798
779
355
397
143
783
566
100
240
1000
442
117
91
160
278
962
102
508
494
890
842
667
678
428
882
490
788
801
76
154
359
953
84
594
617
363
904
958
407
657
409
876
699
855
642
256
226
167
719
743
499
430
712
185
62
656
805
231
316
651
361
666
695
350
273
191
263
340
105
163
40
4
103
222
493
885
94
817
653
140
669
434
289
410
805
662
372
55
274
365
879
436
748
890
581
869
514
642
89
944
115
371
848
128
2
214
203
969
538
866
904
748
264
241
632
139
387
673
224
296
861
969
269
775
283
632
679
901
29
174
629
484
755
714
11
297
387
11
154
347
210
646
114
772
530
339
275
141
645
274
350
56
536
868
118
198
784
638
416
389
700
699
947
823
547
937
461
323
47
98
719
412
54
876
476
994
420
574
361
648
561
68
179
916
193
608
631
442
23
475
879
534
914
602
682
495
209
82
75
88
429
889
677
637
531
257
754
523
278
880
96
335
26
522
652
501
433
683
563
11
164
665
948
753
655
778
339
64
403
432
131
313
43
573
820
752
677
225
41
385
558
933
673
311
221
536
309
881
588
3
454
970
442
60
685
887
838
916
837
745
732
708
8
577
114
215
806
174
412
956
779
352
789
70
436
361
233
258
603
215
4
622
110
2
105
474
973
661
908
37
301
263
987
505
132
591
489
101
270
677
105
620
12
26
790
444
301
430
930
156
484
642
564
711
333
707
591
561
401
387
674
279
107
970
642
988
179
712
784
341
178
324
375
891
908
173
134
437
425
366
84
329
219
434
470
780
905
156
969
949
403
929
406
936
174
207
607
835
527
722
793
714
434
643
159
694
518
305
870
323
126
909
737
79
469
385
270
152
815
689
618
616
649
907
170
739
508
921
218
427
953
842
139
770
737
52
16
217
786
512
482
177
50
928
833
728
615
461
138
689
748
972
167
522
676
152
423
397
999
529
489
292
583
5
176
174
684
538
687
161
816
548
108
36
589
914
79
682
330
694
399
762
806
293
674
486
781
422
851
379
462
27
605
795
97
377
146
311
133
580
908
248
383
160
6
312
555
715
77
753
409
325
309
479
500
120
67
320
158
351
462
953
933
364
675
85
171
125
579
128
804
333
467
974
694
676
270
452
92
529
689
723
840
203
87
153
973
896
821
206
282
666
926
473
209
47
721
283
186
442
947
237
135
44
514
615
404
831
793
848
852
140
663
163
132
430
185
31
489
98
900
327
552
637
167
911
648
9
934
927
173
811
569
262
394
740
119
480
876
858
487
1
408
410
503
500
887
255
825
265
157
530
935
747
174
789
199
648
207
724
163
661
13
534
762
439
31
147
86
420
697
817
746
929
926
16
592
334
628
220
772
134
918
885
664
539
303
861
223
505
741
572
668
183
891
492
246
461
283
871
8
577
434
175
162
829
84
441
566
7
876
556
364
523
772
537
614
168
426
11
967
34
544
449
114
433
990
177
796
582
37
820
577
395
655
646
492
991
239
213
930
416
468
829
789
641
266
601
35
119
6
276
270
52
141
636
817
35
450
953
148
961
929
887
148
870
186
267
873
956
850
394
937
88
141
834
617
997
218
228
86
776
361
279
932
425
338
910
246
993
558
582
148
264
705
872
544
57
626
738
289
926
141
318
707
488
350
741
573
625
702
161
269
554
809
188
800
109
510
911
765
630
206
992
160
510
827
662
115
825
108
996
283
429
24
582
598
595
347
491
571
555
281
537
112
278
55
923
108
432
150
752
633
782
589
299
714
171
328
654
53
863
316
59
930
228
269
284
831
713
506
443
987
538
485
934
108
812
824
617
71
631
657
889
248
240
154
76
416
521
918
435
947
930
741
98
44
482
919
514
357
544
897
264
191
19
544
678
894
940
753
316
723
640
386
230
648
443
800
875
95
233
343
708
592
368
199
780
652
157
962
92
987
499
112
83
324
362
371
393
690
496
528
949
9
124
937
504
257
420
330
996
209
229
990
467
51
848
592
843
704
690
248
557
756
271
341
879
325
323
791
803
980
743
270
524
127
766
703
870
879
981
150
509
500
778
742
428
967
382
920
933
41
894
660
406
551
650
693
129
214
771
24
781
452
3
173
596
116
803
661
786
948
161
220
524
895
846
88
699
114
573
545
688
612
127
531
585
977
589
777
706
613
667
414
654
174
539
395
967
700
812
419
121
27
913
254
712
659
693
476
715
217
123
703
66
937
694
314
228
488
526
524
20
530
282
415
756
38
680
190
649
376
748
504
519
548
48
167
73
800
721
921
406
4
588
265
934
826
519
501
642
749
944
263
417
388
676
818
225
437
206
302
72
757
226
914
14
817
430
782
958
722
576
861
631
518
378
755
897
343
45
791
553
265
196
45
824
298
416
236
57
204
977
598
537
160
61
906
894
257
416
774
344
128
492
265
852
677
18
605
384
20
404
511
592
251
568
220
643
590
555
830
411
796
808
956
932
452
53
42
816
904
550
874
346
171
895
987
59
85
652
675
977
328
823
282
32
753
597
260
897
595
851
298
156
727
607
406
681
134
22
482
169
159
505
315
993
862
246
372
951
87
793
12
998
387
287
940
780
23
641
838
627
667
244
102
673
252
747
515
961
689
95
531
688
778
275
537
249
720
143
118
357
84
333
861
339
936
449
704
618
137
691
147
536
464
579
947
911
305
700
24
152
165
243
428
321
125
618
135
280
677
670
374
919
88
795
933
548
547
794
597
687
870
444
483
884
479
577
518
685
681
919
740
550
23
65
395
341
668
747
58
977
229
994
105
14
536
842
912
160
91
46
112
231
817
617
63
637
815
63
459
230
471
962
666
325
225
826
926
708
723
276
63
727
842
214
692
933
343
24
222
278
454
832
132
585
767
515
104
856
213
435
604
999
746
876
399
726
573
744
336
690
454
408
408
432
604
461
790
308
220
791
38
412
503
592
101
411
321
849
149
349
333
393
457
720
493
826
758
539
301
522
551
720
119
378
812
778
128
243
438
786
228
744
546
555
302
741
438
193
767
805
639
565
280
905
928
694
800
976
677
801
919
139
154
515
568
148
648
759
705
49
411
959
587
141
463
523
577
80
212
973
203
357
741
736
384
440
309
348
286
615
341
749
298
882
678
438
989
349
393
447
711
192
828
541
740
649
791
530
431
456
58
338
907
838
420
276
227
435
511
36
792
541
577
37
17
636
150
112
904
470
333
10
254
914
8
790
658
355
835
30
312
674
344
663
958
755
769
425
921
18
540
94
312
691
484
186
947
417
885
288
419
304
511
983
83
728
579
192
403
13
466
792
230
657
593
602
113
861
580
146
639
989
232
136
177
17
329
297
100
159
533
953
720
640
924
793
739
20
832
380
934
557
631
237
218
861
151
820
923
465
171
268
390
34
234
610
491
619
682
9
711
752
365
701
819
203
979
522
957
898
326
317
173
848
116
23
51
930
107
989
108
6
461
885
50
207
234
600
817
124
799
704
586
325
827
340
550
848
189
935
321
291
748
719
305
687
561
871
212
612
458
24
182
867
293
997
638
647
444
875
106
317
268
967
690
785
327
765
820
3
125
743
169
294
18
734
346
61
720
657
107
919
533
573
319
443
15
410
847
557
329
192
889
17
889
293
986
600
279
63
104
360
613
132
741
772
644
868
948
657
977
737
531
536
659
757
478
458
299
880
818
423
593
849
707
214
817
48
529
839
402
884
190
818
190
525
590
203
331
161
463
610
103
536
383
487
80
159
777
536
218
505
173
494
406
486
795
441
948
673
805
456
261
54
179
676
799
609
227
782
836
614
245
509
277
376
635
38
128
61
113
12
574
376
293
496
888
135
20
408
554
144
323
824
57
435
731
75
743
603
30
766
73
867
217
657
340
563
542
868
640
936
33
3
470
470
841
615
838
524
63
884
176
678
454
526
678
46
562
689
881
777
395
73
472
124
677
569
313
719
115
473
626
187
859
728
135
794
546
716
718
629
854
822
758
697
525
388
990
421
192
669
83
225
142
132
587
331
359
730
161
363
829
828
191
136
57
68
3
784
230
816
885
472
256
741
34
28
154
764
378
227
941
836
925
886
163
983
945
603
740
603
799
747
597
301
702
261
861
393
33
947
86
812
67
179
2
357
169
366
849
75
544
128
174
121
645
809
332
619
162
899
604
877
361
936
978
814
207
688
146
619
288
760
203
449
103
276
878
462
643
981
842
594
551
898
804
258
339
682
652
594
291
951
846
977
710
143
651
251
104
931
546
535
760
810
350
546
916
243
155
52
394
675
181
482
113
785
32
730
410
596
662
864
435
439
537
819
203
312
121
120
62
877
832
364
442
196
2
474
751
318
280
711
199
992
75
75
143
127
351
956
274
67
92
890
600
418
229
810
699
950
696
466
185
30
527
582
656
172
616
870
650
543
802
238
316
673
479
417
544
216
787
736
305
308
761
985
801
997
520
109
826
212
691
32
438
997
785
988
630
40
162
621
193
72
565
526
371
367
941
50
255
409
400
945
38
750
734
911
422
262
856
129
492
230
905
668
307
229
509
15
318
299
901
80
467
720
137
696
495
589
686
48
545
497
29
471
616
808
724
731
817
454
598
291
649
700
328
994
728
10
724
307
479
39
414
543
308
763
498
471
713
923
963
306
556
316
290
411
494
906
748
907
171
400
327
30
303
714
113
311
248
694
199
526
1000
586
876
974
779
993
970
811
580
488
631
71
95
614
822
515
388
748
25
645
607
183
405
51
780
842
788
761
448
199
318
428
475
398
591
974
898
19
407
791
70
640
4
731
683
162
788
872
473
833
135
500
536
74
785
830
236
465
724
737
610
742
206
174
25
211
765
9
624
815
627
730
711
931
939
853
844
119
616
857
836
233
419
217
271
704
71
375
422
360
849
550
636
829
96
902
377
436
537
881
86
530
95
574
979
320
176
466
653
650
999
325
175
606
632
836
880
495
824
224
693
530
614
333
221
496
955
542
187
799
256
455
68
529
860
519
927
626
932
599
525
785
145
47
750
474
850
38
291
338
127
707
276
289
212
207
265
798
352
883
618
243
9
627
734
704
739
901
81
241
741
65
265
535
268
411
580
735
619
743
653
512
390
444
777
596
40
687
547
546
585
891
161
70
403
553
614
20
752
317
572
86
543
502
355
260
341
354
899
443
359
961
936
869
412
105
951
636
417
351
643
299
50
279
715
336
588
121
837
322
805
9
525
817
26
652
507
278
88
566
851
821
21
886
794
256
690
412
704
651
546
744
93
600
862
319
907
499
538
672
607
380
626
493
700
286
216
903
447
731
236
921
442
534
986
253
667
195
979
395
368
29
738
542
825
469
732
915
672
313
581
979
939
196
947
440
375
249
320
73
965
700
6
180
740
210
220
925
140
807
101
897
204
633
868
962
815
141
83
916
75
973
173
463
639
555
945
803
486
321
814
445
209
571
867
923
328
212
678
754
548
988
3
329
169
384
98
427
15
53
425
685
389
512
930
675
534
824
917
201
14
186
786
55
227
643
529
751
997
654
957
669
831
842
70
673
929
94
840
471
518
86
978
919
417
446
905
15
958
8
224
545
625
57
525
229
759
1
188
722
706
675
199
32
646
348
683
740
119
551
971
904
977
54
544
711
67
668
116
705
476
47
469
921
553
380
365
364
287
622
30
44
774
961
242
234
716
296
27
672
859
849
302
223
272
442
625
871
184
595
326
15
872
372
936
718
744
794
772
970
323
746
970
22
334
510
30
541
442
458
153
700
515
975
291
273
434
394
801
495
615
564
69
735
379
703
269
7
236
339
685
955
956
484
656
245
31
658
257
198
758
17
286
145
711
638
8
156
809
957
349
776
541
477
930
899
157
106
413
173
805
915
111
158
647
688
712
30
977
346
279
774
236
244
385
676
593
354
354
396
481
566
112
79
52
695
71
761
30
288
795
796
846
988
962
138
267
61
234
116
945
642
262
760
445
423
954
814
341
779
525
345
937
784
629
252
970
185
12
15
462
154
760
777
514
550
146
208
399
525
542
606
823
512
588
421
553
29
98
685
932
291
729
851
989
292
499
200
922
917
660
268
793
607
251
719
111
323
911
723
877
831
172
157
314
838
505
892
189
156
836
28
153
825
148
160
940
131
8
695
673
504
584
770
716
598
753
561
725
224
431
618
581
427
129
425
882
693
35
528
547
189
660
450
862
953
160
88
9
183
1000
448
692
107
545
381
12
433
467
450
113
67
651
187
480
570
375
755
961
857
124
499
741
739
343
925
504
221
799
422
990
921
998
426
984
568
274
796
531
317
752
881
846
521
375
128
928
691
586
128
395
589
47
646
412
810
1000
557
869
727
476
587
181
389
576
418
161
818
502
23
422
164
807
66
690
325
610
822
206
10
142
346
147
648
58
572
588
235
397
580
110
960
939
558
547
447
982
854
771
515
235
100
616
641
605
574
248
736
152
873
319
398
377
482
241
565
298
996
785
344
509
614
2
875
494
14
141
258
12
871
868
939
286
75
554
476
77
202
845
244
433
894
35
495
76
568
970
160
946
348
367
900
335
168
455
237
470
759
772
27
127
631
844
143
51
222
174
8
551
113
668
529
604
541
183
71
222
537
340
315
622
620
152
266
949
401
278
192
930
376
924
993
829
887
497
344
538
525
138
985
430
209
153
667
885
802
196
640
993
417
775
993
41
462
267
840
820
118
192
109
644
139
927
663
284
804
362
570
644
392
315
621
132
764
619
589
149
530
904
327
7
776
64
510
917
536
256
727
360
32
92
659
298
177
372
307
189
22
282
555
686
633
513
895
272
306
163
788
764
232
579
980
823
407
562
56
113
108
435
669
743
267
557
149
967
882
785
694
898
978
237
886
178
683
460
104
96
743
791
281
687
101
228
536
685
279
641
463
50
901
501
216
962
110
618
105
823
575
541
81
796
467
415
395
858
78
33
663
167
743
809
811
799
310
137
634
520
722
387
226
353
191
386
162
134
20
766
103
108
410
37
455
916
466
541
809
968
174
745
157
301
369
461
310
504
538
667
479
186
875
558
777
764
158
362
212
66
879
218
857
344
541
106
19
812
198
450
642
782
123
470
647
747
951
815
604
562
764
294
958
966
374
773
1000
284
484
404
915
62
503
428
545
802
530
693
932
686
450
914
345
384
98
431
215
627
224
901
372
184
300
909
1
321
298
972
6
585
201
788
840
980
387
850
400
219
10
768
302
754
140
714
694
697
765
425
770
615
701
100
356
371
78
353
200
880
360
112
153
661
788
954
999
546
721
950
535
760
595
496
419
871
134
969
442
760
5
309
100
877
308
779
814
508
184
222
668
692
347
117
313
729
525
609
530
910
637
471
32
236
41
659
250
403
316
707
213
257
893
729
171
252
260
183
234
200
646
899
159
721
816
77
396
385
84
83
616
459
717
941
273
571
658
321
173
351
902
697
646
297
915
104
682
688
195
569
287
366
472
860
425
593
36
703
119
6
385
941
670
873
746
443
522
515
971
750
971
716
10
514
792
437
445
855
863
924
548
594
38
579
933
207
839
596
177
22
28
403
690
830
756
437
720
621
759
611
630
585
70
130
474
875
758
969
472
886
531
430
188
955
403
659
97
471
250
921
756
331
767
726
953
595
267
599
99
945
763
414
574
256
25
723
917
206
605
440
566
318
389
587
291
276
858
509
624
649
106
165
328
393
599
616
418
630
853
781
311
224
445
951
436
653
264
244
62
472
490
436
107
469
577
122
477
242
395
209
792
501
811
77
429
893
175
608
471
484
597
438
508
370
431
440
214
44
73
438
304
250
65
604
759
87
477
795
183
992
731
359
789
96
345
552
766
132
558
787
733
720
443
367
571
408
894
257
171
244
840
665
526
55
120
939
189
827
763
330
297
754
768
664
249
603
124
880
663
981
490
686
412
23
868
268
366
741
640
150
4
36
539
769
164
915
481
306
46
987
701
604
37
733
296
779
34
333
116
244
752
82
915
445
902
549
816
551
245
659
436
703
253
837
473
206
529
195
152
218
181
489
704
77
79
249
957
401
275
39
206
464
912
295
748
211
631
542
869
398
805
108
598
59
961
619
262
415
371
676
713
869
123
109
131
481
942
123
449
604
655
454
808
1000
468
398
896
792
158
180
676
73
891
697
821
875
586
77
82
434
697
874
967
409
799
957
341
750
611
318
985
437
949
91
733
193
627
42
529
562
525
689
632
478
850
963
265
547
162
48
155
781
840
622
830
472
514
212
993
207
423
825
2
759
802
279
300
763
176
947
599
611
852
697
799
968
40
883
882
673
710
181
487
567
773
889
483
956
168
102
598
1
192
798
118
333
777
464
699
559
418
353
612
151
189
838
87
403
579
639
6
766
901
855
860
878
681
861
763
50
732
134
323
787
593
947
339
166
628
751
611
555
370
720
649
168
611
613
681
467
354
627
183
224
962
346
67
388
773
262
811
514
974
576
40
662
789
172
520
101
849
696
67
96
204
679
633
328
570
492
716
219
274
721
253
544
844
252
405
236
353
930
965
205
430
192
628
352
312
450
70
653
449
350
563
394
936
233
856
124
491
275
204
908
776
789
683
786
627
154
413
146
140
643
909
858
628
218
526
643
193
978
913
108
995
557
427
280
374
205
742
288
624
694
212
29
581
451
153
292
187
541
860
801
826
195
65
110
561
596
535
69
341
553
690
856
897
493
431
195
307
939
872
436
138
271
287
638
694
93
386
650
100
977
986
465
905
718
241
785
414
457
869
843
174
217
227
986
942
463
655
440
944
251
254
977
475
428
133
904
666
131
232
911
810
518
991
852
732
262
525
416
532
849
454
46
500
139
232
127
81
945
604
675
616
629
843
265
942
836
541
924
92
524
2
53
37
386
774
250
842
615
431
26
651
721
487
55
642
756
263
536
468
880
567
662
708
681
312
1
567
29
560
780
371
535
48
699
438
880
922
896
522
382
295
157
362
155
229
236
823
161
927
441
740
222
238
263
859
840
71
885
192
257
929
853
707
744
599
79
517
554
948
593
622
308
920
147
846
845
65
871
795
737
345
632
561
727
575
692
399
309
539
525
824
590
752
375
368
311
844
253
790
630
783
584
626
856
473
660
837
828
799
348
717
50
856
301
400
999
915
5
46
263
665
585
233
280
423
245
187
490
264
568
192
668
515
677
970
28
625
460
853
471
209
591
285
981
978
133
574
785
342
851
843
303
697
189
803
363
804
87
320
389
212
381
740
485
375
612
605
444
955
445
666
694
849
748
113
120
612
647
529
516
298
468
357
149
202
577
626
518
653
555
246
985
754
20
447
326
980
688
821
665
589
923
27
460
100
125
365
396
504
785
380
104
444
931
115
595
340
6
853
172
299
902
30
386
742
4
475
281
820
629
309
769
98
138
638
500
471
369
628
973
949
756
695
984
784
648
302
710
380
904
296
856
571
780
821
343
156
505
556
953
998
714
481
176
643
53
380
297
153
905
52
381
756
126
532
408
20
109
698
285
473
274
270
813
972
304
607
14
681
66
645
379
219
142
34
723
371
373
781
319
819
616
718
908
446
157
723
990
168
879
874
534
673
344
697
855
106
364
225
976
544
566
838
200
30
657
774
990
61
828
741
496
675
785
280
235
718
398
415
501
428
850
635
46
206
476
453
466
357
179
612
486
592
436
525
75
309
422
676
875
15
699
510
957
763
273
834
325
156
529
849
907
292
734
708
984
992
315
964
162
814
109
310
996
630
126
812
354
4
136
207
417
212
595
907
7
513
954
57
562
181
448
404
672
909
814
690
534
414
195
60
96
450
718
221
918
3
817
169
999
120
413
890
876
696
486
794
360
546
405
581
135
267
614
876
295
703
935
235
608
338
787
68
914
544
77
616
630
427
393
355
745
964
396
123
51
224
976
802
620
723
835
623
677
394
636
20
107
233
759
500
790
388
11
166
862
363
328
381
743
72
651
566
528
629
636
244
865
164
834
303
16
445
272
869
158
757
117
333
312
312
256
838
543
459
181
976
144
86
495
532
616
899
770
857
147
734
210
853
179
634
773
634
378
212
997
601
13
726
741
89
286
365
454
735
650
495
413
417
525
980
537
963
112
237
27
796
189
416
95
376
876
906
475
571
370
419
229
77
539
50
617
629
117
48
434
9
923
505
279
802
190
830
666
451
617
622
759
378
191
567
789
882
184
45
875
51
973
408
59
160
526
321
868
894
400
111
579
249
147
835
706
188
849
613
899
918
299
875
584
187
66
324
184
151
246
807
682
147
218
772
635
202
148
673
472
211
279
514
71
507
285
688
133
971
97
426
873
926
623
438
865
805
767
807
688
995
954
785
165
294
163
906
595
167
102
751
354
331
746
785
635
242
923
893
912
739
14
660
900
439
112
956
423
473
208
111
595
817
18
803
175
756
126
807
756
18
990
910
725
716
179
644
541
512
975
932
964
368
27
433
282
824
360
111
506
5
431
542
711
439
290
562
427
357
170
128
43
343
963
678
673
72
142
857
848
415
630
200
680
370
15
259
867
110
296
704
5
946
29
109
221
160
346
537
27
450
827
480
678
235
606
462
8
135
423
359
900
782
554
535
75
496
665
982
856
487
695
986
918
985
811
262
816
79
306
119
249
143
89
981
610
423
74
505
345
712
331
613
76
122
339
984
192
578
75
946
870
68
940
246
65
616
723
880
62
660
909
15
568
771
631
60
205
650
485
98
453
962
241
225
786
810
204
824
755
635
620
427
252
885
40
640
59
47
16
513
24
552
841
891
933
619
297
510
176
307
550
34
838
934
384
810
716
531
945
832
70
215
47
309
633
155
884
276
515
365
665
870
136
652
308
266
297
899
830
784
771
308
468
318
593
352
897
106
330
976
134
808
182
997
839
7
736
773
762
545
520
943
38
556
325
426
862
662
397
971
855
555
205
222
59
123
480
656
110
334
610
779
573
342
278
639
820
648
437
77
123
705
348
104
816
67
381
475
478
995
781
816
107
512
345
654
154
2
274
281
96
821
60
712
989
839
336
879
8
495
80
847
588
717
425
32
160
21
582
352
874
221
86
762
917
411
647
873
231
342
358
198
461
854
949
126
988
783
33
878
728
627
28
560
216
321
548
931
133
657
562
633
92
237
567
457
939
383
336
692
305
73
556
697
389
803
810
648
252
264
898
825
961
861
478
899
11
378
345
439
366
566
438
227
320
18
875
91
135
479
846
602
63
629
232
428
937
479
184
116
994
745
711
779
956
933
520
505
691
444
996
285
976
682
179
952
968
19
86
870
4
475
500
143
254
149
622
680
577
753
622
777
654
84
161
777
84
924
446
979
695
611
196
205
739
528
226
344
994
819
977
743
66
924
447
544
326
945
435
924
994
415
927
727
849
804
749
170
943
934
307
143
451
582
373
100
507
694
369
731
476
13
558
369
589
457
846
596
313
200
683
596
123
296
655
604
577
611
937
234
721
11
728
542
883
13
151
450
875
585
867
548
442
364
847
348
576
333
301
784
972
933
783
131
450
622
860
532
664
169
556
11
792
328
963
196
180
87
69
969
105
409
819
905
942
192
901
691
993
246
544
668
174
204
886
255
551
638
92
309
464
119
457
409
584
609
206
612
803
355
544
524
287
412
787
400
373
23
91
542
251
370
371
511
539
572
479
514
890
466
642
855
812
346
416
554
674
807
153
30
752
813
89
291
767
370
667
195
56
486
635
155
938
665
826
160
322
805
218
66
860
222
44
899
221
506
285
383
155
28
805
935
74
238
778
168
809
330
813
324
60
453
371
115
799
430
639
176
555
835
22
714
75
380
814
925
335
790
397
498
235
711
536
809
632
771
959
435
517
596
408
269
278
441
789
813
970
100
902
213
433
968
414
193
922
386
457
363
627
949
218
261
97
51
396
136
112
747
227
666
3
972
86
769
751
251
310
172
457
301
12
648
950
342
110
708
345
520
704
32
350
562
254
145
2
681
674
656
288
783
632
890
808
245
804
896
244
871
809
614
868
152
854
462
788
635
862
715
896
15
19
832
738
558
198
332
652
593
707
874
535
107
149
3
568
932
964
364
72
614
400
290
398
814
230
369
457
21
548
962
25
416
336
687
454
985
338
558
790
319
937
808
592
143
393
426
935
264
787
102
173
519
460
551
53
297
552
196
677
381
511
774
628
201
66
735
294
34
211
220
58
357
225
1000
573
343
585
21
744
426
932
71
435
993
909
672
138
504
769
513
21
759
154
589
837
637
335
775
131
303
503
715
106
845
408
768
231
270
767
248
435
48
368
328
271
710
737
825
986
540
556
512
802
72
775
741
64
899
487
953
124
324
202
45
946
490
107
713
471
933
270
577
718
944
501
347
444
751
784
304
941
261
748
138
205
65
665
503
298
437
831
711
159
332
6
664
560
747
791
469
111
366
426
152
496
99
541
584
141
6
768
996
585
75
23
470
685
521
442
366
647
582
634
974
556
281
973
576
753
241
82
714
896
465
539
697
30
910
124
295
300
816
561
110
225
993
839
348
595
718
645
580
132
419
370
598
15
121
423
685
265
446
317
422
762
69
94
683
363
677
188
606
185
867
721
144
621
935
614
255
79
139
576
936
732
896
221
55
819
314
95
390
122
613
357
366
344
294
231
733
983
337
92
826
210
341
268
112
970
277
167
444
207
429
388
807
677
190
817
383
281
606
547
439
248
945
649
877
745
115
452
288
745
459
990
15
14
305
712
19
133
656
398
324
365
602
428
430
989
321
239
372
450
49
811
25
314
24
529
846
544
198
596
517
42
481
450
807
788
360
334
583
121
18
223
83
893
498
827
445
284
15
262
12
53
268
296
132
854
488
790
980
61
986
47
477
220
197
329
469
850
536
709
205
826
924
760
571
968
495
340
678
807
820
855
181
703
985
943
138
612
959
485
306
868
31
203
524
248
500
895
225
469
439
492
201
1000
102
763
432
748
464
439
182
732
472
928
589
343
786
625
662
154
218
989
927
554
576
195
975
640
370
197
820
939
644
439
269
486
242
308
479
755
977
651
516
703
503
324
970
952
147
802
663
725
631
309
25
734
386
845
20
620
111
688
340
908
341
690
214
704
56
723
329
515
768
150
289
630
113
75
527
489
697
424
785
350
830
644
119
317
838
890
880
543
844
99
275
949
232
294
922
378
575
777
276
446
435
602
940
729
279
890
620
100
746
86
963
197
633
193
567
14
246
443
223
562
243
557
841
390
675
992
585
519
703
115
432
994
405
246
778
821
119
910
711
560
50
429
264
180
229
215
322
103
449
711
820
550
527
962
545
383
79
239
172
658
17
938
93
21
138
246
266
874
510
697
556
982
833
794
991
814
597
339
938
440
641
957
459
268
696
604
3
236
553
488
157
324
818
942
382
444
584
273
558
794
951
488
648
761
61
127
28
326
187
123
822
724
458
723
107
782
23
41
7
982
797
715
485
777
438
501
119
121
895
352
283
475
674
690
908
776
957
130
443
7
847
865
741
8
306
288
317
132
794
214
843
208
251
199
804
992
784
101
956
992
379
948
587
86
13
625
628
840
774
665
330
822
998
660
578
463
947
390
895
255
293
824
857
130
488
549
935
887
147
25
757
461
711
311
413
621
14
528
664
403
818
407
914
262
61
713
333
388
334
188
806
150
46
955
276
916
861
983
592
805
247
288
225
40
390
63
37
688
305
796
877
497
712
750
898
455
133
896
382
478
688
477
338
297
307
940
269
265
398
856
364
247
543
820
783
231
446
42
861
558
201
483
828
939
926
956
58
522
919
556
980
329
837
160
510
329
798
491
271
226
948
440
930
853
776
904
705
668
398
391
441
455
79
48
716
784
537
561
97
178
900
581
16
208
795
957
740
946
701
64
547
280
576
950
539
632
777
857
497
504
464
899
779
100
985
352
575
19
258
30
739
596
768
703
16
63
599
374
747
91
893
485
9
661
208
823
730
445
516
966
522
44
18
594
855
508
498
905
715
518
704
654
82
509
97
59
403
782
386
918
719
361
437
821
286
933
527
247
307
736
404
672
886
642
298
579
417
29
852
362
410
241
913
712
192
567
273
3
996
713
732
563
721
682
323
504
38
814
121
938
561
513
845
7
561
828
361
128
12
643
289
271
849
684
118
867
956
943
668
164
769
420
232
467
358
225
453
698
525
251
872
171
749
579
38
274
774
704
299
23
279
505
683
71
320
577
766
822
177
193
72
756
854
700
334
937
684
576
887
928
427
749
610
55
808
17
30
986
626
578
687
149
479
737
398
339
657
839
789
225
925
357
363
136
797
844
420
642
363
155
326
946
906
938
2
62
340
915
14
48
981
851
298
329
285
473
408
283
932
774
127
819
134
319
439
616
60
149
143
84
85
883
851
856
928
409
699
810
825
354
884
194
593
158
59
420
814
152
654
496
396
524
493
850
453
413
390
521
781
682
7
310
220
105
920
486
827
780
733
84
103
636
38
667
482
751
258
652
919
65
664
948
673
766
399
714
342
278
932
498
774
293
198
880
734
754
598
9
126
25
162
118
93
765
424
159
570
142
3
218
719
144
415
233
199
665
422
865
422
967
74
78
786
876
673
81
349
773
52
817
600
50
964
124
767
180
848
992
557
987
932
116
391
11
449
69
919
74
728
968
74
302
55
484
3
883
488
393
952
786
288
641
599
517
187
70
376
735
522
553
52
223
165
238
201
268
233
44
226
983
843
300
285
478
512
689
803
85
384
208
262
10
141
923
608
918
336
707
921
934
868
980
952
461
519
715
792
43
779
611
157
218
667
406
752
925
912
730
760
589
615
791
732
432
514
441
73
904
29
848
878
408
567
97
74
617
962
501
724
784
503
338
830
396
755
999
224
408
228
261
903
95
40
498
719
221
866
176
460
855
883
897
171
647
864
596
34
804
322
222
251
302
345
404
140
119
827
118
106
390
864
371
216
413
446
245
890
404
956
441
579
709
666
627
397
986
118
472
375
470
244
260
368
64
127
345
703
429
545
527
304
632
834
635
396
223
138
216
885
777
825
246
147
37
689
205
299
829
602
709
948
780
400
97
88
742
170
52
43
507
532
369
327
55
185
429
858
90
770
839
227
80
41
925
608
367
455
479
486
139
559
216
544
263
946
905
984
999
161
19
39
621
642
73
633
844
680
489
988
724
427
991
484
415
186
4
200
757
550
495
414
161
500
7
770
691
229
388
973
539
263
838
617
328
482
502
227
803
717
719
648
495
958
474
680
912
596
328
270
626
790
284
602
411
760
641
184
222
747
871
351
401
481
948
688
926
178
361
514
964
514
250
932
196
560
723
957
651
349
430
844
825
621
888
113
900
292
900
669
786
355
642
82
497
277
630
347
150
403
846
392
441
529
752
173
52
612
777
484
829
505
152
444
961
758
635
269
624
729
731
66
721
724
543
331
415
432
256
311
125
639
552
604
541
140
993
192
989
755
489
619
181
597
520
156
977
83
673
634
287
676
424
56
664
51
810
253
453
163
786
612
566
705
622
338
113
570
646
809
138
228
1
321
647
368
864
944
974
792
743
230
288
270
52
285
687
12
164
27
922
486
514
540
228
523
154
72
162
68
353
592
608
449
450
812
291
759
190
221
285
789
209
16
950
975
152
748
685
975
152
143
684
829
64
835
605
140
849
673
702
329
30
869
489
850
940
484
471
152
805
665
803
332
341
606
2
639
659
416
11
455
739
938
946
900
641
129
883
998
923
749
860
176
429
977
122
956
756
65
259
857
184
286
555
927
835
250
313
793
95
117
370
824
146
381
311
797
525
641
136
455
251
244
238
486
948
768
607
724
828
27
106
852
98
746
528
476
597
50
868
201
1000
669
949
267
942
114
61
373
817
115
781
557
776
290
515
365
690
366
568
121
451
248
765
771
980
922
741
673
771
440
4
668
615
253
813
991
388
730
709
854
440
16
274
54
161
302
306
575
771
171
166
958
248
925
459
145
552
726
576
644
14
905
888
84
822
50
533
684
24
316
793
698
383
971
63
674
691
329
265
213
882
112
360
976
385
730
297
890
695
172
346
849
29
957
254
733
323
115
84
221
508
237
913
713
198
461
786
645
430
652
447
635
97
154
420
176
40
228
948
47
570
695
129
224
339
359
378
838
79
511
974
625
715
170
34
421
749
765
725
461
619
633
909
634
933
53
691
401
114
532
554
770
993
714
833
579
318
596
312
369
992
688
637
270
68
393
21
669
209
149
500
905
334
813
569
867
661
361
606
173
203
219
906
567
54
456
529
238
469
602
368
89
839
111
68
344
135
321
440
498
303
313
25
322
385
261
315
531
862
676
944
774
808
487
857
789
990
15
25
943
949
731
846
861
460
143
713
555
470
290
601
253
812
81
707
134
475
173
354
292
240
155
352
576
805
569
992
369
309
678
686
992
355
981
15
196
187
170
606
88
700
594
845
950
313
340
891
614
597
718
827
457
681
264
96
630
159
394
549
808
161
486
517
638
743
472
349
57
536
988
753
817
867
773
99
890
183
240
569
906
692
143
659
406
561
782
84
494
889
495
589
420
957
55
482
734
913
160
3
909
135
427
775
755
21
146
661
520
838
630
324
297
552
114
669
267
306
59
122
319
285
174
409
818
246
640
81
628
935
822
549
22
910
231
794
773
61
601
246
553
237
753
529
733
968
319
925
839
204
520
431
180
375
913
219
654
834
458
177
311
926
271
953
22
524
192
570
547
822
626
285
327
628
188
804
596
141
317
353
775
460
417
406
659
639
30
52
607
156
248
70
807
82
834
811
694
54
527
887
775
419
601
462
422
540
41
711
717
331
633
588
5
511
838
632
682
974
597
943
624
901
95
819
825
952
74
828
33
934
508
195
627
836
328
512
525
37
392
703
653
759
111
85
413
580
960
144
596
912
597
338
409
880
494
824
649
970
764
547
543
132
343
493
462
770
823
262
541
210
979
328
205
765
510
474
765
491
554
942
505
85
336
771
159
150
667
646
288
231
111
338
795
589
305
471
778
717
348
930
959
925
152
680
187
206
354
169
885
723
740
751
854
941
103
777
560
389
133
82
868
518
229
620
224
904
110
895
424
317
699
664
468
824
52
94
449
114
27
219
80
726
990
37
262
709
86
66
20
512
522
493
280
587
863
349
180
263
552
246
56
943
742
338
819
566
65
100
146
597
129
418
821
474
387
267
600
615
525
937
161
546
645
379
74
686
364
748
233
633
379
605
848
542
198
595
940
329
508
622
260
990
66
663
667
279
126
423
332
351
131
951
557
756
812
202
605
341
910
288
726
186
422
794
447
725
681
142
300
553
573
428
368
265
906
556
439
849
272
765
92
784
742
848
726
10
395
463
428
380
979
918
569
993
978
764
183
110
981
295
523
941
519
833
664
678
472
265
655
599
761
840
519
928
237
716
365
406
651
24
945
212
78
549
300
951
439
229
525
912
606
769
253
704
115
645
231
673
695
625
196
206
658
752
341
157
695
411
844
141
785
690
298
358
711
784
382
973
170
556
791
781
560
727
269
58
333
368
560
40
210
502
244
425
663
669
705
674
808
223
941
637
270
26
518
226
606
899
754
419
641
904
106
897
387
69
847
971
289
649
318
313
205
393
448
145
860
585
763
220
541
801
833
909
412
439
918
140
186
76
636
784
806
609
607
308
451
980
375
162
435
984
374
427
519
284
358
698
731
337
505
47
43
314
337
189
172
499
737
619
296
884
577
628
734
823
906
522
477
722
220
344
3
662
65
618
995
758
102
420
400
865
840
131
809
876
397
798
226
516
41
908
171
8
761
764
485
402
792
350
333
678
838
726
698
969
717
580
71
351
305
460
149
727
929
637
92
213
823
268
290
363
861
749
668
236
554
694
246
44
195
989
70
646
141
756
636
636
420
865
635
158
276
842
163
855
771
635
559
582
281
714
682
556
596
417
731
684
311
289
706
675
391
375
203
383
109
122
542
543
41
538
122
687
428
769
541
579
32
68
211
940
534
456
144
574
654
995
122
281
423
725
687
87
458
761
254
400
659
993
189
664
501
82
862
970
956
187
551
877
132
964
535
360
928
890
903
436
347
902
388
500
622
671
26
829
988
568
533
4
753
524
91
269
293
547
678
918
765
595
131
900
574
907
922
707
134
613
994
527
40
670
89
341
530
719
703
339
44
469
173
594
766
597
446
376
252
956
734
926
647
101
646
724
530
748
323
551
135
793
827
675
544
978
272
557
464
72
220
338
365
736
424
202
101
820
327
452
576
959
639
729
706
735
893
371
674
572
165
336
469
790
1000
469
763
922
191
143
484
477
233
461
828
823
178
291
50
774
127
358
97
736
788
511
35
6
357
64
263
916
507
802
712
30
372
844
586
552
284
62
700
408
431
152
155
214
765
796
911
510
249
554
801
147
965
260
645
714
714
748
470
233
456
653
223
127
376
899
38
644
394
227
817
504
665
794
867
510
983
419
352
298
48
547
598
142
193
374
639
8
586
846
970
609
825
475
132
254
589
974
671
730
246
735
943
251
329
104
499
772
389
171
22
620
25
593
343
406
829
518
641
695
546
274
769
725
44
905
577
765
546
976
211
378
167
347
637
918
991
764
52
110
828
170
421
421
271
645
109
270
913
731
471
802
375
706
293
79
324
51
195
70
814
955
455
718
61
219
211
742
270
316
704
523
226
682
8
604
155
554
702
859
771
781
72
382
563
83
711
448
66
159
861
752
302
926
413
222
635
883
284
359
967
292
768
994
625
414
571
776
268
520
437
499
857
774
688
577
69
377
530
603
521
536
677
942
833
949
708
731
868
481
581
493
446
607
898
825
465
61
838
250
619
791
154
367
857
7
290
926
320
605
419
277
703
712
213
944
959
450
218
735
739
243
989
887
264
195
550
234
125
98
340
286
71
615
493
397
36
77
252
925
469
89
294
380
552
868
992
100
29
796
972
901
198
221
851
493
49
897
687
191
705
825
529
590
39
439
410
431
835
237
280
836
903
973
656
467
340
496
234
919
510
125
298
848
390
271
528
898
630
597
739
510
65
658
140
65
431
357
952
626
723
1000
585
746
991
981
166
447
335
324
844
445
547
416
214
181
131
280
191
17
420
614
809
192
112
679
806
803
836
814
272
101
290
1
314
880
93
433
485
559
714
483
647
878
786
816
80
764
626
653
879
23
41
333
134
14
332
422
921
333
973
555
906
849
604
97
224
155
816
504
353
578
722
925
885
452
441
217
485
251
451
41
800
531
209
100
792
368
579
925
755
120
380
823
288
882
802
728
609
994
517
742
922
288
81
93
950
552
609
79
401
866
769
324
880
36
861
354
657
357
111
17
820
312
356
814
523
638
941
522
479
384
56
827
343
193
656
842
374
86
839
504
573
427
806
842
566
596
533
19
612
130
878
868
481
734
153
371
409
637
99
150
982
187
805
584
594
486
363
603
72
109
949
566
166
627
578
875
880
765
995
137
2
476
51
776
822
140
422
939
703
378
721
435
87
696
901
246
566
264
330
805
827
695
94
882
663
563
859
376
717
779
126
760
345
666
818
219
762
705
902
763
647
499
219
707
506
448
749
967
393
993
310
545
33
60
82
437
5
511
409
954
401
990
48
86
291
540
412
142
415
776
361
339
733
175
818
410
873
283
780
586
41
223
340
504
680
929
942
663
992
960
445
101
482
553
503
846
827
851
402
506
709
865
794
115
729
773
658
956
169
653
454
638
135
557
653
120
597
166
742
759
925
885
369
679
792
357
482
944
737
856
226
79
245
901
859
437
944
759
143
836
400
180
517
614
43
864
841
2
939
638
657
272
503
275
733
646
744
210
109
341
309
152
982
478
418
724
576
756
753
844
536
974
525
468
502
481
213
746
262
602
929
343
283
918
969
917
474
41
885
278
767
196
294
773
455
471
774
833
261
73
365
394
809
331
630
164
486
437
752
253
706
135
842
780
208
657
505
420
376
214
697
763
481
252
113
530
415
510
630
380
728
640
845
81
744
767
356
261
99
930
258
851
302
744
251
569
829
21
875
492
803
310
650
842
545
475
315
595
142
536
935
423
723
911
383
784
279
142
577
665
769
915
909
635
681
922
511
328
417
688
326
474
668
994
503
852
402
939
286
352
221
12
385
420
621
744
817
746
107
676
324
1
238
371
790
795
388
181
501
791
437
307
727
112
658
442
855
720
777
969
208
479
572
226
789
972
368
848
399
975
526
554
966
673
310
62
479
334
542
970
611
179
113
571
971
588
705
562
949
653
55
521
263
295
739
831
680
829
672
483
821
899
537
782
631
171
855
550
878
34
744
843
983
828
248
547
615
801
714
485
719
68
910
827
95
346
424
639
181
128
447
415
480
268
191
295
888
638
71
458
299
668
247
881
2
54
288
247
778
890
534
289
100
781
184
279
515
250
279
663
122
897
503
110
4
306
190
312
671
670
981
980
794
470
356
357
31
282
644
456
288
18
182
986
569
438
22
567
463
786
933
418
397
798
490
188
19
118
734
943
456
384
193
649
740
848
99
657
403
410
255
804
75
394
317
749
958
201
246
67
211
234
285
456
587
125
92
124
170
340
621
46
688
721
901
344
671
352
131
451
660
440
407
96
815
557
962
396
496
681
988
478
826
967
38
165
818
52
466
194
391
45
596
333
461
10
145
558
361
888
898
107
40
342
802
882
832
901
480
122
119
128
569
714
873
290
487
814
877
128
935
678
428
895
945
726
436
775
311
905
158
184
49
365
222
183
873
285
236
455
797
478
13
856
630
33
376
534
549
843
578
28
934
312
607
541
350
963
29
798
889
889
566
510
97
253
308
493
353
76
324
911
875
603
426
938
509
434
28
395
57
408
374
546
198
984
856
284
985
456
829
423
473
911
77
634
326
257
67
892
89
999
222
901
435
709
709
132
875
288
644
524
292
180
221
843
207
687
974
972
862
396
279
120
25
535
257
50
960
738
422
958
116
346
783
527
933
807
628
72
605
229
873
370
768
380
696
947
877
718
152
154
435
113
601
293
371
999
78
435
565
605
193
352
968
782
730
138
781
693
907
699
914
292
153
267
273
82
356
494
502
129
746
487
445
675
974
342
960
980
498
368
718
229
80
189
248
421
55
360
822
176
35
945
735
298
922
781
148
749
357
734
949
428
294
384
17
753
960
967
868
605
297
295
914
617
909
661
447
151
659
372
53
562
318
671
352
493
74
294
832
33
313
768
99
525
787
924
13
721
182
733
53
713
161
747
726
825
114
906
6
207
254
436
600
384
176
849
274
439
668
849
638
815
418
52
535
939
192
997
629
16
249
877
861
368
12
802
220
635
484
135
642
1
505
676
941
383
700
995
371
146
885
240
798
504
800
144
495
242
220
715
243
743
932
369
779
625
592
804
614
464
147
999
905
192
425
105
377
743
451
858
248
462
238
354
744
572
147
695
51
761
347
62
512
532
595
220
440
537
297
330
190
543
810
213
5
15
22
901
760
568
513
352
882
713
27
758
647
359
559
703
563
532
88
796
724
643
868
42
881
422
259
399
452
329
250
433
873
853
193
942
465
613
792
741
493
588
48
543
200
108
674
8
365
494
510
605
397
327
573
858
42
375
681
946
543
174
53
367
481
65
871
576
611
273
574
72
683
277
555
415
658
262
22
36
708
944
10
508
122
425
905
162
527
29
416
533
899
251
601
160
409
60
421
657
539
804
318
861
809
860
461
35
120
12
648
800
956
234
331
511
667
232
855
227
606
570
803
317
168
713
313
4
662
622
283
818
531
812
716
30
615
944
801
607
67
82
968
144
22
724
835
507
325
598
888
666
470
997
751
263
363
121
135
20
739
486
871
2
790
982
990
86
115
549
441
726
152
783
891
242
67
979
22
432
512
286
871
243
734
636
69
614
281
105
277
374
946
162
712
238
655
59
443
561
718
249
29
461
228
298
178
347
438
223
301
668
612
581
247
926
196
906
50
603
156
291
206
651
969
11
852
673
83
79
265
692
610
557
211
701
641
234
59
783
863
37
10
694
83
144
464
207
841
324
306
420
578
463
879
477
688
570
491
846
368
854
583
361
386
565
86
742
763
410
93
195
892
308
688
993
798
116
652
652
91
776
849
429
649
984
240
391
246
128
885
220
115
698
760
272
925
827
911
131
779
901
290
46
589
430
593
202
651
482
548
715
316
24
423
634
396
470
953
968
365
550
490
959
465
413
950
395
526
505
63
757
723
338
469
366
475
759
477
516
398
668
672
797
587
471
89
392
431
699
394
190
913
351
354
953
566
517
900
641
281
747
248
189
765
445
871
744
720
304
599
345
763
405
758
558
678
174
60
382
864
790
890
66
724
25
768
104
302
729
998
803
712
333
954
268
744
837
32
579
589
684
4
212
780
831
427
470
325
104
777
818
463
615
208
509
663
618
160
847
261
696
578
740
645
556
161
948
959
61
885
577
126
328
38
908
396
852
115
635
728
664
251
918
65
471
295
455
943
552
238
930
960
981
473
807
343
366
302
389
201
895
137
496
106
922
120
897
318
741
248
836
309
446
638
616
237
1000
266
233
695
702
386
446
321
286
813
547
885
753
469
293
40
885
873
145
221
110
763
969
115
2
675
853
711
247
78
533
188
354
644
194
784
720
312
108
392
942
77
617
797
385
868
500
364
144
424
631
524
447
843
142
558
473
334
22
62
330
773
186
929
617
850
575
875
612
943
776
324
632
400
980
929
499
532
825
161
396
485
854
122
595
122
815
229
682
189
40
469
939
325
460
684
474
938
625
753
561
567
240
588
381
119
335
589
36
277
150
558
267
472
255
119
777
16
174
363
455
402
29
782
59
316
321
555
129
593
978
888
4
234
244
458
781
575
803
919
29
907
766
105
829
142
816
806
475
617
841
948
771
760
844
596
429
139
782
426
474
361
273
253
955
396
767
726
474
170
864
528
240
679
962
315
399
456
302
106
381
963
783
76
870
352
633
502
808
87
119
131
508
144
28
394
583
807
549
680
886
664
536
368
50
3
867
444
575
690
762
265
595
560
460
538
608
496
645
597
485
681
337
861
5
935
760
743
36
665
872
327
206
726
815
870
597
405
542
532
539
805
275
794
81
148
231
676
64
915
293
238
39
254
886
827
435
813
358
188
514
10
586
868
617
741
355
317
158
736
317
690
591
55
946
663
359
727
7
477
397
167
458
44
358
785
625
170
133
178
705
890
598
369
388
418
780
856
408
478
794
624
384
630
953
856
154
741
463
825
154
930
951
316
56
154
897
983
40
123
715
239
551
352
822
650
352
983
563
287
4
487
233
188
641
457
805
898
50
492
136
18
647
614
613
864
841
730
192
615
711
422
749
758
633
732
502
290
704
681
22
865
387
974
10
995
776
703
582
512
302
912
281
700
472
554
419
926
467
713
624
97
23
965
675
35
49
414
806
648
854
220
637
843
698
443
854
264
614
614
520
278
92
727
665
108
281
320
411
654
799
828
428
319
137
729
972
151
880
825
83
653
672
614
788
946
915
902
324
329
706
683
447
897
368
833
864
587
294
368
740
918
471
837
960
734
202
924
577
453
61
503
437
696
15
166
488
670
31
744
701
343
166
441
826
299
332
986
466
111
452
649
28
232
694
45
208
687
824
407
556
297
502
410
554
780
511
684
368
838
492
877
119
240
769
490
54
12
197
749
521
58
823
450
971
928
320
58
554
1
779
346
19
35
465
506
772
911
579
959
904
399
881
101
960
940
285
789
1
774
176
681
240
227
251
495
195
586
148
781
787
807
980
127
295
255
179
560
413
748
715
486
898
482
852
744
488
806
74
190
805
395
734
781
947
109
264
294
364
706
483
679
366
630
693
517
345
272
717
223
354
494
17
439
215
695
316
534
736
358
925
229
918
877
85
179
278
406
223
742
535
643
950
281
933
720
4
75
434
862
119
341
852
45
961
897
759
678
874
736
645
223
147
154
398
771
934
80
632
806
729
967
769
775
548
930
76
636
531
812
48
258
758
525
622
385
434
310
706
906
502
526
450
348
913
216
454
799
480
954
870
1000
274
427
979
935
963
794
339
78
396
104
67
386
969
968
158
228
11
234
987
739
487
628
323
458
843
208
239
712
661
983
265
951
145
263
44
85
127
119
488
972
432
854
180
351
917
511
315
918
478
292
17
725
609
184
253
762
854
242
894
409
650
748
706
419
577
893
163
246
29
732
24
799
659
897
553
183
720
960
125
573
620
409
680
150
577
894
189
912
245
795
843
295
603
173
142
729
157
862
460
673
770
797
940
185
992
670
754
821
821
658
881
480
241
278
555
843
714
389
427
212
40
990
337
903
655
722
286
792
477
943
842
278
878
820
742
724
211
116
914
355
611
297
456
741
446
87
402
223
891
865
245
72
577
131
246
753
169
833
567
373
38
484
105
315
863
905
706
73
173
849
154
514
298
987
881
167
169
492
894
605
712
958
794
722
351
494
104
467
234
617
326
616
401
4
290
299
30
256
390
273
283
563
246
406
35
575
170
425
950
839
592
751
948
880
234
167
105
358
405
136
406
799
268
813
593
46
291
186
537
937
403
341
206
695
538
506
286
210
395
435
965
643
186
669
220
795
122
392
167
293
143
930
712
908
162
420
758
274
711
802
704
869
410
100
834
334
122
896
451
164
10
12
305
303
967
669
937
449
50
825
46
699
610
965
895
721
792
335
65
820
965
514
576
92
401
259
501
385
250
756
737
893
429
765
501
83
566
660
481
52
532
43
270
589
436
419
907
959
157
414
853
884
642
163
726
269
199
751
451
977
4
99
281
363
849
238
305
334
931
707
634
406
142
731
475
623
885
890
662
220
921
241
44
584
107
236
322
436
225
314
550
126
217
766
523
610
324
311
718
965
558
827
274
283
901
886
752
400
402
17
31
182
111
151
787
53
362
296
431
11
511
321
258
646
640
660
826
559
93
841
266
167
978
46
299
62
917
280
230
990
401
342
86
38
71
499
369
786
145
656
581
49
962
869
836
309
363
237
348
95
155
562
534
392
481
698
819
600
270
167
922
721
311
422
603
192
661
180
364
243
295
308
570
746
869
108
821
259
481
248
165
378
93
223
938
568
102
977
587
368
153
237
815
216
872
196
802
200
704
401
37
693
352
99
528
191
671
822
736
669
13
723
644
408
147
994
755
582
854
740
683
829
254
830
211
677
680
597
351
963
692
702
1
316
419
158
221
377
967
269
57
654
77
216
63
846
544
102
404
994
203
555
453
66
400
390
315
423
974
420
608
168
730
224
112
552
262
570
617
452
783
256
430
435
299
289
486
80
71
732
973
19
806
9
686
667
441
173
78
677
688
432
121
983
741
230
631
693
672
309
690
221
78
479
136
746
491
256
881
542
899
169
995
745
489
254
58
848
389
207
291
600
740
738
372
997
914
878
622
743
68
409
483
909
512
100
806
495
565
168
496
277
660
198
480
611
480
812
807
839
805
499
919
578
578
395
779
414
404
240
610
506
356
391
418
157
458
585
390
679
703
54
477
758
770
746
189
125
887
626
676
511
437
493
696
758
972
279
939
493
284
571
478
939
33
945
852
285
260
783
367
542
775
413
746
955
7
776
168
845
436
361
91
255
107
778
967
833
63
195
124
244
743
832
624
754
546
850
890
790
755
263
219
989
12
948
116
651
335
438
520
596
446
957
600
113
852
47
776
83
648
243
33
368
537
458
367
259
895
155
443
104
24
893
137
241
919
559
669
12
977
460
440
946
65
430
555
160
306
303
207
652
734
431
786
447
690
382
595
464
494
607
539
600
414
675
997
754
449
582
373
402
745
796
486
932
746
922
47
130
343
317
977
96
324
545
170
394
444
301
670
424
273
322
879
845
798
828
567
376
419
276
961
451
610
519
113
30
987
8
94
299
961
340
275
157
465
254
139
136
456
202
585
843
38
717
652
106
85
122
978
756
180
565
44
372
531
967
451
380
302
242
68
612
422
55
852
808
543
482
559
565
255
127
361
918
74
685
590
102
986
459
440
11
534
26
490
530
529
143
328
261
462
961
388
67
640
791
367
537
822
19
205
722
935
195
706
438
4
22
279
15
25
706
203
631
909
126
45
257
10
354
556
813
971
338
449
340
815
977
968
878
242
384
10
247
109
877
914
136
896
102
719
738
803
780
780
646
770
717
203
922
345
110
451
10
798
682
809
669
325
849
145
206
463
944
559
67
110
509
23
286
617
807
135
383
509
980
405
31
292
770
328
246
689
270
621
886
359
991
621
981
861
414
811
765
157
272
839
339
439
71
213
550
441
701
32
39
683
570
756
372
280
365
28
870
63
434
984
7
750
753
322
274
818
651
646
960
552
765
235
643
464
198
464
78
905
459
510
770
232
609
915
776
336
933
777
174
675
595
55
195
227
998
564
245
928
974
690
888
228
511
778
425
375
458
454
857
915
540
819
876
688
42
589
30
278
743
784
343
493
26
468
502
934
598
400
171
150
937
181
130
160
394
638
689
380
871
720
309
104
120
173
395
721
24
572
13
809
642
121
683
76
434
759
431
894
823
716
40
810
194
648
781
9
471
876
936
155
677
54
140
436
262
805
857
907
509
461
361
438
44
88
192
647
348
392
414
229
139
922
928
984
706
250
741
671
573
440
364
549
357
160
438
65
347
280
293
734
78
623
372
645
168
839
375
415
770
35
535
650
260
877
631
139
199
367
249
69
180
410
301
528
907
556
23
440
750
53
485
870
29
413
170
304
530
256
310
154
68
96
498
183
453
84
545
21
872
442
668
194
529
496
905
379
355
729
43
663
765
279
474
672
704
636
118
351
682
65
968
27
122
491
858
156
85
115
793
789
356
72
524
403
982
787
103
161
531
535
825
91
785
872
312
950
72
263
477
699
197
215
780
662
721
681
490
423
429
304
611
408
920
345
791
962
636
746
784
400
92
858
975
200
724
816
73
982
568
400
315
412
913
495
455
474
204
945
315
852
713
674
970
283
931
437
424
837
192
455
240
45
786
506
722
682
700
723
99
772
169
502
675
122
422
408
42
245
360
912
272
56
423
128
463
147
561
448
151
742
65
119
863
667
979
370
520
811
956
642
512
566
731
837
976
699
806
293
256
945
574
336
542
367
855
879
429
199
745
495
505
431
753
805
79
905
421
827
896
43
40
122
967
614
570
205
686
166
628
696
40
809
217
127
22
79
916
138
338
494
391
52
110
242
445
444
550
171
269
388
549
874
231
519
655
184
298
903
222
874
173
996
381
664
298
626
49
920
175
44
418
576
834
541
219
890
891
78
610
599
356
609
698
948
215
554
560
821
902
938
118
915
933
270
382
500
355
140
374
786
168
854
534
371
546
174
501
514
515
354
958
244
712
238
679
412
13
126
962
863
81
498
435
796
353
423
576
298
603
710
383
727
945
373
321
321
97
40
73
968
775
274
604
531
334
621
797
523
158
371
195
203
824
661
421
355
811
554
497
106
326
150
573
170
876
644
562
772
358
452
790
366
783
191
57
960
209
355
424
502
118
967
647
302
249
370
420
929
868
581
491
362
530
318
277
410
700
876
816
614
961
531
780
874
166
56
771
53
580
193
345
647
978
702
21
449
682
638
40
777
746
112
791
470
829
648
632
334
828
631
303
166
10
54
229
760
182
914
834
552
472
195
358
680
365
275
835
277
991
23
557
746
78
567
828
625
597
925
811
404
896
263
28
315
32
537
420
679
82
655
913
873
457
129
125
362
622
360
178
526
168
339
579
189
889
553
802
888
362
318
488
891
564
596
166
905
195
582
14
225
727
6
446
806
679
132
266
346
239
917
716
52
166
623
957
137
839
480
498
515
450
654
567
357
569
862
689
371
754
467
593
721
448
781
82
462
121
606
713
282
527
748
946
92
975
351
947
716
712
440
356
524
882
950
155
380
26
885
245
631
770
981
440
262
167
377
379
476
128
375
303
175
544
306
702
779
962
903
621
814
157
324
783
529
521
187
784
542
983
516
292
221
62
524
578
12
755
523
738
458
177
85
631
992
275
761
909
898
451
280
524
7
671
195
725
808
462
341
887
661
219
317
472
683
415
441
56
747
648
274
604
688
898
864
146
517
57
301
586
907
554
69
593
719
846
913
484
635
685
664
517
264
296
496
247
204
41
614
486
646
714
260
901
74
340
216
504
459
255
699
106
194
258
659
310
646
852
3
783
849
943
206
327
330
864
90
775
500
285
306
826
341
363
184
730
345
499
183
159
808
190
117
694
591
757
708
120
426
183
781
85
683
914
598
789
261
210
402
40
961
583
247
420
203
915
565
310
505
83
742
218
439
315
168
189
138
31
856
86
555
638
722
161
836
592
78
670
121
59
684
234
29
670
980
280
894
212
742
167
532
535
464
538
974
641
228
44
94
684
694
805
555
567
86
905
804
936
773
752
114
628
73
385
846
39
448
627
154
482
114
580
330
301
410
73
881
416
990
582
200
25
977
567
398
356
787
403
448
762
221
812
314
928
773
238
133
649
836
673
852
457
639
272
927
354
293
476
837
51
278
501
194
401
93
766
170
170
517
252
825
890
156
840
651
313
491
384
332
880
661
659
273
730
586
355
926
962
873
944
332
295
106
631
570
781
775
560
992
939
116
124
259
542
531
515
139
284
125
640
994
747
114
141
665
378
525
517
203
709
618
317
525
664
984
934
593
587
70
787
189
599
198
586
669
982
801
927
358
541
690
681
414
351
653
525
35
818
577
469
864
766
599
430
349
116
483
766
562
778
554
121
710
581
18
166
143
417
446
553
185
283
512
915
522
593
838
856
189
929
914
635
436
412
651
709
871
979
40
373
321
184
796
483
793
549
598
671
763
140
754
481
778
761
658
620
17
127
426
851
29
411
502
97
325
802
773
19
897
127
22
654
23
88
76
708
888
392
97
753
682
925
849
878
804
78
618
315
759
573
713
185
96
398
98
784
510
990
781
765
827
408
31
162
142
58
351
448
826
460
435
729
445
673
964
723
923
245
246
399
402
970
119
31
363
329
500
916
500
200
211
237
763
319
465
358
736
34
470
341
233
56
161
647
571
310
977
770
519
478
939
24
287
488
37
842
279
56
43
697
526
343
473
214
865
934
329
119
961
655
637
415
205
172
581
602
370
927
182
781
679
752
75
229
574
384
915
390
66
212
344
257
998
791
257
808
957
79
295
490
831
848
133
756
225
484
125
307
26
182
325
995
429
603
696
317
635
211
604
49
259
821
303
844
204
397
180
564
385
762
9
690
232
655
275
412
329
584
972
904
916
939
874
850
211
179
441
488
686
274
946
334
501
167
345
265
256
764
696
810
122
846
651
369
185
323
640
562
528
475
920
41
188
169
555
962
616
541
736
714
681
341
614
688
588
906
923
583
294
766
246
252
123
981
747
108
359
630
521
918
477
308
511
179
588
93
123
342
368
218
221
877
444
599
204
512
764
432
258
53
936
319
659
828
936
773
227
178
833
473
650
397
394
370
399
167
532
577
399
878
551
4
441
139
62
862
575
460
260
486
345
320
977
401
812
802
554
218
733
544
109
699
162
20
225
326
975
55
431
780
538
48
94
14
778
579
519
31
441
967
96
27
191
859
341
324
526
116
524
374
183
119
373
187
811
84
68
706
240
165
269
45
567
905
501
984
635
71
582
798
211
41
115
343
317
665
279
252
725
985
300
293
574
269
13
184
433
567
841
646
923
405
426
51
158
291
830
820
872
413
946
608
80
295
287
414
505
200
818
973
836
749
856
190
48
569
373
886
666
789
198
876
857
837
756
202
655
318
932
408
489
708
613
867
369
237
245
529
794
584
466
921
443
969
536
877
198
806
774
271
915
328
701
959
599
498
907
275
359
84
922
654
561
991
536
395
118
802
83
149
728
34
160
442
191
779
164
437
629
237
773
181
563
175
237
782
303
460
902
318
47
656
920
797
425
114
504
141
925
141
399
22
852
562
463
320
939
481
397
149
766
90
676
658
444
149
689
294
841
157
960
793
761
285
26
953
110
873
279
135
36
657
589
544
458
911
18
543
164
395
337
667
915
321
299
524
554
558
853
494
176
944
573
971
825
884
554
921
26
386
987
701
689
289
392
379
585
753
249
327
611
958
383
447
572
619
984
217
19
108
607
675
986
919
831
577
134
753
515
233
895
725
752
910
702
52
681
317
265
128
306
383
203
74
337
423
984
662
860
872
310
66
331
906
530
988
997
691
673
548
345
455
940
798
586
291
313
817
510
395
19
140
271
441
186
709
765
933
956
618
357
652
707
671
576
777
777
184
333
885
303
507
887
742
315
475
524
792
276
355
407
253
605
893
603
18
539
743
599
897
911
903
964
335
18
794
983
388
775
235
174
625
784
926
627
635
790
969
16
979
196
617
917
758
15
691
845
439
625
66
994
241
203
186
249
147
545
849
451
585
270
379
253
915
57
879
169
117
689
468
562
504
122
271
397
859
721
473
567
110
93
930
438
580
671
643
115
840
297
957
554
450
585
432
278
190
768
193
970
913
72
12
598
807
390
491
60
706
174
513
568
35
33
543
103
138
454
461
319
31
456
353
217
43
736
107
756
466
51
671
322
42
171
623
638
76
709
990
267
16
550
355
331
586
379
924
458
929
47
594
227
781
96
52
626
389
807
580
68
730
554
569
582
618
71
690
659
453
508
310
74
683
747
11
718
529
562
993
118
179
612
768
835
430
145
754
404
719
572
309
794
591
717
314
652
903
651
591
738
497
520
354
24
645
631
399
921
289
414
928
956
11
537
737
25
678
604
10
25
955
366
98
289
171
301
481
715
607
761
578
942
885
628
172
192
995
537
41
665
473
320
761
459
362
246
785
81
923
11
633
487
455
207
417
508
253
166
19
211
442
663
906
462
375
954
2
478
351
10
999
653
638
622
221
331
169
259
481
452
836
158
355
229
998
170
971
82
678
301
718
73
923
712
213
8
14
201
552
150
466
807
71
273
317
273
842
352
787
500
688
763
200
54
742
298
26
5
513
640
984
98
938
207
419
292
148
436
593
240
536
640
91
145
233
543
284
740
306
484
673
858
814
78
993
144
356
772
132
15
914
388
311
887
582
220
454
1000
255
647
357
957
463
589
94
190
331
311
75
157
41
229
309
997
317
415
718
774
161
426
797
173
481
934
538
706
319
408
262
79
96
715
963
336
671
137
821
815
25
712
763
726
72
233
380
412
462
506
986
908
190
651
384
497
523
359
683
338
54
981
585
107
639
282
688
809
614
469
710
588
977
857
974
377
121
142
198
744
326
808
354
89
450
626
375
669
168
546
549
582
660
549
726
926
882
190
886
839
395
610
157
25
298
794
159
664
950
711
384
337
49
772
402
661
90
734
859
910
432
755
615
786
943
852
855
833
735
374
697
765
558
468
630
83
238
702
114
922
967
159
791
45
343
351
68
230
808
230
271
104
535
448
186
624
869
740
552
7
151
995
3
890
121
127
31
911
131
343
751
670
68
778
680
296
245
762
233
383
511
163
386
162
471
361
789
123
41
406
617
199
502
831
642
826
859
393
314
843
582
760
121
264
739
782
151
398
123
501
551
653
228
543
552
653
820
834
813
942
417
868
116
667
215
913
857
81
847
585
346
649
916
233
679
800
405
424
815
102
930
607
536
733
275
762
184
671
822
384
411
904
287
699
689
356
646
413
12
900
240
582
22
28
864
473
809
268
27
343
724
408
708
170
889
945
657
260
499
958
688
529
640
767
496
9
94
337
212
781
544
359
312
117
632
358
512
74
593
954
951
177
546
627
345
98
87
953
737
445
511
278
174
866
861
259
917
676
16
488
773
136
177
702
743
317
471
693
487
215
830
95
9
416
992
690
579
127
213
729
144
863
263
36
391
392
382
352
175
828
112
431
258
899
374
935
151
501
705
9
404
609
310
783
864
509
495
708
253
87
38
773
936
618
324
153
879
86
353
793
621
575
319
718
549
683
50
665
884
222
487
701
557
702
333
114
609
222
133
779
817
410
359
571
7
36
521
185
921
726
915
881
555
990
403
262
607
432
524
191
50
562
319
330
859
126
477
596
620
242
808
51
89
897
574
320
754
590
934
698
111
970
591
495
700
339
760
21
854
807
736
845
809
675
667
621
38
396
622
801
649
35
673
30
255
727
523
885
981
64
133
889
172
679
934
376
927
565
467
937
804
822
695
582
905
581
825
711
79
863
218
267
176
953
808
139
124
724
567
23
68
975
664
455
20
492
422
648
224
17
589
119
941
736
195
824
454
212
31
643
912
911
807
652
8
588
147
529
636
865
919
842
376
241
796
723
88
654
605
603
927
433
724
275
846
187
768
546
978
703
829
115
361
412
795
138
124
382
655
137
613
46
232
520
912
101
503
14
887
86
497
727
186
170
808
399
586
583
895
621
695
935
682
476
330
421
468
84
778
480
753
999
769
95
430
272
237
281
705
266
827
716
224
977
695
690
169
704
333
735
462
408
50
336
842
976
251
128
266
929
845
838
997
803
959
31
789
562
629
417
761
913
283
49
922
312
659
283
823
810
251
749
469
596
508
916
459
260
773
63
303
344
420
581
5
704
688
581
272
574
495
718
203
1000
913
995
875
470
25
58
32
173
626
164
988
289
582
567
945
115
703
536
137
640
668
605
631
384
863
939
111
923
29
894
729
555
224
946
920
993
950
166
102
775
239
333
371
355
125
604
592
470
204
348
791
416
920
439
396
358
801
781
643
622
126
315
442
217
392
96
83
513
529
287
434
55
6
71
708
9
866
560
435
638
231
732
22
464
25
347
159
536
483
530
387
300
544
438
336
103
328
20
482
274
763
359
829
94
847
534
533
660
192
231
365
821
229
563
843
923
945
688
48
29
56
861
384
668
310
471
38
930
993
500
470
910
787
562
37
53
826
361
786
996
187
968
492
848
69
796
295
684
608
518
639
216
592
472
775
229
387
293
798
393
970
597
28
480
345
546
563
853
524
59
19
330
919
221
764
178
248
179
463
40
1
451
374
46
89
91
634
251
580
625
726
776
277
977
414
737
508
913
711
111
671
645
852
189
974
335
827
147
325
193
751
589
524
762
248
601
731
744
56
980
704
446
283
838
438
489
58
665
653
952
893
327
27
530
684
152
244
592
140
460
617
259
400
392
587
747
728
905
385
262
485
105
986
665
18
922
799
986
705
251
682
615
178
315
512
656
650
947
960
505
342
944
139
182
259
372
454
326
934
984
366
47
298
474
734
36
561
336
93
405
813
518
501
755
95
889
581
889
829
786
983
365
861
543
799
859
806
969
351
900
65
175
432
84
639
60
245
332
858
970
261
86
199
798
739
600
680
799
861
649
701
957
337
28
784
564
837
222
419
42
806
461
75
687
46
204
503
179
964
759
663
173
519
353
930
266
724
492
786
915
27
805
857
668
993
969
969
174
522
442
895
24
251
943
598
408
878
597
66
952
901
627
278
869
671
338
474
714
705
860
626
658
932
808
955
134
910
565
407
149
89
377
220
326
872
833
131
965
558
572
270
25
285
271
538
933
684
52
94
584
328
461
583
690
987
82
930
921
318
648
838
870
937
275
593
986
704
24
453
37
687
575
656
530
481
218
56
813
497
715
491
239
358
854
254
846
792
656
450
534
257
294
618
568
66
723
693
579
985
924
307
911
84
445
447
305
148
603
707
401
95
330
703
499
651
134
758
317
15
60
625
259
358
868
829
826
773
844
201
363
748
811
324
292
296
933
881
358
650
844
371
156
823
507
245
415
382
914
283
87
521
455
966
255
884
318
645
322
594
754
571
688
676
442
201
364
353
460
792
583
720
557
921
473
955
539
514
299
515
556
893
617
755
27
590
893
14
721
947
827
493
255
47
647
196
904
130
99
771
133
445
726
368
726
460
309
509
727
423
1000
527
652
575
780
366
619
682
347
379
72
184
451
311
790
940
979
830
726
468
816
806
5
622
601
43
120
815
56
317
954
307
436
385
757
541
43
95
623
200
436
850
332
494
143
451
641
142
224
792
234
672
989
962
591
947
554
45
966
272
656
341
514
62
368
764
367
784
905
898
115
833
715
572
724
60
437
824
381
901
123
839
154
471
313
744
626
477
183
186
865
567
981
242
184
540
432
526
155
875
580
329
244
213
814
250
269
730
448
44
571
840
276
368
473
291
6
661
82
530
298
699
960
127
451
194
548
200
417
439
448
18
931
169
871
367
30
687
588
880
117
866
713
225
41
763
545
939
370
487
429
771
143
403
360
554
907
955
575
1000
790
156
962
350
656
306
454
429
168
570
941
528
715
878
451
490
691
999
442
520
607
758
148
544
856
112
802
371
732
182
445
541
479
433
783
493
720
865
185
597
630
503
525
695
583
449
17
4
814
484
569
623
870
532
493
452
190
293
575
5
225
1
621
466
896
606
595
356
43
590
382
341
759
298
14
27
131
914
936
95
968
161
512
742
577
395
502
197
476
983
687
32
222
820
174
103
220
314
166
189
432
470
125
862
429
507
354
650
88
23
972
316
584
860
153
955
972
709
267
655
838
948
285
662
967
402
363
361
924
473
76
879
768
619
140
798
881
210
809
292
997
629
332
968
121
888
16
848
929
124
437
214
661
92
323
479
237
176
455
877
552
498
700
507
438
411
943
182
821
50
253
642
960
632
114
872
465
887
885
698
19
332
987
357
305
119
480
432
711
811
803
411
748
779
441
149
19
855
220
654
758
522
714
968
639
172
6
386
589
924
651
892
812
66
228
494
75
447
332
72
593
29
169
487
535
401
207
925
217
225
473
914
592
505
169
979
499
70
240
679
448
849
423
609
443
363
72
42
428
364
768
45
487
673
303
297
843
123
147
305
47
943
903
431
459
52
587
939
309
521
788
250
139
884
885
746
417
62
543
762
449
445
661
826
512
25
765
839
287
598
630
655
270
708
546
405
819
423
223
34
887
37
816
695
303
478
900
92
672
564
539
344
561
208
784
712
683
374
999
318
194
844
478
45
76
871
666
970
799
373
163
981
97
637
381
736
775
406
366
758
884
832
847
232
491
29
983
61
526
833
663
785
885
976
444
296
21
73
388
655
781
688
117
899
96
294
383
483
492
111
328
852
34
652
404
716
488
301
594
779
954
405
200
39
199
171
948
285
209
120
589
90
246
971
462
419
833
622
764
959
642
312
326
407
209
132
809
257
786
844
110
62
387
302
664
771
277
897
58
496
727
111
32
967
862
675
539
48
793
823
960
868
71
843
9
557
667
460
88
77
323
569
102
382
125
512
797
956
582
383
715
817
332
824
759
244
828
397
192
785
996
875
601
620
933
759
986
962
146
908
705
987
706
389
390
732
970
617
353
502
185
345
223
602
382
340
722
607
462
405
569
985
244
978
457
595
597
683
937
488
422
87
826
473
424
377
458
108
99
857
673
144
290
961
977
961
24
926
677
174
41
430
158
472
618
245
645
669
797
402
965
134
119
454
830
28
317
179
123
252
182
454
509
591
12
90
441
321
624
164
319
458
897
700
88
906
224
646
75
983
36
717
207
202
770
61
73
733
291
678
460
645
761
171
102
920
407
751
386
223
457
332
667
569
751
228
667
393
192
196
149
960
241
542
685
734
124
567
899
94
283
898
962
736
866
137
506
221
749
841
366
374
639
32
707
678
310
344
181
354
920
401
714
582
665
254
419
181
710
489
907
123
478
174
966
444
888
911
161
494
58
114
451
952
311
72
277
720
104
485
935
635
576
951
263
905
41
288
777
333
639
707
458
668
773
556
318
885
707
798
723
795
879
401
213
153
74
592
202
355
577
232
546
874
839
660
381
831
984
990
86
494
672
218
441
3
496
474
295
372
53
418
135
629
311
85
947
997
673
449
689
176
429
591
491
114
903
659
450
131
646
713
487
911
525
145
284
654
368
646
770
646
141
524
952
598
285
826
165
376
934
844
956
165
209
534
897
669
715
841
595
712
618
164
41
449
428
988
221
486
722
242
636
370
531
70
920
295
91
530
317
361
945
203
125
402
150
782
587
236
483
547
888
140
83
6
85
519
937
130
799
34
966
297
470
866
259
524
799
451
158
580
779
746
495
305
361
25
264
845
373
260
413
516
793
407
223
707
839
254
993
591
643
89
302
364
454
107
204
441
435
327
80
300
80
858
753
663
253
433
684
303
601
549
712
73
874
958
866
635
265
934
229
36
469
528
690
435
547
951
714
278
93
366
897
690
389
603
208
154
460
752
250
346
944
138
835
571
737
954
396
409
169
667
534
25
347
396
62
96
897
637
472
458
23
80
624
389
241
771
849
901
591
533
355
559
446
401
979
87
235
798
901
497
560
313
858
522
214
244
793
938
517
519
626
695
293
204
25
906
519
586
605
398
350
719
31
956
817
420
831
361
917
903
579
65
256
660
276
650
635
708
409
222
199
58
155
554
860
85
644
89
689
506
22
895
918
847
294
272
974
595
568
988
730
714
391
76
741
852
294
691
815
341
562
788
686
60
492
272
895
332
84
852
280
281
206
24
591
510
733
492
839
509
100
864
965
975
964
638
269
67
410
348
867
701
240
215
89
165
399
825
360
706
536
146
613
249
1000
680
673
62
350
642
382
46
570
874
460
255
745
602
224
441
924
242
319
679
231
233
558
588
86
245
833
275
552
187
786
888
424
153
608
578
654
822
910
749
98
840
51
714
402
413
726
248
996
674
877
86
847
386
198
106
586
188
583
797
81
921
901
622
358
504
370
61
995
495
620
439
783
706
271
125
480
204
483
321
957
626
443
481
880
939
241
301
372
751
893
378
741
758
552
868
475
200
101
899
164
23
383
78
945
986
299
145
305
152
902
737
869
16
371
260
825
45
463
42
236
538
639
356
351
538
549
340
425
989
998
578
228
450
796
883
624
457
162
835
133
69
446
738
333
206
985
984
344
151
853
235
404
980
112
458
708
758
906
602
276
31
451
631
619
539
473
689
329
95
186
431
558
255
236
908
549
752
337
965
979
659
534
800
916
900
95
184
614
47
68
868
190
281
429
856
483
62
585
567
32
274
692
364
163
594
910
602
628
411
225
98
121
842
929
920
239
333
189
462
158
883
394
51
362
115
123
767
260
333
662
683
416
205
952
531
422
908
732
622
146
400
451
944
225
1000
181
528
147
590
384
538
240
577
888
73
205
212
825
305
535
992
631
418
375
630
384
813
857
548
943
142
960
893
336
64
276
876
824
41
837
578
890
123
354
485
181
408
783
683
75
794
123
46
110
726
755
764
5
850
438
248
372
889
263
782
484
598
503
311
699
355
305
367
207
790
611
493
765
887
497
452
43
152
409
152
954
755
356
486
132
59
239
222
290
563
896
680
789
105
348
162
125
85
969
7
453
617
20
732
467
753
17
885
166
348
943
155
51
706
179
782
328
903
339
513
518
522
907
176
705
640
678
457
316
47
536
594
939
83
20
555
190
958
470
668
41
106
279
869
361
949
920
438
608
414
976
591
782
701
358
339
755
89
255
809
53
6
127
590
995
217
250
760
885
716
872
943
558
870
65
123
212
389
720
985
884
964
950
202
320
795
390
473
293
752
449
79
598
660
652
389
43
986
584
67
790
306
813
679
288
6
384
36
846
76
160
884
669
283
280
466
739
680
528
125
518
178
203
284
869
879
426
135
921
951
410
835
909
125
393
310
123
264
345
563
209
74
509
976
24
729
101
229
120
95
241
333
737
244
254
759
854
197
45
786
464
151
150
42
741
985
404
610
164
483
925
272
1000
572
221
170
761
814
821
655
378
567
755
141
877
491
592
567
283
551
510
439
324
259
49
504
264
669
769
827
854
551
58
389
959
250
684
389
891
968
526
81
862
586
108
343
246
706
179
164
545
268
593
888
47
969
195
352
167
732
221
55
372
613
977
76
416
894
212
756
326
562
628
112
220
32
463
495
551
755
916
308
858
305
463
449
398
647
803
753
329
550
241
875
265
526
805
973
82
255
297
44
829
180
774
971
496
855
667
169
154
667
859
215
689
741
558
24
935
225
738
887
551
627
242
226
341
574
395
983
95
172
105
364
211
138
996
100
494
999
56
454
591
965
680
982
419
513
709
418
839
346
301
166
541
142
4
538
801
416
419
304
313
928
220
107
786
255
114
1
382
579
524
717
327
251
389
234
266
404
505
907
981
759
246
711
141
751
357
112
633
304
715
723
855
868
646
139
69
871
394
344
546
308
823
602
779
38
297
47
454
288
923
57
255
965
71
75
809
644
117
751
244
533
871
142
902
265
50
241
724
124
443
309
701
173
128
289
569
832
229
103
628
614
196
788
148
114
537
216
353
839
271
638
350
154
69
373
733
431
261
803
769
462
370
188
243
364
845
995
42
468
997
101
526
148
935
694
570
149
450
723
910
739
408
464
115
932
176
172
24
82
17
766
22
420
187
233
859
449
671
734
27
691
109
421
899
961
504
612
922
201
689
284
181
935
409
814
538
549
83
520
392
953
960
814
803
638
460
753
380
801
902
317
851
989
738
34
677
668
638
434
431
237
484
416
906
252
379
792
89
68
298
165
186
662
887
816
884
131
214
463
892
274
996
611
600
674
936
662
389
918
318
178
714
951
945
435
602
54
828
902
598
638
787
408
532
825
244
519
689
811
88
87
87
133
379
39
632
221
103
189
833
135
892
307
614
914
839
681
541
799
113
176
392
453
61
133
629
418
875
491
744
258
736
200
873
225
507
339
341
844
700
325
993
502
446
292
267
968
619
991
981
834
117
560
685
957
522
102
291
395
15
312
379
736
479
331
232
411
173
570
169
335
216
515
210
206
430
431
432
872
704
422
652
452
184
537
213
307
49
482
739
547
542
17
674
471
215
310
321
243
69
360
869
142
382
99
601
925
525
921
63
194
4
227
479
191
305
10
122
78
844
640
651
622
474
789
666
163
562
866
833
884
595
420
15
706
641
726
725
566
769
167
138
463
701
75
574
389
555
431
107
221
518
172
450
685
711
902
790
764
272
480
602
293
919
289
769
40
858
11
506
256
925
355
729
557
277
530
458
980
771
184
800
272
433
192
850
735
36
909
588
494
876
476
460
647
284
350
891
566
291
453
397
581
109
271
333
355
789
767
549
553
492
209
405
809
296
871
652
566
364
89
655
114
592
376
341
18
571
74
3
197
805
588
805
74
657
361
442
629
404
553
888
648
143
888
589
162
996
215
783
886
233
141
838
443
477
498
642
303
106
532
100
668
336
406
754
956
247
56
373
191
170
468
127
309
468
170
617
367
696
112
595
676
555
118
689
133
829
801
823
397
720
149
315
120
610
10
809
125
275
336
338
287
49
375
753
889
214
954
741
378
176
608
408
809
616
629
165
687
843
986
272
620
62
706
928
933
106
526
242
392
476
546
774
244
195
151
576
97
67
717
838
525
418
450
300
910
315
275
575
730
514
845
404
397
153
596
635
813
273
267
451
976
790
466
915
365
479
654
456
304
837
397
297
217
455
869
156
474
668
345
785
527
785
860
19
182
199
330
53
116
998
142
629
239
495
630
619
72
272
949
288
91
891
517
156
907
455
618
959
228
553
755
664
761
959
48
911
635
650
294
489
439
317
317
685
676
569
886
442
308
469
783
229
54
840
572
494
296
66
254
335
745
707
244
786
542
346
65
725
50
510
746
948
452
385
128
411
156
318
222
964
175
771
306
184
855
471
653
60
789
3
681
346
312
971
813
380
689
168
551
57
31
894
81
402
975
690
240
901
409
244
828
363
835
209
48
534
520
930
331
171
208
892
929
536
37
791
421
531
244
712
730
820
418
843
328
293
320
518
60
221
766
173
415
243
652
929
138
121
997
164
783
842
748
361
196
222
221
963
925
629
242
736
257
840
464
376
908
305
866
673
395
326
149
619
783
706
590
213
784
474
954
597
176
176
183
379
129
40
968
628
271
70
736
119
319
722
264
806
640
374
898
437
369
232
310
415
638
678
857
761
989
298
830
70
295
4
326
846
364
739
49
524
939
205
63
763
983
951
430
299
995
945
684
789
578
431
319
576
658
486
800
220
531
197
139
22
420
769
738
436
312
224
19
479
637
541
368
754
792
249
15
678
597
494
815
872
503
563
307
428
811
680
54
960
183
662
22
929
463
668
682
689
192
851
580
158
237
192
373
755
619
182
696
489
986
285
782
706
174
337
449
977
926
113
931
105
190
301
46
983
339
34
336
347
319
968
192
64
975
579
395
667
759
18
195
308
615
381
812
154
76
691
208
534
504
260
74
808
987
316
258
32
604
978
249
950
642
714
944
780
887
378
622
530
282
831
959
299
110
913
951
141
317
223
824
580
790
799
345
782
178
242
486
761
329
278
45
673
527
59
661
471
505
722
629
675
633
859
85
26
771
587
396
118
31
850
52
897
89
433
974
79
760
923
891
127
235
510
390
419
794
99
274
626
799
652
149
129
476
109
499
512
332
450
79
774
45
732
152
934
334
963
954
114
589
743
770
47
66
444
190
161
5
599
431
60
369
816
97
267
795
215
381
548
959
902
497
10
790
439
125
431
901
621
688
947
114
111
605
325
227
675
56
527
997
792
362
158
886
420
837
717
244
544
840
252
511
956
801
147
458
374
209
293
681
638
880
813
344
192
365
847
657
513
9
648
672
413
994
371
787
424
702
512
742
552
845
882
43
755
123
396
417
434
611
707
392
69
686
894
71
886
62
5
963
124
440
244
30
5
315
968
214
1
767
493
326
390
399
889
558
332
162
572
870
937
503
519
149
874
106
353
350
59
548
390
799
913
314
969
455
451
987
29
212
228
870
965
247
763
967
235
17
623
18
63
768
787
254
854
285
239
632
611
215
29
568
721
494
162
634
996
253
779
212
691
164
43
879
595
317
33
151
944
590
731
270
41
970
891
927
989
409
151
139
873
659
293
64
33
936
922
144
863
439
198
846
649
489
440
215
572
512
577
618
919
162
437
317
930
653
834
11
474
734
226
37
909
851
510
723
109
695
145
288
562
769
394
760
901
583
923
623
4
819
394
277
995
88
963
952
126
974
792
416
502
637
780
660
83
618
733
782
167
413
77
420
879
30
76
461
746
10
204
191
578
331
962
706
256
198
986
203
953
985
704
708
538
480
159
918
626
161
889
78
793
422
891
260
985
574
770
949
28
945
154
620
455
602
340
827
587
51
900
410
890
786
692
602
183
676
309
184
170
33
513
351
124
634
579
603
280
107
857
837
637
868
4
747
431
239
533
834
487
442
327
562
29
944
725
698
302
4
608
451
526
360
726
794
288
666
87
278
478
720
877
710
255
504
794
314
338
757
88
371
131
155
884
879
793
149
543
472
392
185
933
715
708
317
469
856
83
218
702
353
954
181
64
744
351
17
73
987
693
673
959
956
675
967
188
642
904
128
825
516
207
687
993
630
215
852
984
295
913
710
692
595
330
465
142
569
431
451
850
631
608
855
609
659
818
906
130
281
595
805
605
25
628
802
897
401
558
655
545
476
976
155
192
178
317
548
375
381
533
425
794
825
939
124
367
31
613
753
375
706
81
712
945
537
786
961
987
925
39
386
438
927
692
290
345
642
808
435
853
308
974
72
684
635
690
98
37
276
522
800
137
886
267
651
851
925
436
299
904
193
780
150
197
137
394
960
684
98
218
450
38
25
349
233
110
638
669
297
751
682
731
849
180
689
722
603
442
630
575
474
922
931
997
215
81
611
260
744
773
689
73
773
563
615
777
901
421
184
386
484
77
296
705
476
91
961
891
893
372
158
315
734
519
499
535
990
805
170
496
835
97
296
850
225
269
689
397
909
928
927
212
267
376
851
1000
525
784
858
559
596
495
815
10
237
200
33
641
248
526
503
772
172
194
498
74
304
504
744
117
878
353
585
779
952
407
942
323
874
271
431
572
204
787
693
622
612
578
843
994
597
72
970
909
818
49
777
652
470
662
782
609
406
529
970
633
634
184
455
841
431
668
461
797
531
512
918
345
785
694
56
986
208
420
649
810
592
726
981
466
684
983
171
557
508
349
252
141
550
85
241
738
392
459
536
342
880
644
131
478
39
594
516
244
785
434
646
643
946
259
24
216
192
594
761
156
316
970
481
640
677
203
43
28
749
13
391
20
450
535
232
546
334
156
924
416
791
842
639
283
96
789
854
507
560
800
249
857
13
257
360
841
582
959
677
615
40
341
484
66
997
832
367
675
877
161
238
193
918
468
684
989
405
953
652
194
965
632
791
362
30
490
263
486
516
951
453
598
356
113
836
101
749
649
168
209
934
624
316
590
816
716
266
343
8
519
296
969
726
641
867
876
488
311
505
247
769
69
854
837
597
917
108
349
564
983
243
586
903
362
812
476
63
296
598
431
694
274
66
205
91
939
396
600
889
922
866
881
263
843
464
755
974
776
939
103
341
386
913
457
628
827
322
348
388
211
179
281
36
165
603
44
277
496
101
481
61
540
357
635
404
55
145
404
768
905
525
441
684
881
205
62
967
174
778
363
149
988
590
546
771
682
118
740
750
682
120
206
347
93
244
896
180
595
460
774
330
731
455
190
809
131
87
850
608
593
98
616
51
155
546
440
431
501
847
249
767
60
875
453
48
172
317
96
509
565
353
347
339
150
790
144
707
864
960
350
140
877
74
665
124
977
202
920
219
367
763
69
159
433
182
383
119
232
410
867
837
636
77
913
309
40
401
530
558
531
398
293
368
253
525
314
943
434
702
121
145
234
529
333
367
136
618
391
107
41
174
440
989
657
366
626
337
26
551
720
386
236
133
988
880
456
687
638
107
455
978
44
398
651
712
146
729
581
132
103
345
380
93
303
265
508
866
314
115
494
722
202
978
897
300
939
865
51
863
263
955
400
809
486
983
403
237
182
17
50
914
622
396
993
760
103
791
208
811
41
181
848
707
794
37
670
921
720
182
12
314
892
548
788
115
227
599
395
94
517
221
737
506
22
743
789
393
796
116
274
948
913
423
29
938
105
599
614
648
96
673
545
408
88
886
282
514
465
764
792
301
728
586
47
166
103
730
291
609
54
60
322
716
139
839
273
67
261
690
614
750
396
735
164
14
296
385
917
122
498
204
406
107
225
899
136
483
378
762
336
439
919
815
927
669
343
537
126
805
860
242
546
353
135
137
16
148
127
599
585
603
664
473
334
452
851
26
707
244
330
736
25
607
702
291
731
159
118
990
708
1000
195
249
698
931
884
83
458
868
883
195
765
475
517
841
843
677
716
693
50
544
902
744
924
44
140
719
795
255
842
544
221
972
718
182
440
41
394
534
877
420
337
176
503
658
271
419
514
477
291
529
343
152
246
9
514
658
798
493
208
929
733
172
718
95
753
648
141
318
970
773
771
633
760
356
645
275
477
541
622
113
747
348
189
124
722
78
890
361
723
274
943
472
160
477
109
633
467
300
338
709
87
225
73
565
199
79
319
710
961
392
781
871
548
684
414
671
141
269
714
332
347
337
966
181
204
946
429
819
81
4
156
964
270
521
721
398
9
199
665
903
10
891
825
766
290
583
109
270
269
355
412
541
640
169
587
279
465
461
350
189
339
241
976
377
208
815
492
585
626
300
817
903
803
818
952
501
793
633
925
28
565
517
625
522
511
319
71
94
122
46
939
168
221
777
355
773
132
358
69
243
599
170
134
674
99
195
105
680
440
251
617
298
187
526
912
388
468
494
493
486
245
878
678
898
912
568
195
750
436
306
372
801
868
523
683
142
166
917
615
257
772
224
839
543
231
192
696
106
515
910
843
522
352
539
719
328
16
926
160
163
546
795
128
892
288
977
970
499
975
628
88
253
322
490
183
449
234
55
467
15
307
893
387
408
221
520
403
538
21
923
347
871
45
254
702
504
416
275
918
754
626
856
541
708
712
174
479
291
919
326
232
597
555
720
266
657
946
979
21
330
18
62
205
718
45
974
167
371
530
756
103
536
35
390
788
892
992
880
336
545
192
80
213
500
676
725
361
525
249
744
823
56
664
178
700
778
808
925
633
619
914
86
235
143
870
909
84
762
230
219
936
754
389
701
800
803
701
646
392
681
41
566
286
705
396
607
741
843
618
826
820
663
382
221
886
847
735
865
6
669
352
601
80
643
773
568
749
544
425
219
279
136
228
629
624
230
903
594
844
160
903
456
883
352
60
643
474
445
605
611
594
318
236
271
477
480
280
4
635
483
809
33
747
422
773
300
550
140
836
952
50
424
610
228
490
365
411
823
495
58
508
779
738
975
48
592
294
695
521
467
548
126
639
626
182
14
5
135
290
324
777
976
97
14
821
3
143
856
515
950
2
187
463
914
817
925
839
580
947
740
22
987
47
998
422
832
739
13
178
136
847
138
454
606
840
483
632
158
757
347
599
903
341
11
662
351
584
181
381
698
143
204
725
867
359
159
545
381
697
65
281
254
509
740
204
833
915
299
270
903
482
879
810
478
126
941
907
346
306
439
258
883
179
180
736
618
827
977
677
749
65
546
99
145
619
669
696
362
661
833
466
851
782
402
249
855
474
422
292
454
150
290
210
838
480
876
320
156
615
147
420
255
440
982
519
173
579
681
889
527
292
597
81
830
756
425
247
327
489
981
139
163
823
675
722
564
398
482
147
241
653
964
214
409
112
729
95
666
120
831
251
446
307
735
973
956
716
908
892
273
989
536
183
769
457
594
863
151
253
281
795
172
840
840
492
514
424
902
850
422
812
804
228
436
171
763
120
947
11
409
811
379
488
940
4
509
749
67
381
809
629
18
487
730
494
79
80
510
371
545
344
463
825
501
953
675
222
555
995
693
103
481
195
116
431
788
715
940
347
335
39
159
915
508
99
366
53
892
852
75
465
63
977
39
945
873
218
108
849
585
185
69
893
314
76
457
672
464
895
570
489
324
210
764
102
505
400
648
22
674
635
974
836
900
552
883
833
998
686
615
907
418
265
7
291
634
861
858
206
451
774
735
889
353
715
921
825
817
550
950
177
517
359
659
589
461
83
718
541
421
360
416
384
443
920
812
50
845
106
477
151
871
665
732
877
86
916
690
659
666
850
400
13
987
461
112
414
290
856
10
273
732
295
736
325
867
314
728
833
428
545
648
980
299
653
197
785
748
54
187
659
303
736
62
444
143
541
952
438
501
738
973
398
403
567
716
998
957
717
756
542
586
368
608
1
806
527
735
585
578
843
117
158
878
27
391
755
803
263
774
333
450
735
824
713
867
488
569
311
520
372
722
895
137
751
465
91
263
964
802
776
537
309
560
811
547
424
915
800
70
509
757
674
662
804
288
956
853
70
1000
487
651
624
595
246
660
632
427
674
895
964
832
524
268
881
6
885
839
254
184
454
102
783
507
543
11
911
353
567
971
744
860
975
719
282
52
666
895
743
273
955
81
537
618
49
304
732
646
806
272
468
958
312
128
860
155
388
145
342
276
703
541
323
59
625
607
251
298
261
380
883
76
401
406
634
942
258
525
369
900
952
214
891
652
641
725
697
710
127
160
259
834
497
678
219
729
107
198
397
131
757
357
451
178
469
962
334
456
642
864
476
212
699
1
713
28
578
331
580
656
505
533
515
835
577
626
910
632
573
119
675
263
315
908
222
416
596
902
277
810
403
271
3
81
711
298
243
137
579
22
529
796
704
292
710
868
822
339
653
825
587
727
496
882
615
356
376
588
419
238
349
32
852
915
507
347
487
714
901
511
125
530
954
358
192
448
502
307
379
317
452
566
282
351
350
474
173
909
776
186
268
897
618
160
37
643
743
729
154
669
467
606
666
514
555
338
837
668
163
571
924
684
275
482
789
778
682
888
923
557
497
362
887
21
517
119
640
693
505
611
512
503
579
496
824
79
474
104
260
206
394
626
174
526
514
972
899
995
8
657
39
213
603
157
424
516
278
853
107
644
716
77
326
846
476
809
843
547
705
236
441
73
382
739
653
472
709
875
988
177
293
557
10
113
177
972
656
858
621
704
39
631
772
197
870
227
2
929
290
480
740
636
576
472
109
485
701
526
508
378
178
924
569
436
968
462
598
291
474
144
680
42
830
800
128
564
723
943
847
430
3
946
476
866
185
469
913
999
737
151
884
179
765
757
808
270
257
325
69
657
616
391
196
145
556
15
142
82
812
171
45
774
293
46
369
754
465
921
295
484
776
604
602
893
881
850
45
489
267
776
399
893
642
91
948
330
108
819
164
997
706
330
725
249
393
677
835
238
900
653
981
964
184
515
934
721
415
22
750
541
500
293
25
579
172
10
438
330
584
639
879
189
158
700
104
166
160
557
903
469
116
887
233
290
699
723
625
354
186
979
448
707
904
403
295
772
365
242
824
926
925
247
897
703
902
282
734
295
23
496
122
154
987
914
403
393
688
358
109
139
354
797
595
173
441
576
996
982
649
509
108
826
803
463
592
539
695
916
3
566
184
914
711
162
992
25
749
792
663
173
974
488
95
669
697
345
916
376
130
395
706
714
566
798
760
120
196
687
612
642
878
2
69
612
963
364
822
686
490
346
40
130
679
539
519
887
680
416
50
847
945
344
699
743
438
43
591
266
136
410
590
316
903
921
28
794
900
739
234
965
118
259
157
229
520
67
838
87
519
183
808
170
210
40
758
516
858
834
989
626
629
787
220
474
449
369
284
338
172
719
160
209
955
338
530
595
843
647
785
733
104
118
974
550
748
537
706
288
40
386
426
306
519
490
792
445
206
819
135
312
217
787
65
969
966
494
373
809
514
63
281
860
364
681
970
362
210
960
48
202
714
995
295
756
371
831
593
718
935
111
402
751
657
331
548
181
817
499
354
488
632
971
359
65
639
888
941
553
106
979
193
90
809
411
295
974
810
37
442
554
461
643
131
672
957
733
202
588
185
991
614
125
494
807
330
739
303
133
73
280
80
532
946
527
388
473
70
966
111
795
493
851
924
818
542
348
327
727
721
418
313
728
22
167
816
952
198
565
634
247
171
809
444
797
229
128
832
984
98
451
43
32
274
257
272
731
230
825
873
993
256
314
830
92
697
349
190
141
338
249
938
825
482
663
950
417
70
104
275
846
826
826
956
956
982
537
11
113
617
697
1
8
18
506
798
848
763
275
811
125
407
516
921
786
774
11
824
974
832
64
291
435
58
365
125
338
26
185
202
527
646
123
74
139
141
243
32
143
364
256
432
580
515
346
309
194
659
319
39
714
694
62
824
234
596
683
339
50
824
289
706
805
740
101
309
1
783
462
654
766
929
390
586
270
647
464
723
324
166
245
846
516
381
905
374
714
123
443
742
853
844
645
683
744
994
982
938
46
483
724
902
649
682
894
52
461
328
79
798
979
570
780
556
120
151
700
436
459
345
314
925
429
899
122
337
47
630
248
603
418
771
385
195
626
407
688
568
574
544
872
559
60
467
649
560
599
18
658
177
551
375
175
265
671
690
275
917
514
696
529
17
51
21
23
436
432
456
229
798
106
911
237
37
380
94
955
613
81
242
144
377
195
374
582
517
215
601
210
958
490
17
872
861
14
558
117
576
966
19
593
549
783
93
772
149
734
910
71
364
729
54
982
611
605
435
464
655
232
744
698
786
549
392
266
941
114
16
972
422
787
630
809
233
976
472
14
813
215
422
791
128
954
641
3
682
129
725
93
962
458
251
541
257
444
50
406
591
739
943
897
696
875
933
438
589
359
65
430
323
781
252
720
919
899
377
849
310
629
869
283
371
485
817
183
758
294
343
721
325
965
659
630
347
636
695
414
644
824
695
659
974
74
472
926
729
157
302
25
61
115
591
854
57
292
498
576
456
30
703
639
743
896
358
16
107
150
66
119
930
638
411
996
928
486
172
828
51
745
858
199
536
620
597
334
275
38
751
297
792
84
836
109
679
270
472
936
304
686
96
719
949
857
153
136
339
478
290
348
664
331
866
755
804
333
718
925
456
91
729
905
227
336
179
372
611
300
271
478
918
450
493
749
892
985
673
161
728
144
684
302
655
701
758
594
86
976
295
702
541
320
828
563
244
302
593
983
308
779
721
369
895
589
639
944
602
887
706
779
599
32
457
48
704
492
63
188
690
440
815
79
577
626
475
898
590
578
320
77
740
428
593
649
702
452
850
320
789
949
386
815
317
211
537
381
607
156
132
879
197
656
803
511
556
732
177
116
776
533
177
894
223
490
817
600
141
89
893
514
500
490
916
947
225
585
497
679
55
190
124
431
892
733
956
457
506
218
813
368
822
251
10
548
832
583
88
921
403
10
743
356
829
422
486
701
22
465
630
296
664
609
236
832
452
332
534
583
832
807
179
361
257
722
395
46
46
797
724
153
385
188
601
713
888
162
444
683
378
383
279
210
255
665
183
350
881
299
992
224
906
901
779
225
364
287
584
562
654
44
772
361
241
312
153
567
20
793
715
74
811
160
409
920
377
828
934
827
690
546
876
91
909
365
872
626
677
328
708
953
913
654
365
57
201
295
85
345
267
476
466
367
808
226
430
586
90
2
687
237
337
177
952
226
920
570
767
131
727
212
230
533
943
225
327
375
620
30
843
508
82
107
29
356
196
183
278
431
990
4
105
484
908
870
600
216
260
669
362
820
44
483
638
93
387
725
30
503
298
388
650
381
299
235
70
375
767
626
735
380
492
286
797
457
52
507
451
645
79
143
942
156
398
304
401
170
311
832
501
356
32
482
764
237
347
217
4
790
145
208
6
961
352
908
48
329
167
56
269
806
201
580
222
90
299
147
168
569
359
544
779
503
430
165
994
626
716
633
669
734
912
961
546
449
451
762
801
111
835
696
96
656
211
716
642
436
744
742
217
131
154
17
520
346
966
789
461
966
670
944
241
101
980
857
132
260
820
47
888
450
504
199
637
28
796
717
906
475
215
264
156
758
954
670
852
544
295
205
610
368
219
407
405
779
212
633
189
596
920
990
513
687
423
563
896
84
341
719
784
829
924
774
872
679
555
534
487
691
810
24
477
724
330
232
773
147
292
852
369
345
168
821
982
153
830
888
65
27
762
610
149
565
309
917
735
975
441
846
72
243
450
119
196
36
394
995
554
808
853
223
369
220
718
997
685
722
382
506
662
59
602
70
274
570
788
860
42
342
193
900
796
696
762
378
766
5
943
301
471
580
842
171
13
161
489
677
327
615
843
364
918
583
373
856
376
155
745
487
723
123
137
148
252
8
210
712
59
858
612
693
933
738
146
649
575
976
442
441
411
451
16
651
416
671
142
336
409
928
789
839
289
566
250
544
534
282
734
308
90
433
361
812
451
499
467
209
351
237
107
269
966
546
931
678
977
764
374
278
109
903
241
809
30
353
312
149
603
688
560
136
522
514
935
811
309
764
435
319
489
428
366
761
533
470
274
9
800
632
25
884
287
864
888
81
468
370
312
971
886
643
258
699
434
411
583
13
480
107
989
929
61
339
477
611
391
842
79
843
845
584
879
79
372
984
975
325
59
721
98
72
138
234
56
44
330
796
25
826
799
13
996
290
390
710
354
333
46
389
655
638
477
925
142
42
209
683
456
640
136
6
282
911
545
900
394
15
406
782
663
902
380
369
120
21
625
129
95
234
955
241
776
996
349
662
282
998
97
748
490
244
117
839
393
946
81
354
736
754
57
261
50
545
284
200
951
425
564
177
763
634
510
488
112
790
542
464
117
252
89
694
187
418
952
615
281
480
116
762
632
460
646
483
609
379
438
664
369
58
731
821
407
344
272
978
919
548
951
871
161
471
532
377
606
696
821
536
769
763
270
168
23
395
511
891
590
254
808
285
172
545
703
64
349
387
448
374
965
77
925
751
210
226
860
864
1000
313
90
879
557
335
522
175
803
133
233
202
295
408
811
447
945
650
682
837
707
975
627
447
722
347
152
4
186
778
643
540
317
890
503
514
377
633
565
866
631
72
142
744
539
879
990
130
185
590
320
144
175
728
758
638
797
619
799
529
225
107
877
477
945
381
640
680
391
830
412
984
985
182
88
34
367
166
929
901
668
605
798
462
51
149
383
851
620
827
899
422
23
208
528
48
707
266
614
2
853
942
254
361
475
17
446
616
19
141
426
153
78
774
147
381
515
353
117
510
372
205
987
442
420
619
327
787
111
990
20
760
3
172
565
590
404
963
383
137
147
206
907
594
872
81
828
503
159
30
383
860
177
170
990
714
244
211
813
512
847
659
136
413
226
509
460
952
574
748
372
691
281
710
99
987
408
737
550
586
763
681
390
516
532
449
364
689
405
226
631
677
533
978
374
369
455
578
298
599
347
194
949
389
541
606
947
138
312
743
352
941
324
80
363
268
992
461
481
352
230
557
69
999
710
447
982
2
823
737
545
972
957
224
731
203
611
365
782
135
105
709
925
76
336
7
30
133
107
945
268
680
56
290
857
313
94
804
988
928
565
429
873
486
64
114
676
43
944
134
744
840
71
921
188
593
316
216
350
652
603
841
94
350
75
487
210
690
70
713
407
520
174
776
521
450
571
1000
597
91
239
149
445
625
381
659
114
330
583
660
493
447
821
421
906
694
418
224
119
801
437
712
687
683
805
431
899
248
675
635
925
385
147
396
895
364
465
763
802
762
288
966
75
21
397
667
620
915
501
875
902
531
411
399
411
871
923
676
449
765
186
388
719
652
244
523
664
669
634
455
805
642
690
157
637
809
199
902
756
534
611
651
988
844
867
881
248
360
212
768
744
61
78
503
933
389
242
999
305
382
952
398
706
899
686
626
376
481
512
668
327
108
753
382
971
896
837
461
149
769
726
541
852
302
304
605
923
199
459
525
23
315
356
20
940
781
587
361
130
490
471
858
977
183
736
558
895
399
259
584
803
825
293
255
937
934
853
452
217
372
531
700
591
236
32
82
873
255
150
416
605
882
747
97
368
500
516
612
807
237
972
28
332
392
166
691
117
111
61
940
520
720
381
926
522
110
36
489
123
646
853
637
859
338
481
368
816
460
784
455
541
329
964
346
246
735
931
502
574
369
169
360
982
655
431
571
488
589
163
363
139
539
425
634
34
483
467
894
182
825
811
266
771
745
868
557
639
43
655
812
905
558
134
900
710
530
72
383
987
749
71
360
23
920
623
7
334
434
590
268
9
680
537
527
299
66
713
94
640
199
293
64
730
14
690
404
528
214
377
148
260
82
656
235
609
574
263
817
261
603
508
835
907
638
911
305
601
3
916
989
117
801
339
118
552
987
652
373
993
930
68
600
468
735
669
659
784
729
495
309
94
749
587
317
194
303
482
794
623
260
530
320
622
431
732
601
859
321
483
221
655
337
733
589
101
995
592
290
65
954
333
891
619
279
85
696
781
972
240
98
820
645
745
904
593
179
7
503
481
373
97
780
572
863
288
482
654
35
757
88
426
300
434
350
114
799
589
344
312
598
708
267
455
440
629
236
808
409
699
29
200
201
923
58
70
285
697
833
543
898
720
882
371
699
124
333
578
920
697
403
550
994
282
585
140
10
133
682
79
782
996
697
604
979
212
237
758
568
935
290
273
737
883
187
258
610
680
65
212
303
953
411
15
294
821
103
629
671
328
924
205
527
643
685
190
682
597
934
791
942
205
755
862
307
367
274
879
913
855
326
153
967
33
189
875
660
489
428
867
800
912
652
174
960
97
428
729
10
906
703
380
239
404
798
503
703
130
486
279
52
657
671
453
837
179
964
76
238
844
759
278
204
950
502
610
256
925
473
864
565
215
791
557
474
840
319
487
346
345
804
836
436
377
910
312
548
881
753
737
372
182
172
312
733
876
255
476
469
462
571
970
275
164
143
186
680
192
453
372
229
15
665
585
82
871
825
557
493
817
993
787
53
126
155
239
142
734
273
21
800
715
28
262
77
513
655
230
988
735
738
402
398
854
32
791
507
83
147
378
131
31
417
846
635
465
398
193
205
682
196
984
122
511
307
148
837
951
682
257
962
798
523
172
699
400
707
778
881
827
778
306
533
373
188
372
790
247
823
464
85
735
883
41
746
906
871
838
532
158
790
208
183
485
630
554
763
392
903
1000
415
812
269
442
185
182
277
42
713
122
879
43
941
762
603
506
448
835
283
199
673
114
761
405
78
635
263
859
243
393
58
370
11
924
535
947
44
217
94
393
587
927
68
419
797
736
479
284
730
16
560
864
985
658
852
821
9
45
173
260
312
659
902
832
156
754
840
763
833
849
364
707
284
532
739
617
653
228
180
67
349
105
763
583
329
298
294
585
600
931
64
462
391
262
778
189
68
372
8
602
599
487
265
152
328
929
120
498
853
154
864
786
83
97
853
837
886
267
50
748
324
645
260
615
148
463
207
176
91
361
909
174
511
270
798
166
98
571
607
296
696
774
368
312
754
980
785
687
577
841
821
297
335
641
612
489
731
333
703
786
341
91
173
672
910
996
426
100
292
965
296
422
302
940
653
404
495
638
860
886
742
890
299
415
550
690
660
891
260
627
847
847
602
249
169
496
619
310
946
98
631
515
774
496
726
589
496
913
276
7
321
232
68
690
672
996
982
348
45
333
564
902
597
843
468
619
227
244
484
138
624
244
817
607
152
650
322
494
430
227
669
475
202
176
766
988
378
406
325
668
168
952
175
896
861
993
745
106
110
935
185
370
575
940
743
955
350
70
355
258
940
976
872
535
428
678
995
302
113
497
786
172
106
679
562
140
310
574
91
20
742
497
280
796
388
552
950
188
638
785
871
564
903
980
976
693
164
316
540
489
83
869
167
58
766
656
622
842
449
500
912
598
178
494
514
290
12
292
335
694
418
719
805
670
280
450
491
615
410
636
742
549
511
381
199
675
303
909
422
997
933
139
512
787
827
109
365
245
882
360
108
709
260
978
350
156
61
434
111
536
854
766
668
690
389
918
124
233
778
261
183
770
134
399
483
273
929
376
850
257
300
326
2
659
192
397
568
924
454
526
738
909
969
266
544
630
485
399
530
770
66
508
525
111
959
43
353
753
276
661
572
62
64
776
731
750
232
335
257
441
331
807
751
311
359
240
430
165
599
44
432
369
23
831
950
627
915
272
482
472
187
394
26
714
349
190
695
807
174
715
61
237
917
51
527
596
363
689
144
971
65
883
607
623
896
472
589
711
430
546
207
993
731
47
151
28
839
89
941
370
630
323
840
656
735
173
211
296
899
118
444
670
507
521
173
351
979
646
182
904
420
659
236
231
200
372
128
259
101
416
369
28
308
349
281
847
795
929
738
278
565
392
447
136
846
149
428
563
530
714
327
528
103
68
297
730
835
877
435
39
219
175
194
16
555
180
760
16
41
868
100
645
987
845
316
53
551
808
929
678
929
602
962
546
70
463
29
190
796
557
145
560
677
323
648
53
138
447
461
922
40
531
871
888
416
633
177
729
146
902
823
986
92
468
106
697
601
596
133
247
389
883
484
10
479
902
942
432
284
316
738
620
926
899
975
293
580
343
302
154
968
960
437
369
127
623
850
856
231
356
760
498
538
22
626
255
540
430
474
361
964
33
730
465
591
97
707
593
780
848
533
306
164
648
105
262
252
698
597
665
569
91
166
785
508
328
751
778
308
536
285
558
428
720
223
353
129
343
3
867
241
414
960
716
953
32
251
871
948
64
545
401
367
187
598
718
882
70
340
859
649
853
768
86
996
415
765
221
527
147
960
701
707
57
847
274
129
92
728
640
379
502
435
98
833
892
447
456
779
412
734
14
972
149
627
446
88
370
35
794
607
762
609
586
292
148
808
291
814
485
393
964
45
119
535
921
202
388
638
736
333
647
929
675
614
719
84
919
515
591
449
582
222
884
933
571
580
271
237
805
466
553
946
157
701
520
878
785
553
123
279
147
414
676
633
126
466
23
336
156
12
636
33
125
692
602
139
171
970
329
981
144
129
592
9
668
509
226
756
232
874
379
557
665
602
741
564
692
855
570
266
19
25
655
528
494
504
600
178
515
279
899
268
734
944
362
464
544
458
341
457
547
383
102
880
424
409
408
6
167
672
59
397
670
748
687
764
35
247
603
515
752
585
841
884
160
900
848
30
148
20
473
251
135
92
974
274
752
758
794
605
501
754
765
104
917
410
202
265
365
810
84
151
704
333
151
602
472
840
275
100
127
62
904
636
141
625
742
31
442
699
53
425
737
514
180
69
797
807
898
121
624
822
206
890
771
675
72
853
751
713
370
823
622
8
7
822
321
288
789
601
285
389
103
251
193
818
895
991
423
92
738
98
967
344
30
864
79
77
447
660
911
85
875
437
740
249
913
470
166
383
962
739
848
314
614
134
896
117
741
543
73
811
254
2
314
811
957
302
890
162
326
808
764
889
309
852
265
806
435
686
275
779
647
902
499
758
232
202
269
827
179
579
531
187
82
297
346
228
437
548
252
811
823
275
327
432
980
481
628
238
234
255
973
726
92
891
690
536
65
704
64
959
933
594
676
656
760
963
752
608
912
335
900
510
223
909
382
647
252
328
119
806
237
135
187
922
985
749
481
957
412
314
546
997
879
432
327
657
774
617
727
667
22
303
414
952
337
350
287
603
50
316
354
885
307
192
566
836
277
907
321
56
749
687
930
31
187
242
328
664
845
874
717
763
48
772
621
880
109
213
35
254
631
873
993
621
165
191
854
267
259
578
77
63
954
253
63
133
701
688
894
474
481
959
420
95
622
760
244
191
473
512
561
449
590
762
704
844
553
37
512
170
886
403
308
129
792
276
361
990
585
406
199
741
766
577
28
138
666
254
813
284
460
334
305
184
128
170
377
231
657
261
589
716
352
346
798
297
648
151
989
785
204
712
219
768
405
22
727
340
603
733
811
654
552
771
20
108
561
31
595
716
775
761
846
615
917
841
333
728
505
960
301
320
264
560
818
535
19
543
446
63
797
933
83
746
292
92
831
276
82
621
342
150
236
791
126
679
980
185
728
177
177
268
523
406
203
751
97
991
687
960
848
776
263
875
483
51
135
174
547
157
780
382
979
213
568
203
977
643
404
188
106
708
790
180
686
483
822
390
977
588
741
526
585
495
609
130
786
456
561
174
217
886
895
7
450
575
920
930
526
229
95
62
428
677
515
640
810
508
179
594
43
66
813
42
786
478
241
340
832
840
427
462
943
772
335
777
753
307
726
731
596
467
822
572
268
951
547
984
342
78
723
450
635
494
121
221
814
169
813
990
937
925
575
791
936
48
437
138
656
545
629
178
84
260
295
430
843
382
340
741
837
817
683
224
190
549
23
302
255
383
924
431
541
374
690
728
831
881
982
539
661
394
646
894
578
201
493
940
294
532
84
686
897
997
707
818
829
59
801
917
168
759
72
142
114
142
400
330
241
625
454
513
220
96
589
46
235
643
232
891
209
645
439
138
349
429
745
478
202
782
714
202
585
442
850
262
309
68
642
70
567
325
557
9
203
441
734
79
895
12
995
709
405
872
516
519
686
581
192
753
577
451
284
160
251
33
401
350
365
732
261
14
63
471
973
976
610
421
740
712
460
379
10
846
957
742
109
147
747
969
274
701
178
50
848
281
629
778
115
413
760
546
869
249
139
7
380
198
541
151
815
170
514
276
567
430
472
890
177
295
656
777
684
349
784
360
344
401
141
9
579
172
114
109
953
558
926
582
710
372
408
21
140
677
193
762
601
155
623
28
571
488
1000
744
472
402
558
738
360
819
669
841
781
586
345
802
228
346
80
56
664
447
403
113
533
198
310
740
512
435
921
168
23
58
271
291
181
196
150
155
426
659
299
109
555
618
68
636
246
822
848
256
474
202
215
863
373
423
726
527
245
791
750
96
371
943
546
901
235
913
29
486
560
487
322
566
283
260
252
354
253
418
371
978
916
82
993
964
764
7
970
669
609
502
640
98
42
742
423
750
578
32
76
38
57
173
476
320
849
802
122
778
292
471
249
247
574
281
562
538
957
64
116
12
858
498
798
930
786
12
205
584
561
42
430
346
541
6
448
529
832
350
312
405
564
150
347
815
350
72
893
539
17
901
899
13
513
507
886
44
656
825
335
853
78
398
570
200
251
60
616
344
964
601
267
261
29
631
857
923
227
394
812
417
745
10
92
314
439
447
49
62
236
567
79
87
957
730
663
939
588
804
53
102
823
860
901
993
270
521
605
300
285
681
973
30
844
305
125
554
167
78
191
498
129
989
465
530
593
300
152
980
912
970
765
763
790
312
496
224
590
540
614
421
961
950
68
804
338
615
959
442
475
892
510
732
683
512
461
14
842
710
595
610
581
669
197
609
242
542
854
149
377
448
909
12
561
129
296
145
243
420
208
68
205
258
268
234
974
774
417
97
153
861
760
18
248
747
974
185
9
306
706
382
706
214
582
803
25
643
78
98
484
840
508
476
348
824
825
38
40
437
742
434
959
159
963
584
402
409
902
486
69
550
362
56
196
452
96
535
938
246
22
260
66
879
144
477
359
154
915
465
359
234
845
414
312
977
661
414
167
77
211
408
503
685
612
174
116
92
850
214
792
103
142
942
491
906
918
721
741
631
176
97
581
274
315
36
775
358
287
124
342
507
55
432
691
99
885
204
744
310
984
614
503
126
319
577
427
404
273
10
864
598
927
1000
512
593
359
40
554
976
350
881
694
151
259
573
762
939
647
928
970
701
440
36
167
555
20
385
628
951
665
868
45
753
195
199
342
954
484
286
891
345
768
686
506
775
315
568
299
119
57
544
156
711
275
308
79
789
263
281
103
463
183
356
868
800
996
399
128
903
432
386
699
273
463
907
367
319
631
320
284
602
871
10
239
308
214
45
992
474
834
38
535
685
426
143
764
338
863
963
528
64
366
583
449
574
201
74
220
14
24
593
302
911
591
646
89
914
466
150
631
832
751
696
948
925
619
820
833
9
621
131
777
699
305
880
310
24
680
905
652
745
470
948
988
907
874
983
116
578
778
570
454
245
980
226
627
48
989
469
922
895
422
497
923
501
804
418
534
570
875
599
439
667
103
941
730
805
183
858
126
404
750
301
669
88
401
438
290
713
386
481
946
163
14
729
306
655
894
112
98
787
628
371
342
67
458
564
618
446
689
765
427
229
391
644
491
812
27
147
501
865
156
621
469
957
279
548
291
131
266
525
585
585
486
234
149
478
971
936
642
815
425
455
186
547
927
708
658
280
465
578
345
469
260
348
522
550
4
946
250
241
699
1
329
172
795
43
970
47
723
247
146
819
691
782
35
688
868
165
195
343
632
30
342
505
649
380
687
733
914
664
789
442
755
43
798
255
39
771
778
146
440
949
527
297
705
804
928
245
307
257
423
680
726
790
619
202
888
514
412
463
946
913
235
380
704
944
231
503
431
54
209
235
740
199
184
298
507
127
247
750
489
49
224
878
438
288
329
532
20
692
597
762
782
348
364
203
716
666
532
255
753
973
599
981
628
553
718
601
115
512
158
598
616
934
553
765
416
515
318
946
699
317
409
856
624
292
385
102
289
973
400
473
452
91
283
618
245
904
385
481
922
715
218
230
907
388
202
992
984
677
44
366
553
823
365
575
225
212
169
120
940
807
720
957
973
738
136
564
863
680
793
733
358
590
233
553
906
977
810
869
110
111
749
420
810
490
652
998
162
436
731
201
134
917
203
797
354
549
370
282
135
283
853
943
785
438
362
622
47
608
130
445
614
447
874
937
171
515
707
348
372
136
963
491
472
745
270
85
69
248
574
398
590
780
982
6
655
603
474
565
458
35
536
845
642
15
730
681
930
323
38
135
925
544
612
893
124
550
191
871
113
687
11
64
380
850
548
900
913
324
754
758
21
619
791
846
377
508
418
343
345
142
299
557
53
427
517
863
515
790
473
371
348
129
161
570
276
972
575
702
649
830
562
253
687
324
56
717
7
893
996
780
266
815
620
140
430
814
86
470
258
752
497
428
92
787
515
210
921
870
690
861
2
691
537
456
28
979
155
300
938
575
898
503
999
869
177
637
697
967
27
688
339
433
408
214
958
607
617
400
318
204
326
721
313
417
954
53
53
779
87
340
266
802
603
420
433
834
21
172
247
604
332
958
553
667
250
195
949
307
363
33
585
513
169
285
529
305
330
185
263
44
786
72
484
332
557
818
413
805
150
637
245
376
510
979
186
507
353
332
794
662
538
104
946
407
861
243
855
538
282
877
964
218
141
53
455
342
338
610
357
268
836
334
911
587
62
771
952
855
975
546
543
41
618
566
985
11
949
237
660
535
633
715
823
129
249
241
626
588
76
821
134
159
201
876
49
169
219
968
176
340
186
421
404
189
806
448
135
655
85
384
626
546
766
771
681
491
936
335
491
816
121
326
181
188
39
327
824
905
921
372
229
449
5
163
839
270
330
220
431
817
476
44
156
508
233
779
612
660
514
352
311
426
968
841
880
400
896
600
789
906
47
758
213
910
792
810
897
148
989
403
504
316
584
847
24
134
612
565
229
640
798
465
76
381
415
161
174
998
389
104
164
328
898
922
896
315
881
688
815
924
941
439
832
756
80
953
279
269
611
722
249
335
365
80
724
369
994
651
446
409
789
638
366
353
928
984
893
6
472
119
848
724
754
802
230
214
37
584
401
486
427
536
298
56
70
175
605
212
630
984
634
597
838
533
788
407
728
942
107
203
764
381
369
734
693
360
604
185
387
785
700
934
348
165
973
275
806
879
197
529
565
131
610
637
831
56
821
638
252
469
407
382
347
914
204
486
269
996
946
778
618
451
972
439
617
61
151
631
517
307
73
649
528
599
797
529
935
47
141
635
304
968
568
907
837
778
224
391
31
465
579
150
723
593
402
848
531
654
550
184
464
642
114
767
150
921
43
264
771
819
232
405
264
875
451
910
766
362
189
534
611
512
655
205
403
862
717
635
802
273
534
920
732
469
979
361
634
396
742
145
234
302
163
598
76
207
441
419
715
342
835
701
16
237
905
537
516
317
589
741
159
323
178
505
999
357
816
848
678
77
208
351
568
440
623
974
474
365
129
741
709
890
216
667
172
706
631
615
778
446
290
679
212
717
576
291
543
693
234
498
638
11
296
755
697
835
192
135
465
190
250
89
847
127
295
738
722
820
958
235
711
440
591
881
551
546
397
572
509
763
510
597
951
729
273
996
793
643
874
493
61
258
863
461
196
839
785
530
65
424
328
204
844
707
923
295
104
10
699
87
419
88
66
851
803
982
943
788
107
719
873
494
262
435
789
775
926
427
240
9
651
673
247
287
167
647
771
236
748
593
988
774
935
5
173
55
45
736
15
495
38
13
622
95
283
681
294
243
695
121
395
775
528
651
284
401
824
673
335
483
160
491
525
779
875
501
928
1
369
404
729
943
465
216
62
485
39
97
26
5
292
436
758
600
133
227
317
51
69
478
429
627
926
288
888
704
470
293
459
638
718
342
724
493
319
657
169
59
877
232
194
6
523
878
450
215
336
176
29
29
466
559
637
673
897
883
779
122
881
167
402
484
963
584
166
353
406
442
733
641
555
628
10
130
344
904
294
341
736
540
658
351
335
985
713
883
796
667
88
320
961
555
606
288
816
833
114
146
487
859
389
959
473
631
368
574
255
131
161
981
202
242
992
454
456
420
237
883
73
947
198
313
266
372
108
942
3
701
143
732
598
14
888
369
159
432
780
483
936
792
555
954
670
953
614
636
17
390
519
1
13
628
547
96
320
95
341
636
681
194
222
271
630
734
635
826
994
378
562
826
133
445
457
681
185
203
404
748
816
808
749
876
92
136
436
148
126
103
607
279
105
459
829
540
150
709
458
111
200
519
266
531
796
930
417
219
195
749
283
137
711
740
404
298
583
596
91
186
928
250
787
152
553
764
324
504
480
888
642
302
65
411
368
858
468
578
890
550
96
184
208
840
318
428
897
314
412
256
970
173
227
708
311
822
487
746
577
132
20
125
209
499
430
167
200
35
921
670
833
119
25
807
426
23
963
561
485
571
266
170
325
572
40
44
369
305
981
892
833
462
823
73
438
796
417
759
134
135
46
143
539
613
904
732
963
675
883
795
420
917
948
118
9
849
414
554
384
472
379
286
838
921
421
330
653
507
413
572
19
207
990
548
736
6
737
257
376
554
675
521
352
250
986
787
536
227
192
847
721
716
226
593
208
891
900
838
245
640
299
201
865
652
541
259
919
836
146
476
750
372
995
888
984
616
485
196
394
697
20
677
655
861
427
301
57
527
225
524
953
615
931
507
774
860
769
933
947
751
175
142
941
243
511
76
971
557
236
373
601
267
611
28
590
320
671
208
862
826
815
196
390
246
875
919
131
84
911
213
884
286
326
783
79
373
100
810
81
711
74
283
513
467
263
444
518
511
98
162
589
940
371
691
824
958
387
981
34
572
514
690
85
905
858
67
311
6
302
137
589
660
483
3
890
108
615
614
744
516
221
53
64
748
945
269
206
264
641
159
978
947
814
110
539
285
328
412
798
610
16
441
940
29
450
149
199
283
664
206
843
990
90
49
598
671
271
259
447
487
215
889
793
838
381
831
463
852
385
858
963
324
455
718
643
833
575
555
178
624
24
946
881
326
715
84
852
740
339
952
946
735
821
882
826
755
6
534
140
567
817
172
992
650
341
95
431
77
427
195
642
806
443
956
878
64
734
603
967
913
218
753
370
123
285
674
376
226
833
176
7
963
842
221
572
394
357
598
664
606
149
365
546
302
563
334
528
553
331
546
932
642
133
567
680
248
781
426
381
171
754
202
2
433
651
579
897
861
852
177
975
201
313
108
291
388
933
986
160
859
405
589
205
692
788
453
414
913
309
980
348
536
41
3
152
760
206
395
910
291
783
972
185
927
33
888
289
397
272
713
955
932
989
633
588
207
946
516
209
98
430
156
541
169
239
622
411
910
280
508
802
561
922
839
445
738
312
521
765
227
981
540
415
13
922
544
348
28
249
52
584
188
247
309
415
953
296
712
754
64
755
809
759
118
300
114
647
316
657
349
823
92
907
301
76
294
762
142
588
259
297
943
966
441
631
125
299
184
960
746
519
906
161
857
957
179
915
637
73
178
931
667
753
528
356
473
473
833
960
440
872
88
969
306
970
717
713
678
334
205
411
474
994
157
473
740
813
167
676
24
303
20
458
402
591
650
353
254
357
714
278
133
92
849
3
386
926
450
603
728
653
277
147
631
260
365
155
194
478
409
603
185
362
318
385
36
927
653
157
905
164
454
456
338
594
345
818
699
658
867
383
275
819
719
129
893
284
935
453
965
586
73
282
94
129
173
282
787
968
572
23
323
724
672
131
582
552
410
590
434
510
471
329
360
509
282
161
90
254
423
940
421
252
366
561
813
986
414
5
31
844
281
216
881
233
993
9
42
583
731
577
92
629
755
400
115
446
780
531
659
176
65
309
422
318
971
504
758
725
946
797
983
170
754
270
509
466
211
281
36
626
913
696
386
491
181
963
69
589
969
900
353
710
568
415
426
849
743
585
223
698
346
647
622
853
564
507
24
242
703
293
758
60
797
345
383
676
405
780
695
561
680
439
203
265
143
576
863
882
652
145
150
223
712
894
868
155
642
791
719
143
87
465
273
79
26
480
902
902
744
235
216
338
195
213
720
335
792
107
741
421
970
88
146
236
764
90
8
1
282
550
191
476
135
461
751
310
864
942
160
299
907
818
652
182
881
824
357
96
847
122
514
686
719
832
759
196
193
96
373
537
391
33
427
492
931
604
958
691
266
27
665
941
964
857
128
828
66
296
217
240
750
574
197
612
362
512
996
233
254
450
267
941
1
821
133
850
288
550
997
587
187
318
363
620
572
497
420
913
170
212
10
71
96
551
726
588
744
425
90
560
622
963
139
484
17
598
322
334
403
205
295
165
159
754
34
878
446
932
759
666
88
105
258
845
914
817
579
464
286
735
528
118
487
584
15
836
227
154
146
817
771
890
843
17
103
959
935
284
86
889
883
841
814
91
759
356
205
608
635
792
424
419
314
484
900
500
172
630
555
653
973
479
347
769
687
29
397
817
699
961
748
356
340
900
326
761
291
786
730
679
289
325
308
471
494
24
378
495
64
267
564
147
730
272
955
507
663
507
193
293
479
367
669
566
35
450
714
315
572
786
43
590
818
762
737
351
927
293
747
559
501
980
216
333
478
634
951
199
392
546
987
515
341
321
539
228
39
926
559
954
466
823
777
259
993
750
356
684
300
695
244
739
74
139
871
573
248
458
131
531
514
652
435
95
916
283
229
6
633
524
566
514
441
770
185
748
946
125
98
212
407
377
863
250
834
815
545
149
125
305
897
205
179
618
418
702
287
881
758
254
617
390
439
353
280
744
919
313
283
413
873
990
661
392
956
831
214
586
414
783
577
874
665
603
788
640
362
894
141
689
523
995
855
50
16
495
36
200
73
694
446
575
515
844
870
96
81
347
212
599
572
393
44
710
526
710
982
695
807
186
162
258
766
154
84
100
644
9
242
271
464
661
332
9
972
62
256
801
100
651
814
878
29
112
767
180
158
279
877
158
219
380
678
391
305
38
957
133
813
654
367
357
170
808
153
787
747
353
725
684
528
689
671
884
973
545
870
680
986
255
559
678
62
138
553
674
502
69
354
930
33
761
525
968
318
596
551
163
595
40
387
935
130
854
25
327
271
286
697
105
595
439
820
298
116
810
337
253
491
763
927
892
968
377
434
813
117
646
965
313
459
515
330
161
774
594
889
220
224
678
392
565
392
409
148
827
38
503
659
861
645
965
905
724
809
646
623
145
146
286
242
335
668
935
636
43
525
269
471
194
575
828
732
350
511
690
965
464
187
413
871
99
309
328
144
373
911
452
889
345
888
342
504
496
377
178
653
234
996
258
851
56
759
867
212
146
982
171
121
667
687
397
949
963
764
43
430
207
668
302
7
767
520
184
259
727
258
36
516
516
946
312
909
596
412
465
377
499
138
776
625
278
746
799
631
623
458
825
30
454
646
468
687
832
947
18
769
374
446
671
920
204
129
165
501
650
124
592
403
533
275
381
643
894
222
523
819
449
476
140
496
885
959
374
783
360
86
432
661
189
729
313
134
794
391
387
885
409
443
533
935
918
567
982
731
488
442
362
221
292
264
689
712
750
905
229
747
169
405
189
793
584
988
211
278
875
22
494
400
975
134
148
165
80
223
119
328
283
269
569
248
13
604
140
201
959
840
922
344
913
708
269
368
124
896
831
840
272
352
298
388
177
677
385
165
670
902
539
491
871
417
687
159
257
836
106
673
520
310
154
605
171
174
167
299
272
853
309
449
458
600
522
378
624
30
46
476
282
371
119
891
589
23
620
455
485
333
380
830
222
431
828
33
790
637
435
821
394
185
148
892
203
972
650
506
18
627
796
934
415
417
34
46
140
461
959
528
253
223
413
413
572
522
687
69
475
128
474
358
997
580
173
386
478
13
35
197
715
636
426
756
691
10
172
812
462
408
560
553
735
365
51
508
975
977
200
792
632
656
580
634
232
787
726
102
609
200
257
87
530
464
368
875
318
712
811
123
853
167
366
635
510
568
509
98
173
404
701
882
454
252
238
41
637
551
119
930
679
797
728
203
801
513
455
518
812
338
531
983
343
228
483
206
580
73
611
862
926
997
777
824
266
245
666
250
138
814
334
502
184
948
550
388
696
179
938
45
957
868
385
698
316
91
507
667
657
267
261
227
949
173
906
370
115
805
609
79
295
149
974
464
933
29
618
981
774
115
743
26
20
610
318
373
380
327
95
288
687
664
186
672
98
445
341
244
609
729
380
603
797
457
459
994
203
246
980
739
793
732
986
580
225
607
839
646
492
904
797
348
630
124
909
278
799
558
254
103
11
474
159
521
209
910
483
574
143
482
443
17
770
950
739
952
458
302
933
679
327
744
122
535
487
328
982
530
738
864
118
742
577
444
533
768
974
141
708
9
426
400
428
193
293
212
38
350
241
444
236
398
904
551
874
591
578
505
471
369
793
955
347
552
147
527
292
383
653
687
717
699
152
785
76
346
78
731
147
28
944
257
454
982
454
870
716
204
72
400
684
495
219
543
184
231
988
883
471
620
428
681
215
161
3
147
608
184
778
996
72
617
254
845
27
601
544
408
5
160
765
500
153
916
85
586
840
741
883
975
647
312
846
797
477
793
646
572
926
217
44
532
323
710
884
854
52
407
451
602
862
730
107
510
867
752
952
672
877
512
471
860
479
489
816
439
49
905
385
813
475
186
836
899
927
692
549
384
451
772
779
435
495
323
483
74
751
284
816
650
850
906
841
723
507
238
859
184
700
978
65
647
345
742
980
950
689
827
171
151
389
777
337
502
782
379
736
747
402
262
285
503
195
922
371
663
189
819
599
479
619
194
225
467
630
367
976
335
708
588
353
897
945
952
255
333
87
510
953
224
63
449
20
486
363
153
815
730
203
30
518
574
868
200
504
134
35
557
65
255
135
241
92
51
29
267
363
953
344
905
487
808
861
427
415
499
211
997
653
210
984
821
947
725
79
133
290
77
729
244
529
471
192
678
744
641
551
367
807
705
375
967
236
138
287
648
533
723
637
111
673
163
523
157
316
628
410
888
625
637
455
476
258
551
427
501
240
455
842
65
923
313
468
212
175
160
925
738
292
495
471
123
815
207
407
132
648
117
738
638
359
669
884
341
555
384
234
354
554
450
321
80
360
204
205
413
132
350
435
43
896
441
610
588
264
555
115
336
311
103
114
607
556
392
225
147
199
928
612
503
414
417
413
26
453
73
530
1000
816
191
786
436
524
854
407
196
787
302
564
467
12
767
462
88
139
482
77
845
752
219
175
677
275
888
722
650
842
698
84
698
95
893
735
369
262
324
307
231
326
960
897
197
42
3
529
716
804
428
536
710
119
622
423
142
528
301
445
324
345
12
770
430
527
370
559
169
287
621
738
278
840
244
533
282
777
112
83
986
164
123
557
264
359
341
246
40
969
408
45
785
83
418
587
457
133
461
38
597
304
819
245
180
392
109
458
933
425
741
369
25
158
720
553
453
742
168
691
970
516
939
167
118
848
356
698
777
433
404
685
643
228
682
881
249
493
35
770
424
18
77
804
613
702
725
255
78
63
494
974
820
171
510
809
3
727
121
760
768
717
561
226
585
121
289
841
722
693
566
471
959
667
290
928
450
595
347
820
466
196
559
744
853
240
785
740
199
976
932
498
86
576
389
336
285
373
918
353
468
419
92
513
789
52
224
606
683
667
101
184
401
908
959
592
35
796
891
168
286
137
244
530
807
684
669
616
740
140
172
815
951
69
887
92
569
171
342
477
669
188
648
671
299
915
401
817
626
395
73
662
651
415
322
441
827
819
973
825
892
29
363
180
430
351
398
191
980
341
915
654
2
518
903
848
635
196
707
440
2
45
609
318
732
297
56
109
504
149
391
366
669
29
137
599
423
873
774
373
589
439
466
674
778
12
376
633
619
548
70
461
750
417
971
179
505
427
27
282
555
753
506
10
294
699
358
302
415
987
661
827
963
403
463
702
122
170
777
648
124
399
556
376
990
314
234
903
220
725
823
400
201
407
613
884
836
599
237
743
812
877
230
663
36
980
259
973
950
47
858
832
864
865
865
941
968
385
739
683
397
760
612
673
564
603
200
698
7
979
711
980
153
899
470
450
721
717
290
502
999
898
519
289
816
62
328
179
880
94
4
418
58
374
955
404
308
838
663
231
221
710
71
321
565
176
719
18
774
216
508
26
88
88
149
401
901
662
169
650
962
932
886
127
224
550
873
566
541
134
286
58
889
471
848
202
474
435
451
494
912
626
84
208
647
243
231
183
912
708
5
958
818
885
987
622
645
539
168
627
956
820
462
532
975
180
935
335
560
100
317
604
170
392
341
88
483
652
186
886
683
667
604
514
7
149
323
425
799
230
987
623
227
558
167
19
797
683
974
88
968
631
423
210
524
249
954
783
798
921
477
859
527
747
886
554
874
97
229
937
123
768
641
485
657
625
684
375
76
687
981
126
763
116
874
106
749
474
388
432
468
879
952
651
903
450
184
394
631
492
524
860
509
434
670
615
70
439
576
682
242
943
228
299
640
113
555
67
535
380
589
404
554
727
443
369
347
384
741
951
695
956
918
860
37
761
166
711
959
337
911
224
983
681
372
776
882
736
168
134
851
64
933
743
79
444
621
284
650
323
474
497
267
686
677
493
969
907
333
838
882
602
733
725
48
297
837
439
566
2
519
165
562
402
411
871
45
440
87
690
281
518
971
679
166
415
533
366
988
281
311
760
103
747
789
823
298
285
440
516
23
419
57
625
289
300
75
536
706
459
725
6
69
253
748
779
912
635
845
564
682
409
238
510
495
36
500
807
7
423
274
468
547
826
653
635
526
188
730
12
87
733
300
136
122
656
758
224
61
56
8
314
290
60
573
217
678
267
185
599
415
205
839
131
350
486
644
257
3
767
879
552
753
383
304
73
12
761
141
353
783
326
119
904
689
618
656
183
418
801
537
979
532
530
416
100
771
422
111
48
301
8
907
87
834
75
60
759
198
815
230
428
701
995
882
855
630
703
533
204
275
835
343
73
184
632
705
369
736
16
424
847
716
398
536
173
292
924
64
188
701
836
808
896
972
734
775
337
232
43
20
148
493
936
459
83
319
269
697
216
464
842
20
823
373
437
504
196
440
642
589
761
33
428
610
901
615
795
457
839
719
596
18
781
150
816
38
265
559
154
810
344
425
762
447
765
592
385
517
821
719
949
532
900
376
836
79
51
103
732
432
88
407
924
85
840
551
363
994
166
1000
640
265
266
548
262
641
629
499
260
440
689
710
219
511
895
2
255
374
425
188
364
957
218
950
813
249
359
875
917
736
99
262
657
719
945
682
48
471
332
893
84
734
370
413
389
215
18
958
394
618
840
990
994
206
188
820
144
80
245
68
797
135
881
797
894
140
679
299
884
519
794
359
380
153
564
760
109
3
874
985
282
409
361
324
869
679
454
55
19
4
102
993
84
749
809
433
234
945
240
456
683
120
234
632
919
687
548
390
145
753
11
702
329
573
65
289
902
866
883
243
129
870
307
822
645
300
896
183
440
370
263
1000
847
644
712
213
719
751
881
669
35
959
775
26
634
168
53
97
634
155
927
763
379
771
335
681
415
391
348
291
90
108
883
29
862
38
924
231
290
630
347
959
992
79
416
854
547
741
714
159
453
995
37
273
759
106
334
548
922
486
298
537
758
184
621
599
132
605
246
558
132
170
164
140
54
137
448
987
476
828
237
413
55
304
337
451
466
904
950
397
66
130
789
788
451
88
523
679
76
46
28
177
481
721
426
380
491
570
248
308
949
716
372
914
164
137
540
984
274
385
403
595
148
426
1
798
294
153
547
365
465
745
138
788
307
330
808
155
456
325
922
208
923
442
446
661
498
590
117
806
161
783
810
546
150
754
738
263
465
184
204
332
15
302
754
680
562
182
517
519
889
209
401
262
340
51
623
684
982
964
715
588
176
406
766
585
260
748
153
121
376
342
439
545
226
323
412
842
674
293
488
627
673
489
808
157
944
99
417
373
214
178
830
477
565
964
160
128
653
518
736
104
113
268
777
219
476
451
296
327
299
452
836
504
30
737
56
870
332
411
457
65
183
425
721
87
140
125
259
63
517
125
539
538
116
469
703
20
357
661
784
867
312
415
559
64
185
934
710
93
269
81
496
876
235
90
584
734
904
342
28
399
334
305
664
399
115
944
305
533
271
785
241
738
58
345
484
382
258
813
89
908
249
731
678
783
286
904
964
931
919
912
707
158
405
438
990
609
315
62
159
960
264
309
64
873
851
507
470
217
428
460
627
717
298
15
45
955
290
362
432
123
433
301
636
526
633
779
155
595
832
699
467
86
127
399
974
225
715
207
856
776
326
164
476
419
38
372
307
342
954
378
499
676
248
707
329
240
545
926
789
82
373
611
447
482
727
197
564
386
385
988
163
742
696
515
362
832
999
33
848
502
704
199
784
121
345
877
802
243
577
547
994
153
177
67
967
963
601
347
88
445
555
71
45
538
298
751
697
377
173
275
994
687
902
569
438
638
754
176
145
571
597
349
76
545
192
728
435
303
802
791
507
108
372
44
486
854
54
356
927
997
826
926
519
175
309
134
807
797
676
906
349
507
687
308
527
205
518
778
937
181
980
797
784
59
185
812
252
411
460
914
146
341
558
121
416
856
804
107
357
548
857
869
381
968
169
137
255
87
84
302
623
401
732
251
427
574
543
782
593
985
235
200
949
184
614
303
904
58
348
179
837
460
210
189
510
157
885
14
68
210
588
918
347
341
188
189
284
386
439
308
189
677
225
537
537
109
439
484
691
638
200
680
701
212
684
374
879
453
721
553
402
952
677
656
553
668
852
586
583
801
809
385
355
436
556
385
77
433
493
744
491
311
382
988
779
326
388
640
335
564
395
27
304
610
386
87
410
290
694
391
233
60
280
589
486
823
38
200
307
380
306
990
781
231
397
192
191
164
966
474
501
914
473
844
665
195
820
703
208
569
491
812
359
954
165
273
763
39
817
524
389
512
791
958
817
830
194
6
520
163
213
450
99
295
657
270
701
487
88
549
986
773
418
854
105
688
713
2
99
189
281
338
24
403
802
470
897
894
383
923
229
326
953
303
532
758
308
401
680
337
490
100
427
792
885
104
672
996
600
255
338
808
210
660
797
567
941
939
871
902
700
632
331
957
156
238
702
763
228
388
912
217
951
394
991
89
636
769
614
504
684
359
711
628
183
393
794
637
625
120
906
606
727
678
306
658
313
503
92
569
684
911
970
25
701
408
305
913
79
959
381
345
998
687
532
600
227
425
452
787
387
122
500
863
851
371
274
561
60
207
84
886
690
903
181
132
219
692
802
752
887
224
114
25
994
97
147
163
724
975
668
410
441
655
740
722
488
950
409
822
44
382
539
765
534
520
351
686
406
246
603
45
833
344
689
533
47
628
139
767
562
194
154
49
489
540
819
752
541
991
610
356
51
305
622
745
556
370
751
166
30
650
663
140
881
360
9
709
197
437
772
641
540
14
44
569
784
464
798
630
121
73
421
831
376
64
876
251
177
982
344
182
404
446
151
499
529
861
551
858
148
996
698
815
21
244
753
586
433
981
616
969
512
682
201
904
442
375
545
235
176
533
269
524
323
767
93
159
401
524
158
612
514
533
902
391
834
921
80
142
965
769
356
404
384
379
538
711
679
652
156
78
221
819
575
468
248
214
256
437
81
896
83
45
316
725
903
60
428
907
563
634
133
139
755
927
262
208
922
606
638
319
335
728
643
482
195
327
742
991
290
892
212
432
283
40
732
637
207
878
275
739
92
989
978
781
970
466
241
355
664
153
370
382
890
100
471
478
185
249
152
281
109
531
834
780
964
899
90
920
4
282
527
727
759
93
138
778
586
717
951
64
63
359
43
245
133
722
701
807
202
274
545
877
538
263
970
319
372
209
117
248
121
362
912
304
968
464
407
854
885
235
773
796
826
172
819
778
454
627
835
483
237
633
894
62
190
615
476
942
843
960
437
14
219
383
894
620
790
182
543
883
351
756
306
637
737
211
969
631
148
503
649
758
591
300
509
739
614
685
122
97
89
902
316
271
245
553
74
397
570
66
331
643
439
789
80
965
575
762
252
808
491
85
231
597
116
792
724
811
675
349
941
68
748
165
660
924
135
45
841
23
783
97
888
819
586
445
527
356
284
16
536
477
63
800
249
399
689
226
833
810
195
722
816
514
176
122
264
174
756
268
279
903
140
99
229
259
471
520
191
748
393
554
664
44
323
668
490
975
945
613
271
779
841
865
320
254
491
499
304
209
117
384
320
57
948
664
70
483
533
828
196
852
682
93
584
463
437
439
630
765
261
419
52
398
261
743
808
305
865
748
91
145
810
84
142
969
710
327
890
428
728
788
965
811
103
469
717
813
352
997
267
318
983
359
449
368
473
432
760
166
71
652
61
223
716
604
831
682
987
996
245
465
544
248
181
113
948
880
579
105
119
1
197
15
912
451
934
39
503
579
367
355
277
196
27
245
951
999
277
153
503
628
318
645
266
579
5
752
270
375
654
358
470
779
944
36
34
321
361
290
272
109
376
194
86
678
676
272
71
659
331
849
499
153
738
205
485
1000
542
640
549
593
516
910
645
477
536
594
498
749
395
658
732
180
179
848
835
72
312
566
516
85
207
591
342
654
634
328
864
163
556
266
612
748
200
990
463
455
536
398
854
478
207
720
257
398
155
608
135
646
857
775
317
905
136
660
384
792
947
142
146
988
438
606
802
877
826
534
651
928
319
384
528
257
399
721
280
268
258
430
666
826
97
387
42
146
268
141
60
485
988
979
423
745
417
290
400
322
469
250
419
866
600
689
558
150
193
455
177
906
863
716
225
304
177
413
995
756
828
525
253
830
250
878
644
386
33
7
289
470
284
937
280
136
214
866
572
86
866
394
411
997
849
359
11
413
351
334
671
373
517
551
896
286
463
339
378
127
846
169
873
747
873
56
132
901
139
369
23
659
432
69
913
999
950
19
178
729
980
290
451
345
164
315
832
95
910
331
831
287
404
823
253
852
914
541
580
263
785
269
667
179
580
698
724
607
335
666
624
946
774
528
557
1
635
607
914
963
981
542
102
362
462
808
637
249
26
871
511
160
509
230
297
978
853
68
882
456
458
365
38
983
292
88
248
174
979
521
369
984
985
890
701
366
444
171
14
905
897
384
920
508
405
732
723
957
91
665
561
82
142
310
188
354
692
749
273
965
838
293
399
818
209
272
310
408
160
827
72
281
651
848
984
603
324
546
5
393
108
50
453
128
926
112
475
775
723
222
570
773
95
408
41
120
228
574
794
531
771
466
368
568
473
277
389
761
158
457
932
985
629
495
412
804
649
334
715
36
975
589
217
556
780
945
269
210
465
922
468
788
7
720
744
182
484
996
905
215
364
237
755
160
476
858
341
593
297
276
193
111
375
999
629
358
224
175
356
7
999
188
604
582
632
570
998
495
854
961
209
262
747
868
168
622
1
714
324
212
89
18
951
521
934
607
16
77
460
410
478
203
627
745
199
244
157
9
804
833
184
326
962
655
482
19
542
155
771
736
22
814
823
694
336
954
746
771
72
486
877
105
567
689
169
474
984
868
811
954
878
708
122
262
133
253
399
765
401
676
503
325
304
455
461
41
789
121
232
490
935
502
127
201
424
232
34
16
689
393
752
404
399
313
238
19
578
914
507
565
158
536
248
487
137
792
973
176
894
879
640
96
382
708
272
729
70
401
25
277
554
939
535
853
677
257
143
250
860
640
773
482
95
69
826
969
724
51
429
635
669
587
789
202
282
126
191
653
356
749
399
185
93
386
829
953
75
556
864
572
325
975
152
658
596
398
509
631
895
225
338
662
109
728
70
888
294
232
233
974
817
232
179
692
106
209
381
421
172
873
467
391
433
645
864
39
624
483
959
81
735
542
238
740
985
768
689
147
817
230
121
77
779
889
710
33
941
560
230
205
187
5
924
960
324
462
922
348
457
426
409
555
484
163
538
380
882
271
167
578
191
573
104
327
716
773
472
225
9
604
178
889
646
626
240
706
651
463
911
306
668
22
100
44
664
150
610
160
495
265
85
323
151
729
360
922
858
120
138
829
544
99
502
361
302
272
823
790
652
305
17
110
356
557
962
675
474
666
128
2
177
856
84
267
518
210
652
987
44
782
881
949
618
228
920
718
302
582
106
928
475
918
303
152
627
867
556
345
425
435
658
721
725
89
107
476
160
834
226
925
831
901
941
489
402
685
808
433
607
790
419
458
753
390
241
998
327
632
249
592
226
455
502
798
431
68
901
887
184
249
972
19
848
835
427
658
679
8
666
761
663
458
113
656
430
122
485
605
22
933
656
735
925
950
787
427
373
315
764
258
389
704
819
273
406
338
377
725
608
159
832
401
315
472
930
306
837
216
906
802
232
51
322
244
294
578
804
794
958
387
538
352
968
69
395
517
353
983
75
25
735
361
450
411
981
276
624
513
16
128
864
6
907
523
654
380
470
894
604
616
719
739
858
385
456
105
928
754
177
841
603
211
256
176
685
366
69
367
837
775
294
555
741
204
164
436
111
67
837
55
832
927
355
841
651
717
930
986
396
755
368
408
651
760
532
843
187
767
645
26
217
299
111
587
715
169
268
987
633
24
170
777
823
115
29
538
881
791
460
67
937
915
21
781
582
730
847
858
811
708
353
315
793
567
92
102
794
937
858
279
331
147
19
543
940
205
909
666
548
333
810
906
495
344
694
82
737
761
426
808
577
782
583
313
596
154
378
407
89
532
436
376
416
137
347
65
169
399
962
919
930
785
387
536
731
222
512
141
996
335
693
454
893
244
893
605
531
795
192
137
344
936
92
603
388
380
420
987
953
858
2
959
88
4
441
982
169
391
527
418
585
276
788
64
14
423
673
23
496
706
674
403
716
317
489
100
469
78
942
846
289
742
977
782
607
204
516
36
604
210
322
181
142
508
327
995
762
382
67
631
763
145
947
180
801
499
95
619
285
627
442
278
65
496
520
333
594
146
151
271
754
650
867
933
20
56
414
529
490
828
143
970
588
234
451
961
915
687
660
583
806
248
915
480
653
382
737
371
927
578
827
319
163
644
629
88
849
308
906
952
298
277
310
544
94
25
512
645
618
440
954
380
527
868
710
912
749
269
256
580
751
936
172
388
354
684
925
898
346
512
925
889
502
460
986
560
386
819
169
688
498
897
743
920
902
248
662
259
465
668
517
936
225
276
405
29
234
672
526
631
374
536
619
888
343
988
519
916
925
731
249
497
193
248
22
435
30
363
485
640
665
18
318
321
520
475
43
163
745
18
523
997
254
870
178
251
959
264
357
442
153
506
694
73
676
458
498
532
591
33
410
62
564
222
610
384
64
668
846
348
769
986
422
825
318
885
93
118
599
637
463
389
359
593
133
909
777
242
320
492
26
802
68
130
562
433
537
662
40
943
19
301
283
296
509
986
726
331
672
800
88
823
986
168
808
455
711
138
966
286
60
825
976
69
632
8
338
92
734
937
135
281
664
664
756
972
452
577
522
99
799
363
543
559
183
337
108
139
161
920
380
725
946
69
966
467
204
621
188
212
869
855
535
752
478
31
810
437
158
343
945
222
952
459
339
517
582
845
833
98
130
99
100
861
342
843
337
493
449
119
620
913
437
788
172
954
701
216
118
869
881
352
984
130
459
410
326
465
405
518
398
249
754
88
679
144
481
151
433
386
489
579
192
212
804
951
221
707
322
771
560
792
578
928
196
156
16
540
293
676
237
797
176
299
486
21
924
387
445
927
34
262
36
969
603
56
502
761
850
994
526
759
625
929
513
822
756
291
449
762
685
592
943
731
877
307
166
146
920
245
396
846
42
488
780
353
35
610
771
456
211
156
392
775
65
299
119
642
776
189
724
404
567
735
836
214
162
506
352
472
311
940
60
368
414
316
29
348
743
791
356
960
696
332
846
215
797
567
96
527
857
418
211
300
844
866
103
474
520
365
890
663
828
229
455
44
350
761
596
833
895
57
547
990
424
153
863
798
60
641
776
77
901
971
199
116
722
396
462
814
392
911
742
183
66
632
876
67
721
731
934
909
664
440
477
431
995
682
913
333
812
521
725
527
174
18
654
936
425
50
93
600
538
293
63
694
513
906
125
71
760
407
527
105
569
835
661
940
486
610
662
744
392
399
600
176
609
910
237
99
165
778
800
499
660
602
520
700
830
765
990
188
994
875
527
834
66
534
795
817
695
695
926
340
414
6
254
63
371
434
563
272
351
910
431
972
278
937
873
442
375
857
980
345
429
1000
641
105
387
13
798
117
642
455
865
331
926
213
98
890
667
319
715
795
60
577
547
8
847
722
800
44
987
984
306
818
984
565
267
481
632
968
104
14
314
114
441
603
812
874
699
208
798
993
5
253
752
363
342
119
135
276
968
909
9
582
109
33
174
641
887
282
110
602
210
415
660
788
109
739
448
934
645
832
479
582
991
318
234
222
814
575
838
627
360
365
571
438
946
618
50
225
699
48
931
159
465
825
843
933
776
283
597
767
644
528
390
170
734
825
876
636
177
894
458
580
855
557
115
666
520
707
377
114
507
246
843
714
119
462
735
36
995
271
574
783
886
933
992
302
315
110
79
29
537
585
422
36
44
599
173
931
658
485
72
39
859
226
327
203
614
620
660
553
418
990
639
272
647
737
580
739
598
591
988
425
807
130
453
561
314
962
400
925
548
1000
891
42
435
430
935
715
126
282
399
109
496
8
656
506
146
102
600
463
237
599
462
360
879
231
198
196
168
125
845
86
217
204
356
108
682
852
884
26
366
989
428
935
428
440
997
83
650
349
202
931
945
467
283
46
39
293
91
533
802
468
488
572
262
263
948
45
708
743
893
385
614
949
424
561
362
467
689
530
832
878
54
582
6
855
630
778
639
169
485
29
928
419
9
491
834
105
537
610
410
572
275
548
23
403
5
760
846
112
826
149
379
343
398
590
32
340
788
597
16
144
15
570
854
847
824
367
867
222
66
895
871
230
280
70
155
240
732
740
527
254
215
119
844
87
363
869
984
244
118
201
659
177
226
295
805
712
359
866
562
722
489
950
993
492
683
833
781
862
352
584
102
903
282
840
756
809
523
329
426
721
269
109
627
389
444
658
499
956
581
773
116
631
952
671
385
723
627
842
919
296
297
947
516
721
229
534
976
501
706
381
47
87
650
64
224
806
896
746
972
649
773
210
704
445
229
922
501
836
712
249
134
561
433
994
417
787
429
95
302
613
55
688
415
405
140
705
910
341
83
852
656
387
566
116
712
931
409
920
29
501
338
652
77
277
54
593
850
625
89
183
328
491
335
177
994
316
54
470
477
42
404
283
700
937
214
964
216
180
827
861
527
603
292
622
282
538
130
762
213
467
144
580
546
47
496
287
409
123
364
759
462
572
25
436
548
130
126
739
717
907
247
806
311
947
593
491
208
17
804
355
452
782
418
782
707
687
480
479
953
126
159
347
819
958
3
109
764
10
640
162
116
4
304
803
594
222
582
392
536
336
141
8
516
36
24
849
425
488
282
986
355
202
364
44
840
571
659
74
105
226
55
160
955
341
182
272
872
202
260
541
708
679
123
331
54
723
15
508
36
628
259
822
786
640
706
606
319
373
197
890
850
681
908
592
888
819
550
636
561
209
882
773
725
656
893
348
367
627
292
496
700
57
689
37
132
220
928
896
974
401
579
972
370
424
501
224
422
671
747
196
890
819
797
332
191
417
262
195
605
351
755
160
761
426
582
217
496
555
256
297
116
507
644
909
960
799
680
949
890
13
218
264
30
822
536
903
603
15
443
56
222
78
706
309
353
268
737
244
968
662
115
369
568
352
484
29
906
837
867
265
689
646
196
542
491
426
158
902
900
24
60
359
672
598
501
309
255
417
56
300
633
805
93
765
831
638
64
220
819
904
333
993
759
110
640
754
751
719
836
8
254
400
387
218
363
578
459
434
999
691
99
119
837
574
159
388
507
602
92
995
202
597
727
257
312
983
414
523
152
376
701
951
113
596
849
123
853
79
7
460
226
817
896
495
700
217
129
804
967
755
145
809
281
886
859
703
819
433
727
502
30
615
933
550
497
927
766
887
303
332
92
522
290
606
5
35
874
225
379
906
267
870
39
628
79
514
723
975
234
22
816
753
109
407
97
996
544
183
354
834
178
752
826
205
121
383
825
166
561
163
815
819
321
221
450
746
737
639
777
436
484
755
880
380
133
934
740
390
297
496
970
244
193
213
395
894
322
659
149
386
772
757
84
65
316
73
790
851
97
732
474
147
194
385
263
404
760
296
229
529
756
449
609
43
517
568
213
378
535
63
983
774
844
222
44
974
385
422
322
345
519
718
37
83
670
959
892
898
695
469
841
941
166
446
650
747
224
419
319
691
40
515
597
740
198
846
477
345
523
982
542
907
961
380
487
613
132
627
959
364
78
515
104
172
563
324
855
657
988
135
36
215
616
657
837
34
353
829
57
356
757
427
792
316
305
996
925
221
193
690
856
361
123
38
392
323
571
215
616
296
40
128
874
31
646
523
689
998
190
356
565
725
564
879
135
514
927
238
56
480
595
899
362
389
7
891
759
835
439
664
451
103
361
369
680
510
472
472
81
71
465
939
352
126
543
646
481
925
530
318
971
275
184
15
73
19
5
138
34
524
341
991
751
380
138
158
44
169
3
363
950
548
570
994
61
840
330
212
953
23
209
382
173
279
147
600
91
267
879
258
163
871
920
906
778
477
463
150
952
767
574
978
546
578
546
678
587
678
769
480
513
148
787
159
855
673
489
78
956
231
516
605
795
552
75
372
912
241
280
619
688
650
46
706
994
425
347
969
296
133
329
254
833
575
383
850
432
121
768
32
830
965
814
115
129
230
15
723
147
703
589
983
988
359
168
463
104
968
351
1
489
796
778
985
416
829
239
281
313
997
77
757
934
614
822
265
997
591
544
23
839
25
894
571
446
467
181
873
430
460
124
647
118
15
96
755
970
255
796
292
936
853
269
61
233
792
126
282
215
623
610
683
703
690
904
648
162
686
676
691
578
533
433
350
756
807
647
522
29
834
18
387
43
147
447
318
367
207
488
597
163
161
99
327
60
943
483
681
650
213
698
485
768
446
505
208
805
18
598
602
825
250
970
628
206
214
689
769
836
551
733
556
634
667
875
902
333
487
850
862
987
328
105
558
643
601
547
306
969
738
585
416
410
209
638
779
611
492
35
74
440
620
885
381
922
270
79
47
797
421
30
877
223
244
172
126
328
286
501
300
967
956
639
474
29
4
11
705
81
993
711
112
956
699
559
370
160
51
669
703
573
439
554
930
27
205
451
747
738
691
60
248
496
475
344
614
742
336
398
15
358
28
617
38
80
193
594
362
915
576
215
981
876
263
408
9
594
832
874
995
141
153
933
697
452
75
268
495
293
376
12
955
630
181
58
578
604
501
945
443
29
687
946
271
511
345
233
407
797
727
110
386
966
669
353
11
395
918
623
336
237
88
788
561
307
533
720
584
856
154
815
903
706
535
38
614
625
802
779
498
595
318
174
561
862
645
844
956
258
215
187
899
308
794
462
46
55
133
909
837
384
187
50
443
855
868
164
309
697
614
600
749
677
958
279
703
6
905
230
537
324
135
474
736
45
989
896
452
67
725
24
98
888
774
771
638
681
565
284
781
790
60
9
999
374
274
947
224
669
943
901
73
432
965
151
675
659
413
651
543
599
721
297
407
406
106
262
640
525
424
690
694
46
417
272
972
809
766
363
684
17
429
323
537
447
521
709
558
159
364
815
948
741
420
769
638
751
522
113
136
958
197
300
317
434
900
65
53
300
655
982
969
177
965
803
135
978
814
381
232
723
270
75
561
452
489
523
300
190
886
601
561
116
878
203
136
747
852
172
307
13
983
385
724
542
88
499
143
340
953
309
788
320
501
47
185
831
681
164
589
384
222
332
550
295
235
451
718
847
188
431
747
866
959
387
21
336
525
686
985
769
314
966
51
582
441
846
425
655
812
554
687
570
589
127
650
792
602
106
829
166
89
941
858
684
560
389
292
418
699
266
568
894
946
824
316
927
804
913
838
146
982
790
319
995
212
159
275
994
910
528
794
451
944
506
365
599
378
992
503
345
485
532
868
445
235
272
342
928
199
92
323
10
52
437
548
602
864
344
920
717
975
926
113
758
537
339
256
706
722
847
580
679
211
179
758
226
811
786
588
938
951
954
772
707
362
9
834
965
494
974
609
804
36
149
327
706
500
13
50
964
961
763
89
552
916
571
96
324
717
346
703
964
165
372
963
984
712
699
331
472
107
609
612
958
537
728
127
967
994
657
318
353
127
64
161
466
856
247
52
582
809
109
264
782
48
344
704
653
578
366
439
760
897
212
401
836
167
172
726
17
658
409
455
272
762
198
667
364
253
690
698
309
430
324
769
317
471
73
230
615
593
759
608
399
619
538
853
390
145
512
466
134
802
117
699
198
19
588
647
930
306
337
835
247
309
501
873
260
789
288
850
147
266
2
388
829
229
771
715
459
755
96
686
640
845
285
404
585
6
742
988
153
446
841
80
790
730
834
878
942
910
823
842
420
954
327
731
542
756
411
306
607
133
628
835
405
10
281
554
19
388
611
345
137
835
584
197
446
941
866
472
455
609
437
593
285
93
53
545
518
435
413
481
216
304
469
839
588
267
777
544
621
235
190
325
160
125
442
680
554
815
408
719
25
97
894
5
298
662
818
489
909
88
576
833
824
464
175
711
637
524
459
189
703
122
380
910
981
465
794
588
253
759
712
299
635
840
286
130
998
916
62
36
974
753
178
156
721
524
295
417
536
70
970
5
665
474
92
133
404
751
788
625
691
879
884
994
895
624
610
72
440
353
754
763
261
560
863
148
785
889
413
992
303
266
114
720
154
168
602
6
83
133
852
476
499
389
557
431
164
871
588
130
964
940
381
911
47
869
782
373
573
495
441
902
732
490
305
53
468
379
160
697
585
771
456
386
498
273
811
70
924
212
751
196
233
586
171
183
16
641
979
470
667
100
165
660
398
329
266
729
202
683
847
958
699
838
126
998
674
192
337
441
402
299
754
396
505
868
580
795
201
75
30
607
258
814
39
687
897
17
983
750
160
399
677
798
994
777
709
432
387
654
860
637
440
875
961
989
167
1000
23
783
161
484
926
189
992
890
226
432
347
135
901
918
503
195
958
412
630
805
878
622
839
416
808
51
618
91
263
513
505
63
853
547
421
425
218
821
56
757
896
729
134
545
377
605
153
929
898
359
417
665
905
895
791
151
228
366
626
71
155
177
741
471
594
660
154
82
398
511
525
309
768
419
910
589
377
771
450
755
458
987
125
635
665
803
526
355
957
793
889
734
64
510
307
701
423
915
115
890
541
131
947
436
902
207
837
529
431
236
48
467
461
111
42
782
904
214
69
511
41
561
434
857
922
256
371
265
899
628
828
423
192
122
188
816
747
782
88
238
829
203
78
99
950
937
786
466
748
635
648
501
404
660
14
397
990
515
621
931
948
192
21
516
500
456
519
949
430
177
592
144
73
22
541
773
791
242
363
94
469
802
415
264
765
822
483
51
936
147
291
200
91
875
306
649
613
841
961
441
307
387
31
424
576
220
970
798
531
800
477
126
497
509
406
707
812
767
414
83
157
409
436
27
928
874
118
577
307
179
872
543
749
230
87
441
615
761
327
19
506
58
90
331
680
696
761
872
612
691
973
383
356
856
466
796
870
618
898
209
880
276
791
936
190
464
941
443
527
576
163
416
194
62
231
291
799
773
190
338
291
5
41
789
371
485
919
545
114
316
527
737
289
799
526
767
424
147
17
501
164
326
13
952
825
636
54
154
332
214
687
891
942
321
586
653
240
129
493
436
886
762
11
17
535
482
498
935
140
259
982
701
588
428
56
671
235
807
151
640
463
383
494
428
804
696
284
659
538
103
324
483
910
385
418
199
301
589
326
628
727
556
991
590
26
322
16
47
973
482
110
300
347
616
321
124
674
120
393
888
944
103
512
520
148
553
58
607
843
617
678
109
309
693
185
866
67
992
314
584
658
375
324
14
625
560
812
838
577
252
874
141
69
347
901
431
778
122
920
868
124
256
349
750
43
585
437
321
114
740
474
663
586
186
49
749
181
752
255
777
688
416
763
499
532
972
106
620
428
238
358
293
204
596
614
322
663
20
352
33
81
200
775
640
585
22
719
567
158
452
553
410
498
831
793
145
284
680
796
735
653
391
23
504
878
588
810
526
272
525
509
806
350
616
153
199
122
80
499
874
223
726
440
620
235
108
267
432
182
633
215
641
669
716
48
318
559
749
180
786
390
479
964
870
963
356
356
944
658
570
100
929
74
781
944
126
531
988
178
197
819
601
965
645
338
543
486
876
423
121
967
279
241
480
993
812
77
686
348
252
259
893
835
597
209
547
102
136
342
327
584
331
593
351
34
971
391
200
987
20
792
479
748
222
305
954
89
781
666
790
961
373
447
68
929
355
934
509
932
262
117
340
228
597
36
301
73
479
918
66
743
924
771
789
31
413
106
25
213
919
463
41
797
773
310
408
81
547
626
790
641
681
217
87
410
693
387
408
925
643
94
870
661
977
140
915
92
10
257
626
285
62
171
520
385
739
857
446
272
888
250
485
98
545
584
216
109
574
422
320
405
772
164
245
809
910
487
579
67
573
758
864
938
676
904
787
580
222
625
116
823
219
116
245
543
642
657
946
359
18
522
765
323
486
670
528
91
175
598
569
296
348
535
634
509
54
894
902
220
940
533
173
707
512
895
108
558
309
548
313
863
443
3
202
770
438
938
815
189
577
96
193
906
803
234
484
289
755
435
695
29
724
995
876
108
124
883
583
281
591
452
657
874
973
691
714
640
286
805
259
740
154
326
993
661
412
271
729
21
300
90
289
766
119
268
911
229
306
510
982
871
652
325
358
311
760
745
154
410
923
602
623
778
304
494
699
46
695
119
815
643
111
134
866
634
228
65
569
354
951
103
4
226
440
795
830
133
546
735
539
170
941
386
83
415
170
53
438
610
503
854
931
291
705
261
689
930
817
407
173
156
605
904
568
945
592
336
758
962
482
963
697
901
363
421
277
774
264
346
190
560
553
952
879
540
136
528
377
948
659
732
754
256
719
325
896
549
601
684
586
953
198
44
165
1
612
909
611
179
352
487
502
596
215
328
182
907
687
561
418
137
133
253
978
36
154
467
846
943
222
508
258
917
118
725
328
65
738
972
807
581
578
502
439
5
546
635
454
591
815
1000
946
496
77
559
324
693
936
880
493
132
138
330
209
695
26
966
822
914
889
883
706
253
852
717
797
4
581
803
8
478
338
204
758
236
880
477
508
553
263
574
967
188
868
689
600
777
888
260
173
872
33
547
320
715
472
395
557
326
863
838
725
382
883
196
584
677
836
176
164
631
755
286
530
468
928
566
811
176
914
213
697
295
938
237
133
925
9
623
596
63
234
860
169
544
575
868
612
405
738
521
765
435
964
990
913
74
244
47
176
549
879
364
643
350
388
565
655
711
435
452
646
758
870
404
945
381
981
428
252
673
732
686
807
33
128
658
897
575
811
247
979
570
691
266
590
40
663
727
221
454
501
280
496
747
564
957
321
479
301
103
162
57
412
5
227
356
171
277
149
967
608
477
686
551
203
805
92
487
258
972
43
28
371
497
458
743
268
758
86
844
812
85
515
356
169
78
88
763
965
108
300
894
754
663
439
316
288
782
573
457
860
342
515
978
500
365
68
685
873
836
669
397
559
736
524
747
790
132
500
846
829
201
282
111
922
14
793
320
149
732
473
140
570
649
759
959
762
160
51
824
249
310
499
723
299
35
205
191
307
623
802
494
288
156
911
202
1000
942
706
24
894
3
643
178
374
709
434
418
833
562
521
66
530
928
622
64
690
280
406
80
96
97
983
197
76
137
718
541
2
230
780
516
344
78
992
943
874
822
780
531
818
284
445
561
650
864
567
570
738
35
70
147
225
290
362
611
391
135
32
515
228
454
746
382
111
155
381
64
254
502
927
387
132
971
349
544
129
760
455
795
486
335
761
613
51
491
515
365
399
477
315
982
678
647
206
830
906
968
768
208
508
463
441
420
634
327
277
430
110
22
367
444
958
132
432
597
71
145
451
122
990
596
744
993
710
222
625
61
112
863
606
106
911
845
130
95
998
512
996
148
644
362
957
370
349
999
446
765
21
710
38
884
785
35
43
757
952
139
565
892
600
124
486
835
745
700
92
846
350
772
458
735
228
593
318
819
473
77
846
232
223
762
681
559
386
717
568
852
465
325
175
624
795
550
34
340
272
720
21
255
148
331
506
181
587
673
94
932
447
274
877
721
184
356
249
765
884
452
637
696
150
342
935
171
997
275
55
219
957
220
754
490
306
530
832
512
717
997
846
486
642
722
754
960
445
627
250
890
615
705
117
262
414
306
640
426
943
849
930
745
940
372
77
989
580
210
183
135
163
944
663
897
868
469
686
340
678
650
258
405
162
605
255
41
80
56
643
888
629
558
263
152
765
680
775
394
194
352
826
432
562
671
33
464
823
434
143
815
38
544
594
419
611
209
759
261
543
576
341
529
376
5
770
156
346
719
931
736
724
966
246
592
425
151
948
864
781
607
378
60
759
831
247
494
56
12
134
350
189
657
915
920
145
928
434
735
199
108
485
868
221
228
112
713
176
476
277
903
533
498
198
867
3
41
51
698
355
717
265
655
50
823
324
602
109
282
891
163
908
752
26
155
599
866
483
131
434
394
375
511
585
837
983
804
960
570
118
921
133
238
246
405
720
495
536
705
466
561
85
280
854
313
854
399
259
799
263
22
555
106
949
991
596
523
960
120
194
781
508
430
37
971
471
929
509
416
25
827
509
373
153
25
186
948
273
34
971
25
911
234
412
309
171
513
73
830
719
890
245
369
160
679
244
301
956
119
864
311
503
149
943
265
580
216
45
288
149
554
5
759
403
384
435
489
45
863
310
849
986
426
475
960
65
374
211
368
933
150
22
813
918
810
451
800
590
572
38
671
707
198
509
819
432
195
897
468
19
440
583
195
642
929
166
972
697
773
682
78
674
442
924
631
685
531
513
881
791
998
963
620
587
888
138
265
872
87
449
196
848
502
593
953
998
389
873
720
686
255
946
367
582
876
376
966
178
484
474
326
71
110
779
580
142
409
937
287
484
21
905
794
712
666
157
880
307
741
18
771
748
124
338
714
516
264
461
184
474
414
856
693
746
12
833
894
994
849
470
340
875
587
282
849
579
651
149
855
544
268
741
553
858
669
993
899
381
60
199
729
333
14
935
358
953
330
333
37
831
278
197
538
705
344
81
958
815
277
695
578
420
254
997
209
682
477
854
24
957
328
459
299
447
544
549
834
295
482
69
98
462
687
109
283
144
415
827
523
56
713
615
524
654
888
907
706
247
987
928
768
983
957
119
260
922
706
170
353
738
215
392
511
117
169
601
160
583
324
856
793
315
973
113
137
497
415
355
189
875
307
786
904
489
129
478
317
20
763
223
688
758
375
431
34
1
356
610
71
589
87
345
157
350
663
723
286
496
542
836
589
353
265
321
60
382
30
916
433
149
913
647
228
731
942
572
984
93
104
988
623
115
555
605
693
279
979
499
962
521
91
557
479
365
725
753
732
276
824
808
996
102
910
720
303
586
305
180
717
200
425
135
767
958
4
614
956
442
952
456
229
31
901
783
181
167
145
883
548
577
858
682
240
544
939
122
761
693
792
570
360
257
674
879
686
464
973
803
26
515
948
268
424
596
982
437
121
511
385
597
778
812
138
631
914
754
732
251
792
16
447
234
789
881
981
606
928
491
361
94
800
876
413
203
609
668
918
949
436
828
768
626
100
220
39
975
200
614
948
796
1
501
56
316
867
168
939
638
803
613
762
181
536
220
869
320
266
603
521
354
831
647
388
541
610
576
271
171
880
846
787
548
740
728
433
329
920
753
535
864
9
579
56
75
649
419
165
912
255
927
734
640
687
278
673
19
85
280
98
976
761
503
868
473
674
801
940
135
470
103
338
621
531
22
257
880
751
643
971
196
7
860
785
348
414
736
191
340
498
687
802
854
338
709
349
24
613
498
268
167
216
75
930
822
770
417
593
839
950
717
525
255
979
85
587
421
59
919
711
146
777
693
396
643
714
646
298
713
585
665
469
900
268
713
595
339
936
286
855
611
389
739
632
232
351
772
397
299
162
32
513
442
823
564
596
462
771
795
319
926
161
860
229
579
624
304
248
627
682
662
986
814
43
946
909
773
978
843
714
272
866
269
945
857
765
22
31
874
589
426
417
991
31
250
399
190
908
678
625
610
996
789
920
808
763
825
284
718
592
495
435
77
266
732
236
142
480
577
712
293
113
334
127
495
828
756
774
681
342
758
713
808
334
89
673
732
567
477
741
43
246
972
260
746
24
617
557
930
354
111
748
653
71
831
883
851
204
450
119
442
988
365
439
718
11
361
686
787
188
234
319
54
20
585
340
706
218
634
322
739
289
708
308
312
149
985
641
118
154
197
450
23
221
267
600
441
838
247
414
780
866
524
357
827
971
979
185
125
455
684
757
225
976
743
842
217
401
109
749
65
593
555
559
113
464
484
51
566
9
935
167
901
390
978
995
904
329
659
817
514
221
791
707
691
397
207
545
312
925
499
71
489
182
917
795
756
172
835
139
298
238
117
202
764
395
805
915
230
951
755
169
573
493
272
690
838
595
296
69
203
780
425
360
786
400
908
94
833
56
744
386
836
148
201
62
693
906
396
343
353
20
48
745
293
593
170
216
773
684
243
497
67
154
369
877
761
869
29
250
780
574
289
425
8
910
765
168
259
129
197
296
859
995
236
517
299
292
927
337
261
112
398
549
812
783
516
267
706
935
557
452
563
653
508
184
143
129
266
660
61
498
816
75
67
810
458
82
453
173
309
466
232
173
566
57
490
622
492
675
705
487
683
58
902
680
943
321
210
978
1000
487
768
966
392
16
974
329
59
66
704
230
588
427
536
772
585
672
958
759
351
127
213
33
916
623
747
723
451
907
190
595
308
748
404
552
209
485
443
39
619
774
181
729
967
772
946
435
161
839
789
591
820
142
865
29
721
178
997
21
248
364
712
711
32
284
879
134
555
126
650
5
216
95
546
314
253
337
413
572
954
5
431
237
782
613
546
451
419
759
476
713
215
645
928
543
229
518
784
490
844
360
771
71
949
656
593
363
789
54
574
992
905
90
623
211
20
922
713
620
332
185
156
816
450
673
646
933
124
543
419
597
976
126
930
306
711
224
92
593
627
6
503
663
825
199
49
337
204
319
953
280
177
85
635
462
68
22
709
729
319
469
83
172
950
886
386
707
205
362
894
919
956
743
719
727
222
592
256
922
130
537
809
920
712
179
851
375
251
854
624
431
252
9
611
464
732
864
980
150
219
328
274
556
779
835
438
760
391
894
814
172
210
667
842
350
633
804
66
604
555
104
444
72
906
319
156
304
364
550
826
587
141
232
533
384
842
687
81
288
740
569
720
862
211
285
954
529
716
692
84
505
457
909
895
359
761
95
230
392
337
445
250
500
737
437
847
544
805
596
26
548
378
626
71
255
246
813
946
635
219
2
724
973
159
303
758
60
12
907
988
846
194
54
988
598
164
214
360
302
674
60
614
498
946
595
963
272
9
153
347
396
518
593
547
920
640
139
499
644
19
793
762
992
404
138
625
769
246
645
542
152
475
338
404
85
700
734
662
908
270
552
471
661
13
557
827
11
956
284
148
162
16
101
852
414
470
211
287
279
990
775
780
174
184
261
680
754
845
500
10
905
609
723
742
226
264
993
778
643
793
49
428
393
74
575
557
240
297
282
585
224
362
18
228
639
897
291
201
213
117
263
86
665
407
224
257
911
394
41
21
176
270
873
137
226
302
702
464
691
805
860
806
228
303
805
910
867
266
829
210
442
615
273
118
428
88
74
604
882
730
155
317
416
986
260
777
301
311
299
985
876
792
193
358
395
998
495
63
332
169
777
687
960
887
875
648
680
604
625
932
230
700
633
530
344
329
961
432
893
919
355
140
831
50
769
459
508
405
522
739
21
637
345
855
335
261
974
934
831
177
689
264
794
978
396
861
102
22
411
902
53
110
121
596
817
727
65
81
480
15
801
652
35
34
112
934
948
428
752
622
131
288
906
70
236
882
17
314
218
926
410
80
995
240
451
951
863
945
540
142
53
879
380
278
452
484
336
147
6
276
633
648
836
914
367
77
366
13
996
422
95
93
64
580
734
497
394
271
559
662
885
949
752
879
347
203
429
543
513
972
803
970
502
405
630
21
486
346
719
160
294
224
734
68
962
623
971
611
34
878
101
786
519
892
77
243
977
722
562
130
186
651
232
291
164
152
295
300
123
578
380
438
104
483
724
438
615
159
235
806
581
384
584
537
333
381
964
321
141
686
487
703
6
942
551
212
67
673
626
158
953
692
56
684
887
164
467
637
141
255
265
15
710
975
549
68
695
44
475
602
956
602
743
684
40
125
396
736
264
194
604
956
94
636
405
109
643
153
663
996
197
719
655
332
156
952
770
323
689
166
757
989
691
983
872
139
331
256
37
979
630
537
813
500
974
457
609
184
446
238
38
45
164
980
736
724
549
515
307
154
617
385
234
312
917
943
783
700
709
673
900
497
326
536
108
780
452
614
201
795
218
324
330
66
585
224
715
987
511
798
791
684
741
627
64
107
913
51
349
747
849
750
322
878
518
698
536
955
197
555
137
631
757
914
517
892
845
766
64
956
994
156
976
922
289
310
836
630
319
422
274
831
579
904
568
568
340
112
503
600
303
522
124
832
19
828
300
960
107
685
156
959
868
702
527
628
691
773
520
130
38
74
189
353
445
844
92
956
110
609
195
189
165
630
197
889
643
177
834
617
499
701
155
530
767
90
67
425
84
981
667
372
389
521
17
488
515
85
51
709
800
178
246
836
597
175
539
780
731
590
709
663
546
308
151
365
176
558
470
167
58
457
862
401
514
622
574
366
441
694
66
353
745
623
657
286
211
208
558
375
876
685
182
161
853
151
549
527
774
205
406
549
649
482
421
570
27
684
429
495
768
301
235
105
614
476
962
151
33
348
216
76
439
791
660
484
46
656
708
909
24
533
131
973
590
532
343
805
919
804
6
438
494
350
399
959
625
156
654
403
376
854
598
714
80
926
426
619
948
914
825
939
13
234
538
663
807
974
508
129
711
475
947
743
881
609
649
17
8
383
846
110
965
935
745
695
534
17
628
718
22
805
78
538
545
222
443
31
166
6
131
430
860
427
712
117
510
916
93
72
723
838
197
427
306
326
719
395
640
375
504
898
49
381
8
331
480
921
137
284
469
852
458
482
407
733
439
852
596
195
867
443
428
74
74
834
310
100
938
805
618
419
869
297
64
496
162
100
324
802
171
299
703
200
720
217
885
152
50
504
544
700
397
55
690
676
977
628
163
737
745
427
603
648
840
371
546
685
975
496
73
168
409
726
536
902
330
244
471
730
605
820
760
529
916
773
454
673
204
660
452
440
237
421
413
868
825
450
843
295
914
995
300
191
316
362
63
905
335
621
387
648
914
912
711
373
220
987
759
201
774
322
532
705
336
996
589
661
746
536
866
864
860
109
500
198
502
759
806
456
116
874
558
322
386
686
232
523
685
442
702
412
590
792
151
136
118
62
665
113
529
358
17
750
750
838
677
204
521
91
958
535
337
267
509
751
143
517
89
126
529
325
654
634
863
519
322
512
387
120
698
784
828
671
376
12
462
385
187
705
909
266
883
551
149
325
526
113
370
180
786
687
326
593
728
785
779
964
446
110
500
411
50
935
13
810
138
542
953
110
828
707
480
294
860
284
633
603
53
618
927
21
626
827
765
558
493
34
419
586
679
262
442
307
411
999
395
491
291
441
650
738
181
16
874
898
81
80
507
705
347
605
199
386
20
284
667
724
940
709
925
88
562
184
150
964
83
305
713
860
559
649
82
818
200
775
342
378
900
287
75
559
384
887
209
300
48
173
242
864
698
461
924
899
887
33
92
210
501
54
863
801
578
830
772
430
57
246
800
729
329
954
423
931
7
356
971
391
264
486
610
355
500
673
190
918
821
233
88
694
21
539
878
482
338
495
373
147
224
850
116
1
783
769
874
203
336
827
98
68
763
851
556
762
899
126
572
501
277
37
388
283
938
622
162
159
864
388
57
235
825
450
657
917
80
255
686
386
415
138
655
948
482
534
546
673
232
902
154
702
539
346
995
703
771
455
970
227
148
111
151
120
218
892
81
732
687
208
3
396
121
500
269
531
768
693
989
777
839
552
680
760
131
776
243
438
792
455
142
524
340
6
24
90
839
786
382
355
215
392
53
572
312
92
486
127
181
888
753
200
526
506
219
839
942
975
620
877
798
528
79
880
178
288
230
255
293
543
187
704
172
484
602
449
234
914
373
38
557
829
921
87
283
730
86
19
593
193
842
703
145
542
981
919
672
416
888
754
696
664
294
329
952
260
651
774
172
883
380
975
316
389
809
437
247
643
14
535
65
97
182
545
26
50
322
113
43
735
326
215
262
275
469
271
89
43
386
781
356
182
443
745
23
849
228
185
922
272
564
262
568
837
44
873
995
264
587
83
903
345
965
462
149
909
492
177
749
393
383
708
112
859
339
170
197
413
994
532
641
669
805
461
664
368
783
137
750
280
252
148
691
236
458
472
546
551
445
665
482
48
52
570
265
675
297
267
369
954
695
533
283
568
224
761
636
13
790
172
158
550
11
130
359
671
79
584
12
913
265
940
213
121
339
180
796
204
851
676
395
26
699
926
240
299
900
406
115
282
808
835
537
606
263
405
305
806
358
958
75
980
528
654
494
537
681
417
741
181
949
335
12
114
419
219
630
946
921
737
950
939
512
906
181
34
844
204
559
582
971
281
63
791
499
23
2
729
198
747
346
98
305
405
650
142
829
17
767
762
53
937
329
321
334
231
139
699
1
165
215
845
874
725
202
476
427
193
280
579
150
994
470
58
12
452
489
226
218
613
873
825
660
16
152
904
535
120
244
213
633
134
117
731
698
157
953
542
84
850
739
611
634
364
240
869
391
867
772
680
212
813
47
955
873
53
651
119
535
988
392
668
763
220
797
295
379
596
604
409
561
86
903
431
535
708
953
395
104
549
363
269
32
23
476
870
5
684
269
422
485
255
67
600
280
94
653
390
49
920
112
199
314
516
909
424
725
49
227
153
508
828
555
716
7
585
907
602
227
841
771
612
93
489
125
219
909
538
387
799
174
826
190
766
456
639
250
692
517
351
409
163
259
643
132
458
335
353
358
153
480
743
627
393
697
803
817
880
452
253
693
611
942
37
654
988
301
451
773
249
359
535
225
48
172
968
676
646
102
532
87
410
650
133
626
198
595
498
70
809
264
908
183
854
899
759
7
302
159
316
930
463
789
758
685
377
325
491
130
405
538
756
806
304
982
769
754
252
617
963
14
71
987
440
580
376
837
390
285
488
378
71
270
745
636
926
235
271
419
537
604
336
532
427
146
222
751
163
311
891
950
816
762
802
529
608
150
971
933
478
145
704
641
398
188
498
464
468
160
246
379
248
439
271
396
293
376
670
181
569
287
131
214
301
437
675
298
792
382
760
137
930
208
779
505
433
923
304
280
354
241
315
215
9
510
280
875
282
365
179
614
222
981
480
787
934
450
629
683
50
929
824
807
468
648
740
201
636
805
367
478
371
653
334
126
123
792
924
414
587
801
471
930
831
876
13
380
399
30
838
782
414
790
81
600
338
31
606
674
897
749
208
42
637
122
603
858
740
166
759
665
998
656
870
212
314
760
683
863
693
1
939
390
445
743
416
606
269
412
419
878
909
7
606
997
375
327
714
310
33
480
95
254
483
898
958
670
790
96
890
341
520
809
503
224
35
33
62
740
677
669
532
318
777
160
788
107
932
552
648
389
624
857
995
793
24
466
493
806
815
646
301
475
938
805
759
408
457
303
228
375
131
99
146
850
882
370
876
826
52
595
125
119
262
257
535
142
699
474
565
836
875
345
915
61
256
767
568
204
666
781
981
236
51
256
93
717
998
874
576
499
393
912
204
995
749
285
307
919
15
686
10
357
124
419
381
857
175
685
648
993
854
712
376
529
675
41
878
848
657
731
121
812
301
29
129
590
117
249
171
270
488
229
69
266
372
758
565
650
190
783
44
505
250
48
834
337
259
46
957
400
757
819
464
490
828
191
428
414
54
475
266
873
482
558
300
929
326
542
366
593
229
802
855
304
172
375
772
253
543
143
282
555
434
85
720
252
4
265
264
17
583
859
260
208
288
670
742
601
76
109
789
768
551
524
207
516
328
104
486
270
453
323
79
559
172
38
859
4
354
897
31
347
984
683
856
64
457
574
321
95
841
76
254
21
895
557
475
813
368
902
276
916
60
793
889
19
167
500
647
298
676
909
204
355
978
671
549
306
384
7
515
699
950
717
171
32
868
356
759
641
685
378
829
645
792
307
854
447
944
599
840
24
54
960
438
856
147
300
626
886
141
393
262
347
87
578
754
641
600
504
604
707
472
17
851
471
887
766
252
53
218
19
624
366
131
442
915
630
615
359
427
104
561
67
126
35
778
355
86
424
629
245
979
705
15
364
941
860
104
56
282
789
10
497
313
998
632
640
943
780
971
759
846
124
567
738
701
496
132
12
441
517
57
253
497
299
252
460
725
864
678
135
102
645
12
568
282
537
130
130
808
340
450
593
87
734
761
200
279
111
826
155
849
694
936
668
886
357
571
528
235
510
532
378
114
189
201
564
170
244
71
433
866
131
358
443
668
359
251
306
758
85
351
653
914
688
920
373
721
429
862
901
541
439
735
168
501
364
700
861
313
971
40
924
899
866
746
944
676
327
739
179
804
860
494
511
881
769
159
518
388
481
823
214
625
791
203
733
14
532
897
373
442
361
287
976
707
509
342
588
275
377
851
678
259
790
83
994
952
571
443
304
316
874
504
836
517
346
666
243
6
766
807
305
625
304
492
373
962
877
723
791
456
425
721
113
807
54
973
993
858
160
599
7
443
599
117
552
673
908
872
143
717
395
685
144
457
629
789
955
303
503
745
194
44
574
823
216
883
829
287
653
669
368
134
261
947
753
81
502
603
946
43
751
815
798
894
909
505
62
35
527
688
734
219
228
956
379
56
350
832
709
905
244
871
363
135
579
214
278
328
361
752
479
587
94
178
449
13
650
997
419
331
10
988
98
835
924
700
359
77
979
324
369
199
279
672
475
411
138
64
934
853
779
633
217
54
1
932
208
210
191
769
63
793
843
840
899
343
968
133
760
879
383
12
491
32
892
580
272
889
806
225
537
517
59
200
945
342
445
736
869
848
129
452
599
571
641
743
84
978
17
468
566
631
623
446
928
987
457
214
885
260
419
55
438
97
97
484
162
160
129
319
949
354
80
920
827
121
92
409
340
134
253
525
764
759
757
230
125
861
457
374
581
876
307
517
253
589
565
472
971
732
333
266
737
332
179
977
939
726
116
358
458
296
193
237
857
274
309
438
786
406
614
356
593
891
79
402
848
759
343
234
213
755
1
53
584
925
825
304
975
263
264
770
937
214
754
407
621
362
978
272
797
313
253
522
190
663
643
805
567
945
208
305
857
610
82
335
450
435
676
650
518
228
375
583
836
328
556
710
127
213
610
973
390
457
929
116
7
394
493
843
715
112
765
315
638
818
123
482
696
182
901
270
646
4
477
840
888
447
485
950
996
105
412
984
564
383
298
332
616
26
230
634
289
145
634
867
942
747
106
362
128
619
673
626
130
382
940
290
852
677
503
564
915
737
417
361
756
44
235
631
352
392
343
519
961
412
882
670
947
573
543
381
292
699
917
320
891
332
880
233
118
595
704
376
398
811
200
431
758
795
216
308
391
604
241
535
307
558
710
916
10
483
814
768
16
486
308
295
691
21
814
624
569
676
629
603
803
868
845
707
884
627
927
311
73
704
524
138
289
557
386
911
302
140
761
110
207
21
517
269
91
89
562
416
682
971
821
110
589
367
159
47
392
659
148
307
478
556
517
181
990
19
431
955
698
384
523
139
893
437
710
436
644
162
398
162
887
36
635
916
831
21
138
67
154
878
868
997
248
994
47
130
589
737
52
473
915
197
634
769
516
322
292
402
354
631
456
864
172
101
302
946
984
379
686
799
570
126
658
689
669
218
469
545
597
490
828
391
899
903
357
378
478
332
908
378
367
663
385
70
942
508
233
36
895
658
578
605
741
341
295
113
988
435
949
798
340
96
642
771
463
634
281
353
934
59
684
625
927
481
247
221
124
376
580
192
64
829
673
337
887
46
633
484
996
759
987
53
684
713
870
688
174
30
156
864
836
141
732
148
575
878
676
255
522
536
50
90
160
946
388
748
16
86
726
826
846
356
198
481
22
387
811
359
490
207
990
910
226
630
891
631
600
990
277
450
424
706
957
835
778
731
404
153
841
623
197
536
135
838
342
743
505
863
376
526
151
953
384
603
784
603
726
636
734
316
283
527
463
916
539
961
459
409
641
341
954
366
866
202
223
908
600
706
519
626
16
82
812
197
127
699
615
28
775
44
111
988
453
995
715
186
512
692
948
788
466
737
237
71
614
670
814
257
100
422
423
210
916
954
936
710
33
392
298
880
47
746
460
293
232
752
63
450
882
440
708
592
165
809
540
271
513
361
775
711
702
346
526
749
419
232
927
67
36
342
181
501
767
586
557
442
150
933
801
739
5
568
682
46
655
733
592
271
192
841
218
622
21
817
317
774
720
549
520
851
528
968
920
217
376
555
927
592
476
8
487
601
897
387
306
709
450
304
175
386
464
634
819
517
704
775
953
271
795
710
418
115
951
981
275
204
775
228
793
114
121
132
54
783
790
415
772
554
880
96
542
429
193
294
396
994
966
739
984
977
586
573
180
87
638
170
159
596
824
465
276
118
794
741
167
154
945
882
541
304
553
872
84
449
422
719
735
865
360
26
337
939
437
177
360
132
902
438
922
858
88
346
846
217
401
406
824
883
710
483
105
15
73
248
251
727
738
719
665
552
809
232
548
306
780
125
891
954
378
90
905
392
836
366
20
553
702
925
218
868
833
385
1000
907
5
600
720
5
901
836
381
734
886
946
242
390
65
211
728
59
616
368
227
406
285
878
315
67
213
676
840
407
16
479
69
448
91
231
813
984
712
407
21
241
338
733
866
962
949
302
730
461
917
235
831
28
99
785
447
16
359
213
837
133
727
890
974
688
717
777
169
60
135
887
490
202
867
352
668
806
728
465
802
642
429
416
780
668
137
482
780
746
877
118
618
182
262
724
959
841
626
870
661
312
671
408
539
436
160
230
933
521
23
351
281
756
484
678
798
634
448
48
30
714
470
97
711
628
51
83
863
117
887
49
562
744
980
607
84
103
163
188
459
572
715
822
573
89
190
373
66
998
518
690
210
753
712
327
868
152
219
309
382
807
109
922
971
770
750
684
786
594
613
413
291
591
125
831
42
771
272
217
264
704
771
433
834
601
196
61
425
976
396
497
583
615
906
576
476
960
824
725
875
680
815
681
704
931
457
552
148
727
165
333
868
941
310
65
366
662
945
469
902
33
777
247
664
241
615
238
73
21
567
267
222
909
669
834
432
465
473
762
833
889
350
531
690
749
918
328
918
35
58
743
866
400
429
670
970
215
261
188
340
44
491
117
671
245
950
498
151
639
436
467
161
654
949
849
675
888
305
359
206
779
619
439
35
970
854
638
256
977
774
916
850
989
128
417
608
972
838
63
207
776
289
786
201
592
563
335
945
952
604
385
745
434
845
83
632
381
795
298
193
216
450
540
846
424
149
965
788
833
691
901
604
625
91
78
172
403
365
87
88
732
118
664
299
796
494
15
996
192
299
817
141
444
672
459
152
515
738
777
412
427
78
844
229
161
703
323
824
123
441
538
711
831
317
678
586
931
516
487
435
310
24
394
152
839
876
270
350
267
215
910
450
857
58
903
338
643
721
751
80
589
378
989
225
527
88
575
222
451
958
16
334
668
802
513
240
320
762
927
195
12
904
526
217
623
701
249
284
908
662
725
921
139
107
398
895
889
226
861
927
31
114
979
510
150
442
445
889
886
764
154
282
147
261
211
198
769
877
427
500
931
397
866
526
574
994
419
129
140
186
342
972
180
932
461
820
768
797
7
818
192
765
101
972
124
240
541
124
276
276
838
731
619
837
437
657
367
180
680
27
272
81
319
878
266
664
358
17
88
70
564
993
391
61
263
551
691
921
901
297
710
690
457
515
867
864
969
300
117
171
328
171
911
924
27
369
777
773
719
857
911
372
286
890
209
580
633
659
379
377
550
163
118
539
812
915
860
523
145
548
262
682
808
673
428
128
330
572
853
84
353
455
194
535
651
7
282
346
119
951
242
798
940
140
172
652
201
498
624
447
928
745
33
723
906
463
307
255
662
466
47
187
670
888
229
170
201
627
740
192
203
19
848
864
286
693
563
295
172
568
825
552
940
868
663
946
28
838
758
8
218
581
351
92
784
59
73
975
547
833
34
731
851
564
513
368
377
657
650
447
242
651
827
961
95
168
848
228
741
255
579
485
401
951
465
129
860
797
219
299
622
765
29
571
678
810
799
83
649
814
353
331
874
219
986
197
473
56
450
520
557
373
276
667
509
313
315
106
713
215
528
947
189
140
326
776
353
176
243
889
500
717
300
189
697
678
209
613
456
242
459
932
971
350
419
176
682
557
829
711
656
318
400
240
594
7
854
586
266
191
355
144
858
768
222
314
983
596
751
77
105
121
197
77
744
382
265
262
89
425
952
160
601
858
209
328
769
768
696
384
436
670
852
304
998
540
598
327
370
186
269
910
791
414
782
658
444
504
615
56
378
464
920
109
405
442
970
746
493
432
179
907
673
126
150
799
608
353
549
705
833
36
122
65
72
50
831
315
226
626
933
65
360
225
780
801
468
886
275
227
890
135
200
717
989
444
100
151
111
99
989
557
913
93
925
567
828
310
419
710
874
835
708
919
958
711
158
472
586
823
461
758
187
900
814
913
258
795
983
349
228
319
14
658
183
891
348
193
636
211
288
870
82
933
68
371
395
81
282
1
46
559
46
890
719
646
65
98
132
810
743
467
794
526
551
721
978
35
172
410
402
144
305
779
995
232
646
538
638
597
253
820
973
181
397
302
183
459
70
596
193
995
478
542
833
782
254
932
368
932
585
559
242
764
168
217
990
599
694
405
94
826
563
61
934
912
663
603
146
95
349
917
375
404
185
693
866
522
647
720
378
771
739
286
608
122
369
851
719
752
446
566
543
89
867
961
782
715
949
401
793
752
414
471
615
551
738
490
486
629
522
795
463
756
549
231
674
62
394
579
385
800
732
226
342
164
5
517
758
156
742
603
941
74
594
537
771
588
140
583
170
760
582
416
236
588
745
963
960
849
190
114
291
39
844
445
858
230
270
387
836
502
591
981
284
421
126
478
782
718
1
567
350
921
339
929
434
194
174
160
214
62
864
833
613
995
648
636
166
76
927
47
326
86
30
979
907
377
483
204
76
863
285
109
729
292
259
539
148
711
353
46
544
732
651
861
447
719
953
313
988
543
990
189
717
907
757
774
36
515
958
891
234
589
296
318
846
302
156
341
295
716
268
76
794
728
112
415
89
330
118
84
887
229
236
379
782
490
61
583
41
410
497
947
901
269
918
368
900
955
837
595
338
707
429
872
178
394
599
397
570
812
922
906
711
438
479
957
922
990
497
226
698
897
785
225
946
504
102
367
810
405
2
261
265
836
169
404
156
439
959
230
450
51
677
573
281
379
88
193
766
550
815
934
685
592
572
491
873
793
611
486
536
780
385
770
810
889
197
426
566
72
496
950
844
138
591
470
339
618
760
688
20
908
134
406
345
648
265
139
483
451
1
322
645
258
150
57
926
520
401
163
5
393
175
550
717
905
381
566
733
777
540
30
565
253
372
124
685
768
752
157
786
778
869
527
133
393
539
837
509
728
896
242
455
29
81
569
413
722
142
663
868
485
89
695
808
329
919
907
635
473
494
344
159
477
336
678
484
689
766
135
374
592
331
877
169
18
130
932
446
545
458
893
391
579
209
201
277
794
568
725
549
608
850
773
761
325
788
397
996
426
160
63
475
252
436
308
792
955
22
39
535
201
765
463
140
549
609
510
470
828
687
756
963
111
664
511
192
90
866
729
341
735
566
848
382
140
825
480
751
372
454
112
887
942
969
656
329
248
929
685
958
984
652
696
598
19
99
579
404
702
706
754
388
921
986
114
1
460
52
978
877
380
574
779
739
229
306
74
996
831
8
791
728
302
516
319
618
737
717
173
861
669
424
470
267
44
476
404
551
922
904
218
289
554
692
921
139
786
460
137
694
963
406
45
786
657
943
287
129
547
813
130
954
750
863
908
690
737
293
964
786
722
963
874
523
74
235
756
984
885
927
831
433
268
173
227
3
372
379
208
940
371
1
638
660
869
573
507
512
287
287
768
469
773
400
565
911
109
959
185
306
896
624
703
871
25
871
327
214
73
484
947
565
786
41
207
450
289
58
734
556
956
549
797
96
188
29
791
211
456
402
384
810
77
761
109
760
124
846
450
568
791
804
185
476
283
927
886
457
26
260
958
675
559
308
570
866
10
612
117
489
431
598
637
656
622
949
712
635
262
743
970
125
326
701
230
614
784
221
722
879
522
301
572
70
288
71
917
913
194
405
607
245
1
28
436
498
952
569
228
756
395
283
933
706
848
528
73
137
400
629
483
648
564
474
363
862
787
25
12
771
838
965
509
798
176
835
816
772
257
382
421
305
436
280
711
990
754
58
701
428
448
842
621
336
447
475
138
902
479
678
651
101
667
197
189
910
645
278
948
227
297
397
356
823
210
910
903
866
777
155
655
351
711
614
486
317
402
902
592
844
139
757
775
666
761
661
315
672
662
438
979
714
437
982
889
905
648
236
491
26
338
711
841
754
952
95
794
180
257
987
430
462
719
353
258
554
536
120
295
628
189
183
124
225
950
231
420
144
244
975
242
819
160
811
588
224
675
420
344
387
360
587
744
214
425
314
924
648
980
341
956
160
278
369
5
173
553
575
887
320
748
521
361
347
115
168
957
93
140
532
980
188
748
426
630
61
42
895
835
355
130
152
485
113
712
301
245
933
205
651
12
842
121
210
397
815
337
799
304
692
625
275
811
779
564
581
62
537
508
649
812
577
806
738
606
680
891
442
303
625
151
412
802
446
736
850
391
127
578
945
85
856
937
721
674
715
728
223
15
62
739
576
221
935
591
195
24
527
970
369
572
153
215
493
291
131
822
483
286
737
811
258
918
680
177
753
849
570
855
603
834
514
707
517
992
240
64
333
100
178
249
981
714
489
345
825
543
354
172
409
573
749
88
219
895
521
750
901
30
848
422
299
860
41
762
798
905
223
279
725
792
640
807
960
255
211
404
500
893
475
88
456
202
261
650
819
135
257
633
425
534
146
191
696
300
134
207
130
116
503
499
12
836
286
391
475
423
286
218
884
449
443
582
501
728
968
278
486
601
788
880
644
771
562
874
731
348
940
126
750
934
811
176
453
184
982
557
142
239
110
868
982
836
745
828
241
721
8
902
259
155
794
391
523
961
359
57
880
558
831
459
817
849
467
182
724
686
471
51
232
860
791
233
52
195
594
861
211
414
62
458
218
867
736
922
504
96
876
361
399
470
223
323
62
814
100
293
977
25
1000
455
130
168
686
784
469
427
374
528
56
608
703
992
159
579
117
349
589
157
686
870
813
474
640
593
675
768
626
918
134
901
199
66
40
611
190
632
840
695
330
685
55
828
993
21
519
709
979
177
676
581
10
793
652
938
35
722
462
421
466
79
444
467
216
41
946
294
767
816
368
166
513
653
883
722
332
135
558
316
665
310
137
977
380
386
444
581
355
821
228
275
23
648
281
14
89
779
819
320
239
851
467
13
970
912
642
718
558
854
781
405
821
55
655
89
544
120
953
89
358
979
434
907
408
824
200
902
382
564
74
381
324
520
623
657
188
55
121
925
294
738
615
490
648
391
305
18
633
103
669
992
682
843
83
496
407
863
235
750
65
449
279
598
418
920
513
266
787
989
327
287
549
738
339
402
414
480
888
678
568
743
546
787
162
440
872
603
710
65
451
866
638
394
114
612
633
752
365
506
458
381
245
985
563
808
257
346
202
429
514
523
725
672
990
304
398
254
585
195
385
1
751
932
518
655
577
927
86
871
576
532
162
361
868
95
909
758
129
217
916
302
434
503
843
913
104
336
570
549
739
927
597
996
918
942
664
421
443
498
430
73
573
238
567
474
461
484
840
360
842
154
541
384
124
287
187
300
170
503
507
949
477
672
585
860
927
384
460
703
971
571
642
145
930
755
742
876
83
972
887
708
344
351
642
695
617
724
957
145
391
381
6
257
718
293
885
870
491
674
841
468
865
778
61
156
729
195
102
787
361
726
709
820
813
117
121
749
88
562
952
157
885
871
395
533
550
678
805
1
862
842
679
32
479
475
675
1000
179
651
596
190
506
920
193
497
90
187
224
571
684
413
479
616
916
819
356
421
875
13
146
408
887
466
406
693
275
332
650
191
474
444
153
782
584
637
799
431
352
279
792
955
610
966
515
784
389
893
987
722
306
314
177
156
307
856
898
621
533
177
125
910
914
617
371
173
41
21
159
558
42
904
767
981
460
459
117
579
587
701
123
219
311
204
858
204
308
490
604
996
308
84
243
293
264
686
463
340
467
680
931
665
41
428
951
776
801
388
85
495
161
163
902
753
610
941
316
634
325
697
927
394
636
713
438
981
370
633
446
320
622
342
891
250
99
377
5
525
7
477
873
765
371
138
584
549
818
697
564
133
94
595
852
426
998
906
973
907
26
159
588
167
703
755
284
623
512
3
707
738
338
893
748
788
569
289
613
789
345
85
479
725
949
268
825
626
19
521
722
349
81
173
94
150
866
843
424
266
45
86
457
756
278
711
202
790
948
212
943
439
538
940
26
753
380
210
888
588
436
529
211
216
814
546
54
201
998
107
543
441
110
2
29
521
114
630
614
749
522
801
599
325
75
345
725
109
833
3
52
353
297
350
902
593
538
106
632
618
733
280
885
41
197
24
581
584
772
940
163
560
369
877
494
454
617
908
384
716
756
254
932
47
424
446
727
542
469
882
511
14
727
231
60
703
545
888
905
370
898
736
983
457
124
56
501
595
694
295
66
261
911
778
625
772
122
164
878
136
841
606
581
517
176
116
641
157
72
599
936
689
194
387
582
680
711
871
768
99
861
5
313
173
917
36
840
737
133
821
840
761
269
458
888
223
589
783
11
839
549
492
501
499
994
247
495
394
338
145
284
978
85
396
623
858
57
816
278
652
846
51
680
654
363
60
821
890
805
423
463
746
32
543
331
920
107
624
202
858
732
615
698
227
395
971
173
178
325
168
261
363
756
392
581
701
591
728
556
894
266
478
548
540
533
925
312
495
892
997
286
846
634
799
387
403
777
898
788
185
733
593
614
739
171
127
628
480
397
967
748
429
537
790
675
904
949
820
988
706
594
479
843
314
531
125
771
446
317
794
172
97
859
469
793
812
169
378
844
553
563
217
475
951
76
6
958
153
241
478
323
730
927
533
148
316
651
295
882
758
601
748
375
538
652
744
264
163
808
442
480
13
821
852
429
886
256
230
315
88
857
526
695
460
907
939
558
181
199
915
182
524
354
606
521
12
480
867
137
559
583
387
546
276
722
425
357
576
632
929
819
100
411
531
162
761
934
12
683
923
849
362
630
293
344
495
778
638
434
971
43
842
133
888
598
124
747
167
758
480
467
84
292
530
608
804
960
987
128
61
788
917
480
908
997
796
519
600
586
130
879
312
261
67
202
321
779
2
672
734
820
624
496
595
157
274
425
463
260
741
907
114
460
814
169
89
437
28
410
197
127
29
256
948
104
890
844
104
98
560
183
201
616
300
953
931
536
638
532
742
172
888
825
876
518
709
426
334
302
570
768
928
50
185
136
678
544
202
882
284
971
445
737
315
543
19
836
38
599
449
972
550
2
821
651
947
171
566
688
829
210
161
470
330
444
488
516
225
97
22
615
383
7
351
683
984
21
711
432
489
162
406
88
283
755
968
706
292
434
878
52
644
364
532
655
612
64
849
378
671
945
632
779
485
41
305
619
33
426
171
84
889
535
690
699
880
889
560
443
951
786
595
272
106
116
470
125
688
800
433
485
140
324
964
754
578
422
217
11
193
291
764
213
527
621
818
525
134
322
642
279
8
81
287
992
414
786
155
988
448
407
136
435
734
150
238
17
146
550
673
55
355
742
374
589
280
267
751
868
252
687
331
683
806
711
563
238
521
732
723
556
294
473
325
963
718
897
852
858
7
662
976
791
60
194
601
851
766
859
253
534
666
836
339
504
412
15
744
158
248
662
103
487
914
643
808
493
953
731
518
333
408
866
443
469
253
294
215
277
748
173
490
14
88
593
724
555
336
943
780
7
661
207
82
185
308
98
77
938
583
889
648
473
362
430
946
164
276
110
857
804
789
471
895
908
825
763
913
450
493
964
416
392
690
735
638
439
73
272
782
753
966
306
993
742
240
314
710
636
116
575
984
302
149
855
268
602
335
382
956
682
421
229
615
758
1
418
511
327
926
830
462
239
863
497
535
744
612
963
354
449
900
182
73
91
945
860
137
197
37
227
44
957
745
981
225
127
123
552
27
354
484
891
533
89
867
689
616
185
339
334
185
331
648
921
72
710
553
305
361
681
373
568
273
779
895
217
899
90
813
122
179
852
292
499
514
195
93
195
333
77
913
192
743
793
263
476
98
944
258
390
988
362
114
172
649
282
71
600
263
41
683
622
947
622
104
349
508
699
111
50
173
195
44
638
594
988
783
665
386
88
160
50
361
539
922
560
361
313
459
617
333
672
70
117
873
834
405
761
938
290
127
888
901
791
509
898
374
831
875
135
494
470
329
546
477
434
159
511
284
765
696
995
191
711
159
569
890
169
197
902
524
765
423
72
696
545
234
363
86
358
585
301
749
222
203
318
588
364
947
817
750
160
586
357
894
906
356
395
395
214
21
261
516
819
38
74
543
777
644
868
639
343
331
538
948
301
247
85
63
171
475
287
553
480
65
136
652
272
905
291
574
112
239
372
177
109
704
104
864
906
243
234
645
161
156
630
309
757
851
190
491
897
564
5
219
255
422
735
241
576
768
298
976
453
561
786
513
545
29
993
414
155
465
50
462
906
218
453
672
256
490
199
38
711
470
829
514
892
756
941
673
75
740
117
343
419
824
299
253
849
934
320
411
508
757
712
487
748
544
925
946
849
120
754
56
87
948
153
206
257
700
580
119
510
825
679
679
186
19
421
82
353
337
791
928
924
928
710
705
554
21
195
812
993
837
666
935
230
562
906
82
513
382
436
72
339
858
960
580
561
571
103
125
54
83
873
531
790
730
158
474
750
648
84
674
823
777
267
214
751
239
811
208
198
641
406
771
233
374
52
806
884
866
707
672
911
138
671
164
629
706
589
578
433
29
781
856
668
271
8
934
598
86
885
442
561
498
913
865
809
734
476
107
170
30
234
167
402
14
56
289
60
280
983
515
741
123
783
54
828
246
306
246
228
444
201
195
143
863
568
337
625
495
752
301
506
957
795
433
322
459
49
271
6
95
58
43
459
240
89
36
589
884
646
268
36
202
886
448
612
509
81
671
413
31
218
594
695
588
333
158
835
390
450
20
150
606
806
975
891
288
639
594
496
516
927
189
34
351
380
10
845
284
420
268
575
408
92
162
155
438
602
624
780
77
714
874
645
919
277
221
969
270
11
739
874
785
61
628
772
798
939
34
260
576
226
120
918
503
794
968
59
376
386
688
217
579
88
741
72
884
615
82
622
31
360
159
596
44
821
241
521
427
392
778
402
32
470
725
642
379
514
844
737
652
973
15
231
428
982
483
646
435
347
796
385
256
612
910
107
8
943
573
696
401
142
618
771
521
366
258
585
905
25
813
315
174
881
561
986
564
608
556
676
180
915
330
267
717
905
375
690
664
470
170
533
731
425
311
912
349
534
989
705
627
753
664
616
42
829
300
23
517
851
896
272
243
468
424
864
767
283
458
993
416
353
932
18
77
813
509
740
731
407
953
827
895
95
781
302
320
964
209
816
846
408
59
304
355
892
888
722
93
638
37
791
494
301
720
59
815
968
518
131
498
897
867
624
230
986
211
270
65
329
497
568
819
161
607
608
192
98
140
955
705
902
664
15
606
876
212
921
342
650
314
747
70
302
303
864
947
714
998
299
610
594
89
270
351
807
745
448
969
562
5
105
192
487
514
18
840
846
13
894
636
968
804
127
669
468
100
893
30
993
749
945
88
23
356
994
186
744
211
217
281
106
758
259
214
984
588
93
819
780
6
224
67
887
341
14
783
202
40
380
250
272
468
686
213
703
98
455
335
195
412
404
191
935
418
412
246
98
158
251
102
898
962
290
456
982
484
940
884
931
763
300
540
311
624
317
304
12
770
804
757
589
812
794
572
928
288
82
585
844
472
234
842
170
395
30
384
446
12
60
397
617
938
178
617
992
480
597
569
347
972
683
294
193
571
931
699
166
754
173
585
990
704
791
683
663
670
617
752
340
185
233
908
910
680
579
852
391
670
143
631
98
172
528
859
990
429
824
90
725
329
92
164
748
150
194
918
143
358
388
592
101
260
358
636
569
219
840
393
92
17
577
303
868
696
120
867
809
849
906
595
710
943
109
546
715
683
13
891
921
843
17
122
296
252
953
148
117
821
69
540
755
617
920
622
949
951
387
919
707
401
240
736
540
489
976
258
71
451
132
650
950
179
947
63
626
944
991
322
753
957
376
361
935
158
237
123
45
912
452
742
594
400
980
302
484
617
787
379
13
826
23
850
179
193
60
190
184
155
983
565
514
717
370
569
149
497
538
370
246
851
941
366
120
793
76
187
451
780
95
38
454
607
265
908
146
847
612
150
956
249
309
280
686
487
889
644
192
487
914
733
253
320
530
565
797
302
234
479
20
522
275
157
965
467
316
405
829
841
402
513
578
899
803
578
466
861
998
200
705
48
941
417
847
380
750
537
387
805
124
806
731
29
140
451
961
658
528
736
748
471
203
91
343
97
585
249
870
812
224
616
992
497
322
737
619
87
36
843
524
976
837
920
618
920
803
675
153
956
428
23
306
731
438
488
448
422
144
971
898
113
44
897
90
121
781
653
938
218
30
586
600
174
592
546
1000
287
792
120
232
862
226
257
394
678
107
917
510
548
670
784
944
5
628
806
83
1000
212
543
178
256
133
853
890
581
699
465
510
997
414
362
817
57
597
708
238
30
962
256
312
9
641
798
454
113
826
231
671
87
72
232
191
621
306
390
938
585
759
859
387
230
372
256
642
95
693
578
496
26
937
357
811
212
650
165
842
620
406
807
985
529
28
273
30
148
124
547
181
425
130
902
9
273
624
185
6
361
418
900
609
534
821
610
395
696
494
291
648
680
548
790
661
245
850
471
922
825
74
453
830
73
631
599
680
567
502
559
457
263
947
699
398
406
187
746
383
650
504
302
950
93
577
177
148
748
561
666
494
769
110
458
4
373
498
879
668
1000
75
557
740
690
496
386
913
81
571
902
786
673
125
763
25
221
957
81
284
224
828
759
244
459
451
813
104
432
596
932
487
448
761
128
987
705
346
420
532
449
892
929
305
785
756
641
260
155
528
351
108
855
608
988
267
218
639
607
448
251
878
805
437
575
195
238
162
502
107
203
308
950
135
948
593
694
828
520
314
139
996
441
928
394
49
461
226
945
835
950
147
620
86
238
388
870
339
366
749
600
246
242
572
934
276
167
753
304
137
71
528
233
674
541
642
990
627
933
578
93
373
408
237
251
717
758
819
945
851
251
699
299
851
546
776
269
458
934
99
482
430
762
587
237
466
939
300
267
548
830
47
906
561
689
61
166
225
19
98
79
694
887
617
374
656
280
595
192
418
48
158
68
236
830
430
857
112
650
925
642
391
534
346
896
734
577
891
339
484
393
25
10
6
776
211
31
310
673
275
423
164
321
922
137
948
491
413
125
674
284
582
908
4
906
154
575
555
112
818
577
492
809
614
982
209
420
980
104
895
164
232
515
902
386
358
514
159
410
718
67
277
172
690
53
649
68
336
439
566
33
876
662
330
846
132
35
377
68
156
506
701
812
900
461
212
756
163
537
242
417
15
626
97
732
592
339
398
428
419
197
993
457
421
739
372
74
380
551
849
717
899
929
245
947
829
557
474
134
762
66
185
467
375
822
600
100
375
625
778
960
314
252
792
812
764
953
741
641
236
49
91
355
738
793
539
70
36
499
549
974
571
751
673
865
427
182
34
991
934
945
668
735
292
437
956
28
50
333
18
120
437
227
814
460
263
450
613
12
599
748
700
286
497
538
422
723
773
401
163
832
291
329
443
692
204
989
64
965
388
937
198
596
615
257
336
747
70
629
285
333
513
129
773
704
694
440
760
682
649
263
263
127
160
881
369
677
959
788
86
103
230
232
902
5
583
330
198
166
947
141
182
977
782
693
622
785
570
541
462
873
831
812
355
81
767
106
249
709
244
833
429
471
2
737
830
729
875
446
26
145
325
825
9
177
768
822
785
578
39
266
833
139
804
768
698
473
919
480
321
519
500
975
243
836
981
911
474
436
528
463
647
93
964
753
71
604
796
583
412
427
25
889
40
495
167
198
528
776
316
279
400
323
143
901
974
137
429
284
71
167
118
388
451
141
897
675
43
774
995
339
444
36
222
299
694
845
295
435
45
531
122
654
276
849
42
362
162
168
971
854
817
682
48
920
9
146
625
722
989
701
402
599
32
772
95
8
687
950
254
245
655
968
783
955
357
620
238
656
493
512
226
717
318
47
87
246
934
932
553
357
635
797
305
133
225
232
133
419
271
643
959
248
457
881
92
306
566
480
919
358
104
728
683
959
305
478
147
87
997
787
692
573
890
30
850
319
887
45
360
336
391
294
584
586
985
743
508
432
487
370
646
305
134
785
835
793
585
427
330
986
491
217
592
345
613
325
881
757
878
940
85
728
271
527
225
840
194
87
722
733
761
361
824
824
522
744
559
946
257
930
207
857
842
935
539
328
635
216
43
123
481
46
907
738
245
182
813
205
700
121
477
608
729
928
426
214
62
697
742
295
161
191
356
777
481
114
999
811
31
753
132
272
79
461
972
950
842
539
271
902
272
604
632
33
330
481
968
478
706
947
165
759
595
426
148
29
948
878
305
912
641
649
690
601
78
54
479
902
114
773
927
851
569
966
482
384
244
143
731
305
113
445
631
433
265
954
784
399
268
56
604
33
835
693
856
650
89
530
429
845
226
681
177
588
129
681
324
512
290
776
237
302
450
476
344
978
499
536
582
717
552
174
48
557
542
394
463
959
351
734
637
756
282
639
393
435
608
890
275
71
71
263
967
472
447
589
541
256
702
968
509
652
874
705
236
801
512
887
388
180
411
218
983
606
415
821
86
919
271
272
339
89
869
33
344
950
698
786
370
220
65
921
972
757
376
563
907
212
844
92
151
425
46
44
916
865
113
667
316
442
732
164
724
797
788
843
948
979
211
956
23
53
522
30
851
759
638
853
881
823
750
108
762
879
445
846
213
273
809
595
355
197
938
937
413
703
155
801
992
149
211
557
110
550
959
240
786
110
288
867
253
948
581
873
820
653
632
139
978
843
707
970
596
338
415
617
974
915
161
650
49
871
189
551
296
763
672
389
714
774
868
332
835
133
93
66
864
893
145
882
903
135
870
318
715
400
752
753
634
719
760
292
23
113
211
593
175
884
75
57
654
274
952
904
849
361
971
258
968
134
960
281
769
758
553
792
84
970
345
547
595
403
810
569
370
379
462
459
403
381
656
649
743
986
502
918
867
495
598
318
592
907
673
855
202
139
782
888
427
599
380
218
598
334
471
290
579
942
51
735
78
394
190
743
524
683
491
385
5
983
73
65
679
598
919
741
678
535
191
411
738
979
78
628
744
278
854
510
886
324
62
751
368
362
190
677
479
328
761
238
366
808
489
172
7
549
58
258
777
294
102
692
436
357
183
156
563
984
909
58
257
31
858
765
391
919
621
389
819
120
139
828
731
686
444
318
783
421
93
709
691
368
862
50
780
204
698
814
323
999
577
315
605
529
629
395
349
27
856
510
515
784
805
675
504
518
817
593
494
796
852
452
973
77
421
513
529
137
879
626
609
750
182
242
266
479
198
310
901
367
882
705
591
119
899
461
900
88
791
151
7
35
415
198
548
121
169
779
853
86
471
244
129
869
78
661
723
218
69
157
799
974
762
260
653
789
392
278
391
17
115
111
915
383
786
578
963
842
16
436
492
712
198
826
791
764
545
779
580
490
730
752
765
125
339
930
681
371
197
126
398
959
633
714
137
327
825
949
898
738
730
424
172
77
501
153
14
449
931
970
783
428
207
510
621
479
196
22
60
644
534
662
231
55
50
724
767
205
423
457
912
224
513
755
263
565
532
2
298
616
53
801
98
784
862
132
668
461
864
740
872
136
542
192
284
629
955
82
172
54
927
342
456
647
838
474
689
46
388
772
41
960
839
313
830
413
447
538
319
904
282
776
426
916
148
922
475
143
87
809
340
727
820
502
126
546
533
878
91
299
602
351
607
757
222
546
800
1000
405
56
977
933
499
150
47
640
178
454
943
392
861
158
479
242
643
298
163
166
112
982
240
682
883
241
642
688
289
319
567
49
423
848
164
105
638
300
115
844
721
533
983
960
137
22
867
391
179
618
214
223
358
234
694
46
103
929
641
911
678
258
901
105
233
603
902
795
102
424
344
489
744
43
246
915
237
581
949
595
872
185
334
912
158
479
710
906
542
509
768
393
215
76
510
243
662
467
341
835
32
70
327
753
958
257
177
762
220
211
687
16
508
115
240
174
583
178
409
865
370
556
922
477
820
98
8
796
938
229
644
402
13
978
314
74
928
331
705
642
400
633
157
904
141
729
821
205
223
873
183
273
389
245
53
714
645
42
146
337
235
757
110
154
35
170
254
448
442
53
194
783
118
318
399
211
272
609
884
221
770
901
356
156
25
725
733
935
473
48
277
911
484
677
560
618
700
290
76
971
124
838
627
200
760
141
514
446
269
913
167
472
852
361
99
379
565
740
967
576
363
951
89
515
415
316
962
831
681
196
230
632
294
979
51
644
31
285
16
779
54
931
591
501
111
330
587
64
643
505
268
255
544
817
570
833
866
878
314
221
427
801
471
357
87
140
272
806
473
391
426
399
18
892
764
660
542
330
412
266
987
820
969
596
564
716
237
212
333
886
773
754
123
163
894
304
819
103
793
762
235
964
125
121
208
31
736
870
75
41
247
883
400
449
793
302
681
751
608
897
767
861
35
310
899
827
223
408
593
770
11
676
97
25
448
242
749
892
6
636
404
269
749
833
6
742
669
486
511
338
925
513
635
260
964
334
287
413
345
171
173
403
653
750
736
18
38
646
519
888
773
308
74
160
729
465
734
502
800
241
925
733
131
794
211
659
473
711
927
462
94
710
91
129
478
425
251
956
442
164
80
117
447
596
812
669
559
237
61
111
980
467
190
812
87
567
137
187
653
912
529
520
294
49
14
679
208
829
928
832
957
175
853
412
395
328
111
272
831
625
999
902
162
946
370
95
52
981
219
213
154
381
78
484
37
664
359
392
730
480
268
267
733
468
543
660
957
469
63
935
274
301
335
779
276
667
967
31
404
990
483
277
814
167
294
193
226
274
157
456
533
233
251
416
119
347
820
354
690
379
442
327
910
547
122
91
294
402
818
520
614
83
471
280
539
819
336
264
355
890
166
411
403
481
857
122
264
982
240
406
880
328
35
288
466
923
415
754
549
531
242
696
470
269
800
912
433
518
767
188
552
105
235
891
362
610
840
315
963
25
426
207
295
256
229
545
39
190
261
620
303
116
433
951
547
304
956
341
178
469
754
668
857
638
921
625
865
692
749
670
756
459
495
937
188
790
840
675
1
477
942
105
563
228
109
219
939
174
354
146
663
534
534
211
767
131
351
680
238
438
192
509
278
706
731
120
555
503
198
323
166
698
458
55
150
520
403
497
223
829
631
502
866
126
115
968
14
189
335
962
375
401
363
953
857
987
516
440
637
429
480
670
196
224
272
871
13
56
11
631
689
159
206
616
982
339
237
824
606
678
735
962
676
421
812
327
364
923
505
797
678
822
293
143
266
800
297
881
800
380
589
337
811
232
76
407
803
343
582
743
114
266
73
751
241
332
460
810
307
395
50
615
926
174
507
386
974
714
133
963
677
848
394
487
972
770
871
446
347
18
229
354
202
217
402
230
313
904
876
345
186
651
882
407
891
475
336
474
502
220
560
414
387
199
186
630
436
883
153
137
743
840
362
792
421
436
414
623
971
50
794
785
87
660
35
578
849
725
675
379
24
199
275
75
578
380
367
775
574
51
970
155
354
23
230
793
238
765
808
231
69
272
885
301
532
718
22
489
597
697
680
683
375
84
883
701
361
624
380
417
336
353
658
124
159
904
354
32
329
520
904
420
433
365
776
32
579
309
262
767
456
950
600
551
953
29
134
586
135
773
354
817
972
951
890
560
387
580
986
714
108
295
505
877
300
362
321
993
168
206
760
861
530
94
865
938
887
325
414
431
650
855
999
530
13
821
982
49
392
800
813
413
518
997
14
99
12
740
123
223
723
831
28
853
207
299
414
62
444
69
484
469
324
906
753
181
487
731
439
687
785
97
921
167
68
144
796
149
956
865
302
192
996
859
268
520
915
58
279
116
692
87
467
836
814
49
175
497
396
479
763
757
812
178
1000
816
114
409
795
643
762
696
519
452
169
79
792
640
126
203
420
233
412
98
92
195
830
816
593
584
440
369
500
672
988
565
800
592
399
413
395
4
737
734
243
543
205
493
707
555
616
164
806
707
257
136
178
604
203
726
997
452
991
942
545
154
972
476
842
965
839
771
537
959
567
222
271
143
439
678
834
977
962
486
751
452
162
217
378
643
204
107
187
798
313
963
691
671
699
969
376
725
558
382
81
283
249
593
505
475
434
394
888
49
303
586
491
724
12
261
164
781
111
175
168
34
41
648
434
122
762
326
587
332
173
975
423
795
294
175
964
956
77
433
907
658
341
770
25
81
543
258
69
1
23
357
793
560
901
145
19
767
39
693
55
499
335
906
354
612
161
137
59
105
926
733
923
989
599
495
192
605
513
687
177
675
933
864
662
299
684
269
751
418
572
965
461
41
507
197
183
637
952
691
114
692
811
730
897
337
924
879
3
362
104
186
857
678
41
522
265
472
470
481
537
871
702
926
546
957
10
831
92
314
358
543
136
145
682
967
886
167
243
468
233
122
593
472
759
769
324
841
378
625
102
118
693
587
442
636
321
777
301
300
756
619
846
591
833
201
706
948
478
424
565
247
242
324
253
508
50
205
350
344
711
912
911
878
998
633
114
68
522
152
511
394
206
312
104
877
887
810
619
247
464
90
241
899
68
288
522
923
904
621
350
141
800
618
686
549
988
862
221
996
318
691
237
247
943
430
733
785
475
287
320
862
768
999
464
324
753
688
410
680
238
145
531
756
154
940
901
993
516
348
586
136
271
58
568
631
299
37
190
495
38
719
726
824
620
887
26
396
930
260
161
996
706
775
648
199
650
17
186
372
548
73
722
526
545
306
380
500
60
219
979
679
301
614
862
50
986
714
324
982
657
775
165
509
937
997
817
291
179
203
53
637
218
860
472
171
359
475
869
784
320
333
96
454
545
808
220
454
242
212
613
196
493
248
118
702
23
661
584
245
544
602
869
252
128
555
880
929
700
424
333
432
602
501
718
582
128
615
348
299
106
703
510
921
842
410
434
565
257
102
242
485
599
840
79
181
902
468
326
645
280
933
216
706
219
362
147
919
254
232
705
807
806
153
754
566
524
420
906
518
127
510
402
722
652
99
678
118
983
52
905
544
740
32
389
728
892
64
2
113
992
393
756
12
516
484
202
78
618
831
616
582
550
554
804
283
104
391
939
966
692
837
56
865
114
601
686
269
608
515
665
562
551
272
323
870
26
135
95
210
540
808
98
791
365
252
389
682
350
89
384
571
523
621
443
750
533
207
692
796
740
876
965
605
798
634
183
614
674
868
553
28
376
592
748
867
71
98
614
448
920
702
5
703
698
898
83
382
186
194
779
767
411
312
130
979
26
242
915
358
516
831
335
678
466
217
485
139
814
428
24
199
879
909
744
286
968
546
729
370
523
25
392
171
103
988
972
513
980
507
1
957
761
865
843
395
239
472
662
708
630
45
61
967
467
830
210
883
666
759
495
393
719
874
583
327
526
314
334
85
123
394
173
113
442
65
377
768
291
125
229
868
933
91
140
774
1000
563
658
424
7
234
742
79
378
464
800
922
732
444
780
818
157
574
13
729
343
589
639
255
724
380
140
775
253
170
960
455
11
952
209
186
640
607
203
152
493
161
923
311
478
24
537
531
798
826
801
517
179
718
489
938
723
597
21
367
227
718
75
738
650
626
325
31
451
131
365
811
651
313
547
56
839
187
691
438
789
694
612
856
20
166
949
545
394
260
73
531
836
627
712
563
326
269
533
880
615
619
100
374
497
841
522
724
75
800
625
101
178
386
668
896
970
637
459
706
845
187
239
524
896
113
834
662
601
153
398
451
895
621
541
164
435
78
736
927
745
962
713
628
832
932
932
914
90
638
378
468
517
1
613
637
798
846
462
382
343
913
747
235
195
864
215
643
591
864
155
620
67
752
264
124
213
582
964
924
579
537
747
59
772
843
102
123
496
313
240
761
112
580
143
730
365
935
423
805
19
884
103
642
540
225
711
391
395
463
10
529
198
872
285
898
721
340
335
357
744
446
252
854
813
853
606
922
248
213
869
813
158
259
805
511
800
657
56
878
336
482
359
32
949
911
649
860
310
817
826
259
592
494
92
303
588
634
591
18
983
58
539
881
543
388
168
466
740
48
564
883
397
479
937
789
998
463
938
788
650
768
386
964
117
140
178
172
960
802
207
426
561
242
833
421
760
37
821
766
871
861
701
998
115
628
157
815
857
935
447
254
605
568
782
738
418
880
323
11
234
241
697
984
621
635
943
421
656
681
398
228
939
27
327
817
222
95
18
645
807
644
672
575
620
440
649
149
854
639
548
192
137
122
153
447
502
140
483
89
798
96
74
25
788
185
143
880
915
936
453
435
573
374
567
74
808
671
651
486
530
647
154
474
716
427
498
213
551
876
371
741
175
195
355
728
472
185
379
874
377
255
927
321
258
189
45
590
278
77
893
426
42
560
36
835
483
732
703
310
669
615
956
933
164
126
111
602
624
832
737
87
548
604
288
28
512
489
737
245
724
720
581
955
463
830
252
547
811
229
265
619
112
463
401
855
734
608
862
146
65
883
585
104
145
639
863
720
964
321
993
457
254
873
934
536
579
331
840
497
580
12
929
367
549
799
308
965
902
522
314
890
672
295
398
760
934
21
808
113
894
941
141
196
474
237
343
528
387
228
885
765
69
598
662
848
358
457
605
879
446
754
148
441
492
722
450
336
247
570
706
828
166
618
988
505
821
404
786
856
824
99
837
450
107
711
876
410
178
158
668
505
858
283
54
770
105
260
759
17
755
670
417
997
398
700
576
258
147
577
485
928
765
311
78
744
464
307
902
684
716
201
708
436
557
525
15
765
237
449
276
583
490
918
174
121
394
919
190
174
549
532
822
805
256
635
739
255
499
853
714
69
791
393
395
582
343
921
848
16
628
515
330
365
112
33
935
177
819
951
609
79
457
836
494
620
7
127
770
588
55
857
903
458
644
233
743
64
105
780
987
865
143
869
318
445
432
6
980
973
124
229
611
419
962
311
929
248
131
242
252
163
603
643
898
225
483
349
236
344
783
368
519
699
138
855
650
105
181
504
756
754
725
999
731
23
401
753
946
222
129
209
971
296
639
383
443
451
287
183
210
621
572
250
470
491
73
744
939
524
32
521
984
61
429
629
263
116
193
895
664
905
137
656
229
522
330
373
320
411
861
923
480
462
381
881
343
598
377
986
446
735
868
287
1
834
112
174
517
581
916
622
665
908
407
478
916
169
408
562
319
302
132
689
225
693
543
446
905
801
562
704
769
820
308
414
358
771
642
178
321
472
644
442
407
756
51
961
827
186
316
329
468
225
706
967
114
536
769
950
217
602
590
438
789
361
470
307
674
934
60
741
779
775
530
194
881
813
31
152
225
214
606
514
501
416
665
295
686
998
360
561
927
766
480
150
859
143
996
811
731
604
6
821
274
425
637
22
524
447
395
486
665
918
579
695
583
728
624
196
982
505
665
200
805
118
181
464
250
101
323
118
822
391
392
802
724
565
24
584
381
447
768
652
54
553
186
715
287
364
27
363
422
794
784
382
523
582
681
165
839
520
201
917
354
584
335
297
85
58
75
523
516
696
92
719
977
799
169
462
814
856
704
93
938
48
531
304
700
478
371
949
55
489
466
802
689
766
328
208
108
254
86
179
672
89
613
506
257
827
462
898
465
298
670
975
352
284
642
192
181
68
663
415
70
598
58
921
252
662
668
41
343
999
95
557
183
701
122
207
774
632
831
335
372
825
176
818
5
993
229
884
579
345
850
318
242
887
294
882
872
252
138
458
395
898
967
542
133
205
445
259
536
603
772
964
463
349
13
842
640
24
492
677
56
79
224
59
807
50
386
906
384
123
926
94
426
829
726
365
771
545
180
468
993
350
657
634
691
537
64
110
530
724
675
416
360
115
437
439
820
884
214
228
476
79
807
611
913
706
137
320
171
848
687
376
604
780
128
882
507
41
101
211
855
326
274
835
116
910
118
651
350
986
345
753
792
994
567
9
650
490
543
726
138
601
329
891
657
421
744
207
581
984
845
197
339
586
497
144
355
331
735
532
921
709
303
958
275
921
682
189
7
452
943
149
378
63
959
150
335
997
876
602
779
688
258
768
122
669
969
878
307
700
711
53
203
355
91
46
767
448
244
756
430
689
328
861
902
940
660
648
34
255
851
331
384
659
103
702
896
291
692
978
431
84
787
74
957
633
960
349
862
302
135
85
200
880
263
561
690
299
735
607
926
37
351
956
572
811
743
545
281
102
253
141
705
842
637
334
227
352
433
980
998
210
459
627
434
305
721
339
602
739
945
598
786
609
53
620
133
958
190
545
457
326
280
404
161
419
732
705
780
376
569
741
810
1
214
469
345
106
164
891
539
810
999
413
48
233
532
568
447
535
409
831
43
649
154
988
672
387
455
682
801
823
490
269
728
966
222
145
741
797
878
986
853
682
295
191
133
995
399
933
705
588
873
854
227
355
963
390
986
743
463
135
834
515
149
446
826
461
304
693
785
31
557
181
11
63
905
782
6
877
702
758
387
1000
359
70
147
718
711
719
14
451
305
304
974
677
348
48
917
767
706
969
995
608
130
788
503
370
817
378
3
86
567
278
980
974
1
872
517
632
778
292
366
233
282
49
313
889
13
650
908
193
780
200
505
741
853
88
4
146
426
378
893
624
99
448
957
766
597
776
514
508
625
472
137
620
563
341
625
285
711
781
392
435
903
800
564
570
634
800
787
729
269
514
195
120
522
719
996
664
154
856
899
402
755
760
941
238
553
16
316
5
425
323
502
182
664
426
293
919
622
791
381
172
17
224
747
899
578
69
456
221
693
431
405
411
919
135
200
358
501
766
613
891
566
169
5
971
280
288
692
314
35
49
486
412
715
269
526
311
170
281
103
735
302
993
362
307
575
646
681
688
367
391
7
442
254
123
655
296
282
710
892
245
246
893
129
686
268
611
710
303
262
469
78
984
433
398
579
424
595
249
278
414
937
294
943
14
831
55
789
960
435
938
661
675
117
444
80
205
184
529
997
248
17
860
124
201
459
297
471
796
224
906
51
498
187
226
766
265
634
303
176
688
920
199
158
808
577
334
512
70
560
996
177
19
201
817
62
312
474
823
444
548
286
915
510
223
897
288
912
860
15
329
116
978
756
14
942
97
463
680
909
439
323
302
942
310
823
124
509
416
344
523
520
530
647
511
157
980
515
173
350
421
614
618
789
208
480
754
219
509
593
291
232
951
722
919
960
218
30
509
856
511
8
544
219
203
917
699
263
320
270
665
273
724
876
836
852
996
72
451
355
39
109
143
325
391
59
631
188
64
257
425
489
484
33
68
689
784
411
350
912
241
540
389
44
153
822
231
290
802
135
856
626
468
54
88
582
609
688
900
442
468
619
76
265
335
410
995
85
626
358
540
282
739
462
803
386
397
72
283
512
790
316
753
223
382
204
822
850
691
248
492
211
676
559
699
235
664
614
880
201
861
355
140
185
596
799
449
823
403
114
616
702
926
988
514
511
431
156
101
601
377
154
349
730
136
738
88
616
398
898
114
347
283
81
657
851
426
53
446
377
573
823
142
417
344
175
908
530
839
659
207
332
731
336
708
290
318
189
377
15
775
850
362
480
491
249
327
962
970
831
242
506
218
235
470
435
946
727
167
748
174
193
663
234
55
230
475
814
797
705
64
905
575
190
247
585
271
818
452
945
638
455
609
296
256
564
558
854
259
750
288
74
353
810
200
100
67
13
848
666
570
489
291
346
602
828
283
304
241
449
996
499
306
834
889
909
159
474
615
439
546
280
597
102
911
209
973
487
310
100
187
724
639
47
373
961
415
158
58
813
729
215
419
390
356
568
490
268
162
600
257
224
157
211
557
627
511
73
24
124
829
872
138
695
831
335
576
156
306
618
675
960
921
555
776
480
972
321
637
5
703
319
907
360
138
472
829
390
703
653
1
580
85
678
3
684
873
155
145
598
540
486
431
635
240
489
50
17
686
432
368
653
132
767
450
208
87
453
579
90
945
597
123
167
127
62
365
10
720
798
582
936
826
933
752
407
990
66
747
172
167
779
777
82
653
115
137
698
262
683
39
635
858
39
393
108
6
263
956
272
131
941
175
773
58
325
379
400
239
84
738
821
269
891
516
202
532
84
739
916
935
754
320
648
743
925
70
943
453
946
785
669
489
794
776
896
287
777
804
426
960
36
346
584
325
319
540
894
542
720
946
963
998
501
464
223
342
600
379
194
787
196
502
569
881
493
829
741
963
950
950
360
419
328
689
111
686
242
104
212
664
411
25
46
823
427
761
928
851
644
479
274
92
757
28
320
421
746
650
125
406
109
111
778
807
731
271
618
523
338
11
819
40
160
722
831
367
381
303
61
182
946
678
647
634
517
422
323
828
731
952
213
546
417
131
826
137
91
823
674
863
894
107
684
169
104
414
39
525
483
797
155
480
48
902
244
528
253
4
349
246
238
627
744
898
495
846
360
373
285
392
233
888
173
30
19
360
285
514
299
742
302
624
731
878
718
406
118
658
618
731
103
323
66
771
508
799
217
759
322
823
434
684
926
478
26
208
477
433
672
122
239
865
281
149
305
516
790
743
359
846
378
812
44
537
670
967
64
884
766
983
365
774
356
654
593
2
758
103
591
667
429
932
843
251
417
276
644
801
244
979
255
273
904
586
452
767
53
806
717
822
934
421
743
381
276
344
71
368
241
710
466
999
436
381
43
126
186
265
268
920
539
159
700
143
910
641
744
124
916
674
741
294
674
202
432
805
784
981
229
310
279
303
726
478
61
57
573
186
719
786
204
605
198
23
859
608
445
188
46
19
49
772
852
228
901
365
513
600
41
309
255
936
223
435
699
963
179
348
64
459
229
231
996
142
639
971
79
932
126
681
2
496
980
402
932
277
547
795
805
349
243
188
193
521
832
181
865
74
444
347
392
406
688
274
956
634
256
279
45
912
634
692
851
802
868
488
4
552
857
405
738
557
319
428
725
553
391
637
548
392
809
8
281
283
756
676
668
518
759
565
198
548
451
28
737
211
651
359
453
604
947
574
491
781
901
883
213
23
75
668
856
906
294
543
147
745
954
353
746
323
749
506
391
959
846
110
278
106
440
779
502
654
601
827
365
25
522
794
982
971
561
903
874
719
10
81
200
700
92
676
837
685
557
803
803
555
120
589
388
298
162
218
934
76
325
774
415
373
77
376
854
281
893
984
108
995
428
572
790
419
948
39
877
609
322
394
99
454
89
221
339
602
462
389
67
127
650
294
334
879
536
658
939
723
597
63
176
159
901
932
8
892
192
662
594
982
329
925
842
152
829
989
79
664
842
19
976
930
679
965
576
704
894
581
667
248
44
546
749
348
431
458
533
431
563
655
266
335
589
463
152
442
662
474
803
38
61
882
968
704
894
755
740
503
385
328
78
532
67
94
749
109
693
472
731
533
299
326
722
857
673
461
619
581
397
477
766
506
777
76
305
245
206
951
201
64
937
926
354
770
822
869
782
354
303
228
3
978
808
740
599
656
792
974
465
711
815
894
353
655
446
550
180
661
255
349
986
195
880
79
606
718
904
28
842
556
341
65
386
194
600
528
848
275
136
129
952
529
416
835
398
707
463
885
934
348
965
682
906
860
908
261
915
991
711
476
241
200
120
812
398
857
462
951
486
449
451
835
47
201
401
994
744
587
563
320
537
227
341
312
938
571
280
58
610
602
58
857
813
484
206
438
142
750
883
202
605
123
878
750
329
537
914
278
72
253
462
30
310
221
526
157
850
23
284
757
812
761
42
804
347
269
690
958
647
869
734
973
622
712
29
503
154
407
533
672
956
269
756
657
894
989
100
883
85
979
943
190
213
915
154
437
286
279
707
585
475
782
192
259
787
616
325
149
63
409
5
367
190
631
62
86
479
907
632
332
889
413
973
821
120
42
648
109
666
551
208
133
562
231
919
423
937
978
580
895
446
789
240
126
350
842
419
474
276
298
482
211
691
895
990
87
732
200
148
401
307
136
979
671
323
991
485
500
501
704
827
61
451
612
548
912
615
239
929
530
238
916
853
24
735
228
970
994
686
315
520
373
260
49
913
428
996
977
50
760
756
717
409
294
145
177
127
754
829
564
654
38
40
674
91
260
956
337
955
951
835
226
982
58
497
466
529
943
243
597
288
515
330
478
309
39
926
688
804
877
825
793
764
644
293
630
240
823
113
407
11
865
286
982
467
211
852
182
743
469
998
364
561
184
957
742
732
252
187
173
25
65
989
209
928
874
27
215
841
718
168
268
441
480
691
383
242
304
215
301
891
631
567
748
352
595
484
576
936
363
219
655
92
289
75
730
963
422
411
714
986
989
914
38
234
970
778
777
767
775
974
196
994
321
973
284
936
550
122
617
322
498
382
566
654
579
278
481
728
672
725
1000
616
898
860
4
781
778
137
100
814
524
708
700
285
859
559
927
311
633
956
590
761
939
509
419
444
144
546
619
268
477
584
515
78
366
354
766
829
705
260
173
827
662
129
565
973
392
833
663
372
270
697
63
177
844
570
729
272
742
152
413
216
193
414
499
922
651
969
618
691
257
824
243
540
504
271
157
270
548
570
358
338
37
685
470
385
212
583
177
261
309
506
562
428
948
176
474
956
286
129
194
702
227
228
781
838
820
941
404
657
342
158
872
429
220
148
363
169
94
776
32
338
825
230
778
888
178
336
975
546
265
990
347
927
546
379
523
874
332
402
4
405
325
196
411
796
627
703
934
616
68
994
821
972
436
466
604
850
401
89
530
168
475
572
294
123
363
728
766
431
456
319
867
346
990
347
133
691
646
115
770
700
946
365
244
165
832
452
494
230
250
837
895
210
379
133
999
941
396
558
907
538
306
955
822
897
425
432
8
902
553
298
871
117
745
210
349
687
861
333
137
260
744
910
528
26
956
807
813
388
515
517
244
333
937
608
561
324
217
781
922
421
72
573
911
363
899
202
943
574
409
234
30
373
824
537
331
231
881
477
360
535
587
407
16
178
842
305
844
267
602
830
34
378
188
168
749
72
732
779
268
856
514
571
307
357
125
74
622
263
962
909
676
474
566
217
697
24
702
746
946
510
874
973
380
215
203
981
195
595
163
805
918
556
746
624
812
748
10
476
371
173
823
130
597
525
834
413
540
23
378
494
360
1000
33
656
734
110
47
576
20
836
682
480
4
922
823
353
422
471
843
18
683
689
838
59
395
695
790
470
372
393
165
421
746
119
691
728
713
661
835
445
219
333
560
502
578
923
487
461
629
744
522
273
523
506
318
384
667
386
693
661
637
536
281
395
129
203
224
41
131
803
683
508
527
592
316
479
301
981
623
719
356
217
254
334
706
847
945
696
474
355
752
95
690
396
622
227
352
314
177
297
606
995
759
871
176
671
434
589
360
967
635
527
41
367
584
286
121
260
455
867
725
918
467
996
342
77
753
862
776
260
915
147
421
637
600
830
911
10
328
490
636
436
61
734
956
150
674
932
217
670
573
680
818
411
219
247
654
707
159
821
230
865
531
537
623
755
667
123
255
517
557
484
129
117
456
705
784
890
832
764
731
683
199
708
525
896
112
172
977
553
738
893
209
490
992
312
387
923
156
440
16
899
292
925
619
653
502
640
447
428
288
190
675
136
841
444
133
123
64
571
252
381
554
78
327
805
548
60
615
440
58
175
55
248
32
884
591
591
389
138
176
515
226
4
560
899
301
684
830
731
146
10
551
77
828
780
17
805
384
215
801
761
470
431
296
869
569
55
401
618
433
17
842
460
58
114
883
927
607
152
341
714
175
355
867
505
188
248
477
86
524
399
128
165
149
274
988
367
203
921
696
56
950
381
524
24
955
510
858
560
200
383
817
122
552
558
168
626
168
269
879
361
980
28
833
694
328
240
219
980
212
163
82
595
375
937
342
566
625
493
393
79
370
852
977
24
356
694
680
857
949
112
808
234
161
155
807
317
772
89
682
160
561
320
44
286
638
560
528
440
340
145
327
504
936
356
486
715
684
245
437
693
364
716
971
218
524
573
455
367
90
810
679
406
874
703
114
778
784
117
751
637
216
54
909
646
183
638
602
169
239
638
76
562
137
138
144
6
477
159
803
211
291
875
392
349
647
553
292
811
844
527
692
682
742
289
529
412
49
275
60
756
176
33
875
947
388
241
373
994
531
478
850
180
597
743
394
85
713
454
711
951
959
83
872
783
555
622
699
352
553
802
207
193
187
355
53
746
373
638
420
49
708
628
180
746
500
620
407
753
960
995
561
581
752
16
724
219
470
999
286
466
489
92
397
754
847
582
311
888
486
886
472
527
188
337
815
948
73
458
320
377
297
678
253
142
949
318
922
995
762
270
995
248
350
990
620
729
202
282
628
196
503
924
80
550
218
316
321
66
531
212
449
941
866
83
841
618
251
802
950
729
686
158
94
999
523
188
396
130
608
398
299
503
81
772
370
521
261
857
168
552
37
346
52
724
513
276
691
281
458
424
933
802
265
484
404
368
713
360
909
651
827
285
239
14
505
464
486
899
403
678
333
207
764
585
88
887
500
471
398
674
838
852
711
753
311
638
524
160
639
537
399
875
365
995
518
921
683
252
292
213
2
26
158
602
205
925
233
301
472
943
957
856
753
277
161
924
705
309
314
384
957
740
793
734
60
814
158
271
397
38
325
341
596
21
455
762
731
883
143
632
674
184
179
886
525
487
777
353
929
452
628
561
453
857
601
211
928
47
180
73
794
72
990
22
54
260
865
87
400
2
961
674
415
323
365
567
566
181
491
927
839
514
296
267
476
779
45
307
252
57
892
669
140
894
16
633
978
660
463
533
19
610
88
933
784
778
220
433
744
535
750
768
698
911
350
941
617
770
455
240
920
547
438
344
811
523
150
208
360
563
612
35
452
821
190
458
619
172
25
986
8
25
843
885
451
745
514
936
653
107
899
911
19
100
589
193
546
905
113
703
480
79
76
187
181
792
462
926
716
492
52
191
257
487
471
68
255
782
928
819
723
954
78
606
676
963
790
232
938
600
797
527
65
686
368
168
113
227
143
972
304
504
239
209
466
441
578
32
255
678
132
922
767
493
458
957
147
83
450
766
185
728
715
302
690
80
364
915
641
130
273
776
751
410
104
392
57
655
423
814
617
444
300
148
208
304
660
149
156
393
488
2
87
157
704
891
428
275
154
558
955
815
714
893
538
758
917
516
518
961
907
418
802
181
717
18
892
995
97
378
494
351
128
912
290
952
870
663
759
947
153
86
598
156
403
338
472
610
116
277
278
327
144
712
95
42
514
976
266
84
863
559
848
721
941
346
788
62
795
18
721
37
452
284
281
94
875
917
147
945
978
25
831
169
293
569
386
466
647
939
814
124
871
287
903
616
139
403
664
264
982
156
311
597
431
903
936
391
16
812
670
327
538
756
102
924
627
268
196
644
130
99
747
87
237
39
675
777
122
36
93
356
555
95
141
890
608
88
31
635
84
412
616
810
757
349
74
861
862
138
953
248
517
976
928
992
923
636
105
113
268
923
585
599
215
944
343
738
754
59
126
499
965
398
252
105
941
59
660
155
730
449
527
400
631
717
68
787
620
952
899
488
978
579
484
408
433
427
717
121
242
32
686
236
689
74
997
986
410
253
822
199
804
565
2
899
546
653
150
476
887
869
622
753
971
720
714
298
904
643
137
25
655
398
136
446
194
952
144
955
420
399
944
175
578
332
708
694
823
94
119
501
542
486
34
36
830
878
777
71
248
100
208
542
648
151
176
71
335
584
819
151
326
307
459
869
784
732
497
607
983
385
817
370
296
578
681
279
789
265
999
265
957
973
163
217
47
564
335
655
151
645
201
512
5
620
712
741
975
769
272
305
247
208
167
539
641
303
742
18
784
885
30
839
599
633
20
647
209
115
786
848
372
266
988
184
525
549
90
237
345
621
768
527
511
132
604
540
989
162
113
427
744
904
585
122
264
415
985
330
629
663
400
161
188
617
110
187
61
863
389
365
807
33
575
557
582
414
764
364
58
203
750
597
136
258
448
1
268
637
104
766
795
878
61
970
257
741
698
321
69
132
442
504
316
966
421
945
657
54
417
85
514
482
262
78
756
520
716
366
101
873
169
800
296
914
222
769
971
634
298
330
700
212
983
476
447
485
699
482
54
95
652
748
852
770
748
660
778
15
293
800
627
470
868
226
175
341
715
682
965
583
336
312
470
988
775
863
217
914
243
426
195
174
311
490
539
515
892
415
42
183
643
525
536
322
190
632
541
313
813
210
885
744
837
381
182
360
980
571
164
223
361
972
838
323
672
927
399
40
299
977
603
195
783
589
44
890
78
502
420
4
535
239
393
978
387
576
92
482
783
655
668
678
108
978
555
24
387
780
254
14
92
82
523
814
532
315
840
471
334
561
865
280
210
295
439
932
352
27
327
256
261
375
528
739
819
937
468
508
665
758
806
148
746
352
915
511
6
986
291
718
769
376
311
626
286
50
766
376
341
359
558
66
507
526
790
197
884
202
226
310
705
683
780
162
183
335
234
832
368
794
887
414
609
204
181
322
387
75
676
780
926
360
916
770
1000
994
817
578
777
460
241
64
384
876
309
988
114
785
829
7
821
29
947
489
147
92
743
875
622
845
43
151
602
887
160
938
232
583
618
785
337
452
166
564
188
781
573
229
625
203
727
818
861
521
564
292
648
223
218
688
151
995
575
118
7
32
100
342
575
74
421
993
292
953
627
57
398
848
686
868
22
623
685
712
767
335
808
110
500
515
134
991
988
824
325
258
388
528
261
696
404
550
501
796
41
989
205
802
526
665
834
227
920
643
478
167
353
712
176
943
619
472
934
21
61
51
458
685
314
413
806
643
471
956
251
601
680
316
668
865
996
332
660
171
584
719
447
302
966
258
291
517
101
283
831
440
526
816
260
882
643
942
702
996
527
923
511
275
281
139
453
178
84
97
909
568
522
695
293
746
727
392
853
562
126
164
916
20
322
943
401
783
741
744
142
228
191
832
143
39
422
90
394
834
97
232
307
2
321
591
116
749
34
37
839
329
112
966
513
567
984
436
449
105
942
240
211
209
75
130
852
615
961
448
707
643
810
162
703
721
742
639
715
549
307
559
954
358
118
17
787
94
701
238
633
933
268
297
806
196
155
901
267
620
71
616
219
932
153
851
458
853
60
571
128
984
985
962
331
506
497
223
601
256
623
238
853
553
393
142
806
74
395
681
261
214
511
840
853
599
139
425
79
862
654
152
430
356
771
332
478
208
799
416
617
17
426
521
947
532
862
526
489
842
615
527
530
992
158
189
356
411
57
55
111
256
847
968
770
548
134
525
484
5
923
955
662
586
118
876
199
57
552
131
203
357
616
332
416
131
788
771
280
558
900
88
270
541
999
463
673
385
53
113
465
312
525
570
324
586
99
551
105
510
389
231
283
318
552
395
984
788
98
214
216
455
51
422
834
437
848
221
578
250
11
576
265
438
667
465
817
486
470
256
386
308
318
608
222
507
553
235
346
742
990
386
277
793
220
144
280
328
97
509
635
951
248
741
406
855
721
664
82
275
595
420
246
983
514
707
88
282
592
663
234
291
96
367
822
843
627
402
172
976
259
56
748
827
257
481
289
723
524
612
147
391
909
695
891
515
850
52
193
311
614
97
831
397
558
676
446
2
436
539
296
475
747
93
868
122
526
649
645
656
779
19
728
895
975
709
288
914
612
904
14
563
903
126
840
82
55
743
207
602
440
471
53
461
212
641
540
593
540
278
234
746
710
966
95
899
799
75
177
57
466
174
361
550
707
335
814
75
81
633
107
957
995
319
89
570
138
41
692
376
27
19
792
830
967
246
168
245
387
643
337
766
672
582
794
812
108
365
727
703
477
20
826
666
208
288
193
145
678
745
684
100
455
834
240
14
774
968
880
429
551
3
96
144
552
72
296
659
145
234
803
41
205
410
702
164
364
796
424
195
751
353
600
254
777
939
123
441
337
404
781
776
974
246
95
157
205
468
186
158
187
906
589
306
378
612
961
527
621
855
506
602
377
893
791
796
433
997
320
313
497
84
896
872
519
962
300
469
469
390
295
377
553
103
281
503
538
469
202
519
935
698
463
581
270
365
668
21
590
560
988
160
630
153
829
238
784
500
263
522
146
411
378
868
386
377
297
318
186
824
126
898
250
665
507
384
680
520
751
675
646
759
765
363
804
961
123
254
917
470
641
870
457
473
790
409
774
428
106
266
558
748
516
963
930
327
175
264
484
903
957
318
973
251
219
920
181
916
862
342
670
500
949
763
766
541
399
997
122
665
302
88
653
11
473
362
447
868
719
676
522
131
147
940
915
406
549
473
669
583
531
387
716
239
583
980
542
522
757
80
775
33
927
392
514
808
893
139
311
716
739
742
195
438
920
821
35
756
535
572
827
30
121
416
200
612
73
909
575
421
520
52
890
70
47
552
756
731
201
37
257
420
78
953
300
454
655
653
614
680
737
201
17
429
486
527
556
326
605
885
444
754
115
989
555
233
581
851
340
994
332
49
681
782
951
130
125
246
810
895
393
351
947
543
811
903
950
61
562
624
775
769
230
208
663
642
166
460
368
881
608
906
961
222
322
240
342
635
787
599
458
397
576
928
889
7
638
627
160
32
651
292
609
783
482
554
141
671
47
991
503
183
556
592
985
708
196
489
633
820
822
559
87
254
74
997
168
492
692
174
197
804
471
909
820
593
437
805
809
137
321
433
902
146
363
973
258
64
785
371
497
746
31
212
642
928
3
265
469
912
84
114
930
15
694
358
324
639
479
632
871
245
31
77
135
150
173
981
566
804
467
997
34
131
565
726
820
611
429
502
13
964
247
865
623
758
75
577
3
724
862
20
400
325
517
467
494
965
119
43
865
203
201
132
160
568
268
632
611
834
368
729
250
151
585
787
791
4
764
563
716
839
671
182
504
79
33
217
326
394
605
794
756
349
466
822
241
972
270
366
97
340
32
670
813
48
381
538
308
278
862
632
561
255
37
720
748
66
622
79
601
167
830
58
223
440
440
275
988
298
823
49
490
190
325
434
718
830
948
663
760
592
233
917
390
849
609
36
817
441
236
259
744
92
570
69
609
341
438
991
585
492
399
527
431
132
591
464
814
35
31
453
56
615
564
128
570
689
263
991
441
948
110
983
702
443
206
945
851
383
594
142
84
703
21
656
530
214
610
727
483
586
464
35
281
103
671
557
998
869
71
820
562
156
384
320
279
614
1000
411
959
416
799
200
41
741
863
840
163
647
850
157
590
68
72
725
804
574
65
329
360
590
518
291
750
947
973
244
702
6
625
775
749
109
882
820
403
780
87
811
516
923
955
348
682
239
820
625
634
237
753
908
646
492
964
113
877
262
691
951
451
180
944
146
824
505
48
969
644
324
932
675
875
174
500
494
442
807
224
475
25
169
307
857
915
241
363
605
32
80
621
431
335
245
36
915
807
819
560
301
157
407
58
188
173
790
984
583
384
449
998
746
337
738
165
836
301
358
230
599
692
668
742
284
815
511
476
474
818
493
672
796
888
57
136
300
786
284
81
840
810
79
961
993
136
282
197
859
284
303
852
607
140
62
795
783
578
381
863
189
211
495
821
632
225
2
688
936
572
402
131
420
2
373
186
453
556
38
510
801
195
810
757
227
134
809
407
196
367
493
600
629
550
873
52
319
134
627
177
35
169
492
892
346
678
535
410
890
903
315
512
153
983
467
430
809
827
960
466
353
50
124
918
33
846
554
709
77
552
181
351
835
536
113
536
707
691
321
681
701
511
923
215
22
230
552
278
364
934
303
739
462
952
827
160
36
34
400
368
467
19
241
831
409
750
905
895
97
978
308
265
255
850
850
804
391
406
113
846
724
153
856
747
175
423
332
302
647
707
505
19
269
565
411
952
451
47
700
958
307
761
415
799
501
881
185
437
623
390
304
284
954
832
606
885
910
669
688
740
464
96
752
506
617
856
289
855
315
117
886
620
272
998
670
690
812
662
303
311
213
226
966
59
16
891
496
797
414
824
661
312
157
303
608
206
370
571
668
828
295
651
24
677
256
81
238
777
80
208
280
968
797
141
460
927
675
987
668
994
581
277
379
577
184
779
183
967
752
49
998
896
168
127
707
74
301
789
685
224
74
593
581
857
403
804
752
141
663
935
949
728
522
246
227
347
769
61
526
291
225
168
92
661
976
865
680
403
916
486
500
683
31
309
980
143
959
841
742
925
90
378
592
116
881
602
992
462
125
749
181
768
619
490
86
394
62
310
203
647
19
570
867
689
505
872
740
765
46
597
852
184
106
703
265
509
400
950
259
818
925
738
985
765
517
647
645
377
358
584
660
181
134
179
685
320
471
678
36
746
903
146
856
473
810
213
288
116
740
944
59
648
29
701
123
354
879
974
423
490
922
276
432
16
825
134
837
96
669
109
637
755
683
560
963
209
412
544
126
876
547
873
758
49
458
820
427
501
926
403
767
57
719
486
3
298
397
144
713
133
203
892
828
915
957
415
151
143
644
336
128
577
768
480
211
758
612
766
931
499
269
598
681
932
664
122
329
53
834
254
978
550
390
702
590
860
468
557
750
69
424
149
511
234
221
37
150
185
751
934
669
654
286
340
30
842
904
440
453
188
991
547
594
116
863
21
25
49
140
114
274
795
761
634
606
705
411
674
834
688
714
919
730
216
756
171
997
979
353
840
365
732
38
92
92
159
910
243
33
323
327
762
505
356
923
950
343
568
595
950
944
102
893
252
558
568
736
274
796
839
481
909
120
339
151
145
88
716
83
30
241
716
321
230
824
481
843
437
991
238
104
681
725
517
458
380
504
660
694
619
624
312
352
717
199
32
458
602
57
937
41
921
173
510
108
70
799
310
781
530
150
344
909
15
388
307
830
897
627
689
883
344
874
26
902
359
127
200
225
692
353
740
647
187
688
554
371
667
12
354
239
933
986
348
435
755
748
409
407
26
749
39
978
394
591
936
486
748
337
847
305
937
480
713
323
935
644
813
743
501
146
720
116
32
722
420
632
937
126
849
531
351
752
462
952
413
177
163
654
664
278
86
825
344
610
266
642
470
837
185
319
661
315
570
127
568
380
555
292
653
490
523
719
796
133
515
206
875
354
88
194
41
787
890
131
858
357
36
182
895
166
556
402
606
650
837
453
557
765
950
615
128
853
222
134
859
807
242
948
479
372
691
416
516
702
86
982
65
795
540
620
972
70
114
513
181
131
196
666
455
710
623
27
44
918
916
306
92
152
113
826
780
461
143
687
219
719
602
990
136
728
79
84
228
199
903
647
875
669
274
876
580
558
289
248
114
972
276
109
835
321
202
806
80
545
645
219
823
518
965
310
35
215
890
751
309
341
639
774
338
439
119
154
780
911
476
608
911
35
454
984
193
784
628
301
567
198
520
103
830
116
51
590
961
333
551
693
589
601
764
595
141
466
916
185
350
609
902
616
940
251
116
412
272
136
235
553
699
851
555
597
123
488
77
154
55
205
631
981
24
827
758
549
789
453
949
183
206
978
96
776
963
537
713
637
657
147
530
261
844
253
590
663
754
431
850
453
347
267
597
26
261
284
699
65
986
868
823
52
298
313
269
655
577
476
15
641
145
61
863
463
169
174
357
749
989
675
265
750
955
787
967
186
993
586
72
71
145
277
924
797
283
619
436
201
36
466
887
367
726
153
868
661
774
368
578
829
604
248
51
68
539
639
709
608
566
869
828
743
152
923
140
182
443
604
790
308
330
112
317
193
816
527
142
208
83
779
296
689
430
94
770
380
997
320
901
332
835
217
694
516
377
564
822
647
853
911
323
639
504
873
696
655
735
169
181
934
481
999
474
460
141
933
60
50
419
225
629
633
271
342
734
333
941
553
3
462
799
616
695
685
240
956
344
420
444
247
568
24
199
974
831
408
304
377
137
530
285
163
142
626
315
509
154
155
222
171
862
146
452
959
362
89
679
465
291
512
519
667
402
151
457
967
937
966
670
293
540
295
914
128
256
113
990
713
369
713
625
212
441
121
780
338
944
212
495
793
302
785
390
870
987
856
845
761
548
26
719
420
124
45
168
325
7
679
751
106
306
513
588
814
611
629
723
548
848
948
224
270
160
642
816
887
763
176
966
119
201
467
455
230
315
137
398
432
555
42
595
671
965
94
851
543
286
887
607
269
140
794
834
55
187
17
621
638
495
525
324
494
56
950
445
46
601
285
647
127
334
654
418
155
232
528
963
726
892
505
818
804
667
167
555
287
33
592
674
486
702
822
455
984
983
947
120
402
282
501
101
857
459
547
620
238
934
177
48
33
80
142
715
73
430
969
952
475
692
271
120
40
348
874
324
538
904
32
313
660
465
283
785
855
379
431
961
967
153
700
818
312
691
417
805
846
206
407
250
147
791
910
861
202
771
6
955
423
386
412
57
872
312
64
517
417
778
45
669
428
779
305
833
671
977
76
158
239
417
60
908
743
113
281
288
472
870
935
323
921
479
721
627
900
538
899
107
416
731
755
794
674
329
255
16
808
59
396
76
446
256
197
450
764
373
305
265
501
540
908
490
295
808
46
833
772
158
409
806
78
105
402
818
902
998
622
416
601
652
849
15
735
58
341
532
164
253
517
354
891
354
75
993
992
916
223
567
302
481
975
10
997
214
400
508
880
972
295
218
934
23
16
751
682
920
90
273
997
676
798
305
244
503
125
483
105
849
366
594
952
361
180
205
410
722
87
26
624
989
230
8
783
210
742
798
665
577
183
828
312
334
341
780
470
974
159
609
78
4
656
598
949
694
498
170
717
794
319
282
323
146
958
286
550
489
553
83
597
521
817
214
301
469
881
338
334
989
828
161
666
214
378
474
643
159
241
429
247
503
326
540
519
960
341
228
644
87
315
857
923
372
215
384
691
897
164
666
258
687
705
453
140
92
206
874
129
225
749
946
287
483
803
281
529
678
574
695
315
150
143
870
852
504
445
554
389
293
673
59
377
60
919
963
750
621
738
999
107
389
830
82
342
828
264
300
127
833
441
504
737
958
565
786
853
914
483
777
383
712
601
156
834
140
37
222
428
995
283
645
996
678
460
788
664
250
638
70
467
60
820
933
342
391
931
856
387
345
534
767
882
373
76
915
338
426
187
947
749
709
900
495
299
395
717
60
20
481
117
345
262
150
438
487
400
645
78
830
902
659
599
977
713
683
631
849
961
578
445
434
138
900
678
664
218
116
977
640
710
924
258
16
207
360
876
911
855
197
235
137
71
458
291
922
968
518
932
506
195
344
461
192
328
940
279
492
518
935
358
960
841
561
329
221
663
978
823
451
406
22
190
291
279
956
904
756
899
752
747
199
247
749
341
833
68
273
720
590
641
967
408
351
845
101
907
696
576
125
582
368
842
57
697
571
364
100
729
94
61
33
176
991
598
528
773
209
83
509
407
132
68
87
52
484
251
387
728
387
658
820
825
702
623
920
140
934
608
945
622
93
712
812
118
924
798
811
412
797
278
765
428
400
939
934
783
78
705
49
788
302
812
287
596
280
716
873
443
183
971
275
821
770
453
621
998
501
524
57
506
343
198
251
83
577
910
153
101
846
240
405
685
619
812
516
568
985
672
38
229
393
587
473
13
582
129
604
741
414
875
237
780
744
738
117
674
791
275
897
211
694
797
617
225
46
226
72
547
262
967
863
235
570
498
646
655
251
972
292
994
535
932
275
559
185
97
541
537
410
322
570
960
177
997
92
266
421
592
153
226
887
579
841
972
578
644
994
536
836
995
633
601
135
550
723
156
534
991
69
334
585
955
825
34
192
157
138
818
572
850
902
192
976
822
471
633
305
106
435
596
61
639
269
325
375
421
704
495
972
107
208
582
46
553
811
398
935
568
864
391
424
13
967
179
248
433
475
259
82
591
476
997
892
670
66
824
33
364
92
996
884
810
264
446
141
85
674
986
94
6
338
595
354
100
307
574
538
899
268
145
351
174
334
436
357
322
891
873
487
886
947
703
996
106
436
770
137
478
296
651
307
511
985
989
799
305
255
172
561
44
667
507
585
284
309
715
623
694
641
836
946
979
202
661
765
847
154
366
756
226
300
347
855
404
242
177
110
430
826
178
923
862
864
389
458
947
407
554
326
395
523
394
931
174
594
552
12
189
672
549
977
258
292
581
618
555
465
157
661
560
277
468
385
597
635
822
262
274
211
667
139
439
577
516
7
841
852
568
815
298
909
925
72
51
363
99
270
909
77
923
203
988
916
86
373
81
812
243
576
199
2
70
601
393
462
681
765
740
128
547
641
314
535
423
909
994
828
831
735
252
976
311
473
394
163
6
746
310
992
148
188
469
134
654
193
767
476
355
50
828
687
348
740
552
319
585
486
2
233
84
882
232
183
97
49
271
857
132
802
284
511
8
259
884
651
2
661
666
840
714
449
304
834
486
778
966
715
100
733
382
593
982
477
634
752
348
456
602
819
556
547
87
654
428
746
786
167
453
591
683
227
613
16
915
107
6
726
852
705
593
550
946
896
160
384
894
916
18
524
786
659
62
202
219
120
559
69
798
981
424
239
42
536
818
256
506
702
617
999
810
887
657
108
374
846
706
15
874
497
798
993
813
836
879
971
180
743
760
31
811
450
973
598
996
921
472
360
823
169
71
840
949
821
142
385
831
862
355
30
880
554
215
370
698
969
687
50
303
454
505
986
227
615
619
730
474
74
822
678
563
336
792
964
348
613
689
964
828
324
928
286
935
292
982
35
148
393
876
890
838
498
551
258
449
71
411
339
972
748
193
458
678
499
757
439
760
763
521
78
340
70
27
39
298
207
591
599
496
974
42
713
283
899
342
812
614
87
239
594
703
538
210
825
925
856
626
828
574
250
472
902
167
143
977
393
234
499
168
508
873
164
751
270
969
178
676
169
588
979
410
210
990
909
275
13
669
192
118
576
20
875
279
98
552
791
17
1000
34
718
569
902
640
313
539
856
892
315
611
579
205
737
458
766
912
472
284
843
933
811
649
644
632
853
114
606
39
711
745
13
290
671
729
720
60
226
166
575
796
969
631
436
751
888
216
285
201
518
608
459
701
723
203
404
946
653
373
694
593
543
807
281
409
573
258
55
227
976
126
848
505
940
54
951
711
627
130
58
383
790
313
308
471
78
468
769
471
87
711
246
965
626
842
805
388
454
295
765
240
962
395
179
508
890
694
69
751
183
829
718
181
514
633
371
55
850
213
586
886
654
330
307
299
988
675
434
833
808
602
324
636
217
441
167
791
302
771
637
963
443
943
568
152
679
695
642
628
773
919
272
503
128
510
882
3
593
754
816
230
497
914
932
60
970
479
767
922
700
75
825
351
825
166
153
590
562
493
867
39
524
659
700
976
401
401
973
863
842
851
600
464
909
539
871
194
455
972
806
378
117
375
792
569
399
579
87
666
508
110
515
350
157
225
339
256
572
56
878
402
318
997
884
593
355
205
110
937
970
389
743
136
804
78
608
916
260
213
128
827
960
193
18
649
790
514
642
801
289
718
731
500
782
678
917
864
727
159
162
828
185
208
682
501
204
147
423
569
149
869
502
440
733
677
249
96
539
151
682
34
340
356
300
255
424
275
48
986
398
515
193
722
706
174
636
189
159
255
883
75
325
182
482
686
548
757
253
225
699
375
38
48
493
450
27
98
353
760
926
652
377
856
373
720
880
799
39
661
385
198
801
91
688
945
207
711
804
112
229
497
185
162
938
570
586
30
326
158
352
635
952
306
714
77
488
345
858
123
508
709
180
559
75
371
151
669
763
13
612
380
764
103
210
613
644
163
870
959
123
877
871
125
977
165
150
488
793
966
900
712
856
284
395
617
859
8
261
404
504
96
69
882
308
12
225
577
87
685
599
471
653
869
272
623
252
492
21
163
120
480
941
919
357
581
646
508
980
920
72
807
630
360
791
590
913
277
99
535
757
3
871
956
502
43
331
379
633
111
414
534
235
232
396
386
255
373
785
635
607
594
268
457
12
250
685
360
209
582
556
728
845
943
717
997
902
958
981
444
24
184
566
243
441
198
220
797
528
593
608
332
170
70
533
425
264
646
983
398
639
49
861
537
621
502
443
657
274
445
313
862
82
226
523
243
439
407
219
887
901
168
830
775
530
183
173
89
73
517
518
987
938
287
751
114
80
305
224
13
23
467
819
112
165
378
36
142
432
623
608
695
112
98
294
138
397
52
990
204
771
808
252
460
865
692
623
260
828
316
937
943
582
234
891
803
536
930
723
801
481
265
823
69
417
797
438
12
999
819
405
216
160
592
55
422
185
3
965
557
217
791
262
162
705
568
568
612
807
84
464
190
113
589
579
419
359
668
13
59
3
639
824
832
590
461
732
228
901
100
44
748
733
489
14
510
10
515
534
480
644
984
59
479
175
114
176
725
781
940
49
929
679
918
269
836
280
174
305
702
733
59
839
362
637
130
739
484
777
214
363
53
716
978
132
389
945
297
68
791
83
751
67
415
324
803
241
160
897
551
537
112
853
450
225
603
850
102
551
29
987
5
16
373
894
146
281
792
483
460
661
747
741
478
550
871
929
922
850
194
381
622
712
395
863
891
408
469
93
420
227
571
619
800
593
823
702
64
482
558
242
968
383
808
66
326
652
867
97
371
182
361
16
16
663
630
28
852
613
141
269
933
546
303
194
690
322
320
19
828
747
654
921
656
985
278
216
153
173
104
213
955
922
930
760
613
52
761
759
701
10
609
109
782
878
724
566
817
813
751
26
324
19
496
573
504
107
803
463
562
767
574
865
678
227
84
818
436
897
570
342
11
908
552
53
111
28
422
971
481
552
676
407
749
333
540
962
565
84
875
701
224
409
970
507
480
849
238
468
798
350
904
920
110
185
466
391
21
324
110
315
509
647
258
802
380
217
137
169
140
7
592
214
471
117
349
384
228
503
608
135
696
724
143
724
881
973
49
650
778
960
917
723
868
829
466
503
597
341
632
447
209
32
658
680
122
908
43
700
955
495
26
717
457
775
929
557
816
590
825
230
274
585
916
331
529
695
513
408
148
427
707
330
103
940
640
444
568
23
816
32
348
588
6
160
635
229
138
523
318
731
30
296
735
145
919
327
580
207
547
218
678
397
984
988
433
944
471
24
106
388
283
6
488
131
65
284
155
558
101
8
252
896
737
910
674
974
507
251
595
438
594
890
492
782
875
831
266
755
209
876
522
329
565
210
842
422
290
857
710
10
83
914
744
81
235
424
107
135
318
534
240
573
754
335
580
368
676
373
555
884
36
404
922
541
200
367
497
339
153
921
402
887
999
139
238
704
666
113
4
8
582
295
146
148
639
369
884
106
919
329
808
207
519
228
817
302
308
752
653
206
579
367
645
76
396
308
795
799
896
68
998
134
911
382
18
556
68
913
822
260
968
977
25
770
111
692
457
940
1000
860
361
918
264
759
303
822
670
753
643
444
653
327
349
307
330
669
1000
789
7
445
57
815
871
765
866
855
905
629
408
546
39
329
513
314
245
411
92
761
545
750
982
446
900
270
143
908
567
597
291
434
763
696
517
127
457
165
82
282
643
372
394
943
749
105
81
794
711
712
221
196
791
995
34
282
470
251
758
505
586
971
9
926
429
606
665
828
684
779
192
975
968
18
373
902
183
860
604
198
77
701
287
625
202
335
346
274
941
488
567
687
377
1
300
38
569
519
21
979
236
697
408
767
929
941
873
603
526
665
932
922
297
889
426
523
819
755
340
31
773
201
899
158
988
598
713
633
168
635
934
472
378
106
813
462
737
555
573
357
761
909
210
293
433
341
703
363
402
606
115
130
679
999
243
75
814
919
802
659
822
711
597
685
47
139
786
145
768
323
140
569
579
463
123
192
474
995
760
904
154
83
501
52
262
517
712
643
132
155
1
396
177
11
323
386
205
990
682
739
822
24
308
952
540
102
379
924
398
240
710
710
695
965
358
366
892
307
744
953
888
583
730
955
625
506
64
883
437
264
756
817
621
265
212
997
483
177
452
341
497
740
285
935
288
587
130
164
837
970
68
73
730
855
764
22
248
322
180
430
800
586
339
660
571
241
973
685
189
527
572
213
939
511
228
348
307
78
645
744
639
549
904
388
301
542
846
857
4
446
459
881
920
460
269
568
763
751
526
455
293
654
962
852
585
243
943
611
966
841
167
546
751
164
426
195
766
931
551
541
176
667
393
590
340
370
563
419
228
460
711
419
442
139
326
982
61
881
386
810
291
282
700
339
410
902
469
539
605
65
401
474
60
787
691
569
124
140
347
478
442
408
598
827
707
312
595
865
71
443
213
232
342
794
535
650
772
950
487
305
648
40
228
119
911
62
54
886
699
540
31
457
84
778
75
786
245
171
906
665
966
99
177
391
688
988
57
452
286
988
759
560
359
548
789
2
131
908
195
323
956
141
737
824
36
907
679
221
212
550
852
81
562
497
767
311
133
175
794
99
331
824
851
144
373
669
631
958
716
849
108
275
601
426
975
364
641
545
680
97
920
538
962
209
206
337
113
50
683
93
720
508
92
282
320
510
282
919
204
627
945
716
592
908
752
139
568
987
206
374
413
878
251
150
448
671
95
196
123
480
776
897
804
599
688
339
675
814
673
541
225
204
322
100
15
560
785
896
834
789
761
764
861
247
317
242
188
983
842
603
884
316
755
381
815
970
557
516
582
258
412
50
294
433
773
51
343
391
437
45
7
361
57
793
489
71
371
686
968
179
293
365
305
394
588
467
373
844
80
510
325
679
181
24
757
855
85
25
402
293
151
763
915
347
826
504
328
618
971
781
973
682
597
140
13
198
843
932
249
240
467
86
513
389
262
154
821
308
595
92
407
40
679
421
913
256
287
418
304
20
385
929
522
428
520
268
499
641
915
390
920
421
882
216
37
271
578
533
917
668
141
376
723
688
925
186
48
520
896
300
824
990
258
551
62
236
15
838
511
90
494
526
366
567
824
461
280
111
974
200
315
851
246
766
894
235
48
881
497
805
353
170
611
790
523
256
404
431
39
21
706
645
295
574
127
718
760
614
572
198
756
939
989
60
565
856
910
519
808
85
239
569
859
565
781
444
555
259
212
716
618
638
536
672
24
52
600
954
1
584
900
158
478
314
730
277
577
152
726
373
168
497
979
873
619
52
181
205
592
51
744
292
167
991
402
574
609
740
597
829
832
537
868
51
974
974
511
19
525
522
36
31
138
538
330
438
594
992
972
270
389
320
843
236
58
937
44
825
670
914
138
61
896
282
901
703
648
187
102
325
611
890
289
775
878
208
237
959
514
550
459
748
133
117
171
115
433
209
192
245
243
825
510
461
819
908
705
307
9
640
930
9
438
194
965
846
43
194
655
659
124
962
175
872
601
274
703
866
277
996
453
531
753
434
567
119
93
672
974
256
456
481
202
159
701
581
91
590
384
224
472
105
693
42
217
470
574
78
462
910
731
768
467
32
239
389
280
839
204
140
350
239
317
612
259
878
129
860
13
868
597
677
693
261
770
951
823
675
496
183
515
532
663
347
294
781
826
261
540
824
13
567
630
578
131
234
197
284
680
200
418
703
419
435
859
802
187
203
212
896
387
787
203
497
480
238
62
771
452
22
210
613
388
545
224
820
187
643
730
758
983
83
602
189
979
992
730
672
314
934
663
30
2
42
639
926
203
198
865
483
838
778
425
257
77
881
861
580
312
270
302
442
26
501
991
641
396
811
205
894
563
410
845
932
246
732
442
416
778
66
907
665
712
751
148
765
846
741
551
630
901
977
455
980
104
407
915
999
627
930
508
630
147
794
409
124
829
184
727
412
645
838
896
363
284
507
965
779
853
35
790
237
208
601
438
524
10
418
622
480
567
817
605
489
79
152
813
769
182
443
348
830
557
986
690
194
970
442
143
515
283
56
18
760
882
748
79
974
473
762
555
485
395
478
887
88
432
724
406
881
618
687
381
930
648
44
195
878
365
513
931
943
222
367
330
486
752
835
889
477
857
480
869
749
176
812
96
860
841
432
765
793
740
897
867
435
745
423
507
17
465
214
106
226
792
938
429
723
861
389
437
176
100
873
201
744
708
221
500
117
258
641
275
872
106
779
803
905
942
491
312
119
143
814
783
400
527
534
840
139
757
584
957
206
904
207
693
338
619
460
319
355
958
176
963
486
135
926
377
360
414
899
524
881
872
836
459
312
6
354
363
355
24
40
213
938
182
661
260
688
720
751
406
816
793
582
580
220
274
245
459
151
484
153
191
716
698
786
322
803
732
919
783
786
73
866
617
482
749
526
115
404
599
133
170
299
699
638
935
338
405
620
343
81
943
441
629
528
463
140
796
142
260
207
829
727
174
952
589
430
261
657
531
946
472
72
752
217
446
118
478
505
509
834
731
779
613
710
828
746
282
569
349
714
579
41
379
701
745
515
177
852
414
171
871
279
280
318
456
907
649
807
131
748
575
736
977
320
171
987
90
597
262
426
538
949
742
731
922
45
885
893
912
547
378
401
852
775
41
7
423
191
19
759
376
674
760
663
573
101
208
958
928
638
479
473
319
513
744
956
263
752
165
587
931
538
499
92
70
371
445
25
557
184
867
814
580
934
804
106
891
957
554
792
210
534
199
865
589
735
653
905
482
560
658
557
338
819
231
853
765
965
704
605
704
354
864
357
588
942
689
627
170
539
841
213
557
83
357
383
998
299
991
666
142
300
231
764
817
350
338
859
848
76
653
192
76
833
39
335
546
838
549
36
755
932
321
831
986
498
272
910
992
175
361
857
747
475
78
966
499
311
329
797
166
744
92
544
931
974
41
516
992
705
834
801
591
530
936
714
805
934
628
169
121
802
331
524
449
112
505
760
73
590
155
71
26
682
394
90
497
163
637
1
185
32
717
722
954
155
632
213
761
266
696
699
587
527
559
270
10
847
970
880
153
536
150
248
964
684
345
540
151
878
473
993
687
437
759
848
447
432
927
36
435
117
803
89
47
285
176
645
3
267
365
733
892
954
221
760
765
274
247
733
843
995
74
803
200
624
820
648
239
409
731
578
886
139
63
460
665
537
418
786
276
499
556
202
843
355
297
857
737
611
267
754
777
354
102
113
645
606
217
428
549
430
409
490
546
537
346
196
413
452
499
303
659
56
164
683
78
447
11
800
225
642
33
280
332
565
859
495
498
166
138
998
391
257
104
510
370
850
501
923
624
344
748
416
919
921
609
384
550
888
654
318
388
505
486
195
245
65
45
167
371
574
301
597
560
443
299
534
225
981
833
745
794
354
985
346
971
894
387
864
706
280
357
308
216
186
975
442
31
433
758
7
847
556
866
57
873
951
637
942
541
469
825
720
630
387
151
947
336
179
613
833
354
417
542
778
801
414
608
130
668
947
752
821
559
506
600
223
655
30
988
174
203
27
109
598
357
295
191
598
846
226
803
189
775
783
608
56
859
824
850
892
515
391
943
846
530
951
279
623
484
334
768
557
699
310
694
795
267
312
178
342
606
822
915
318
87
296
877
236
498
352
373
488
495
120
161
523
748
273
359
385
174
296
503
377
513
950
439
632
519
739
701
267
197
431
628
634
862
308
785
876
240
896
151
666
519
364
156
503
5
667
881
408
20
750
649
204
775
834
773
809
195
878
485
152
142
786
884
376
989
852
323
954
294
212
812
265
165
793
853
910
976
363
635
781
283
800
657
471
148
628
672
143
600
216
282
349
604
728
673
648
785
137
735
62
69
73
237
574
601
322
859
860
556
88
567
448
929
946
295
294
985
561
882
545
811
861
990
922
353
300
68
717
366
296
451
863
954
668
405
934
765
172
212
213
439
784
447
134
624
456
210
554
713
449
391
254
482
226
42
36
967
85
509
556
254
384
290
783
332
260
495
602
791
181
393
596
954
573
775
507
965
984
748
214
488
973
155
318
897
964
29
594
295
797
346
634
246
626
895
968
851
84
232
849
686
363
576
661
146
972
942
602
977
446
22
902
84
213
71
322
267
150
583
123
163
122
617
966
527
910
425
481
949
505
490
322
254
714
135
596
111
360
645
485
845
142
227
729
41
419
198
376
285
720
510
914
331
812
90
403
34
536
504
755
619
418
135
649
277
279
398
891
577
694
543
178
912
124
211
371
62
45
236
341
927
151
161
410
704
21
545
178
70
218
408
287
433
903
128
295
940
454
652
350
737
473
174
823
909
823
289
389
656
23
244
312
505
401
73
842
786
898
315
696
169
321
507
596
810
129
870
670
506
550
399
354
335
958
109
102
449
918
310
807
34
296
616
351
967
86
840
116
391
428
67
585
210
368
962
419
541
505
806
481
245
602
860
369
995
631
371
908
769
461
979
936
255
591
307
466
449
921
246
953
600
523
842
983
781
782
661
159
553
85
268
345
610
425
728
718
807
918
90
262
712
243
421
451
623
452
301
844
77
404
647
276
970
362
338
86
793
882
418
591
936
221
575
640
664
930
177
583
159
150
418
483
972
425
996
712
329
515
341
332
20
747
598
847
991
983
449
939
346
133
411
808
207
467
385
615
756
679
114
277
820
780
686
606
583
402
372
343
349
39
899
169
790
62
732
156
793
122
48
484
839
644
875
423
837
730
289
744
449
694
683
751
270
851
820
51
654
930
838
59
591
681
398
966
795
799
895
555
105
305
28
850
341
910
45
16
18
676
663
334
696
520
23
358
291
708
999
542
364
495
875
734
284
529
691
939
138
425
521
652
466
190
583
900
200
814
349
840
683
381
766
380
267
533
272
867
790
967
566
278
195
938
968
734
633
376
779
390
674
362
263
942
676
155
745
23
907
873
851
765
778
239
86
672
424
497
818
724
891
730
191
350
428
324
679
486
706
249
789
438
308
172
874
700
512
140
175
176
213
731
939
484
781
106
943
154
850
378
811
565
261
50
282
408
877
67
963
307
585
190
193
1000
545
989
336
116
681
741
192
185
494
914
274
958
476
715
333
526
828
402
911
982
697
647
643
584
879
300
731
480
759
282
289
25
297
206
240
683
27
544
65
280
360
818
975
119
969
321
32
104
660
362
297
529
959
875
390
659
537
498
674
574
769
928
915
972
931
408
416
836
994
723
544
896
527
964
70
821
960
605
938
925
353
180
921
990
851
935
107
482
205
350
326
25
105
379
432
544
571
557
814
835
331
876
653
713
924
490
179
36
266
832
676
101
538
718
12
892
554
345
263
637
229
879
383
958
353
512
940
667
653
428
632
912
48
118
718
952
60
899
465
310
588
250
444
432
651
834
831
264
211
653
866
367
936
819
270
263
585
861
756
725
721
291
695
648
629
422
660
917
640
59
819
459
535
746
108
255
362
695
677
651
761
402
380
738
875
232
957
919
12
890
138
39
484
847
89
619
485
206
525
792
427
446
308
521
890
747
558
556
244
332
142
379
15
351
884
60
302
383
29
572
872
527
254
597
116
413
37
279
667
181
278
681
358
643
865
954
134
374
302
324
706
454
613
66
999
932
484
556
923
860
3
357
582
939
414
39
805
356
32
98
817
435
831
904
906
87
231
89
217
847
313
157
171
509
31
383
530
974
973
280
884
949
894
976
127
561
532
887
561
776
212
953
385
778
334
543
696
68
149
831
576
137
133
119
495
985
892
71
51
665
740
288
6
254
30
21
714
375
861
24
261
445
996
763
78
330
710
231
369
971
803
603
405
867
217
849
653
980
507
197
713
769
937
54
276
567
127
551
659
437
960
431
956
986
961
377
576
364
439
202
695
778
515
555
180
471
534
911
659
4
499
676
711
91
885
142
591
996
598
915
536
656
920
161
418
312
969
710
484
396
599
579
941
813
684
5
425
593
414
409
746
42
568
25
863
193
737
123
739
331
126
829
574
824
835
579
948
309
552
135
544
526
147
922
481
740
981
148
735
740
649
835
792
864
484
380
449
360
391
743
645
669
479
701
302
891
530
835
420
768
539
118
88
28
459
20
659
807
788
1000
43
188
839
183
995
582
354
757
284
815
646
346
855
287
578
207
441
497
532
602
589
575
937
106
754
192
112
936
911
348
893
599
148
133
992
299
805
461
119
568
62
188
617
538
282
761
814
112
54
745
291
53
641
141
60
663
435
414
927
301
122
527
431
460
475
96
373
492
94
980
309
379
933
227
399
108
188
341
614
350
940
237
662
96
994
89
909
860
494
537
246
856
241
334
79
268
106
576
601
389
587
139
54
925
336
767
969
200
427
572
263
349
277
344
617
852
349
186
802
915
219
443
475
250
150
835
495
833
42
952
1
39
539
19
331
375
83
945
357
727
934
164
967
601
521
742
229
391
994
530
254
73
531
891
868
78
773
669
10
290
730
638
197
273
658
596
476
840
693
668
52
42
466
119
170
495
552
184
890
707
354
986
108
752
941
611
564
180
444
791
577
548
829
484
968
311
287
792
932
138
974
323
661
858
585
97
126
384
63
532
786
955
794
866
913
925
762
642
870
185
517
473
953
988
232
434
338
614
826
793
262
809
857
749
827
415
905
44
712
918
216
34
621
931
670
867
554
762
563
925
801
299
236
552
151
419
339
423
933
993
411
603
394
373
475
450
385
900
578
60
496
612
526
853
591
802
630
253
133
514
877
144
865
358
843
921
127
272
571
535
575
967
841
856
136
846
503
61
772
118
29
521
58
678
17
845
605
89
167
294
100
652
164
815
98
113
949
284
723
55
150
406
131
367
755
877
923
503
735
63
695
406
955
455
552
93
609
586
762
898
423
945
628
256
11
626
350
781
142
146
860
50
109
874
611
194
56
988
827
887
919
752
33
805
553
159
527
932
770
655
73
400
234
785
250
651
598
32
822
833
855
66
983
264
572
885
520
723
593
68
809
77
841
452
6
481
19
75
994
936
408
154
435
564
438
198
731
296
400
93
855
45
478
150
748
632
266
647
454
863
81
367
224
196
657
979
581
389
281
910
741
343
15
496
854
141
425
812
206
919
150
563
959
783
725
798
968
461
301
31
948
761
283
560
578
177
475
363
136
197
990
10
905
957
68
425
920
889
938
179
553
909
41
236
106
555
246
705
805
137
180
227
576
660
436
61
531
772
192
807
370
450
761
977
784
482
669
299
528
60
125
712
27
952
191
531
263
802
491
103
212
71
79
643
299
3
925
578
152
820
571
908
464
993
660
550
908
87
443
618
856
128
841
870
139
914
344
337
178
941
828
264
626
900
360
63
66
792
213
928
425
754
579
119
493
639
945
718
355
238
685
801
584
775
201
590
783
987
835
102
417
657
900
239
908
938
346
49
658
193
15
92
3
369
968
469
86
87
52
97
320
774
753
215
370
116
377
975
622
71
792
175
651
455
249
864
539
876
341
593
791
394
727
526
212
829
108
524
338
89
840
551
928
225
712
452
573
187
658
226
711
413
596
395
189
443
171
1
59
731
899
21
461
708
102
723
308
936
70
606
971
875
73
64
309
394
235
861
229
669
744
827
382
495
592
933
767
386
836
36
762
48
345
145
546
934
177
18
982
638
959
259
743
815
167
864
907
181
744
320
269
879
300
980
371
171
43
383
584
992
649
628
637
349
548
671
654
961
448
651
111
792
499
963
115
343
173
790
52
656
805
272
1000
993
761
291
201
57
339
104
587
461
868
706
560
834
935
845
217
623
299
76
768
180
862
99
154
125
18
919
779
386
779
998
821
530
380
702
807
165
456
806
7
279
465
712
739
329
770
365
849
810
677
519
473
769
755
170
701
473
998
437
890
7
711
144
204
86
531
676
420
794
664
397
145
256
240
105
402
490
669
525
933
818
21
791
699
222
749
261
779
23
511
758
276
55
480
508
913
314
261
634
696
666
484
69
412
827
188
101
744
250
370
626
480
961
438
342
629
667
867
757
254
645
51
902
482
38
190
56
476
153
91
637
94
313
897
642
608
594
113
674
115
521
758
625
221
427
126
577
158
701
413
311
747
618
445
111
526
757
822
212
915
312
69
320
509
718
800
155
464
118
487
805
466
143
132
41
960
380
57
410
149
663
56
54
796
47
344
725
965
891
124
377
714
2
71
80
149
198
718
701
426
962
573
972
41
84
725
105
168
320
900
78
939
135
163
69
264
530
959
300
214
812
759
713
46
915
352
508
666
546
758
528
693
991
781
905
316
891
477
166
836
690
196
197
90
715
383
100
3
80
56
987
109
667
698
172
243
457
349
74
537
416
818
368
497
908
287
579
195
392
56
345
570
730
792
74
400
24
481
520
766
293
187
146
732
700
870
768
524
230
734
61
693
961
46
39
648
56
897
459
452
643
123
436
945
587
508
266
153
969
415
547
363
766
189
225
472
828
53
111
966
762
710
751
396
722
550
279
315
453
160
3
420
128
859
58
96
666
72
388
624
260
677
712
79
766
914
877
344
469
22
184
728
489
572
858
376
765
350
837
60
96
731
405
938
212
733
64
573
240
292
174
838
166
872
570
329
151
225
335
557
610
944
371
524
987
500
216
202
69
591
816
130
495
989
592
541
842
522
189
437
309
484
789
571
533
549
670
573
535
231
32
333
140
24
734
348
453
615
707
920
162
999
266
990
474
897
471
903
490
582
956
608
700
151
383
606
45
288
770
476
712
780
476
970
420
399
545
448
436
280
452
927
11
593
18
106
213
121
430
527
364
367
828
466
430
905
905
237
735
32
300
320
322
195
368
163
112
285
60
547
819
654
243
105
159
634
781
989
541
389
79
691
847
202
611
698
305
648
159
27
753
668
81
661
767
264
978
571
251
370
549
320
51
489
228
196
110
843
481
473
480
110
251
640
207
304
110
396
786
998
120
809
370
863
290
247
389
481
766
634
572
465
576
114
626
185
843
438
973
852
849
257
40
234
251
24
540
49
30
407
87
963
486
943
249
142
677
174
877
534
251
639
84
393
524
925
818
92
1000
440
342
918
267
687
262
370
345
597
975
493
128
930
535
871
490
820
955
229
26
298
947
42
138
38
896
138
378
620
660
61
523
315
440
873
855
795
513
148
517
153
121
149
620
369
176
547
964
619
714
623
877
897
253
550
686
18
293
241
748
410
177
244
826
58
504
339
812
583
28
835
459
724
769
997
833
425
634
734
642
309
430
432
489
583
561
762
333
315
59
445
151
576
865
148
854
176
421
186
10
561
707
197
822
18
840
763
105
450
212
779
724
905
949
459
54
461
165
35
566
282
55
587
538
440
424
939
264
568
619
233
830
534
156
614
709
113
590
435
943
43
252
551
683
974
566
535
168
541
556
114
43
209
40
748
71
590
742
986
860
656
204
215
258
633
982
446
427
400
53
37
425
899
743
625
327
388
792
97
539
400
343
127
969
887
753
649
156
353
121
672
280
764
345
983
220
606
338
645
482
776
749
646
852
908
173
701
107
329
365
27
960
92
421
817
710
426
230
293
716
519
762
439
929
749
915
968
179
354
715
622
823
83
629
664
650
504
639
290
675
546
515
731
524
308
389
37
675
325
385
860
721
316
496
94
161
877
377
886
972
715
988
355
344
804
275
338
529
263
203
631
698
860
472
475
84
793
220
489
430
788
833
857
967
631
767
356
718
959
923
698
900
500
707
764
629
5
353
533
880
752
494
876
914
914
235
965
976
998
181
707
75
288
968
511
106
485
858
664
411
724
859
813
73
782
646
314
949
523
314
748
432
627
574
513
442
183
579
182
980
998
997
307
862
390
281
413
921
755
380
225
57
457
245
555
996
428
590
886
506
416
338
392
154
983
33
42
343
228
321
465
538
652
276
464
72
816
944
416
854
154
997
313
664
871
782
861
413
890
386
889
938
648
542
298
409
951
355
902
427
198
831
841
219
12
176
661
133
759
631
780
789
444
411
828
861
241
952
246
399
236
232
627
58
36
425
500
358
548
517
652
317
590
797
615
436
985
323
675
992
456
591
567
77
919
592
92
589
783
401
9
695
440
223
908
855
440
569
250
609
773
853
390
754
247
233
195
408
246
979
813
743
3
977
284
811
125
260
903
30
285
579
690
305
916
144
912
739
209
592
287
126
960
154
439
158
620
749
178
384
395
463
406
489
422
421
785
364
831
616
834
795
986
629
779
334
307
515
306
43
866
345
362
381
374
25
264
439
269
56
687
98
374
819
548
474
977
855
410
156
258
325
791
358
704
525
673
79
517
886
605
763
60
363
5
754
58
498
658
55
616
734
947
494
123
737
79
449
746
593
384
691
550
745
808
739
219
455
886
370
999
377
789
559
750
565
547
189
936
879
160
323
956
242
123
687
492
718
835
295
432
649
462
830
496
411
103
440
902
466
505
161
292
474
166
3
652
208
390
98
158
862
741
977
706
183
403
179
405
496
125
898
436
318
822
322
505
764
376
630
593
343
899
371
807
77
487
74
931
79
526
511
699
881
722
978
912
814
327
329
270
706
482
268
172
997
214
582
832
132
366
578
734
755
678
974
863
786
310
906
142
955
313
485
209
720
957
574
5
810
373
62
636
802
642
911
635
263
356
719
48
968
647
337
746
638
896
340
970
452
612
784
422
294
487
750
112
365
256
610
805
277
791
841
110
228
792
453
215
197
574
813
765
320
686
683
660
834
518
827
371
966
659
392
934
193
440
618
953
116
65
86
774
14
684
878
516
837
51
511
771
959
704
446
611
575
138
295
998
977
120
620
822
307
112
312
560
583
738
136
997
936
388
968
526
28
340
604
305
555
218
817
944
614
234
477
451
430
402
190
902
635
848
825
634
834
400
766
841
681
889
485
79
67
970
247
575
291
819
384
216
307
753
584
722
206
698
75
863
130
424
410
511
693
632
804
955
828
328
617
171
690
366
637
699
877
719
249
346
761
782
478
190
183
21
137
264
86
327
993
859
947
744
956
598
992
638
772
307
289
943
617
238
751
880
259
377
973
383
194
426
637
576
264
528
853
782
778
963
482
939
97
863
910
801
968
442
218
975
635
373
980
651
901
718
138
894
863
245
555
480
6
71
875
567
699
303
245
927
911
763
330
87
147
930
790
485
168
963
40
661
81
32
718
576
734
217
714
399
211
899
21
473
372
958
952
723
36
22
453
468
414
729
346
454
821
222
329
937
538
99
495
823
919
647
921
179
511
462
631
932
970
499
827
193
53
195
876
444
791
538
915
780
259
863
350
500
999
731
722
602
255
439
628
157
675
599
401
119
2
746
273
849
612
113
590
525
440
571
451
651
957
206
828
86
389
169
845
355
286
253
349
529
880
99
379
638
427
74
405
370
850
616
465
841
570
319
448
323
369
64
787
113
470
302
816
201
833
976
839
965
792
611
756
928
787
856
721
479
899
99
914
583
316
823
919
709
641
56
662
597
176
592
67
35
929
677
852
516
84
501
923
491
162
131
883
964
851
525
48
333
802
829
185
702
280
505
934
382
636
716
476
934
10
24
555
887
553
673
423
243
720
666
591
948
854
362
554
814
383
589
810
758
422
83
542
827
484
635
347
189
289
497
222
176
388
428
860
489
407
282
953
899
272
169
822
107
664
50
201
967
312
80
405
919
465
127
426
327
31
715
732
377
407
3
677
348
9
583
453
344
859
556
471
49
352
798
901
637
508
367
846
778
621
708
313
553
145
716
681
210
133
712
853
886
271
88
669
833
812
727
421
220
304
270
526
293
19
1
494
501
450
376
336
265
32
242
487
168
525
375
106
729
105
256
363
364
294
959
933
799
286
565
489
985
122
835
362
505
408
701
976
602
977
763
822
167
940
140
987
511
107
936
244
253
616
82
750
441
923
521
220
879
28
527
276
687
899
453
333
327
596
364
4
677
532
805
493
239
597
427
870
266
678
328
426
377
183
718
545
250
791
980
650
92
555
266
813
889
890
534
571
901
727
318
341
446
288
595
552
811
549
825
328
21
392
608
67
290
919
432
766
196
119
687
319
25
359
420
299
254
739
357
911
863
382
319
935
3
181
519
453
582
315
137
76
470
120
249
211
385
530
422
620
975
374
239
159
255
225
612
121
372
438
974
52
581
204
368
242
466
183
973
380
679
330
870
985
873
33
679
320
127
565
260
454
847
167
829
39
32
780
705
112
850
550
382
981
644
769
779
799
869
834
343
979
954
122
120
978
764
449
62
322
166
906
581
955
158
412
840
126
200
312
311
65
640
669
924
642
604
707
497
55
309
20
225
340
537
750
703
160
910
921
338
905
699
522
31
599
105
724
699
490
375
824
542
494
624
141
957
851
960
73
664
439
341
999
900
225
638
488
529
209
518
576
508
59
89
465
454
352
762
74
972
959
374
344
15
652
447
24
761
470
401
975
438
691
623
682
58
555
600
759
237
14
690
710
170
871
724
111
337
622
348
695
716
227
891
488
111
788
600
310
697
824
294
437
59
436
815
161
769
137
199
323
73
564
138
624
305
568
135
666
503
454
748
231
73
211
421
265
473
660
752
386
625
366
426
529
166
5
720
485
711
649
196
706
19
80
135
722
312
813
359
907
50
987
281
144
122
655
442
139
768
303
334
752
559
603
987
736
368
516
681
690
640
866
138
887
175
410
729
842
298
247
554
181
549
149
725
366
976
989
835
341
687
36
372
987
578
259
817
578
55
195
228
80
114
148
412
234
389
661
194
855
610
284
860
650
481
609
587
200
134
434
567
423
202
727
570
963
995
698
889
486
472
956
971
748
468
167
546
689
132
90
747
504
623
154
520
794
931
977
618
478
75
360
614
71
69
306
642
314
756
591
52
922
31
219
748
362
39
891
759
199
636
242
497
491
776
197
235
150
531
257
590
960
107
888
140
165
587
527
897
148
114
834
17
750
884
992
19
190
636
813
766
402
265
332
658
822
857
409
787
315
655
540
312
990
472
754
922
88
598
981
69
16
528
719
601
861
734
192
512
377
264
433
826
564
154
893
7
396
541
234
899
192
855
963
905
398
686
409
27
283
745
359
405
126
834
352
211
42
908
222
117
477
102
993
45
762
81
652
591
848
176
606
348
483
559
902
317
654
143
376
741
67
975
964
990
809
650
323
587
101
669
796
36
226
721
453
931
315
600
677
684
634
816
249
334
443
11
427
99
271
962
862
741
688
296
473
340
237
41
623
789
236
790
13
172
576
563
727
191
476
424
761
998
380
512
214
89
870
463
1000
421
458
86
607
528
634
779
952
226
384
425
813
440
659
364
686
781
971
660
159
786
360
48
58
136
467
845
679
744
359
621
425
345
24
629
997
97
194
817
118
763
247
742
446
208
469
879
911
361
874
610
263
230
132
636
973
306
873
711
987
444
792
329
48
344
531
480
413
872
266
626
850
739
310
856
732
554
771
528
898
803
545
799
696
146
440
145
300
276
265
360
945
710
91
524
210
77
697
143
847
872
421
1000
952
203
258
224
460
714
52
782
42
786
74
878
492
62
101
710
609
579
338
683
367
55
211
415
945
400
51
844
750
150
206
321
168
291
945
803
165
943
798
205
251
417
654
483
548
468
33
270
882
978
410
744
864
847
390
935
927
649
832
874
143
458
706
805
443
316
609
210
549
2
371
520
520
133
112
210
349
116
445
449
405
167
256
567
894
424
644
430
678
148
150
190
971
183
359
17
436
95
338
139
146
897
129
930
757
844
685
841
952
569
262
687
901
735
204
177
50
459
515
601
10
990
379
264
713
518
5
617
281
538
786
14
246
871
797
682
856
328
54
811
218
8
822
618
919
369
476
880
609
573
68
696
732
50
821
180
233
892
206
371
603
476
138
907
60
638
91
887
26
876
613
940
295
279
799
703
475
315
775
802
323
200
137
954
595
259
601
984
892
646
800
404
778
746
327
697
142
880
590
586
361
191
8
401
345
197
395
106
934
86
129
676
462
699
826
297
495
127
824
282
900
957
710
702
448
525
499
478
55
977
857
66
672
527
906
945
528
99
772
825
153
416
981
876
113
722
249
272
922
506
980
89
927
19
6
871
281
911
728
226
293
5
809
431
554
93
30
375
236
641
736
76
866
475
530
703
718
827
534
241
663
617
592
927
955
467
216
141
985
756
985
703
444
970
344
416
719
691
432
269
569
856
673
916
322
321
320
925
871
341
67
830
746
320
125
175
385
55
879
619
571
752
350
626
620
298
211
456
566
616
27
956
70
452
732
127
172
611
85
558
362
473
989
613
647
630
137
666
398
583
363
796
867
761
480
72
113
575
129
3
9
798
365
737
707
364
262
347
608
558
834
906
471
683
942
61
736
493
680
537
557
71
919
299
277
398
324
141
323
536
164
94
550
202
664
357
102
555
492
447
752
138
196
844
508
293
69
731
980
803
957
325
663
190
990
899
797
868
90
870
925
305
348
167
606
469
89
735
13
71
473
161
290
553
13
357
615
351
261
711
889
674
223
319
864
936
777
767
276
41
459
387
285
883
553
131
83
816
276
931
67
340
254
968
361
930
172
325
801
746
648
307
722
958
941
159
13
557
39
972
930
795
52
332
131
889
608
678
202
176
111
372
742
724
324
222
698
288
706
558
244
571
356
992
932
21
182
679
267
729
163
244
102
592
147
509
473
547
680
857
575
598
764
328
594
323
290
528
11
741
129
84
828
742
495
595
869
757
279
14
954
987
463
973
279
311
640
802
771
926
887
889
527
892
959
631
743
23
818
376
627
958
26
685
942
856
412
743
728
863
733
939
669
395
751
470
352
336
268
336
352
430
177
231
676
523
510
655
602
800
813
19
377
868
899
680
521
309
184
555
753
359
362
477
638
480
134
463
126
885
70
886
83
539
446
899
752
755
93
532
861
273
854
605
735
624
253
965
342
658
369
584
684
356
710
742
322
402
85
861
91
594
101
540
287
793
910
29
679
52
280
631
716
503
882
552
206
803
939
298
565
239
999
7
457
77
693
39
272
386
745
752
424
349
406
611
910
36
731
702
894
718
811
280
349
46
130
183
959
871
744
835
531
26
831
71
157
133
511
212
237
396
487
663
261
371
225
793
948
903
885
4
928
794
129
740
665
255
311
605
721
889
232
916
802
750
841
783
214
34
793
243
519
62
721
62
203
549
469
578
105
562
284
348
227
206
153
428
267
833
51
835
911
467
835
98
458
261
972
854
858
967
6
104
584
857
960
113
84
20
428
916
721
698
151
40
227
158
310
391
694
630
572
185
29
979
196
449
640
141
132
890
816
815
105
849
911
526
123
682
979
6
741
123
935
757
642
97
683
778
811
30
895
703
632
889
292
15
755
77
342
573
441
834
262
425
438
967
105
757
98
591
471
893
611
45
109
435
714
313
241
13
179
73
968
607
703
983
526
91
592
917
458
449
726
660
20
131
900
981
249
116
551
122
160
568
270
469
493
414
252
578
263
775
30
799
135
958
411
436
296
610
522
772
74
739
271
316
12
524
335
296
515
216
988
776
427
1000
697
781
143
353
436
443
904
338
98
511
978
225
215
528
303
64
428
592
12
102
810
913
957
470
188
294
14
148
59
272
449
71
581
882
97
130
369
940
438
982
519
261
918
790
348
484
14
498
858
18
625
755
780
170
324
385
412
689
909
156
122
806
457
662
538
347
785
327
945
650
830
887
349
823
948
242
996
348
555
214
863
160
841
581
813
106
531
753
618
120
769
566
51
555
253
988
576
833
703
970
970
15
562
281
355
914
613
935
736
116
843
730
90
639
455
497
485
981
396
894
481
4
173
959
297
431
972
174
815
745
333
521
538
912
711
837
33
673
242
788
219
118
982
990
120
873
675
68
312
493
835
992
389
630
570
603
195
87
90
94
446
146
308
115
652
467
272
312
891
380
429
334
105
645
891
818
60
608
914
373
1000
213
814
356
353
514
384
124
526
171
696
451
953
915
834
50
93
123
731
449
978
433
767
25
248
827
201
632
384
709
838
113
938
283
548
948
154
990
369
437
324
831
993
114
573
162
356
525
547
956
896
121
659
567
825
783
129
769
384
394
26
196
654
982
949
358
954
149
749
66
219
921
941
471
72
696
19
886
481
632
970
244
967
725
647
334
384
800
543
925
147
826
716
527
659
280
282
793
348
782
925
515
420
846
347
754
917
388
439
889
144
591
219
287
863
826
280
821
913
593
532
731
69
862
575
137
31
772
867
95
396
383
202
233
361
50
701
858
670
45
635
935
27
244
918
466
797
58
45
627
308
304
568
484
485
360
953
222
873
809
803
606
314
717
984
827
687
865
151
982
145
518
530
163
229
792
581
570
103
266
366
84
867
249
993
472
628
57
523
778
511
688
110
450
321
555
965
474
908
295
900
98
589
233
880
745
187
783
984
359
307
898
622
733
523
725
697
353
12
780
618
883
32
271
729
725
336
691
783
11
251
441
510
958
696
30
244
801
838
354
789
379
458
659
432
48
328
58
57
788
74
901
825
237
81
841
761
945
927
209
919
289
773
180
468
350
867
242
197
558
45
718
415
34
697
398
180
407
180
907
119
315
62
48
825
946
906
224
972
732
516
12
855
769
712
90
990
598
729
30
798
760
265
903
159
900
87
260
796
316
809
814
35
487
167
60
481
561
650
151
533
760
825
585
475
373
96
628
83
324
887
964
302
331
463
745
570
296
686
78
782
886
6
7
745
243
918
196
185
357
895
870
25
945
580
18
719
581
600
555
854
446
950
859
131
289
287
122
68
97
871
18
490
553
105
449
914
545
813
597
441
879
458
13
678
888
455
280
485
778
649
615
72
438
781
853
85
898
483
448
820
803
918
477
654
53
713
146
114
253
212
985
713
721
432
709
875
569
280
732
785
857
779
459
973
831
19
747
813
90
565
409
859
859
821
227
164
645
694
691
262
261
473
632
511
563
482
949
894
289
486
906
145
63
239
826
323
971
838
582
522
119
734
953
458
219
372
810
97
587
400
72
300
868
337
558
735
460
388
199
906
859
805
517
261
94
852
965
727
23
957
475
950
473
50
531
752
165
484
187
993
855
149
720
135
415
571
997
261
377
841
265
227
47
223
740
902
452
118
314
186
223
909
701
577
39
843
583
607
373
765
628
387
123
962
812
818
164
849
99
790
974
483
408
807
270
179
730
62
35
572
427
913
389
547
26
92
510
391
280
746
233
346
861
582
980
540
823
983
425
896
891
930
642
205
707
983
531
16
389
362
993
388
151
383
669
815
291
110
47
834
514
119
413
956
468
684
407
497
328
529
936
873
486
543
790
687
674
474
618
678
386
709
822
242
52
652
551
749
243
137
193
343
133
527
680
244
527
875
504
841
53
556
498
14
538
332
384
196
118
630
542
663
435
193
713
408
91
911
116
752
622
784
28
541
436
491
964
358
512
941
454
707
178
549
849
513
952
685
726
628
259
925
234
225
807
244
153
125
552
296
542
97
487
237
589
169
905
375
679
768
436
56
758
338
884
811
795
667
842
763
497
801
94
706
480
820
104
34
771
197
220
950
859
698
808
969
522
8
203
762
285
342
246
805
700
312
164
150
592
256
737
843
39
1
6
195
121
808
279
131
439
851
804
331
957
114
290
708
1000
48
404
69
111
669
470
464
75
32
866
815
577
187
43
908
894
773
637
726
490
403
910
400
618
844
617
771
837
818
464
650
879
903
492
425
421
639
112
527
161
450
999
674
42
378
747
486
588
970
995
251
109
874
713
162
960
820
502
286
118
709
14
931
114
483
92
792
727
263
797
488
945
51
282
656
371
897
377
744
668
41
820
84
627
996
321
589
153
913
8
638
791
872
363
335
416
914
463
333
364
753
167
867
592
86
951
432
413
350
208
827
987
578
199
896
14
746
297
366
22
610
816
641
224
593
506
264
165
705
736
40
299
842
526
485
173
50
805
349
119
517
725
451
243
111
431
966
5
259
410
587
878
851
421
720
417
620
90
954
571
166
406
602
207
363
738
999
638
417
511
615
416
244
324
738
762
150
141
673
791
23
152
914
112
386
49
726
507
677
753
942
87
80
68
528
780
73
367
676
35
619
154
736
339
576
276
314
536
480
641
249
960
333
511
976
53
388
845
990
524
227
700
776
65
619
407
521
301
729
78
422
992
280
40
197
412
144
932
645
507
702
550
773
691
988
991
24
55
301
290
636
394
484
541
988
672
515
439
95
457
413
281
60
433
693
749
399
277
809
181
631
107
33
653
416
198
244
880
837
855
952
885
138
193
674
373
306
50
479
998
454
410
103
24
859
555
557
432
843
573
544
160
445
41
345
17
941
420
13
774
871
168
905
73
132
656
551
112
119
725
867
478
609
112
507
143
313
52
953
368
565
67
574
208
622
322
459
358
451
962
313
345
662
534
68
418
474
928
158
74
196
272
602
817
751
870
129
652
169
586
581
765
817
34
762
80
404
562
692
652
383
291
969
364
487
420
551
32
549
571
839
813
648
222
343
744
876
171
600
394
703
515
236
807
8
887
248
399
328
503
649
998
756
177
561
967
255
567
769
251
832
816
502
201
149
226
902
261
652
741
253
932
251
863
543
961
884
53
339
369
69
807
267
738
671
385
627
182
673
587
802
559
700
73
135
762
396
463
913
387
545
867
942
697
987
544
938
527
962
111
642
728
526
89
107
814
51
616
112
694
639
816
999
772
484
682
563
252
828
308
754
145
191
966
127
386
951
838
899
440
218
163
454
961
170
205
904
390
649
702
68
867
904
407
837
458
786
917
464
497
593
233
712
801
15
396
191
599
325
110
425
321
20
470
400
754
628
789
355
708
282
48
604
17
966
683
23
615
36
244
632
473
760
976
405
355
106
529
19
744
967
791
773
778
312
331
321
705
529
35
164
210
341
322
88
928
232
736
855
601
300
826
489
637
788
951
449
279
339
66
823
178
182
593
434
962
47
208
410
280
592
739
338
897
527
400
594
628
417
270
827
307
342
273
846
517
241
906
376
508
745
606
215
602
757
990
368
362
877
113
602
21
966
581
730
944
856
558
605
403
197
706
485
586
932
654
921
535
754
835
808
676
133
462
537
708
235
936
482
864
81
234
209
7
825
662
833
568
902
912
963
75
114
528
532
931
408
745
594
100
247
144
871
608
967
728
429
73
445
844
367
46
755
814
811
558
204
290
822
137
296
113
65
515
729
881
188
395
480
540
926
935
394
53
864
57
481
598
661
308
279
805
273
736
242
283
389
194
92
18
852
537
469
290
321
419
25
421
794
778
297
1000
918
660
336
267
181
697
56
931
204
449
723
63
345
808
821
637
718
846
774
926
598
789
657
240
846
326
58
412
669
45
750
63
527
629
648
879
477
359
841
71
559
605
134
740
101
240
638
68
1
309
421
163
51
905
140
869
417
888
866
77
215
8
36
897
925
9
555
537
92
519
623
915
325
853
766
808
169
408
892
845
759
956
928
728
562
13
743
890
668
395
617
194
276
249
466
402
15
114
397
852
711
42
951
225
35
385
551
315
261
644
270
442
967
689
9
508
135
711
583
760
543
538
14
947
743
300
524
970
192
990
347
58
291
169
510
201
221
899
129
856
411
38
631
918
442
155
535
566
971
691
65
876
995
436
950
23
412
68
177
487
353
246
373
928
228
753
738
297
744
251
120
296
451
484
941
548
481
197
127
672
263
593
131
15
939
904
409
961
87
513
434
586
168
136
458
931
772
754
702
286
370
346
659
747
747
988
455
703
748
564
996
96
240
128
754
27
447
972
618
750
940
572
159
158
582
897
62
643
703
975
219
581
592
282
171
789
179
214
157
978
416
873
31
637
459
439
688
778
204
658
458
681
115
341
125
100
586
324
841
411
242
50
228
800
710
752
399
946
370
292
440
576
546
810
145
917
350
712
461
343
201
989
106
440
586
494
328
324
226
613
611
262
227
685
412
583
148
683
686
407
172
865
40
932
732
596
862
910
11
47
629
444
695
268
948
462
264
968
543
11
867
433
564
65
528
151
71
662
40
136
497
1000
392
393
226
598
989
687
159
730
251
567
267
150
399
597
726
527
351
884
138
114
703
268
736
940
715
15
242
174
46
448
203
418
780
703
229
369
884
738
557
671
883
782
717
813
940
650
947
607
948
727
129
117
525
995
718
924
980
135
73
234
432
630
106
690
252
792
929
667
930
808
461
488
271
209
588
262
555
686
529
968
912
770
494
37
727
721
626
877
307
899
443
749
394
11
721
906
381
881
789
166
221
820
752
938
120
229
999
247
42
827
711
519
960
753
728
677
574
861
316
645
884
713
839
483
632
135
299
190
120
711
41
678
321
265
627
560
523
206
81
130
960
576
204
405
29
809
657
135
714
474
850
472
781
740
470
381
178
906
609
923
790
100
116
276
401
167
691
716
253
850
720
828
82
585
594
863
881
641
492
558
937
847
210
661
862
889
646
131
469
981
967
221
307
742
336
678
625
283
295
878
307
830
553
4
89
681
993
315
957
948
145
143
191
325
266
484
957
57
398
983
671
421
510
652
665
261
843
879
791
568
131
159
704
642
222
511
529
129
947
720
486
103
785
399
846
397
988
343
280
615
349
815
259
580
730
213
669
511
784
24
217
878
68
104
522
717
863
84
9
160
587
170
843
77
648
645
202
26
920
183
100
148
838
454
837
255
247
554
912
126
748
544
877
929
247
722
198
792
857
284
648
738
32
742
150
622
95
766
256
236
885
152
656
446
288
241
215
81
843
452
12
326
448
535
792
509
421
776
67
520
829
684
780
578
42
592
140
688
926
224
711
941
961
511
330
741
833
847
737
175
732
533
89
968
657
383
667
930
542
317
161
335
891
320
900
422
923
309
254
110
934
305
243
29
688
797
64
199
189
342
851
31
99
246
501
843
395
652
776
741
607
472
250
566
139
379
868
555
679
509
8
527
720
628
11
697
541
234
28
655
773
515
938
670
870
87
819
233
356
205
101
682
747
476
135
805
406
139
354
579
415
687
591
564
748
899
419
33
641
392
541
607
78
435
386
28
742
73
65
712
602
593
722
896
567
962
195
515
252
167
545
430
992
313
726
255
658
918
131
847
724
101
239
452
295
274
916
609
464
466
188
194
490
677
453
382
735
497
177
899
215
758
89
652
929
183
774
722
823
828
332
758
355
611
494
977
182
373
156
376
363
744
802
240
862
511
729
709
829
365
244
13
306
626
300
913
556
14
91
101
159
628
240
522
393
1
84
97
191
558
465
898
124
828
159
605
476
474
742
970
421
608
268
127
758
850
604
782
418
299
638
720
187
921
872
620
710
843
107
844
836
708
13
746
817
554
389
45
690
647
835
991
421
308
371
348
23
64
243
742
929
397
831
521
341
922
53
87
154
114
159
610
317
572
101
135
175
396
973
363
403
443
134
787
670
122
722
472
17
901
223
467
274
891
652
745
524
714
682
598
764
353
744
630
392
838
739
826
122
440
482
715
229
488
436
275
775
75
579
109
619
684
513
339
563
179
6
851
926
749
241
799
241
75
948
727
497
451
469
266
555
611
555
158
942
751
350
227
205
590
586
42
417
367
498
219
234
327
322
697
74
606
561
892
658
432
357
297
121
175
444
985
368
141
130
457
155
923
682
481
630
775
314
842
707
732
679
467
707
165
417
965
149
997
832
464
428
124
225
553
426
417
751
241
732
295
926
132
255
48
73
397
512
960
54
733
735
827
621
216
287
637
597
840
541
17
870
576
521
558
894
7
122
289
982
919
623
347
174
763
588
401
888
567
944
485
865
704
202
660
154
887
317
402
14
932
660
653
623
90
929
265
462
219
584
932
68
672
601
799
602
537
894
620
353
772
745
732
865
877
4
142
826
963
579
677
276
460
999
539
939
257
381
552
702
775
229
75
347
319
838
861
659
57
991
84
942
189
796
416
775
119
232
277
597
11
955
340
298
672
435
958
579
546
310
421
234
538
135
859
892
488
397
166
5
388
712
545
15
850
635
116
716
905
420
608
795
947
320
278
413
524
799
100
476
730
66
729
938
128
914
901
86
516
757
753
236
360
84
5
706
353
295
66
247
437
40
908
316
561
704
984
728
609
678
563
248
218
388
594
627
664
836
613
447
591
597
283
868
121
769
850
61
813
395
187
665
2
250
119
70
289
689
407
728
331
477
113
966
636
112
61
968
757
197
768
704
148
818
517
569
938
743
225
426
76
483
376
545
590
892
550
683
227
68
51
133
332
729
684
159
663
145
14
644
743
946
320
119
514
828
38
641
250
237
668
82
175
624
40
538
758
737
315
450
407
743
323
6
172
655
637
85
113
671
331
780
179
550
468
68
806
63
226
746
965
914
988
138
38
243
884
408
745
983
28
532
317
882
129
108
250
971
261
235
268
628
301
608
575
126
975
860
74
772
480
896
19
308
394
662
446
216
947
334
832
5
744
406
668
320
729
507
986
952
531
102
461
415
285
388
388
803
737
817
697
43
691
678
174
510
878
73
241
208
887
449
963
345
151
569
420
214
830
431
245
736
111
193
907
861
623
573
263
351
595
595
31
77
969
737
67
99
840
780
785
267
518
635
603
966
14
482
46
947
935
376
15
888
611
288
789
443
796
236
517
51
410
763
300
723
614
510
516
327
973
65
665
663
593
567
856
748
868
777
58
278
946
462
332
209
88
956
591
746
843
729
880
815
376
627
745
254
339
203
73
556
391
224
655
978
847
7
828
230
955
703
776
748
8
41
460
792
806
317
679
186
14
608
486
561
585
303
17
392
745
26
818
941
7
955
921
451
277
349
240
612
425
826
345
332
609
552
314
338
236
55
134
971
687
803
113
834
849
46
827
593
46
673
421
365
165
992
482
564
680
410
296
3
770
980
12
345
931
626
139
707
314
679
836
318
524
32
667
677
768
822
836
566
41
55
435
623
519
997
914
885
439
478
794
912
522
471
641
591
445
448
437
737
946
39
798
919
890
474
929
755
41
135
804
62
334
278
854
856
164
697
310
159
561
603
490
1
193
520
485
770
761
355
142
296
760
83
748
656
504
687
535
726
39
100
983
894
817
878
909
237
14
269
491
648
960
141
715
81
467
968
208
130
729
701
49
595
114
876
961
570
360
774
225
863
622
771
766
219
384
301
126
907
434
980
457
721
996
550
237
354
644
226
155
369
782
957
488
747
350
860
343
70
879
807
325
926
203
716
579
66
909
633
624
154
117
74
103
700
259
432
375
919
333
473
870
790
542
71
254
579
296
366
764
409
329
492
489
285
69
839
28
114
471
585
666
854
219
909
171
943
605
827
367
510
390
109
870
706
661
73
781
685
26
376
640
388
478
91
689
292
948
459
296
720
825
722
463
152
732
347
461
190
445
760
978
500
115
453
664
87
928
933
569
743
862
541
770
333
512
588
452
899
822
633
785
196
125
944
226
396
120
389
287
153
278
29
369
143
694
692
23
472
610
665
863
70
628
434
413
303
190
109
352
538
1000
731
15
343
901
218
466
325
195
64
189
356
479
255
211
76
888
87
500
114
52
685
579
433
157
75
624
559
262
591
748
237
433
263
767
222
281
561
545
500
249
568
884
225
334
173
48
61
979
416
205
391
533
418
478
109
44
681
839
278
123
702
770
992
282
952
480
186
463
270
481
989
432
647
482
432
327
176
910
985
959
679
818
452
353
153
596
194
653
689
704
523
728
9
566
392
732
62
897
159
441
403
997
307
384
241
938
483
676
108
180
108
976
47
865
127
191
149
920
162
371
12
161
454
754
397
782
491
66
971
958
162
977
510
826
590
114
368
764
558
118
312
707
556
25
59
238
73
699
995
313
676
109
557
780
796
9
738
310
927
976
995
947
93
825
618
257
41
130
262
983
606
946
919
169
73
888
79
964
186
353
212
694
646
66
983
341
555
93
809
271
298
133
467
889
756
207
458
942
607
816
759
341
682
297
394
690
15
331
990
226
247
550
112
461
539
724
715
669
983
311
462
256
780
7
58
192
137
532
949
947
915
69
941
763
540
684
333
703
598
542
146
632
828
956
905
171
941
109
209
716
795
832
45
816
1
929
358
547
932
373
930
51
458
170
15
60
470
785
500
61
394
826
576
740
447
106
51
465
361
293
461
894
632
103
65
202
166
412
693
69
331
692
138
300
31
922
459
890
396
479
128
408
80
545
426
823
969
255
875
244
298
152
775
656
782
507
114
352
423
718
208
696
38
307
444
810
412
23
403
963
209
133
458
789
433
315
667
893
260
471
413
100
544
367
769
334
140
276
33
132
490
673
187
833
556
625
330
814
297
702
270
501
363
134
536
511
579
442
43
973
90
987
526
986
746
682
643
218
428
652
333
823
525
740
631
246
712
608
624
969
488
594
665
945
714
679
256
266
490
621
268
610
288
801
255
149
218
407
688
890
658
296
863
866
249
330
82
210
435
998
481
905
323
872
508
914
612
812
652
488
728
872
480
655
141
522
425
302
996
173
54
806
852
952
730
842
317
371
698
905
787
796
611
27
365
627
427
411
238
705
445
970
446
737
939
277
54
469
504
56
151
938
755
131
2
359
468
721
940
130
581
59
239
978
765
568
334
498
392
282
200
201
836
726
633
722
980
237
448
22
707
591
347
241
939
821
290
406
455
344
759
273
346
843
201
474
463
889
290
551
605
927
371
592
550
110
610
987
208
406
915
215
355
586
652
709
396
957
552
552
584
165
964
189
953
21
798
390
978
31
71
409
636
253
979
664
127
175
781
288
955
536
621
593
481
397
596
807
322
325
996
478
181
241
670
553
779
342
900
481
566
519
978
634
810
885
953
976
470
292
626
175
974
283
960
304
684
479
481
849
333
253
164
6
175
472
536
146
941
183
402
874
947
412
705
352
850
623
504
399
638
10
951
427
392
475
458
449
238
68
940
246
727
691
152
255
516
85
636
921
878
453
747
46
38
602
527
140
756
150
976
905
890
172
382
749
912
633
922
682
449
105
748
18
995
545
72
54
842
380
587
320
167
729
710
41
934
372
733
149
950
992
933
595
975
280
114
713
258
741
851
60
258
413
883
546
585
262
773
603
402
716
913
844
606
657
424
949
138
193
315
486
662
723
495
995
683
109
910
950
882
268
81
135
100
124
830
573
917
658
800
384
224
749
673
866
536
597
657
627
44
778
894
848
565
425
938
586
633
571
343
596
908
438
694
312
11
356
145
465
641
6
615
323
531
924
333
702
416
516
343
674
667
381
913
397
666
395
528
589
320
828
299
977
335
749
171
441
983
139
266
712
153
368
61
199
411
213
882
928
649
136
358
654
629
352
68
889
440
104
613
7
407
657
718
558
489
746
790
666
571
593
566
686
356
175
78
308
740
103
213
947
655
329
549
567
381
937
990
61
222
402
966
907
272
68
596
133
718
39
288
528
748
353
671
642
676
64
669
372
345
839
737
803
201
763
13
579
696
331
185
252
842
982
374
956
798
160
231
268
348
576
755
308
15
249
13
976
320
959
115
700
427
907
261
255
971
795
627
989
391
979
216
289
513
83
479
208
419
245
718
990
880
160
794
631
753
228
641
728
790
401
443
601
228
782
105
88
394
619
820
458
314
125
135
615
971
448
870
142
417
205
697
737
439
226
922
311
833
535
284
338
651
139
138
44
952
908
479
686
719
660
610
478
573
620
171
669
857
535
422
945
458
107
351
541
478
852
225
449
472
136
655
650
534
956
113
567
930
944
101
845
339
222
874
98
18
968
665
514
361
973
889
48
395
73
652
477
726
39
256
786
336
400
18
169
407
753
922
444
43
249
73
840
368
381
882
898
973
631
252
721
108
270
741
917
305
388
861
354
386
224
195
298
901
20
988
562
85
884
227
90
390
626
998
749
464
130
75
213
217
579
296
495
291
773
261
83
786
865
270
657
592
56
249
45
57
194
599
418
990
739
514
724
206
305
357
11
906
777
89
604
214
93
577
56
67
872
880
432
502
463
201
736
100
415
305
270
964
48
609
247
170
577
57
282
30
187
129
250
919
589
37
583
598
816
222
271
187
463
770
740
974
149
258
256
245
678
835
750
162
317
63
740
553
605
137
577
127
333
662
342
249
689
38
588
901
54
892
531
887
652
685
459
627
11
814
882
140
247
48
389
920
268
96
272
467
317
504
709
155
701
796
729
986
197
993
206
537
332
217
881
28
715
52
753
81
624
770
224
124
314
293
73
853
881
2
655
402
73
98
728
82
137
236
988
644
632
613
645
29
188
478
403
480
304
313
784
698
664
541
32
464
884
714
766
767
269
536
145
17
935
8
544
360
611
173
650
480
554
699
460
498
233
545
843
759
909
511
251
371
771
312
634
304
45
151
855
777
363
476
698
409
745
694
87
340
713
158
266
76
458
670
523
387
447
57
491
920
562
137
170
576
666
528
631
867
487
297
755
651
832
434
473
624
464
449
721
941
386
219
722
159
922
342
253
447
733
862
312
689
796
217
916
657
512
645
840
904
275
97
754
430
264
912
585
416
752
117
904
571
916
239
811
677
4
954
81
966
720
697
325
854
856
654
508
377
531
128
484
394
868
404
113
271
589
617
115
265
800
57
97
295
176
576
48
127
882
448
183
252
811
126
234
902
151
817
140
707
866
695
636
493
390
882
411
564
761
15
360
636
415
361
928
253
110
932
737
127
754
997
446
365
488
720
308
905
969
385
976
874
697
815
910
738
151
158
150
284
679
144
340
496
353
318
602
330
473
480
290
244
985
784
696
95
864
499
508
661
429
437
179
652
604
457
406
494
415
226
599
596
367
672
555
69
900
130
563
75
825
233
791
67
495
30
169
197
483
608
870
79
693
791
199
907
182
83
899
655
424
103
892
714
402
208
986
856
707
878
401
870
762
667
818
531
413
270
237
871
370
258
135
816
421
596
309
390
906
901
286
594
666
727
382
7
587
861
350
897
871
739
20
348
414
593
507
498
969
885
379
494
339
907
625
170
483
172
396
784
242
356
272
364
397
115
232
356
880
47
610
279
273
452
45
62
179
279
871
574
636
879
409
601
538
697
377
210
912
102
987
993
17
881
317
147
411
763
272
757
571
553
723
901
153
29
482
407
712
822
365
193
533
905
943
116
254
136
524
171
117
574
545
691
27
892
830
956
60
304
89
183
708
845
649
490
949
727
631
783
167
769
708
933
64
547
131
836
965
36
918
84
336
968
1000
113
905
38
604
582
524
405
383
686
774
624
607
860
380
262
249
19
686
992
947
100
816
846
621
156
642
693
17
673
348
699
535
100
234
693
517
799
334
924
562
754
615
641
576
424
775
273
958
41
135
807
772
547
706
79
791
60
298
327
11
484
431
310
627
391
913
707
469
808
140
314
591
920
612
754
52
959
659
39
905
791
97
348
90
751
373
787
219
344
791
760
204
278
567
808
325
170
769
405
574
945
733
275
90
616
115
236
54
620
587
445
679
391
109
189
838
140
825
54
405
103
881
358
642
667
900
259
793
857
422
827
608
624
315
657
685
280
114
339
376
198
222
197
467
571
154
214
49
665
339
35
749
457
521
209
995
2
450
628
95
156
399
232
694
539
19
613
605
714
169
99
93
637
675
289
465
331
394
742
174
628
597
734
771
540
419
561
684
509
62
866
227
344
499
841
250
117
679
4
528
687
584
397
320
794
82
719
542
862
168
896
646
756
91
31
586
723
835
509
264
680
621
257
408
818
408
836
179
217
853
52
687
796
837
271
209
453
441
453
152
715
225
228
697
526
763
965
628
102
632
921
51
908
508
5
613
888
561
607
311
79
93
243
211
568
254
471
211
589
691
642
489
220
214
589
430
740
902
256
621
227
581
633
5
375
308
75
363
821
257
246
97
523
460
477
727
819
936
273
575
878
50
88
906
156
427
253
129
351
288
89
807
82
910
875
858
192
764
284
755
137
24
301
550
404
305
479
208
261
938
536
111
460
595
960
569
667
782
286
833
539
593
137
417
319
106
963
492
783
994
643
754
148
235
764
438
306
278
443
74
357
694
12
183
953
94
758
373
434
70
172
151
33
18
846
395
738
968
226
572
526
940
947
724
757
967
326
726
499
608
944
536
426
695
907
977
717
92
531
101
93
435
682
327
690
196
956
370
19
910
198
428
639
81
616
221
500
121
870
269
133
617
85
199
3
412
689
996
363
241
343
837
903
124
997
562
317
334
284
884
702
507
45
176
318
390
785
21
839
783
219
754
691
495
904
908
443
479
147
819
518
885
986
625
664
465
81
577
748
607
751
860
422
306
256
109
125
540
646
413
708
837
132
892
690
316
25
848
780
114
701
105
838
894
949
380
891
117
301
434
171
808
661
331
387
867
576
318
624
365
37
731
304
833
552
861
629
314
562
890
829
798
966
850
270
744
630
50
228
551
301
600
697
240
228
410
109
74
187
577
273
567
286
140
134
101
105
998
192
398
274
196
546
204
552
888
563
850
809
30
118
793
123
268
192
862
355
515
389
682
148
470
555
674
300
676
308
112
843
743
695
927
967
60
633
370
135
648
35
153
355
818
721
412
581
922
350
687
663
842
546
119
73
774
374
247
903
528
81
93
246
827
788
727
146
9
397
128
756
162
581
950
196
928
89
762
879
153
15
423
768
89
899
540
74
85
684
338
433
578
652
893
462
721
405
363
919
157
852
779
389
312
939
977
538
52
574
467
489
731
761
373
810
432
498
125
937
701
383
200
577
181
200
99
813
321
966
662
153
796
78
23
744
343
202
743
324
473
510
162
266
918
714
578
233
742
105
635
564
752
449
244
466
209
185
394
535
897
822
478
875
248
830
131
332
613
579
111
956
721
119
486
825
37
628
212
809
68
428
211
650
576
327
245
12
332
890
177
777
280
962
718
924
964
387
377
771
601
409
134
256
487
690
315
164
289
211
231
921
351
599
428
625
354
565
804
502
553
212
426
851
309
957
609
857
873
667
710
347
158
424
137
686
787
993
255
531
824
699
264
88
405
909
592
835
986
707
52
439
999
711
809
724
521
163
218
101
979
579
685
822
15
262
48
810
368
948
379
551
50
684
761
746
137
786
299
974
222
425
610
628
954
899
54
770
91
175
228
357
210
629
637
497
537
227
983
13
372
547
221
594
211
182
388
273
21
28
229
775
44
911
799
525
146
789
558
763
31
517
950
251
518
777
106
518
730
305
80
465
245
20
9
400
194
969
674
271
825
286
205
938
292
510
93
819
282
681
253
127
625
605
603
241
226
546
521
437
490
426
579
338
902
254
158
952
604
147
904
91
577
792
490
319
548
613
832
278
836
218
723
431
127
935
826
768
629
375
117
21
114
976
156
270
135
464
9
593
79
972
265
615
796
343
338
363
262
791
175
841
83
666
562
138
700
544
452
659
837
226
120
314
53
557
509
82
275
109
818
404
856
932
244
281
965
532
801
788
136
184
314
955
386
471
997
602
609
701
532
784
883
444
169
944
914
6
186
745
102
66
993
822
590
69
269
361
249
230
777
521
749
139
926
166
735
43
743
311
666
863
600
952
61
858
996
681
721
653
672
594
9
42
587
513
420
554
611
494
474
316
310
880
441
97
887
963
527
805
123
390
918
874
194
72
534
141
348
252
412
834
721
793
409
248
36
497
288
516
521
459
348
658
148
14
441
730
225
867
608
486
432
344
593
415
631
552
175
417
169
396
602
656
938
53
401
318
147
514
507
112
634
206
939
347
537
580
249
332
329
771
557
665
550
58
291
701
24
954
673
113
25
174
581
6
611
600
677
474
336
653
573
856
609
133
389
177
279
684
260
452
410
534
219
565
804
40
425
438
552
896
873
72
777
531
573
818
799
383
685
949
123
218
241
192
27
618
900
377
30
62
652
786
204
815
498
95
88
922
918
16
983
205
384
903
516
103
241
583
659
547
41
654
865
856
835
321
534
790
948
589
855
515
511
310
937
174
386
146
222
206
138
965
443
325
421
593
729
279
437
112
33
148
186
97
748
921
819
276
239
566
761
105
27
596
211
673
525
402
253
137
567
260
98
651
435
962
905
358
737
509
215
550
279
115
304
553
27
107
612
244
361
923
41
347
78
542
45
832
38
121
385
803
893
565
894
228
114
996
812
755
363
862
79
637
355
469
476
481
514
308
661
146
119
429
940
593
106
458
104
937
405
619
764
245
490
213
398
839
803
628
775
34
863
839
489
220
150
788
96
196
317
751
748
460
883
19
279
966
319
755
409
476
374
941
109
220
531
657
200
65
766
787
926
746
102
431
620
21
72
922
532
783
830
361
571
293
565
27
29
662
845
831
288
654
717
234
163
686
691
700
802
624
226
780
1000
602
980
428
363
642
875
962
31
273
973
385
547
714
268
463
26
430
776
8
8
37
693
336
223
598
7
750
61
324
640
199
681
573
109
979
579
832
746
450
890
55
679
264
892
321
182
538
952
306
476
715
653
438
750
612
933
950
994
313
876
263
214
73
203
255
742
402
608
2
635
850
859
548
635
756
929
71
724
448
554
594
129
923
256
53
487
53
316
66
7
743
139
275
679
269
194
467
945
243
22
982
843
264
805
122
271
309
662
353
941
397
118
96
544
831
178
851
861
611
63
151
861
235
919
636
306
148
782
114
30
586
628
37
847
392
625
264
999
679
589
315
149
879
197
594
201
798
737
209
645
791
64
79
689
75
910
10
182
470
936
290
225
613
724
131
393
754
403
996
704
805
772
438
832
204
578
584
560
529
90
804
137
494
202
439
59
136
120
651
726
540
68
636
607
410
607
437
819
154
826
548
478
932
151
362
789
278
511
251
607
511
359
747
115
105
382
830
338
627
815
852
461
621
885
944
273
34
323
99
646
394
840
273
616
980
117
959
523
631
182
710
660
695
15
970
48
835
821
404
308
87
714
647
37
580
479
16
773
815
674
249
406
242
566
818
851
169
323
661
896
694
431
479
416
430
507
868
553
311
581
657
25
633
424
761
496
794
686
770
779
919
475
266
728
646
457
544
844
891
758
36
14
329
734
213
259
652
140
183
103
421
361
480
940
460
140
807
799
304
676
597
22
158
55
289
668
201
712
192
926
827
58
607
382
605
421
689
805
314
207
143
985
398
526
445
258
583
584
741
592
216
808
964
457
49
14
982
296
867
936
803
81
327
77
934
293
831
152
31
710
73
367
849
508
165
397
354
557
840
196
558
228
358
722
274
699
123
227
544
525
930
51
889
192
27
705
937
477
827
638
197
715
224
275
914
460
926
787
33
645
132
582
245
36
179
695
974
696
483
102
973
197
220
458
848
526
720
932
471
995
461
617
709
956
884
465
350
820
6
788
374
684
927
197
980
845
907
234
904
656
619
81
579
413
578
447
639
477
483
168
148
385
419
80
632
508
427
477
706
710
941
804
626
544
2
297
582
751
945
928
913
223
461
394
745
120
571
858
693
550
45
811
419
56
241
738
808
192
169
235
453
608
820
840
948
427
444
126
212
140
536
544
707
907
695
70
943
941
458
994
89
605
410
63
893
938
591
752
337
623
302
684
627
802
874
36
194
724
894
360
322
956
652
378
962
755
315
185
994
258
405
781
969
343
731
995
916
370
794
702
307
515
79
659
713
101
322
455
960
132
44
798
858
224
162
852
676
285
440
372
579
546
952
177
209
49
428
870
394
254
607
813
779
231
247
28
781
794
453
118
880
18
388
306
706
819
221
363
777
656
370
573
7
958
726
837
334
577
565
707
870
444
253
430
14
586
736
59
880
854
975
291
167
33
214
8
395
485
936
383
980
100
893
45
224
152
412
23
695
592
468
97
846
395
696
739
957
896
586
60
668
397
603
21
409
980
855
732
46
112
261
805
894
594
853
613
75
382
964
762
879
58
599
272
363
57
167
740
969
282
141
252
306
394
898
921
613
919
183
696
575
248
153
544
375
792
948
178
819
823
74
262
382
978
679
426
822
21
951
474
804
222
474
904
594
625
359
206
494
543
359
456
138
873
976
385
137
196
799
471
892
161
885
570
529
384
58
275
62
913
406
494
848
354
79
709
354
888
766
982
29
782
827
95
836
424
154
80
606
589
257
55
917
421
959
482
643
573
337
879
682
44
245
591
594
521
802
415
75
455
767
780
239
674
565
668
662
58
73
699
26
706
960
584
968
52
492
708
459
601
242
711
620
301
66
763
377
83
27
707
797
787
723
339
243
476
578
893
705
177
236
228
816
164
144
305
83
261
780
281
800
19
746
969
976
291
128
444
352
460
108
335
248
481
794
650
547
30
647
92
594
196
664
417
178
639
704
814
29
594
934
218
491
861
437
148
87
745
380
976
730
937
57
491
232
491
283
236
587
375
326
386
205
568
555
878
950
291
502
62
309
771
849
431
530
889
146
855
853
154
739
329
255
719
476
446
269
573
229
687
526
614
190
136
608
50
178
436
716
441
928
607
429
765
415
889
506
75
816
879
313
670
620
80
939
227
745
424
481
2
242
452
298
26
329
636
264
223
34
724
161
498
707
120
410
141
986
27
268
346
623
504
467
248
711
634
43
653
451
733
729
528
598
872
899
431
99
55
483
267
259
37
678
139
962
143
551
636
94
412
845
570
350
80
355
47
4
698
303
761
78
147
1000
581
578
464
932
807
117
628
117
979
273
425
221
729
520
89
441
989
418
647
615
797
10
841
380
69
75
2
421
940
937
534
50
733
60
460
402
148
507
100
512
42
684
45
418
4
474
500
219
29
995
540
722
748
714
967
885
59
605
280
788
504
356
735
284
403
361
594
761
584
400
421
713
548
445
757
921
995
993
550
93
7
692
508
747
552
797
909
974
648
168
483
470
244
109
698
901
816
322
134
199
744
677
683
906
767
256
977
16
204
380
804
98
175
916
244
626
739
189
949
592
751
253
263
437
231
103
852
274
214
657
171
189
367
971
314
125
168
214
772
481
34
380
216
109
625
581
622
818
476
35
24
850
209
542
689
48
867
315
743
596
307
539
158
283
171
911
523
199
691
721
209
685
460
744
390
105
367
327
865
726
59
571
789
596
688
443
227
777
185
971
908
762
988
440
688
151
964
618
990
952
264
633
954
954
963
35
81
681
664
983
950
365
649
243
933
242
823
864
956
200
406
987
11
508
288
224
539
882
9
456
811
656
576
668
121
172
702
690
954
812
616
285
274
281
265
80
754
843
613
244
50
223
734
646
216
799
584
488
953
522
640
24
685
728
98
55
373
637
941
328
584
864
992
838
563
719
21
316
967
417
68
828
495
564
412
542
823
468
55
152
178
870
122
409
362
682
352
440
264
170
727
308
714
856
312
336
30
44
615
261
778
524
101
201
66
486
24
755
146
100
397
300
250
524
770
677
332
327
432
36
845
470
817
542
759
977
181
25
793
408
68
426
199
86
680
58
550
775
43
293
640
176
771
269
31
169
312
625
771
220
775
33
507
721
853
554
561
342
874
420
530
669
717
893
615
469
217
243
219
977
638
771
284
451
21
994
494
129
501
775
729
367
180
243
85
448
793
786
395
12
164
273
393
561
449
936
601
805
216
16
554
873
722
351
210
604
124
595
261
154
980
622
573
168
81
11
200
624
580
164
220
250
411
782
170
115
193
895
993
564
170
590
220
216
253
922
585
115
903
219
386
470
401
133
684
623
66
361
864
25
77
899
189
39
890
66
693
322
660
299
200
386
703
905
287
708
791
536
736
407
982
131
396
66
780
489
394
776
645
405
326
838
238
556
401
842
376
873
501
57
330
234
775
149
971
659
705
236
294
94
534
236
996
57
571
244
121
87
180
424
277
995
168
519
539
355
907
614
980
551
753
247
693
969
232
301
300
582
29
349
172
279
22
324
48
769
486
409
274
787
110
58
635
625
659
895
652
737
963
67
224
260
385
289
738
827
112
430
88
969
390
993
590
740
297
250
419
933
793
118
50
406
528
69
127
584
349
523
371
170
536
181
384
440
523
717
692
305
302
90
949
456
720
488
17
529
636
587
522
193
259
366
588
465
4
195
668
362
921
298
791
210
60
969
65
528
147
128
8
450
600
880
106
48
225
765
32
784
881
288
114
518
52
137
967
189
522
224
702
299
287
305
736
809
441
485
39
921
997
341
607
478
536
764
38
400
111
844
371
662
63
326
750
787
276
196
71
754
922
943
469
495
938
932
431
879
308
91
324
193
739
826
365
646
437
650
377
341
555
566
230
528
288
582
497
636
759
131
704
781
596
337
528
955
541
219
432
94
524
971
521
562
371
363
853
376
742
214
51
656
928
575
821
384
862
979
885
544
87
648
951
85
426
39
525
999
792
471
804
956
934
886
394
603
889
971
326
627
577
975
681
112
271
549
166
559
673
873
120
174
894
117
796
673
982
35
218
914
509
110
545
103
376
195
705
216
197
69
963
514
563
618
227
739
20
680
158
640
821
691
540
967
391
362
987
988
956
608
741
852
985
782
262
868
933
115
296
843
264
898
356
183
890
574
882
355
972
409
853
656
498
816
324
981
161
710
144
409
864
540
132
992
583
716
102
86
437
231
420
930
541
191
249
934
632
842
217
346
520
406
31
516
117
727
448
981
188
278
130
998
981
565
98
936
588
330
926
161
227
262
330
647
618
90
526
589
314
64
580
697
116
797
990
692
692
386
896
781
146
525
662
495
536
67
36
367
305
84
734
365
150
71
104
849
138
316
452
118
732
853
738
263
2
654
604
152
469
875
116
835
936
41
178
566
157
28
307
949
403
589
347
408
820
933
737
299
957
589
164
508
17
364
774
305
179
719
619
547
803
286
726
77
470
589
944
302
558
234
753
483
522
965
327
241
119
40
463
126
552
292
406
889
952
123
231
265
633
388
210
642
293
854
479
11
709
407
430
962
485
720
468
309
115
444
160
117
954
268
351
544
688
398
519
901
544
98
511
794
809
945
780
7
157
351
462
55
948
742
912
975
909
470
821
959
547
229
679
902
262
193
125
820
325
632
685
321
838
30
516
32
333
38
11
943
864
719
562
127
353
651
346
183
465
374
724
60
449
598
743
633
265
345
257
488
780
892
410
930
985
4
548
132
987
415
169
675
13
958
167
493
745
43
475
338
148
418
153
490
310
265
160
328
973
729
296
813
140
921
268
641
557
274
451
45
931
905
651
781
464
266
131
848
640
972
199
855
254
144
918
778
329
981
868
46
940
584
449
511
919
220
887
867
120
341
7
543
179
648
792
877
719
425
976
666
531
181
186
800
569
342
686
759
515
393
362
197
271
395
418
709
974
224
190
142
46
275
583
500
319
574
914
556
548
440
352
786
427
898
736
145
819
6
249
478
32
152
364
100
872
157
481
167
663
714
885
997
583
293
27
420
492
142
625
566
871
426
749
254
638
878
898
260
355
533
45
341
800
266
760
793
961
888
825
741
257
491
200
80
173
583
811
212
609
313
378
251
890
744
447
413
811
696
830
664
99
170
929
521
343
708
768
95
818
391
129
96
599
292
879
529
16
377
427
225
832
787
266
231
465
391
732
245
216
295
419
18
735
717
194
608
888
275
369
910
792
267
398
679
22
963
416
590
892
282
35
520
291
482
77
337
747
638
348
962
284
775
139
374
154
479
840
518
714
691
982
795
555
178
44
927
500
870
546
496
224
848
357
401
62
267
593
799
57
915
209
845
390
440
170
674
143
461
94
638
748
963
394
760
607
357
221
738
69
578
984
584
399
400
820
192
388
941
148
676
13
952
356
337
892
91
760
494
329
823
185
238
419
991
933
336
32
377
408
184
480
761
414
669
332
107
956
270
154
467
422
546
916
164
163
381
415
571
839
42
371
576
359
117
750
422
895
878
504
155
240
479
117
379
730
663
286
312
44
337
611
453
497
434
373
290
797
15
390
558
887
406
403
539
153
514
711
755
224
129
536
223
594
193
152
88
522
454
940
104
9
950
348
881
158
1
183
280
926
208
834
608
42
51
726
529
913
251
817
703
435
29
991
235
917
719
960
918
820
21
704
146
562
303
517
92
447
979
463
434
676
956
395
451
468
563
750
820
568
148
976
793
794
770
835
733
816
988
780
186
78
808
285
748
602
252
307
16
460
853
27
788
840
619
632
533
970
651
187
841
646
668
588
226
741
114
142
158
886
437
625
665
416
349
510
193
856
592
666
651
402
796
22
754
336
510
550
812
858
391
494
123
547
821
893
983
572
943
348
113
793
220
443
8
111
137
388
311
780
591
276
799
888
856
799
4
913
744
393
800
58
724
563
503
67
323
569
181
361
76
755
874
609
679
528
410
330
747
431
308
697
760
776
44
495
386
52
612
112
318
673
858
479
202
665
572
160
993
585
678
137
326
290
159
396
58
183
534
129
207
218
836
200
890
234
985
564
734
190
439
472
463
459
740
628
986
644
375
967
411
293
934
315
808
504
131
36
467
629
675
682
624
216
321
794
324
876
717
252
175
973
769
989
224
915
386
473
94
355
364
81
816
782
112
368
500
834
671
314
100
167
178
777
50
845
540
791
489
54
560
830
94
387
203
822
309
82
968
557
894
362
595
69
265
473
439
757
55
101
881
255
700
589
113
553
609
795
441
458
672
470
48
242
423
778
791
256
177
918
181
361
859
874
180
245
34
970
807
106
856
268
854
703
275
839
188
491
867
595
223
409
50
655
151
899
324
229
419
903
376
582
789
923
554
945
985
688
270
159
637
629
327
445
684
155
65
926
922
649
454
431
661
254
965
686
761
738
125
191
453
166
139
971
418
698
892
909
585
510
895
554
978
808
495
146
727
845
754
81
60
156
937
210
676
492
460
164
426
516
503
363
621
944
221
505
602
671
625
76
458
384
761
897
868
316
797
788
117
76
942
172
246
948
942
882
166
657
46
435
327
369
920
823
152
589
993
165
74
727
94
675
439
306
52
8
940
201
141
450
527
805
853
364
938
759
525
1
81
715
742
67
510
610
307
403
164
119
777
776
311
260
225
44
420
623
937
883
275
305
214
880
181
471
309
29
582
361
794
552
742
709
344
570
371
781
999
326
304
669
446
549
329
41
779
76
301
295
474
38
514
944
45
745
116
84
940
909
26
51
783
6
423
653
959
369
383
956
917
80
631
205
254
859
726
327
842
906
185
427
763
117
210
837
808
136
701
556
651
524
190
390
572
650
174
677
782
35
80
290
7
553
758
480
937
288
977
232
581
860
836
27
349
731
435
278
889
330
389
282
341
839
988
196
660
145
896
427
122
748
288
825
921
406
237
239
46
908
974
338
234
641
372
36
876
565
639
567
191
785
740
974
863
168
493
780
588
348
663
707
683
30
606
538
954
711
199
683
543
818
828
555
361
774
220
594
991
718
755
686
696
402
678
745
246
339
359
435
809
377
303
372
93
711
139
644
225
824
238
172
640
929
902
245
339
302
315
562
495
309
552
222
272
27
3
442
157
108
489
177
811
931
222
479
677
160
477
150
117
520
553
184
887
3
116
578
111
722
550
290
748
323
250
549
734
207
157
228
617
811
951
735
490
856
473
681
493
752
928
652
956
368
333
524
518
934
484
147
180
181
473
643
321
709
367
251
155
193
238
416
970
287
152
786
771
961
89
869
604
597
1000
391
949
365
396
784
39
290
909
839
861
919
244
265
904
728
830
800
422
197
255
550
94
29
255
450
479
88
655
72
609
508
129
554
368
816
75
46
68
95
227
940
772
958
828
104
451
554
334
485
50
898
649
742
870
600
845
24
464
427
132
599
423
231
665
823
984
459
358
844
429
866
506
507
586
49
453
181
591
121
941
583
238
191
53
249
897
294
852
975
972
86
934
437
301
913
102
181
752
850
274
370
488
903
580
976
27
860
300
609
277
222
945
794
179
198
301
313
459
47
718
179
264
905
253
895
119
830
558
959
744
992
532
933
748
816
853
32
113
421
464
868
691
858
972
908
622
522
697
239
739
597
817
406
494
527
634
501
904
358
508
142
337
211
406
669
688
323
335
720
661
817
146
319
397
835
340
742
679
748
523
728
285
895
122
64
823
713
797
146
608
196
762
919
644
291
877
492
857
276
943
807
25
126
108
982
743
616
663
307
887
203
803
465
726
767
127
189
801
909
720
480
139
842
703
484
201
852
16
311
207
952
39
404
101
618
372
549
518
415
709
243
514
955
316
944
741
826
11
677
981
67
956
557
640
317
763
89
900
978
625
482
692
590
227
820
569
191
166
660
851
550
508
490
121
76
859
560
269
632
64
783
794
706
213
733
17
136
156
346
175
99
125
518
106
174
395
686
391
68
133
422
366
40
705
217
374
137
760
936
979
102
348
852
670
236
177
807
714
531
860
776
435
121
691
47
172
469
14
312
560
736
774
178
587
452
168
1
97
972
638
505
985
174
623
313
414
522
588
422
745
930
848
615
749
804
640
19
885
313
674
305
95
143
148
528
590
2
844
250
587
677
419
349
810
715
513
918
822
703
566
704
973
674
568
862
782
395
73
167
103
145
884
432
290
133
829
603
903
902
867
879
174
867
599
278
605
685
922
229
559
255
184
165
635
996
679
584
979
505
755
710
385
796
114
736
210
147
97
579
666
959
913
242
24
181
751
161
613
547
708
358
275
315
296
843
120
242
26
464
996
238
263
315
85
526
89
896
436
158
397
453
29
427
808
305
208
37
295
515
884
926
600
957
984
243
611
697
4
343
877
607
392
575
361
305
692
305
333
847
65
869
33
63
808
99
381
73
4
636
506
332
243
523
365
459
679
443
16
259
319
544
402
588
555
2
651
114
420
355
963
641
957
151
121
354
387
660
574
268
458
216
780
167
502
276
231
562
209
429
154
522
88
372
403
756
894
388
450
998
48
932
732
559
232
738
787
905
872
286
797
253
199
559
142
465
931
771
551
973
400
140
250
89
102
861
299
785
269
116
934
991
14
365
325
480
14
169
620
693
493
492
534
213
489
748
14
152
971
899
726
397
425
512
182
569
944
30
355
477
677
465
523
116
753
339
901
493
431
980
372
118
260
227
202
579
544
164
225
459
199
774
372
774
430
291
810
221
275
600
165
810
186
238
518
837
289
435
889
762
862
145
905
274
864
229
254
705
82
749
271
15
546
889
741
768
402
105
550
851
355
973
379
245
120
641
993
774
75
912
28
639
435
773
394
466
831
618
536
794
141
508
835
170
759
530
385
508
293
775
199
957
827
451
693
273
496
414
928
658
85
747
666
27
769
43
777
981
925
750
896
77
135
261
543
584
124
436
82
580
392
891
10
122
740
714
71
222
704
211
597
536
153
918
301
999
977
404
453
111
802
310
38
239
165
654
978
60
423
708
999
258
946
620
18
664
833
543
232
302
443
231
210
236
567
941
374
658
912
13
237
423
914
663
630
94
577
407
947
624
157
974
113
2
36
780
614
528
57
788
383
912
908
94
797
67
905
659
316
254
659
427
553
279
660
456
660
514
772
824
986
860
7
799
882
192
693
156
371
433
361
601
194
192
223
975
345
783
131
274
841
545
290
550
892
603
791
460
40
604
267
546
131
494
554
344
160
119
275
65
121
268
713
900
34
820
125
983
188
790
934
634
488
414
853
818
506
907
62
674
466
130
3
557
926
225
240
280
370
224
85
176
276
736
381
101
454
69
898
789
645
599
315
771
415
733
627
648
362
561
139
672
525
196
905
435
684
807
588
947
919
589
248
576
406
250
463
86
912
104
560
508
905
543
433
687
447
476
612
127
340
309
747
202
46
169
691
863
5
385
667
765
871
671
829
88
63
80
666
429
763
539
296
827
167
726
696
387
366
85
280
957
685
43
77
31
713
858
934
379
535
78
805
899
863
299
206
840
860
745
327
868
482
233
142
386
28
237
95
171
456
82
572
644
704
824
438
51
915
938
368
383
980
809
559
163
273
905
694
77
789
663
702
32
151
348
922
409
118
604
804
161
296
935
144
942
722
148
161
619
860
629
451
392
367
390
926
189
644
21
414
234
804
43
486
411
190
646
429
582
990
507
15
99
807
172
863
545
275
474
751
164
923
623
171
542
558
855
815
833
347
13
418
253
638
33
596
581
334
40
863
182
257
731
28
371
543
744
557
31
566
988
292
29
260
260
110
348
16
42
756
838
504
72
58
145
888
113
195
679
872
402
512
460
980
375
596
303
235
642
11
54
163
626
99
573
660
953
749
705
809
429
872
744
156
452
611
814
330
743
976
122
120
609
691
270
306
314
515
691
587
757
211
783
947
345
622
519
652
867
29
143
883
212
90
49
681
962
150
121
503
256
686
588
160
845
923
947
354
901
461
590
319
1000
847
598
318
641
600
553
864
845
165
335
566
643
609
624
462
704
666
200
527
6
904
234
816
156
374
437
355
931
85
348
459
661
53
33
639
323
462
170
625
587
698
848
338
608
617
368
810
60
439
31
183
761
73
169
887
250
540
680
37
842
353
896
890
24
411
964
938
532
983
778
825
72
809
151
836
466
254
125
129
934
661
249
238
352
777
185
632
549
179
236
266
181
133
279
144
236
194
57
863
11
185
41
22
239
880
866
125
126
831
840
336
242
310
221
16
564
265
719
494
490
497
170
931
306
43
446
440
415
862
454
873
625
493
481
794
911
300
278
204
385
291
973
531
647
269
354
227
285
237
89
89
76
581
173
83
346
535
284
988
19
813
722
698
134
135
326
350
973
525
87
772
508
931
161
916
553
699
670
43
901
864
957
434
682
86
953
322
410
239
906
524
456
379
40
32
209
799
607
385
801
391
411
239
60
364
126
961
341
661
617
419
939
74
62
428
102
166
857
434
44
554
186
108
952
69
646
485
709
533
508
184
933
670
46
992
995
734
840
827
861
989
144
672
967
76
185
583
852
663
751
283
937
489
544
167
665
72
524
787
195
900
967
985
2
880
966
903
981
186
932
31
167
413
10
304
733
137
378
10
723
538
157
942
885
750
984
791
45
999
353
233
706
381
520
576
908
348
79
94
987
576
353
370
511
926
357
79
570
615
437
642
584
558
624
86
991
87
380
274
455
884
693
385
774
29
402
159
248
513
236
951
119
442
283
84
581
414
525
347
30
234
625
726
429
229
364
627
130
881
12
908
29
430
430
24
699
371
896
455
992
493
479
386
697
219
296
280
988
520
121
618
789
613
644
545
682
980
128
603
652
984
350
30
790
503
471
347
68
562
930
58
407
889
551
347
591
701
770
598
6
771
335
391
788
43
861
405
751
600
339
314
343
813
94
314
12
884
681
422
525
789
930
42
237
848
650
584
805
760
547
130
563
950
509
224
630
520
782
865
823
920
471
713
634
688
456
313
837
262
81
882
793
923
911
820
131
370
433
660
309
313
844
591
481
715
950
64
224
17
772
217
924
751
677
40
53
425
699
258
137
483
286
879
942
422
832
248
315
870
269
215
120
535
417
736
960
474
5
820
682
17
34
220
214
62
670
712
942
174
924
96
627
48
199
285
911
489
194
983
521
984
749
477
640
326
969
30
325
507
370
188
463
289
827
79
543
424
855
459
405
514
101
788
235
858
955
140
279
467
886
87
165
635
435
26
232
27
812
566
6
336
664
725
771
917
943
679
249
686
706
714
525
790
362
853
709
210
111
351
286
501
283
886
773
334
871
807
61
384
778
235
786
347
244
179
197
579
432
64
214
914
397
249
818
705
531
159
486
50
87
647
100
433
601
76
658
747
832
391
169
768
382
145
286
666
270
59
620
75
570
171
163
574
681
63
938
161
914
968
805
462
865
774
342
963
486
78
845
501
832
488
815
636
230
287
704
275
26
462
345
103
90
807
216
969
23
519
641
351
334
234
72
423
923
950
854
48
872
647
249
243
879
712
53
251
683
460
805
391
485
149
504
291
650
886
691
920
976
733
990
99
417
140
472
792
434
560
719
555
74
725
104
953
479
591
568
645
766
432
162
83
129
868
701
473
558
907
154
703
812
211
812
447
129
897
834
565
705
111
534
167
137
550
635
499
891
831
758
834
331
368
641
144
14
935
905
219
747
686
724
232
402
738
409
505
559
786
748
365
869
429
929
535
436
11
988
451
633
830
65
288
467
490
144
216
86
49
598
610
998
338
618
495
349
513
511
530
961
454
927
197
829
111
335
680
527
258
407
136
234
435
563
643
160
2
598
162
754
377
168
271
411
509
962
240
363
540
490
279
33
455
821
434
452
222
11
648
239
553
659
953
243
964
786
668
207
257
192
684
701
875
560
646
136
855
835
904
893
261
815
588
459
45
480
77
7
252
307
412
29
378
713
927
480
459
814
483
375
177
868
200
955
863
162
526
336
776
575
803
7
449
760
224
692
226
673
242
859
309
189
28
578
797
663
523
544
207
603
19
812
919
62
962
207
851
960
831
421
397
329
566
522
344
361
966
991
41
248
911
415
571
11
36
640
54
910
703
565
496
573
742
710
796
686
432
375
612
928
634
513
797
855
815
384
37
626
952
709
118
746
929
311
991
530
111
139
434
582
235
211
632
435
611
214
448
379
901
425
511
675
441
177
495
575
106
296
114
992
270
825
461
270
252
857
240
180
973
521
371
219
258
943
201
279
298
586
257
983
363
436
80
342
721
389
176
875
109
603
538
36
794
732
498
592
441
732
913
593
535
349
800
692
83
518
579
904
654
611
17
295
633
917
837
745
681
762
679
658
44
414
791
425
279
276
371
525
412
919
974
368
306
155
767
386
258
745
699
403
424
264
857
45
727
377
369
771
299
21
221
144
366
988
258
134
700
38
483
531
432
905
463
94
49
537
284
621
880
490
59
994
212
618
402
144
476
142
654
24
596
722
884
926
699
363
867
896
845
873
292
590
366
120
439
615
678
507
435
334
146
932
989
105
696
4
201
168
401
418
635
723
170
233
345
265
20
234
977
917
151
693
351
309
174
629
184
557
419
89
734
2
172
65
161
705
99
427
389
100
840
615
45
842
972
951
856
648
96
84
515
826
801
506
607
293
659
76
655
94
204
171
730
821
46
456
353
889
897
220
609
316
309
909
486
511
333
776
477
587
165
562
362
890
60
703
942
753
462
875
178
972
334
601
864
132
141
246
461
709
793
963
180
829
136
62
750
657
246
841
556
671
874
119
994
469
870
590
967
373
312
652
404
775
375
536
575
96
673
410
760
259
926
637
517
774
324
488
398
905
889
477
464
866
461
878
367
723
686
177
68
425
519
940
509
451
313
41
659
626
510
258
422
7
340
39
799
151
680
574
579
715
410
445
571
73
190
774
56
573
569
214
698
132
727
119
639
77
962
936
871
556
235
191
274
377
701
443
889
810
182
241
114
788
949
401
482
920
38
926
642
907
529
477
920
283
905
609
615
883
611
900
784
76
452
705
809
585
260
512
501
692
601
768
813
702
919
629
516
823
626
272
351
37
114
303
205
95
596
311
884
523
930
811
896
401
346
649
457
719
70
454
621
323
379
853
55
814
537
6
439
283
406
447
940
410
249
378
470
332
418
303
713
593
123
352
986
704
493
727
87
72
451
441
174
543
744
938
611
403
597
231
443
437
95
912
835
564
330
772
380
664
805
779
646
403
334
857
719
290
922
251
779
728
710
262
946
506
86
768
723
65
503
296
381
863
359
334
520
336
561
224
882
285
7
243
201
996
294
408
505
22
422
153
832
393
101
241
748
913
579
215
422
359
542
213
245
630
748
219
173
319
552
681
8
776
340
950
819
421
233
187
601
999
99
231
25
476
42
394
841
502
51
343
109
704
419
983
899
599
882
788
557
574
150
82
913
217
675
601
67
253
23
73
474
484
193
661
134
427
587
843
601
789
108
723
381
521
32
823
63
977
881
109
151
584
537
394
173
557
195
281
89
361
592
488
403
77
130
748
694
315
131
472
437
55
505
5
100
633
498
638
538
116
56
475
546
464
569
900
326
221
383
658
299
930
569
502
334
145
836
933
9
664
386
844
963
589
768
731
725
907
434
746
694
567
839
38
76
418
366
733
666
980
277
419
342
733
192
174
991
499
295
46
416
536
593
361
417
172
68
408
883
151
486
851
198
381
968
682
709
446
153
663
289
62
961
964
284
650
459
157
231
318
359
811
798
860
983
671
327
820
340
817
194
258
107
265
996
660
923
161
185
306
353
135
387
520
314
351
70
439
532
542
646
327
807
603
348
23
503
333
432
774
657
589
351
606
582
384
544
361
610
473
401
719
922
550
788
841
10
485
220
754
391
962
428
226
657
452
579
694
771
730
850
735
854
16
439
697
311
411
292
344
297
492
53
825
948
808
755
814
759
565
778
421
738
933
467
363
720
295
587
913
301
222
499
358
393
122
514
57
334
330
412
677
794
846
518
896
485
89
27
642
810
771
518
954
146
461
711
665
417
486
568
422
962
567
763
988
495
981
426
380
111
127
780
187
894
51
996
291
648
889
113
310
695
207
387
325
468
883
775
808
832
547
574
249
698
575
413
649
504
280
898
924
550
268
212
261
52
887
898
663
950
312
839
194
227
100
213
988
487
971
793
653
25
173
531
539
492
22
775
288
512
139
845
156
285
418
938
900
322
29
480
420
897
598
136
930
747
234
645
149
820
281
526
914
591
489
500
638
582
813
149
258
232
182
957
649
205
419
340
15
544
929
734
432
827
915
90
526
619
646
365
283
71
744
721
91
470
555
187
428
927
388
480
62
119
847
517
225
229
510
929
987
771
942
525
986
999
394
233
724
982
570
529
908
235
526
712
644
6
118
711
905
924
388
272
338
743
959
479
351
342
803
579
463
964
708
976
998
938
413
87
621
741
626
471
603
352
117
283
419
255
619
613
20
370
563
763
102
408
546
795
788
864
6
8
407
918
783
112
471
20
134
958
525
820
266
654
281
408
685
768
327
548
448
119
753
683
935
340
238
28
905
987
481
985
395
508
407
449
518
739
198
319
291
981
76
653
462
866
709
490
672
413
269
298
447
654
452
365
209
208
231
248
920
976
710
540
41
928
224
833
185
590
727
694
226
412
606
936
653
677
276
189
644
979
314
60
668
603
415
717
432
312
163
813
632
152
479
41
281
906
591
482
365
707
564
131
171
176
756
622
934
132
17
254
390
599
125
841
375
326
720
807
908
502
950
196
51
704
170
948
441
348
268
887
571
82
631
332
788
654
337
170
500
706
880
494
268
887
636
660
301
418
313
684
355
955
830
464
230
194
431
207
814
161
345
798
131
543
979
561
956
735
449
37
338
503
251
932
809
289
978
357
150
223
336
846
318
841
102
404
576
379
324
20
877
236
790
658
315
892
739
727
803
103
842
430
169
704
719
207
559
696
656
651
355
599
713
951
832
247
120
892
422
291
723
878
771
676
253
292
720
292
336
731
995
785
528
304
641
272
101
232
182
295
979
453
83
925
984
791
329
340
524
520
842
559
955
838
20
280
117
836
895
907
944
57
274
945
651
603
772
896
710
90
807
679
731
422
486
371
384
499
804
789
738
462
720
985
701
50
509
273
802
926
223
787
194
607
238
925
597
762
639
198
879
193
627
201
102
779
210
402
180
21
220
434
703
601
64
370
134
539
702
288
311
130
51
9
132
798
383
542
362
454
327
177
725
685
749
582
863
362
148
551
250
830
177
204
870
897
579
588
323
230
121
599
39
633
69
60
430
900
387
631
160
585
112
912
175
92
291
769
794
936
445
422
921
889
815
287
435
13
479
911
872
225
67
599
821
173
940
479
840
625
645
837
293
540
914
513
236
227
729
36
359
756
753
959
49
873
981
549
835
184
558
587
819
338
593
536
232
224
183
742
902
974
58
661
265
685
980
320
514
344
499
346
634
376
737
955
349
628
637
200
479
341
505
660
780
864
729
489
143
431
296
402
906
320
66
756
141
110
833
353
983
541
845
956
484
703
826
819
987
891
523
718
745
483
472
52
345
617
958
605
520
294
143
473
98
754
936
465
169
626
460
14
10
414
917
270
989
314
224
582
402
255
68
14
214
296
894
881
723
200
932
575
476
106
579
73
136
676
297
622
636
15
757
34
622
957
116
951
121
11
160
168
398
386
549
851
161
30
551
41
640
538
455
370
573
132
334
308
799
632
928
588
990
525
221
676
26
721
702
274
671
632
395
900
472
484
504
517
294
617
891
28
478
657
700
221
375
46
139
408
948
409
792
554
198
615
891
185
384
212
631
732
425
111
976
265
397
5
394
738
746
45
593
9
681
707
685
849
247
619
107
121
730
371
324
77
365
956
542
485
827
546
663
895
591
786
241
927
60
624
510
852
309
981
389
154
388
246
997
948
410
647
366
344
38
57
965
879
594
679
127
133
732
355
705
515
478
961
75
990
538
449
140
225
926
640
126
209
341
767
765
916
242
142
934
15
219
14
950
888
105
865
469
519
237
936
415
880
418
712
413
510
436
491
976
922
433
909
87
318
20
474
883
837
825
763
852
248
31
892
343
533
595
299
201
314
16
657
42
427
948
950
996
257
469
376
775
623
542
720
557
103
46
312
486
711
754
499
563
724
852
786
324
290
853
466
966
170
297
609
536
591
233
730
377
731
292
313
275
795
88
669
642
986
820
245
670
936
186
609
542
325
139
823
726
473
628
793
849
674
131
513
884
916
745
809
174
419
588
309
348
110
510
893
334
766
427
785
469
41
138
801
177
23
133
6
816
277
738
154
78
542
918
867
722
410
187
455
575
313
397
635
419
113
596
187
830
444
772
769
77
666
44
670
894
20
818
303
340
76
438
610
961
77
171
354
171
153
673
511
93
669
701
542
122
142
472
379
100
295
982
390
322
792
556
381
545
133
132
990
800
966
33
409
83
861
540
493
945
151
154
699
573
25
256
225
214
497
838
950
700
198
49
470
389
228
592
606
32
430
421
237
996
554
740
236
743
713
85
546
696
442
93
184
445
455
677
44
735
856
460
909
847
209
727
996
794
333
642
703
188
124
150
956
811
9
809
704
650
881
789
666
610
458
393
379
227
91
768
983
418
951
907
912
730
386
675
890
609
8
316
158
906
704
858
885
246
352
878
105
865
501
337
303
261
624
575
11
284
879
106
370
353
478
543
637
79
863
855
44
933
920
150
262
523
326
370
934
705
1000
595
407
994
290
129
859
706
219
200
424
830
594
875
843
895
272
766
402
984
179
178
594
618
986
654
54
445
453
251
771
535
560
478
500
627
499
558
588
835
481
552
141
184
105
950
564
828
726
493
44
960
850
394
452
242
105
616
497
29
735
517
668
809
875
32
692
34
115
523
753
968
966
563
677
274
884
228
685
773
455
904
31
267
192
246
81
331
139
653
918
715
156
590
587
364
316
109
460
105
307
205
24
708
149
985
594
394
769
208
65
853
221
431
845
476
405
858
524
836
143
13
691
400
416
509
526
84
325
528
443
546
130
85
137
33
286
822
810
206
980
833
235
600
98
995
595
284
887
386
684
852
849
625
172
74
567
387
103
441
213
934
690
316
475
215
795
650
517
7
164
997
379
564
615
120
891
494
895
588
817
909
851
596
395
405
883
698
909
119
404
276
200
916
159
325
264
740
819
591
224
325
220
182
982
717
976
500
809
548
983
794
978
577
481
628
308
802
946
331
118
338
68
839
708
369
462
370
907
665
557
64
638
591
330
60
726
47
162
474
377
482
95
392
832
8
223
327
735
605
769
515
640
627
633
74
911
110
864
334
1000
879
530
548
692
80
942
822
476
577
51
329
612
570
85
766
844
929
200
612
926
992
980
899
327
973
121
153
524
741
527
624
273
423
341
144
133
199
160
799
290
687
772
70
437
520
299
270
59
76
534
915
961
832
612
124
323
478
885
267
845
762
10
866
792
13
828
175
873
417
553
973
935
440
172
831
354
216
695
537
926
336
125
411
736
238
536
951
206
315
695
656
57
940
15
845
408
808
462
32
599
439
217
728
644
171
530
532
359
710
219
52
376
146
683
482
193
366
147
641
369
939
80
900
763
917
384
698
459
433
9
272
628
638
80
857
132
317
524
795
112
453
420
966
142
136
2
448
801
471
299
581
665
539
921
454
786
79
346
359
721
246
424
972
13
725
466
817
860
501
448
104
359
792
331
167
339
24
489
540
288
204
488
174
289
753
290
430
210
669
15
247
604
863
10
320
902
681
903
232
544
862
673
213
596
706
584
593
287
765
944
118
620
169
287
955
919
623
540
642
676
148
134
213
605
925
823
469
140
930
180
651
919
645
370
810
993
797
785
803
585
941
588
152
238
719
31
985
103
799
648
881
922
817
78
727
9
120
317
634
130
768
662
549
755
26
471
430
559
526
136
792
440
412
341
940
533
11
753
470
894
6
805
463
583
672
95
327
837
452
259
442
937
41
845
584
113
200
884
611
562
704
307
61
240
210
349
85
583
310
365
646
745
744
254
3
229
525
806
305
48
764
870
528
646
68
168
103
866
713
962
309
200
234
556
931
376
681
763
718
130
536
97
908
635
248
387
462
663
364
952
654
989
508
239
385
965
820
69
895
454
43
218
557
517
96
105
113
324
884
770
969
813
67
176
191
470
700
79
425
465
972
389
257
93
762
969
463
85
348
301
196
902
438
290
379
573
589
759
525
964
238
867
694
653
794
766
597
709
681
284
643
780
786
339
332
832
505
84
518
786
457
486
945
79
992
157
948
865
818
779
357
160
412
393
448
777
419
151
276
260
883
873
814
371
15
883
124
916
137
181
208
792
634
926
288
215
983
605
998
992
435
5
393
580
476
304
707
408
9
167
560
613
67
726
625
906
1
712
845
742
246
834
945
378
225
663
333
657
456
942
487
577
629
225
573
776
294
204
342
88
795
890
335
230
269
71
31
505
839
120
870
98
631
247
993
227
862
789
156
890
52
965
505
437
362
802
816
508
168
624
346
165
230
567
678
182
258
78
797
533
233
253
175
109
573
156
813
536
140
6
53
793
96
177
438
995
863
541
81
316
737
545
801
526
281
804
733
35
246
699
283
644
617
607
35
438
355
986
668
373
540
432
49
156
928
250
376
960
363
815
692
350
120
183
109
571
990
1
843
991
845
754
478
76
518
775
961
739
32
250
465
282
614
666
649
439
482
741
780
235
84
934
896
442
314
14
460
452
271
32
928
273
274
280
288
193
167
441
895
354
450
205
859
140
401
93
846
787
128
61
385
93
484
770
691
431
834
51
559
549
962
182
115
765
820
115
70
281
366
630
653
265
522
754
598
266
113
446
373
294
746
686
367
593
740
626
883
742
615
375
597
207
129
335
620
898
542
742
421
590
604
206
615
292
741
601
122
773
57
616
209
512
63
629
754
252
490
361
413
206
156
914
477
710
614
403
877
786
231
379
212
631
415
614
671
547
957
652
416
178
814
708
337
216
238
150
82
958
821
760
917
138
911
466
288
521
841
13
916
618
620
321
877
714
1000
885
409
132
393
669
102
256
662
356
743
418
690
725
313
146
512
157
545
664
940
983
24
757
866
443
994
293
837
529
945
750
86
876
560
87
918
177
793
150
257
278
676
626
186
259
991
210
517
306
33
290
802
99
565
922
676
805
476
308
119
471
827
289
41
768
691
594
568
610
687
723
560
86
150
360
170
558
656
179
709
506
15
735
700
903
892
890
746
479
965
895
766
215
857
814
240
819
146
426
313
722
421
166
8
349
699
912
348
36
504
630
868
968
591
1
879
973
570
135
836
797
680
413
348
766
571
290
678
352
236
645
81
234
166
857
948
901
384
362
523
689
298
861
922
444
149
700
268
652
463
214
47
983
85
976
168
663
248
952
835
11
689
556
29
742
974
464
309
396
47
839
674
305
529
307
430
91
425
627
379
577
714
496
118
329
774
354
965
812
695
354
788
251
335
904
59
869
382
303
530
126
812
31
289
933
827
212
330
600
827
591
448
455
964
147
982
637
595
98
875
583
283
657
581
89
49
326
592
665
258
945
738
74
848
952
953
599
625
543
922
565
1000
482
838
95
830
355
567
899
35
937
639
147
231
179
831
102
947
50
590
265
896
71
171
224
365
954
177
268
66
166
109
103
641
603
675
683
624
821
843
234
844
409
57
70
146
186
599
669
829
845
821
791
370
579
862
126
876
986
481
65
166
258
887
732
572
241
751
315
331
480
132
72
920
755
702
151
807
937
500
472
865
225
387
504
132
942
556
698
697
112
727
737
224
982
84
487
51
496
668
768
830
493
652
587
439
51
874
514
201
975
72
244
543
892
486
206
856
811
897
293
705
269
705
371
488
400
348
295
342
351
229
534
368
468
324
384
230
599
810
951
810
675
385
762
860
444
441
900
542
876
846
1
341
282
963
358
58
647
388
596
536
3
90
99
284
949
823
433
409
564
138
507
146
36
909
99
765
320
962
684
863
967
364
216
865
128
890
612
53
347
463
218
613
434
651
465
982
146
874
251
258
860
593
328
537
725
625
116
848
1
676
911
761
417
333
440
864
445
51
32
22
283
118
496
760
238
203
936
156
913
814
341
354
292
965
747
166
371
392
212
287
462
888
591
299
661
740
345
2
298
768
218
602
316
181
642
943
695
324
142
264
983
384
872
950
938
316
625
353
109
562
323
39
870
608
44
759
99
97
83
27
190
954
441
430
554
992
373
718
99
522
315
247
448
786
617
605
792
433
944
95
373
840
164
279
538
820
800
988
199
122
843
27
327
197
856
309
769
901
779
306
328
136
825
509
490
986
136
63
647
535
646
849
943
403
729
98
119
1000
758
1
854
662
665
934
125
91
965
610
70
2
446
901
675
474
951
137
366
259
211
381
237
237
727
570
234
261
40
439
62
890
586
825
989
875
495
280
981
819
339
941
818
124
829
246
920
215
912
375
633
1000
531
314
622
751
573
995
846
873
140
297
310
517
375
602
416
653
497
198
278
988
580
57
796
73
872
445
655
52
146
348
635
766
625
941
826
349
554
183
353
10
341
153
249
462
541
934
943
297
612
681
652
711
535
15
631
115
882
32
860
586
837
35
233
587
48
546
725
67
863
299
348
871
725
675
909
383
982
484
729
451
367
87
505
940
767
593
458
720
649
291
730
473
696
495
784
511
814
746
185
668
610
646
739
445
887
651
416
785
476
823
888
269
936
889
764
48
267
948
841
551
821
819
746
822
985
338
376
409
85
875
450
846
159
961
290
128
931
192
690
40
340
531
351
850
449
688
898
664
420
525
945
702
524
344
3
836
798
448
307
25
99
611
778
683
721
940
419
583
722
163
396
655
329
542
967
910
551
458
178
754
224
221
950
187
234
796
787
708
590
960
818
281
358
854
332
363
195
32
237
859
380
886
143
799
791
747
863
713
212
60
190
955
750
794
723
679
901
621
394
772
954
482
73
823
66
861
312
124
256
472
845
754
26
75
937
66
70
838
49
242
785
991
599
159
865
528
736
503
317
351
213
890
648
566
392
829
806
622
350
468
702
567
879
427
781
31
878
502
160
410
275
629
320
391
160
345
192
140
234
870
745
417
45
107
877
437
730
58
480
491
141
620
37
235
300
264
13
84
113
869
607
309
136
835
118
298
982
659
328
941
656
368
782
222
680
536
818
962
413
150
493
66
336
235
316
785
442
991
833
287
34
173
664
230
430
570
545
153
41
754
311
250
304
704
490
453
726
514
400
876
113
181
185
319
675
356
238
961
302
41
845
357
730
427
694
565
764
473
89
554
941
367
333
55
260
690
761
654
678
989
332
253
85
461
520
975
380
624
482
221
88
167
136
866
684
677
821
504
411
542
669
261
926
154
708
921
554
484
943
38
246
171
380
235
646
591
14
144
786
730
300
279
12
303
533
686
728
271
836
382
415
804
198
451
149
774
88
155
588
78
712
557
932
426
899
999
908
761
927
197
235
133
360
887
329
683
91
680
240
378
350
275
949
248
389
225
175
218
927
213
800
37
193
221
852
419
607
985
756
301
692
901
212
7
832
871
640
204
846
643
594
760
196
856
920
998
818
358
751
400
199
366
584
492
331
661
814
513
614
370
83
485
603
794
728
457
734
422
428
37
810
499
862
791
83
485
827
741
230
310
816
981
362
606
462
374
515
951
642
413
704
787
270
582
747
817
965
974
519
626
854
496
216
738
761
730
500
563
867
404
100
476
766
457
575
810
497
905
450
672
749
61
859
304
919
160
189
197
158
144
917
255
805
149
21
112
860
240
868
131
289
81
443
692
961
492
162
153
970
342
277
231
965
783
41
645
830
632
409
571
738
603
26
800
181
183
646
575
20
158
945
713
6
207
873
993
495
499
330
765
291
957
948
428
614
683
217
664
238
63
985
368
712
250
654
757
446
21
977
477
105
517
477
424
443
989
916
612
203
474
135
645
172
285
846
274
834
288
637
69
291
220
526
443
309
699
908
168
416
180
612
6
924
814
103
308
654
81
561
241
926
81
695
819
46
609
658
57
156
448
369
392
783
875
858
950
862
994
35
399
308
392
358
880
434
534
509
945
670
508
80
533
26
981
659
755
736
698
497
661
327
475
67
221
134
353
460
478
950
562
513
185
29
965
975
291
192
917
830
295
107
848
79
855
143
417
921
24
372
802
271
132
387
543
8
666
624
339
147
426
780
420
394
907
725
395
179
93
53
982
302
798
26
655
814
297
213
48
586
206
561
884
312
496
993
331
367
84
870
925
2
636
830
639
891
138
570
238
883
251
120
793
169
725
38
135
746
925
729
31
186
58
808
114
242
827
996
921
743
55
563
916
567
274
735
47
221
420
815
213
698
527
947
985
833
771
656
77
353
283
250
355
147
919
181
608
97
563
264
942
942
605
444
377
271
955
425
186
697
305
76
577
678
427
985
530
260
910
909
26
188
154
172
420
502
376
232
414
698
73
757
965
2
679
540
439
120
126
509
526
65
643
884
733
320
390
285
760
630
488
192
712
191
559
732
877
861
173
168
756
277
479
855
149
473
864
644
350
626
698
920
918
99
111
476
95
805
234
448
635
243
576
376
724
246
15
276
705
620
371
267
518
344
717
930
138
943
362
43
774
997
922
795
302
440
7
838
205
504
843
825
268
672
567
164
440
991
41
769
545
437
761
547
990
811
857
173
204
820
218
506
345
569
520
619
668
686
282
999
94
715
117
966
691
166
23
695
202
880
907
561
288
937
525
686
848
367
673
669
644
358
789
510
470
488
66
608
262
735
825
580
898
669
156
322
876
301
776
404
742
489
648
396
900
686
146
192
404
94
456
723
426
933
469
722
377
651
615
349
45
372
3
580
723
771
710
195
10
890
277
127
862
78
310
675
512
402
569
819
85
345
85
433
82
577
662
735
421
885
582
689
398
115
444
426
755
101
865
936
9
126
191
456
356
400
460
973
748
422
614
239
181
863
340
516
857
752
9
43
632
382
876
868
86
301
75
263
632
158
990
397
294
997
250
347
191
760
942
796
312
421
637
960
828
153
476
385
102
379
858
278
519
388
274
913
460
431
406
503
51
859
927
631
807
929
349
976
932
326
875
598
819
373
438
492
250
106
33
471
920
119
987
688
122
133
55
270
918
757
70
613
634
786
434
844
287
695
895
847
419
686
915
40
876
768
426
771
249
868
910
802
62
896
582
869
311
16
877
694
612
125
603
163
46
681
877
591
784
569
406
145
691
661
759
507
420
81
26
824
940
965
677
824
72
681
456
748
343
43
911
389
407
66
486
118
353
196
174
229
434
725
361
345
169
361
894
867
297
484
346
690
747
674
146
481
684
518
527
814
656
507
216
392
90
137
430
382
644
889
985
618
479
894
296
70
77
498
610
486
96
814
82
590
637
645
187
536
464
799
536
597
930
927
373
212
823
509
908
594
888
469
156
68
535
266
152
191
121
942
248
488
232
789
683
340
611
773
795
147
710
799
26
403
380
230
362
718
857
810
946
171
51
297
410
544
117
643
880
192
417
534
710
271
281
471
761
28
442
319
408
695
595
449
565
291
315
183
694
278
487
218
158
598
462
130
293
109
405
842
281
770
664
143
211
269
559
986
751
927
668
285
474
855
561
368
215
312
933
85
790
143
259
797
29
980
425
119
360
632
266
351
110
695
576
977
283
962
958
487
824
668
825
33
269
925
968
136
260
981
380
694
608
88
433
91
456
827
85
55
624
735
526
229
425
913
553
143
35
141
29
368
48
655
944
160
964
399
987
829
179
16
45
416
530
299
684
966
529
106
540
869
243
989
487
260
181
907
613
454
650
421
314
737
798
738
283
616
942
793
748
792
869
315
117
737
484
510
65
697
573
528
207
377
468
373
703
359
85
300
564
491
148
2
928
124
416
129
320
80
367
719
731
671
119
189
382
912
330
391
214
310
429
97
436
275
829
966
996
222
688
711
436
913
385
684
395
450
127
570
994
580
999
212
416
689
332
844
281
892
485
187
810
176
992
902
373
392
583
902
727
230
740
866
153
14
311
127
728
243
194
757
188
368
262
304
177
174
501
113
204
516
806
602
284
848
997
161
77
180
402
567
319
605
783
948
463
534
473
365
765
105
333
5
475
35
563
850
427
341
432
433
48
942
721
941
774
154
56
514
881
466
318
52
23
809
4
210
111
719
771
571
747
425
373
166
105
892
859
603
14
314
216
84
18
331
604
495
337
536
945
570
10
449
916
854
945
201
330
825
271
632
464
64
158
346
169
801
241
586
472
537
867
412
955
663
673
784
410
180
402
643
135
696
440
942
775
820
311
939
780
999
219
706
421
578
803
982
758
598
452
975
158
427
888
670
734
820
236
525
551
425
482
169
585
66
18
876
157
355
989
132
62
322
259
563
632
769
141
883
777
38
453
247
426
668
105
623
844
237
141
335
30
307
130
948
772
952
822
43
958
868
260
245
421
376
905
67
955
985
871
750
118
321
91
296
104
356
59
330
260
863
834
238
816
941
148
291
983
270
777
93
892
471
840
753
738
594
300
635
128
269
762
401
844
527
584
341
153
610
455
655
358
390
829
435
477
119
45
578
847
370
521
783
938
934
147
43
881
363
902
798
21
631
740
988
346
38
16
799
742
148
56
796
894
989
3
488
60
195
743
99
120
86
514
471
30
878
824
565
298
383
400
8
141
553
214
463
757
210
68
410
558
112
828
60
225
290
157
756
221
223
539
146
726
23
409
867
1
235
510
241
874
272
901
701
384
759
667
292
613
287
15
602
377
143
336
895
783
613
809
78
601
346
307
350
41
106
661
28
775
938
857
113
20
422
350
603
47
222
484
422
762
574
960
121
882
707
390
164
800
449
251
708
463
434
964
278
427
375
393
604
809
878
806
251
30
106
211
294
75
428
37
497
528
852
325
898
727
668
939
678
279
194
848
502
563
968
171
267
20
22
511
338
786
101
102
900
674
837
389
11
573
891
17
321
117
52
591
172
858
118
218
972
221
128
592
346
289
185
293
520
766
692
69
810
556
261
68
890
51
971
411
714
553
913
16
580
287
167
286
863
78
446
143
333
96
645
901
850
34
456
610
445
707
24
878
436
330
316
624
287
684
562
853
392
947
598
364
803
250
430
224
196
867
669
957
78
566
740
675
273
829
934
771
245
518
444
378
713
122
482
558
292
869
475
12
625
857
116
208
576
839
725
997
567
446
2
123
86
464
734
594
716
224
432
503
759
293
212
748
720
440
432
49
402
276
737
837
391
60
211
846
15
915
257
711
670
96
687
474
571
9
261
670
549
413
568
573
555
577
713
268
861
230
745
430
808
797
143
105
126
765
970
312
474
33
478
977
870
726
66
604
112
288
495
50
103
619
149
989
268
659
2
939
864
70
608
217
49
643
118
848
35
617
831
205
516
349
246
150
821
691
909
516
935
973
633
68
597
723
810
464
192
104
599
342
28
606
766
376
917
693
816
26
651
950
847
777
128
782
252
816
341
856
984
518
437
302
630
547
330
141
902
120
121
538
530
756
720
252
719
842
608
94
483
462
645
296
200
261
184
426
682
538
531
916
889
367
966
293
174
348
110
956
627
448
441
689
625
521
121
127
178
292
129
109
59
7
884
135
961
459
165
212
145
835
153
965
120
664
847
226
920
176
939
299
430
518
466
667
59
649
224
252
761
164
947
214
38
980
741
903
107
571
120
817
831
430
244
308
404
502
667
364
977
627
953
975
633
432
37
506
146
694
83
988
942
929
895
451
571
833
657
248
778
280
887
825
940
737
996
535
266
360
794
924
628
494
598
348
325
35
355
946
386
864
306
729
256
609
324
20
825
86
947
531
795
83
554
140
342
598
871
834
860
246
162
305
324
316
74
467
498
874
75
470
753
383
805
848
746
551
509
135
587
500
861
583
419
878
180
649
505
272
980
557
43
98
298
557
905
183
12
448
436
405
647
591
247
106
792
885
663
443
297
117
124
502
897
712
366
792
755
126
657
679
699
45
699
426
600
109
88
781
411
101
352
448
909
390
680
388
27
993
417
590
17
744
285
867
353
953
70
268
420
400
207
883
545
685
315
208
862
741
197
703
824
813
277
902
921
296
725
192
313
627
778
429
628
852
863
642
145
577
190
396
932
764
414
838
295
236
805
33
59
806
142
994
792
679
195
694
64
130
209
454
245
490
324
303
124
181
194
320
859
844
383
498
378
635
309
371
361
391
587
504
370
704
654
954
527
877
432
996
376
383
655
704
208
721
145
482
188
474
22
272
66
10
307
957
144
466
857
425
412
599
908
874
457
610
762
192
847
300
297
677
142
761
78
921
621
342
788
429
95
828
599
419
880
577
889
303
128
908
383
546
242
127
418
948
997
441
530
925
364
439
964
11
739
962
30
654
436
948
461
328
867
288
43
164
766
805
836
548
207
219
237
625
896
382
995
228
454
85
35
532
913
509
613
640
724
720
889
381
885
648
482
845
670
702
946
562
603
459
397
764
952
928
714
884
44
475
821
304
113
870
597
355
240
830
816
778
174
85
408
129
476
261
980
158
476
812
230
754
988
822
380
920
595
742
223
120
595
41
710
505
358
294
264
751
938
458
179
667
280
965
508
335
243
755
845
220
961
610
252
637
802
943
407
961
245
713
707
186
578
307
677
792
195
990
543
390
625
63
223
292
185
905
319
959
238
940
924
284
659
932
161
796
15
145
434
148
352
644
309
742
259
403
768
902
36
959
379
814
389
59
526
332
76
131
477
850
283
415
481
674
365
308
507
678
747
780
511
633
425
750
292
232
515
939
133
747
724
36
387
234
461
988
113
371
523
830
668
362
965
752
885
799
792
60
92
20
580
234
791
297
996
576
212
131
453
815
354
57
815
617
336
581
159
144
86
358
75
688
420
215
882
945
570
433
467
653
83
525
111
181
800
830
837
147
332
435
287
290
14
275
101
634
877
811
68
455
518
310
94
679
147
610
143
101
231
227
893
290
363
788
770
87
945
69
424
392
291
392
457
304
532
706
392
775
527
455
474
616
591
275
850
96
444
595
112
379
274
486
947
763
140
475
873
968
276
574
657
792
26
502
1
36
227
907
545
960
901
419
50
464
978
536
862
840
633
677
407
189
517
185
532
551
803
748
935
391
502
466
821
302
940
748
177
733
653
340
738
65
190
39
793
611
488
74
486
959
552
690
145
627
140
241
486
171
30
943
227
733
250
510
803
507
319
89
338
767
167
259
4
895
894
383
203
324
947
269
758
427
603
903
443
172
885
35
729
770
140
495
589
681
582
445
562
32
4
199
50
959
759
862
5
406
806
799
723
651
340
864
486
187
45
390
161
627
508
180
673
983
706
116
487
993
753
569
838
207
307
455
467
142
125
683
62
180
240
719
419
807
198
171
586
432
535
643
900
313
476
543
868
22
405
222
323
497
228
571
124
975
182
177
950
983
991
241
432
152
515
711
919
799
234
529
680
146
928
433
251
509
920
516
911
33
128
609
995
349
942
615
877
54
643
118
943
48
691
930
840
575
683
781
594
308
233
10
929
885
315
929
291
144
833
535
597
688
336
380
706
537
812
675
987
351
433
203
92
116
991
170
252
254
514
924
993
819
188
382
129
818
321
58
329
742
522
852
322
38
667
122
24
637
504
112
493
616
942
516
618
753
165
799
908
12
728
926
532
999
688
311
52
10
645
122
905
614
306
553
739
612
789
332
192
816
440
513
544
362
379
543
942
124
316
721
598
417
471
414
421
329
555
824
33
958
858
663
34
299
471
831
656
760
512
96
688
89
66
771
623
18
188
659
549
65
958
799
189
754
53
162
855
984
734
14
815
379
446
572
706
255
463
508
195
257
140
11
30
822
360
419
5
348
719
865
121
395
837
3
407
251
925
639
445
961
430
999
635
245
101
461
634
805
345
800
194
153
80
369
844
488
598
212
477
105
144
783
899
487
4
804
863
550
912
812
905
458
493
130
572
70
268
271
247
328
492
343
855
863
695
576
166
672
365
961
304
947
629
892
313
87
147
817
331
432
695
198
984
510
59
449
129
445
939
139
940
700
545
459
655
527
416
833
4
323
820
617
441
593
751
16
848
374
160
705
277
790
541
165
653
862
435
397
82
824
694
511
570
988
608
682
496
599
92
65
150
266
204
601
4
242
169
63
169
288
971
312
638
855
286
484
538
101
240
772
566
563
999
509
205
392
702
523
107
702
603
90
235
947
608
388
983
228
541
21
493
87
616
72
849
666
565
133
605
37
789
937
415
200
747
540
117
436
461
492
698
723
711
56
44
447
983
345
206
930
693
187
213
173
567
642
122
794
294
344
94
334
734
278
759
999
52
167
33
413
86
373
865
163
170
108
70
731
402
804
561
939
38
664
765
153
303
808
975
320
404
909
706
386
950
913
856
730
295
218
631
75
541
736
741
736
79
322
328
155
576
405
455
466
249
97
753
159
137
622
9
54
816
731
35
449
671
646
192
707
416
152
286
578
8
717
402
216
493
876
411
222
612
674
531
1000
170
663
323
416
293
803
936
10
680
623
251
23
881
182
813
77
459
673
68
669
584
31
519
540
275
483
804
585
29
855
640
227
992
310
781
59
229
382
859
130
851
364
41
477
951
577
922
350
366
597
989
137
231
245
258
149
206
63
439
300
20
996
49
182
668
248
469
199
212
595
801
258
623
997
786
935
525
954
720
192
20
959
500
496
978
301
441
593
338
670
505
339
965
282
911
667
585
683
883
243
146
30
479
363
710
382
1000
399
658
455
491
456
538
387
236
934
371
282
941
379
604
672
514
333
192
614
980
908
480
813
50
458
643
23
338
12
477
1
15
136
205
450
950
470
820
709
20
505
172
438
340
67
672
174
600
587
993
448
576
470
609
64
145
790
352
300
824
95
421
2
913
301
458
998
827
573
336
820
99
566
309
449
833
620
52
697
89
330
883
871
802
413
170
579
366
935
531
881
917
798
905
510
712
823
35
552
714
902
175
795
651
474
78
955
378
1
453
105
300
222
113
942
11
710
967
956
57
649
876
214
905
826
135
173
800
530
14
919
151
427
338
255
529
530
592
316
103
27
389
780
611
106
438
268
517
899
331
243
76
320
592
580
417
879
397
963
620
532
325
466
972
238
278
980
253
167
480
643
954
461
36
51
764
16
122
840
567
5
289
168
421
787
721
734
696
372
534
233
604
851
384
580
888
79
702
774
267
392
842
59
605
364
336
867
427
429
206
118
551
691
985
639
102
404
718
801
131
410
678
14
360
297
985
374
336
138
605
579
426
484
441
228
606
693
359
728
6
773
19
359
474
675
344
473
260
356
271
422
37
16
233
568
102
604
433
647
566
79
573
838
750
931
162
118
790
150
901
860
696
181
941
205
665
391
994
393
540
233
383
151
677
596
108
191
339
803
935
91
981
331
322
112
417
626
707
26
924
281
350
643
801
492
415
513
749
897
437
263
717
840
692
96
546
671
193
264
807
858
237
749
729
624
491
940
13
305
544
849
611
823
785
283
287
513
210
438
859
38
464
579
562
270
50
819
897
846
95
554
654
542
510
724
545
771
689
960
28
244
112
601
448
304
337
745
593
518
935
770
103
859
826
207
969
218
345
481
520
33
119
766
876
569
489
134
839
712
790
265
601
200
269
186
426
891
790
927
692
3
799
510
279
263
151
374
324
548
577
235
770
928
498
346
999
973
862
324
39
792
472
24
521
600
990
418
583
489
447
86
398
698
627
709
843
923
118
906
128
113
186
873
845
734
874
533
17
737
906
322
182
302
15
343
470
991
321
292
909
91
224
515
928
810
119
548
123
444
870
717
870
823
623
723
314
132
32
657
572
674
374
547
754
264
343
379
525
722
575
503
498
373
18
471
711
541
368
674
784
774
685
550
149
957
177
791
897
506
881
695
393
558
634
765
779
466
320
708
898
896
788
219
952
546
306
353
446
831
614
778
547
863
896
964
44
737
53
159
493
417
680
71
979
502
59
303
164
751
290
932
941
556
412
98
35
453
5
122
414
372
268
434
151
579
61
575
739
141
691
631
456
328
528
709
531
587
658
501
287
549
875
551
386
133
272
562
576
918
576
988
36
858
165
175
572
864
377
543
390
970
347
626
126
575
91
331
142
745
972
422
836
667
19
74
849
131
760
316
619
345
382
327
682
489
80
834
487
147
354
315
256
171
916
327
605
592
580
15
227
887
203
811
906
322
278
381
571
76
290
117
832
566
296
865
733
731
495
120
990
5
734
612
61
397
6
73
789
383
992
990
207
283
611
302
334
431
368
342
416
705
998
797
156
941
554
100
888
316
604
456
559
76
653
665
624
830
264
6
641
250
580
693
449
192
144
876
290
142
956
677
124
411
688
534
711
704
863
983
724
500
580
59
270
219
70
713
725
245
953
967
724
761
593
68
446
742
328
569
123
624
705
73
799
932
35
369
947
564
758
838
509
566
90
273
264
921
428
733
233
328
776
641
977
977
254
118
251
58
409
431
447
103
570
546
663
294
38
979
49
553
208
549
255
578
53
156
463
966
578
433
471
246
948
953
744
926
993
709
166
647
733
733
482
146
339
58
52
7
714
697
590
125
472
975
34
390
653
307
535
340
944
494
847
461
528
712
53
324
926
618
672
22
389
425
648
199
427
378
658
504
52
783
433
504
206
638
534
895
606
953
111
395
945
54
717
799
987
508
142
551
587
838
615
585
98
844
403
370
924
201
34
833
215
944
887
280
821
639
869
537
669
281
249
257
662
452
512
768
38
859
240
875
912
128
644
757
344
673
335
472
883
505
334
602
986
105
108
265
85
845
640
59
404
21
152
492
758
214
112
123
711
600
593
922
469
815
888
356
768
147
502
301
869
174
315
169
469
427
752
583
984
309
243
511
190
280
131
14
646
293
461
685
674
538
745
403
937
848
900
229
804
514
24
177
749
854
580
85
42
583
882
26
825
947
430
507
486
623
825
245
910
561
446
410
812
340
63
88
843
94
834
131
564
740
922
729
738
75
80
790
555
272
115
646
597
469
117
726
345
406
662
529
971
542
18
704
54
682
519
28
536
898
882
854
981
470
213
932
695
606
855
547
780
994
33
610
572
552
444
667
173
363
578
793
9
409
558
989
441
642
714
26
426
877
960
608
191
231
244
390
662
81
38
643
114
69
829
294
165
268
85
660
746
432
982
454
130
218
507
526
460
349
162
369
460
977
640
651
174
897
289
876
662
851
95
827
524
908
217
632
39
762
808
111
471
847
973
587
783
397
235
475
611
876
813
791
855
772
339
169
642
390
387
117
742
107
326
4
751
533
578
718
461
174
285
16
898
462
802
329
434
491
160
220
239
386
832
706
83
15
747
404
174
645
432
827
265
241
615
174
762
347
370
653
912
823
148
709
484
340
594
544
483
142
125
929
605
528
632
674
96
446
517
36
606
810
518
999
457
462
418
631
443
155
778
639
939
629
303
874
603
583
306
736
428
339
18
378
212
82
147
131
811
833
197
811
669
713
524
436
199
655
21
398
559
435
619
337
262
789
487
791
814
417
950
205
293
897
642
14
382
855
363
359
843
286
417
425
875
562
959
539
69
503
27
924
945
860
491
456
135
707
80
850
367
524
55
462
289
204
840
273
78
824
95
708
484
797
320
647
655
907
51
344
643
845
113
26
961
63
184
608
946
169
160
299
970
625
385
889
737
206
868
149
984
537
17
77
934
52
248
706
747
849
90
806
31
295
16
80
193
665
326
406
77
771
819
252
802
313
902
649
236
647
13
11
823
753
938
628
784
475
679
916
836
493
15
338
673
100
791
463
401
539
289
808
12
592
715
943
774
136
983
850
82
561
466
669
941
341
332
766
748
534
408
557
437
664
259
594
389
263
301
248
718
333
344
721
690
127
888
232
42
931
888
953
936
7
449
692
124
423
118
362
642
292
985
8
36
856
836
508
662
898
965
143
104
244
62
848
112
457
818
360
768
405
472
435
745
61
581
977
678
770
683
225
618
208
394
121
478
447
685
578
194
852
757
686
43
32
969
783
201
682
731
950
137
969
155
699
908
54
502
563
754
451
166
825
644
190
995
856
603
153
259
403
688
563
454
686
495
294
448
368
902
592
164
268
617
822
133
237
700
62
747
703
921
724
983
269
235
895
704
160
132
739
367
469
904
180
129
918
95
986
892
281
546
599
770
724
470
283
850
39
935
645
866
177
994
183
606
524
436
281
427
94
811
975
262
186
942
922
901
59
605
190
110
893
451
910
381
625
519
375
706
255
887
838
796
862
105
155
592
888
52
410
747
216
793
843
986
173
794
697
931
889
612
137
977
364
779
955
315
187
156
656
31
107
462
386
484
547
32
341
861
718
131
501
857
209
276
997
959
794
132
963
671
727
478
477
339
990
645
65
936
781
610
302
294
48
612
238
761
4
775
720
224
400
693
228
746
762
394
472
818
944
357
842
359
124
544
798
166
803
473
395
466
447
453
445
574
175
9
282
458
302
376
684
161
575
715
274
633
700
352
638
511
87
890
486
765
810
575
401
956
421
598
107
41
639
369
748
273
890
959
337
785
376
999
443
850
612
360
133
650
362
814
413
634
541
716
692
191
880
465
312
388
144
129
791
23
238
164
245
80
810
574
393
949
846
253
663
447
329
457
161
777
234
543
717
27
13
179
765
718
242
182
563
224
303
52
143
558
805
27
420
193
929
191
98
26
78
769
367
609
971
235
877
31
826
285
181
609
387
25
630
701
305
974
704
463
862
586
895
390
82
47
542
778
30
41
498
86
511
23
78
279
430
306
517
893
803
910
106
474
759
698
200
515
925
815
578
747
262
789
986
911
752
971
246
690
344
163
26
561
215
412
213
710
723
892
835
999
366
796
672
228
722
880
989
556
594
106
341
11
522
419
996
482
441
219
368
435
461
583
742
873
716
579
732
743
709
309
152
71
878
472
392
582
906
289
976
486
885
628
729
385
589
34
817
985
971
148
29
389
496
723
821
297
57
990
32
339
70
698
663
103
750
500
824
192
760
720
719
730
144
737
585
354
933
352
581
634
872
563
963
260
492
74
296
94
121
757
91
354
528
7
983
797
567
618
527
750
591
343
719
223
431
818
624
153
398
859
839
36
129
479
105
809
89
118
42
874
194
713
866
568
325
222
954
241
465
122
270
325
847
241
36
407
714
986
454
426
302
662
984
500
190
135
422
812
430
490
17
222
785
740
938
964
939
848
691
855
770
509
490
952
657
208
150
478
308
32
851
128
782
597
933
596
223
256
997
274
325
403
753
571
693
341
404
258
66
641
892
563
866
362
997
478
614
793
80
886
574
627
274
677
395
586
47
967
616
568
361
903
661
315
96
321
322
466
27
671
839
589
379
237
337
488
937
645
813
592
744
76
855
771
638
360
967
241
314
383
739
555
74
815
61
848
191
214
252
590
632
967
299
146
910
377
336
305
998
439
137
793
574
491
670
492
336
983
689
724
774
57
941
480
564
508
800
954
723
954
54
33
746
721
126
707
225
47
223
482
865
673
791
970
382
815
159
800
506
775
470
851
192
200
810
640
204
76
963
340
410
81
360
541
498
856
606
348
348
59
441
824
933
835
91
128
475
473
773
881
554
544
531
450
989
834
675
881
649
671
855
131
737
92
174
107
765
416
858
799
142
408
646
411
261
174
498
994
16
375
216
552
924
80
256
965
419
849
366
366
415
224
664
792
948
810
449
46
563
596
307
684
106
956
87
988
782
43
906
564
638
919
640
960
118
802
292
315
991
312
210
578
715
407
373
299
285
14
895
324
698
20
406
994
431
367
238
596
761
488
176
894
313
228
83
533
969
671
894
1000
153
31
295
592
543
852
920
551
476
303
54
130
657
271
614
826
301
293
676
468
503
91
924
147
462
657
167
178
157
336
526
456
212
359
969
580
5
613
607
48
477
221
611
703
757
667
612
356
441
805
210
161
309
60
556
887
322
536
35
732
981
541
711
662
513
257
598
581
900
886
766
801
458
631
967
403
538
289
787
81
924
81
262
944
687
569
556
618
557
165
547
664
385
775
124
998
869
602
570
508
558
972
665
507
45
336
52
44
409
263
945
291
220
338
498
440
808
349
18
583
126
65
722
23
219
181
950
350
233
750
547
411
920
494
672
968
805
948
394
462
546
284
292
805
498
19
707
509
215
531
436
809
392
472
428
639
766
703
471
465
626
339
976
995
869
860
667
755
993
13
438
344
32
397
655
953
177
227
929
388
781
734
741
393
495
87
326
574
514
494
926
562
317
355
838
377
818
986
701
132
534
385
111
300
260
25
956
804
729
406
838
77
915
405
582
56
956
70
64
821
168
564
602
182
246
439
655
101
540
252
907
223
263
844
640
193
571
246
934
652
733
282
371
980
24
416
866
930
549
288
716
253
931
691
184
303
702
445
748
401
251
726
662
430
420
969
621
710
155
322
122
742
170
43
604
789
216
898
544
605
411
814
477
829
16
569
358
686
249
251
736
712
943
627
1000
103
382
262
333
189
194
478
68
257
981
772
890
623
264
333
646
422
408
673
604
34
423
209
652
490
905
822
294
435
968
38
270
460
657
519
308
693
258
930
809
545
868
139
230
418
807
899
568
16
750
836
609
591
952
601
543
126
567
512
160
947
869
877
48
753
122
451
150
338
949
162
595
605
342
326
909
561
814
57
608
112
854
473
701
402
484
608
799
360
688
630
387
869
468
108
299
690
511
558
597
864
802
457
864
813
28
220
373
780
290
391
751
568
456
444
480
753
490
124
81
675
204
248
846
570
192
210
787
103
157
250
844
464
421
674
462
907
217
843
362
279
232
705
705
669
981
51
877
761
810
479
792
874
708
258
987
938
661
893
739
865
978
218
107
856
885
273
120
219
666
35
283
132
840
355
192
670
152
32
346
78
671
88
171
936
885
686
838
389
518
61
751
62
719
60
440
613
386
599
178
153
651
396
850
911
973
846
475
591
857
809
311
838
954
356
649
123
177
247
263
128
515
29
955
411
439
146
807
731
127
409
555
920
266
461
954
585
858
672
154
263
262
986
852
860
721
833
442
341
720
158
466
666
845
991
424
926
253
749
394
461
468
645
975
518
981
141
799
647
48
404
195
615
176
94
653
94
980
615
401
738
515
195
746
579
722
733
839
842
318
410
177
380
322
470
442
963
435
407
281
509
629
36
219
227
666
589
190
325
708
999
112
567
856
5
501
524
219
600
397
779
74
562
744
719
798
541
960
771
496
221
615
136
680
568
38
118
918
102
176
123
120
384
242
291
9
664
486
496
348
713
971
167
734
404
358
936
98
540
511
689
559
725
219
937
979
855
441
791
355
929
254
41
194
429
142
937
135
488
312
350
391
431
524
906
23
21
275
541
665
949
275
678
97
672
841
897
961
694
230
528
1000
787
936
66
434
449
690
705
469
88
209
553
490
72
769
295
164
758
313
174
572
84
104
141
463
114
939
973
929
163
506
934
90
804
799
321
896
77
394
825
747
688
22
204
471
875
80
193
124
838
667
927
176
367
248
409
945
332
312
722
506
215
206
728
940
769
925
12
459
159
740
660
882
677
473
296
935
216
652
443
94
240
979
921
7
860
328
469
63
25
979
197
351
517
888
792
56
628
594
630
342
915
787
67
891
420
662
226
585
78
915
538
238
816
654
132
914
38
556
947
124
743
311
82
110
544
767
462
504
233
228
404
875
334
21
998
71
322
824
558
814
760
192
541
676
666
428
462
465
821
215
338
23
570
408
75
629
915
3
70
519
338
580
994
522
837
451
362
427
132
332
39
533
848
612
254
724
758
184
71
589
852
376
490
295
61
730
535
407
985
234
743
371
844
181
449
150
170
956
128
349
506
953
856
258
430
271
637
386
803
20
946
470
24
877
333
414
425
977
359
308
691
366
441
481
299
27
402
550
566
886
683
537
815
353
156
442
560
642
477
90
374
569
728
697
258
544
861
351
960
218
131
520
634
606
256
783
646
526
523
206
144
911
436
178
205
850
801
57
977
237
306
679
278
560
789
656
533
663
364
368
739
275
499
758
429
748
955
339
214
687
216
318
563
118
679
375
908
424
389
426
65
520
572
651
182
645
556
177
165
707
910
76
542
345
820
726
288
714
770
203
973
566
575
70
924
359
689
822
800
964
507
312
76
63
56
646
482
455
87
430
331
311
76
733
41
889
45
823
866
333
447
538
25
955
576
152
928
852
86
730
208
780
253
241
591
963
540
187
423
928
892
67
852
488
927
799
236
755
856
104
351
383
537
974
354
326
535
531
272
30
440
5
975
354
992
95
237
500
730
669
477
869
15
624
219
111
251
733
140
559
56
483
800
872
941
230
823
21
803
469
311
634
128
675
768
348
372
938
655
46
421
598
959
770
354
159
872
633
40
50
711
319
204
196
738
580
704
972
419
701
720
798
952
70
437
566
634
852
587
103
710
233
918
79
903
879
239
154
728
58
219
620
40
330
505
506
993
840
57
929
752
29
811
434
815
1
926
230
813
900
888
523
965
356
704
559
183
514
254
656
959
171
628
219
780
297
947
662
788
578
716
261
803
620
241
153
633
199
27
120
796
214
344
315
389
41
360
811
884
634
318
675
22
5
257
333
839
715
687
108
81
595
418
168
917
230
510
611
906
642
905
16
637
214
862
614
329
150
733
178
926
652
2
828
935
571
724
209
306
494
692
937
160
106
724
756
56
199
408
612
802
864
563
706
510
275
439
651
722
949
354
60
934
508
113
236
806
826
5
156
641
846
623
605
479
528
55
153
290
143
211
629
314
552
200
908
519
228
685
92
560
512
110
652
361
981
512
668
613
899
420
95
108
409
976
884
749
511
991
870
549
898
136
577
662
396
813
451
757
114
579
620
612
387
159
938
861
259
193
939
231
566
862
367
458
632
466
73
284
228
813
421
615
709
36
829
945
188
59
696
619
194
484
765
383
506
104
924
910
757
607
551
710
971
278
778
867
400
670
455
585
909
298
179
375
675
354
492
45
168
360
220
357
199
409
988
332
346
405
131
679
183
239
593
802
602
401
904
117
918
910
4
187
629
760
498
314
443
321
924
781
626
255
738
893
839
524
16
339
337
56
334
153
855
429
884
744
511
732
643
33
836
392
345
745
344
348
72
264
146
408
505
314
750
13
280
876
552
920
423
420
531
497
553
508
270
453
371
281
794
770
14
168
635
594
959
376
174
588
552
397
599
24
657
794
720
486
618
994
517
620
465
694
504
788
285
729
921
842
771
948
308
495
213
733
252
904
646
253
944
177
409
480
739
468
117
271
64
215
946
531
900
850
160
596
524
23
4
484
364
963
468
597
649
99
911
789
963
508
228
442
966
26
50
364
318
129
454
844
251
787
801
179
367
540
623
345
957
5
891
246
533
839
660
175
372
967
808
674
509
526
509
994
78
556
180
735
849
936
842
64
543
442
246
97
834
96
650
659
932
158
827
664
314
228
753
751
468
908
433
693
481
401
483
286
927
240
417
111
790
57
81
591
91
931
292
218
472
409
549
723
251
703
634
187
354
948
6
799
88
639
199
50
947
538
793
612
510
400
157
89
997
850
865
92
286
617
575
813
963
118
224
401
550
72
561
933
135
448
429
721
511
512
701
32
331
187
437
24
953
245
688
841
407
65
303
399
355
839
286
297
8
121
506
705
708
578
25
815
287
640
926
628
375
501
268
449
544
588
728
423
556
172
554
862
986
292
693
910
212
512
347
290
74
343
741
509
513
335
600
909
160
966
689
368
145
428
768
308
365
350
499
897
71
305
168
967
919
660
537
243
557
986
833
925
408
741
617
514
568
427
257
79
636
732
851
805
841
448
657
760
69
97
566
317
242
291
679
536
54
793
816
139
222
154
657
413
284
574
250
469
455
325
850
850
200
677
371
345
8
780
282
274
308
351
430
173
594
344
84
15
594
1
508
615
770
805
487
843
514
912
520
631
147
559
861
524
258
799
188
718
941
685
433
78
241
668
241
667
461
539
594
661
35
740
361
369
347
233
933
252
198
398
646
481
665
633
383
560
700
432
612
1
160
705
141
841
913
33
1000
54
279
352
247
538
368
304
910
429
777
94
966
926
734
263
28
694
993
199
363
191
721
571
973
904
130
135
736
610
884
488
23
232
122
462
772
766
512
782
750
65
913
509
596
965
67
587
323
354
239
469
92
297
889
447
511
289
240
762
145
990
114
29
644
584
484
788
704
16
10
252
55
931
233
425
805
92
198
813
782
414
44
893
941
528
460
350
528
956
22
843
443
584
85
737
175
68
317
785
749
260
972
236
352
477
690
216
714
708
940
507
831
421
243
69
352
676
946
707
778
669
626
337
657
671
187
169
116
556
319
989
395
764
268
399
536
598
814
545
17
207
917
377
907
473
780
918
79
295
934
407
116
431
545
385
817
149
346
995
610
429
468
810
782
341
968
495
146
541
54
468
656
534
825
527
537
441
865
101
673
577
150
375
394
17
586
46
258
713
903
884
151
415
809
575
810
841
35
575
880
54
381
789
747
993
935
976
672
433
385
686
226
469
780
395
601
751
96
272
170
290
745
644
545
678
490
826
507
902
269
431
371
792
138
668
755
308
844
419
273
507
570
70
356
52
36
192
267
532
436
146
402
729
685
611
115
164
46
858
643
949
497
297
203
969
133
479
924
932
486
239
141
643
899
147
450
154
972
751
100
115
702
358
514
727
90
282
160
189
941
517
594
437
18
803
185
263
992
913
955
607
384
770
1
951
262
727
150
230
555
893
888
639
699
939
74
23
765
205
664
277
347
243
454
349
295
170
869
966
759
336
926
174
155
811
833
145
374
204
96
481
976
103
641
404
169
244
218
824
76
120
252
255
185
363
403
946
893
665
322
394
739
397
476
630
263
387
461
251
433
474
910
225
226
604
987
899
259
179
445
496
338
340
401
595
408
638
318
759
678
296
145
531
602
883
228
442
28
760
379
580
34
108
441
520
906
679
819
83
247
686
670
495
439
395
894
997
542
52
640
843
255
768
746
942
729
824
467
102
877
699
836
937
326
768
249
38
297
253
189
911
516
475
527
553
722
915
532
241
465
861
486
266
662
679
858
916
811
853
64
939
851
982
172
94
427
875
350
184
679
711
453
113
778
3
923
112
115
773
88
267
449
883
15
862
312
972
310
881
697
808
658
179
361
169
399
498
85
531
200
469
897
976
669
222
545
704
834
8
511
466
519
522
444
44
40
227
184
633
50
46
495
594
78
254
189
607
32
243
586
685
935
134
176
838
242
853
856
477
361
407
396
757
423
552
613
172
895
963
268
646
410
313
919
283
23
360
745
698
176
285
918
554
865
20
193
523
814
232
249
410
32
990
733
564
742
837
121
40
548
180
258
186
634
425
886
475
986
268
575
407
856
904
180
290
207
689
391
521
420
971
984
767
350
384
86
93
730
887
170
660
964
238
488
78
642
372
368
905
433
386
110
30
601
424
246
902
79
800
549
662
872
100
519
215
600
850
5
230
150
580
281
828
722
747
133
489
54
43
488
296
228
62
675
201
276
175
673
422
736
728
596
439
413
344
230
310
895
218
654
175
741
755
837
917
878
816
644
882
459
131
870
466
311
151
743
159
169
714
865
325
61
435
680
588
610
650
388
223
484
69
691
333
920
51
866
922
76
544
448
218
935
283
237
688
626
819
438
260
317
285
482
198
304
597
488
905
498
968
381
728
298
170
396
450
742
998
75
752
918
773
882
402
824
508
261
292
293
607
293
738
95
539
100
658
71
971
808
329
976
277
187
428
755
160
56
2
112
359
140
776
575
81
390
986
745
825
658
524
40
737
253
717
49
499
128
525
564
19
351
263
453
865
101
239
811
485
587
831
233
720
239
615
651
34
967
118
871
171
542
652
876
672
931
479
972
775
961
234
69
782
818
151
746
856
703
119
262
580
423
32
326
330
839
189
299
676
848
744
447
553
19
324
23
927
110
970
247
27
398
510
695
997
214
301
220
988
88
54
296
304
639
94
580
193
735
6
585
282
450
55
560
448
38
169
85
130
501
566
423
688
299
283
367
475
418
964
189
644
333
284
292
628
332
285
360
409
332
712
98
353
569
190
159
463
489
660
481
326
749
87
49
925
498
861
60
719
1000
656
557
126
228
791
878
567
255
290
672
765
181
880
822
863
817
186
329
229
551
217
119
545
682
57
759
853
963
345
290
798
290
732
717
188
242
23
225
362
691
102
863
575
772
57
244
756
318
175
807
566
292
564
323
602
822
218
605
5
210
299
857
467
690
216
695
811
753
881
604
920
589
152
582
768
559
54
719
694
648
840
757
875
517
336
13
163
137
293
637
47
958
671
829
544
248
873
544
233
518
947
187
495
938
707
990
237
257
496
89
51
29
109
784
799
866
934
125
55
46
996
740
742
48
959
783
524
473
533
995
227
398
969
98
624
400
497
217
420
371
612
541
166
772
109
214
122
164
634
295
820
676
300
713
166
597
633
296
460
398
669
343
628
331
588
713
309
192
613
66
148
985
278
726
832
967
366
604
925
18
940
779
531
363
945
607
177
415
800
683
77
906
222
604
113
554
324
216
455
209
635
978
732
798
313
119
52
426
253
521
989
666
193
638
847
410
202
303
125
661
127
986
150
289
675
900
228
83
805
396
555
413
29
233
307
409
24
638
29
878
693
558
446
78
427
154
323
91
885
347
825
759
8
212
123
70
375
111
668
428
246
704
618
454
775
415
419
854
997
504
416
408
106
606
685
302
477
519
974
905
618
33
766
553
982
826
984
71
117
770
805
573
187
549
363
556
265
113
868
393
142
358
813
150
612
374
504
61
329
750
80
83
342
738
582
727
406
486
381
725
961
205
464
196
470
854
647
645
432
884
799
544
988
626
514
234
482
159
512
608
736
875
244
342
80
501
765
456
367
37
3
652
309
938
953
146
467
857
151
729
141
459
43
370
227
128
503
969
833
868
788
818
67
355
710
886
950
858
630
326
857
744
192
467
233
328
343
162
571
160
314
527
829
202
706
17
506
948
704
295
584
288
776
539
417
760
911
669
427
928
536
488
191
787
825
854
49
468
993
852
919
36
522
349
389
816
12
498
472
547
473
471
653
605
445
192
960
700
289
892
858
740
345
74
674
998
428
882
140
332
331
912
377
974
536
228
310
304
392
728
68
125
350
16
408
177
688
619
562
999
349
762
221
821
141
857
519
849
553
571
32
167
880
603
770
488
180
296
64
174
826
814
73
237
55
903
366
552
979
180
631
120
968
496
140
25
198
161
20
695
398
708
723
140
540
472
367
163
278
419
742
899
434
588
898
657
733
4
147
741
273
103
224
845
960
577
147
621
193
22
968
257
679
920
254
234
111
328
605
959
832
71
945
626
316
394
632
492
451
778
669
736
163
83
409
202
877
257
195
622
671
601
320
369
753
985
534
394
76
463
81
763
463
471
920
129
642
125
331
546
948
215
602
282
278
129
866
638
78
310
422
368
763
844
121
960
990
403
417
921
627
130
773
191
92
955
947
23
995
507
566
937
631
29
68
899
942
664
743
450
31
45
161
361
152
392
667
300
395
213
29
118
944
259
527
639
876
611
977
219
962
636
218
956
821
101
587
147
74
875
768
457
877
550
203
348
287
744
931
482
478
60
339
188
723
441
791
585
392
158
522
631
972
768
516
186
249
168
284
155
342
308
601
934
238
206
312
653
850
669
224
168
381
511
986
373
956
141
588
139
71
75
789
139
387
348
337
864
807
771
332
382
567
719
439
780
277
436
987
758
471
862
124
575
243
626
356
358
955
179
756
849
885
983
70
789
848
302
747
494
541
442
658
646
374
173
879
951
6
714
473
142
697
862
634
713
828
771
903
910
636
453
423
748
278
270
379
258
858
570
796
717
901
148
892
389
99
390
17
136
847
816
25
357
201
208
610
877
397
688
729
776
42
907
745
661
353
978
340
559
631
894
560
418
236
986
563
200
939
348
808
680
444
328
420
365
255
853
425
385
825
813
407
829
125
762
880
750
307
925
326
1000
175
853
437
94
542
121
553
583
358
127
675
766
718
399
722
122
441
823
888
568
978
841
55
462
774
984
226
323
113
92
843
391
638
148
693
468
459
983
800
983
738
11
361
837
177
747
291
407
622
131
415
8
332
544
663
235
91
11
897
880
456
249
170
503
899
141
248
354
519
706
240
48
285
835
35
276
481
914
48
908
150
933
449
26
847
842
666
770
921
724
460
417
919
835
250
773
403
640
731
769
641
821
14
159
178
583
654
331
244
769
988
555
340
947
123
427
90
113
774
895
631
674
912
979
417
88
820
268
260
934
765
299
880
198
917
193
976
241
564
295
99
266
941
101
180
105
185
483
603
769
41
42
137
554
912
461
877
428
805
889
581
80
514
713
423
243
96
547
272
887
360
925
7
446
585
957
300
473
167
175
528
67
195
891
181
918
265
656
181
82
955
826
67
440
479
826
836
332
2
408
593
50
989
130
814
692
713
275
185
405
798
683
481
179
210
267
864
165
652
564
344
967
730
275
855
464
537
615
562
511
589
273
555
301
109
886
61
237
737
279
645
958
679
121
668
508
132
281
418
753
611
938
949
819
438
385
606
730
242
584
667
434
766
720
267
103
695
422
47
916
459
850
528
551
199
533
264
257
158
733
242
676
767
87
835
572
627
476
846
228
361
375
837
558
95
429
982
915
897
643
134
171
80
358
685
880
706
128
30
247
953
750
172
190
318
930
30
991
716
491
555
898
675
634
627
581
743
451
4
531
141
806
311
308
463
745
187
74
922
768
188
980
236
688
16
783
762
294
933
548
890
704
12
412
18
126
957
142
680
729
838
689
492
447
998
998
645
860
792
109
617
711
541
964
593
271
326
400
880
470
754
555
230
681
883
216
574
99
857
756
134
871
594
911
256
561
113
36
601
37
659
470
524
598
847
270
564
993
435
919
969
10
192
540
107
488
562
810
418
897
467
10
284
166
644
608
840
23
373
345
256
936
315
59
511
694
439
361
959
758
727
868
319
785
377
881
817
144
762
289
313
825
282
5
217
859
517
425
853
270
862
229
749
616
870
358
996
373
100
149
439
780
170
408
952
280
45
686
469
337
357
126
753
265
651
46
123
667
63
840
471
226
834
877
944
879
483
842
620
862
181
320
337
725
90
549
595
150
984
918
122
374
470
211
255
36
524
590
749
554
846
13
33
478
776
124
192
842
78
636
165
230
977
897
739
107
207
626
916
20
709
780
174
393
818
135
906
14
444
432
97
749
806
887
906
702
716
449
347
780
311
431
721
623
347
60
800
938
904
24
7
539
401
342
1000
824
298
725
154
990
804
151
374
16
155
533
588
344
785
232
25
201
783
639
105
757
585
209
330
616
764
150
110
678
90
422
836
89
832
835
855
789
333
802
195
177
538
749
63
540
24
261
120
183
507
811
534
658
547
289
611
77
340
658
604
286
94
716
923
568
455
375
564
633
852
857
30
879
428
912
411
299
442
486
565
959
627
291
539
647
17
349
476
186
191
921
234
888
695
178
889
802
658
604
81
755
265
400
905
617
785
73
662
927
332
21
342
744
378
136
137
583
332
366
633
387
156
756
591
738
81
647
388
954
977
663
244
261
810
566
354
6
960
308
902
704
825
404
751
822
307
266
248
351
253
308
239
593
881
396
846
125
530
733
992
513
835
359
974
250
554
235
616
297
841
315
633
810
699
95
917
882
735
887
365
601
91
454
730
337
602
717
731
915
838
940
321
258
631
206
566
171
141
977
89
152
267
263
374
504
444
239
556
592
477
141
474
737
71
959
890
164
171
706
769
364
13
52
439
461
85
708
238
444
788
239
26
660
672
892
522
548
566
664
986
441
802
27
221
160
964
675
180
277
331
192
757
162
201
756
484
346
823
896
919
319
533
792
490
612
992
859
456
886
151
140
390
819
655
554
331
750
951
215
312
434
251
812
495
737
877
531
563
799
223
111
297
993
732
420
549
19
822
341
895
569
669
882
330
345
120
157
280
611
749
271
75
91
299
241
773
808
275
767
883
324
503
47
114
976
806
866
730
882
811
876
504
932
41
307
508
460
133
358
208
59
982
182
409
801
72
661
594
185
77
156
144
253
61
30
705
698
238
21
719
217
323
472
749
24
941
35
778
252
453
674
96
860
803
753
731
856
674
488
663
821
342
313
171
200
69
560
796
384
820
368
308
317
336
947
5
280
361
146
413
539
876
782
176
722
767
320
511
186
248
342
115
116
696
661
810
774
313
93
547
158
149
676
599
281
598
531
912
450
420
689
612
209
698
925
607
29
952
67
95
499
746
276
498
465
763
558
57
535
280
77
844
415
376
937
451
780
28
714
982
777
418
427
266
795
434
581
392
837
331
595
781
683
966
244
2
63
853
679
452
200
504
243
848
429
204
565
184
78
369
347
455
419
155
854
972
314
785
364
545
108
396
739
146
448
826
827
941
956
890
645
711
104
154
134
782
223
130
833
525
305
95
986
404
134
481
438
292
346
848
196
511
202
27
637
619
222
891
209
488
341
605
903
621
905
876
898
980
678
948
570
812
974
561
495
95
198
112
137
268
368
589
710
837
614
616
42
307
296
157
395
652
119
965
856
171
547
882
320
181
903
493
101
440
752
406
892
588
588
689
144
183
340
553
912
86
967
439
896
71
220
72
691
512
697
858
242
942
462
293
109
68
842
637
436
565
485
210
450
601
404
83
899
578
533
833
98
14
247
280
144
849
450
820
423
697
41
32
765
747
32
727
434
69
146
539
720
53
461
393
42
608
552
960
341
507
615
285
9
979
295
296
800
233
241
847
913
118
975
272
974
515
294
145
711
394
280
141
918
679
938
370
744
203
662
587
411
60
984
995
245
619
544
148
268
296
793
640
700
951
733
841
394
431
904
936
639
334
895
913
764
578
910
956
679
700
273
893
812
115
351
992
923
764
13
368
908
661
648
753
18
866
764
163
904
323
336
261
484
804
435
855
948
948
127
16
121
995
257
780
9
358
573
216
594
609
539
981
850
833
336
89
516
509
781
756
370
301
347
643
619
134
6
736
559
993
369
373
838
669
492
678
487
543
733
733
399
133
274
380
67
770
266
427
233
235
62
417
522
640
683
809
306
117
486
601
781
131
965
956
694
345
796
359
254
5
478
202
481
766
417
444
690
711
876
198
820
88
4
657
84
925
37
777
737
300
894
509
833
441
561
205
499
295
96
997
595
422
599
590
649
307
208
915
572
249
29
517
18
31
924
388
156
434
256
203
313
528
3
538
160
360
145
729
102
296
860
473
82
832
863
136
284
98
167
16
112
657
654
458
375
432
111
853
842
774
800
967
188
742
201
24
879
640
313
201
747
738
773
938
822
886
101
571
508
437
582
323
317
462
645
586
227
792
126
812
132
775
450
14
50
17
609
66
467
543
794
519
664
978
663
622
968
373
535
579
585
250
247
890
122
273
7
730
914
725
357
980
27
620
267
448
159
860
444
266
708
292
216
205
926
947
675
893
467
972
363
518
590
11
454
621
955
854
247
18
262
195
818
707
925
241
796
870
632
752
632
732
880
773
130
59
539
10
705
568
74
273
596
379
319
909
230
888
559
450
28
150
298
991
200
914
248
950
529
969
982
943
674
321
205
483
279
63
796
65
68
472
599
32
133
11
446
265
830
408
52
360
53
927
230
463
176
281
321
327
612
366
899
497
760
139
532
732
117
533
876
908
431
243
415
691
103
577
938
207
469
360
254
768
220
32
669
502
952
676
505
364
799
700
291
583
133
284
287
93
585
526
690
832
988
401
212
135
440
278
715
582
321
763
245
810
16
57
100
771
67
843
571
845
665
970
569
20
703
847
663
100
123
489
979
491
887
650
4
710
723
313
562
131
748
93
188
906
156
781
609
186
445
335
338
989
60
132
181
74
910
159
59
201
950
163
667
998
905
438
381
478
254
98
288
904
798
158
395
332
487
697
857
650
699
701
545
335
822
929
400
497
842
286
779
957
575
739
456
288
375
771
17
739
391
731
138
930
939
218
645
48
129
793
298
31
678
917
987
882
729
991
360
824
595
775
968
492
577
260
674
722
368
269
421
788
137
708
457
136
50
359
749
767
870
579
660
396
277
74
891
472
711
172
341
916
891
656
808
195
616
271
376
944
111
476
946
926
963
888
595
516
659
114
371
287
814
365
664
492
479
310
547
434
307
141
307
757
939
684
961
665
712
729
694
985
670
421
40
728
902
710
75
552
436
336
91
64
274
790
999
475
664
997
190
468
373
223
692
491
550
839
257
919
760
150
431
623
877
427
755
554
874
658
1000
877
928
317
727
35
920
599
546
897
157
173
125
781
39
489
432
722
506
70
641
835
302
17
912
989
502
168
498
310
272
977
714
201
548
165
900
695
173
674
849
931
32
227
113
481
920
100
257
58
165
298
365
856
549
428
85
420
685
983
38
459
795
638
715
476
820
424
851
423
850
310
844
855
162
837
996
207
570
894
224
900
333
657
426
941
650
7
864
570
607
433
760
291
530
558
815
316
862
942
508
57
61
743
828
787
522
150
579
22
193
227
503
490
377
992
263
762
212
49
734
763
424
111
171
427
287
58
552
665
127
999
806
716
354
931
683
660
740
218
758
549
599
69
415
206
586
611
699
156
71
930
595
602
438
700
654
587
180
587
851
716
395
678
252
880
110
579
352
458
899
684
904
359
415
338
716
100
788
275
129
825
315
755
863
821
525
285
474
603
460
682
933
84
8
483
744
711
188
420
561
697
588
715
490
608
539
494
133
699
212
451
969
286
550
265
818
399
814
913
30
678
601
186
479
217
363
216
635
632
823
742
793
154
207
189
968
926
850
380
154
44
607
805
342
73
424
990
201
910
611
399
364
902
628
716
40
72
648
96
57
149
769
166
510
852
512
126
906
552
168
314
59
987
601
953
26
183
395
651
65
130
577
390
911
11
705
374
698
32
836
132
480
927
694
675
632
286
426
374
363
725
458
426
208
732
316
453
642
782
756
814
874
897
155
671
510
406
964
718
977
73
917
745
537
116
829
894
253
912
82
546
517
321
290
253
580
634
237
56
99
149
898
791
849
215
246
725
653
409
592
972
6
184
395
640
85
927
861
614
620
873
131
199
550
737
549
576
556
234
319
203
284
880
837
798
569
610
137
546
994
780
159
498
925
39
21
929
529
455
77
575
355
979
289
276
777
36
390
515
953
564
358
769
8
338
985
355
817
740
677
694
100
477
206
508
552
909
787
502
382
755
763
490
930
946
143
783
22
326
446
865
316
683
601
64
194
353
162
940
683
244
702
607
461
670
74
30
293
839
162
648
89
168
848
328
387
870
200
730
251
405
288
692
450
472
612
76
324
171
878
893
906
858
715
162
740
6
992
125
300
61
583
931
91
896
798
837
316
960
190
312
451
644
133
169
209
682
385
972
128
654
845
566
482
763
811
480
281
116
402
353
883
666
193
307
141
825
765
327
75
523
617
344
761
127
799
670
527
224
711
843
525
733
750
734
501
198
854
990
862
384
552
488
176
521
832
501
877
604
979
697
266
193
561
945
851
39
916
111
710
714
787
702
822
106
278
239
257
311
903
737
701
954
320
484
40
439
275
624
632
968
394
711
459
410
730
475
551
302
385
538
969
267
88
727
150
187
378
899
590
269
890
941
711
997
303
689
231
600
721
48
508
311
586
529
164
157
762
716
731
462
81
969
207
543
473
766
157
309
788
661
483
614
546
808
5
222
146
315
809
215
532
531
688
517
897
485
53
937
775
312
435
832
815
488
53
36
555
76
956
174
803
3
919
869
579
586
647
638
128
151
796
450
226
583
8
30
829
113
439
4
173
447
253
872
543
580
154
624
313
326
309
549
294
586
970
392
98
881
664
570
995
529
93
591
709
90
771
181
692
430
994
850
691
784
959
833
820
728
703
358
957
841
77
223
983
161
153
488
294
210
297
914
40
539
636
465
772
189
815
763
499
458
726
930
704
648
386
641
511
247
232
508
42
100
906
201
960
719
23
759
361
814
503
661
438
498
810
110
825
389
833
857
109
7
203
647
773
462
557
36
748
383
644
859
831
481
176
157
454
896
26
716
679
717
714
650
830
663
108
692
889
939
938
906
627
704
24
583
452
428
65
962
138
646
501
249
911
262
186
135
854
627
597
632
237
36
844
585
154
197
45
672
834
455
479
41
44
266
542
979
333
467
703
199
221
405
560
370
58
865
604
498
981
46
504
650
309
540
536
296
730
385
316
232
868
791
112
657
138
34
844
468
356
398
345
256
180
729
558
807
347
355
153
127
604
644
452
139
384
458
674
255
591
102
210
935
277
158
114
236
616
748
967
56
352
377
73
506
793
477
251
335
523
186
556
874
216
669
932
300
340
542
134
334
66
525
270
652
415
501
954
422
511
577
376
354
854
579
559
576
650
638
695
460
608
196
731
259
51
778
315
23
873
375
793
822
617
103
201
724
940
117
106
351
825
396
686
59
139
132
696
981
604
922
788
215
771
859
227
424
357
947
202
994
172
929
778
684
915
769
38
387
309
528
120
219
429
315
636
682
539
307
474
15
480
601
51
204
438
778
924
329
912
615
27
48
846
376
975
77
179
408
551
436
512
606
939
114
205
457
315
538
985
943
113
888
35
603
669
895
660
433
968
206
800
97
900
783
102
149
785
110
759
572
908
147
62
940
463
87
443
988
629
968
815
141
443
112
167
847
772
165
724
180
969
257
428
228
707
407
169
249
124
858
963
446
587
446
237
462
370
477
485
392
33
826
822
193
533
140
370
838
977
91
21
496
440
603
798
273
464
852
978
804
681
626
145
66
536
327
567
318
184
490
623
3
500
210
555
768
570
255
442
507
166
999
155
476
493
489
27
79
905
127
88
884
425
458
40
780
587
518
573
989
588
20
241
780
743
441
876
348
989
706
445
299
533
755
313
580
776
729
117
476
343
923
861
553
355
903
341
968
113
406
760
666
995
726
214
337
694
296
755
909
857
95
914
521
859
306
874
632
671
408
977
932
759
474
891
184
509
27
536
7
939
202
851
867
365
358
552
223
222
492
326
861
496
16
311
922
56
481
278
66
732
833
692
457
154
659
677
18
215
674
988
484
510
361
278
314
270
330
295
447
110
410
190
227
367
944
735
546
950
29
136
423
380
733
43
754
149
363
555
970
600
982
274
667
292
250
924
53
216
547
660
257
280
87
960
80
202
367
883
813
317
915
599
96
845
709
281
624
833
77
873
693
343
142
761
215
442
67
108
827
204
482
435
171
260
437
72
229
377
184
253
863
170
865
966
331
357
933
143
620
858
762
413
885
680
413
442
149
714
14
829
696
553
495
625
252
917
739
829
152
550
331
604
151
296
156
555
472
589
101
126
950
795
947
75
849
656
385
22
64
623
709
251
910
966
414
348
640
422
367
707
179
535
676
666
280
39
667
812
457
353
628
4
627
724
96
800
303
637
489
243
598
852
860
444
33
846
359
978
324
479
771
905
930
433
157
96
98
338
165
678
568
534
107
603
877
90
203
746
438
57
762
477
144
919
182
372
313
862
815
547
180
797
709
148
998
14
164
684
39
15
856
203
423
292
998
819
790
798
658
716
232
428
861
552
820
82
567
138
304
772
959
382
238
813
725
738
882
346
183
816
707
309
172
409
231
497
588
886
225
560
347
837
4
593
321
836
681
507
502
462
739
483
237
7
221
666
887
855
174
674
680
179
724
661
821
405
281
426
185
902
958
499
11
481
225
231
73
573
188
671
738
433
653
376
183
284
314
423
764
110
992
550
239
718
820
753
79
753
694
703
573
596
94
991
855
447
582
613
203
463
922
31
211
489
751
867
502
813
201
549
656
346
666
213
952
846
168
793
331
80
417
491
707
348
712
772
398
387
283
604
966
496
550
929
206
661
35
228
390
574
336
631
81
692
671
219
54
901
983
48
870
940
475
937
667
462
774
276
587
481
615
922
49
36
42
758
782
58
674
653
109
824
474
354
501
861
812
323
812
855
355
637
937
935
460
862
857
683
276
244
145
362
759
639
83
151
134
369
437
612
126
576
818
241
453
725
307
704
659
605
661
272
347
561
16
74
288
705
454
973
651
565
187
300
847
939
408
202
47
734
27
64
508
237
639
323
217
542
47
10
233
852
596
513
331
991
379
387
186
713
111
525
424
379
68
620
271
119
80
668
453
858
938
202
223
503
992
29
94
122
912
563
937
189
804
199
579
806
880
794
948
386
904
39
112
425
495
384
241
850
140
236
686
940
502
352
827
930
161
677
331
275
463
436
744
954
557
914
106
375
995
214
426
169
537
240
381
636
880
317
601
676
124
129
214
780
667
118
155
85
127
90
865
523
617
548
628
836
346
168
761
599
124
931
278
392
784
646
449
994
950
983
880
770
826
693
351
448
914
370
690
112
638
991
355
578
872
465
253
248
270
600
565
191
124
210
969
465
199
594
737
622
599
213
607
943
310
227
224
187
431
483
188
548
538
647
460
65
796
451
904
958
673
439
303
216
115
160
12
320
57
508
772
139
998
778
871
893
172
67
987
579
527
828
547
391
337
767
366
494
752
770
674
973
33
213
368
876
514
847
472
102
563
417
344
253
950
322
126
716
55
920
292
956
302
508
932
419
42
644
567
485
884
236
896
663
100
704
847
547
334
661
706
113
294
729
907
613
497
533
256
653
413
446
998
59
567
350
144
755
229
556
889
240
346
18
830
147
281
157
864
63
727
926
366
2
905
250
231
906
775
573
880
105
517
91
142
949
14
147
244
688
369
407
774
268
784
692
596
916
280
739
172
254
777
771
641
212
77
455
309
207
122
754
915
877
725
170
152
171
632
138
426
734
401
621
801
359
68
536
359
720
986
247
991
732
546
236
759
666
715
9
505
577
435
463
384
693
990
201
313
164
377
757
138
961
562
294
473
808
272
92
764
693
607
65
101
926
366
643
729
714
405
534
964
911
775
342
476
944
626
485
487
919
92
617
452
551
459
585
238
886
908
958
620
733
65
373
184
369
383
207
344
326
106
636
258
38
224
713
853
694
318
944
70
894
677
752
690
619
392
360
772
565
403
849
837
137
626
603
409
236
352
902
423
530
105
169
297
68
990
255
215
938
386
200
219
176
503
103
293
281
934
92
503
493
837
889
604
472
790
149
282
124
681
573
309
109
216
760
476
993
766
929
104
103
297
909
307
885
87
260
944
970
754
5
393
217
919
171
832
715
433
326
727
96
724
301
618
538
231
576
80
531
335
158
968
807
430
344
647
846
6
451
941
6
692
466
967
655
219
555
832
625
189
574
434
963
325
19
235
185
619
348
940
231
426
252
468
859
84
230
453
489
71
779
817
410
83
635
586
820
652
719
254
377
90
922
447
818
613
376
561
742
477
639
333
817
824
85
36
519
746
823
60
18
739
715
216
973
334
359
982
798
208
464
269
439
454
688
6
826
45
847
10
928
729
366
138
789
719
19
690
998
601
246
384
819
789
832
9
575
751
316
31
964
934
261
3
706
22
446
634
261
700
103
756
426
578
568
236
268
321
88
88
217
293
73
642
123
238
802
672
749
610
415
784
462
165
59
225
875
348
226
485
786
823
622
731
74
205
431
168
100
710
416
842
809
942
157
320
913
508
626
904
501
483
434
745
926
3
331
278
79
432
977
926
997
620
556
871
311
720
554
33
201
945
901
72
375
402
719
381
90
848
131
503
376
817
923
398
454
54
378
265
765
612
274
387
202
299
839
614
869
361
471
644
157
423
136
223
991
779
678
739
880
2
705
482
777
755
344
988
831
404
881
484
823
699
274
443
461
370
560
644
713
944
424
935
71
480
591
118
958
189
232
971
500
127
288
449
531
213
472
546
3
855
704
112
969
368
928
163
874
180
570
893
236
567
380
605
664
250
36
270
811
771
696
281
65
962
610
220
705
204
35
171
803
403
943
139
370
791
435
694
112
716
351
786
698
554
302
32
621
774
218
444
571
954
581
720
748
250
681
701
677
416
612
554
920
969
229
554
529
529
950
106
205
642
126
737
922
661
672
418
193
353
791
462
255
966
930
651
198
403
531
2
451
34
779
759
127
386
280
780
413
668
547
481
582
598
228
894
236
522
259
196
42
155
488
265
624
595
895
461
193
422
198
812
224
816
504
254
751
623
704
354
829
204
422
255
352
739
711
144
661
351
140
685
343
73
551
224
192
209
580
530
557
68
967
23
206
421
792
182
400
271
47
869
62
687
351
807
842
535
214
351
360
892
973
988
130
829
409
698
481
9
115
449
317
277
861
598
684
980
581
897
934
275
98
151
746
102
402
302
383
808
78
859
326
622
512
151
894
334
599
840
523
549
992
479
118
834
380
696
341
923
887
736
690
912
441
700
2
12
889
782
348
33
707
236
323
193
385
563
437
290
951
665
619
497
650
275
882
288
487
45
825
55
201
53
956
24
254
369
812
942
583
503
435
876
186
271
86
143
107
610
964
51
6
352
340
645
306
846
718
121
852
559
562
881
133
493
693
502
364
303
650
18
168
529
206
992
141
226
753
838
355
579
435
726
700
807
786
176
37
771
85
171
338
218
829
178
307
522
510
14
546
122
364
856
949
574
870
67
857
326
565
676
489
809
163
537
285
470
85
172
117
669
203
295
741
181
66
827
508
206
887
987
75
354
306
697
811
90
323
111
640
509
805
535
318
99
665
425
512
380
155
381
595
911
714
295
781
165
449
881
79
237
648
840
532
121
707
798
428
609
431
5
431
427
994
475
127
356
754
907
52
479
702
227
131
587
593
78
339
66
701
894
561
214
689
463
849
77
315
65
717
333
566
292
673
685
327
690
940
502
897
181
175
172
480
72
79
723
307
84
946
826
164
495
594
170
942
954
615
583
266
947
551
976
395
224
422
345
372
701
47
626
805
485
678
141
794
734
820
745
230
950
524
562
116
216
60
350
611
591
629
153
220
567
713
856
914
53
714
672
7
815
773
387
287
701
59
399
255
241
342
195
303
428
375
934
336
562
479
241
636
73
696
131
741
116
108
232
736
574
176
126
617
819
495
667
346
212
947
606
783
853
77
698
942
557
421
768
924
340
655
848
420
995
686
628
922
486
215
898
622
925
894
616
533
935
915
477
530
9
776
620
866
318
984
177
204
82
689
927
365
233
570
224
803
584
831
706
269
158
803
22
275
624
525
991
727
14
584
107
528
48
713
316
61
386
878
319
193
121
55
435
852
628
532
247
287
676
276
813
829
345
882
240
369
867
661
793
751
993
664
530
19
856
835
637
751
575
15
290
726
82
233
850
848
684
568
650
505
951
886
469
573
372
914
991
839
70
444
250
932
590
958
58
774
384
555
911
149
180
929
704
242
838
10
880
904
666
70
298
949
413
293
197
21
319
270
113
418
666
433
521
816
257
172
242
1
122
300
406
554
538
508
835
961
141
740
264
730
513
691
717
943
120
198
711
125
907
941
684
418
144
710
201
856
378
444
27
943
445
434
138
855
537
331
82
300
293
82
885
509
668
493
871
864
170
925
348
399
635
493
108
773
347
256
59
356
723
107
154
731
226
441
937
284
386
253
692
528
63
986
150
466
151
337
192
619
926
224
756
298
171
273
459
320
14
554
42
665
145
712
815
478
693
347
751
426
619
233
716
684
860
937
608
685
885
534
859
367
504
316
824
846
984
874
75
336
577
461
518
620
529
301
557
630
531
399
209
468
363
419
233
732
147
442
819
176
270
735
323
490
499
203
870
522
237
836
390
325
199
318
775
233
996
925
431
566
242
989
425
707
851
484
811
977
112
768
485
192
10
83
89
823
971
215
75
381
922
608
35
57
73
318
767
639
351
416
402
443
749
834
67
307
181
205
226
720
589
935
813
798
185
604
740
123
672
812
167
444
248
753
172
848
965
115
112
288
783
403
994
297
255
401
657
298
333
298
424
177
225
951
143
686
581
852
222
791
531
637
353
317
279
410
86
100
6
695
338
384
818
591
202
392
348
584
137
836
428
499
741
635
897
304
816
246
261
807
365
852
383
817
510
80
823
998
29
86
740
482
381
578
513
274
638
815
357
633
674
707
243
902
365
864
385
700
299
880
393
21
666
172
954
516
614
413
567
177
306
989
411
711
332
915
913
107
940
332
959
326
724
79
973
534
55
777
289
52
556
570
323
10
315
936
87
735
427
975
467
55
620
184
515
35
433
20
748
130
422
478
36
398
338
510
244
196
105
345
196
722
669
696
901
903
475
369
229
365
429
36
383
645
660
775
588
395
326
545
382
34
977
912
780
222
724
201
374
542
561
753
102
7
714
104
57
336
810
713
157
487
7
355
971
573
945
382
254
129
549
860
17
686
233
12
53
729
55
504
888
412
685
818
81
879
878
423
626
597
262
445
966
929
886
313
816
39
910
180
514
341
280
993
140
896
955
726
987
587
529
671
280
415
672
641
201
975
832
631
421
22
81
758
294
58
814
289
823
21
252
180
296
512
342
827
222
437
696
669
848
631
679
865
26
764
617
526
696
837
358
874
562
643
101
277
807
843
498
291
854
737
517
766
243
365
442
539
674
320
704
472
136
535
931
412
844
355
729
137
381
399
215
534
47
77
271
38
930
147
788
838
614
347
943
486
764
981
672
292
40
310
75
382
944
744
418
306
212
107
796
911
328
728
264
543
582
679
433
709
828
287
112
89
791
919
548
81
320
160
254
182
454
698
152
108
568
643
32
963
124
537
904
720
777
12
839
953
652
934
348
67
637
829
157
219
442
630
477
778
972
39
541
423
334
323
183
922
355
994
742
228
109
597
401
776
309
802
371
756
847
100
977
717
948
644
809
56
631
230
585
821
178
953
260
796
336
840
225
6
820
603
146
629
490
758
112
801
266
498
258
944
439
110
6
68
534
209
335
954
318
742
283
259
830
552
10
338
555
242
290
53
993
253
288
882
897
340
806
433
417
88
988
834
206
710
630
556
334
155
817
929
495
430
627
983
553
163
9
286
970
630
758
112
29
878
710
644
32
99
911
887
878
141
510
631
507
862
574
120
687
77
836
32
576
999
659
12
248
404
96
268
152
235
23
691
69
991
767
521
678
56
481
867
283
44
858
246
607
381
377
922
809
575
411
987
31
56
1000
26
885
52
967
745
205
685
401
100
338
361
184
322
965
581
412
728
199
490
23
364
256
840
919
323
525
566
178
62
276
819
685
156
546
153
685
706
976
530
278
56
508
937
868
560
882
728
905
887
799
219
70
763
505
708
198
107
253
830
827
208
813
73
261
20
724
388
417
608
496
8
521
528
302
29
964
214
37
817
185
481
778
8
519
878
793
749
358
950
236
811
786
431
611
380
123
5
860
688
435
569
688
70
124
834
349
732
168
728
673
265
465
285
524
906
960
621
262
666
970
152
18
672
158
426
753
535
106
809
142
97
367
811
310
647
115
995
294
602
285
268
930
671
163
864
534
731
926
446
339
999
559
603
182
596
902
457
314
275
327
221
546
886
685
352
162
171
708
328
151
585
37
228
357
151
368
992
87
800
20
669
558
266
380
10
327
338
270
485
506
237
275
164
131
919
460
946
531
348
709
297
912
193
126
981
675
915
552
309
161
926
279
34
636
364
449
371
301
23
490
550
61
167
150
973
585
266
355
282
895
176
165
614
403
932
540
890
788
108
543
233
600
653
804
532
797
210
822
696
682
203
702
399
874
375
456
939
15
68
875
418
870
216
270
584
388
974
117
557
49
885
733
123
535
745
627
463
349
640
121
985
510
156
141
366
884
447
845
90
995
649
861
479
412
113
519
705
928
89
350
332
771
749
551
685
55
930
835
762
510
551
312
445
271
438
575
504
217
199
199
229
856
883
238
598
267
367
110
515
987
821
450
64
988
134
172
640
122
882
942
559
478
299
738
973
121
686
984
962
570
889
978
221
232
808
14
107
671
351
595
696
289
913
651
110
472
234
488
631
740
466
509
999
764
344
391
871
375
667
498
617
853
671
811
526
856
489
524
984
300
586
790
415
422
982
776
587
991
92
322
383
379
227
21
312
761
146
444
822
236
583
584
954
72
307
331
989
598
132
929
537
470
255
921
930
196
451
42
879
824
928
894
117
638
124
4
124
571
308
29
118
773
621
474
193
470
122
272
872
767
450
965
355
589
982
32
431
252
722
120
389
524
723
535
212
167
526
399
33
80
974
265
127
160
754
856
672
912
212
806
146
649
276
934
495
854
844
636
147
913
604
446
548
930
55
656
112
836
447
183
417
286
475
534
21
150
796
805
476
527
906
137
21
300
427
957
926
205
647
620
688
294
988
782
65
430
177
963
489
152
37
246
509
869
222
16
750
808
699
968
318
591
467
337
734
596
820
470
224
520
444
395
647
660
777
19
435
473
355
920
656
931
319
504
711
21
854
458
261
498
108
1000
664
666
58
442
588
522
835
967
508
73
309
306
446
29
60
246
696
333
449
467
227
214
182
281
161
519
631
211
978
107
164
247
120
991
943
790
236
718
927
2
639
225
351
278
439
28
540
50
426
121
743
988
26
438
617
923
551
49
82
502
521
530
552
681
56
114
950
612
214
271
495
435
659
382
991
723
256
3
210
84
8
46
34
523
251
853
208
675
196
784
899
967
679
403
804
85
490
785
176
873
734
763
994
926
483
190
480
692
405
375
281
870
127
931
961
234
885
192
870
801
349
207
83
424
639
81
853
487
215
90
946
365
714
560
297
686
845
988
666
282
116
241
357
864
529
974
587
126
353
592
839
958
769
189
339
907
455
871
833
847
180
840
23
43
67
358
312
471
484
508
23
282
448
238
863
761
25
759
235
5
440
759
914
813
539
309
723
942
772
515
129
986
121
211
61
620
238
979
848
831
593
822
912
85
627
646
722
56
743
522
572
700
447
390
939
924
134
434
534
73
801
918
683
776
438
627
319
407
987
413
724
608
507
549
109
833
655
741
282
857
639
663
937
527
602
839
549
851
737
543
465
645
543
132
541
573
328
902
614
403
427
109
138
678
649
296
571
829
150
409
489
938
247
506
927
2
725
41
158
539
805
802
993
827
261
589
659
900
163
624
533
635
311
526
277
955
719
368
457
180
450
996
320
55
683
313
231
813
137
674
196
931
891
888
28
895
204
576
953
383
120
796
887
753
566
920
186
634
136
709
402
711
961
416
456
501
906
549
712
28
818
584
600
846
708
565
808
758
583
974
599
937
63
722
422
863
82
393
879
686
734
109
32
111
752
511
206
919
217
391
740
569
823
452
551
99
445
511
43
737
791
236
587
195
669
145
777
628
745
183
705
613
704
652
740
338
409
652
692
358
14
496
772
920
943
711
468
872
339
389
311
591
878
617
523
201
811
635
691
598
725
212
960
435
781
414
703
275
129
600
267
586
803
6
192
100
612
717
242
339
489
178
706
800
276
658
680
337
188
225
459
811
12
875
752
944
693
416
152
629
71
609
198
648
444
818
388
872
71
168
729
535
923
742
728
90
773
916
298
512
201
302
646
626
201
88
120
200
849
825
897
88
955
784
588
674
664
92
87
215
779
771
486
478
918
659
437
210
731
948
139
594
89
741
37
818
529
582
389
275
286
400
92
722
909
689
556
941
807
16
937
36
73
165
765
546
564
297
838
965
568
538
286
97
304
297
852
918
162
444
793
254
854
196
259
639
568
200
664
184
841
818
343
137
81
84
746
92
587
135
537
490
476
180
198
113
141
236
201
803
730
911
334
479
666
512
557
884
424
615
592
150
611
29
546
430
882
782
32
322
408
343
627
780
395
814
8
500
623
231
790
537
113
419
900
49
785
94
304
597
424
8
64
413
346
996
959
404
915
698
385
413
469
603
841
470
240
801
76
311
624
494
884
463
477
892
624
563
171
580
745
412
818
835
28
431
411
642
750
840
646
375
716
887
794
188
944
859
370
157
792
486
253
163
511
542
562
285
504
121
869
208
75
115
256
794
79
855
318
482
670
779
472
633
324
233
810
284
379
193
317
36
628
779
484
946
920
945
216
384
263
570
454
757
709
544
141
927
139
91
973
886
145
733
888
982
387
780
413
567
161
189
753
459
437
949
34
3
293
895
181
843
468
1000
722
754
801
741
226
980
382
108
185
589
601
155
895
295
698
815
286
27
25
819
721
298
8
191
494
83
697
756
132
484
888
490
634
924
16
361
458
7
411
497
421
454
50
155
660
727
657
961
465
46
823
331
102
504
865
819
707
917
298
371
958
836
112
110
506
884
551
318
84
227
685
782
812
487
924
463
432
882
511
795
158
718
163
533
343
591
320
205
404
852
814
662
306
932
415
162
454
102
402
696
996
134
195
979
403
97
157
646
697
232
838
719
811
430
312
321
429
368
777
962
74
739
228
459
358
352
868
681
86
88
889
895
327
845
393
404
664
612
518
574
596
787
293
88
429
683
335
453
108
918
278
377
103
72
740
601
873
517
704
183
442
853
425
41
305
717
365
737
241
38
192
137
578
16
593
574
136
169
495
582
360
831
311
97
148
372
981
270
473
232
934
656
188
604
535
632
348
195
262
326
960
75
618
210
320
10
758
797
1000
96
899
531
127
686
858
62
772
831
467
585
177
482
209
813
59
692
128
449
414
923
973
749
87
375
567
866
879
908
598
189
97
764
388
825
284
780
698
691
317
194
308
443
186
475
935
589
551
820
17
704
599
99
55
626
828
62
478
847
112
559
457
121
828
387
689
465
860
113
958
319
41
901
168
609
925
935
638
883
863
486
690
446
986
80
907
675
84
486
41
275
330
448
196
271
487
174
806
960
517
616
917
875
493
470
468
55
321
646
577
560
88
686
329
211
745
242
198
23
461
245
26
623
213
859
437
253
78
646
668
602
268
634
55
822
145
139
851
555
347
247
608
698
659
865
82
931
476
83
543
764
518
439
371
924
971
297
51
480
386
220
23
997
455
659
354
341
272
751
885
522
801
278
301
79
38
115
585
82
818
583
434
774
277
188
515
243
753
157
897
295
286
27
584
843
969
308
854
764
82
893
21
100
350
468
301
946
660
628
729
90
285
805
409
762
975
393
975
391
310
641
809
335
320
994
426
958
727
557
453
257
92
284
803
507
807
285
944
989
126
393
681
982
376
758
484
587
71
750
186
888
905
930
841
160
508
161
628
555
395
222
956
761
765
412
327
621
674
726
120
603
642
149
158
292
917
499
831
813
499
11
580
183
476
598
749
120
417
264
173
778
359
691
379
168
384
421
945
827
928
362
390
376
715
583
944
216
660
489
701
524
174
496
921
117
45
288
738
480
480
555
89
471
950
902
502
762
184
249
228
102
52
634
346
841
96
782
662
7
136
203
600
374
746
859
886
639
379
624
443
790
562
881
849
215
921
579
669
902
732
18
167
359
325
394
231
473
968
931
793
639
748
986
722
908
607
99
900
775
904
385
177
510
775
4
12
599
165
712
839
955
557
668
641
39
359
701
795
932
392
267
949
702
122
154
620
112
143
820
217
839
863
921
412
878
552
182
122
754
691
287
890
480
29
848
115
947
882
864
420
566
997
275
393
560
709
357
133
230
240
747
255
902
728
821
524
35
957
992
852
127
851
268
169
668
490
50
605
348
776
734
473
154
927
140
807
753
627
183
567
817
41
491
178
508
864
838
779
399
257
403
398
514
807
830
296
19
632
3
881
306
364
254
928
904
27
447
314
649
766
13
117
54
946
553
730
636
434
50
575
280
738
103
129
333
262
838
212
282
131
302
929
272
942
246
230
700
290
133
751
350
132
131
547
304
873
598
315
922
566
285
930
759
772
77
479
156
425
581
483
638
520
303
658
930
571
458
403
600
547
684
184
842
448
76
115
923
757
956
335
120
761
786
218
809
136
425
91
486
245
752
855
134
327
258
857
284
109
859
422
582
410
587
684
403
1
251
751
321
310
397
767
818
557
132
165
662
576
446
218
786
874
679
48
368
449
702
401
999
499
181
821
541
466
30
346
250
744
780
481
268
23
132
3
408
435
409
83
437
628
956
362
756
400
807
814
423
782
91
715
995
303
715
562
538
716
853
556
448
641
613
109
456
420
83
924
295
985
622
361
11
684
867
176
864
813
431
239
53
106
691
476
283
492
353
146
293
272
746
516
60
265
883
138
310
565
394
244
371
317
372
203
137
308
11
604
119
234
674
289
116
209
714
575
60
476
881
980
938
295
701
13
553
653
513
951
43
817
193
83
724
717
770
620
821
808
214
280
106
387
722
619
261
270
707
322
48
399
528
987
7
190
713
439
448
396
71
234
971
834
606
807
607
563
608
667
941
46
626
170
261
321
303
618
858
490
190
907
86
665
753
475
690
45
726
60
226
995
878
657
67
826
17
105
653
488
776
933
120
512
290
474
398
384
419
717
188
967
542
106
967
733
295
250
326
330
840
542
480
453
364
799
775
64
585
328
341
783
933
280
848
639
970
762
490
451
329
935
873
831
138
239
535
146
464
977
149
833
753
713
319
131
673
321
69
632
1000
68
712
67
425
831
857
367
228
380
694
391
777
686
564
622
741
377
21
823
684
798
289
854
470
594
21
840
522
400
760
433
505
993
336
191
455
213
735
969
745
87
635
794
480
826
873
918
136
806
634
591
289
196
17
650
244
658
937
194
306
400
58
442
149
929
523
405
500
43
809
108
900
954
928
947
849
959
559
220
19
726
406
974
567
107
241
124
786
361
641
205
454
801
379
214
308
193
797
766
981
668
257
162
595
511
960
53
982
986
964
75
132
215
278
226
53
286
256
770
705
905
339
137
35
374
410
637
442
176
603
797
182
153
488
789
325
140
917
707
887
906
692
461
656
437
443
620
73
921
737
862
217
262
519
597
618
612
410
935
110
177
279
405
419
525
757
742
511
721
63
619
966
872
552
416
845
97
936
984
537
496
990
901
91
445
852
892
374
402
779
929
231
485
269
35
460
256
44
941
70
528
268
589
751
489
733
916
914
149
479
485
986
907
447
305
847
26
352
620
435
954
860
534
601
711
590
84
190
6
170
787
241
374
786
729
875
365
249
6
176
760
563
665
883
827
414
348
212
908
771
525
500
977
2
521
649
375
548
564
536
612
174
729
661
7
286
937
315
918
614
182
434
509
797
732
157
316
66
361
815
346
259
592
691
108
871
515
458
735
703
10
630
327
931
85
691
757
123
622
866
422
781
16
612
853
497
89
1000
689
698
165
141
216
266
395
658
585
6
257
19
869
83
641
231
307
27
105
988
428
877
674
875
310
329
40
648
829
523
126
907
632
217
768
729
538
691
699
941
175
631
104
750
15
655
776
396
353
880
292
334
446
121
694
223
731
892
876
631
15
373
254
972
560
894
310
621
242
291
305
569
355
712
785
256
145
36
489
394
902
112
968
709
253
458
460
552
343
848
612
186
740
526
189
434
236
357
248
65
196
332
153
921
732
272
406
342
805
459
523
877
260
171
88
617
955
791
657
756
372
251
436
112
536
28
491
465
635
842
805
465
466
490
664
833
725
943
706
277
195
995
453
302
98
202
315
661
215
860
847
700
911
17
514
275
853
334
351
220
57
687
660
579
848
8
347
951
487
784
561
303
500
8
93
595
186
173
331
366
400
12
693
213
470
358
119
738
11
401
622
127
491
79
891
971
629
99
639
340
88
331
738
403
479
883
159
73
385
241
405
260
974
236
434
311
782
467
14
154
412
29
113
436
231
53
165
710
614
596
11
340
936
916
901
310
292
981
182
614
887
380
215
192
149
437
609
684
852
451
78
402
996
449
116
5
737
739
183
322
392
859
313
671
457
220
865
770
585
863
666
70
702
250
909
912
773
967
27
424
257
519
190
475
950
165
200
350
753
858
372
988
859
924
371
794
19
86
104
57
826
750
502
944
399
319
426
897
483
401
997
7
702
412
354
617
666
46
242
940
671
467
827
995
989
914
841
510
114
576
500
733
882
243
627
304
93
236
66
420
94
568
794
528
819
93
84
711
947
665
717
733
141
962
503
438
853
683
301
824
777
284
353
662
858
285
935
952
688
452
300
882
249
826
388
175
220
674
29
917
469
890
231
980
940
319
657
167
888
726
607
45
271
893
634
271
177
382
441
846
361
93
845
384
313
594
417
970
798
609
859
560
485
729
308
262
84
594
543
989
423
330
484
148
7
982
490
68
912
63
688
763
308
83
975
553
517
128
408
742
277
124
386
268
785
415
426
787
192
671
350
118
443
976
379
377
726
94
999
396
372
600
412
226
727
513
95
615
359
548
254
362
19
901
954
357
904
747
306
931
103
256
399
877
614
994
562
102
920
36
175
455
933
971
450
668
61
267
551
725
240
121
935
227
70
14
61
471
579
687
444
37
735
126
582
644
551
468
467
925
515
444
221
557
121
78
904
849
485
890
705
535
368
784
493
985
465
114
244
472
459
196
898
454
206
627
57
55
342
386
299
40
794
594
37
644
945
213
550
531
647
715
245
29
901
926
255
525
778
863
204
571
61
323
327
833
193
418
187
456
312
43
876
835
574
455
974
47
481
772
499
391
657
228
759
588
342
415
307
198
928
618
190
723
978
551
274
672
546
472
737
598
50
700
733
749
634
4
838
502
706
220
110
195
325
697
547
322
182
877
218
309
223
367
630
261
339
385
703
107
158
320
311
591
678
479
467
381
391
786
143
410
578
311
150
213
652
43
692
642
800
222
13
841
669
911
3
781
515
192
787
960
73
548
48
105
368
524
335
845
827
719
621
350
369
550
204
889
567
956
377
87
608
425
395
439
519
301
980
287
77
294
939
29
854
548
566
818
117
398
107
376
665
158
973
845
252
910
339
761
920
274
448
398
441
554
224
643
73
523
794
573
6
308
106
633
195
511
149
114
764
743
161
189
797
202
874
369
131
799
13
631
717
603
239
844
211
47
234
367
733
430
875
860
149
735
298
409
787
673
192
40
264
175
832
579
959
254
229
615
723
273
236
980
611
188
633
796
794
241
11
630
304
928
731
690
929
803
378
352
430
817
897
499
204
446
13
286
662
833
679
5
894
505
981
639
642
36
382
555
184
150
215
541
543
411
73
56
300
560
97
110
402
18
209
705
580
841
999
95
362
628
353
453
241
499
849
710
226
286
674
422
880
495
54
528
964
445
199
795
958
207
379
529
67
637
12
882
808
835
592
695
892
816
874
377
922
56
973
733
393
835
951
29
537
980
7
818
888
703
623
224
796
698
860
447
743
572
573
212
6
992
444
787
137
612
616
965
745
990
186
104
278
206
975
910
861
820
801
171
745
148
953
28
617
574
671
737
817
755
229
38
504
126
657
435
961
86
206
682
494
594
428
744
860
674
146
330
753
523
627
861
628
469
24
396
87
59
476
599
106
895
335
313
622
694
636
680
384
219
281
40
517
356
410
23
949
636
70
355
706
914
623
907
91
767
276
412
943
397
759
110
473
480
453
300
686
459
179
389
8
212
489
603
559
923
520
920
428
230
377
182
446
417
592
554
203
487
382
688
456
443
358
12
694
21
796
523
301
388
835
368
695
51
751
255
843
320
991
450
741
213
786
712
837
581
974
5
848
602
133
258
134
506
250
757
567
549
919
967
870
806
496
714
491
308
759
711
401
414
308
330
632
80
424
376
15
858
75
402
282
52
562
709
682
440
593
805
279
365
662
527
366
799
250
421
808
207
733
280
662
629
870
895
136
436
393
209
792
632
539
59
926
422
329
574
210
982
5
163
20
34
344
709
350
870
475
242
843
932
429
878
283
913
900
272
816
617
586
176
300
499
68
941
427
885
348
967
692
345
105
180
850
633
202
581
246
839
192
788
264
187
390
287
230
955
607
796
253
566
760
748
882
794
400
397
951
376
666
470
670
59
296
594
808
249
88
973
855
1000
661
892
128
3
451
675
114
647
600
680
786
950
846
725
242
367
530
142
744
38
597
273
217
58
805
822
278
725
404
925
133
518
232
207
65
799
497
353
770
803
544
933
501
537
519
314
839
616
185
486
924
896
97
563
144
28
965
508
607
656
305
391
204
90
439
72
699
695
464
787
97
126
74
529
470
814
18
451
534
760
547
818
541
801
398
154
453
991
753
313
965
640
130
185
638
844
355
609
329
65
599
867
133
419
956
828
239
861
210
380
483
373
227
336
873
606
885
384
53
150
577
961
461
771
103
185
964
492
186
87
852
353
958
413
392
56
498
242
570
473
911
474
283
158
489
31
984
607
226
249
712
976
310
532
505
387
273
780
446
735
122
524
945
127
167
940
449
693
211
156
428
531
448
315
369
977
722
912
518
226
754
788
266
555
579
7
428
69
701
573
102
915
432
546
485
394
424
673
768
240
720
95
222
627
482
13
660
129
166
497
755
942
97
724
80
172
297
62
338
886
913
328
974
921
818
490
231
155
754
807
789
70
925
146
291
933
72
789
451
879
882
535
915
480
54
352
752
155
453
111
242
893
582
175
648
338
10
766
751
217
514
18
259
488
413
624
649
323
993
791
562
234
981
993
705
244
729
675
73
966
147
600
406
878
475
54
27
853
615
457
592
251
149
232
817
449
117
993
968
747
304
177
732
975
93
288
124
1000
908
791
238
543
876
552
969
358
648
421
347
910
218
181
716
103
197
631
825
521
231
32
822
853
164
439
264
932
92
765
514
816
692
532
297
888
69
360
810
829
883
195
453
608
726
193
171
355
539
921
450
98
368
259
172
857
904
972
924
516
70
428
859
237
375
354
868
908
875
831
661
259
384
957
314
861
972
745
17
130
912
838
1
875
970
594
109
667
336
907
79
491
562
928
342
730
571
471
97
508
197
480
468
839
718
404
799
796
561
690
509
155
659
921
508
553
973
284
843
254
329
182
102
11
16
786
142
361
601
241
857
931
980
75
13
975
6
47
693
409
965
341
515
71
731
512
560
813
717
65
940
276
620
869
9
890
520
881
490
733
117
812
218
348
747
429
768
543
370
161
971
466
881
574
201
989
950
30
379
528
104
588
811
946
885
745
362
136
774
176
967
170
982
1
146
700
384
446
20
378
621
987
314
660
819
187
953
305
507
478
164
228
12
83
454
159
57
125
408
725
315
706
57
152
403
435
464
788
178
412
226
24
202
177
885
10
959
506
553
753
719
204
667
819
957
281
443
861
889
929
477
635
988
802
950
999
311
940
60
613
100
543
634
735
383
503
345
519
245
240
610
722
35
921
27
548
2
579
165
671
776
13
631
119
673
579
591
804
987
178
346
969
344
777
142
715
699
798
127
74
734
591
234
808
291
961
853
215
918
465
309
754
819
741
553
235
256
662
986
622
944
532
964
282
113
815
418
620
648
164
953
598
198
605
963
630
210
794
561
644
597
182
608
945
145
812
698
624
853
173
750
898
59
247
746
703
653
420
257
304
628
415
608
459
966
785
939
884
165
787
951
396
711
646
828
115
474
333
684
542
285
957
909
160
949
818
920
444
541
959
202
815
133
783
957
117
32
940
336
659
177
219
44
737
626
622
4
802
933
148
943
131
802
66
954
944
605
624
569
375
219
196
406
645
193
867
219
32
394
299
38
989
175
543
162
849
561
134
933
73
129
409
610
955
54
493
142
987
267
818
340
862
785
335
745
222
69
829
485
814
659
862
562
670
495
899
265
302
997
142
912
656
461
403
674
773
316
148
46
657
558
467
401
855
24
317
181
661
192
850
491
629
890
7
238
314
640
875
531
765
345
454
724
304
693
629
372
570
962
93
360
638
862
934
647
235
695
363
381
761
359
826
633
849
703
352
635
661
284
521
190
976
848
901
884
421
763
119
831
834
188
24
947
867
957
523
164
399
69
766
578
250
172
321
245
961
619
852
237
138
526
613
606
953
750
750
123
934
861
17
969
85
988
999
142
713
887
359
929
104
715
938
686
284
734
766
116
714
658
165
369
669
392
162
612
464
704
378
127
416
738
403
637
653
373
423
307
420
102
531
774
557
534
699
663
194
587
907
257
525
192
252
378
736
597
182
91
740
432
190
530
452
278
367
15
706
849
279
628
784
831
479
592
756
47
829
127
479
910
511
928
134
41
234
54
684
543
698
809
444
638
784
151
271
310
336
259
530
138
606
170
90
713
629
795
81
932
854
220
60
954
309
905
504
823
504
311
285
577
10
502
882
168
376
483
609
684
649
394
56
153
234
176
299
680
284
23
133
806
92
721
773
741
201
999
977
552
76
111
546
495
206
201
475
421
464
433
836
581
380
461
637
222
766
623
480
82
760
99
828
266
952
412
114
5
706
831
676
487
195
642
769
299
927
825
468
14
748
311
327
83
416
915
80
558
805
18
494
71
772
240
736
173
470
692
241
382
660
847
159
229
196
748
860
199
375
6
902
685
303
69
83
990
780
264
918
989
440
455
932
230
77
516
670
187
110
437
219
852
167
595
321
73
605
597
888
870
579
175
826
462
991
790
606
889
208
972
948
926
977
915
294
452
355
553
531
555
803
123
515
436
802
240
550
603
499
618
896
954
908
895
763
71
135
430
17
468
973
598
999
588
915
815
431
68
352
496
396
146
243
182
748
133
55
335
127
543
113
671
960
819
830
444
429
596
438
802
432
86
961
196
967
478
186
815
222
232
264
216
859
739
432
620
684
118
37
846
882
855
693
476
499
560
931
648
695
393
148
821
579
592
995
959
92
106
629
865
513
547
379
765
622
555
473
880
485
178
429
417
96
87
605
290
832
258
171
966
804
248
481
988
676
387
412
115
484
957
727
510
302
945
960
87
337
48
610
959
205
408
679
894
653
974
692
832
992
479
400
816
840
789
289
134
551
746
887
71
904
725
584
439
170
819
384
975
696
939
530
768
536
156
457
95
448
282
880
462
783
37
121
167
436
152
976
407
11
385
506
809
792
777
160
289
969
399
534
281
769
501
901
750
808
209
350
829
34
910
30
608
87
990
502
367
751
882
672
509
467
275
97
533
542
881
748
695
756
389
429
370
602
96
166
742
232
240
817
168
531
241
53
439
429
901
640
227
674
104
647
190
807
713
800
564
35
180
711
596
975
838
118
831
50
963
591
90
400
499
387
967
775
734
259
796
784
342
69
353
299
930
983
984
516
638
894
483
416
415
461
778
895
276
817
433
871
251
555
13
34
755
107
634
725
778
968
367
636
646
531
730
636
118
493
198
48
199
871
530
119
398
688
687
291
92
291
336
69
307
95
217
977
492
248
152
113
789
362
115
286
915
978
556
579
987
888
155
448
571
766
249
151
736
845
471
384
164
500
547
483
212
701
761
445
343
249
348
349
559
597
950
417
273
846
324
121
578
197
679
228
24
724
380
615
804
878
287
20
740
481
628
624
567
359
171
523
792
920
414
675
853
154
663
898
372
560
154
818
60
436
834
482
238
834
9
491
970
206
851
105
565
486
653
774
529
846
799
910
111
893
677
567
260
450
97
846
147
297
378
508
399
529
919
265
873
195
960
663
68
957
242
295
263
375
418
319
96
271
446
921
551
322
621
389
290
691
578
936
819
4
371
275
261
471
700
210
386
251
445
201
121
443
950
924
967
245
899
344
646
873
219
727
791
831
157
295
723
981
587
960
152
655
636
666
180
753
905
404
98
358
952
884
316
898
180
193
199
326
959
474
720
63
650
858
622
716
141
385
207
677
691
636
958
767
134
156
965
30
959
506
509
614
400
982
227
454
405
603
998
112
306
963
61
717
56
948
897
395
148
105
110
995
718
667
850
162
872
863
364
36
978
123
870
932
526
282
287
375
165
638
302
755
701
35
897
721
158
732
719
107
492
903
613
868
184
54
246
978
731
514
970
756
2
430
996
367
535
368
514
539
120
703
576
698
417
475
480
765
941
292
882
866
494
133
64
51
969
652
630
934
552
664
389
848
489
42
337
689
995
150
484
169
353
305
695
563
945
472
871
388
771
557
569
656
4
204
573
479
245
979
50
843
466
157
646
304
54
136
291
209
983
639
554
812
919
491
70
291
954
707
975
269
757
46
289
883
173
987
861
872
652
280
875
372
483
847
848
376
456
825
778
856
478
979
336
575
650
531
30
531
499
694
830
773
369
868
73
79
471
467
363
592
725
833
801
55
317
556
97
742
839
776
49
499
8
724
421
602
203
849
453
270
478
373
140
745
297
971
913
847
959
648
570
750
571
509
107
560
476
301
646
925
220
88
762
524
547
363
352
809
366
216
643
731
340
948
61
555
570
633
459
62
809
704
631
560
796
582
156
196
589
748
317
962
230
409
293
661
659
106
847
863
606
176
461
502
43
981
243
388
918
214
955
324
75
383
203
949
678
790
152
680
996
937
154
324
101
309
305
56
893
905
275
413
872
735
707
931
262
730
107
792
386
152
439
657
713
662
548
413
602
642
147
146
574
244
342
85
908
904
567
596
428
734
378
576
650
295
746
756
850
741
389
469
200
208
178
458
852
646
880
119
727
978
292
411
824
596
363
338
56
728
20
487
973
121
243
663
259
839
393
999
540
689
922
323
878
967
366
698
313
728
967
267
921
780
344
487
204
937
410
867
19
850
96
80
905
922
529
161
406
363
36
102
907
468
673
748
600
580
64
373
381
986
977
692
932
232
421
342
709
947
47
65
331
256
282
939
673
353
940
970
988
564
23
314
578
534
29
178
814
768
390
202
827
839
578
727
819
28
6
913
708
4
118
105
826
460
940
176
435
262
946
878
144
773
287
327
685
492
334
877
108
60
968
579
174
952
287
299
624
930
204
372
26
402
913
353
124
384
376
20
961
666
758
296
554
138
229
167
576
941
675
984
321
300
613
774
222
387
67
296
305
582
242
633
272
816
574
43
371
476
153
641
773
524
553
236
994
61
844
330
771
561
917
807
906
384
279
380
816
5
177
166
906
566
230
120
431
18
761
196
233
84
662
232
545
764
947
549
136
884
106
169
174
457
989
369
547
267
247
17
868
122
269
779
989
714
162
777
690
843
558
782
127
78
935
326
743
566
717
399
600
816
593
536
526
748
422
196
22
201
570
280
625
414
739
529
308
665
171
331
522
405
637
147
719
720
721
379
527
887
777
999
256
129
370
662
118
409
134
369
315
240
768
938
193
64
324
692
738
675
37
805
22
561
672
678
657
789
792
589
891
240
399
591
776
582
119
301
743
359
467
811
985
981
762
387
306
172
951
34
447
680
938
280
487
629
994
722
561
951
520
975
61
724
689
677
435
111
516
116
911
806
470
836
777
563
75
349
343
404
837
665
331
601
456
911
251
355
506
757
266
382
689
698
142
299
311
503
164
763
864
316
301
836
440
939
487
917
270
823
606
897
834
147
681
907
833
182
767
123
843
808
308
639
564
643
10
316
458
786
850
881
971
543
473
253
703
843
74
259
645
282
834
413
31
849
117
422
477
429
940
429
784
117
663
784
209
237
459
299
76
701
888
536
280
14
823
669
656
791
30
839
171
127
975
741
602
557
762
387
712
595
710
590
912
64
740
755
53
528
599
965
340
105
987
214
250
902
792
848
47
89
989
936
688
386
210
348
904
326
669
766
790
243
886
713
526
334
615
986
709
512
497
510
377
28
213
750
986
978
328
294
515
906
593
110
349
664
218
291
825
588
499
810
137
825
228
909
802
335
523
283
39
703
75
134
237
396
301
513
117
500
587
94
376
309
605
693
307
341
701
358
385
510
445
864
867
188
779
763
203
869
599
944
475
961
257
821
120
16
199
838
928
346
895
7
657
563
277
541
661
27
151
482
583
598
410
427
531
339
450
44
143
51
864
131
581
570
361
363
848
808
873
714
738
406
956
805
385
674
961
28
649
259
875
389
493
555
437
461
125
459
854
675
895
476
465
492
878
556
747
644
589
286
357
718
530
216
311
866
118
182
972
293
87
450
261
502
620
389
379
952
340
163
384
947
752
638
168
33
902
271
713
165
829
289
59
196
834
850
42
10
739
204
708
741
64
92
301
93
489
764
833
718
74
17
552
986
442
603
89
242
531
210
636
823
598
960
308
703
852
54
733
597
486
732
6
785
886
206
359
691
503
614
311
469
182
295
568
467
785
923
694
457
545
93
375
941
944
984
157
684
844
636
680
861
239
171
765
846
264
40
197
731
34
992
671
118
482
996
174
582
607
807
29
493
447
185
909
541
653
63
436
408
750
101
342
504
58
138
803
598
759
21
238
459
777
181
790
339
9
105
728
254
898
539
213
510
530
874
238
879
227
649
53
155
77
542
59
537
969
504
976
469
473
954
93
83
346
52
496
377
523
107
537
605
227
150
180
137
192
496
525
220
104
930
546
650
25
776
999
371
997
687
541
383
995
475
327
181
123
663
737
106
261
748
437
668
400
333
662
846
508
410
494
866
134
54
885
747
868
731
376
154
457
198
767
762
589
746
482
350
356
124
16
344
941
48
630
358
372
614
434
568
43
321
73
436
302
616
522
363
585
85
902
370
486
433
806
768
638
410
349
111
510
699
61
404
21
565
765
682
410
771
800
572
922
858
292
391
702
387
694
663
738
154
495
669
831
718
800
805
337
790
483
63
863
161
757
912
200
905
272
211
500
501
334
582
144
401
427
818
758
297
977
497
601
27
241
967
886
604
250
261
635
337
979
285
357
403
320
861
174
490
943
790
14
344
868
153
156
149
396
453
703
664
83
79
545
958
599
784
976
408
629
512
427
334
490
990
694
291
723
922
643
564
767
509
615
844
730
289
663
453
404
960
297
679
917
928
660
1000
858
831
893
9
246
161
996
841
497
428
685
772
375
6
562
459
13
914
422
976
239
319
699
387
840
464
803
134
874
48
644
894
848
857
685
893
360
541
707
902
831
40
853
229
46
70
648
111
560
477
421
809
436
17
945
573
419
323
212
405
393
365
924
206
896
735
691
445
545
459
949
989
444
860
275
89
46
179
138
816
486
308
122
429
81
972
296
258
584
160
716
683
760
409
42
717
36
805
824
491
304
195
326
704
427
169
685
678
649
814
786
246
894
125
478
105
885
216
675
640
143
141
427
458
158
251
283
58
465
465
112
98
932
749
99
732
282
400
822
330
771
431
127
713
1
467
38
710
8
90
105
439
172
503
359
246
967
689
555
599
249
11
480
613
634
334
881
38
444
289
28
740
898
276
973
681
466
158
362
388
788
369
25
727
157
332
645
572
321
677
518
587
288
728
789
957
883
131
579
318
48
279
96
573
260
436
177
526
977
30
684
475
739
635
857
1000
387
591
13
204
905
14
964
533
517
231
121
173
40
277
583
699
952
173
371
319
259
156
631
553
82
879
818
667
785
896
821
505
607
399
511
633
9
280
448
850
366
56
315
215
218
119
211
692
8
38
94
401
148
393
521
254
273
690
324
438
753
461
6
813
907
561
476
802
829
15
168
739
472
500
754
994
390
707
404
386
580
358
7
529
955
630
839
826
317
96
915
712
109
59
687
648
867
341
763
90
18
157
94
329
629
712
398
675
762
546
662
905
318
439
197
309
660
933
128
928
841
97
124
777
949
215
891
957
959
497
217
543
489
728
347
67
5
36
77
215
380
585
241
105
174
59
195
98
622
263
495
698
165
27
208
459
236
869
214
241
187
554
394
357
469
765
831
348
593
598
18
162
999
471
595
522
676
372
327
112
258
30
861
15
385
766
313
538
293
249
889
124
983
335
538
605
795
508
112
409
923
149
638
694
195
45
67
577
449
65
311
778
966
910
468
10
703
210
886
417
541
993
105
185
355
740
803
224
471
831
547
468
18
158
579
920
728
87
833
24
982
757
104
348
304
899
634
830
15
984
334
43
486
523
573
27
279
772
725
240
465
931
664
104
604
148
992
417
160
312
91
648
651
654
6
747
416
625
756
649
740
407
936
74
961
661
340
606
349
817
952
257
767
258
795
903
564
289
74
27
718
622
508
217
989
454
1
688
711
909
569
934
905
712
4
297
612
510
865
804
669
169
208
183
686
702
952
339
651
243
854
903
404
598
910
686
208
496
363
19
785
569
644
955
477
508
295
302
642
570
326
257
999
816
526
212
401
29
956
919
443
245
231
797
367
251
224
640
967
168
500
339
604
487
149
549
948
497
670
393
797
108
197
426
151
459
715
59
767
560
823
563
553
455
258
611
510
16
670
998
392
558
53
847
923
912
854
129
165
441
7
764
604
790
57
927
635
797
86
435
364
114
388
246
84
541
679
186
357
999
207
965
350
356
248
453
972
23
380
955
414
375
362
916
865
540
664
103
555
52
428
786
799
184
186
886
339
522
714
347
171
480
219
228
967
11
491
132
374
740
709
636
756
77
380
323
391
674
268
849
753
749
226
269
258
378
586
479
779
862
96
199
312
650
465
410
400
131
217
531
329
780
938
904
604
778
955
355
994
263
181
688
203
743
141
986
309
100
164
491
232
804
359
669
853
617
264
768
856
139
992
826
34
966
284
616
563
134
142
444
728
760
593
99
662
498
729
464
951
487
339
489
348
968
370
298
448
648
943
143
861
171
856
830
365
793
337
23
507
439
318
504
374
873
641
88
560
617
416
387
916
590
250
36
310
188
120
291
442
669
527
161
786
239
927
344
802
230
565
283
916
88
595
602
182
681
722
13
147
616
724
579
227
811
885
825
789
603
755
805
237
9
681
685
611
624
246
770
605
785
74
221
458
299
478
871
861
14
66
664
892
956
738
232
989
591
464
65
156
998
866
496
908
401
903
511
952
535
879
963
243
810
604
341
818
74
776
688
814
68
552
583
122
321
840
392
451
335
66
122
937
396
24
311
61
225
967
323
326
12
263
340
67
64
793
93
790
416
768
83
633
282
771
643
924
145
672
685
301
608
510
408
522
898
566
534
956
8
615
887
672
79
803
234
241
524
675
381
600
796
609
417
834
458
350
870
286
390
366
303
220
562
486
511
122
773
631
80
864
169
497
508
127
144
727
502
915
438
439
330
496
867
993
294
848
131
514
521
496
576
18
233
685
620
933
592
979
800
445
36
686
19
367
726
41
658
176
384
654
640
431
293
578
431
63
732
261
198
905
407
782
60
406
741
20
418
668
18
821
858
860
457
814
3
526
269
247
13
562
603
115
111
412
121
882
656
575
586
301
781
653
471
216
560
970
100
696
981
271
247
575
768
138
412
247
204
509
248
587
701
159
726
973
782
59
670
711
538
307
212
579
356
687
608
850
938
31
573
884
164
208
974
318
383
987
274
955
84
31
613
677
710
953
772
96
600
726
565
221
621
720
385
77
122
307
746
120
226
270
646
258
332
216
510
491
929
850
266
494
483
182
852
930
186
747
64
976
833
440
214
253
960
869
475
390
623
1000
169
485
905
443
507
44
296
932
425
357
594
435
256
867
869
863
937
828
327
500
337
401
633
164
71
415
339
566
857
210
622
507
90
327
433
365
778
327
501
769
433
702
373
509
797
643
829
484
529
439
545
933
97
385
844
299
145
415
734
789
588
72
220
141
480
93
24
124
498
595
455
52
530
801
154
928
425
318
822
903
428
188
863
375
223
345
60
437
767
645
33
345
320
338
232
354
141
694
674
563
353
546
418
394
386
623
63
926
203
930
173
620
269
881
571
859
827
524
939
367
602
15
996
778
473
437
806
554
30
148
444
997
158
141
332
325
975
288
53
650
512
925
322
220
475
973
130
477
360
672
758
333
908
33
478
535
650
358
296
175
838
476
982
190
587
901
12
176
470
776
743
947
95
266
317
62
460
88
323
972
967
971
223
534
55
141
888
373
310
385
383
990
810
847
307
579
157
462
574
206
375
885
512
400
356
805
566
226
73
790
661
592
94
212
534
883
280
295
908
20
685
88
449
681
827
975
835
745
459
375
124
980
916
440
839
612
897
890
831
702
302
604
34
183
345
220
687
8
707
800
461
91
947
561
200
657
723
765
657
140
636
160
690
4
679
748
892
746
316
235
478
833
226
286
616
544
588
533
38
509
606
395
921
243
632
914
534
121
868
205
66
57
119
607
409
600
496
309
370
309
252
31
968
11
210
345
16
22
310
331
112
466
905
581
586
590
304
10
665
384
987
515
341
857
606
325
960
40
583
772
594
187
676
310
613
611
359
811
686
358
228
605
663
186
954
208
386
363
475
455
498
439
241
542
767
440
294
547
247
923
927
147
850
933
434
560
564
194
218
258
567
793
140
591
981
216
538
306
856
822
778
837
246
772
545
402
921
972
359
182
337
806
927
256
975
303
47
592
66
940
721
71
1
409
34
446
455
594
141
170
348
414
380
214
306
431
152
382
195
854
691
114
642
81
278
447
200
41
748
649
948
346
391
970
877
734
446
171
379
352
454
690
497
189
654
858
379
348
468
80
576
948
872
755
356
112
110
551
244
917
780
773
375
168
792
782
37
583
63
789
17
276
143
937
937
457
99
236
843
901
138
800
677
53
409
848
136
608
376
86
649
9
939
423
843
610
226
454
933
167
581
774
904
907
857
994
268
702
507
260
375
731
363
205
10
624
215
518
40
254
489
720
375
244
368
330
429
770
687
331
521
431
813
728
416
797
495
41
271
740
382
765
821
814
478
202
520
749
341
573
709
595
212
978
641
184
599
621
282
331
59
674
427
661
43
304
570
13
717
685
373
134
610
256
324
777
778
96
358
372
956
55
805
162
791
197
12
57
851
178
376
502
567
430
338
327
635
384
90
894
706
546
365
852
376
896
688
460
592
982
914
765
582
45
691
851
349
736
745
48
571
253
504
213
476
252
663
185
886
509
714
55
179
88
365
178
338
743
6
742
609
390
92
253
569
713
369
558
516
436
374
833
228
331
526
555
42
771
434
623
135
553
754
639
655
703
36
878
38
240
529
601
453
182
839
189
833
617
662
53
324
325
556
366
358
248
865
475
712
117
460
262
120
649
905
827
964
45
51
605
578
955
790
436
508
696
927
175
835
260
654
114
342
575
160
916
856
552
257
716
575
686
728
805
581
368
305
590
7
610
808
561
536
570
976
633
992
143
974
536
811
887
365
906
62
716
606
350
525
120
745
10
63
164
61
131
122
144
846
692
777
573
399
414
134
121
549
382
285
252
729
45
256
541
695
609
537
87
459
672
863
17
927
520
895
797
15
650
311
952
731
950
613
865
822
452
658
484
116
743
501
165
598
898
653
360
605
299
272
548
267
808
112
618
453
535
288
910
39
898
42
234
284
733
717
514
447
997
129
121
557
967
317
584
420
932
456
135
548
80
358
438
654
643
549
966
773
410
398
679
872
384
136
75
12
722
917
221
737
68
219
60
391
60
45
164
499
104
322
103
161
460
862
780
659
306
33
387
132
756
21
150
201
693
205
633
913
913
677
198
206
288
420
143
402
602
957
159
882
215
589
9
192
984
463
743
328
706
795
359
820
889
551
512
563
833
750
811
33
868
365
247
640
50
465
510
510
815
862
322
884
878
12
399
691
113
341
348
555
320
487
619
667
515
171
614
498
831
524
188
282
228
756
96
565
923
995
340
891
879
933
43
868
746
743
177
439
352
313
424
171
228
470
535
790
680
308
739
951
586
133
194
486
461
808
980
954
317
479
839
353
499
776
751
277
988
560
404
636
634
225
821
288
397
362
713
591
954
331
622
928
962
899
536
702
868
662
475
202
394
384
482
953
725
761
556
905
5
351
354
835
945
583
863
886
222
833
867
4
881
505
721
396
144
960
874
776
843
912
583
337
226
590
499
876
15
595
146
433
410
844
808
128
208
446
60
657
306
644
929
992
666
185
740
442
230
630
753
151
370
116
59
487
209
65
617
551
557
148
930
200
251
591
614
575
410
563
61
94
502
945
418
292
121
273
396
669
84
4
773
930
784
559
1
596
722
778
48
23
835
527
438
239
481
197
484
896
985
757
869
834
196
817
48
416
854
912
440
855
431
817
20
180
772
266
679
389
43
872
726
580
444
400
962
548
686
800
46
401
438
567
293
244
844
70
597
895
715
443
931
853
209
546
741
500
633
260
619
589
501
79
802
622
160
576
455
624
55
806
148
174
234
135
659
269
757
279
22
778
486
596
751
746
166
771
272
821
775
84
934
382
898
395
378
782
256
825
675
238
606
871
408
511
918
341
765
515
137
86
818
376
823
951
381
251
708
779
214
472
479
555
913
132
161
992
497
301
71
957
579
464
658
127
16
602
503
194
94
597
367
738
637
263
452
628
917
369
998
420
859
489
896
781
846
351
260
393
385
648
826
143
971
957
558
668
786
467
95
465
268
725
541
887
151
521
605
245
345
293
308
214
868
172
305
422
113
907
362
886
939
391
691
497
396
485
649
280
458
139
774
583
757
545
257
626
165
238
720
115
57
556
612
710
198
896
621
205
515
499
250
197
464
322
103
892
287
701
498
425
250
99
724
763
837
234
645
791
983
252
376
693
624
440
437
88
277
170
145
683
856
365
979
406
665
828
335
43
358
175
370
468
656
964
615
401
800
837
662
501
20
153
491
284
815
626
964
18
432
949
570
253
776
254
787
117
886
512
310
829
253
674
948
159
506
414
230
707
408
856
621
949
671
526
763
986
871
95
374
767
568
188
238
412
839
636
261
878
597
67
672
869
437
686
308
371
260
385
345
596
604
98
980
454
419
451
359
892
21
288
445
555
88
660
644
276
857
172
740
848
137
395
99
345
347
202
146
71
561
497
860
823
469
759
380
746
202
246
863
544
255
502
407
158
77
7
188
338
482
431
985
717
700
982
876
80
782
742
248
561
42
744
180
374
431
768
927
517
31
471
463
628
345
551
32
771
727
54
186
484
32
849
83
875
575
519
707
862
552
634
212
954
370
424
843
101
723
376
731
211
846
167
397
928
113
660
992
108
9
369
118
253
579
952
614
831
635
774
787
20
373
544
428
906
555
326
399
608
87
998
692
68
639
358
645
523
954
627
447
763
607
71
138
352
279
818
57
883
80
715
114
247
12
251
295
600
498
163
543
395
738
306
535
421
812
799
868
239
606
222
905
816
88
891
826
418
957
796
454
32
419
880
64
678
682
678
699
973
791
259
493
240
570
565
97
237
795
967
605
351
169
841
311
684
335
477
194
29
938
468
321
159
717
1
199
214
689
170
735
204
773
481
619
837
610
227
862
910
907
316
714
529
378
408
401
236
218
963
942
969
131
865
807
436
79
874
343
95
325
21
679
439
829
427
325
687
732
773
749
311
474
768
62
43
120
532
301
143
526
766
960
740
363
936
109
1000
390
486
893
730
16
253
217
775
945
855
176
234
611
798
146
73
191
462
469
206
208
907
372
487
138
659
85
325
960
264
130
872
308
380
392
767
718
645
911
493
503
373
283
252
933
360
199
143
734
754
903
85
400
964
309
615
456
69
105
198
583
27
390
121
498
281
341
424
558
10
928
536
341
371
927
484
853
564
344
572
631
458
916
440
671
782
496
252
77
643
16
592
305
218
189
290
124
970
269
57
737
726
15
245
47
205
442
527
700
408
97
558
368
349
344
931
729
230
595
849
722
58
524
5
953
109
18
59
588
401
52
991
666
509
715
335
520
635
344
973
940
867
89
744
761
906
243
567
791
381
402
194
412
75
800
968
682
968
219
166
522
78
476
594
371
448
848
132
760
505
714
797
379
243
350
758
564
310
87
405
601
158
943
269
895
854
488
58
816
25
895
578
20
674
60
600
131
278
234
49
932
680
820
991
625
748
849
7
336
695
203
501
700
241
821
354
324
513
957
156
923
686
75
906
134
902
117
686
380
911
662
323
657
230
7
453
794
348
275
726
557
638
472
109
946
219
819
385
179
935
805
962
155
1
122
78
612
643
78
297
845
214
118
991
571
867
819
127
468
854
80
264
989
911
264
134
288
993
744
560
452
828
618
761
827
376
394
256
884
311
53
722
950
37
255
126
126
625
383
390
902
262
759
637
292
478
637
829
784
431
528
197
65
36
972
429
251
545
158
2
305
479
654
416
453
491
122
317
636
797
37
687
487
346
387
313
887
740
772
746
870
270
576
837
553
100
688
703
820
780
747
705
643
751
60
579
350
475
131
396
586
122
211
420
451
495
411
262
73
33
672
940
883
268
367
603
988
64
337
687
339
361
975
240
817
882
331
980
12
460
285
429
180
215
556
90
822
805
677
248
387
375
102
412
830
611
298
806
156
535
994
620
610
288
795
894
887
153
982
31
588
510
653
937
143
254
325
676
634
424
723
374
223
464
779
816
412
562
785
803
984
995
247
887
264
250
215
533
296
989
796
113
645
564
88
386
773
914
1
281
385
137
313
872
692
923
817
404
288
370
614
98
217
360
446
278
843
841
451
20
353
836
892
151
67
964
205
912
244
554
179
15
747
209
223
154
739
799
421
231
602
415
537
705
345
788
212
506
137
21
346
885
980
280
43
441
199
235
604
307
157
646
695
134
520
478
277
97
508
309
824
600
749
621
118
752
779
739
192
970
761
837
27
244
694
418
244
721
243
108
342
247
338
465
6
429
844
692
633
597
952
839
486
768
398
101
839
336
277
286
59
760
993
390
818
966
851
484
527
501
902
807
659
777
897
23
818
861
656
104
320
355
701
186
530
892
762
65
441
630
624
674
774
930
854
43
400
95
135
717
32
635
278
566
949
40
524
249
971
450
395
308
23
923
176
63
439
229
118
972
528
241
554
127
86
3
444
894
221
517
294
485
319
147
16
419
988
257
45
428
561
414
965
335
121
999
951
838
996
588
577
933
413
816
932
911
286
736
522
491
160
880
133
660
943
307
699
220
400
964
218
885
328
555
940
989
970
973
371
537
479
32
106
366
216
896
176
644
218
136
339
794
437
761
751
232
264
956
496
925
389
486
790
918
282
896
21
441
442
716
411
87
98
822
799
898
216
26
937
850
527
716
726
395
773
86
29
190
518
79
54
118
707
675
799
984
580
572
747
69
711
628
795
817
695
625
393
516
446
109
24
777
169
14
418
980
801
802
375
639
135
634
645
793
881
887
119
132
663
964
451
548
287
928
359
201
679
959
46
976
543
14
582
448
161
353
647
48
731
789
706
172
304
623
565
378
684
218
271
689
629
88
468
194
304
203
664
858
224
892
349
450
848
430
518
977
591
853
968
877
255
38
692
494
793
422
773
19
860
979
469
195
867
235
594
548
55
198
860
797
707
999
605
434
752
977
177
125
869
695
344
737
714
60
244
295
13
351
790
99
99
433
921
586
936
855
793
225
779
863
804
918
405
554
342
900
296
556
271
111
234
633
479
357
505
563
253
368
339
504
847
28
255
775
385
629
694
696
156
999
697
642
418
752
432
987
88
698
22
962
53
673
509
757
404
641
742
368
580
985
675
820
275
262
829
363
969
607
679
194
109
146
298
23
310
465
936
579
391
212
67
736
747
372
104
507
304
636
174
577
293
517
273
410
155
585
684
197
179
253
736
106
870
35
875
328
633
103
540
417
89
258
514
273
221
160
272
932
606
744
334
993
159
307
799
135
210
637
23
657
228
936
903
403
158
969
310
759
203
86
32
589
828
245
991
178
917
180
614
206
310
189
963
789
382
791
650
427
955
695
611
476
581
93
534
404
148
274
113
688
859
958
311
640
837
571
519
875
26
836
834
391
572
736
662
425
593
871
525
364
88
694
249
978
761
918
683
166
686
641
706
208
82
387
577
265
946
283
612
458
915
94
745
447
538
651
807
822
88
538
236
999
138
515
500
558
399
290
734
117
738
719
958
921
857
403
775
266
857
975
622
802
804
43
519
496
425
923
709
775
319
742
782
933
359
504
658
410
536
963
278
951
107
951
977
982
786
906
285
750
665
941
343
920
693
711
199
336
857
724
27
626
630
514
663
140
879
257
975
515
175
1000
244
762
382
669
136
398
455
403
868
577
625
585
854
564
538
116
449
202
445
130
425
179
251
341
446
42
89
646
135
864
82
455
283
428
155
433
370
568
46
14
854
63
178
67
622
89
679
581
559
778
622
85
488
875
534
785
586
835
295
96
975
948
839
308
391
256
471
623
704
75
202
713
589
927
219
210
849
552
515
292
703
463
724
613
881
206
441
356
491
64
610
116
459
483
145
652
793
864
542
278
43
736
142
827
122
497
617
652
69
74
432
107
441
880
328
290
759
383
288
634
840
449
102
75
906
394
367
127
73
321
701
188
210
891
25
782
154
152
985
251
1
443
981
616
475
642
827
956
430
261
730
644
151
957
186
232
457
47
345
601
553
536
613
235
225
948
562
104
224
30
701
735
642
972
301
452
653
360
269
683
264
502
3
472
597
131
272
12
804
731
439
110
922
891
730
982
849
178
885
661
156
973
182
610
620
608
800
847
226
912
440
987
858
996
410
142
74
664
660
537
161
386
833
37
117
135
3
518
366
759
654
163
748
731
399
310
791
281
78
447
350
950
194
300
441
531
63
737
520
224
686
405
488
587
90
552
453
516
835
544
618
69
432
907
716
408
650
600
88
519
106
366
844
668
36
678
543
712
874
770
477
528
116
712
964
776
946
293
3
173
293
716
297
230
286
777
889
165
580
231
618
299
653
499
192
807
959
775
898
127
788
806
918
668
793
340
713
743
371
301
226
770
566
236
474
902
663
490
646
170
455
843
15
154
963
79
798
927
522
52
612
768
279
336
304
688
532
476
776
355
864
205
850
388
668
694
389
327
499
91
612
799
676
118
32
533
677
490
496
914
188
249
569
701
84
897
909
406
265
396
333
541
6
657
1000
658
403
156
487
624
580
702
599
82
554
184
396
403
19
325
297
741
903
93
96
985
196
446
382
493
438
494
181
523
264
18
576
153
568
505
703
333
165
518
799
409
330
267
902
108
211
693
400
488
930
272
870
837
102
980
568
794
654
554
453
293
41
287
887
21
414
35
999
204
842
57
227
476
445
594
766
474
163
783
442
598
933
647
84
55
271
408
575
906
572
285
594
350
979
293
530
878
351
289
150
250
645
653
413
487
61
550
219
168
386
669
9
391
309
715
855
686
895
678
89
2
48
97
585
679
510
124
515
941
909
151
780
33
422
206
342
604
830
76
359
301
181
376
386
830
772
332
886
944
878
140
945
907
536
128
415
984
655
814
651
420
945
187
648
210
442
176
650
646
915
328
247
287
58
181
562
528
186
671
374
380
74
178
939
424
728
524
806
164
83
277
175
151
99
234
185
331
267
834
65
42
263
573
260
949
415
181
488
19
646
443
179
301
778
73
902
907
453
966
186
54
404
492
626
488
506
242
277
877
859
756
97
27
121
350
683
874
465
95
579
260
813
362
227
437
463
133
13
85
822
449
913
396
728
937
984
437
749
367
306
557
950
573
986
96
812
870
564
20
414
331
470
404
498
858
176
863
772
60
368
143
622
312
748
79
462
273
42
48
72
308
432
853
653
963
887
703
751
668
810
575
883
288
22
806
492
48
322
166
755
573
794
42
964
514
580
615
364
281
40
48
835
899
133
812
329
905
320
210
715
507
534
59
593
923
575
288
649
946
768
862
360
281
924
96
175
161
397
873
844
44
545
732
223
953
987
90
697
170
856
89
371
533
657
686
282
555
453
652
224
932
829
71
171
805
506
797
947
290
514
60
517
382
578
99
203
347
710
246
203
70
64
371
35
678
753
963
891
927
720
441
451
469
694
430
397
150
975
890
732
889
42
952
4
538
996
241
733
369
443
288
629
458
700
346
702
312
152
555
983
514
184
955
376
65
340
264
113
327
270
698
384
185
612
375
981
111
123
979
221
304
288
465
964
971
151
515
313
145
283
384
424
86
654
510
943
493
688
6
747
222
901
699
59
163
355
938
487
242
626
753
230
276
90
309
513
529
129
788
275
384
279
990
311
513
440
953
326
253
20
863
822
726
264
348
359
352
116
14
468
47
651
758
440
343
482
935
262
80
610
936
232
135
820
135
145
828
115
423
511
292
637
741
943
97
213
155
725
847
936
969
586
303
195
332
850
830
161
578
493
603
27
288
85
55
236
663
259
536
511
365
129
966
770
406
35
591
875
9
87
593
770
648
266
381
743
592
245
928
431
392
651
346
716
686
265
256
851
600
495
171
984
794
541
256
741
908
838
328
714
754
755
907
463
102
1
432
145
326
894
527
987
491
452
332
604
682
249
459
589
519
133
110
910
804
167
237
376
250
639
417
856
13
568
265
974
573
899
822
743
128
516
315
950
244
253
100
153
989
337
396
812
137
64
627
444
334
74
792
665
305
267
326
650
263
288
320
850
722
491
814
757
784
483
111
155
821
664
703
553
181
665
465
429
180
220
209
526
179
806
577
671
984
328
507
487
161
246
188
946
113
779
505
909
913
282
461
688
982
412
959
166
642
480
632
239
485
246
110
134
253
467
238
696
659
699
267
869
121
235
975
403
944
536
11
309
854
218
478
667
126
455
943
212
770
660
584
530
355
434
163
787
102
55
876
688
830
262
887
724
136
661
552
871
28
863
897
578
800
377
930
284
582
347
738
719
423
486
135
930
169
894
841
306
667
45
763
903
40
896
999
976
855
932
586
979
25
987
869
232
191
830
586
88
153
854
429
711
621
657
876
502
239
981
563
811
296
221
310
817
52
717
204
360
906
109
819
63
921
312
701
312
350
96
800
523
911
814
351
652
496
568
81
98
912
976
257
982
6
760
277
288
259
567
947
491
475
799
593
137
764
725
426
263
369
843
358
712
243
255
589
136
494
823
856
950
928
8
168
561
998
564
247
963
361
750
637
180
129
299
633
118
642
144
766
64
246
853
566
494
140
757
721
833
821
13
549
528
31
234
915
109
418
845
335
944
279
26
20
3
890
994
71
299
915
320
818
607
277
226
590
711
744
68
815
680
146
729
397
629
819
265
807
8
369
954
156
698
324
847
802
118
563
2
727
72
697
890
989
327
690
837
50
743
141
968
681
321
553
839
434
734
855
839
397
717
177
471
43
215
619
848
517
329
309
70
635
903
587
681
180
86
535
49
857
295
407
380
362
803
737
5
642
600
19
755
294
278
898
529
510
423
765
584
656
410
470
718
824
555
652
255
223
295
818
666
305
432
899
741
887
515
458
453
352
113
120
44
221
71
87
405
968
847
762
523
32
667
647
634
345
562
655
718
562
302
894
143
416
867
801
607
261
385
236
996
904
386
749
398
325
818
807
348
692
520
176
281
408
756
21
323
550
951
540
768
187
15
99
44
524
494
918
528
719
317
310
304
544
106
386
846
740
835
893
663
39
145
560
115
363
753
933
999
617
218
162
997
825
789
645
752
119
179
717
153
218
887
827
421
579
132
755
681
390
544
462
48
906
508
122
660
421
471
705
731
334
551
268
443
366
549
748
421
941
790
624
600
189
283
303
541
783
347
433
638
56
220
681
171
457
134
642
918
416
22
717
841
124
300
729
393
554
172
25
192
314
489
569
65
529
501
315
25
46
755
707
317
678
2
773
505
78
204
645
500
120
643
733
546
321
709
22
433
920
122
125
644
743
265
776
694
850
782
455
672
282
827
676
865
921
145
288
414
600
710
817
112
112
757
474
858
704
879
960
751
964
321
622
506
751
718
810
690
977
311
532
239
577
104
612
899
981
524
606
482
763
872
675
295
900
292
446
724
271
1
675
686
592
287
147
615
972
102
868
680
696
152
17
213
598
44
565
685
646
392
709
100
930
797
484
417
293
249
13
425
268
824
847
537
800
508
782
122
491
603
327
330
746
447
746
832
242
118
217
561
604
382
186
293
54
387
430
907
26
520
721
221
470
380
190
604
611
76
693
950
435
882
536
208
74
854
873
353
540
162
994
619
5
762
500
811
896
506
35
751
629
954
879
248
705
959
178
499
253
564
18
505
813
857
858
899
324
243
64
574
814
977
416
629
268
945
502
455
488
386
828
225
549
674
376
659
635
331
30
693
601
157
8
631
607
740
967
370
588
633
952
604
75
170
709
213
143
234
188
663
847
290
263
889
523
647
763
23
786
220
941
321
857
33
410
818
115
324
390
582
406
391
838
885
679
262
656
279
18
836
717
343
947
424
889
821
202
498
576
973
821
29
563
229
486
992
110
664
539
517
303
356
5
669
635
460
232
32
709
689
482
114
672
957
930
98
768
113
19
581
909
93
74
811
734
280
400
333
17
577
826
132
571
486
806
100
75
495
739
113
341
195
129
90
573
851
572
135
145
605
314
292
241
73
325
494
466
905
395
990
200
737
763
920
46
105
162
736
156
50
11
847
657
606
625
202
637
842
2
534
365
875
706
640
514
99
828
357
168
901
832
907
280
305
310
857
110
299
362
248
841
100
318
379
245
223
12
306
795
46
664
382
43
482
713
63
453
500
594
748
134
491
572
668
63
875
199
678
468
969
872
359
10
801
290
7
286
512
268
936
953
966
535
14
485
449
626
497
143
644
911
65
272
615
165
381
431
190
769
669
192
947
838
544
663
18
72
780
909
30
119
806
501
821
592
421
353
8
631
690
858
80
132
971
86
492
278
803
477
94
62
697
15
362
829
967
364
87
727
349
801
603
99
561
83
134
522
917
587
586
180
771
129
940
694
877
906
414
386
722
895
743
157
499
875
249
836
679
946
844
889
61
56
755
853
790
604
558
697
48
573
46
613
71
77
580
404
658
370
802
700
589
618
61
767
217
711
421
517
54
457
889
669
314
291
380
708
274
494
964
381
749
562
176
33
183
981
475
962
630
158
506
358
393
702
450
78
186
504
575
697
486
366
110
803
149
992
672
470
495
221
776
203
762
338
426
423
286
109
366
744
773
970
359
856
795
468
747
837
968
570
661
112
329
9
451
60
103
130
301
494
387
55
546
866
292
139
899
23
709
789
659
825
206
759
976
731
507
887
432
697
639
110
497
411
93
288
936
893
306
11
841
988
347
80
796
119
921
823
592
948
750
739
61
262
908
213
806
500
921
220
86
806
326
996
631
396
880
627
935
343
832
387
443
571
482
453
93
969
765
290
883
63
741
635
486
618
693
483
436
843
989
902
99
646
991
822
454
523
82
165
689
193
292
808
767
90
121
923
389
147
893
149
270
105
370
944
196
746
437
171
141
34
352
685
629
128
470
194
569
652
322
212
78
370
690
232
153
672
566
589
601
827
978
639
362
52
242
993
192
812
543
556
686
631
725
19
808
929
755
273
400
37
645
945
642
600
514
878
54
37
96
916
441
588
218
794
116
749
701
298
869
574
674
75
379
406
518
696
202
84
537
573
60
580
961
363
850
307
93
338
708
56
226
993
504
631
489
867
328
778
898
138
905
916
721
60
369
534
724
735
518
827
983
1
465
323
738
482
624
774
187
927
65
565
208
52
599
247
761
995
372
578
103
380
405
617
29
714
204
22
45
518
562
684
780
155
694
199
944
788
106
539
843
294
968
417
790
225
331
530
759
119
191
824
280
555
304
387
869
345
626
401
272
182
446
808
417
862
609
26
239
936
681
52
489
275
575
799
214
559
936
343
871
154
531
40
897
180
6
144
163
846
628
652
916
252
50
578
723
978
716
755
419
703
246
577
283
4
37
786
479
282
362
536
312
407
435
478
999
339
280
537
457
427
752
397
87
531
725
431
651
430
281
968
105
184
731
347
715
266
426
155
839
308
603
411
533
246
981
237
520
504
409
731
145
600
645
332
626
240
254
959
317
507
690
623
689
245
870
966
451
101
912
441
564
6
283
434
886
21
272
635
858
609
583
432
942
402
856
909
480
399
58
250
284
409
70
56
525
222
220
61
437
668
188
249
940
213
487
209
529
227
672
832
683
380
546
167
608
886
891
274
337
473
658
473
98
35
149
220
370
874
434
188
241
346
148
812
525
491
845
684
593
931
299
704
13
906
488
809
923
845
513
451
503
254
377
725
77
34
369
190
80
578
779
985
658
89
813
801
656
645
865
627
590
435
764
960
526
467
195
359
907
800
295
774
35
999
303
119
341
93
254
905
548
782
907
572
554
38
507
385
202
484
517
331
74
197
158
519
129
606
443
972
297
224
421
573
115
822
495
126
108
482
23
167
898
709
878
210
968
373
288
541
570
834
63
590
555
1
291
127
776
457
641
237
272
30
738
111
687
326
441
163
218
852
452
889
931
298
427
197
459
421
618
611
957
798
144
908
656
373
185
236
533
322
730
705
419
299
59
766
331
494
766
437
931
275
991
589
810
414
486
30
703
12
296
117
860
274
110
968
528
253
810
120
900
488
328
666
967
263
712
463
396
828
192
36
953
537
127
140
10
293
956
800
345
87
632
813
827
713
604
345
507
912
73
250
372
313
121
177
251
533
344
365
379
732
742
266
730
687
1000
767
504
241
724
851
97
552
871
1
461
134
396
477
30
123
60
914
264
542
517
343
445
588
971
803
557
155
202
248
979
825
263
290
212
588
937
681
83
386
878
88
679
385
463
874
792
577
524
93
771
888
533
844
525
497
283
462
862
474
825
750
476
150
202
628
687
887
521
96
441
997
54
396
214
659
325
590
160
554
623
577
290
856
945
713
504
908
191
815
16
635
294
289
94
254
95
539
60
361
952
612
173
829
521
219
371
252
629
934
832
842
909
343
986
815
683
363
896
275
632
807
907
541
927
460
84
663
829
623
234
609
275
109
240
218
545
137
29
580
978
441
748
904
571
174
609
328
476
868
446
341
623
792
222
685
132
537
617
633
766
565
324
550
376
738
911
497
216
574
903
439
16
81
256
301
919
532
563
724
747
490
99
871
555
715
325
45
123
308
566
194
852
633
350
629
503
66
366
356
369
606
38
519
761
732
515
354
129
679
220
924
761
458
227
630
753
548
388
213
869
166
545
443
986
426
181
263
34
489
538
445
766
21
576
165
190
889
162
73
227
49
492
515
17
993
103
618
273
973
768
791
311
453
192
89
632
872
725
543
501
878
217
232
522
630
751
394
67
637
222
314
331
874
644
80
894
593
622
547
957
321
643
24
810
48
709
246
685
471
372
182
857
485
397
109
778
826
150
151
33
861
269
210
140
51
365
766
551
553
274
577
729
748
883
688
865
210
644
477
583
796
687
720
999
96
874
749
632
394
214
828
931
714
836
829
673
264
83
114
66
752
372
298
154
681
189
230
64
664
930
89
672
240
354
970
539
437
93
713
316
566
995
23
396
333
77
102
258
362
533
134
837
674
523
954
236
490
468
153
295
950
170
677
823
10
363
718
820
822
252
303
618
340
162
553
683
805
679
985
771
974
574
628
223
691
349
933
469
435
462
654
203
6
174
915
291
378
460
675
193
60
646
674
563
30
253
719
755
380
20
883
127
386
258
767
444
588
466
495
140
840
632
515
898
14
745
604
833
173
831
680
531
610
265
185
340
81
181
817
610
943
585
316
17
661
146
916
723
344
704
751
881
535
282
237
914
487
712
964
72
534
54
142
5
978
647
10
474
128
989
898
869
723
624
838
899
11
875
707
682
159
582
900
471
535
946
428
418
613
222
176
112
902
280
748
103
376
972
990
259
302
857
789
607
264
61
209
236
420
976
370
990
733
30
704
887
981
11
442
663
844
271
181
397
271
687
412
896
624
416
744
431
796
352
344
436
636
661
810
987
514
943
299
255
794
366
226
604
318
603
268
702
737
494
718
833
683
163
469
566
303
743
22
95
668
939
968
837
906
437
313
343
687
547
886
173
876
515
806
152
733
712
664
343
47
196
624
146
974
255
133
171
156
159
312
902
904
729
371
746
849
312
602
719
468
405
591
919
346
487
295
911
838
574
548
356
62
644
372
501
774
356
194
667
746
407
699
477
729
490
587
384
919
28
941
995
149
800
271
798
686
98
537
169
609
302
633
934
203
600
869
361
751
152
967
180
355
120
969
95
162
899
232
342
459
312
390
999
650
743
750
137
19
945
98
419
563
763
317
398
854
108
498
608
111
311
493
524
141
415
965
607
830
47
21
913
172
284
480
252
647
296
648
430
887
627
251
915
199
710
821
160
464
527
414
899
342
429
991
974
537
743
194
617
23
194
525
674
833
118
124
956
943
134
457
736
279
224
203
468
681
162
573
922
877
824
86
288
216
217
556
284
908
991
686
909
11
775
190
322
257
954
795
231
86
367
864
323
911
14
582
505
768
33
851
143
931
102
91
86
29
949
109
959
454
824
98
126
594
653
595
754
515
58
936
608
247
605
325
565
755
451
161
364
7
11
664
744
297
394
158
977
104
150
599
776
360
291
68
692
919
625
969
402
397
234
637
763
337
275
894
84
812
390
848
851
161
692
898
63
565
692
464
379
535
543
454
553
205
668
828
992
538
177
948
815
132
487
547
513
383
192
295
148
148
554
911
38
895
952
696
68
592
238
176
64
185
236
276
172
609
559
55
799
713
487
593
491
349
930
48
50
147
370
249
319
166
265
462
317
712
587
100
809
88
58
244
17
935
169
797
845
140
246
978
950
982
685
650
964
300
948
671
430
1000
95
49
344
137
413
189
700
135
184
939
134
456
750
448
552
176
802
77
640
469
284
737
272
966
351
62
131
316
610
767
317
42
240
382
300
980
681
334
374
146
257
964
640
889
517
690
679
561
63
953
247
767
352
987
758
427
275
735
841
532
325
423
968
478
834
412
997
287
20
930
497
867
622
236
883
704
455
536
713
1
535
741
2
366
353
758
998
578
459
548
724
848
762
637
474
236
875
94
614
601
369
277
257
493
32
767
837
936
91
14
143
909
901
185
153
656
759
555
851
646
374
616
275
144
1000
727
249
841
404
761
600
950
634
679
169
482
51
404
602
180
165
657
742
703
636
658
388
243
211
722
375
677
463
803
188
750
950
11
769
536
817
939
820
617
907
418
625
985
191
968
363
678
669
793
936
545
950
612
595
349
371
41
1
598
898
484
939
158
9
718
562
656
435
431
946
177
940
993
703
532
284
644
593
663
134
95
415
347
980
278
894
466
16
597
963
527
583
561
616
989
972
160
445
248
320
633
109
767
872
598
211
968
119
614
518
950
163
370
998
10
230
617
897
262
387
875
970
330
408
720
6
211
197
151
18
943
344
119
787
620
200
852
993
635
316
948
819
774
218
605
746
926
268
516
238
731
793
123
138
435
759
950
926
601
12
675
397
82
504
458
958
844
2
783
481
808
462
741
594
884
659
262
331
726
665
247
335
597
451
959
165
885
265
299
807
463
377
806
209
82
493
294
488
443
413
59
494
380
484
501
564
881
27
820
642
271
187
159
417
968
594
221
756
655
812
893
525
593
799
877
826
63
514
669
784
605
347
469
293
795
284
786
532
811
579
568
660
906
240
629
791
241
811
79
301
207
787
194
487
497
486
898
860
717
348
600
684
223
471
653
879
235
618
92
92
4
81
653
560
952
562
269
362
251
652
392
802
299
596
517
960
855
764
223
897
432
673
901
605
676
429
86
548
50
224
991
581
168
835
372
87
456
162
367
408
679
474
308
49
48
405
787
658
234
737
475
490
664
629
262
937
858
315
309
692
450
203
518
297
726
972
712
162
187
517
595
594
701
538
129
49
236
157
559
574
61
196
710
395
556
639
572
692
456
397
409
851
433
650
808
949
407
984
151
749
883
10
953
249
895
362
411
698
874
819
273
60
831
781
835
65
814
473
495
393
476
89
750
11
971
531
988
367
92
514
696
972
749
628
974
881
393
316
324
715
6
890
772
166
580
395
282
383
829
565
294
227
26
180
958
164
446
816
308
462
898
388
182
474
202
896
172
952
283
471
255
809
773
155
63
215
593
860
923
656
45
584
909
436
338
301
149
99
335
858
534
433
524
903
810
34
870
79
742
894
263
701
669
117
720
692
330
644
378
832
239
853
586
249
277
961
53
651
411
463
142
20
584
223
837
364
947
433
840
618
509
386
547
25
211
871
357
122
197
82
876
963
741
93
124
396
915
344
745
973
536
60
586
562
414
229
718
870
166
565
151
823
134
865
15
214
67
331
969
119
238
684
928
306
639
388
3
296
735
867
700
774
3
398
32
760
160
261
151
348
540
803
545
817
556
307
616
632
565
958
674
164
744
715
994
983
757
626
612
223
130
949
946
803
207
498
177
297
520
749
560
841
189
613
463
730
697
239
25
340
36
843
733
546
732
383
114
94
708
816
5
270
291
796
528
768
940
941
987
887
397
197
405
44
72
419
290
136
413
16
542
440
919
384
109
622
212
920
126
876
306
574
775
419
786
290
40
318
126
172
876
153
783
899
21
91
29
715
857
751
692
335
248
680
116
211
279
318
693
918
135
116
242
865
174
853
386
139
403
259
799
51
147
764
897
891
709
587
78
432
181
373
103
13
409
296
601
363
292
887
952
909
223
811
999
989
487
532
136
269
889
32
335
654
673
807
577
159
76
900
959
549
469
72
500
1000
126
114
275
717
78
910
46
200
418
83
20
822
653
1000
684
475
405
436
936
325
830
423
912
103
624
693
925
962
361
637
971
655
242
899
71
661
8
556
568
957
911
333
130
305
137
462
855
310
17
601
359
980
686
683
132
236
598
711
789
594
428
266
33
263
492
951
314
24
703
82
170
533
518
659
202
186
52
95
477
235
731
211
896
656
433
720
748
150
67
819
216
760
920
507
92
810
910
958
326
252
95
591
317
58
400
513
80
2
534
618
455
12
521
979
610
314
69
107
934
719
272
285
267
783
760
455
135
997
477
88
278
834
737
35
306
267
26
615
742
326
358
109
95
353
605
370
813
889
340
490
172
559
216
318
195
858
795
187
681
517
32
347
305
978
359
472
522
584
390
110
725
254
816
71
683
809
976
575
798
596
915
463
134
737
501
855
487
164
293
464
988
570
418
167
855
542
683
567
957
456
477
985
790
140
836
753
307
923
180
734
821
477
830
704
820
726
423
596
157
231
685
662
494
638
888
263
299
204
476
354
971
937
977
724
842
591
355
713
934
621
341
411
332
205
165
350
951
617
308
289
295
552
568
976
524
503
760
728
788
896
865
231
302
517
254
223
100
704
940
638
732
858
446
313
457
137
983
629
601
571
110
268
853
449
948
854
237
518
319
382
355
473
896
224
332
209
559
952
514
554
661
411
650
515
865
273
730
612
512
739
86
536
245
239
697
186
741
691
826
128
968
371
279
647
340
488
597
880
497
360
436
936
214
429
241
544
137
462
71
507
583
978
104
195
686
314
895
335
515
777
971
638
635
13
682
160
756
60
551
835
741
545
538
352
292
168
735
361
994
873
24
37
311
126
119
182
300
300
263
387
491
480
536
240
427
904
395
211
798
867
581
649
4
157
980
249
205
2
368
496
638
38
229
804
30
71
3
534
443
234
160
620
790
697
520
274
526
258
56
135
778
979
264
251
245
566
831
513
757
272
953
485
276
4
165
104
479
692
920
406
800
168
533
212
928
542
260
758
353
509
475
324
472
118
886
256
143
266
735
204
363
600
711
16
889
556
120
476
239
987
466
20
472
207
204
602
562
287
877
151
962
162
231
412
182
405
200
550
811
543
834
548
425
458
340
326
269
692
432
501
409
456
56
880
321
793
425
111
493
558
979
379
698
889
537
696
44
371
441
121
757
381
933
174
951
988
344
846
291
345
963
859
552
727
560
230
561
245
661
800
906
778
609
100
101
878
340
812
589
212
589
141
108
627
921
603
430
63
607
96
446
357
836
629
870
437
194
756
593
539
641
587
873
854
448
233
56
432
682
668
552
291
878
302
67
400
440
991
950
612
218
830
615
704
413
839
643
362
656
550
106
351
651
610
93
124
262
717
199
816
304
613
929
893
566
398
637
750
804
114
575
181
547
432
102
968
527
268
915
800
512
316
405
337
73
844
899
549
606
542
568
360
503
871
292
233
939
157
581
575
166
610
964
753
569
564
907
62
967
500
423
196
837
827
16
673
187
962
495
152
771
13
510
803
238
210
344
708
580
324
641
777
940
466
244
818
442
55
259
199
201
225
788
24
99
634
513
841
207
452
459
716
985
274
830
893
488
878
730
401
880
996
1
675
467
761
130
685
328
55
392
126
369
787
946
918
302
25
619
663
582
978
490
720
864
77
198
237
856
770
98
841
800
203
5
665
937
650
301
53
470
423
574
585
505
993
833
49
367
230
543
589
534
997
401
537
111
802
799
398
429
863
405
1
883
741
125
135
553
608
19
828
520
378
384
46
21
158
318
759
775
883
569
231
855
624
370
873
468
728
240
244
879
889
481
560
518
257
170
621
957
915
3
190
109
392
244
676
442
410
392
438
453
726
902
152
951
742
436
461
913
555
699
549
827
259
835
401
454
580
760
220
893
401
548
910
676
333
191
566
383
241
599
653
911
570
752
901
136
370
247
1
115
172
332
837
441
247
716
371
560
304
33
253
129
429
902
917
544
866
912
200
781
311
721
530
630
502
681
298
172
277
53
356
130
681
926
484
299
409
424
283
837
623
621
174
624
137
882
116
239
96
18
183
382
494
713
384
700
343
191
971
71
845
958
991
352
661
799
66
493
265
867
173
687
411
856
732
949
930
751
458
74
461
574
211
462
186
889
598
707
354
564
142
130
184
415
669
715
697
956
959
984
226
370
803
417
558
243
381
955
214
340
251
966
882
878
300
820
854
354
752
873
200
954
663
232
494
973
390
141
145
495
183
211
764
739
417
7
552
172
944
690
389
415
734
517
155
487
252
999
837
689
4
440
149
728
305
386
684
275
584
243
152
252
506
947
848
567
745
123
311
884
519
573
87
305
891
338
597
496
386
777
401
889
722
312
539
58
287
522
232
301
554
271
930
714
789
405
614
794
259
377
267
690
648
807
660
771
518
620
944
70
506
891
35
541
358
938
480
758
70
536
300
873
171
316
275
167
587
591
295
516
679
841
697
433
718
51
924
128
543
965
495
216
130
21
8
266
584
454
814
379
389
580
102
394
810
759
336
98
997
918
398
48
722
809
311
205
633
341
141
618
590
459
506
817
957
23
171
399
668
67
325
547
540
613
511
850
549
970
638
853
754
56
127
228
115
814
80
313
714
254
264
32
799
994
837
906
597
409
4
924
108
696
191
556
914
187
932
55
607
261
351
536
584
41
64
983
843
881
320
498
872
331
424
583
893
849
847
197
542
79
920
659
505
857
701
205
789
497
408
150
39
83
810
165
800
631
94
131
660
52
27
394
8
743
672
25
494
512
542
863
387
300
821
692
701
803
203
894
359
673
989
346
678
477
287
76
151
912
583
450
839
138
458
249
682
213
961
27
692
753
965
565
309
942
891
63
152
909
322
962
25
323
348
927
324
776
12
573
921
156
800
978
178
739
966
890
19
183
394
796
860
954
847
726
787
955
658
701
563
313
408
277
928
326
639
491
191
554
440
832
276
926
603
579
257
501
79
938
875
233
710
949
725
680
500
65
576
103
287
607
764
801
253
79
740
880
616
451
598
826
776
58
867
432
354
750
939
633
840
273
243
750
18
633
684
509
964
373
931
946
137
288
842
946
44
69
693
792
996
782
909
497
741
884
673
141
108
681
131
670
382
754
919
848
797
898
367
102
398
540
81
68
559
446
521
495
570
752
872
25
75
17
730
66
597
28
103
626
28
565
782
482
767
177
408
536
124
319
463
529
733
834
954
563
953
904
792
7
685
24
745
488
589
491
345
573
415
192
345
682
72
156
142
538
65
501
91
136
172
870
780
850
560
432
145
762
63
800
790
741
11
16
956
85
828
846
415
797
596
220
962
675
914
583
266
421
691
303
631
955
944
44
564
930
281
194
149
219
536
16
928
793
900
186
354
3
7
769
917
715
639
497
743
152
119
402
769
587
985
503
637
200
264
225
69
526
501
695
824
938
717
864
275
485
637
656
284
263
870
997
335
190
167
605
801
695
577
912
831
383
44
324
573
150
17
311
373
602
677
501
124
856
706
19
184
1000
905
805
122
508
563
557
105
932
194
227
922
31
173
715
451
303
810
511
923
575
637
585
443
910
8
698
66
579
656
707
177
274
486
108
60
48
744
268
308
692
644
298
161
386
717
518
951
506
398
796
597
401
847
838
458
813
587
671
957
354
327
137
67
130
224
233
143
159
948
488
610
715
124
409
695
91
120
201
736
576
681
611
596
634
647
743
369
362
793
131
868
310
888
186
348
665
229
371
555
618
201
107
454
437
946
461
918
439
820
123
291
535
123
59
921
526
556
472
723
619
934
395
354
933
967
333
815
894
339
837
157
505
885
799
504
440
393
567
792
793
460
681
444
109
861
127
737
995
99
572
726
233
150
912
431
800
954
846
450
629
827
906
267
245
853
515
340
648
244
210
444
942
816
120
864
235
42
149
779
293
545
86
562
265
551
44
801
561
551
214
550
623
355
905
705
897
791
233
395
778
539
637
15
702
969
594
821
826
398
528
20
926
900
926
963
265
616
92
319
169
578
831
108
956
188
551
71
705
833
953
148
42
607
522
760
784
736
474
187
788
89
698
574
823
144
492
20
595
838
577
726
362
19
936
441
672
647
547
288
888
425
946
573
97
331
864
394
887
347
908
693
276
777
338
866
753
721
550
257
6
619
765
613
395
329
788
71
665
821
419
382
683
443
249
822
243
669
142
694
66
368
630
435
209
965
843
35
996
275
346
945
459
418
447
651
21
982
112
853
822
522
607
523
644
552
414
175
874
426
717
345
330
881
22
626
36
577
36
601
263
646
985
668
207
141
969
65
721
274
773
360
406
494
809
307
178
823
503
228
180
275
487
37
503
911
420
602
745
792
135
372
861
102
50
144
114
794
506
352
189
376
718
508
695
874
567
296
348
595
339
337
95
25
789
821
330
101
677
78
126
128
968
609
115
834
475
292
235
372
596
260
59
634
156
435
870
892
112
802
910
594
996
310
500
144
554
699
832
637
968
652
285
773
440
435
37
692
666
545
636
6
913
10
890
122
998
637
152
839
452
923
609
291
554
351
667
529
707
476
914
430
855
560
406
169
249
494
243
175
873
423
476
363
298
769
397
443
533
341
192
268
715
829
725
523
92
248
969
524
824
863
219
539
594
680
764
845
850
868
124
669
814
346
324
285
37
373
930
780
371
141
706
454
739
301
865
351
933
821
820
194
35
817
238
848
694
789
988
499
673
231
262
941
546
705
743
689
390
303
208
202
625
873
362
103
910
513
5
177
147
610
882
844
173
146
663
994
726
65
573
335
586
266
104
871
585
176
106
711
367
907
298
207
340
746
921
310
260
70
790
111
292
821
514
790
183
358
996
542
387
844
641
640
615
324
876
448
282
290
680
101
760
874
851
535
188
724
624
763
799
295
71
579
416
513
469
377
772
753
404
416
803
626
960
621
906
333
754
5
442
249
944
868
418
957
577
210
392
155
826
209
111
764
703
193
299
47
848
255
313
780
825
569
93
326
197
487
942
962
283
711
197
994
170
180
775
947
983
848
919
649
889
154
197
92
588
862
956
774
297
892
999
631
328
915
178
781
439
783
10
33
46
306
129
522
244
503
632
899
348
205
910
211
315
824
559
971
970
159
379
979
462
353
244
88
714
504
841
508
954
969
915
177
582
96
641
453
742
999
183
601
961
981
364
616
138
376
545
453
977
930
537
72
683
311
340
628
376
950
32
702
199
260
948
752
556
188
578
848
258
176
293
301
596
872
76
46
557
349
942
487
414
166
621
33
949
327
358
764
406
103
435
497
89
702
99
999
179
982
103
278
975
776
26
679
250
869
818
964
829
382
812
710
813
110
543
100
94
364
301
649
947
985
272
469
505
509
524
453
872
908
814
138
493
926
425
73
117
813
778
245
401
161
585
474
719
626
683
717
253
561
508
923
807
957
365
389
59
646
264
609
193
415
120
216
904
529
540
949
828
194
240
558
303
635
400
141
239
811
883
723
557
250
308
811
306
150
444
230
106
660
205
829
997
214
861
510
117
916
704
629
925
206
520
996
782
472
697
614
836
859
698
793
85
229
923
472
391
145
707
422
9
764
297
502
862
763
179
299
431
736
64
260
596
44
151
950
191
763
54
124
369
177
891
134
64
285
619
600
988
893
633
355
645
171
23
462
755
9
646
453
364
100
359
42
656
461
320
248
126
986
283
267
391
748
182
425
320
958
114
267
609
897
35
136
177
675
107
639
951
374
629
7
726
986
947
696
778
568
547
528
817
212
766
290
692
747
242
11
977
568
227
28
209
637
376
592
59
486
487
979
201
999
913
976
942
872
85
196
976
881
625
870
761
560
49
627
91
402
941
342
410
480
782
264
292
245
324
528
304
310
527
602
155
231
579
420
633
641
454
734
333
632
800
677
611
909
681
684
483
111
848
670
440
630
765
787
267
436
563
226
991
688
484
209
26
359
120
768
436
723
943
949
987
311
210
803
316
854
306
878
129
805
973
988
788
289
722
681
57
680
855
208
34
572
225
753
510
609
815
377
82
489
670
398
359
477
567
934
508
913
3
920
204
562
770
226
775
92
416
408
952
633
345
232
191
162
190
338
959
379
351
355
719
901
269
283
634
801
92
219
135
989
879
351
590
474
379
687
272
299
730
152
717
811
125
554
327
987
609
390
794
731
695
628
489
401
409
420
497
374
697
147
358
72
905
333
917
757
125
746
899
323
818
417
949
516
40
430
927
242
970
63
179
128
219
254
354
63
580
465
110
256
427
678
678
205
13
679
860
118
265
790
475
497
511
880
683
16
752
871
860
366
731
902
936
424
66
996
167
986
117
390
343
279
135
624
332
682
430
142
682
370
987
407
722
96
969
486
248
971
42
648
389
877
290
753
718
106
776
132
2
936
481
200
261
98
424
279
927
516
277
953
28
293
652
836
209
604
583
800
374
106
379
547
437
455
197
926
423
777
160
529
728
248
784
916
848
492
828
298
329
140
401
602
969
751
298
651
559
241
132
599
548
143
721
872
95
278
622
604
868
903
417
958
830
968
570
790
995
918
248
825
797
368
472
880
297
56
381
709
892
727
183
729
620
973
582
204
391
598
71
504
705
795
509
659
492
246
843
782
727
311
636
877
378
602
324
160
65
581
774
341
533
306
746
198
662
87
336
404
297
582
349
791
589
853
783
162
914
987
344
286
687
137
927
970
538
292
540
937
387
624
17
792
954
16
176
527
70
251
779
863
995
388
780
237
600
55
844
354
893
742
82
100
867
691
230
2
51
639
298
613
476
526
808
918
981
210
327
347
926
431
938
18
389
503
670
631
910
692
675
794
646
857
108
650
587
655
256
382
141
561
462
531
941
29
758
124
242
323
958
249
598
973
130
93
866
324
23
443
703
364
9
281
885
866
547
468
730
895
7
407
863
893
919
265
334
897
380
559
864
899
380
883
604
26
274
118
312
991
509
732
343
212
953
674
142
136
877
907
222
514
707
896
747
850
173
151
935
775
342
557
429
855
365
305
710
223
447
171
370
470
677
312
792
415
859
955
347
766
451
126
762
156
990
67
682
733
185
80
806
305
960
329
169
5
297
576
294
605
698
892
959
887
421
157
281
921
446
552
648
728
285
303
806
552
333
670
54
888
464
527
79
492
949
909
419
830
577
613
947
797
103
235
31
109
700
66
230
443
173
901
491
267
77
115
796
330
738
364
134
912
407
842
500
317
416
342
317
499
273
284
335
438
76
471
586
580
497
574
412
694
858
265
944
543
491
459
644
58
673
345
717
115
890
783
227
597
112
127
752
139
27
759
297
855
931
445
934
401
42
110
378
880
555
806
269
528
685
428
462
553
250
234
9
223
110
307
868
109
922
912
568
352
205
107
212
991
689
80
211
663
270
413
120
435
671
893
752
152
86
531
542
429
662
196
763
341
673
599
781
945
619
435
12
993
303
148
595
581
138
134
135
34
546
190
995
13
344
678
775
696
421
171
591
899
871
331
668
155
940
365
615
130
859
716
432
185
600
548
963
580
143
202
27
589
623
28
891
728
58
910
142
442
996
364
208
827
535
292
989
398
613
362
102
488
425
498
231
589
60
167
934
837
206
971
65
890
861
552
648
640
519
2
656
564
222
717
621
32
200
178
449
549
576
189
104
751
727
942
67
928
484
663
587
26
273
726
803
327
693
844
724
497
780
349
940
275
393
648
663
835
731
651
373
800
989
323
907
930
550
571
299
757
919
335
69
819
799
108
934
692
340
95
118
725
606
895
516
225
719
862
6
866
997
326
72
255
627
400
764
924
48
455
693
480
304
224
447
314
50
111
297
19
779
523
534
662
102
951
129
142
597
75
642
112
805
395
482
397
470
756
687
386
993
661
367
625
381
462
822
714
672
344
144
663
954
528
804
55
582
262
322
732
147
984
617
221
86
510
49
788
546
213
494
838
273
943
995
360
839
870
678
250
489
535
652
636
248
111
556
792
692
325
262
820
984
494
7
52
328
910
871
32
19
112
101
34
635
681
254
268
727
806
493
359
574
280
687
186
193
528
131
896
783
955
812
750
251
193
154
477
262
803
84
983
533
603
70
575
688
80
528
364
100
266
593
112
551
56
813
634
440
203
756
764
531
104
862
28
893
71
147
435
797
996
497
198
800
177
394
775
145
606
854
368
928
228
260
890
157
470
558
455
974
892
958
652
811
926
899
216
190
496
550
232
202
775
485
653
441
455
552
770
321
682
125
224
244
258
89
311
53
768
926
612
577
92
235
420
817
99
835
83
531
439
388
92
541
32
121
693
81
223
794
887
885
629
541
870
550
349
591
407
881
585
159
136
548
700
978
516
437
385
79
994
445
946
375
958
363
648
569
246
684
721
690
259
848
860
305
261
473
29
55
48
574
955
748
963
665
929
635
220
872
457
868
558
879
860
398
550
627
123
716
277
147
174
923
683
820
319
577
638
661
704
647
623
917
563
701
16
405
465
133
130
512
957
836
528
725
801
246
658
895
453
65
498
140
582
331
743
498
178
674
46
944
259
774
965
358
250
51
538
406
879
545
902
51
818
844
937
601
380
593
699
763
263
870
326
198
753
202
165
421
775
517
110
734
903
687
526
62
768
618
670
182
290
13
240
868
834
50
503
874
681
229
519
546
184
524
92
62
593
821
440
961
809
336
50
677
274
336
806
225
787
28
295
96
276
909
135
644
471
240
269
946
980
543
442
211
487
198
494
264
641
258
682
574
783
615
956
558
782
479
29
634
147
969
108
567
31
265
354
231
938
399
500
775
723
251
572
565
958
725
312
979
852
418
745
294
693
297
305
456
210
37
71
473
363
704
960
541
781
430
178
783
506
540
829
659
742
381
350
687
31
742
362
104
637
329
586
482
974
231
734
142
562
701
633
387
383
841
434
206
443
1000
394
119
71
773
651
258
738
501
348
613
167
77
703
607
147
692
881
824
690
874
58
739
164
789
674
788
589
336
682
957
536
978
534
352
977
638
770
881
996
205
326
270
485
383
99
115
810
670
888
576
977
238
543
620
6
352
80
415
55
762
505
611
344
198
359
755
76
672
294
6
366
839
531
663
639
31
724
753
116
936
560
62
738
96
427
565
351
528
597
146
49
822
688
876
323
994
607
889
53
243
782
63
481
487
252
308
951
243
118
238
656
963
913
419
580
426
687
160
573
153
6
54
792
105
582
63
767
116
974
969
990
618
634
460
234
201
617
914
789
483
403
219
403
570
637
599
11
116
61
456
264
615
548
722
457
107
940
55
717
900
359
493
179
290
746
865
500
480
651
323
198
92
730
867
255
716
959
611
880
910
321
867
576
960
603
796
430
490
993
521
120
690
351
108
200
556
395
729
111
5
571
691
779
180
998
714
813
546
765
21
72
613
790
328
824
248
616
798
811
592
792
382
245
503
966
734
227
340
393
68
77
619
342
922
820
757
802
750
427
679
952
698
445
535
116
693
336
162
274
186
169
195
784
528
339
948
642
938
603
268
477
491
65
559
479
354
674
128
649
755
471
758
55
811
30
200
288
394
544
863
930
664
549
534
647
781
541
399
473
553
655
992
958
476
114
936
96
694
391
525
411
898
889
240
101
77
466
285
910
340
342
96
285
738
726
561
374
115
44
410
701
553
760
770
613
902
618
467
210
203
597
998
37
574
974
444
729
256
698
831
722
72
677
545
310
530
709
459
608
118
503
384
452
174
664
285
836
825
543
458
292
128
622
550
506
495
410
839
554
900
916
686
368
167
403
445
426
833
496
400
219
710
699
496
732
283
49
725
27
504
905
33
68
387
884
529
39
28
552
595
779
351
749
207
416
891
378
431
928
427
80
563
143
109
449
857
657
6
352
107
241
686
488
618
572
507
515
261
556
795
968
371
59
985
706
213
633
100
809
650
665
631
704
395
460
43
765
935
952
595
829
849
85
128
826
669
449
806
244
941
383
501
221
361
618
711
870
180
501
396
858
117
963
118
364
121
733
223
271
226
681
553
873
599
859
378
417
659
502
826
523
767
212
37
906
591
613
719
839
696
989
530
483
316
806
973
565
513
584
52
856
169
244
3
586
310
957
802
206
302
499
20
912
333
307
813
939
456
745
473
919
161
574
55
541
65
257
1
326
895
532
594
594
317
611
316
591
564
507
865
301
42
221
688
704
261
963
349
89
523
125
963
568
731
511
228
137
614
142
289
436
410
76
790
898
757
814
975
101
146
270
656
950
778
768
157
808
95
213
122
766
566
391
200
85
527
354
166
220
9
971
16
956
534
25
921
934
778
686
704
237
871
786
669
767
850
105
218
877
432
789
651
57
867
68
963
555
78
725
247
434
692
115
508
977
834
83
329
283
787
849
836
595
660
766
830
200
269
869
813
689
314
326
838
14
754
184
795
38
27
339
764
214
361
239
552
622
986
681
378
849
485
953
936
64
862
740
775
258
198
417
965
778
864
821
563
187
400
136
252
19
74
265
828
137
76
970
956
304
34
61
671
24
277
169
675
893
833
955
379
487
682
131
965
310
176
345
522
412
864
800
398
91
185
460
523
521
616
831
354
227
904
609
517
98
950
922
950
7
758
514
535
188
634
967
808
218
449
995
315
845
387
901
556
903
36
526
307
270
84
411
269
145
166
437
648
917
583
887
256
578
728
777
180
895
61
257
875
578
378
105
794
252
934
621
300
351
713
739
667
978
762
801
425
364
49
217
181
799
726
223
309
836
65
4
576
96
550
765
867
239
789
707
647
542
988
469
706
21
666
320
22
273
223
260
299
998
699
264
835
690
807
64
917
144
897
251
837
209
996
981
993
707
530
231
242
553
595
391
845
880
909
947
875
418
682
149
938
475
697
868
401
582
813
261
104
311
982
518
707
804
586
681
402
269
604
473
719
92
658
138
535
219
464
536
218
158
604
108
15
288
818
877
451
165
201
366
481
160
786
139
589
78
28
723
868
378
562
793
326
216
481
874
336
848
69
255
184
821
562
477
139
5
47
533
310
747
67
875
866
343
806
433
823
576
36
101
726
278
137
582
17
770
562
49
795
533
125
795
953
665
341
978
414
520
838
549
267
409
572
718
160
416
144
595
215
167
57
245
53
890
132
964
285
175
636
506
944
692
894
894
902
476
297
639
252
559
629
450
44
420
602
993
467
146
336
847
814
268
256
577
107
935
561
756
258
463
972
849
52
338
952
104
8
418
963
975
428
437
603
149
512
896
693
962
464
88
424
827
940
316
745
308
8
321
31
675
41
562
915
56
613
269
890
813
505
132
900
407
391
59
704
782
653
711
198
287
29
395
284
240
467
491
68
493
675
766
386
800
299
832
681
342
602
512
260
515
786
83
815
947
825
178
895
793
781
659
706
516
104
890
196
749
344
692
926
329
10
683
589
273
108
854
398
278
966
15
780
331
554
159
904
119
458
899
675
267
2
865
709
830
829
381
677
125
378
761
167
712
331
307
863
264
39
463
405
149
372
588
781
778
227
522
469
139
120
432
840
509
937
447
526
24
901
231
548
640
262
952
10
35
58
76
80
174
499
36
791
572
208
99
909
794
591
703
768
340
55
101
494
881
682
425
467
752
206
171
266
711
853
660
529
240
649
262
395
97
327
27
192
360
826
912
73
2
705
952
127
849
480
594
314
884
25
884
254
16
688
372
494
799
699
392
388
122
781
847
134
524
629
755
833
636
41
583
648
235
52
839
290
515
391
472
63
491
913
383
690
900
469
759
931
552
818
991
816
877
786
659
936
304
872
436
824
196
875
798
924
306
944
99
29
84
628
922
351
728
168
620
577
565
224
581
382
201
728
109
843
908
338
745
135
850
223
475
702
124
560
572
804
26
172
731
3
628
182
762
647
511
452
339
885
486
799
225
87
208
723
932
780
875
385
7
404
601
142
997
227
658
779
685
759
479
915
352
860
219
754
696
546
724
481
494
175
941
90
289
296
157
402
153
951
993
333
77
634
722
222
636
424
302
167
377
23
537
888
788
593
857
566
817
276
558
497
657
260
751
158
893
91
901
448
196
673
593
484
450
82
72
278
570
877
191
56
292
46
635
749
926
151
649
417
367
464
89
976
684
132
269
605
250
467
962
657
687
490
913
716
864
751
403
691
807
275
706
473
667
196
789
750
816
293
231
999
737
150
112
599
620
125
619
196
482
649
169
213
183
651
157
421
927
31
825
994
723
204
335
387
777
704
869
640
13
693
449
452
722
46
227
465
866
336
185
727
691
676
560
220
140
846
795
688
1000
584
510
720
846
192
793
206
627
869
115
823
181
300
285
173
31
51
167
560
586
298
351
154
269
219
523
479
141
182
113
740
325
487
650
487
891
1
382
524
891
506
914
753
939
939
30
878
35
13
387
469
371
891
490
958
473
661
196
514
365
419
17
613
405
614
668
339
51
175
605
116
112
646
813
596
960
173
716
910
776
743
891
345
148
517
204
774
239
421
106
857
318
449
83
97
636
275
672
340
528
829
33
191
135
488
795
128
321
407
790
802
223
275
319
123
341
518
811
255
247
526
71
566
796
29
860
917
182
109
167
414
323
695
418
883
807
597
800
889
99
245
42
80
771
382
280
987
284
841
86
203
245
441
344
14
120
761
422
169
112
213
10
434
268
420
57
1000
915
354
491
588
223
95
779
328
4
336
931
84
882
964
250
933
609
142
3
910
601
323
169
2
774
537
619
563
316
102
404
21
380
660
276
755
569
27
255
496
693
921
815
493
521
57
211
900
164
439
606
581
269
954
876
555
427
516
432
846
76
91
940
346
700
883
582
644
313
879
347
460
54
699
941
436
227
409
49
571
253
557
78
498
843
180
3
144
120
964
612
53
597
27
283
788
640
56
371
389
524
613
480
830
254
517
119
749
82
89
760
543
52
953
862
55
956
801
236
689
825
205
10
764
409
142
551
322
178
333
914
404
18
923
806
12
162
275
541
595
883
871
240
920
135
401
310
600
631
118
298
407
812
466
368
715
802
793
980
86
693
685
809
38
453
89
628
514
357
935
614
430
51
400
530
933
299
308
333
710
999
417
994
740
282
512
781
386
370
267
787
621
411
851
252
476
681
85
82
510
384
787
45
218
796
612
302
809
623
295
294
719
280
700
518
544
247
533
400
843
790
817
284
374
96
540
559
898
342
936
56
646
255
958
172
900
525
403
597
901
790
19
153
498
999
666
2
521
660
286
396
830
864
961
241
442
993
878
934
875
717
322
375
102
206
177
551
106
504
546
819
50
655
251
866
486
467
943
316
905
792
476
165
106
801
21
502
571
19
110
493
29
825
439
221
899
701
789
781
125
769
862
969
216
57
199
24
962
497
567
124
396
865
400
784
40
755
921
848
399
205
551
530
931
770
100
813
461
691
14
595
115
289
641
137
344
895
84
756
578
385
717
184
344
931
832
723
450
612
231
114
960
393
785
43
257
343
94
335
424
111
462
189
575
376
304
241
490
436
967
869
135
129
697
898
184
1
158
802
692
23
459
549
425
171
116
498
192
868
793
109
695
643
896
807
56
342
330
17
191
890
818
246
614
903
161
116
123
426
771
395
5
694
593
434
101
73
266
857
82
300
9
25
761
715
243
572
131
419
421
255
85
224
850
492
452
782
602
186
70
527
700
894
99
918
902
943
679
15
330
840
336
579
97
216
250
759
860
569
607
911
918
294
790
228
88
827
70
716
80
259
823
473
504
414
995
366
971
260
729
992
969
454
582
220
317
986
739
717
42
181
993
611
476
753
17
835
195
234
653
752
203
835
504
413
407
749
119
118
3
942
451
18
868
757
70
169
433
986
817
789
788
669
216
461
980
531
951
688
550
853
177
508
359
572
243
857
686
584
639
954
356
534
667
318
430
882
322
899
577
639
389
448
813
5
584
461
714
35
865
956
569
627
690
899
198
331
112
300
310
952
60
885
344
433
71
772
729
306
41
758
350
822
240
687
810
958
7
832
778
679
998
403
285
197
835
106
364
483
312
109
825
939
60
945
274
1000
728
607
712
372
258
568
183
787
843
527
965
423
457
426
762
614
675
705
169
50
634
804
472
456
603
649
495
646
587
221
746
928
814
338
645
59
741
474
938
340
419
772
716
8
689
390
660
728
677
14
208
911
513
633
348
541
994
664
686
394
192
145
190
855
622
963
816
999
644
44
770
269
247
11
767
862
202
72
41
874
868
783
228
390
581
923
502
942
673
904
508
185
628
24
669
226
804
402
483
753
414
613
229
19
221
880
354
765
460
188
469
368
62
825
471
879
159
669
864
77
193
12
699
406
684
833
915
409
866
193
78
329
940
887
619
620
662
557
754
453
352
229
168
724
147
636
420
693
557
749
763
132
910
645
764
791
281
245
627
62
922
432
653
953
960
790
604
863
380
525
46
208
913
122
947
643
458
960
872
472
105
404
162
859
661
860
364
626
808
921
13
742
685
964
584
88
714
560
64
726
976
573
131
687
287
145
364
256
398
607
268
822
426
958
135
632
704
743
952
209
718
43
585
772
716
831
517
705
844
101
202
52
409
52
987
5
944
83
147
608
312
520
261
211
973
795
603
745
901
286
659
558
364
105
205
355
921
958
571
806
553
580
900
476
803
380
185
70
145
645
861
401
605
92
548
114
796
578
309
969
151
520
438
367
93
943
373
941
299
98
789
191
2
276
325
602
504
795
652
167
658
119
830
982
118
737
942
413
581
726
59
345
78
894
445
216
587
27
777
834
938
26
836
481
967
678
785
427
395
362
684
785
724
287
305
584
747
701
697
36
923
135
193
246
960
903
679
28
450
991
86
65
262
980
949
388
743
835
840
20
449
230
207
707
273
585
880
811
320
134
86
857
852
156
324
671
921
972
871
777
54
426
989
500
530
352
139
233
295
953
651
451
546
130
290
339
389
516
166
382
711
407
220
840
619
814
317
802
358
580
620
448
625
910
494
206
580
631
642
722
662
245
592
961
524
136
910
294
28
306
706
118
222
679
131
435
717
284
519
799
632
647
783
241
588
299
473
66
827
599
615
960
611
30
106
397
498
668
961
226
980
822
145
180
196
711
92
221
161
613
242
862
998
158
108
32
155
258
450
645
513
768
90
726
540
78
807
882
411
747
519
912
89
728
649
562
894
939
194
808
21
698
496
521
791
44
128
82
167
53
649
298
199
75
173
993
631
215
844
747
849
499
357
583
717
897
574
825
617
788
170
973
192
504
966
199
862
315
293
992
185
582
290
543
517
824
494
695
255
165
498
701
99
912
701
512
457
76
387
93
76
241
473
64
432
539
247
4
262
438
362
913
828
664
126
666
164
881
907
755
621
652
48
267
457
837
249
843
106
790
830
286
15
654
596
642
630
581
326
787
174
964
37
1
370
575
244
593
150
110
443
345
686
750
871
451
791
248
433
674
872
511
344
611
85
825
653
376
345
649
310
443
101
412
854
131
575
833
106
1
295
73
504
416
300
479
800
673
348
742
926
392
846
63
734
305
962
313
201
189
575
225
411
459
298
399
319
849
788
234
842
681
976
966
319
463
618
653
732
939
813
297
412
256
717
286
93
619
722
2
316
653
791
733
174
721
459
17
295
583
282
140
797
154
124
816
642
548
747
984
483
275
621
278
595
229
735
947
965
60
465
920
918
638
213
255
961
561
649
462
642
101
841
14
320
536
472
920
703
570
652
421
894
398
514
686
462
59
931
901
766
880
180
307
345
202
339
512
683
64
491
920
102
217
605
204
813
651
51
540
407
784
309
761
189
644
354
669
794
616
577
501
457
816
875
933
181
740
723
84
779
612
599
691
440
753
161
984
23
393
936
843
783
574
108
485
582
147
179
276
935
474
908
261
457
76
945
661
329
380
5
883
450
695
263
570
827
740
882
836
584
347
247
97
690
472
506
867
129
263
514
457
796
742
85
765
815
583
794
271
337
624
187
879
136
956
383
480
482
886
521
986
816
645
391
107
759
427
932
317
839
248
930
324
125
147
410
830
630
460
707
521
971
251
160
71
253
495
655
347
557
274
45
195
762
86
563
916
599
330
937
980
31
184
857
654
14
370
792
916
715
771
976
471
47
455
488
713
173
421
4
234
279
326
735
789
487
498
491
739
247
780
602
586
935
157
636
640
666
627
466
789
523
514
266
42
496
245
432
788
451
653
270
719
330
11
520
950
622
354
435
161
864
108
187
549
554
683
838
901
407
502
955
429
310
851
240
841
697
90
226
726
313
974
141
527
493
298
571
246
156
633
431
578
690
642
37
315
769
385
817
736
946
29
286
193
558
607
434
226
51
812
614
387
383
328
338
404
532
871
140
426
479
937
791
888
241
236
733
958
692
920
520
626
890
29
459
228
641
4
372
621
802
735
617
276
665
378
52
256
338
81
652
449
678
856
849
434
761
33
498
35
277
153
550
992
507
687
160
126
744
650
946
87
118
78
571
22
777
302
625
519
309
158
45
772
81
578
957
197
921
488
849
678
176
590
473
197
737
391
727
844
37
782
32
136
412
601
401
99
430
848
485
798
993
667
362
887
51
759
734
238
769
641
500
946
842
48
378
804
455
811
369
856
86
751
365
801
918
501
149
800
159
636
336
741
971
216
593
107
27
631
562
391
934
634
515
423
887
586
686
78
985
232
625
572
529
765
661
952
519
558
751
462
306
708
583
169
1000
415
759
602
823
372
333
205
69
482
714
67
692
680
213
745
864
141
89
994
988
873
987
864
816
530
72
939
252
330
24
460
397
84
263
684
167
718
446
135
557
96
321
308
259
648
473
990
848
56
368
628
247
212
386
34
461
797
177
325
897
44
784
175
678
710
472
344
497
824
55
987
462
550
875
396
317
334
244
719
184
609
301
647
661
489
748
248
728
258
861
927
391
973
497
939
446
155
564
40
7
386
564
607
722
606
374
3
682
25
374
60
115
882
424
301
834
723
929
901
335
478
430
491
117
367
739
571
526
615
614
729
938
996
379
828
607
480
688
67
864
635
843
120
647
988
690
578
531
238
129
560
526
80
727
672
922
407
718
466
357
828
939
157
122
763
897
658
415
863
204
893
916
127
70
985
560
903
426
115
850
894
509
785
393
394
413
764
598
260
206
220
627
532
685
394
777
176
761
724
424
196
736
503
551
194
473
984
672
553
558
360
640
584
65
193
449
349
490
665
613
376
721
515
161
170
672
617
554
216
352
965
91
186
671
231
490
184
280
183
350
142
71
982
174
970
751
781
456
622
85
108
94
43
965
244
58
854
481
152
823
720
538
574
503
578
381
575
72
274
589
148
273
738
728
533
60
470
850
487
502
31
475
131
57
186
507
896
82
567
796
755
224
1
672
191
76
173
869
294
111
902
674
949
446
105
33
357
418
503
594
11
320
182
366
801
890
423
720
183
295
625
996
151
460
704
836
343
507
106
677
757
1
438
549
408
463
787
449
757
292
974
42
882
870
364
423
189
81
362
960
920
948
383
995
820
338
927
342
139
972
357
36
542
72
117
776
615
16
440
863
399
326
12
194
774
157
693
46
591
206
155
6
153
618
194
333
31
64
582
476
212
579
527
271
283
199
210
521
671
662
416
304
976
676
964
370
76
316
511
398
5
151
300
744
545
595
615
515
129
789
9
496
909
66
859
456
772
655
455
870
704
834
594
903
120
185
632
829
706
927
28
688
852
604
693
98
998
520
870
606
75
401
842
878
738
752
506
314
304
220
731
384
114
104
466
115
564
796
760
641
182
595
219
692
951
778
929
217
540
272
552
67
224
568
122
818
54
735
51
370
276
539
985
910
86
694
466
183
550
228
777
810
936
778
971
537
742
396
853
911
450
108
584
850
370
36
663
972
8
348
281
360
40
722
411
640
339
241
559
851
492
888
783
645
882
856
474
728
760
923
363
333
639
49
426
735
26
168
661
457
734
853
204
878
995
206
876
421
135
808
67
335
886
45
791
385
238
461
872
425
358
46
462
914
282
517
536
925
962
740
568
98
797
393
323
282
941
863
593
315
531
149
757
532
474
244
216
64
585
49
156
973
683
407
558
549
696
224
73
882
993
988
196
925
878
195
152
846
676
349
54
409
885
220
172
494
651
981
610
644
193
727
308
678
894
581
19
29
469
310
860
422
12
897
86
919
724
16
990
168
843
718
202
871
612
939
215
136
131
619
658
375
582
330
698
838
642
313
971
730
843
727
589
54
279
746
125
10
334
846
942
816
30
274
859
265
186
205
981
208
852
553
412
426
343
741
731
20
792
994
351
543
339
885
277
570
953
906
404
322
407
858
185
237
120
680
405
107
399
157
841
507
143
637
782
755
204
470
741
589
393
396
212
61
643
528
981
889
883
878
337
675
30
607
493
907
887
311
699
675
861
684
773
343
133
846
277
227
346
480
134
484
906
652
268
11
731
884
749
144
643
592
23
326
621
480
8
736
846
865
265
68
759
193
948
258
409
200
990
993
975
260
788
250
675
486
702
944
252
42
831
25
814
948
861
971
125
399
255
724
351
216
708
520
860
619
560
988
933
927
843
105
133
149
697
312
652
700
216
163
155
598
138
368
526
611
416
990
452
766
419
856
946
522
399
951
767
689
913
681
198
889
70
392
772
916
865
509
371
898
332
913
570
536
947
999
240
54
528
941
172
670
859
264
959
580
400
787
421
431
748
361
642
245
961
584
66
580
452
866
168
471
942
810
941
372
862
822
786
853
684
315
456
332
887
627
355
436
636
11
859
942
832
649
309
375
850
677
980
488
173
628
661
832
115
533
400
535
19
162
648
232
624
524
269
805
779
823
833
236
328
476
220
398
788
720
758
44
353
563
91
639
936
534
467
890
142
752
402
13
549
352
502
854
213
156
812
929
52
835
175
338
668
466
994
314
177
527
227
823
858
898
648
262
745
346
182
787
844
314
602
230
280
578
1
867
548
464
216
526
983
902
843
662
742
502
533
63
836
262
41
761
265
223
896
636
843
631
597
878
120
681
987
195
698
969
808
198
327
122
482
853
379
922
830
305
711
406
802
633
454
74
277
299
976
341
642
171
106
785
180
961
749
610
252
880
156
935
889
94
464
215
675
302
596
110
757
390
237
605
388
643
410
34
672
442
129
931
70
729
689
314
793
762
445
91
437
866
330
763
44
922
949
489
365
350
813
893
221
175
158
696
749
604
854
352
785
176
95
430
809
199
924
359
670
662
153
529
797
223
927
451
693
207
965
847
321
756
550
74
397
411
418
253
724
433
42
841
408
139
212
147
253
328
461
480
638
682
607
181
942
654
646
804
916
929
253
99
452
19
438
225
884
945
239
886
286
214
915
632
228
539
775
638
125
787
668
678
591
711
128
838
211
879
382
775
735
65
723
954
1
70
242
346
803
580
553
552
546
213
937
144
738
323
278
330
297
505
275
678
214
991
674
762
300
274
686
51
653
387
322
271
985
225
130
768
147
180
674
113
10
138
174
297
395
594
898
389
857
238
267
454
959
847
148
870
149
757
473
900
437
498
147
557
891
389
193
305
379
27
228
149
81
653
630
977
38
284
241
845
423
399
34
11
264
669
945
166
66
931
981
257
158
137
806
709
613
499
217
658
283
424
329
11
818
142
828
753
541
71
325
964
715
128
763
409
30
140
753
431
110
464
976
67
475
713
38
15
650
230
701
68
58
558
6
140
936
720
641
845
731
546
824
868
372
621
84
45
343
723
609
150
717
732
212
875
172
105
574
401
545
945
131
218
671
599
876
616
64
496
383
334
544
634
554
411
14
706
968
180
450
388
198
703
586
705
141
668
940
701
250
927
579
890
498
391
452
62
78
975
251
86
131
633
440
264
213
295
567
663
869
716
978
597
403
799
802
86
866
965
422
699
375
533
711
650
68
866
947
414
444
269
716
376
317
203
61
284
372
449
823
305
121
226
414
531
111
156
221
696
354
157
489
642
341
39
773
847
407
580
12
923
928
368
858
532
558
515
145
635
712
645
265
299
586
232
822
577
262
439
99
116
891
100
785
221
490
389
913
89
644
22
164
773
281
529
509
268
736
268
684
766
516
374
126
746
544
733
822
54
152
447
969
568
791
953
505
313
229
152
284
171
998
395
181
416
980
197
438
354
335
855
340
305
405
967
716
999
845
984
810
198
983
540
775
60
353
272
437
275
392
263
987
527
547
14
948
180
404
72
107
380
23
79
98
977
329
966
979
745
298
523
435
392
666
331
248
769
71
348
248
491
855
28
269
928
245
958
556
124
260
414
674
770
484
117
188
773
805
748
318
327
322
450
319
649
875
619
539
681
91
799
17
166
399
361
956
432
198
981
652
146
261
604
252
44
503
739
235
370
411
395
661
320
838
955
32
339
342
569
97
477
919
412
21
365
830
293
152
586
180
656
36
337
52
953
409
330
296
770
679
797
516
817
774
354
417
99
318
178
418
152
799
673
378
231
774
314
334
709
183
874
405
785
513
591
385
762
927
125
95
810
431
360
280
126
836
194
673
838
566
453
867
828
331
3
817
900
314
937
99
349
781
421
550
49
986
460
550
631
803
313
981
195
785
804
885
254
248
61
910
304
532
504
922
478
818
64
571
255
733
655
176
57
535
939
22
913
811
258
48
21
508
423
967
218
582
735
29
829
706
207
18
332
318
461
583
592
700
196
663
159
971
428
593
275
579
928
477
778
389
421
519
60
489
143
331
590
616
291
662
293
518
744
617
240
590
217
175
702
870
626
769
602
844
50
721
791
534
128
598
385
21
111
920
604
923
85
197
160
301
56
978
280
169
716
452
856
56
667
143
68
44
851
423
33
338
691
887
736
703
219
108
469
3
75
950
548
726
791
372
877
577
234
653
231
140
424
44
797
188
186
109
608
398
279
474
956
141
691
237
832
512
769
44
660
973
749
726
384
804
6
424
10
74
66
334
271
974
4
576
996
193
359
169
88
446
115
794
769
427
607
854
887
203
436
276
639
516
613
714
11
561
180
20
609
523
497
379
331
596
250
48
482
241
967
449
557
168
499
240
855
898
505
118
546
773
419
280
541
6
804
899
793
650
239
506
226
416
97
845
516
877
689
666
408
936
213
904
24
394
894
855
924
65
501
324
283
173
154
154
605
707
965
220
873
981
592
741
875
919
231
729
733
454
907
491
328
41
208
373
400
428
723
334
602
786
562
543
652
744
272
895
83
123
356
239
727
976
399
180
253
28
475
456
556
798
125
332
726
450
699
875
683
934
257
725
272
54
543
740
782
912
790
912
387
596
209
73
977
71
78
204
205
990
287
620
356
527
22
894
796
413
55
167
384
61
753
391
167
29
483
133
125
132
567
804
498
152
332
568
450
474
72
711
436
952
927
970
665
977
812
171
468
10
491
542
222
825
844
218
708
327
153
812
452
77
4
373
616
605
973
727
489
168
858
939
481
883
621
651
806
22
568
95
688
873
558
882
52
742
169
71
97
558
844
601
102
84
992
903
63
898
917
386
507
168
216
556
918
727
986
696
757
133
800
428
944
160
869
960
51
700
272
503
156
105
413
174
478
842
112
671
440
711
849
142
804
22
733
990
838
821
696
759
282
703
276
908
47
780
81
990
155
97
728
713
421
170
580
417
792
338
89
725
24
301
957
528
622
569
572
13
554
548
400
112
294
613
99
648
159
866
127
431
739
215
541
755
477
51
467
44
67
50
487
902
429
605
791
442
455
945
485
575
573
258
894
878
483
46
33
775
67
496
700
38
557
856
774
994
555
684
396
459
378
384
663
98
504
590
367
821
611
835
71
885
809
419
536
521
187
556
79
333
720
673
980
163
922
214
441
815
370
427
931
874
355
374
967
788
486
847
526
571
17
976
292
743
51
37
918
589
514
390
296
424
997
541
619
308
142
11
644
582
211
96
172
669
927
617
189
798
406
444
537
739
283
920
235
128
674
310
785
701
710
47
882
602
745
865
969
925
205
876
958
845
283
252
299
10
316
471
263
326
744
21
959
946
10
31
125
25
610
546
200
785
789
101
494
525
49
750
568
470
716
973
72
797
299
735
366
710
292
493
215
209
326
143
739
58
350
741
588
513
563
317
971
569
398
268
827
842
767
616
868
704
75
880
677
985
318
455
347
348
662
137
363
449
484
894
579
117
815
58
161
95
470
874
309
321
944
723
435
346
303
425
216
242
918
724
600
263
838
422
425
626
22
689
768
978
452
728
532
515
333
322
59
281
225
810
756
833
960
664
812
367
640
150
89
360
800
555
195
7
135
36
542
991
753
467
937
681
30
568
866
423
567
202
184
424
636
968
352
670
736
136
712
413
614
501
572
43
127
979
979
566
858
621
188
492
268
256
766
668
475
155
167
464
466
959
392
799
648
600
48
649
182
90
727
73
446
896
91
285
342
38
520
974
863
216
446
902
506
7
748
792
663
643
697
645
75
950
998
938
806
786
385
584
955
711
111
158
517
689
394
648
361
339
577
908
310
603
291
75
686
775
417
420
491
452
998
529
601
376
547
214
968
86
404
275
831
973
855
97
400
642
783
55
257
432
483
895
1000
600
125
564
296
913
54
454
526
365
751
665
717
296
824
672
276
458
820
746
326
469
15
584
136
645
595
849
192
446
788
770
969
594
579
486
346
515
630
604
912
876
882
264
122
875
114
113
369
415
438
734
568
466
281
470
761
696
933
90
606
961
141
382
326
328
552
634
864
107
15
902
525
790
917
124
353
893
716
428
849
439
825
428
418
234
810
915
87
118
648
109
647
143
434
558
344
937
506
842
640
590
420
479
371
69
590
808
841
497
709
178
997
640
228
461
847
604
296
776
730
38
571
309
859
124
184
304
803
233
14
599
225
431
102
582
242
934
699
72
227
210
961
431
739
668
739
147
550
792
296
257
387
109
993
216
116
629
174
268
580
245
546
916
182
110
312
847
623
212
213
540
912
179
391
840
861
873
720
969
826
461
806
804
364
480
399
784
803
857
341
446
487
999
520
436
574
807
498
816
839
934
625
631
877
689
485
983
477
719
469
321
696
45
87
250
357
25
445
942
256
612
911
139
366
560
594
799
720
346
752
710
461
185
563
737
734
908
59
939
741
443
138
496
273
308
737
209
478
816
195
401
444
682
788
164
427
315
208
261
188
390
511
451
961
202
647
647
40
900
265
125
817
964
903
926
390
168
20
727
532
842
597
700
902
469
193
308
842
508
379
552
41
878
509
928
613
721
588
229
856
876
864
377
93
51
385
668
467
764
439
168
551
988
220
513
919
869
551
41
581
30
747
994
338
725
974
521
647
579
555
349
557
699
728
285
646
725
315
150
636
768
561
369
565
253
229
196
969
401
626
468
507
452
865
863
877
756
83
870
652
560
770
56
888
640
613
775
959
928
456
153
112
958
96
31
637
231
623
595
398
590
915
543
714
313
746
7
193
904
655
898
232
496
377
3
279
382
163
942
885
430
769
53
813
34
215
363
134
828
711
90
359
591
278
524
119
655
658
706
809
653
110
77
905
612
536
125
400
276
178
132
867
991
836
314
237
684
131
983
264
239
848
904
993
74
830
679
306
809
162
788
725
724
662
954
259
128
790
568
975
844
124
277
399
772
527
221
580
900
923
56
847
171
414
649
869
354
81
248
609
431
414
994
175
25
773
914
355
106
662
863
837
535
897
477
744
997
915
873
107
552
610
697
347
316
44
133
662
767
317
649
461
790
702
591
616
838
850
211
379
550
522
356
239
732
836
832
901
863
453
421
781
197
478
611
150
75
112
406
94
303
243
937
980
303
244
236
980
264
199
227
547
751
682
879
417
1
985
528
818
703
387
558
126
152
653
993
90
532
462
67
116
485
871
510
812
318
232
93
166
916
224
2
259
892
761
683
394
604
605
166
860
392
425
259
355
811
927
668
231
678
390
813
340
497
653
69
220
158
122
195
794
858
875
999
500
889
290
613
43
245
938
348
524
17
660
767
742
207
834
491
894
882
872
241
726
569
873
824
427
397
184
56
196
800
352
126
492
498
563
531
397
84
219
508
406
779
734
837
240
837
975
992
931
620
51
900
519
601
283
957
203
405
289
542
666
541
49
7
605
655
750
998
206
983
940
999
413
160
262
220
358
725
593
269
262
442
962
593
429
47
992
322
713
130
959
977
956
659
763
503
499
82
251
198
750
19
360
420
236
333
495
407
280
740
397
137
644
200
520
930
68
42
602
409
598
132
659
514
26
456
136
480
538
130
301
115
894
232
269
203
57
820
246
616
236
162
638
520
707
521
746
125
634
784
594
552
326
876
338
745
34
148
361
832
436
881
829
959
402
634
4
446
523
407
51
30
129
505
437
99
228
530
252
55
846
163
972
382
774
259
228
568
592
307
128
750
164
496
563
846
495
463
704
993
954
305
597
289
401
577
356
206
658
823
972
554
128
642
145
541
76
406
883
301
256
559
826
245
102
814
386
720
658
688
832
772
818
557
381
229
161
800
223
972
907
693
140
973
43
384
66
636
707
697
478
42
278
518
994
914
442
199
943
535
705
764
929
372
437
704
638
867
551
782
212
718
364
600
526
973
981
635
621
450
831
59
347
290
599
985
21
966
843
639
499
677
83
635
634
882
959
693
504
647
374
126
164
604
182
899
916
584
88
352
264
396
887
502
783
805
98
386
94
487
333
98
43
642
436
990
942
970
575
41
438
924
961
506
163
526
803
809
840
503
456
85
910
230
428
900
78
721
91
468
401
965
461
108
645
966
410
771
718
215
979
243
889
706
296
977
363
256
736
640
561
647
554
103
65
3
220
34
818
916
73
240
579
58
705
624
63
398
718
923
460
696
87
433
215
640
388
548
61
842
586
267
298
954
913
780
222
276
575
872
428
620
721
163
416
615
118
120
600
328
445
401
312
819
6
300
856
256
891
996
22
253
335
849
712
435
62
216
492
573
943
111
963
283
138
596
799
949
239
938
210
463
610
425
325
402
242
243
745
452
980
933
56
273
865
810
639
476
713
126
496
89
756
957
155
688
347
487
919
351
242
884
853
757
974
986
972
8
175
786
986
238
469
128
844
647
742
54
66
390
192
966
498
652
519
166
707
315
46
314
713
868
338
84
104
582
101
598
910
530
768
238
766
719
184
69
9
477
240
446
369
219
128
311
799
926
145
328
835
956
597
280
573
320
434
71
7
162
668
306
992
20
534
604
527
339
586
782
445
867
620
532
788
784
385
487
371
873
552
404
61
580
279
753
288
568
30
147
183
242
22
937
528
775
756
747
386
370
645
901
891
819
660
514
163
988
246
451
743
459
502
511
262
445
779
960
254
42
377
970
187
20
993
611
802
670
947
797
800
646
956
982
757
379
434
473
914
369
851
922
142
612
691
958
958
462
948
929
913
502
877
411
111
325
949
489
832
739
569
814
489
562
119
72
196
30
338
840
272
900
877
756
881
431
88
534
859
815
787
680
461
66
737
646
444
36
111
782
383
11
1
700
604
303
353
525
435
341
367
127
761
40
475
582
993
643
533
43
660
817
704
670
797
478
876
510
180
767
108
6
230
588
749
357
142
341
377
73
343
860
648
891
931
38
457
678
121
313
567
89
81
29
4
483
721
626
73
94
168
792
790
484
669
984
916
101
621
168
521
139
263
261
215
966
334
484
726
104
657
799
533
115
167
626
642
773
385
317
374
591
724
217
285
104
284
705
917
323
997
292
110
407
82
737
39
932
762
111
961
76
128
961
911
685
826
6
214
458
994
294
742
399
485
412
309
323
953
80
445
396
829
470
77
637
560
648
303
840
726
843
556
603
832
621
911
26
624
657
209
159
755
509
965
465
517
686
728
419
118
350
687
843
703
200
838
737
903
418
935
185
186
105
800
362
731
268
311
807
833
273
503
896
79
642
805
888
670
213
363
2
292
995
787
742
900
462
418
74
589
676
383
130
532
366
314
831
581
19
552
181
721
117
108
29
30
870
404
764
185
209
56
762
827
317
568
391
310
703
815
48
441
654
646
981
820
946
734
667
329
825
76
69
98
632
168
450
25
892
935
289
550
360
973
479
919
281
489
218
610
81
629
903
958
834
548
909
249
66
648
335
742
929
920
695
107
309
206
25
783
195
508
102
608
499
167
275
880
587
869
940
674
950
932
800
882
839
272
921
894
150
777
991
300
575
549
373
272
803
621
287
529
578
320
887
913
529
388
121
643
10
351
977
247
603
388
132
30
584
132
91
686
377
413
608
332
965
959
545
790
291
438
379
441
919
63
223
332
605
139
590
529
983
612
113
863
258
629
88
367
668
609
27
648
483
102
360
404
468
5
64
74
91
300
245
350
198
572
679
910
556
992
863
257
426
336
406
14
298
873
478
330
20
620
596
370
811
577
250
956
78
2
732
548
526
719
74
694
768
734
165
968
566
141
982
212
833
428
349
567
764
798
794
405
795
56
901
745
615
946
987
190
122
559
86
691
37
569
991
712
874
634
531
466
97
215
359
948
601
477
280
436
88
665
529
949
519
552
501
949
611
125
121
209
215
675
433
332
547
841
1000
901
421
966
413
604
68
336
527
962
619
473
48
500
87
689
745
270
487
522
884
673
779
521
421
402
473
76
139
190
75
629
175
710
2
681
334
683
282
431
146
697
94
776
918
769
201
660
892
949
404
431
195
602
412
969
502
86
968
806
160
672
604
387
107
495
162
894
53
208
101
789
258
813
638
328
737
808
981
817
871
416
283
330
207
152
423
915
709
389
437
72
834
918
189
421
590
715
918
34
161
247
375
873
792
691
602
120
341
401
830
969
355
775
591
628
542
445
893
851
244
388
238
330
914
88
328
636
567
388
536
248
933
36
616
375
319
204
656
908
220
475
992
869
357
878
646
125
149
544
873
1
549
503
562
626
852
915
570
535
322
785
544
58
423
836
426
532
58
724
623
179
426
264
788
831
44
653
257
288
27
934
436
252
931
127
886
192
342
490
383
465
923
383
9
260
816
39
177
680
128
387
564
367
736
731
112
608
805
678
625
781
196
253
981
343
448
516
685
281
98
315
268
114
913
66
51
77
24
523
931
68
54
607
107
318
64
237
164
511
573
5
485
240
924
275
781
296
33
929
390
260
895
589
122
260
252
573
620
567
537
264
623
913
524
836
36
6
119
456
441
782
385
235
505
305
195
137
787
102
878
16
592
952
856
757
854
763
512
200
512
272
518
186
484
713
391
576
116
500
318
551
978
216
207
848
927
896
441
826
681
656
63
450
504
225
983
300
246
820
317
750
642
123
158
270
720
807
929
645
184
177
947
586
836
30
995
769
468
743
508
909
174
942
432
820
669
833
948
784
73
452
36
733
562
593
268
910
438
182
341
690
477
192
573
199
840
991
15
204
460
164
885
510
561
464
731
769
913
510
129
150
460
263
725
816
233
100
129
522
820
531
506
945
215
190
703
521
572
784
413
706
248
91
173
548
523
936
979
379
561
305
890
259
501
425
321
520
47
662
595
397
557
571
993
247
439
274
698
340
606
634
26
506
837
352
813
214
174
213
104
808
887
178
128
685
124
933
82
179
96
797
438
809
516
592
309
301
87
221
932
529
999
180
458
85
786
196
57
703
370
475
822
181
828
837
47
761
201
102
282
131
690
680
944
371
675
273
407
185
331
944
202
706
31
597
387
3
351
73
192
198
255
664
762
726
939
834
204
873
916
308
151
171
133
544
770
642
296
740
443
123
162
215
394
157
194
965
143
968
886
662
14
99
64
168
853
162
601
898
788
1000
379
992
69
255
738
335
33
982
352
877
774
488
218
623
387
6
429
894
518
168
485
151
551
504
177
755
950
334
482
534
163
514
487
903
8
446
103
613
665
663
205
881
221
73
871
795
222
631
619
397
835
841
876
762
38
944
419
757
713
107
240
858
646
218
41
594
222
113
626
707
10
218
530
77
568
595
556
862
506
335
326
8
268
102
570
532
140
359
612
505
738
497
485
691
552
644
111
176
195
387
278
118
672
54
495
975
319
467
358
169
79
266
781
158
405
21
255
339
425
334
376
14
940
63
986
899
472
596
649
305
827
856
626
172
613
304
186
580
704
803
846
249
921
581
121
795
71
943
442
184
87
580
182
919
178
541
128
982
815
943
351
438
881
517
98
925
504
937
284
949
932
685
149
32
313
872
882
256
390
66
360
714
923
663
653
655
136
737
621
918
590
663
776
325
674
977
510
313
323
113
994
7
696
675
296
314
254
827
735
392
106
268
101
5
552
986
116
897
455
660
459
252
446
139
707
757
16
901
829
559
200
788
216
599
930
577
797
475
114
158
479
934
147
178
15
590
893
23
405
241
112
911
124
436
956
699
765
565
410
715
200
822
521
572
977
805
811
449
474
438
550
762
276
122
446
504
359
734
885
797
910
140
50
321
50
421
151
415
277
865
486
554
216
107
273
836
108
498
16
867
546
892
668
143
141
574
8
609
188
965
463
615
882
88
56
840
325
499
312
142
383
554
700
462
432
410
645
66
167
151
226
438
963
754
429
82
686
404
223
334
505
850
780
47
980
54
892
672
654
392
999
816
410
60
272
845
143
127
874
473
617
901
880
561
984
886
317
556
102
603
440
71
651
29
683
156
80
169
677
665
563
593
344
996
478
340
380
169
402
707
346
846
255
857
183
442
19
59
243
903
405
653
777
96
956
484
435
984
318
658
514
946
860
957
581
657
368
121
604
909
289
553
942
661
887
655
357
353
701
173
713
247
921
404
196
137
632
77
686
280
401
25
372
814
342
541
837
235
635
404
614
751
433
177
642
435
254
276
149
150
227
717
233
162
25
192
815
201
918
321
704
483
151
490
213
870
752
698
165
923
973
206
118
44
781
602
366
335
211
99
583
30
940
490
974
592
133
215
477
651
475
413
839
950
309
669
376
413
987
415
832
211
831
560
49
496
622
16
79
34
152
212
968
549
159
565
683
24
942
154
568
529
35
509
256
445
592
513
202
69
560
903
854
682
272
761
12
127
853
678
136
814
686
975
150
881
263
503
842
899
913
42
83
132
292
256
901
861
986
490
920
687
301
440
781
58
94
864
974
468
503
66
883
927
567
824
19
331
25
821
80
289
18
390
946
839
51
566
731
209
303
21
769
472
322
462
739
490
189
429
204
13
502
283
503
200
868
334
263
100
196
708
837
812
724
559
573
183
623
647
182
845
985
164
386
373
219
902
706
103
159
521
473
916
700
713
117
891
408
529
373
295
335
990
269
801
235
378
695
178
467
282
896
955
148
547
430
721
536
781
59
793
181
952
486
945
142
918
132
794
430
439
898
194
895
344
415
723
980
20
421
895
90
355
693
282
892
555
466
118
468
51
351
266
121
787
584
679
584
799
840
598
525
914
948
758
553
768
605
849
351
124
555
284
191
630
799
112
847
765
92
574
821
685
355
337
898
80
681
960
265
992
263
492
815
676
953
391
797
294
123
172
696
163
167
252
56
781
311
503
979
628
317
893
219
13
343
470
95
881
456
593
929
527
258
23
371
638
665
958
753
952
115
576
555
71
410
990
202
669
930
765
636
403
199
314
566
322
627
574
832
477
798
294
92
728
861
200
897
456
413
42
275
992
756
256
151
113
582
543
276
870
927
195
858
347
716
395
747
689
344
47
869
889
499
895
567
367
887
852
653
342
607
462
273
343
654
386
127
6
451
638
199
453
372
56
922
143
900
153
594
75
491
68
981
624
193
788
232
69
779
233
634
123
497
30
299
333
514
37
538
294
817
760
560
11
605
810
144
588
216
453
85
666
211
143
564
666
549
631
48
963
704
884
993
551
171
571
377
653
54
348
89
965
331
477
264
934
962
598
937
529
195
641
812
464
332
899
502
730
717
296
337
585
907
729
724
861
819
177
89
574
157
945
625
331
563
12
425
945
743
972
104
43
306
436
681
124
149
126
285
751
18
65
293
35
305
441
582
582
228
728
907
413
290
606
868
140
318
74
512
872
443
875
398
875
96
67
873
51
464
73
367
637
883
89
761
377
336
46
264
598
545
648
773
245
161
186
409
958
205
926
749
676
221
878
318
123
563
659
53
737
869
990
784
264
51
80
251
292
61
775
834
453
277
922
938
876
631
781
946
784
454
718
753
736
625
653
162
170
786
872
826
352
284
926
17
723
10
264
212
985
508
176
403
914
547
358
41
52
875
148
772
926
981
55
434
369
564
710
331
871
810
788
448
585
744
765
109
818
687
585
554
335
274
469
49
783
602
97
440
928
794
378
517
119
709
829
142
616
535
380
879
985
769
51
779
737
431
529
25
813
391
149
413
297
374
149
1000
950
561
380
802
784
677
808
137
903
135
286
58
264
94
39
315
862
272
249
496
57
965
917
267
426
8
927
177
560
336
848
60
706
428
556
928
989
108
196
150
240
142
360
842
127
579
599
654
377
29
560
548
340
938
99
744
80
440
707
754
447
553
437
282
306
340
348
843
220
131
136
127
388
75
242
530
576
88
231
721
113
733
631
866
760
699
761
876
401
301
291
91
70
881
384
899
771
78
366
122
923
661
729
435
23
52
208
675
313
696
352
699
798
189
722
319
965
392
400
970
958
854
946
950
731
485
362
496
956
816
867
480
34
143
503
219
612
531
694
749
405
935
852
935
987
692
92
924
420
242
864
822
269
211
107
920
579
943
102
444
852
129
769
601
942
464
578
647
33
135
618
782
558
514
582
989
999
662
635
302
991
88
151
594
41
767
323
697
508
588
504
568
150
249
915
222
704
116
88
398
447
708
960
261
644
292
78
938
101
518
770
389
794
176
449
916
672
900
460
597
316
113
987
82
50
567
584
463
514
602
850
400
424
643
586
275
485
505
548
923
940
812
577
389
278
187
433
260
994
907
151
331
104
415
102
760
321
390
254
417
415
106
283
819
311
443
320
911
878
238
98
957
232
608
184
987
573
528
807
549
274
200
494
22
934
696
386
364
606
945
615
976
268
394
573
301
854
540
272
897
873
146
221
973
691
109
410
805
75
869
97
22
458
750
4
478
726
810
468
322
989
634
831
917
965
982
97
459
73
363
414
503
299
432
520
127
220
541
644
110
290
925
698
350
669
773
815
714
416
863
423
656
800
539
56
237
900
544
92
611
382
655
402
678
550
69
698
348
341
281
991
772
924
495
165
998
956
680
126
717
359
63
385
156
673
176
191
732
677
577
569
773
962
39
654
455
606
271
781
142
881
237
654
471
224
747
759
842
287
263
905
473
980
814
396
805
862
501
901
831
82
306
486
895
383
840
674
588
312
221
606
643
906
478
575
158
569
757
241
29
799
142
835
233
680
69
519
462
792
166
876
682
297
849
166
353
473
145
627
455
912
43
549
915
906
112
321
760
309
289
913
96
296
455
519
33
986
927
190
785
876
22
344
481
364
630
966
686
446
128
164
197
821
22
507
502
231
421
222
139
860
838
916
331
993
801
928
471
960
481
824
405
572
872
835
59
905
35
196
584
270
612
501
119
655
83
130
233
772
234
759
300
39
912
771
390
516
432
100
718
843
919
678
360
689
480
190
710
84
326
286
132
288
888
738
330
513
514
304
269
900
562
202
850
660
568
173
157
145
695
91
797
970
870
947
763
954
826
830
280
824
805
209
295
95
784
437
644
499
935
878
411
647
478
497
705
372
202
38
864
318
728
177
98
913
2
132
737
814
605
261
494
272
218
146
661
655
979
448
721
506
527
650
646
141
241
404
48
751
579
794
449
370
396
303
152
891
876
635
587
500
989
844
544
518
423
408
424
675
575
985
466
241
501
597
953
294
685
885
536
640
125
925
175
535
488
780
648
419
37
625
226
335
626
800
919
557
297
601
631
229
910
949
673
505
826
354
351
732
840
741
760
741
461
767
494
193
159
242
707
216
369
140
856
297
902
482
489
506
900
51
666
626
628
502
919
721
201
948
204
982
817
500
953
454
186
550
158
366
621
839
401
352
691
442
890
821
436
879
838
72
883
466
991
537
994
896
712
709
275
781
771
906
937
555
946
970
920
692
585
464
87
692
523
658
605
627
134
867
846
384
846
265
151
861
135
360
465
547
885
722
128
857
8
387
112
551
378
610
582
345
475
283
959
591
607
375
595
481
208
224
742
804
525
364
775
722
933
852
504
357
243
717
988
268
621
261
471
24
152
415
933
186
671
253
279
948
201
58
378
582
227
70
994
624
99
136
152
429
17
992
649
296
457
885
208
921
365
502
244
287
146
993
358
464
277
936
411
993
386
730
499
663
727
787
224
522
336
296
414
922
551
108
831
217
208
432
487
523
599
661
888
569
167
599
905
291
19
767
993
227
545
287
182
213
838
12
572
124
137
231
95
622
227
246
939
943
589
604
349
811
85
543
473
402
163
487
567
187
859
61
121
120
387
147
427
336
718
954
691
28
360
956
34
598
497
795
640
583
741
970
859
33
43
148
304
260
679
493
824
877
864
249
797
65
214
157
361
859
223
950
10
54
913
338
544
989
67
359
443
111
757
944
604
682
447
852
808
444
564
879
423
330
314
385
621
574
445
745
835
685
836
274
236
769
78
559
819
669
634
875
22
190
824
567
911
474
585
844
658
223
932
426
418
55
72
887
731
732
381
323
271
400
846
199
105
241
100
831
595
169
879
991
778
251
615
537
324
580
853
807
158
217
367
768
457
646
192
535
994
894
232
943
766
131
773
305
394
54
18
361
62
843
699
683
658
811
943
483
327
110
811
858
870
42
382
991
313
574
791
720
455
636
385
194
434
655
42
38
170
574
746
571
26
292
705
130
225
56
648
496
315
843
484
726
493
190
128
467
676
235
155
940
22
957
921
364
10
747
914
523
298
456
412
558
319
27
953
835
969
659
747
907
823
206
914
193
996
171
352
948
186
236
110
544
414
726
392
835
693
796
662
618
194
412
933
816
459
391
940
996
884
862
829
316
994
511
960
774
994
902
602
910
718
949
633
738
348
386
835
741
253
655
996
228
833
220
854
195
564
730
838
132
275
796
700
868
306
432
352
654
384
339
689
136
922
297
716
819
988
902
49
873
370
750
741
864
1000
990
428
125
512
806
989
950
832
57
279
784
544
735
991
870
217
370
393
563
6
801
481
685
631
959
109
826
239
438
763
451
797
671
951
74
351
473
638
471
948
536
741
138
27
266
503
750
833
951
422
372
774
874
545
574
653
418
140
407
419
608
146
387
397
823
345
268
960
589
926
399
281
487
918
883
75
176
38
592
241
493
617
325
908
365
633
62
700
10
340
290
927
544
619
856
50
618
987
656
962
192
128
746
574
857
939
136
740
405
324
604
746
501
415
362
512
352
445
314
132
292
244
914
590
27
234
385
339
114
798
126
884
913
145
702
727
859
127
699
774
416
966
84
832
461
553
436
891
188
764
575
713
841
251
639
642
694
291
652
679
761
572
970
569
648
239
758
105
801
146
841
857
171
2
857
288
976
28
608
589
791
828
925
555
709
389
150
576
641
513
551
80
162
559
602
836
475
23
77
115
153
397
326
66
366
701
960
594
157
302
385
676
194
940
268
312
123
341
110
236
285
478
495
146
95
300
522
390
826
705
118
16
883
661
690
602
913
616
576
542
259
766
311
286
332
330
585
616
430
709
61
174
464
292
981
332
765
711
529
988
905
570
508
990
23
994
774
765
668
886
216
126
569
441
812
399
90
275
426
779
305
542
583
241
799
514
397
450
322
410
194
843
352
726
159
460
500
876
493
174
416
789
159
664
542
942
280
879
599
460
662
726
195
101
690
441
298
338
80
421
625
309
569
292
170
88
648
655
206
606
875
239
101
541
130
181
191
681
419
761
774
592
480
194
22
881
488
27
211
17
630
281
252
437
157
703
889
621
833
429
330
943
331
893
308
348
240
41
724
330
834
787
114
265
628
170
132
881
78
850
139
538
465
438
762
32
126
636
984
827
729
327
927
7
189
557
993
712
170
821
432
525
873
190
739
74
917
588
496
126
708
959
389
553
633
175
211
869
774
258
549
486
627
904
747
421
468
367
466
977
601
446
824
824
715
734
694
981
962
267
161
439
177
447
582
550
873
405
911
843
248
999
209
642
467
292
308
708
909
649
621
134
903
569
21
919
714
994
481
924
184
104
948
454
487
552
506
285
920
675
446
805
507
467
297
849
462
16
221
937
254
641
420
874
69
197
385
89
988
899
863
690
54
519
404
897
749
5
228
458
70
422
933
641
539
607
266
650
968
64
768
617
770
465
620
885
899
573
414
913
261
516
903
19
594
147
1
98
334
627
445
636
985
479
535
610
824
114
361
326
604
200
725
844
33
355
761
408
432
307
878
223
951
81
257
977
117
777
587
765
279
180
93
434
754
829
223
922
56
92
537
881
631
538
438
694
952
127
391
38
635
755
202
315
516
294
723
565
233
546
87
6
935
467
203
939
205
607
789
573
102
966
631
280
567
352
145
871
49
903
549
776
337
648
112
408
40
847
30
587
87
386
449
597
877
673
8
389
462
359
110
430
224
645
775
941
63
149
559
603
989
86
502
327
408
973
513
349
75
216
883
759
865
708
851
501
53
975
299
97
753
547
659
560
539
929
72
473
22
984
683
786
353
584
716
656
201
101
637
573
734
693
259
78
534
351
145
644
187
379
31
632
475
298
270
818
739
174
509
665
974
27
893
377
672
282
99
791
233
172
422
309
29
675
949
437
842
772
562
931
436
829
180
241
498
417
146
674
54
201
129
725
699
382
262
47
705
764
473
869
118
718
154
42
463
197
352
483
566
489
658
518
289
547
851
527
728
636
128
302
472
459
449
772
94
154
130
67
961
294
311
442
754
546
355
217
873
724
521
737
5
771
516
331
725
639
629
379
916
121
202
909
198
434
130
570
300
763
936
461
486
29
717
28
760
871
918
198
516
180
454
958
734
583
198
839
611
936
194
144
714
228
266
318
378
312
893
524
70
517
289
399
884
502
657
913
153
689
496
478
413
237
639
754
594
780
443
74
359
101
168
60
991
504
140
804
58
887
694
913
397
426
295
842
601
340
439
200
290
414
143
134
941
856
851
448
942
545
616
899
829
971
230
924
387
947
829
176
403
726
135
382
380
270
130
436
449
240
449
117
48
754
195
537
670
62
191
193
151
83
912
532
482
157
466
26
127
506
37
106
163
580
139
683
348
916
869
661
387
192
126
560
262
839
413
309
458
993
382
335
351
564
803
313
781
897
978
325
76
842
930
719
387
40
868
660
233
886
557
225
548
953
201
904
406
608
370
535
788
176
314
28
431
317
740
729
848
148
744
872
51
325
146
420
392
455
887
493
192
174
537
709
517
771
171
48
532
429
86
211
362
70
838
98
284
268
101
679
365
940
716
488
382
295
59
980
974
87
592
182
479
313
24
463
862
355
36
718
448
989
919
965
939
845
806
158
304
638
395
999
727
971
184
695
719
566
294
868
878
529
869
293
565
695
932
750
908
105
278
22
161
417
699
5
430
427
371
970
135
879
708
230
449
460
380
887
92
176
486
834
513
357
22
940
514
135
946
145
769
581
90
249
554
665
120
331
231
776
528
62
664
873
405
641
815
238
334
759
223
399
295
743
917
52
933
30
601
688
848
177
625
227
866
920
325
140
375
194
825
427
905
591
272
369
83
497
781
106
979
985
82
997
669
658
972
150
490
749
187
720
96
226
251
348
920
93
169
583
43
799
613
276
813
458
331
677
764
578
133
427
511
144
698
721
355
170
871
662
249
302
840
224
645
669
792
327
479
912
215
198
229
272
8
613
535
669
948
614
354
955
887
977
993
896
221
73
661
985
836
730
356
903
706
386
22
275
798
108
908
410
710
33
951
858
779
410
872
954
965
690
336
7
942
43
213
409
228
304
474
756
78
541
715
13
133
403
656
848
494
909
192
559
952
608
777
385
637
858
936
630
203
555
724
691
985
773
787
36
284
674
515
164
18
487
410
831
542
550
446
129
315
206
670
574
474
798
712
972
79
153
197
712
963
690
262
64
643
772
520
241
751
955
858
252
753
574
367
31
550
499
593
934
683
947
13
464
483
961
338
984
478
528
772
281
770
349
875
52
887
954
10
779
849
186
690
10
767
88
282
754
340
886
671
555
31
35
460
834
540
317
199
241
423
546
973
96
372
753
368
472
685
638
505
118
965
675
323
206
901
502
780
845
285
126
954
402
87
43
294
935
496
579
442
479
311
632
98
461
985
531
378
303
906
898
7
118
212
261
458
467
568
637
844
342
819
483
991
900
400
194
579
970
679
834
702
54
187
859
478
334
793
410
571
203
471
159
635
959
238
810
698
617
218
78
477
219
562
387
429
636
116
580
135
639
323
670
239
902
834
985
769
699
691
163
96
284
762
51
222
316
287
978
310
258
54
829
622
370
686
1000
93
752
11
642
777
947
259
558
330
746
117
740
494
173
287
798
283
131
267
502
181
786
509
210
237
600
998
228
334
851
542
35
306
590
765
884
790
254
845
484
900
556
570
360
844
874
144
999
593
70
490
91
605
565
517
999
363
547
908
107
196
370
533
822
466
593
493
856
664
575
151
822
418
254
240
374
712
533
281
821
819
691
102
642
626
376
198
387
22
30
42
202
989
25
231
628
875
441
524
372
74
132
398
471
28
676
775
642
996
862
919
632
536
618
345
78
19
644
775
722
764
590
774
816
611
294
753
218
807
457
424
986
112
159
637
232
937
775
768
640
136
165
476
304
803
531
682
516
64
921
111
666
368
210
561
731
246
273
382
682
840
244
282
716
770
950
685
437
60
84
344
992
913
204
817
658
108
433
707
616
645
569
275
442
101
397
158
365
781
166
438
494
425
586
232
14
666
163
312
831
896
419
3
265
492
309
750
152
574
173
291
180
614
680
346
346
233
518
85
187
479
26
404
834
718
590
235
994
33
370
673
699
677
844
712
995
711
751
772
827
406
217
990
2
390
257
476
501
801
382
339
377
894
740
291
152
650
86
105
905
944
860
994
249
748
869
245
983
633
346
68
501
592
667
697
965
821
638
200
856
621
70
366
736
44
274
268
990
253
265
789
850
798
690
506
240
209
919
770
822
333
329
757
204
854
531
545
390
290
176
990
450
547
23
272
849
823
155
528
45
237
583
896
768
49
990
631
862
800
33
697
690
946
459
387
879
847
246
62
635
67
163
74
909
989
372
289
494
680
219
413
489
814
901
472
648
187
509
411
869
41
829
762
382
959
390
687
319
607
447
571
942
921
6
485
204
674
520
495
307
528
591
787
534
774
881
30
11
973
420
203
951
616
706
373
599
757
284
560
362
259
986
846
538
972
658
380
658
655
978
773
686
918
934
654
253
809
634
832
629
914
372
601
375
17
305
196
482
414
671
331
330
957
205
15
984
801
291
594
196
582
445
36
961
461
928
35
644
88
615
411
497
1
793
632
853
426
218
1
399
739
571
244
727
91
457
712
771
804
223
449
855
203
145
682
798
488
18
85
949
85
764
353
65
689
438
182
683
853
945
750
981
570
849
212
174
737
873
483
168
799
97
820
535
139
405
318
865
978
398
469
220
651
909
326
700
123
192
686
120
527
100
935
409
316
838
809
610
352
385
436
327
883
307
435
5
888
491
725
738
721
253
985
139
340
405
353
419
628
125
61
12
533
873
176
947
755
197
520
727
731
996
146
622
539
672
443
161
90
693
69
69
741
246
431
83
985
34
350
859
434
791
889
675
698
733
54
733
72
29
238
665
203
302
808
257
990
366
219
524
43
652
370
990
961
259
730
442
523
147
895
500
660
777
853
28
727
392
208
812
159
242
11
956
81
260
642
108
808
94
426
3
460
949
221
778
125
381
304
187
69
62
259
140
544
511
421
968
596
7
673
422
154
166
38
715
364
209
544
825
770
519
322
893
487
934
746
767
965
150
693
687
245
708
689
618
927
311
782
4
186
642
471
531
239
418
919
81
688
143
989
180
962
936
321
135
963
811
823
507
623
38
427
775
748
522
930
788
983
683
30
133
171
976
450
623
682
11
147
912
521
228
186
665
139
203
804
816
931
972
547
175
316
194
152
69
183
592
5
741
198
878
595
974
156
257
379
735
129
725
860
725
621
574
483
340
331
916
176
929
405
577
945
238
257
430
997
535
134
57
247
283
607
694
934
143
66
516
287
741
151
717
835
892
730
258
16
933
695
834
177
375
379
389
944
362
823
463
199
307
490
747
572
652
270
521
461
889
782
19
52
890
39
386
738
77
526
588
614
190
627
557
440
217
94
857
584
575
977
404
975
756
18
82
12
498
6
651
732
968
29
980
243
591
842
488
617
932
825
632
955
469
116
454
304
188
544
447
487
677
932
495
642
801
193
217
490
103
375
825
881
776
514
516
212
451
668
499
652
40
29
982
964
595
350
839
870
443
245
229
569
902
75
101
993
485
269
437
849
855
908
36
305
729
314
856
434
558
224
233
152
105
825
776
471
951
573
398
312
565
244
706
11
827
130
948
915
784
608
802
131
974
589
579
595
890
512
799
97
20
609
700
801
396
141
971
115
834
192
863
437
819
384
899
470
538
585
610
263
683
250
45
107
481
586
358
726
855
88
420
944
750
362
224
156
438
339
861
491
49
132
942
494
660
815
680
547
34
351
254
981
484
743
714
50
427
235
431
486
875
54
33
363
501
752
810
393
955
669
848
559
759
445
497
234
484
758
355
502
894
691
624
477
381
215
569
771
363
266
816
164
241
842
395
729
156
324
752
304
65
970
462
297
584
164
965
217
635
515
494
222
186
383
280
241
273
702
229
889
65
290
542
485
915
942
162
992
258
693
502
546
717
618
634
602
950
409
40
377
659
737
21
433
628
138
94
721
836
720
66
366
507
529
949
793
403
792
605
523
803
586
781
138
388
727
213
443
685
747
599
827
810
931
538
169
999
273
981
439
833
94
350
282
85
795
243
484
894
909
559
198
269
140
947
202
23
600
739
268
871
795
877
919
802
226
917
487
803
629
892
373
688
29
645
864
92
724
295
695
633
286
635
745
910
440
606
971
228
426
463
653
941
78
893
557
819
384
126
433
173
737
55
568
302
438
457
765
437
255
695
234
553
22
681
332
283
319
478
26
715
236
617
209
28
134
131
751
766
64
315
256
42
241
461
16
117
518
125
590
625
365
49
767
157
214
483
407
45
397
510
799
988
98
935
731
562
872
462
431
774
335
150
877
544
562
604
776
437
572
969
678
977
49
538
255
644
92
731
791
978
380
242
316
292
570
422
608
123
178
325
507
955
436
393
600
684
822
473
343
995
86
685
127
103
548
715
631
291
410
220
16
283
597
419
198
801
397
377
468
533
774
149
174
410
793
738
85
243
12
786
273
769
54
993
74
628
836
556
743
83
79
311
919
114
802
858
907
63
466
663
88
212
316
34
476
479
278
892
558
943
408
485
58
49
554
528
224
162
347
766
534
595
59
641
483
361
212
559
241
692
2
225
544
770
763
676
113
250
722
908
276
853
240
472
239
756
573
988
625
530
961
325
477
116
496
77
922
692
804
72
81
308
21
863
617
860
971
543
503
311
680
771
250
59
617
598
789
11
79
531
701
239
229
298
259
34
107
928
29
833
856
111
394
733
29
252
441
276
558
304
88
758
443
228
202
564
687
905
726
946
352
417
526
204
860
876
720
465
820
398
763
110
744
415
470
430
970
213
413
299
8
504
898
445
299
869
787
459
65
110
991
778
555
906
357
723
452
687
30
131
662
301
92
228
986
868
429
199
431
231
342
299
27
490
356
494
45
467
58
329
493
351
567
124
558
402
406
700
470
345
132
490
894
11
80
316
532
858
962
115
89
229
854
581
147
590
341
49
756
554
177
913
768
172
853
568
19
852
874
118
480
248
418
120
403
676
232
206
313
894
330
724
411
586
43
487
587
539
496
275
788
257
389
20
902
763
283
477
703
385
228
761
629
635
671
344
334
675
83
971
31
468
610
484
605
409
379
739
359
153
788
622
50
381
229
687
549
448
203
73
62
215
726
192
381
885
245
112
985
324
38
713
207
174
195
457
820
52
856
44
619
262
318
324
511
744
994
588
667
428
987
745
56
779
199
972
489
68
502
129
938
833
464
597
468
66
536
253
599
888
399
938
280
880
379
154
963
754
458
700
444
767
415
620
232
141
80
138
238
752
496
239
450
521
32
139
101
276
145
220
574
328
515
888
865
636
768
432
37
248
835
212
459
631
292
378
45
628
679
923
918
46
905
51
89
263
304
739
837
879
837
888
417
93
200
636
615
449
344
278
463
574
998
685
108
780
318
323
439
735
711
730
557
909
219
820
624
209
579
472
902
4
231
661
47
735
86
804
843
455
836
114
581
919
941
464
269
307
215
695
665
262
79
359
906
699
174
579
161
735
978
120
305
202
494
759
72
405
851
736
543
185
906
425
110
900
500
339
223
622
96
243
363
716
898
476
666
976
435
514
532
653
791
459
390
57
339
413
491
875
869
603
246
989
456
761
154
389
314
456
820
698
87
37
884
953
776
341
974
552
532
599
930
670
62
797
621
52
275
302
649
808
111
747
124
716
191
988
469
604
45
481
902
557
201
540
862
74
340
778
129
793
44
473
801
93
433
756
633
682
97
251
432
280
305
280
352
639
422
800
972
435
838
5
968
11
457
924
48
571
15
401
578
172
33
572
975
793
236
314
520
821
642
169
718
549
332
934
707
631
133
468
508
30
44
212
96
647
255
635
375
723
53
86
147
71
729
505
63
404
831
87
385
333
779
244
79
76
885
163
430
595
286
850
859
629
181
784
110
72
996
213
291
241
813
696
519
830
466
688
87
791
197
866
129
938
660
386
732
795
368
482
331
135
381
639
8
644
151
66
1000
398
956
359
329
163
284
54
968
52
865
223
369
751
776
403
499
325
215
916
735
635
53
77
146
490
267
877
655
997
706
478
592
984
407
252
937
999
871
167
341
153
267
25
673
971
559
447
376
519
900
512
441
287
481
644
140
704
202
699
972
697
164
171
463
422
989
116
547
130
414
699
290
165
422
206
588
242
432
33
327
492
694
399
196
231
116
496
968
58
160
350
624
678
374
943
113
781
331
39
907
449
476
696
748
785
420
702
166
912
762
12
393
29
347
793
292
998
247
905
780
744
392
428
25
877
933
399
386
91
926
36
652
258
863
555
669
681
877
155
814
592
241
843
133
843
873
592
162
699
145
703
575
791
237
399
856
574
650
362
133
87
251
373
130
416
408
256
2
40
367
39
427
123
976
628
923
936
303
318
838
788
461
131
811
244
179
344
825
967
266
531
136
194
137
130
476
732
998
829
926
371
112
46
778
772
830
396
494
217
679
313
643
88
885
940
259
590
158
969
678
12
414
397
276
770
398
18
940
608
848
77
332
557
911
709
154
702
13
638
730
365
300
176
145
60
45
732
112
436
130
859
467
500
838
404
950
593
694
448
462
942
38
557
552
159
328
290
247
669
919
99
708
941
221
461
360
321
662
570
337
430
875
980
57
396
859
353
741
600
660
851
493
267
283
794
341
961
125
899
288
988
225
808
998
757
999
613
197
418
953
814
286
447
58
437
892
417
91
73
339
879
276
239
76
147
964
763
112
781
947
887
437
738
223
368
200
485
691
166
161
847
286
231
551
8
538
478
6
867
406
326
705
904
488
26
165
827
410
606
412
515
256
463
419
221
417
490
744
525
101
185
303
323
79
335
69
961
927
748
288
722
148
969
497
29
80
97
207
122
420
612
657
443
518
583
413
667
361
780
929
118
275
953
418
301
959
992
479
404
401
795
993
957
603
365
731
224
798
124
961
570
46
434
113
778
634
76
189
195
750
776
221
710
251
919
500
746
161
264
732
868
759
824
504
137
712
47
706
63
722
130
579
822
621
569
126
471
626
26
499
21
763
231
794
566
54
888
438
157
182
511
940
736
731
704
345
245
36
625
170
968
884
312
924
286
33
75
605
260
575
399
706
916
649
654
325
636
945
465
967
831
687
736
490
926
541
218
447
764
977
950
742
696
146
105
152
31
261
553
753
974
798
924
683
911
574
91
39
667
915
744
868
388
659
188
397
815
712
575
656
13
235
525
575
76
317
500
535
922
145
360
46
81
289
225
942
259
706
165
2
568
436
255
420
542
805
208
911
416
129
159
497
731
533
164
282
1000
530
612
533
25
419
93
472
496
403
197
26
640
562
360
662
26
455
152
101
118
207
325
370
804
349
535
190
906
577
904
100
665
858
496
126
244
990
307
1
625
788
641
144
621
591
558
650
367
641
659
531
327
227
613
314
795
158
705
907
861
273
169
310
57
192
216
380
225
463
489
327
674
570
138
62
365
23
825
818
673
885
759
683
282
658
280
835
871
381
615
291
584
194
177
909
694
358
162
282
492
922
282
843
195
788
183
238
583
954
447
534
147
46
139
323
772
132
522
186
357
943
905
212
315
295
603
524
614
495
615
807
852
957
960
875
893
82
565
211
751
689
217
227
721
944
383
719
280
767
622
636
848
179
918
787
377
880
491
585
615
670
570
248
34
943
151
163
674
620
994
238
559
333
969
181
930
612
409
584
255
77
295
578
886
390
952
636
260
816
413
740
744
756
797
791
587
569
809
593
946
289
983
182
628
632
366
580
18
794
169
279
633
120
291
886
886
658
766
398
949
998
882
530
34
551
161
338
25
614
440
177
174
130
976
649
459
62
936
798
307
685
585
267
606
903
240
519
314
901
337
495
517
69
11
301
497
151
193
582
224
977
573
286
683
16
732
378
648
172
357
946
806
937
748
806
642
37
752
379
112
183
862
141
946
383
429
377
361
571
899
336
63
956
487
129
702
594
951
876
340
174
996
667
85
897
351
903
759
638
767
417
376
277
12
607
221
219
434
479
560
619
836
104
326
773
181
489
674
463
153
306
939
783
689
177
377
113
390
517
42
481
151
991
283
471
441
735
655
251
414
394
472
16
425
907
843
357
601
700
805
615
812
627
65
308
785
561
952
75
104
3
413
405
546
469
267
630
538
696
477
260
498
889
910
771
518
361
885
369
111
879
864
115
734
979
763
997
427
314
727
213
164
816
656
962
471
90
445
502
432
9
663
104
475
889
361
799
219
1
814
482
219
410
236
37
686
323
960
619
88
142
130
147
120
462
683
328
665
65
297
283
247
798
17
929
952
888
475
797
945
851
975
909
548
675
225
648
276
326
173
314
361
996
216
180
89
696
57
447
690
940
589
423
610
309
508
638
765
620
801
362
750
259
839
178
61
32
604
845
84
502
468
679
990
375
31
49
703
973
762
441
780
195
550
684
399
670
851
607
639
981
784
368
890
963
407
166
535
50
418
837
41
596
666
107
162
862
223
918
296
147
221
260
936
108
304
454
755
904
341
647
104
196
995
584
638
421
846
376
285
990
35
78
60
225
805
384
36
927
912
629
347
424
571
588
279
856
538
303
332
193
933
226
650
235
628
548
355
387
391
459
135
535
446
456
915
765
844
525
538
961
800
196
178
561
181
995
644
872
438
794
805
389
578
929
142
488
236
687
805
731
487
2
645
771
822
726
369
486
621
866
387
579
535
555
888
313
422
337
432
454
857
545
623
778
805
179
479
677
717
694
725
522
186
549
582
422
310
192
558
942
65
404
389
156
330
558
553
138
688
416
709
622
750
531
16
94
557
196
507
32
560
143
637
344
793
882
647
328
88
646
619
610
649
391
972
628
820
223
662
146
668
879
552
219
845
654
246
778
266
221
180
704
330
368
922
880
759
551
443
176
666
547
567
776
103
171
967
531
184
226
815
296
864
371
650
274
571
543
116
492
196
976
968
438
407
579
133
730
831
649
704
487
438
462
430
670
367
272
651
298
502
657
661
851
364
940
148
602
236
620
723
885
18
381
524
489
978
239
565
492
442
841
768
838
483
744
625
860
803
748
27
799
375
7
93
72
859
689
755
668
454
406
462
602
649
521
589
793
273
683
69
84
362
646
296
354
617
473
590
883
651
770
366
140
787
423
690
177
918
682
83
687
819
83
283
546
329
861
157
387
56
992
123
318
587
958
252
431
696
635
664
140
738
464
988
703
218
200
407
532
507
94
249
982
835
302
194
395
959
713
883
72
367
113
148
728
493
835
121
722
166
561
213
25
435
5
300
443
10
531
521
106
755
615
727
593
92
243
19
361
683
949
750
340
503
234
73
645
223
515
387
367
864
607
15
320
864
956
85
429
981
502
822
173
983
106
442
132
689
925
397
204
719
971
972
538
269
401
158
521
338
703
254
475
75
94
889
830
361
859
33
640
289
340
53
258
967
499
120
886
918
763
42
495
443
923
163
288
455
396
57
504
710
99
620
854
827
486
571
270
177
77
529
8
546
912
607
337
460
951
888
181
184
384
249
127
724
158
741
154
584
857
133
264
669
170
303
995
447
833
849
402
442
884
694
712
183
468
465
292
968
251
120
980
185
677
642
81
503
955
595
566
900
648
34
68
399
185
511
301
361
447
938
427
369
804
662
722
64
642
390
608
763
466
541
746
339
112
185
434
630
483
994
985
602
482
502
106
579
490
567
570
146
842
114
617
714
205
124
595
348
696
372
322
158
852
567
545
458
294
436
627
945
20
746
322
340
794
444
62
286
36
885
725
833
917
592
208
483
140
111
514
608
19
315
226
26
2
912
404
678
774
49
974
611
413
612
607
949
865
249
947
132
162
189
797
457
389
655
532
893
433
30
587
191
874
985
314
571
254
433
915
635
108
532
425
697
800
966
912
442
190
356
167
667
614
992
155
861
482
36
411
574
25
949
389
834
394
198
486
349
337
226
95
890
168
251
579
11
574
708
513
247
100
69
852
21
834
314
991
744
856
548
790
33
563
136
755
528
829
264
497
538
284
981
490
608
701
683
950
184
595
420
315
697
640
628
430
799
481
661
44
968
795
959
625
359
239
845
826
634
44
680
153
456
576
575
533
483
138
924
475
4
661
783
517
769
683
524
451
227
211
245
591
103
642
130
25
181
886
348
339
243
268
73
768
336
552
923
147
915
652
441
277
994
221
235
534
74
308
66
665
550
709
458
669
236
481
388
635
877
311
227
177
795
86
390
859
344
59
77
608
439
472
79
681
249
343
883
164
95
421
200
346
673
961
599
564
19
73
158
273
31
894
903
159
939
690
342
100
851
358
573
645
398
439
315
476
522
926
664
5
678
625
575
865
59
786
842
539
968
42
845
825
144
422
432
83
651
375
95
517
951
271
31
798
872
816
762
424
548
169
756
131
770
342
861
518
878
617
464
816
22
307
960
373
586
185
530
23
597
285
216
945
232
594
3
27
857
350
927
27
637
287
238
2
408
190
317
602
394
522
318
805
338
766
505
589
810
313
868
870
745
414
860
721
799
743
74
567
686
577
211
537
499
475
5
639
958
597
608
736
618
490
555
590
347
236
597
374
807
369
602
130
233
846
217
642
544
658
205
33
710
386
169
221
332
124
924
41
607
682
871
440
202
954
598
659
52
630
353
737
815
191
165
963
479
261
202
158
663
959
337
778
225
827
11
871
153
288
248
855
99
368
33
958
580
571
369
883
584
399
15
944
275
978
296
480
552
673
398
825
430
350
238
501
647
170
359
569
382
399
279
293
726
761
382
335
371
252
756
749
1000
210
335
897
44
636
335
287
776
434
249
8
217
267
602
99
938
214
251
699
673
235
274
301
566
772
378
742
18
438
344
843
339
885
202
776
847
367
749
278
606
478
499
827
762
788
394
776
286
849
396
208
1
131
610
982
974
981
725
47
686
629
381
578
918
584
522
925
987
508
927
677
732
817
890
358
695
780
455
402
27
865
679
121
989
450
194
259
321
771
687
648
408
163
11
179
889
238
348
990
306
624
210
339
451
293
102
85
302
308
346
116
829
7
917
304
497
294
126
798
979
689
656
540
480
243
738
912
37
238
260
309
389
848
182
284
275
569
942
599
548
284
448
181
110
292
861
473
451
474
606
175
569
76
967
648
107
217
155
568
836
365
995
546
25
474
202
498
800
379
791
550
352
373
310
95
721
563
454
463
928
726
99
298
440
935
970
395
296
104
919
191
747
978
327
579
913
792
192
976
818
24
295
842
99
145
250
946
871
301
333
732
490
171
744
72
418
53
341
531
7
377
969
62
769
443
198
642
620
187
674
13
682
124
306
90
417
479
199
16
303
683
588
134
762
37
16
318
787
377
656
210
542
983
5
928
245
827
94
707
791
472
54
752
920
606
75
315
197
215
805
639
722
895
763
922
272
624
636
947
534
631
205
309
195
632
208
488
912
823
680
128
605
484
159
973
98
958
697
899
859
59
778
309
470
686
110
18
527
516
735
373
834
191
58
10
144
316
217
120
200
940
676
520
483
923
26
143
938
725
799
778
877
737
489
34
455
183
100
520
353
50
262
185
794
206
385
621
602
91
350
864
788
936
988
908
49
442
932
703
677
255
485
900
549
393
822
944
326
947
171
470
472
32
647
66
438
971
23
653
206
108
78
654
402
505
90
102
334
989
686
620
685
695
529
920
15
252
266
147
901
284
738
862
339
701
710
962
948
548
292
144
668
886
749
797
870
205
649
347
235
400
161
172
330
239
815
154
530
512
272
835
843
806
443
909
222
945
826
498
153
639
65
235
665
846
562
709
421
650
412
201
226
234
84
999
88
628
32
775
982
506
844
641
585
236
666
552
538
770
331
650
270
709
81
996
990
82
791
893
240
941
327
678
312
869
69
396
911
892
613
266
668
102
392
244
511
473
273
224
433
11
187
666
890
353
517
497
945
397
257
170
266
352
932
636
240
840
904
851
839
351
932
120
305
356
831
229
381
899
627
865
618
302
894
228
218
926
803
141
986
578
52
162
246
260
978
409
954
433
87
848
868
859
742
789
311
417
924
190
4
936
840
179
451
288
645
878
566
408
689
232
619
922
516
26
36
339
312
702
307
520
613
903
58
305
871
886
318
676
890
88
171
862
276
153
266
95
746
682
87
531
564
801
545
19
455
427
153
983
6
724
16
658
11
862
903
355
160
633
945
177
243
855
828
865
311
817
964
42
268
152
768
147
23
688
58
777
618
781
579
1000
740
578
869
422
625
446
943
454
660
562
820
262
899
256
501
353
333
256
838
610
966
415
668
854
682
856
686
700
421
727
807
541
424
897
187
1000
158
42
628
70
72
468
849
481
517
990
978
518
998
873
663
654
434
628
407
865
250
978
92
419
921
861
149
289
88
733
530
33
451
746
432
192
440
605
736
741
104
47
233
140
738
902
22
874
521
653
904
131
841
253
215
470
34
722
285
888
3
694
653
707
524
662
218
77
92
136
753
710
859
318
601
650
512
172
895
525
989
970
370
715
546
485
666
318
18
16
62
632
68
331
718
90
858
442
853
248
835
838
764
473
276
449
208
439
813
117
490
389
423
851
543
410
247
411
378
641
188
105
553
400
434
778
747
729
936
80
71
738
395
50
492
433
487
946
644
417
922
42
322
984
399
775
182
616
689
269
495
856
896
731
350
835
387
637
336
483
26
958
587
591
110
868
41
463
867
537
895
823
414
632
554
37
885
99
800
457
789
630
523
895
750
3
124
786
480
118
607
621
215
139
462
607
874
605
664
314
878
769
514
284
911
717
573
193
912
977
659
157
213
470
720
237
90
627
419
986
906
425
422
159
701
910
718
340
327
481
790
263
169
875
53
125
89
285
826
986
477
529
6
662
188
495
749
186
712
386
712
991
135
395
834
453
324
576
201
342
299
583
286
19
925
873
736
929
930
743
904
53
710
257
564
507
569
719
565
396
840
873
707
364
791
383
803
36
356
506
695
666
500
56
985
878
465
926
386
345
231
432
871
598
282
718
271
946
160
283
568
651
351
471
891
106
781
406
147
713
532
425
287
606
467
560
451
122
92
946
606
150
356
386
853
111
68
442
268
316
276
539
993
897
247
588
336
346
676
521
753
901
343
959
982
701
753
966
1
675
190
453
197
556
240
350
865
333
55
100
137
666
566
367
559
515
382
132
747
271
341
472
37
216
566
428
566
977
368
310
980
8
573
681
847
773
647
37
897
468
507
921
397
624
78
757
363
849
430
250
771
313
815
573
649
319
52
890
721
446
474
990
273
289
85
931
46
813
672
645
247
655
373
366
235
523
575
627
25
992
115
302
539
582
438
846
429
6
765
437
387
852
330
215
84
787
446
183
270
556
500
618
106
680
952
43
499
770
105
905
84
806
680
99
477
554
238
409
623
544
65
735
382
670
476
711
951
526
354
949
406
55
404
658
384
942
800
877
939
468
815
851
646
202
614
381
351
999
551
115
332
267
245
822
258
352
184
667
19
190
829
378
426
97
7
989
802
670
891
528
692
292
23
631
275
673
620
548
573
173
909
437
227
416
315
149
424
825
146
933
558
273
818
618
318
14
782
870
218
388
34
63
26
606
531
145
142
66
848
643
751
248
167
608
500
228
43
877
503
234
416
476
738
484
38
415
261
739
809
355
213
631
526
872
325
839
195
101
418
616
358
583
491
998
883
10
79
277
238
417
949
945
607
77
645
401
77
977
50
120
781
310
926
911
71
836
330
104
741
339
922
219
852
641
448
733
945
806
83
66
286
227
915
790
326
279
553
373
742
75
776
476
255
671
133
932
933
750
630
73
834
407
14
966
644
176
628
484
459
835
529
868
936
856
359
560
873
593
445
674
659
400
751
408
162
960
580
59
356
989
399
98
393
389
744
915
883
616
943
439
867
742
291
817
337
235
416
758
180
942
785
907
120
175
684
860
557
47
571
28
217
428
384
581
161
975
244
126
28
687
7
622
338
374
308
245
325
223
10
593
4
365
536
655
182
2
109
426
628
161
796
918
943
611
150
598
521
790
373
933
571
897
193
836
393
411
41
278
956
403
714
227
370
967
428
388
16
976
61
909
946
157
416
362
668
167
561
772
562
968
617
476
13
269
931
841
783
257
186
676
297
122
872
274
263
118
488
610
506
41
3
136
977
22
396
15
648
485
526
394
401
977
231
480
83
316
261
792
622
176
623
918
457
786
955
544
570
902
799
272
97
592
6
10
829
645
87
271
918
627
987
793
743
694
636
281
215
279
637
920
767
682
631
552
877
406
183
42
273
821
528
416
892
334
167
826
263
823
61
227
207
499
155
963
706
732
61
104
272
606
975
472
445
173
346
779
862
392
382
216
890
742
195
84
7
389
296
826
944
528
191
898
97
274
2
430
884
12
445
595
516
682
957
889
136
824
464
296
373
592
105
453
170
99
191
467
159
652
838
13
948
421
988
685
433
53
1
376
665
593
578
595
838
812
583
247
702
719
203
386
57
591
990
824
33
340
552
314
526
397
46
204
517
608
181
90
988
790
111
14
799
740
494
170
224
454
971
938
764
243
512
261
538
256
381
85
764
632
977
581
837
135
416
349
63
660
550
683
370
459
23
203
217
258
125
892
483
698
411
604
338
716
524
651
951
523
185
922
454
809
99
333
725
716
358
80
421
871
10
313
186
474
643
329
93
58
187
361
223
995
665
324
707
286
268
645
726
449
992
447
693
570
8
903
324
693
123
530
358
773
944
581
451
356
833
419
168
991
333
990
68
147
518
46
560
60
629
781
629
499
436
947
512
931
17
290
120
919
983
386
326
899
787
550
251
653
404
518
313
916
544
30
136
530
584
274
362
497
548
391
44
97
812
881
578
929
686
816
46
414
654
201
465
792
856
714
654
109
349
310
348
30
776
847
765
577
353
1
992
44
489
184
511
413
936
125
630
564
91
26
833
461
976
953
861
274
436
213
868
84
338
989
110
441
855
456
479
515
494
895
619
23
142
96
512
411
264
471
180
6
345
844
608
971
836
858
49
952
112
297
657
220
453
382
766
992
623
291
219
338
408
730
833
768
382
374
507
143
253
375
449
44
369
975
743
85
350
424
768
985
351
47
998
362
180
321
389
340
336
240
814
46
31
77
24
16
476
919
218
292
977
951
560
782
912
560
954
29
285
763
966
96
335
333
996
730
647
265
767
278
302
920
702
123
881
231
13
541
545
877
172
963
990
219
983
596
819
75
648
225
737
153
57
833
48
36
41
329
114
171
473
311
786
209
909
266
364
402
930
44
266
482
476
734
442
605
227
327
557
490
522
646
59
843
421
85
604
514
221
629
710
618
186
482
149
18
268
373
325
145
346
291
834
141
865
943
442
684
780
737
982
668
415
419
38
116
165
839
830
311
986
475
426
179
253
446
244
326
894
768
848
48
653
497
171
781
978
237
670
180
303
207
358
22
400
686
319
597
122
200
105
133
52
262
351
39
510
797
67
454
910
686
309
664
691
969
380
437
903
361
248
212
73
686
632
413
140
708
85
814
110
649
436
55
570
348
165
874
347
639
644
594
416
3
679
698
631
990
457
91
956
208
845
790
674
893
949
309
481
222
981
6
435
554
794
990
532
731
871
967
27
418
184
590
718
217
73
437
105
957
244
768
719
105
51
565
941
765
429
186
305
47
294
183
648
939
698
407
435
960
795
584
254
990
471
962
796
684
553
441
581
771
644
872
331
367
982
821
149
161
181
180
623
941
375
437
547
491
46
293
190
307
814
592
988
951
508
188
32
92
182
474
1000
472
74
778
16
82
152
728
460
809
579
992
931
708
320
498
432
825
201
373
284
190
854
337
514
212
417
231
182
198
321
686
651
129
171
673
877
159
583
836
612
506
777
41
803
554
898
548
612
997
319
571
192
833
624
759
760
821
581
317
601
807
186
54
301
975
759
650
926
621
170
822
863
571
485
867
739
691
720
277
161
267
937
729
35
195
609
770
862
40
41
963
713
6
645
61
579
797
46
43
373
152
295
487
184
543
986
785
270
198
674
196
917
107
803
573
497
131
305
874
984
672
139
257
739
640
274
632
600
574
90
22
163
885
692
3
697
130
409
786
300
123
599
193
744
473
960
928
980
814
713
37
383
634
419
385
667
51
656
322
849
362
503
432
759
451
562
414
375
413
245
695
707
845
210
344
32
307
80
183
19
406
74
812
729
781
766
408
479
54
932
745
312
433
412
887
182
270
934
375
976
293
124
570
195
673
276
974
453
309
44
7
940
973
861
710
670
985
805
294
621
168
606
263
849
666
663
103
294
98
285
157
242
194
829
356
386
708
48
965
967
944
780
317
774
656
17
822
651
458
549
192
731
103
595
917
834
178
282
500
335
817
398
889
339
8
572
789
174
949
935
314
78
705
340
491
419
92
445
691
981
326
287
966
608
485
530
614
24
217
183
33
710
482
479
59
546
301
510
552
320
647
427
948
333
630
238
837
47
78
746
434
149
456
738
966
439
841
308
563
698
300
125
288
25
615
522
257
205
761
520
674
305
913
280
777
85
59
29
303
768
494
211
115
393
531
441
61
271
831
897
956
32
595
920
822
372
746
924
174
906
898
215
183
424
574
934
9
491
651
147
451
539
470
57
365
517
375
401
919
736
726
382
904
730
566
891
752
866
210
346
851
933
993
218
16
138
280
196
704
773
644
982
666
329
806
918
256
959
528
987
530
22
144
271
621
904
855
581
598
431
189
828
172
957
301
679
163
669
860
163
590
715
369
218
626
528
641
583
424
107
70
76
989
100
27
45
861
204
422
709
373
835
8
157
615
974
497
49
79
854
930
402
117
427
13
414
13
604
371
989
436
867
700
448
520
194
876
962
601
198
935
381
924
979
676
477
246
504
383
101
329
238
744
373
771
343
632
835
486
24
818
454
420
480
56
434
759
510
230
106
973
1
401
545
522
431
683
155
968
28
830
196
501
427
309
108
630
479
411
540
890
403
649
172
928
591
295
806
280
203
399
688
453
156
63
702
705
211
42
896
18
683
985
806
349
684
734
140
175
937
180
710
725
926
48
949
67
564
915
930
372
606
444
604
294
762
529
859
365
830
584
104
712
203
716
286
204
779
841
672
350
660
174
233
864
2
629
193
864
51
832
155
69
699
411
227
208
857
163
745
93
575
501
502
445
112
316
893
625
85
18
15
872
436
48
539
513
178
609
155
892
810
702
462
430
839
809
468
305
45
727
260
767
44
141
989
936
167
454
57
300
933
329
255
787
157
138
680
431
300
227
415
141
770
503
359
62
726
343
74
274
379
261
191
394
932
50
763
725
50
367
899
202
201
866
184
287
316
975
663
395
924
412
624
140
350
351
27
904
632
898
176
819
485
227
162
200
71
268
674
924
308
323
6
992
172
363
477
760
772
47
35
918
976
702
491
328
27
584
712
254
873
765
98
343
950
891
851
972
712
873
851
206
552
310
448
672
627
42
117
107
744
811
716
208
666
412
26
678
151
81
375
43
534
128
403
884
944
966
441
648
60
774
556
61
890
992
50
488
197
728
74
299
74
957
80
392
645
55
24
570
14
841
586
369
440
792
199
298
107
499
330
159
67
755
304
287
627
907
914
84
956
203
230
186
731
921
290
978
419
9
809
907
170
804
669
272
379
166
686
694
673
4
90
517
460
767
223
741
205
919
183
903
278
810
556
557
562
645
879
568
11
437
220
496
997
932
96
764
582
492
962
119
853
855
675
160
32
478
673
330
394
917
72
844
928
312
540
451
297
592
585
830
869
457
852
663
516
529
137
107
438
330
74
493
464
921
878
537
178
60
107
267
735
765
128
163
416
998
861
713
811
9
433
710
29
559
545
127
463
818
751
338
475
288
317
790
810
454
39
956
678
237
187
561
235
503
757
628
591
39
319
809
619
439
67
897
526
273
123
124
600
769
733
55
579
2
789
480
809
228
3
668
738
578
147
767
305
795
995
918
495
95
10
879
638
483
338
542
55
92
384
777
286
167
110
436
468
369
190
205
378
925
330
214
270
39
406
981
955
634
522
283
456
171
753
53
190
814
128
222
883
637
336
720
293
947
788
525
420
28
878
718
56
773
751
11
434
762
437
91
238
287
939
442
440
724
767
6
254
437
441
153
8
78
693
966
876
761
443
755
240
93
164
70
890
435
875
195
420
113
876
269
938
497
287
738
651
18
597
769
976
207
734
663
572
802
606
34
86
806
671
730
489
131
872
39
563
146
149
710
488
980
889
722
515
935
816
541
374
731
293
790
420
585
497
901
522
334
658
318
341
900
382
251
956
396
132
818
770
99
68
652
249
315
786
688
299
899
5
904
81
814
832
241
573
656
90
806
520
502
103
712
241
808
443
596
378
311
441
949
856
86
626
858
206
929
886
683
929
261
836
461
772
594
801
579
603
390
823
323
105
860
351
477
638
812
579
47
421
196
957
507
687
382
33
746
537
535
627
996
48
674
310
587
582
132
318
357
360
154
291
865
104
355
713
369
950
545
512
668
898
254
53
535
786
886
665
408
133
42
936
439
242
16
223
794
620
828
215
280
134
475
956
37
293
244
386
6
732
57
363
336
244
800
122
730
711
507
277
947
884
101
842
344
238
92
179
390
77
281
457
517
658
52
980
592
309
268
692
493
491
147
292
15
238
740
624
374
684
801
459
72
213
896
336
808
339
587
868
380
569
392
826
262
363
22
308
653
808
67
573
294
753
933
397
289
983
309
393
522
472
862
346
938
864
190
489
192
125
261
584
620
735
722
842
539
885
468
3
179
882
849
322
352
383
682
858
138
120
45
182
434
517
454
573
235
939
617
818
865
388
406
991
219
92
96
945
266
817
185
825
677
714
312
579
465
150
883
332
963
311
27
471
263
314
405
484
530
182
228
895
206
328
537
151
195
124
463
918
563
715
691
67
170
492
809
566
904
545
570
600
872
955
351
517
985
45
241
592
856
516
285
214
847
994
353
789
376
640
3
564
310
353
492
639
413
572
769
580
285
849
901
464
203
168
865
652
588
453
73
285
557
829
303
309
172
977
928
815
552
366
477
635
960
228
590
396
361
883
367
728
695
449
982
886
301
1000
150
840
503
977
738
784
375
11
344
109
62
353
166
98
882
799
842
7
594
316
251
727
879
597
441
919
62
408
939
391
551
916
749
477
291
130
183
353
791
239
564
562
896
876
500
478
546
301
99
108
235
75
16
385
713
31
660
104
776
279
250
709
653
513
652
440
576
128
107
754
620
515
4
493
794
415
842
48
648
448
408
592
407
698
962
569
703
815
949
763
561
175
312
669
152
497
24
395
231
772
844
957
846
447
634
723
115
656
785
663
368
632
436
269
939
624
215
259
252
300
149
644
599
84
274
350
216
909
189
340
811
574
504
98
715
294
650
426
206
34
50
719
366
908
972
282
33
288
714
800
36
219
942
756
901
441
105
469
662
592
862
415
239
142
359
686
80
243
13
753
399
933
188
170
438
92
775
528
568
127
226
729
978
600
20
604
929
940
926
33
238
921
626
949
741
808
482
63
983
951
246
687
255
125
530
797
417
109
687
344
660
835
601
867
456
924
500
681
470
602
579
230
149
771
668
764
27
504
633
109
507
328
481
164
63
463
388
734
324
593
986
425
475
868
294
646
774
541
598
204
752
98
457
578
836
748
759
725
729
898
399
201
855
576
746
433
588
823
504
232
776
737
993
6
282
199
121
691
874
325
542
109
825
308
577
319
5
655
485
543
87
770
580
424
700
472
513
673
66
299
751
682
637
386
929
287
772
322
273
658
306
590
746
284
174
147
905
63
904
219
729
827
878
642
826
25
773
907
492
855
454
639
82
889
921
394
22
110
608
509
583
314
440
251
228
63
600
625
931
686
850
67
402
384
605
661
528
123
700
670
676
859
923
946
732
587
947
214
861
886
241
313
34
870
934
230
277
960
335
169
497
474
12
946
425
772
931
725
950
667
99
484
630
834
610
613
666
213
738
755
7
772
966
323
520
563
450
123
374
666
416
188
869
519
436
195
960
102
362
865
625
643
917
296
41
819
610
520
282
925
680
473
844
97
234
168
867
493
618
110
358
281
309
892
61
366
323
477
891
91
184
875
983
533
22
807
508
600
227
473
358
876
423
724
688
37
212
776
86
702
253
112
848
806
780
358
417
904
558
742
557
359
645
189
246
22
43
262
587
827
468
900
256
731
33
363
146
547
587
874
894
509
822
207
913
883
16
850
428
516
488
459
731
987
390
16
564
958
461
488
86
381
793
791
367
440
396
589
718
532
634
746
469
90
156
290
985
784
998
381
812
474
954
84
855
313
147
717
401
558
952
174
608
985
111
890
816
256
874
48
654
279
519
235
470
318
421
981
35
650
122
537
838
582
563
789
516
988
661
432
172
867
975
413
345
68
25
138
411
10
202
178
65
128
862
1
293
838
330
791
988
977
76
540
902
75
219
429
185
277
879
967
136
464
612
486
120
883
332
368
842
624
650
810
274
404
543
25
590
403
609
529
390
363
952
566
349
758
905
773
191
608
382
916
527
424
664
896
685
866
769
242
130
890
418
16
425
591
767
362
27
460
716
965
334
490
630
313
555
412
704
970
958
377
73
47
946
523
986
657
264
255
10
449
331
485
296
207
341
759
368
149
299
980
803
743
621
365
391
820
243
430
86
280
481
998
111
928
996
696
81
832
342
951
913
143
485
242
561
483
626
242
374
857
391
539
934
536
184
812
793
530
67
715
428
42
63
205
91
810
175
746
941
311
716
634
16
637
812
674
136
229
25
563
811
797
93
656
551
466
757
209
792
613
430
830
797
901
295
605
486
754
5
302
136
858
784
128
286
348
170
740
991
968
30
612
767
876
761
372
187
757
788
476
115
529
564
388
978
280
283
479
327
12
427
27
156
388
91
10
116
985
746
869
795
453
736
72
698
599
329
87
436
650
617
319
882
846
854
699
752
104
136
830
136
658
436
76
1000
508
124
484
570
992
15
227
821
24
946
97
992
329
574
637
166
564
888
714
477
310
413
667
422
773
692
694
116
467
970
802
22
301
351
484
883
245
934
241
100
199
530
236
774
784
628
632
986
507
220
648
670
160
904
935
597
387
504
680
582
43
44
717
16
366
523
47
204
989
395
369
821
528
30
614
967
801
740
39
960
737
128
109
991
696
623
280
212
220
68
783
643
204
142
700
557
98
211
925
599
32
924
118
990
689
517
356
605
333
286
11
575
672
188
326
351
95
815
257
814
441
306
428
144
604
853
451
599
228
600
444
291
189
632
316
326
836
697
263
386
710
40
975
958
53
459
257
912
483
256
98
87
89
296
774
843
622
759
204
305
609
541
627
162
974
416
634
420
199
267
740
488
138
676
961
335
354
151
327
213
247
76
854
631
299
256
266
850
484
571
682
148
252
833
551
501
540
406
354
137
936
522
974
625
461
539
186
757
444
544
420
539
604
832
794
987
772
774
438
311
648
519
306
245
610
779
966
995
872
669
392
269
222
213
358
358
158
654
889
58
496
158
116
543
420
837
46
922
500
288
964
341
432
988
652
951
119
969
156
982
234
157
564
437
608
650
170
652
603
990
411
72
151
168
183
123
277
732
499
952
740
821
957
209
893
409
162
698
977
333
54
947
855
908
112
246
615
63
500
689
571
970
533
103
928
79
312
535
787
315
940
121
238
959
526
775
959
391
97
88
187
429
609
265
874
495
474
687
581
202
422
926
988
238
50
636
883
639
111
775
166
610
458
32
700
84
572
170
806
113
749
231
840
988
396
204
535
728
299
793
764
200
430
406
939
669
615
305
524
14
340
193
44
199
84
122
520
855
844
736
493
962
900
340
650
713
484
167
623
603
722
540
685
677
104
313
922
632
814
109
970
199
403
371
538
792
688
192
751
940
239
206
834
417
523
566
741
314
548
193
165
503
885
998
733
94
45
787
354
501
501
877
362
696
88
241
566
58
124
187
328
998
356
140
536
190
750
96
687
810
234
701
363
647
706
740
10
364
49
982
325
423
383
985
523
427
552
458
416
691
629
219
543
907
293
612
573
614
72
485
792
68
771
489
795
790
899
492
428
704
531
374
602
325
852
320
874
902
566
25
563
746
462
853
768
251
703
141
821
276
799
256
629
600
841
981
851
177
245
37
62
744
206
320
887
179
65
498
588
645
998
160
737
206
807
628
428
48
94
876
931
911
773
735
826
605
688
722
428
737
113
366
745
885
14
872
317
515
283
327
7
855
558
423
239
810
911
840
227
729
383
34
467
535
317
142
105
264
483
127
873
539
230
85
919
900
298
832
224
183
448
527
301
330
784
85
509
130
485
568
620
375
693
581
278
836
451
935
561
282
940
480
176
488
702
67
732
797
226
63
135
368
21
691
379
633
282
750
944
894
349
953
536
197
409
167
136
810
347
399
206
686
180
175
407
277
286
354
388
920
474
50
32
847
60
503
49
512
216
231
966
560
324
727
352
262
480
314
607
646
34
485
749
865
845
219
416
588
904
312
744
308
151
707
852
509
557
207
431
571
45
665
335
144
380
990
117
483
965
844
189
870
362
904
636
864
459
977
770
541
423
32
160
303
971
440
246
113
21
317
619
186
515
891
724
297
33
241
28
843
845
571
686
728
206
467
335
933
48
169
947
394
669
988
598
403
688
452
581
300
307
586
589
674
897
73
528
621
987
651
148
883
62
230
842
824
924
674
871
313
1
114
781
494
698
936
967
370
764
306
196
860
705
221
362
715
476
564
939
257
32
599
385
426
833
665
218
10
67
557
615
287
184
235
147
476
320
66
729
586
304
735
908
240
265
352
416
18
290
37
256
700
189
441
711
565
194
261
324
522
335
768
316
471
306
798
914
716
866
412
738
663
227
699
763
312
390
743
344
240
122
853
461
878
103
548
642
891
802
630
995
366
788
925
390
356
531
912
127
26
209
498
348
292
694
695
46
379
660
758
769
157
735
683
27
478
695
577
955
976
993
546
29
961
300
197
457
107
344
778
456
611
37
248
755
358
786
319
533
443
920
583
504
81
364
380
992
521
50
2
665
104
76
128
56
20
269
149
123
602
666
183
888
264
371
132
599
289
431
74
995
717
612
683
959
532
454
102
275
184
566
894
249
252
889
277
677
695
576
828
22
728
214
249
664
817
336
575
810
667
579
427
955
385
357
526
809
150
652
685
242
880
351
945
116
320
601
356
840
956
792
112
96
926
121
431
478
843
183
609
711
85
630
125
694
616
790
544
901
873
41
262
524
580
865
752
337
617
763
132
469
238
634
291
135
982
797
759
917
605
556
776
361
248
108
746
500
829
639
349
415
350
636
137
85
389
819
340
612
587
607
952
346
322
678
916
563
76
43
341
150
256
17
280
159
335
595
518
181
203
65
201
275
611
116
909
537
371
318
943
499
796
604
185
240
474
311
885
472
68
416
109
876
292
814
393
688
604
899
371
813
440
236
722
815
986
819
840
712
625
257
32
882
157
258
901
288
836
945
786
910
51
845
811
513
245
901
104
817
248
486
249
748
778
170
863
681
276
980
479
476
609
967
594
701
418
166
808
621
58
471
486
418
138
490
265
641
643
210
28
48
500
154
672
870
255
807
118
2
170
217
535
796
717
110
659
921
888
311
439
249
192
965
974
812
511
864
852
694
201
170
556
116
992
965
541
96
219
353
992
795
913
274
998
59
102
826
79
758
422
623
581
188
826
655
450
223
709
190
265
903
279
479
257
835
360
413
202
136
93
854
717
625
227
10
512
638
752
127
555
150
652
772
965
841
470
117
666
384
178
21
502
489
577
124
536
200
100
860
754
493
388
36
215
523
480
634
994
712
816
543
918
484
466
226
196
626
200
743
521
160
61
98
119
105
85
652
530
732
677
205
606
721
962
382
316
140
102
201
511
330
180
15
655
567
743
551
941
859
538
444
893
342
246
470
723
526
288
689
271
81
877
817
290
929
538
469
224
162
259
346
399
730
287
47
689
851
330
961
363
880
595
608
739
676
653
857
722
594
612
710
81
870
419
706
520
534
463
551
232
971
765
275
633
907
219
94
406
908
279
122
804
437
457
312
429
157
787
262
317
412
124
64
228
798
806
956
500
271
720
388
687
554
260
5
456
431
20
212
932
149
323
202
719
313
824
772
342
556
523
837
756
782
485
239
831
983
436
397
486
443
197
334
207
666
618
851
243
509
267
954
667
801
612
173
864
206
894
62
704
213
156
996
825
900
149
386
11
569
955
533
591
425
189
669
149
240
628
168
628
312
902
511
55
133
691
367
730
861
505
62
678
71
693
782
598
297
813
88
297
565
865
718
850
426
172
177
320
50
902
339
876
531
301
113
621
923
734
270
222
448
521
672
708
961
397
477
435
35
115
381
275
951
380
586
528
486
808
987
945
620
51
13
502
205
605
670
241
189
22
579
601
192
469
267
106
141
581
471
227
143
588
25
497
24
535
724
676
734
210
648
885
385
101
598
146
782
289
670
678
156
680
504
665
254
427
407
895
78
651
372
892
317
860
23
630
996
538
601
946
895
456
470
101
105
163
995
694
437
992
325
355
484
652
318
182
860
162
793
903
487
402
374
127
856
99
392
858
842
379
744
646
41
351
99
367
524
352
592
650
642
590
965
383
741
939
158
578
680
519
479
95
619
561
867
399
856
720
187
543
404
685
165
52
598
437
357
241
280
953
499
758
980
524
684
846
126
72
78
870
461
56
323
173
791
579
306
197
656
332
765
119
730
831
36
968
603
259
320
278
68
845
43
875
217
369
233
321
440
854
353
851
902
933
702
413
179
679
321
525
526
935
310
252
683
289
618
534
203
879
653
497
51
168
501
92
613
667
172
660
316
333
25
522
790
51
467
753
848
145
85
654
610
379
604
239
781
241
439
286
416
632
194
93
522
238
93
106
495
995
259
21
686
37
711
781
374
437
150
140
44
870
926
114
123
53
43
665
303
432
717
465
131
148
786
409
811
723
221
842
72
296
99
141
508
454
650
354
999
884
424
116
724
150
191
944
784
845
914
305
631
278
38
580
368
605
358
147
451
55
956
327
504
452
38
869
741
766
8
982
983
838
810
660
350
723
360
188
521
336
910
273
854
219
285
211
777
249
261
837
587
105
780
810
215
106
308
940
566
827
429
854
749
535
635
280
915
69
414
642
400
254
902
434
612
332
812
77
399
155
852
550
637
97
573
134
466
743
426
8
857
398
834
291
205
390
242
352
239
950
445
852
828
170
962
49
200
182
872
336
665
237
322
865
204
781
856
359
169
11
835
919
914
624
476
683
372
633
442
713
498
207
520
362
991
452
629
684
910
929
294
155
655
513
783
86
235
847
274
635
956
297
803
245
426
770
242
672
264
198
231
500
15
801
801
207
544
464
434
360
637
687
410
510
603
617
601
706
437
601
342
322
494
556
565
59
701
201
203
585
21
860
740
241
292
108
901
664
559
17
669
958
720
129
228
251
647
563
976
124
930
876
429
362
55
378
723
962
137
612
414
122
284
624
447
196
300
463
505
248
713
67
404
870
48
343
867
411
841
756
779
609
167
207
1
904
333
321
887
366
949
509
971
289
830
362
636
951
11
955
232
959
733
666
764
908
403
938
223
765
404
254
632
521
90
249
106
172
509
484
574
16
138
945
308
582
448
698
101
252
190
470
748
776
85
163
445
449
62
402
906
638
227
285
241
769
542
441
120
592
571
329
351
776
716
496
751
422
71
150
107
101
423
984
130
412
920
656
484
846
643
709
411
968
629
4
982
532
927
932
728
158
883
761
233
649
184
495
320
838
155
515
598
97
412
108
485
302
266
686
283
76
206
172
543
612
360
510
732
225
125
745
171
60
995
450
325
63
248
514
779
407
308
510
654
24
503
882
808
855
467
195
877
646
600
554
101
908
859
105
949
713
649
199
728
551
719
406
721
394
800
93
939
430
172
653
197
694
480
821
100
952
880
720
455
747
63
419
797
484
753
812
12
776
58
574
463
74
441
807
649
746
136
726
210
375
553
408
955
35
593
203
732
688
813
847
130
654
71
745
438
315
619
132
798
827
619
35
206
630
692
72
863
979
433
86
401
556
797
569
664
437
851
618
56
376
721
909
961
383
432
776
351
39
982
60
517
878
215
798
800
401
960
187
294
990
473
513
777
70
424
897
529
336
554
763
275
788
647
938
223
591
642
126
58
509
577
346
796
754
510
547
585
624
765
277
940
237
613
740
351
981
7
10
931
62
82
481
552
654
913
863
925
732
478
145
208
608
847
11
9
559
358
109
139
711
969
439
16
519
11
879
446
755
301
520
385
925
928
58
377
412
64
962
586
460
848
513
745
305
703
104
865
393
464
366
268
623
347
808
347
7
101
648
490
943
623
419
750
555
985
766
182
200
61
561
250
279
892
108
345
968
527
721
237
317
294
428
243
489
406
888
14
519
315
857
72
117
482
721
684
498
86
659
201
107
721
987
758
453
327
104
85
920
424
263
244
570
241
54
292
481
449
127
250
47
56
135
241
56
460
342
353
52
785
614
589
669
413
763
270
152
47
332
373
251
734
950
589
33
30
314
337
936
892
738
585
542
922
916
58
176
338
248
390
360
394
628
784
614
996
63
36
859
974
885
125
877
778
585
138
947
384
514
987
724
837
780
241
935
181
666
399
220
483
832
102
750
272
357
122
864
13
410
413
24
153
973
189
851
873
565
753
874
932
363
770
877
882
479
781
418
494
368
6
187
471
561
930
327
361
917
700
777
138
627
139
965
103
34
26
918
575
145
378
921
371
392
631
454
193
802
997
975
887
251
789
524
970
857
152
813
966
921
492
644
859
35
851
25
414
85
634
329
196
951
370
198
878
622
664
669
822
290
64
156
977
773
377
552
869
237
848
638
799
778
712
443
429
907
859
969
598
331
724
899
549
740
81
539
770
484
106
258
270
122
931
109
445
852
922
157
660
703
102
278
262
235
429
827
55
166
163
645
185
23
150
318
959
416
692
464
417
988
574
105
308
450
965
853
757
345
148
721
63
377
463
852
980
170
431
376
340
334
722
881
73
561
582
708
516
289
297
398
399
143
555
112
44
969
852
815
142
786
653
309
913
387
654
958
595
637
337
95
975
734
983
641
126
853
436
434
578
594
236
135
922
623
145
321
239
743
737
599
813
359
464
101
284
11
525
765
791
161
967
158
682
941
639
429
25
921
48
164
530
244
675
553
477
688
38
288
877
281
623
20
442
137
835
79
869
57
269
353
592
279
951
907
410
480
663
942
362
757
103
176
785
854
442
585
750
352
765
703
977
861
14
383
879
558
300
961
616
506
870
307
889
338
594
98
769
777
566
972
993
428
311
924
40
995
111
426
786
803
186
263
667
109
812
5
135
158
976
383
599
399
822
554
231
534
992
399
732
359
927
559
634
437
333
838
783
709
331
7
396
72
224
793
499
816
463
1
596
556
112
339
157
973
77
455
860
212
397
136
570
305
158
397
712
324
958
391
45
275
411
706
823
951
861
619
11
23
352
308
501
680
895
860
265
48
260
147
995
404
827
291
47
947
526
486
461
525
531
408
407
216
155
317
650
162
371
192
555
339
447
963
666
250
497
950
171
668
124
135
372
626
935
750
864
817
426
33
272
479
628
622
252
567
943
263
961
776
812
956
354
521
197
632
459
513
380
774
273
988
257
126
27
921
120
798
350
850
897
610
292
985
985
485
273
386
62
63
753
884
766
473
826
294
675
393
17
220
846
89
247
406
45
130
335
156
894
865
403
833
396
552
271
805
671
229
229
514
294
47
598
510
327
793
149
431
976
754
728
860
841
927
432
961
872
791
291
561
493
528
684
105
817
616
664
524
520
174
943
590
745
326
552
790
341
80
79
77
861
943
950
140
3
537
455
961
585
986
53
525
744
754
60
510
761
878
974
655
803
289
565
317
928
1000
319
380
894
478
15
322
653
427
984
718
969
560
112
877
200
660
724
643
178
398
294
591
58
893
357
995
157
1000
72
966
101
632
660
132
52
240
320
29
382
696
300
182
921
471
499
475
858
919
386
3
395
949
991
48
538
93
466
232
761
250
24
149
841
959
52
12
853
92
888
907
180
289
10
284
392
260
393
211
36
372
393
738
677
531
785
433
48
443
553
802
765
810
570
823
887
857
606
265
541
865
958
837
929
71
591
420
316
367
879
863
2
720
900
815
854
145
789
100
727
342
814
995
963
836
702
557
216
561
221
841
58
357
183
448
154
766
859
364
330
868
230
421
526
597
654
79
416
170
278
407
523
781
990
311
722
682
759
47
379
129
999
55
785
461
951
942
168
731
193
243
326
909
41
222
835
661
26
548
880
106
639
169
965
741
215
67
159
955
184
872
82
156
905
514
528
538
947
167
473
985
8
777
251
387
604
343
824
937
304
959
402
578
563
352
184
849
117
253
567
830
526
512
22
741
677
281
758
34
973
946
396
488
479
755
164
891
539
233
511
404
219
558
642
574
480
26
183
281
161
638
92
603
697
610
968
703
992
298
103
357
15
649
994
671
513
765
530
882
677
605
749
837
740
146
879
948
260
567
356
915
253
129
659
509
478
481
93
50
870
49
84
995
561
19
193
212
977
182
778
129
186
571
180
902
108
374
374
169
152
105
261
736
588
374
151
772
271
881
560
687
339
485
106
891
168
248
188
62
166
393
101
392
953
30
443
490
117
283
985
310
974
226
639
485
745
620
833
923
105
14
352
390
348
191
696
65
278
302
85
732
531
282
505
360
214
308
637
312
657
105
30
304
560
919
686
569
38
821
30
355
892
798
357
17
924
801
994
484
288
495
797
810
651
961
117
834
433
43
23
740
498
298
406
433
449
780
571
207
116
991
54
133
929
375
701
974
586
674
489
186
865
315
192
748
456
749
729
157
430
324
985
895
323
848
945
83
827
459
208
839
810
814
381
54
658
878
329
934
5
808
14
650
515
502
487
887
702
407
605
908
767
77
240
993
17
807
35
735
725
363
277
775
231
497
77
958
664
438
841
801
916
9
979
422
399
366
892
734
693
616
532
828
370
707
290
928
204
91
483
214
453
603
495
104
121
880
474
284
938
452
571
924
276
312
865
982
402
371
509
494
257
713
121
8
416
980
136
120
32
523
628
187
297
199
132
840
448
789
99
885
372
91
924
564
680
650
959
870
449
953
473
846
966
668
359
324
457
164
233
603
206
124
704
910
464
525
790
331
258
647
849
82
525
69
958
612
20
772
346
56
73
599
352
968
615
316
409
121
805
418
698
365
280
662
458
222
268
10
413
911
773
324
418
977
619
648
216
553
393
410
151
562
233
172
790
824
939
842
666
148
157
427
770
941
189
440
11
798
578
94
567
802
739
249
976
10
796
905
808
680
270
702
21
336
379
483
403
684
593
508
55
741
478
289
516
252
37
347
973
639
507
420
955
267
22
764
91
773
628
247
746
565
896
858
869
373
772
122
922
906
371
637
582
259
133
655
790
695
132
144
809
824
356
289
189
16
463
731
910
64
865
167
528
767
963
81
866
85
51
528
596
963
682
845
142
769
260
118
439
487
272
16
452
507
804
360
811
857
971
390
584
200
443
263
968
807
511
732
672
928
49
315
827
725
272
519
562
978
407
846
765
253
282
360
165
162
355
599
562
600
874
460
946
578
739
498
280
376
96
755
933
268
862
851
76
982
201
554
910
422
406
474
229
868
801
830
660
79
27
479
904
211
517
504
435
479
77
713
414
806
198
341
18
507
164
78
1000
225
62
328
43
895
509
239
412
549
317
634
459
115
293
432
791
214
110
525
277
133
478
388
632
781
883
848
4
456
778
592
852
674
457
939
411
140
762
369
221
192
450
75
509
689
278
546
687
346
829
834
907
27
672
658
350
309
713
973
923
954
490
962
126
557
723
682
104
776
639
722
348
968
495
345
44
27
198
519
838
457
163
147
649
461
347
575
214
933
909
165
245
739
118
314
452
639
899
785
162
490
920
669
977
159
202
570
705
664
51
857
794
668
512
946
643
365
657
616
435
198
762
301
619
577
829
147
741
995
958
386
118
467
820
238
744
251
816
106
899
186
565
324
178
770
36
84
19
352
975
454
376
367
292
599
863
626
707
414
581
47
275
767
806
75
373
496
942
277
362
77
415
230
385
644
704
883
755
643
326
29
900
962
377
387
160
791
205
63
569
846
884
835
349
837
410
802
57
192
983
403
178
175
288
730
518
447
454
350
895
39
209
559
509
484
845
106
831
538
766
953
35
527
778
548
785
857
766
437
675
639
101
772
707
701
915
415
23
476
391
901
491
377
333
468
867
339
584
736
983
104
307
375
841
718
756
304
509
429
914
509
488
855
316
596
528
859
416
555
957
31
134
48
231
62
563
707
775
591
378
570
170
270
213
790
411
934
69
175
245
725
901
967
592
953
636
492
646
301
251
958
566
672
980
742
557
652
389
958
779
59
827
951
729
506
734
667
672
268
374
468
240
964
828
118
548
774
519
80
25
919
83
220
724
168
169
279
12
964
603
197
426
579
423
483
948
390
476
349
122
965
627
251
235
150
160
808
262
775
579
814
375
892
892
216
631
700
409
446
842
432
228
502
766
516
893
497
471
275
135
183
146
253
230
135
691
51
271
861
117
173
547
85
191
978
342
853
752
308
644
930
841
714
689
113
108
531
771
772
961
208
492
885
587
409
427
297
260
427
246
761
350
323
474
549
33
58
390
66
8
591
79
971
451
546
246
741
24
588
241
497
13
101
650
167
557
93
945
763
511
518
938
587
684
364
194
729
69
928
156
61
223
660
442
263
111
851
668
128
607
219
213
484
313
150
523
607
512
918
899
934
903
769
263
196
205
103
27
850
858
349
33
816
813
337
514
108
855
94
158
858
972
41
660
642
50
500
574
771
565
276
926
366
8
817
758
662
496
153
744
927
383
335
53
828
728
604
893
822
162
889
536
412
13
510
198
684
576
171
808
584
52
414
589
796
986
716
378
953
15
319
767
115
343
697
502
109
647
305
16
384
53
856
657
483
408
941
923
99
320
217
8
955
354
759
21
421
305
427
550
876
722
241
633
291
686
843
782
431
418
93
433
341
439
725
93
533
871
769
489
365
945
155
225
647
960
494
815
428
721
541
474
250
964
276
699
900
394
814
528
829
751
636
322
965
724
695
62
603
663
58
445
415
762
629
517
400
787
381
178
772
495
266
677
352
600
637
101
42
524
585
970
340
163
61
264
649
646
40
599
371
339
269
817
352
392
328
939
301
748
839
319
201
870
656
811
591
387
785
963
817
486
604
548
7
164
658
259
567
384
965
986
464
761
269
939
420
674
158
784
410
565
267
99
539
796
93
707
450
603
61
851
913
589
588
777
124
708
829
2
575
901
711
429
17
346
596
540
212
827
657
68
627
841
619
926
211
900
17
676
668
931
576
486
446
817
565
361
731
877
288
400
362
545
916
983
482
575
969
71
141
864
670
271
820
377
231
898
22
711
913
63
675
588
349
701
55
875
174
555
363
830
512
342
856
896
215
730
685
745
54
296
155
250
262
330
190
736
895
202
188
137
534
44
274
704
694
645
239
466
200
784
46
990
440
722
879
867
102
206
143
977
475
118
702
814
888
872
901
63
187
755
609
183
389
684
580
954
861
247
948
834
374
502
546
491
424
708
44
51
33
78
614
471
74
665
945
910
817
707
945
154
35
105
403
928
472
232
201
436
916
918
426
548
416
309
865
868
429
262
917
319
786
69
915
5
430
623
231
829
793
567
269
769
552
573
681
748
244
679
675
801
888
513
300
536
329
317
986
999
484
913
410
670
62
135
977
697
617
819
804
459
962
96
143
201
109
649
576
791
863
555
153
635
150
539
922
374
941
760
874
299
380
772
446
330
346
895
153
7
216
52
770
198
34
85
787
97
656
637
520
696
666
985
335
84
58
610
960
820
699
861
719
161
623
811
852
98
13
303
784
992
581
180
317
111
706
967
238
520
303
552
775
574
905
986
651
741
841
160
235
601
718
945
436
649
633
376
517
950
683
578
2
809
352
450
177
346
330
553
476
270
142
264
211
224
720
22
700
769
738
394
819
452
67
807
413
440
193
961
798
879
827
380
793
473
212
80
343
793
833
20
792
449
323
897
331
612
376
805
933
285
384
503
369
395
321
320
503
16
151
226
166
2
625
237
307
862
906
95
35
995
882
156
416
283
379
469
554
593
746
348
588
989
448
117
720
283
347
303
277
110
368
273
118
906
72
220
413
967
502
411
915
309
309
841
382
180
800
790
739
883
37
264
871
44
522
17
730
580
356
635
516
392
921
159
322
244
334
872
516
404
900
161
555
318
774
794
657
60
863
609
966
285
774
319
397
203
260
90
362
403
190
621
962
416
552
672
26
586
355
385
610
161
601
286
150
491
688
556
507
910
700
9
565
161
35
235
868
195
760
536
35
803
870
601
313
812
368
351
709
519
714
23
591
612
714
365
487
94
381
735
124
611
627
51
390
158
925
741
13
349
208
332
208
301
388
820
470
726
789
752
986
990
728
803
815
763
222
695
157
355
519
491
493
1000
723
669
354
178
314
873
769
476
763
932
220
680
754
539
37
515
754
976
759
913
814
421
909
764
495
630
23
867
777
276
520
190
646
819
199
605
816
529
717
1
695
233
388
15
285
398
63
689
164
432
622
10
90
427
829
657
49
159
937
259
752
825
399
133
717
871
534
776
20
268
765
339
771
775
339
963
153
36
43
102
589
862
513
915
237
651
171
388
562
740
703
99
139
394
237
445
241
257
104
706
971
364
87
527
895
206
609
295
178
950
163
394
212
611
619
519
600
884
730
57
137
386
295
60
144
248
925
467
82
364
324
63
905
103
302
105
997
985
477
686
870
609
800
686
35
145
528
570
546
800
309
425
812
994
323
328
155
405
260
583
489
682
57
389
226
344
911
244
165
344
61
752
726
822
264
520
324
826
634
521
75
139
779
667
326
930
745
268
663
617
317
792
173
196
640
573
738
310
983
125
39
492
654
331
772
351
800
52
313
928
787
633
669
124
389
379
128
863
840
327
427
620
72
519
627
38
164
580
130
647
87
572
445
78
320
23
358
772
834
497
152
909
199
315
404
147
325
833
643
846
415
204
898
613
272
688
708
375
1
418
705
725
478
931
284
892
730
976
199
594
466
816
110
933
599
731
304
692
521
480
782
650
279
254
883
2
562
36
458
559
583
367
359
184
533
197
670
831
257
920
674
621
224
662
19
640
631
644
949
511
715
706
708
346
953
155
466
393
849
681
179
522
433
447
819
746
430
397
317
100
313
455
365
565
55
574
983
165
511
515
330
53
762
835
845
140
639
814
177
822
932
940
759
419
437
149
117
255
91
219
174
676
943
588
856
912
574
415
320
408
932
854
955
137
194
389
143
455
435
532
412
253
369
396
249
527
379
402
328
988
360
891
320
10
664
515
772
36
564
66
767
558
212
817
208
884
26
586
591
262
799
412
99
312
601
216
685
390
715
799
545
204
438
312
93
990
556
664
74
565
718
371
931
861
702
54
953
890
819
100
976
666
269
23
621
280
324
717
166
210
603
71
116
943
571
433
487
148
605
972
607
991
640
326
983
641
437
809
391
654
986
65
901
739
425
310
981
327
112
185
178
499
183
813
124
80
983
883
778
114
289
430
888
537
91
523
616
569
41
266
168
253
357
327
46
600
105
755
223
7
286
942
168
971
99
451
115
628
59
853
424
330
423
864
156
271
484
843
239
187
878
153
729
273
984
953
677
752
874
786
101
995
40
662
371
686
286
473
85
288
783
224
195
5
250
972
659
471
635
396
431
674
457
584
925
979
200
984
413
660
737
442
998
75
809
939
884
450
992
897
707
251
418
945
561
321
779
611
206
237
756
714
641
873
86
164
872
751
933
436
239
590
104
283
93
380
895
106
994
455
58
999
814
249
444
669
334
895
377
332
953
359
706
198
134
553
772
332
55
752
262
564
763
686
10
550
783
883
337
302
748
181
448
283
131
859
742
624
551
485
611
170
454
427
484
802
197
937
378
963
683
858
228
358
736
308
577
575
349
132
32
786
782
536
26
706
256
53
27
752
615
947
337
671
948
196
978
984
586
467
26
217
301
837
893
301
811
612
731
445
877
246
110
508
398
253
582
155
891
1000
537
82
682
445
42
191
910
206
966
891
225
830
748
635
640
774
650
378
555
385
167
914
428
147
554
926
882
537
115
163
325
118
959
362
296
909
435
419
839
636
354
807
161
223
389
488
726
745
782
323
712
126
568
559
451
55
72
72
88
960
359
890
162
377
623
943
281
741
287
173
306
428
681
844
758
877
765
380
240
749
272
131
719
379
65
194
462
222
220
871
255
603
559
343
307
846
932
901
875
774
522
432
245
646
865
879
152
826
60
91
117
880
862
807
464
319
961
534
951
928
774
707
90
459
504
851
194
502
45
423
121
482
557
622
500
91
195
756
948
929
486
678
411
758
364
377
302
582
687
102
561
712
350
239
87
71
801
788
269
277
815
436
501
434
897
153
617
167
584
721
175
139
179
824
393
202
219
138
315
349
27
390
502
869
282
473
104
431
408
545
721
359
972
483
827
5
969
204
887
992
62
116
479
24
359
437
913
159
304
165
829
678
578
275
222
184
734
75
191
126
406
756
462
747
558
860
377
334
219
763
641
766
526
324
579
538
730
496
8
880
995
65
171
90
467
674
322
924
84
941
661
731
33
774
363
51
611
987
281
531
448
906
797
383
736
957
964
39
132
154
750
346
477
982
687
399
320
460
730
76
535
12
419
458
960
387
731
544
99
45
165
135
407
340
647
296
560
304
847
565
449
81
362
948
299
853
1000
795
472
619
119
837
995
344
532
48
819
798
40
464
108
854
31
821
635
185
909
630
474
16
361
348
755
69
568
409
188
913
527
180
438
664
572
353
196
425
60
918
982
848
918
565
271
1
399
362
551
14
13
548
309
57
9
589
728
876
205
965
108
446
238
747
626
298
504
708
65
738
130
558
590
487
371
920
456
222
694
831
794
134
653
865
244
888
370
478
291
325
71
788
567
797
673
816
305
318
834
162
348
585
256
174
829
500
270
971
703
31
883
65
815
125
574
911
60
917
41
461
524
656
41
665
177
620
199
918
818
784
396
644
482
150
922
585
460
478
80
833
403
598
364
370
718
628
619
647
631
185
846
766
816
119
418
927
469
385
527
121
50
425
615
488
715
820
400
368
599
47
844
844
735
884
103
478
347
377
24
27
672
312
278
169
265
829
540
621
944
136
474
624
144
303
424
422
481
746
831
253
741
334
411
367
353
16
20
756
633
489
960
615
740
690
203
15
334
860
636
938
389
491
976
579
464
722
431
810
19
667
546
771
42
696
917
842
318
918
630
667
181
996
328
446
477
920
813
492
753
596
936
892
435
901
347
183
815
392
339
140
249
976
643
145
846
693
522
89
280
194
928
471
110
636
802
143
108
513
820
148
675
329
23
247
364
153
798
4
904
835
618
762
890
33
814
440
463
311
386
857
920
251
529
193
146
885
123
282
190
824
911
663
75
105
443
689
172
125
193
569
62
53
417
877
834
737
416
956
198
435
903
628
626
688
52
820
963
245
646
3
607
250
446
868
407
828
556
258
877
789
68
194
203
434
742
781
767
343
800
875
629
572
180
670
436
918
762
767
772
780
128
874
816
670
410
18
504
605
651
23
79
470
888
69
44
914
866
347
45
528
882
154
136
828
772
333
215
52
455
582
162
902
777
11
349
137
610
312
737
345
295
7
769
348
565
590
571
389
5
770
810
708
975
673
677
128
661
608
93
29
597
904
194
409
546
436
553
822
129
659
411
608
942
367
388
215
215
941
754
378
232
554
366
605
857
631
819
691
489
924
151
992
711
672
737
765
672
694
594
205
23
707
423
703
791
817
140
475
176
930
509
930
649
751
801
68
99
188
15
755
37
201
354
924
13
582
63
645
476
717
700
519
273
104
166
39
889
309
545
406
269
68
922
787
805
452
856
137
643
364
135
547
959
152
734
521
306
796
683
713
402
938
657
440
986
27
677
719
492
955
257
660
307
906
707
798
365
524
52
361
622
183
237
512
761
835
827
329
108
897
445
663
314
656
562
31
843
946
47
396
666
209
116
18
863
614
926
573
27
600
59
365
439
68
606
780
36
454
356
118
48
102
868
506
39
649
814
936
799
650
69
362
148
290
462
396
282
819
954
404
695
319
316
669
91
488
21
897
942
412
169
515
500
717
736
100
162
39
361
817
36
512
146
905
451
858
694
103
939
683
695
416
895
816
908
754
745
852
294
792
935
611
416
882
471
845
939
942
67
406
204
53
161
13
440
904
220
944
77
338
757
239
47
986
445
457
684
380
561
657
39
5
750
4
994
448
741
344
561
203
234
153
136
678
657
512
276
678
839
127
805
954
968
973
618
400
371
835
633
154
768
880
708
158
633
401
221
689
244
36
226
13
781
120
743
573
582
268
800
84
285
957
308
456
122
657
692
764
83
2
500
344
993
626
863
681
822
512
779
954
716
163
684
995
261
446
651
913
522
705
875
867
238
634
813
259
357
432
446
169
787
965
666
952
829
21
709
783
278
258
893
350
574
100
653
57
701
688
23
855
788
939
241
257
438
934
155
193
906
142
414
97
155
420
262
27
666
362
870
679
668
316
769
868
56
306
913
424
900
181
305
481
867
545
914
820
286
388
831
255
861
916
203
85
247
744
548
232
767
509
418
59
594
927
276
764
612
536
640
922
971
653
223
992
125
579
841
554
706
707
315
619
187
1000
460
636
680
234
529
667
585
530
151
817
78
940
884
191
537
300
5
521
136
91
32
151
751
846
803
239
249
457
618
886
984
843
89
381
41
595
834
928
348
598
121
20
288
122
845
77
863
568
10
115
770
855
13
970
966
425
569
37
448
990
93
592
997
427
711
487
565
682
831
433
880
138
414
134
526
701
628
252
493
731
577
560
692
39
215
660
464
433
297
337
430
616
497
960
384
853
386
320
46
484
2
982
673
219
177
497
456
178
606
836
590
805
896
962
716
91
459
818
119
54
190
857
766
33
302
909
724
169
579
360
10
370
568
579
219
202
894
44
582
369
988
858
217
894
7
210
434
670
583
871
932
800
400
991
580
5
251
304
285
459
370
352
132
573
357
499
578
635
919
279
988
713
7
147
221
895
648
764
273
769
935
770
233
40
178
408
906
284
172
464
528
172
924
730
908
932
925
602
210
399
252
497
312
822
349
452
372
455
341
691
777
71
126
929
127
765
279
901
294
789
34
919
878
708
207
266
571
879
935
906
45
100
568
263
979
280
844
831
752
182
738
951
159
567
22
419
201
612
614
485
668
37
259
408
734
247
951
991
261
683
771
397
811
721
493
130
685
701
394
272
391
101
204
933
90
423
995
414
468
130
158
745
428
811
279
141
731
835
870
350
442
931
416
104
608
511
134
616
127
25
165
580
158
363
666
242
748
87
418
875
571
306
97
438
811
95
347
299
253
716
123
615
577
277
569
412
733
135
859
426
983
71
13
502
892
201
699
733
106
662
412
500
231
331
236
336
497
247
599
791
193
918
37
546
38
424
23
630
757
68
323
926
147
342
177
112
796
143
868
798
480
512
845
915
948
624
650
331
462
424
358
261
973
79
63
303
282
365
282
808
848
239
746
869
206
71
208
435
74
462
320
905
323
132
575
113
953
100
587
777
87
265
698
337
800
537
2
607
268
874
434
806
346
929
445
364
174
530
155
330
814
892
621
380
267
260
952
150
404
691
624
96
516
809
252
142
180
661
462
148
124
245
277
611
593
914
605
103
475
575
1
622
132
582
853
444
417
243
562
83
841
118
67
619
259
680
274
45
683
430
580
251
70
280
684
903
1000
864
317
835
169
451
345
476
555
303
948
503
896
647
226
170
882
910
607
691
49
510
943
669
952
274
984
784
582
527
233
872
380
985
848
86
441
844
338
33
659
909
286
679
640
125
243
303
175
674
221
15
952
613
929
141
972
147
12
320
814
774
73
289
518
916
174
136
325
183
869
287
961
43
527
597
440
533
892
709
600
617
327
255
719
917
197
602
573
870
175
549
267
782
49
820
1000
875
757
244
692
189
997
214
53
96
712
426
235
288
179
885
716
317
188
880
396
140
70
960
204
708
875
936
706
279
73
594
283
53
572
115
476
679
636
153
987
414
596
158
659
989
827
795
464
740
563
265
177
212
540
894
937
202
367
636
332
200
747
21
28
262
388
632
158
618
492
438
921
758
240
150
834
275
534
313
113
516
611
42
514
957
821
110
731
257
981
654
199
170
234
859
666
826
293
822
499
421
246
273
999
9
857
906
411
944
459
912
467
454
45
693
469
18
167
845
951
473
582
254
880
250
379
531
232
734
477
87
517
501
985
867
492
129
896
117
870
317
978
607
307
316
537
403
326
32
925
623
122
724
291
623
393
923
86
695
433
27
255
671
723
78
893
810
185
367
387
943
57
849
677
150
100
836
367
158
444
59
847
258
948
997
446
781
365
332
935
58
978
448
349
387
601
221
183
705
15
716
531
553
982
996
597
470
940
992
330
92
363
258
650
113
571
473
819
739
450
774
55
443
151
339
415
591
337
161
279
47
958
626
541
908
863
327
736
367
756
524
888
89
161
815
827
598
86
858
85
918
2
435
247
110
636
783
821
404
803
832
253
354
169
957
730
799
419
892
793
451
757
706
572
625
64
117
701
931
303
966
534
802
990
379
358
322
594
1
677
186
790
681
510
546
367
188
857
132
414
832
165
341
137
369
640
875
295
182
741
143
760
557
39
852
172
792
898
159
986
998
112
262
484
714
722
574
473
876
714
466
450
247
196
98
19
166
973
56
188
331
118
326
984
413
272
671
507
465
917
592
150
457
800
890
204
803
12
301
498
365
967
796
13
307
671
928
661
96
235
27
541
121
516
146
6
678
167
407
830
538
124
793
624
888
744
492
378
232
389
633
684
741
249
593
765
618
567
115
902
277
273
137
222
516
189
593
122
434
639
424
768
488
261
708
226
18
298
122
778
503
432
896
885
43
498
87
91
837
47
219
866
959
771
327
25
320
276
988
905
539
549
202
908
366
725
873
372
440
452
192
998
388
225
470
210
718
551
805
888
533
708
518
908
802
153
474
779
847
353
237
473
708
918
510
221
290
437
478
657
511
354
444
191
227
543
662
910
334
982
354
613
306
77
697
818
393
737
993
703
851
251
335
994
849
397
807
725
181
969
689
678
490
92
177
44
482
284
845
514
531
194
463
577
147
361
792
269
17
138
683
13
704
107
124
454
639
976
909
406
755
910
214
108
943
721
717
13
541
156
831
217
235
760
264
485
55
443
387
518
678
921
827
776
821
681
294
668
365
959
898
389
760
496
119
26
379
542
142
806
766
608
502
520
112
14
828
234
900
124
48
355
367
504
543
21
336
912
641
543
2
169
285
354
465
474
895
485
153
629
257
109
796
19
693
113
281
890
957
955
537
630
22
306
586
314
378
89
31
725
570
589
549
425
417
207
404
230
780
344
607
610
814
574
98
131
318
19
264
16
212
309
172
349
175
79
119
187
159
248
512
98
851
685
607
249
143
999
358
157
319
337
469
694
990
46
773
731
753
975
204
52
206
28
973
836
190
268
47
21
92
541
635
365
622
89
220
836
722
91
599
279
189
405
494
946
108
44
603
588
464
76
314
282
136
710
939
52
3
302
24
683
111
898
182
776
646
703
951
269
987
579
378
125
261
264
364
821
611
496
352
640
888
657
589
454
570
864
10
872
498
645
797
159
475
491
791
310
816
582
218
986
752
959
666
846
918
238
831
938
285
719
324
422
561
436
767
874
485
203
432
819
452
244
971
961
616
337
128
734
909
700
876
493
476
48
141
592
626
325
113
112
737
649
158
757
501
898
530
740
550
189
373
74
723
234
38
773
242
160
321
910
589
963
52
331
174
151
426
132
749
532
539
628
110
323
884
687
835
932
967
742
666
826
787
712
695
884
641
364
681
496
627
354
666
468
224
296
577
479
582
725
612
441
448
772
66
612
222
658
680
723
283
895
749
702
526
207
970
799
97
734
480
47
366
52
597
21
561
896
545
824
847
244
829
42
328
610
3
201
137
955
272
886
751
632
765
287
708
174
309
370
166
520
258
287
98
512
244
893
496
76
726
470
619
548
860
804
216
15
531
820
637
388
349
855
927
149
23
475
327
370
828
475
74
650
800
322
44
77
877
840
569
178
468
367
705
102
832
998
345
944
199
728
827
225
778
521
104
990
701
377
121
938
435
426
783
244
407
997
768
484
427
360
504
158
980
550
802
850
611
280
35
970
460
440
212
375
433
119
20
890
641
366
683
905
526
173
508
770
494
246
102
675
997
208
543
55
744
805
241
341
110
508
840
57
905
715
245
826
330
365
817
867
381
373
827
930
929
754
492
446
442
705
322
856
611
161
30
701
175
589
975
94
866
820
947
589
727
779
132
328
5
846
251
561
441
425
205
300
92
992
26
893
693
565
576
803
222
25
245
692
533
201
817
224
850
963
816
649
453
815
882
326
139
657
144
828
861
445
165
178
527
447
714
39
98
681
561
427
963
902
483
601
84
199
929
316
538
863
80
549
912
688
610
147
447
285
99
576
985
293
869
99
504
616
3
271
520
925
447
580
659
702
393
445
510
68
567
542
230
451
687
604
460
930
87
435
800
752
454
859
498
61
660
718
992
386
943
841
679
796
58
117
575
906
554
402
571
143
61
39
613
741
298
164
455
971
546
831
609
2
491
217
714
617
669
806
851
730
216
517
250
274
295
202
423
577
314
772
17
772
62
525
580
153
933
890
980
617
727
914
452
532
894
269
108
397
686
497
276
657
403
486
217
928
815
872
619
624
870
199
748
742
26
175
300
89
863
286
816
787
184
381
958
291
456
548
108
451
271
789
487
418
504
511
465
270
957
844
786
314
603
134
224
940
959
743
532
757
759
473
664
491
835
482
932
806
38
599
124
737
119
284
674
949
708
328
631
365
919
573
509
36
656
547
130
279
398
932
193
248
87
217
625
63
765
707
740
580
779
316
840
665
674
191
188
575
418
305
206
685
184
566
338
312
775
902
282
864
660
18
177
860
750
213
915
638
275
718
933
721
549
530
747
887
995
572
982
962
515
344
879
216
198
937
49
61
385
363
793
408
323
721
423
674
990
607
845
892
186
535
134
835
662
858
931
348
865
835
307
311
883
32
138
815
295
221
141
111
927
268
481
908
970
328
227
378
526
780
42
15
391
971
160
164
832
786
107
573
163
487
651
816
180
48
117
814
877
429
597
962
438
837
530
558
176
62
817
342
956
370
924
946
655
314
408
970
379
12
909
218
472
126
932
357
853
811
697
881
835
361
885
798
388
146
405
918
750
709
164
946
399
556
421
858
669
265
484
174
691
41
420
855
946
693
943
456
416
390
853
123
234
164
216
752
760
335
7
338
219
488
54
153
391
582
952
880
349
120
78
248
930
17
963
25
424
964
41
471
964
651
252
442
231
142
45
415
382
80
90
621
574
170
402
333
30
539
647
90
389
206
102
344
987
825
138
527
794
301
92
55
949
666
105
144
257
815
832
601
514
306
918
948
255
454
821
341
375
391
819
737
65
565
60
691
697
423
102
962
606
645
660
847
195
361
262
795
445
231
39
361
677
153
180
39
389
590
439
839
85
254
691
727
284
887
689
227
291
434
112
527
939
768
453
427
173
423
560
324
302
522
392
242
740
190
144
581
283
245
967
877
322
924
367
355
885
698
830
487
106
994
306
63
514
768
15
516
520
452
425
384
638
714
381
803
248
886
79
890
163
632
15
709
890
656
58
282
194
794
561
744
543
831
745
343
57
813
666
425
808
365
721
956
745
791
17
376
9
321
907
832
161
877
662
879
636
192
553
773
823
920
577
393
276
618
690
618
914
144
695
758
567
48
845
206
818
999
838
79
927
153
116
994
553
643
269
535
89
39
943
173
725
714
821
591
707
555
148
416
917
317
805
356
554
261
76
593
640
408
161
80
83
836
925
101
252
5
552
14
364
996
598
641
490
883
362
143
678
214
653
575
495
701
802
505
274
790
177
220
500
723
589
106
67
82
691
684
548
566
895
662
300
937
386
129
903
642
525
642
427
627
300
550
42
228
539
379
749
850
242
447
378
341
765
212
564
581
572
2
91
834
918
909
858
833
150
618
741
397
272
854
794
631
37
946
528
387
109
747
542
740
792
746
364
661
377
787
188
962
439
208
137
841
296
596
768
36
428
595
830
682
833
358
684
454
196
318
366
473
286
916
25
746
129
802
340
646
415
820
560
15
33
769
33
18
826
551
424
803
433
787
341
340
580
433
769
562
284
214
521
82
219
940
898
292
930
879
905
629
670
412
644
150
382
136
958
314
744
411
27
78
269
142
344
960
166
194
452
741
14
466
884
860
372
60
964
346
96
415
554
376
497
542
331
119
458
661
912
572
290
700
984
517
410
57
611
561
897
983
70
448
594
739
875
499
719
411
144
73
854
891
98
392
813
73
270
977
89
769
956
144
532
153
552
767
422
866
669
525
365
2
355
391
263
320
316
985
183
973
753
736
102
925
351
485
355
21
954
301
121
371
700
773
425
291
732
998
936
568
95
786
329
207
141
381
76
166
540
95
334
766
18
853
11
638
48
570
185
62
47
654
828
540
42
707
135
247
416
675
872
805
76
260
842
439
322
414
941
193
759
141
326
304
845
598
869
256
24
735
445
302
973
301
575
426
158
73
603
841
785
593
914
100
207
529
635
818
59
16
907
827
674
972
90
293
846
452
183
968
646
544
359
282
748
178
725
426
744
503
362
904
948
150
230
333
541
782
741
375
242
833
695
792
343
218
779
584
607
113
30
30
480
602
493
247
61
101
806
601
498
1000
609
855
845
877
451
478
893
992
383
943
193
472
490
154
294
787
461
371
205
642
650
124
229
362
254
652
606
240
919
349
867
64
515
526
387
219
891
577
392
355
93
294
625
590
973
620
889
615
56
641
985
872
296
964
899
183
650
933
669
827
396
321
33
63
800
235
853
558
18
979
284
974
104
528
854
240
609
77
938
659
534
875
573
56
337
153
235
644
292
513
959
128
718
589
151
857
544
114
538
497
186
817
978
791
971
708
253
455
183
389
565
146
354
1000
153
778
602
286
390
101
649
66
690
656
671
67
840
665
258
681
645
384
601
738
354
777
453
749
961
92
584
438
318
72
159
584
986
96
980
310
857
494
556
34
915
638
759
180
921
193
202
671
432
93
546
892
314
361
646
556
840
925
845
421
540
943
716
292
176
954
269
132
644
412
962
382
109
727
863
784
410
3
949
104
609
51
859
153
578
115
360
412
686
983
428
392
976
781
110
583
698
833
275
469
701
398
944
618
2
974
157
329
750
134
206
614
979
516
651
610
743
694
747
614
685
140
755
56
644
363
185
662
660
652
159
960
597
511
955
53
662
40
264
285
308
977
877
25
339
106
284
293
582
15
187
364
120
959
3
814
943
724
237
676
833
922
38
522
445
136
329
312
829
661
670
810
109
395
386
175
623
579
590
154
594
693
412
902
331
781
132
57
21
898
958
171
413
152
831
952
80
40
42
99
494
367
383
662
829
96
240
988
296
858
351
302
808
727
888
897
923
65
178
709
390
921
625
786
45
501
360
790
488
686
711
208
739
446
847
378
30
254
849
806
3
311
16
482
833
433
447
86
221
980
782
20
787
74
545
206
96
678
696
420
479
791
849
787
812
158
101
686
653
382
590
960
460
278
680
809
161
630
163
156
983
247
983
614
291
384
749
362
171
100
763
429
614
132
374
850
467
205
190
175
755
456
129
594
604
855
302
743
720
72
485
889
352
227
250
776
686
367
927
883
887
294
178
214
387
613
360
41
542
445
828
216
501
282
984
743
986
912
187
329
673
135
613
542
71
264
768
4
75
26
631
792
890
548
358
836
644
568
45
644
795
854
308
131
400
122
346
657
417
381
699
674
471
753
134
494
934
275
976
798
745
99
707
458
129
818
863
128
266
323
82
849
986
750
661
608
794
566
145
376
864
780
245
677
155
597
897
123
499
589
354
704
281
558
996
799
375
878
999
53
92
5
47
262
210
250
72
375
603
653
364
556
594
990
490
12
908
516
144
953
44
43
455
610
932
353
270
728
992
726
662
307
99
603
195
668
479
991
537
116
307
242
614
544
572
288
837
364
855
216
891
36
774
318
195
288
220
408
429
856
956
234
440
177
824
278
459
46
558
96
775
641
188
636
943
701
104
621
147
900
117
200
555
591
283
530
388
190
811
872
939
440
127
56
961
649
47
918
712
830
44
388
391
303
822
454
910
981
733
134
714
12
112
946
839
894
256
75
532
490
624
615
528
586
770
776
492
763
712
952
267
419
702
856
285
670
815
752
899
754
388
954
489
289
106
349
856
412
434
715
845
379
200
972
129
696
322
317
785
218
107
410
635
947
47
370
313
443
793
396
686
881
774
211
551
756
15
399
513
195
814
920
549
608
309
743
66
172
419
589
179
232
290
228
526
287
178
650
201
623
641
682
257
40
21
321
835
349
459
121
141
508
115
463
412
284
824
442
505
362
160
395
946
645
766
813
109
321
858
478
703
932
994
211
879
300
577
514
102
652
59
755
371
725
480
254
528
912
826
787
141
763
630
585
892
277
413
849
512
447
850
168
13
482
973
9
412
948
358
609
164
873
993
194
267
462
438
436
357
688
975
455
141
470
671
457
205
534
659
357
580
347
500
278
427
691
178
902
877
564
139
47
357
82
798
665
707
967
109
724
9
47
121
73
337
878
904
413
550
268
910
7
879
995
568
576
253
456
925
133
278
343
201
167
266
684
417
668
8
757
665
996
781
453
167
471
669
629
995
860
425
875
224
673
950
921
312
259
974
570
736
239
665
675
228
733
699
160
506
157
812
505
33
133
942
445
187
172
877
815
180
364
752
660
242
248
817
727
822
416
657
392
76
169
452
967
449
713
907
39
982
976
212
180
861
110
772
929
788
146
443
426
33
55
731
440
359
699
737
845
603
745
614
762
348
660
987
719
37
311
60
139
829
545
132
431
718
340
846
725
725
801
783
54
486
277
935
400
158
380
208
552
403
519
315
176
125
856
366
848
753
240
973
40
144
790
957
229
555
260
569
357
764
236
690
838
103
495
661
199
79
588
224
233
305
800
550
201
644
182
502
267
843
253
76
820
444
333
417
752
417
175
965
102
799
733
27
667
596
446
529
329
351
377
780
894
52
909
834
144
545
465
443
706
180
921
639
35
215
924
709
522
394
347
710
280
211
505
668
632
601
541
328
720
169
614
623
920
635
135
76
973
857
306
938
789
663
662
245
951
715
124
884
794
833
337
421
796
488
697
692
722
690
523
116
594
116
289
265
97
123
707
487
484
243
703
256
359
860
17
515
27
23
242
474
196
796
596
192
942
88
629
824
778
652
366
569
576
844
76
228
865
746
8
738
720
483
922
250
53
907
182
81
642
346
520
372
612
769
304
378
433
549
294
127
689
4
430
582
47
1
143
556
837
233
41
375
643
216
621
679
128
649
783
809
81
566
566
960
323
615
465
630
703
860
105
947
848
770
865
111
754
404
208
568
559
388
142
481
49
931
217
774
536
38
904
274
764
43
37
494
394
788
241
187
453
69
894
101
847
492
262
279
661
471
853
861
523
927
950
582
738
204
517
52
247
780
371
481
728
669
579
728
309
786
549
407
439
151
156
325
430
511
558
718
60
890
81
568
430
560
620
814
934
187
581
387
827
227
272
841
359
166
5
799
864
866
901
554
520
120
547
962
691
480
191
174
927
557
127
861
704
324
290
330
955
348
848
327
264
525
742
396
373
641
733
352
301
992
490
835
950
398
635
905
527
134
499
352
524
740
514
706
251
167
797
962
127
462
510
660
38
9
988
288
46
385
473
925
697
52
536
687
923
421
889
792
337
319
377
14
264
517
368
866
477
780
642
133
960
848
130
233
451
847
568
487
699
928
157
574
598
311
877
310
367
511
935
444
969
252
178
329
808
444
975
162
545
680
205
20
561
857
518
16
202
938
920
762
427
339
124
756
915
121
803
457
986
987
47
563
927
48
870
472
428
490
588
971
892
544
215
961
306
616
849
425
210
57
140
905
79
776
559
458
52
879
157
467
557
529
895
669
815
489
434
474
610
205
491
984
991
788
461
117
757
13
39
885
690
247
8
207
492
290
171
577
301
233
667
553
471
791
544
295
40
45
520
314
913
154
306
211
361
409
758
386
834
936
364
648
478
470
272
179
972
878
135
550
475
543
541
339
530
271
702
429
761
142
353
277
73
589
554
236
832
57
168
563
230
767
334
861
607
499
170
525
26
781
269
233
801
587
308
640
987
419
211
209
92
686
881
546
361
380
462
720
59
375
460
748
84
116
815
885
132
64
212
370
341
40
476
32
50
518
908
509
845
1
802
858
548
830
182
53
189
186
26
159
280
582
828
12
897
813
399
858
206
248
207
727
18
292
421
283
933
77
32
512
396
721
85
886
748
998
116
576
967
889
317
885
333
302
859
304
701
148
29
519
401
132
543
229
51
828
473
880
731
44
714
272
17
77
804
525
365
153
229
91
207
264
44
325
920
650
745
615
481
356
869
268
288
693
711
93
61
892
883
157
190
952
171
250
216
478
323
424
324
319
906
368
884
911
362
502
112
564
750
388
839
361
426
488
263
944
91
353
276
232
222
17
653
40
894
786
923
609
386
592
256
350
775
819
38
427
931
795
121
390
928
178
918
764
924
112
616
334
971
326
764
904
68
312
450
466
991
379
34
46
103
590
196
953
357
599
633
836
226
936
306
711
87
565
568
81
925
440
861
394
833
340
912
319
933
473
536
763
775
230
206
118
203
972
531
954
975
953
662
267
96
274
439
433
5
315
765
233
200
204
311
630
878
707
157
551
457
389
379
543
603
22
903
22
531
981
204
825
902
815
505
875
577
272
218
119
894
790
281
284
851
890
902
668
803
946
973
886
835
538
95
461
973
961
685
189
792
485
163
447
767
657
533
25
946
268
25
568
121
610
603
434
687
301
268
652
832
256
96
621
504
367
839
422
861
59
757
895
551
177
60
137
209
587
968
714
35
474
946
651
168
563
100
254
841
377
67
890
994
241
7
122
80
921
441
35
311
671
759
128
478
12
203
916
778
698
987
248
788
239
29
394
850
768
445
177
644
261
556
744
650
884
667
119
539
723
294
325
276
282
813
702
846
900
754
29
91
667
77
170
73
543
795
310
785
83
282
237
749
618
416
784
271
767
495
262
653
904
492
688
712
542
813
621
280
651
182
714
231
602
646
438
738
762
7
983
100
772
143
61
500
201
827
175
468
551
600
922
677
584
217
103
916
551
975
690
749
166
960
228
406
145
876
849
925
668
676
898
409
409
624
102
555
668
795
328
270
692
262
242
278
501
376
586
117
399
625
385
819
878
517
110
849
814
829
717
625
683
329
530
18
43
794
135
760
650
723
796
652
421
665
439
725
889
493
900
318
949
246
964
145
447
440
709
969
606
806
801
493
387
519
671
396
610
873
992
269
71
240
413
312
965
879
356
320
610
840
512
385
874
773
830
222
699
921
949
762
846
952
478
900
272
585
16
894
591
144
552
915
710
277
698
702
21
88
264
85
537
830
804
389
942
131
149
379
822
456
352
454
284
111
174
251
744
673
994
703
928
128
981
836
22
388
495
303
477
74
913
695
175
652
526
198
554
38
711
30
806
802
307
415
442
937
40
539
381
988
855
74
177
997
224
343
206
327
869
156
393
949
834
664
551
161
508
316
530
42
45
166
136
170
593
303
219
245
877
156
438
318
999
787
928
249
736
46
520
876
254
642
215
135
892
777
336
13
615
973
144
817
785
105
735
678
147
473
731
620
312
952
601
785
560
861
462
620
482
222
849
917
846
502
255
595
86
777
230
54
960
470
410
707
282
490
156
53
86
629
415
275
228
547
990
867
240
523
661
261
166
439
523
756
250
128
414
317
601
300
590
959
356
765
619
520
470
533
24
578
977
727
379
155
439
888
416
658
392
422
172
150
728
429
385
703
375
79
153
42
111
57
308
116
27
315
125
574
979
515
727
293
356
127
996
294
617
59
888
376
352
99
814
764
80
209
108
894
579
867
720
248
329
270
945
768
566
169
382
985
499
532
364
447
503
1000
753
421
467
341
363
135
21
696
245
998
96
452
759
364
65
984
621
381
811
356
106
398
143
309
226
219
396
492
929
197
458
977
357
819
157
522
753
947
702
928
868
334
848
112
624
378
528
177
344
335
5
865
76
367
962
236
418
878
574
360
760
557
291
55
72
428
992
457
182
994
179
296
995
259
102
292
266
2
48
981
333
187
556
657
694
803
972
816
424
751
593
660
230
601
628
750
329
203
343
874
488
134
52
554
256
934
51
372
850
929
235
494
214
174
854
345
484
739
819
370
455
102
28
219
686
910
415
499
564
723
823
439
980
669
318
423
264
115
307
374
707
554
629
406
264
926
840
975
40
495
61
11
750
219
87
161
646
275
945
315
328
41
711
62
440
353
208
558
520
318
141
589
151
300
341
278
139
949
54
960
650
326
620
240
115
204
475
160
239
646
121
690
624
798
633
457
381
658
266
764
580
243
969
447
549
193
949
71
843
356
938
268
176
300
496
783
708
19
507
935
897
330
985
747
515
573
487
952
550
285
683
461
463
437
95
641
634
686
647
922
957
845
388
852
188
440
719
683
74
780
472
995
299
445
479
645
967
493
619
549
685
927
882
402
312
220
699
496
78
738
636
174
110
937
559
339
343
114
561
642
433
298
249
637
561
620
475
231
950
91
250
232
516
283
349
636
307
847
75
595
303
133
772
654
699
452
908
962
10
666
993
612
216
879
171
195
682
941
39
944
788
406
155
529
25
317
715
725
826
931
121
646
556
60
463
202
871
240
506
746
157
311
391
631
848
361
136
536
232
156
955
968
753
348
585
319
945
778
93
209
854
111
79
609
219
937
811
447
739
167
583
940
474
268
498
922
789
415
976
805
298
121
491
636
917
297
450
896
520
952
657
325
645
972
523
67
380
486
8
839
859
345
331
705
758
149
629
225
817
80
69
425
675
505
427
82
252
964
739
270
509
686
477
969
635
213
600
844
651
58
984
923
953
609
960
46
543
597
129
395
565
567
203
342
307
734
317
147
974
494
204
736
436
643
602
913
600
63
518
882
233
208
302
871
884
255
992
999
973
174
84
239
307
296
689
525
983
199
17
529
146
827
280
679
103
816
391
272
69
955
285
361
237
521
302
260
876
18
820
61
943
496
274
609
992
191
729
708
275
699
449
188
526
300
265
634
337
294
99
218
988
443
699
73
245
686
495
96
993
301
506
881
466
627
386
739
536
227
28
393
734
144
628
998
661
506
749
593
2
271
709
947
623
371
586
39
137
823
213
98
857
662
833
190
316
708
468
841
351
221
656
92
330
507
926
654
243
399
285
572
246
311
14
895
730
290
292
387
147
57
502
224
626
543
609
986
898
853
642
942
138
876
168
827
146
22
598
820
702
652
320
412
14
859
949
205
962
129
419
470
191
342
267
447
215
249
215
969
381
280
54
976
915
78
962
877
319
632
549
538
56
263
373
844
797
5
179
437
528
115
816
241
426
540
669
788
771
183
410
229
81
703
92
125
312
436
899
774
234
697
356
877
11
410
457
796
640
497
925
542
109
939
820
873
74
742
769
590
396
325
383
174
85
970
836
410
101
77
160
549
964
935
539
836
310
558
758
955
395
2
52
71
15
176
740
631
485
845
424
49
121
966
50
719
136
945
768
531
985
694
370
233
965
627
78
501
328
818
563
574
228
619
403
647
601
956
601
996
456
377
432
991
130
687
613
720
761
653
734
960
631
832
953
600
17
68
189
446
924
550
438
533
370
645
377
674
920
880
134
36
797
572
931
902
231
591
355
660
650
664
146
278
961
441
751
165
416
264
341
388
539
220
647
648
129
581
764
309
644
192
9
27
151
698
39
203
583
786
695
578
287
730
444
768
684
661
889
434
418
884
527
86
544
509
840
231
135
403
831
673
218
193
330
326
60
627
753
782
671
113
492
260
829
675
804
258
83
875
886
397
930
462
785
500
838
666
971
899
854
66
651
321
272
917
375
493
281
664
95
770
522
132
591
671
238
530
94
208
54
995
21
277
451
843
966
190
700
119
478
635
338
276
689
954
286
43
578
664
355
621
504
570
187
350
630
638
658
924
82
53
388
11
948
528
270
887
761
972
883
326
711
96
231
494
632
387
498
69
778
172
426
141
485
137
460
704
89
787
46
719
896
792
308
782
559
79
900
415
964
819
965
884
606
172
24
204
475
766
65
728
700
420
303
277
503
503
854
293
591
726
53
899
730
832
259
82
99
836
777
416
997
18
949
887
612
798
560
423
853
31
476
657
698
999
785
313
130
556
822
355
459
481
152
706
805
75
939
895
530
425
203
490
679
568
108
530
872
11
789
468
622
632
211
320
746
68
220
841
437
72
234
507
510
179
21
30
573
263
588
952
144
187
530
551
245
839
87
968
645
264
771
961
695
498
654
170
673
969
329
87
643
989
96
217
112
985
168
47
178
565
524
536
431
434
612
780
623
470
250
417
984
977
934
101
124
250
253
75
654
102
271
484
10
937
530
541
487
282
816
102
162
418
928
515
188
935
493
820
944
526
279
519
662
357
576
168
432
666
931
981
952
46
959
500
986
18
991
105
256
110
28
854
425
623
881
645
888
673
348
231
323
901
23
941
353
449
623
292
196
400
748
836
903
932
631
709
604
830
744
333
248
851
92
657
432
679
649
107
292
834
679
186
873
970
596
234
53
452
631
463
883
947
812
756
157
67
663
122
125
749
590
931
547
158
147
201
669
378
223
305
311
59
756
423
976
492
726
941
761
273
42
794
929
855
440
442
168
800
639
757
935
458
835
616
798
146
63
400
356
643
98
909
126
940
306
449
806
766
352
951
402
341
689
33
74
197
569
855
934
651
669
467
688
720
514
102
754
822
575
528
399
623
316
147
549
766
462
982
99
29
477
107
9
663
550
328
945
281
415
130
982
679
953
14
706
414
869
325
80
772
658
609
605
30
749
354
634
521
949
659
173
117
261
62
145
138
755
236
889
620
389
747
613
104
604
396
619
805
68
930
406
96
158
51
131
730
636
758
548
132
530
982
196
362
375
386
580
112
839
990
55
147
254
947
386
182
708
419
267
81
183
1000
627
589
674
537
202
588
367
534
679
962
698
518
711
748
594
919
221
190
246
8
728
677
538
406
861
324
649
525
837
123
407
38
455
180
688
163
60
553
522
87
7
563
617
352
404
312
651
384
287
294
88
658
914
630
195
151
587
470
671
866
267
539
536
199
223
615
939
822
179
2
157
606
709
668
315
784
125
802
334
238
736
976
144
270
166
989
514
727
342
709
698
630
888
940
686
768
931
388
63
846
718
331
336
850
34
443
129
284
157
576
831
780
940
974
121
398
678
522
285
620
619
154
399
614
317
469
268
898
556
933
463
890
232
795
924
198
407
977
392
685
739
755
334
507
613
22
155
334
606
245
204
923
369
62
508
53
606
580
216
583
595
51
444
72
629
600
617
938
802
36
380
639
837
632
884
724
990
910
564
870
660
136
538
258
990
207
392
691
637
64
454
899
876
600
593
361
378
240
231
814
350
57
502
316
159
317
471
395
251
797
861
310
934
107
37
940
564
499
864
109
767
330
625
476
599
427
408
214
967
94
237
821
206
396
745
352
432
649
384
251
196
765
998
734
987
212
91
401
348
862
254
301
723
931
61
238
649
551
176
461
612
262
550
244
664
824
362
52
921
341
805
150
179
630
881
510
180
119
146
855
513
352
726
495
746
343
10
377
140
603
107
449
213
657
559
957
519
272
818
839
195
390
664
680
276
6
118
57
255
823
360
222
132
529
845
231
992
997
107
590
218
504
710
422
564
347
422
965
682
835
982
952
155
726
732
16
717
608
26
857
171
611
519
291
420
80
393
689
172
550
97
557
116
405
423
164
808
144
593
197
46
12
567
401
296
119
974
26
562
817
887
718
186
280
196
141
226
691
440
257
448
419
813
675
453
869
498
888
150
447
614
552
598
207
827
163
236
328
143
630
627
486
452
288
188
604
160
813
767
170
655
364
583
559
393
36
786
304
125
367
810
329
149
191
785
473
493
634
479
508
634
403
661
2
696
816
283
44
42
226
622
818
882
548
332
488
760
663
412
652
813
327
235
884
272
82
126
513
971
330
443
861
579
433
772
593
821
165
622
720
241
346
968
48
950
789
88
568
343
987
420
320
24
85
554
812
999
793
78
924
782
835
722
543
196
430
105
891
515
75
489
623
89
604
71
266
743
77
781
533
50
583
995
364
46
433
287
263
78
539
152
695
254
2
614
810
388
77
771
738
453
676
630
85
259
569
24
982
519
240
17
268
491
147
962
927
130
779
303
925
27
470
272
955
465
404
887
429
592
641
16
247
54
250
840
488
431
863
740
190
476
20
482
833
455
729
600
923
865
533
30
370
411
223
395
967
436
34
803
328
879
827
656
114
486
245
792
236
196
332
184
989
568
400
580
749
631
217
681
966
809
745
908
638
390
707
371
380
572
254
383
499
299
886
751
173
918
535
123
970
224
463
870
449
573
172
333
518
580
64
782
564
371
993
104
84
496
154
61
721
357
998
936
151
482
971
530
209
29
936
767
31
671
56
596
741
415
770
524
408
963
273
830
545
938
520
463
464
673
412
696
146
291
218
818
117
488
742
569
17
761
967
534
176
840
138
433
506
723
343
94
477
13
627
906
745
257
624
721
281
564
482
498
436
89
587
466
500
901
225
219
709
321
861
949
547
96
139
966
475
655
76
787
853
256
170
300
945
63
292
961
369
44
324
538
240
119
450
656
586
184
917
281
277
443
833
330
885
24
304
783
343
963
772
45
263
487
940
806
51
960
91
320
740
9
888
855
581
97
22
32
987
272
140
933
402
886
585
124
994
838
367
213
893
311
671
155
811
995
950
279
532
552
302
950
673
410
419
817
592
25
838
872
54
423
654
907
511
190
77
488
462
48
466
318
362
840
529
643
5
32
416
437
101
820
314
223
52
542
993
736
523
390
456
112
523
318
506
916
91
687
533
124
619
368
315
128
71
991
943
920
35
543
245
908
656
754
254
191
960
577
315
735
983
600
405
613
422
406
143
333
242
746
708
361
762
873
623
134
292
565
923
178
305
134
760
537
457
234
881
292
521
351
763
858
435
681
385
683
223
507
762
111
493
287
396
488
611
420
758
25
369
47
723
535
207
299
686
935
565
157
719
311
985
402
681
437
951
218
719
849
246
656
921
968
860
529
200
336
34
300
674
680
95
168
908
430
152
890
381
279
525
816
448
585
76
252
920
706
199
544
50
874
312
206
396
808
152
1
536
112
6
152
72
404
330
727
689
270
847
847
311
371
302
537
540
462
576
949
638
663
697
189
296
31
647
173
284
401
535
792
905
484
830
126
826
418
875
655
490
323
824
164
793
929
466
549
148
12
173
849
341
189
311
566
845
621
34
839
360
306
339
56
395
910
598
293
645
601
593
336
776
867
218
118
967
150
622
123
243
979
545
651
173
406
994
918
8
748
217
595
688
52
118
772
455
225
911
305
999
475
781
167
129
583
796
742
28
502
100
944
999
994
704
688
468
297
793
506
721
331
554
44
469
563
961
744
899
469
841
308
282
448
794
387
575
200
234
547
716
782
888
748
437
30
589
458
538
567
89
58
490
383
922
347
158
836
50
855
173
976
151
100
233
301
914
132
153
393
646
494
36
417
814
195
306
113
901
416
717
758
96
453
597
527
867
825
811
862
469
578
865
703
757
547
607
928
476
762
747
927
364
223
247
12
983
6
226
278
201
2
658
613
610
669
545
768
12
804
696
812
267
725
472
814
446
240
91
326
235
423
157
52
962
523
91
155
464
336
72
776
245
935
877
692
4
977
762
514
705
714
149
456
762
453
407
514
842
409
476
832
994
866
425
150
539
54
276
470
218
409
613
534
576
745
542
234
476
375
550
844
926
442
682
845
107
521
267
129
620
79
72
615
469
514
412
628
245
324
204
915
288
397
400
864
368
560
524
271
545
291
283
31
439
924
335
233
93
796
342
442
972
490
380
414
419
782
621
67
59
913
957
337
232
545
903
417
514
141
683
995
799
516
862
312
197
999
286
258
215
1000
380
278
327
748
11
525
12
640
273
615
819
943
523
270
806
559
901
394
965
172
421
371
893
403
410
907
992
504
708
367
977
726
598
329
310
745
851
47
450
432
633
633
499
805
284
992
902
229
115
5
327
790
468
998
793
307
226
291
360
627
871
492
453
684
946
246
964
314
486
362
838
945
583
591
737
130
741
822
729
313
102
172
695
377
930
229
276
276
984
716
737
499
505
978
96
211
618
966
211
643
866
882
313
726
450
213
614
15
501
675
250
665
385
494
749
594
582
532
677
996
182
978
858
50
399
758
799
23
817
299
572
935
228
34
405
647
79
873
684
495
504
860
865
614
849
450
90
665
413
103
884
980
843
439
412
103
266
784
204
221
767
758
129
322
260
502
672
724
159
239
248
267
506
138
348
598
372
857
837
915
417
734
586
16
466
299
947
722
840
698
262
547
974
643
744
19
525
713
561
187
799
172
886
666
813
16
27
39
717
582
461
557
641
924
772
852
225
114
20
816
240
762
38
887
739
375
523
746
125
578
536
793
352
868
235
883
257
305
223
474
665
495
881
728
476
245
474
146
422
568
603
980
573
35
780
26
925
77
532
377
626
484
448
393
490
253
16
446
435
920
935
939
411
681
802
772
200
955
767
650
181
494
735
602
792
800
219
655
963
409
764
861
221
527
160
756
531
634
313
935
181
928
768
593
191
896
309
782
778
864
18
662
406
143
428
203
800
238
134
624
120
651
354
378
152
7
414
628
11
587
101
965
307
857
125
602
178
275
702
377
898
445
378
710
974
705
814
43
809
357
160
445
8
33
42
752
379
166
957
56
514
108
23
403
576
241
640
266
616
292
593
751
269
204
532
499
192
82
557
966
945
169
847
53
350
322
895
111
498
173
912
952
742
8
423
843
942
425
858
403
209
964
243
945
167
287
696
102
490
903
498
498
106
116
973
805
990
653
267
799
911
369
401
909
844
556
619
332
22
616
174
974
758
313
155
394
224
351
865
402
377
799
565
198
64
746
97
736
157
611
20
536
242
755
414
275
988
374
434
340
836
187
19
965
49
73
913
708
476
673
306
786
640
924
920
255
830
642
375
67
979
567
983
832
11
726
935
461
190
588
974
986
783
224
287
519
989
646
275
711
655
518
311
86
792
721
370
337
251
596
616
957
242
257
676
644
549
70
310
516
387
216
656
513
875
333
30
313
998
312
510
721
733
751
189
771
773
948
11
691
872
38
594
507
406
621
269
289
168
196
874
942
760
821
486
8
216
686
383
186
642
688
995
96
717
703
516
391
902
943
142
488
41
711
605
18
866
877
802
608
580
632
818
758
315
400
588
378
738
329
754
27
523
432
48
10
691
283
631
266
75
151
407
426
267
601
276
494
466
865
647
372
566
762
316
824
702
534
982
573
177
731
258
896
417
206
26
497
113
343
383
435
217
887
209
576
824
108
630
399
259
619
229
946
895
812
892
403
294
780
613
59
307
582
399
407
660
878
662
733
355
296
128
841
980
362
354
482
606
479
389
656
525
209
987
201
493
92
45
980
511
320
628
544
424
852
9
360
788
988
656
572
502
973
977
778
696
952
962
507
240
480
538
910
29
818
593
672
862
487
122
330
395
855
905
949
72
88
429
619
423
449
517
334
391
744
292
581
573
720
615
436
437
325
132
27
532
79
415
974
749
192
437
835
437
749
833
632
28
966
942
242
411
507
653
842
906
879
434
570
153
180
763
320
597
855
357
851
562
655
236
455
63
705
647
51
649
426
336
863
535
93
464
861
209
951
713
702
526
162
759
242
1
328
376
578
673
958
840
208
417
75
219
119
47
63
370
525
892
18
156
547
778
63
473
310
525
569
174
849
113
757
866
713
665
903
849
345
268
254
205
164
434
812
118
774
696
335
59
866
449
254
378
198
621
749
193
509
204
856
189
323
961
321
93
410
872
913
153
68
1000
13
889
525
501
624
753
454
426
357
124
55
852
611
211
160
584
867
36
591
364
974
670
314
86
368
266
13
977
403
241
359
103
342
194
594
815
128
716
74
990
725
306
20
958
710
14
85
79
768
276
283
789
957
635
441
773
885
694
652
668
478
698
89
284
603
604
179
903
639
346
343
651
32
294
449
269
955
575
654
888
495
992
534
560
172
793
292
368
195
416
341
910
571
648
742
831
92
339
841
876
253
937
924
601
360
603
861
514
437
642
550
893
81
250
397
947
24
391
210
323
70
702
677
149
963
904
7
971
969
167
408
946
176
208
847
625
13
692
916
471
74
695
684
64
105
534
158
548
918
301
327
489
98
793
783
762
557
374
634
471
432
463
720
191
310
19
171
26
515
337
992
41
7
981
665
684
490
437
717
671
462
360
853
661
295
906
493
757
896
712
526
500
144
519
641
563
87
334
889
789
842
253
996
574
248
789
529
833
559
590
216
977
929
964
609
372
971
475
803
722
433
224
92
733
910
103
313
152
546
440
98
5
915
969
434
446
572
978
708
119
331
851
919
366
963
908
817
935
842
650
558
26
54
18
843
708
603
268
655
700
676
412
402
535
339
945
725
884
667
759
256
660
78
735
344
114
538
475
132
739
398
46
395
270
844
411
244
430
343
414
128
365
990
827
580
931
389
947
773
37
524
716
319
316
123
102
642
259
167
777
932
792
513
737
939
986
115
579
806
232
921
596
731
729
362
730
490
606
255
670
783
306
88
93
866
168
896
91
224
246
356
348
849
516
312
504
240
587
668
462
445
878
479
83
258
65
110
854
239
251
525
608
326
918
149
315
654
253
230
303
646
804
317
983
561
790
283
335
470
568
318
917
69
920
432
166
807
848
327
80
584
506
930
176
658
749
492
773
458
540
919
238
735
93
922
831
825
244
645
168
863
958
667
123
436
307
650
224
530
517
467
157
601
877
329
84
289
403
287
845
543
168
514
977
970
86
913
732
763
802
959
888
907
15
118
231
248
237
880
25
640
490
175
665
595
906
950
958
797
533
740
180
384
924
379
118
111
211
361
811
399
478
991
580
788
181
151
268
500
266
428
294
667
424
374
235
255
589
879
211
899
419
984
225
646
973
991
962
83
233
372
317
446
420
832
17
82
281
840
295
80
667
80
514
960
730
592
8
73
49
801
168
765
793
229
2
402
843
491
944
100
397
43
717
338
200
258
416
696
972
627
803
615
29
283
994
443
334
552
358
2
446
985
434
588
913
152
137
610
654
489
320
48
815
678
31
523
364
342
429
63
445
339
371
575
123
571
172
623
689
997
853
365
156
527
520
399
888
547
138
835
600
111
100
115
99
237
429
991
221
324
391
580
373
461
570
614
1000
240
177
839
42
783
474
20
184
839
711
138
257
220
926
223
681
305
238
670
256
48
69
68
889
722
821
307
113
653
113
175
352
276
642
773
942
201
77
767
835
386
194
967
807
132
607
726
683
390
56
394
818
765
186
448
588
698
164
902
155
528
260
337
120
532
755
199
4
570
112
13
632
677
423
841
656
796
509
572
412
859
940
658
237
577
437
477
187
667
790
819
823
662
473
911
344
154
579
992
923
63
590
682
485
504
746
322
574
925
452
995
173
429
266
156
517
664
487
695
994
170
243
747
225
874
314
793
276
258
602
384
736
792
295
374
110
433
277
651
556
322
281
201
502
349
590
780
105
905
855
616
800
980
736
306
455
742
606
558
733
858
554
463
334
144
249
778
700
537
14
59
653
30
645
596
149
941
79
756
27
837
2
770
177
472
897
984
37
371
829
311
704
40
464
934
224
359
436
333
840
394
215
342
43
726
22
261
306
412
199
18
276
864
669
984
18
234
769
335
634
421
779
788
207
392
965
120
546
368
757
140
681
320
19
671
358
366
999
671
93
900
645
842
451
712
475
921
333
933
54
417
991
370
468
699
394
679
862
219
329
871
254
122
352
860
318
665
259
82
801
673
287
777
531
724
643
140
751
866
291
427
615
488
140
39
277
333
912
767
936
808
11
674
572
433
636
527
879
705
258
327
67
708
301
202
820
510
574
896
635
761
518
132
216
944
845
361
362
400
502
808
3
598
194
270
676
125
887
794
715
504
799
269
883
283
421
921
10
777
983
928
409
491
636
636
525
518
309
400
305
136
862
657
228
439
664
673
816
51
193
329
708
921
579
437
55
697
283
321
71
463
266
836
94
423
59
561
358
714
118
626
19
647
750
555
680
573
649
501
743
36
806
487
484
32
124
619
639
14
606
728
626
742
362
588
290
188
38
677
177
507
445
430
900
510
341
54
145
145
333
307
175
278
800
47
529
444
617
4
721
286
174
963
386
164
891
469
264
719
953
272
837
281
497
899
231
621
835
193
183
948
619
165
515
18
998
204
565
866
966
581
445
27
65
140
839
22
541
299
292
539
860
759
584
22
220
834
835
292
312
927
439
439
141
500
812
442
135
808
173
922
139
781
289
937
138
723
177
994
709
883
252
294
281
545
300
761
244
20
977
605
837
799
203
984
528
176
982
853
281
850
662
224
730
374
596
875
756
820
489
15
384
721
463
540
250
141
2
267
87
749
522
2
821
874
218
369
915
822
270
73
509
205
193
685
792
616
350
82
776
743
188
410
288
969
775
782
608
531
588
989
602
590
332
142
623
909
740
553
708
419
966
107
812
619
150
85
906
642
206
658
774
803
701
273
262
643
913
756
544
785
835
247
680
407
924
996
407
784
849
673
593
135
376
56
276
950
763
895
509
114
768
281
530
366
400
97
905
82
63
967
392
920
643
675
200
631
371
193
251
177
8
298
803
404
29
277
495
655
980
338
471
114
118
184
758
154
789
654
461
649
718
474
675
19
538
916
226
781
457
624
502
489
869
936
628
260
151
792
239
531
589
709
914
291
591
376
90
795
938
127
957
695
764
931
393
591
414
561
462
237
78
288
382
26
339
788
177
921
378
954
380
704
589
944
297
257
809
119
302
626
166
484
588
765
825
864
577
188
531
341
947
253
898
389
845
421
885
750
393
624
717
351
52
868
814
432
729
230
953
649
801
745
977
115
361
54
852
217
74
268
763
574
10
236
250
687
683
311
95
672
317
703
772
976
78
775
803
89
557
933
296
149
355
312
245
706
976
120
962
131
594
310
95
852
467
261
291
96
882
268
487
863
594
925
199
629
631
972
925
672
180
736
980
976
71
103
649
375
967
837
533
984
8
178
371
986
73
843
404
533
230
970
569
840
244
73
429
585
160
792
745
345
133
56
43
132
631
307
353
45
90
604
540
674
885
736
289
200
220
959
853
17
174
632
149
341
669
779
632
502
557
595
655
499
405
996
699
988
771
582
947
77
961
807
151
160
291
710
648
570
890
316
684
13
923
682
894
574
917
607
932
584
571
254
739
818
18
248
866
257
14
357
628
154
939
520
562
242
829
803
848
717
854
874
880
40
807
685
139
723
196
384
873
989
484
894
897
599
855
231
944
220
649
381
635
402
270
471
93
602
937
64
633
752
121
614
766
509
882
524
947
706
636
787
134
493
26
886
218
313
728
494
843
198
964
524
934
779
471
242
527
89
431
493
92
466
640
560
656
829
791
823
421
176
301
172
498
400
545
81
602
432
708
356
260
275
730
834
152
699
971
735
699
252
296
914
904
773
248
50
764
755
862
626
260
778
454
660
65
703
426
303
631
486
701
802
212
272
926
834
761
912
992
872
339
131
733
84
835
402
875
255
353
981
472
323
568
652
65
467
718
497
759
83
692
387
270
632
810
973
726
76
516
639
695
560
163
289
451
61
485
841
986
951
139
996
652
828
918
192
580
491
839
636
260
657
348
997
711
853
288
595
730
939
134
946
562
895
211
101
213
815
286
527
291
540
944
179
939
2
659
44
928
140
276
649
435
197
961
940
381
327
283
514
442
688
234
377
36
620
443
290
628
92
749
290
686
315
602
145
487
335
475
370
786
420
559
899
8
303
565
675
269
664
361
237
5
770
518
832
408
836
574
710
198
532
959
45
459
990
106
349
423
870
194
344
93
266
362
991
580
744
985
808
825
369
797
628
180
365
208
701
954
957
169
385
605
30
327
734
740
461
20
933
451
377
852
911
812
122
223
439
555
446
213
665
31
239
605
380
579
193
727
238
325
918
980
796
265
352
580
520
199
835
126
821
711
786
995
795
940
780
510
574
304
730
26
106
731
4
810
738
146
562
639
195
182
635
541
413
112
998
15
226
995
692
328
72
885
859
248
746
774
458
633
703
590
804
863
591
204
227
985
473
889
671
827
700
87
712
8
485
651
317
990
31
980
614
808
477
550
119
115
52
423
135
514
526
229
499
940
503
986
449
22
108
860
158
933
389
635
400
246
76
243
871
675
410
148
948
427
408
791
24
45
291
570
134
299
792
17
262
631
709
952
581
164
388
386
910
42
783
850
802
174
347
657
49
51
328
333
831
379
915
51
397
741
336
484
955
326
210
892
390
82
381
635
554
282
7
555
107
612
920
814
335
355
99
859
933
149
681
161
461
95
77
241
103
715
609
285
357
343
615
358
526
88
62
804
210
405
579
941
526
664
234
560
435
836
551
56
408
557
991
252
613
396
599
97
971
104
589
455
692
969
374
151
392
212
986
289
453
496
862
590
96
213
686
210
517
237
384
994
532
158
342
665
415
895
663
782
977
724
564
599
490
411
50
161
783
161
642
56
638
482
233
251
695
956
142
359
179
96
21
497
145
135
582
604
365
652
22
748
665
383
635
463
287
435
312
597
802
403
591
534
222
531
412
854
203
202
5
716
668
458
167
264
739
213
756
363
601
77
354
840
829
439
975
191
712
575
97
408
355
43
538
184
657
583
433
245
808
60
90
990
580
714
594
913
564
157
804
532
424
81
856
651
435
611
329
841
818
602
20
953
882
944
645
334
537
125
869
169
551
873
764
28
821
693
175
272
2
519
504
441
69
484
96
131
801
37
775
147
668
239
36
917
356
98
100
244
989
220
307
494
133
901
314
204
817
5
174
927
172
638
658
865
722
665
110
442
25
584
721
532
164
129
350
483
513
250
934
439
327
788
70
702
964
259
585
54
967
629
779
12
803
882
543
971
792
465
752
64
655
408
166
368
132
49
580
750
348
768
90
279
937
131
191
611
466
97
857
166
358
754
891
257
340
150
597
520
433
341
289
153
623
764
204
492
655
373
167
400
851
767
737
790
433
713
636
366
626
37
975
319
716
873
155
279
315
616
363
317
314
772
255
146
419
63
777
969
657
794
36
621
997
479
841
731
43
188
780
662
792
860
729
864
620
117
254
125
956
725
682
912
638
907
547
620
518
186
680
102
734
285
508
271
986
877
979
927
262
678
127
232
734
434
483
372
953
856
436
72
56
446
137
546
414
473
770
394
56
39
817
696
238
317
459
301
731
545
411
840
744
303
287
571
936
907
58
511
619
529
309
661
84
761
742
358
976
927
844
888
756
366
706
571
609
324
734
421
597
804
392
394
447
957
198
927
156
134
858
192
492
742
871
2
549
420
886
828
756
857
844
733
108
807
234
323
961
419
805
23
393
79
744
53
30
336
599
525
223
366
252
952
631
608
797
308
618
929
525
483
301
638
105
619
794
206
659
341
911
360
688
344
607
523
668
144
498
221
757
50
88
182
204
595
735
334
979
698
974
808
627
845
548
337
565
410
363
175
870
63
665
765
95
891
899
893
818
433
98
1000
434
382
131
677
152
74
849
66
308
233
939
79
860
630
340
859
370
494
160
899
887
496
349
581
853
106
839
665
614
949
462
450
118
571
708
893
137
637
326
978
710
214
827
17
536
199
200
359
719
395
503
198
618
973
594
793
562
284
896
412
811
61
8
765
493
75
954
505
186
208
33
611
435
727
571
146
806
259
347
891
959
624
107
837
865
169
368
397
506
749
676
421
314
802
579
834
163
238
835
757
939
27
809
469
593
433
576
488
99
814
975
309
943
790
765
84
578
360
58
614
815
263
415
571
249
445
342
769
623
22
449
642
530
537
173
854
936
616
840
57
817
363
762
428
620
954
269
519
357
942
804
351
875
704
713
451
277
327
935
683
489
988
581
345
718
524
283
961
900
475
315
609
273
348
651
418
888
235
594
96
212
187
84
925
991
977
529
731
166
925
859
719
967
529
499
916
263
503
143
216
886
667
524
636
890
863
864
464
690
668
319
452
564
261
543
21
296
190
416
789
603
181
124
329
575
349
12
215
562
353
60
870
799
104
424
617
638
594
174
667
366
312
304
463
502
482
77
913
912
69
11
578
262
79
148
801
123
197
766
93
521
210
355
836
834
992
517
512
728
25
429
196
249
601
622
61
287
836
170
928
366
627
776
751
128
466
899
38
931
846
802
822
694
602
318
783
511
131
221
509
555
888
316
695
515
954
730
285
107
739
473
160
243
83
985
31
56
131
291
586
303
328
351
788
655
836
418
474
961
454
479
23
891
860
387
932
279
635
897
596
80
49
635
440
105
35
967
837
592
128
830
912
254
410
890
417
632
637
760
359
464
824
624
942
324
516
328
705
948
851
883
436
515
330
395
549
646
872
589
151
41
355
511
934
483
332
443
368
387
34
793
417
233
77
496
125
954
530
477
996
816
116
865
36
408
362
903
684
107
447
2
643
785
371
960
796
591
783
134
960
342
500
270
243
452
313
801
146
336
121
600
371
915
854
613
476
204
907
312
173
936
998
625
43
847
482
835
902
564
134
984
862
965
339
451
390
561
447
732
296
667
757
905
636
111
255
915
995
800
719
609
444
698
312
388
763
711
58
465
187
487
923
970
23
395
323
568
964
792
995
829
824
234
105
317
740
456
382
258
552
797
810
695
239
240
146
219
767
390
110
749
650
527
579
319
861
323
578
527
457
955
123
93
442
104
230
996
929
784
531
751
631
9
958
721
77
95
899
785
696
740
117
303
133
147
412
68
695
123
727
868
847
475
940
351
64
67
42
111
146
559
832
304
307
216
473
669
974
151
526
478
239
31
102
851
347
589
837
856
431
232
272
975
931
679
40
874
807
826
5
855
688
977
107
54
550
167
211
189
408
556
709
658
754
763
952
876
151
590
862
985
494
778
235
532
919
329
300
233
239
444
79
722
108
313
978
42
787
840
832
675
534
885
279
141
142
734
999
510
78
360
812
718
15
461
44
230
276
412
919
421
874
33
921
22
369
517
225
138
712
941
317
606
648
543
877
938
967
354
844
684
120
804
320
828
266
683
673
728
811
171
715
214
920
696
341
653
243
68
386
220
344
662
727
122
906
436
884
243
829
219
427
521
749
998
547
404
341
930
25
859
18
398
667
787
275
722
997
125
973
68
620
602
339
687
221
863
289
874
579
674
987
921
360
982
198
907
675
901
95
395
578
87
669
964
714
573
776
26
345
826
167
591
811
705
545
443
312
46
818
737
565
763
231
121
496
763
992
365
630
442
326
866
262
218
650
608
791
386
695
844
843
543
959
286
924
991
819
611
386
804
19
881
438
693
1
864
759
437
723
296
66
369
211
853
605
355
57
973
128
776
485
670
397
235
405
219
611
135
78
872
461
763
643
807
699
287
763
146
214
853
77
186
599
47
987
965
119
110
534
891
796
650
780
456
66
54
144
979
71
451
615
922
198
882
626
565
931
252
629
731
398
781
119
810
285
912
891
543
934
55
865
923
493
134
639
49
6
609
295
19
150
575
656
717
171
530
308
918
215
661
230
223
889
804
812
202
353
776
342
540
690
440
814
137
598
687
43
885
676
497
613
261
705
383
170
988
370
820
899
753
797
699
836
376
138
470
804
883
186
378
372
648
673
140
216
153
457
464
646
931
284
63
895
942
203
176
927
987
972
196
195
743
10
648
731
667
537
681
450
329
552
186
318
681
202
872
317
424
929
935
769
877
491
428
625
710
585
102
811
495
349
260
542
255
439
127
835
112
750
342
96
701
88
446
751
206
268
648
369
775
183
741
645
580
356
755
889
978
365
832
377
82
332
862
53
516
347
583
571
331
287
255
601
812
28
487
661
415
420
485
462
184
739
818
921
755
544
773
517
520
992
492
660
601
725
426
75
19
334
28
995
869
324
268
120
356
186
273
894
267
906
362
627
826
763
755
403
918
766
544
495
318
455
832
237
955
64
537
902
189
266
31
161
762
787
664
131
381
188
203
835
856
55
428
165
352
608
407
51
578
490
486
612
663
136
661
535
91
633
774
743
288
437
954
748
353
669
812
712
8
952
161
343
49
923
463
246
430
614
766
227
680
882
644
369
502
923
518
391
265
728
791
938
585
991
443
929
360
612
62
71
410
422
823
935
363
171
579
746
526
147
68
197
296
12
208
126
40
560
601
861
537
164
653
421
757
589
168
493
195
727
888
325
34
547
204
221
94
211
188
337
947
895
164
870
569
302
284
511
584
258
944
280
535
43
416
440
557
330
811
221
531
671
284
526
72
511
462
589
699
588
199
833
122
409
126
800
903
226
918
70
643
548
841
572
452
766
961
519
725
920
305
504
116
973
413
940
190
221
949
138
424
622
485
774
138
903
121
433
411
262
360
173
279
391
527
809
306
292
78
677
144
89
325
215
846
608
496
577
494
30
514
866
185
293
588
273
529
291
518
601
599
89
592
164
705
531
103
21
444
655
797
891
257
260
25
834
77
824
965
967
763
724
51
100
698
377
672
101
312
487
253
275
316
41
93
766
129
103
711
254
296
724
975
815
725
472
30
818
196
215
852
191
914
753
308
183
858
841
742
33
270
944
447
555
942
804
861
735
859
491
961
883
378
217
124
741
338
543
672
224
437
47
440
154
732
711
931
410
368
470
90
437
490
452
267
921
830
367
685
762
650
433
613
167
553
964
495
820
178
493
482
581
948
834
153
122
838
66
769
209
622
765
11
111
151
177
43
730
3
225
664
628
298
374
495
64
528
419
417
525
29
211
927
9
110
162
707
491
918
146
427
579
833
74
759
382
557
962
628
963
92
825
977
606
495
79
688
285
615
421
870
368
36
376
402
598
102
764
502
823
194
366
68
773
413
982
752
438
424
863
16
219
529
269
905
112
924
486
947
606
733
211
326
864
621
624
467
22
720
847
266
119
148
712
459
232
601
949
37
925
419
950
205
968
991
262
101
616
609
812
382
430
664
690
830
748
639
967
336
418
446
666
957
350
493
471
281
770
346
197
989
786
940
346
313
43
92
314
112
785
510
910
381
593
556
935
331
444
795
464
619
502
761
350
900
235
403
214
676
10
437
847
276
350
159
524
937
389
324
191
143
896
380
875
788
424
681
959
267
772
298
137
308
947
715
975
192
268
979
26
48
67
879
311
64
675
304
849
775
59
250
611
88
480
854
902
332
58
437
728
396
926
778
141
19
1000
746
892
338
998
981
988
119
482
528
921
476
140
196
373
482
463
947
201
792
236
803
392
301
989
605
418
882
678
444
187
478
356
744
299
152
556
791
909
225
408
965
827
299
280
35
877
791
864
699
690
575
173
933
306
470
887
853
933
625
851
496
203
265
283
370
71
903
435
649
305
873
45
632
127
943
885
437
169
875
125
937
363
1
22
631
775
278
652
490
664
847
35
788
259
798
989
625
829
708
516
115
634
540
323
207
257
648
333
719
624
959
706
433
762
901
886
66
955
253
729
471
502
922
548
734
735
576
247
663
271
177
349
801
777
726
836
239
632
943
188
436
981
187
909
745
634
641
142
534
131
691
659
655
104
461
655
475
738
668
265
865
744
313
678
341
765
254
31
20
526
355
35
167
383
736
382
901
131
644
598
62
79
581
899
306
402
644
36
288
772
448
813
149
69
651
222
615
767
824
637
725
220
364
573
550
675
179
858
353
263
158
891
252
666
784
874
849
368
804
495
244
659
592
589
541
619
659
703
223
314
813
351
781
381
612
957
569
945
99
155
158
596
282
147
383
711
456
288
876
23
258
934
126
704
308
844
996
640
382
125
208
790
328
776
508
702
363
387
93
322
956
425
430
201
231
877
755
91
730
687
399
707
393
563
581
117
834
254
457
830
335
297
31
152
506
602
989
793
211
950
656
14
198
650
26
858
857
138
295
95
637
264
359
583
997
368
541
679
171
42
180
161
653
621
792
923
68
42
207
315
33
710
497
607
629
386
491
502
423
930
398
31
286
922
374
407
842
825
875
666
77
350
298
959
480
110
707
414
120
515
420
369
203
49
847
605
17
766
249
928
622
851
30
86
293
582
750
536
518
872
308
12
300
861
638
222
624
674
830
211
204
583
795
135
48
259
462
230
966
742
47
735
845
4
75
429
452
742
734
191
514
114
576
732
74
670
789
202
442
645
25
904
599
134
283
755
555
382
414
457
24
583
647
532
705
144
936
566
666
289
17
973
555
300
842
590
855
408
421
228
994
554
194
70
875
817
755
479
330
298
119
316
50
625
768
385
805
87
379
952
123
555
492
624
181
31
352
17
311
614
850
777
433
163
746
504
695
727
377
42
805
71
633
434
831
264
277
518
760
359
637
842
721
631
255
38
580
730
351
281
558
355
856
807
652
742
321
698
864
339
242
313
698
537
180
823
939
207
634
262
467
104
755
401
748
922
865
525
675
856
241
904
655
100
751
326
182
594
769
578
631
691
248
173
717
146
943
934
851
965
584
259
627
233
189
57
806
960
845
324
453
370
995
335
341
840
698
218
336
838
368
478
246
823
230
659
525
48
98
942
313
603
96
908
511
829
657
111
988
460
437
366
550
451
813
864
20
464
273
323
600
435
297
379
753
456
341
349
940
442
101
296
952
737
561
66
986
799
235
592
305
636
608
285
84
463
40
795
7
376
289
754
288
467
367
385
50
931
678
999
399
161
223
508
141
780
229
1000
782
782
707
363
366
752
307
683
737
168
322
862
13
371
857
481
428
665
985
456
185
391
163
435
662
515
337
203
114
439
904
586
14
296
163
477
299
939
965
641
87
196
18
901
886
756
711
149
913
186
385
391
912
219
677
684
773
380
956
407
329
462
888
760
952
145
848
786
931
249
254
483
195
756
863
766
599
720
767
159
895
644
99
58
490
717
434
367
267
540
515
93
85
637
168
216
41
72
261
795
216
971
89
785
434
606
878
499
490
960
947
987
431
386
679
875
735
44
615
336
627
279
909
977
382
36
865
359
173
661
501
768
909
182
885
645
575
265
530
749
751
549
242
766
377
24
673
543
322
403
245
559
992
221
281
560
39
515
922
503
206
493
871
87
494
565
63
187
117
482
146
441
169
61
33
105
536
206
849
26
339
469
326
260
119
419
56
421
56
460
48
323
736
544
722
857
361
463
798
331
871
952
571
697
111
943
654
169
52
652
666
783
85
80
214
306
583
699
228
763
230
781
910
554
115
847
551
761
231
190
35
803
796
278
80
999
769
133
215
1000
53
430
999
250
124
168
251
846
245
247
896
208
17
165
574
941
724
386
356
170
837
592
734
393
78
191
543
616
644
938
663
97
554
481
113
569
586
945
643
194
950
453
48
835
648
569
200
441
494
254
228
495
847
855
379
478
465
13
829
266
287
153
107
237
592
401
888
575
721
337
592
975
493
2
602
481
495
967
983
670
672
57
200
799
39
566
734
774
848
375
472
39
291
432
376
551
632
469
290
20
696
667
673
504
824
212
688
281
679
350
347
607
848
566
350
647
734
21
845
356
98
181
582
564
527
911
846
852
204
924
94
60
653
593
467
430
503
628
184
464
942
969
383
542
220
620
148
219
468
784
297
918
146
825
5
429
633
84
500
207
806
493
862
986
3
291
441
619
413
858
506
394
757
837
545
275
118
280
52
659
919
501
718
284
316
657
733
849
756
916
249
763
41
171
162
201
986
889
72
296
716
671
639
868
690
470
594
568
771
232
358
689
86
952
534
176
908
696
569
588
540
226
499
824
21
248
44
457
466
150
236
429
60
332
429
655
20
889
786
848
333
441
302
461
715
370
975
219
32
600
32
121
363
300
968
172
7
590
764
334
989
412
830
370
39
194
113
296
601
867
317
149
147
51
403
664
973
991
328
211
693
881
525
62
831
768
752
647
307
161
755
970
78
765
657
741
898
542
109
141
973
422
14
321
270
545
65
883
379
871
441
633
117
366
741
825
512
726
647
971
420
810
856
44
791
494
552
569
495
678
52
651
730
567
280
476
243
142
426
200
979
942
483
408
344
919
328
548
928
104
710
820
431
290
777
9
517
755
766
680
504
267
79
932
134
309
282
687
109
452
456
56
771
321
943
920
51
404
795
260
797
293
79
152
661
546
833
571
32
517
591
330
880
927
364
540
978
890
399
942
687
383
302
356
383
872
889
273
643
902
678
301
517
15
45
784
557
235
908
420
801
742
245
99
559
67
907
516
700
291
910
340
90
289
894
822
3
14
470
804
580
174
951
987
906
445
362
212
840
508
685
215
526
820
999
22
423
980
568
684
748
974
936
544
496
376
787
605
550
781
672
846
965
380
682
537
196
582
818
691
899
40
118
812
951
257
557
984
503
185
356
195
196
882
636
482
168
354
263
137
104
132
325
742
373
43
951
233
268
873
52
557
441
305
155
745
912
605
685
350
439
13
959
319
603
684
649
293
727
344
680
240
584
510
354
106
936
267
5
843
140
86
624
804
380
105
711
961
641
649
94
860
188
455
537
493
135
275
781
531
670
26
66
480
671
650
286
334
677
199
675
294
713
427
326
909
987
352
893
800
313
841
566
762
984
246
754
608
921
518
955
616
141
46
975
776
987
643
5
372
90
749
31
583
752
917
755
907
286
88
473
225
855
986
339
199
541
210
68
561
674
247
396
529
952
668
580
256
525
240
757
725
976
552
297
950
131
14
130
715
694
775
613
303
991
173
731
853
516
849
260
42
550
511
82
766
853
679
23
362
317
417
404
718
524
188
14
298
320
482
355
709
924
812
836
940
548
965
24
824
215
185
228
584
268
69
426
540
52
538
14
207
370
180
930
14
644
642
444
862
124
514
342
550
125
321
251
859
5
828
591
774
548
850
18
850
469
142
227
227
989
785
681
183
838
628
193
371
552
28
239
124
674
106
575
254
279
171
27
833
296
820
279
314
244
426
115
185
331
407
858
68
352
689
665
814
449
259
935
660
603
547
347
985
664
678
927
524
847
260
118
166
863
521
36
639
302
38
971
403
437
244
711
119
348
157
473
867
182
533
32
123
369
707
176
185
843
944
729
320
665
39
231
426
956
222
794
417
705
194
800
836
886
233
887
453
228
880
73
704
196
681
2
888
979
787
3
970
750
38
88
689
89
293
58
423
184
358
595
926
372
874
609
623
657
903
138
606
51
745
746
893
4
762
758
733
697
554
636
11
708
884
453
835
390
171
743
443
321
192
974
446
371
874
487
258
225
728
64
283
710
481
180
60
899
977
614
96
758
229
327
573
62
815
431
447
398
460
607
730
351
748
587
890
373
393
136
384
425
372
548
302
200
565
824
997
635
222
539
338
449
702
929
935
665
452
857
274
403
115
125
215
777
2
94
697
365
878
664
833
565
190
456
798
138
376
482
20
349
905
663
258
443
999
312
58
620
820
112
951
293
41
144
500
168
306
284
964
602
112
617
925
793
971
574
674
536
600
166
575
743
1
31
854
382
994
19
505
271
724
687
72
957
115
363
87
960
85
458
843
821
554
265
6
705
940
803
298
818
877
190
92
503
361
608
336
709
381
182
608
438
366
1
517
923
468
50
862
513
759
59
168
693
934
140
250
219
999
600
454
93
711
523
94
986
276
535
387
753
884
680
888
910
225
474
26
261
16
22
824
409
939
552
351
537
90
821
695
680
228
671
546
676
621
383
553
136
282
631
679
60
728
550
726
183
170
835
25
724
231
865
69
2
852
550
515
272
60
971
541
229
633
915
42
856
543
91
494
670
222
152
634
978
350
651
278
446
840
696
703
141
175
406
19
224
34
201
882
631
423
622
693
418
139
613
180
919
483
164
858
498
555
792
437
486
368
572
647
826
261
370
332
72
777
441
904
636
257
810
414
614
889
710
557
69
842
871
912
415
426
670
599
404
914
940
297
283
795
796
300
875
720
934
847
691
362
707
496
726
719
727
698
200
141
865
78
397
500
318
111
684
480
820
47
971
920
186
961
117
508
108
738
306
887
548
670
943
426
104
85
465
476
469
83
302
927
444
44
363
287
39
17
623
288
822
516
757
235
72
479
368
957
258
415
987
186
24
784
932
670
170
718
107
127
104
71
975
396
819
618
300
785
776
938
704
675
974
152
724
879
100
213
882
140
873
908
178
419
641
60
569
272
805
673
239
749
883
949
877
693
911
142
769
233
364
201
251
557
21
49
914
782
986
100
55
812
615
333
20
636
216
829
468
419
242
194
89
81
115
685
974
801
977
175
675
23
428
349
955
88
744
599
373
601
167
169
163
953
596
15
275
260
417
711
90
87
276
475
68
960
300
56
500
627
648
789
635
448
322
597
646
70
815
102
332
773
551
298
949
483
36
410
316
453
332
689
142
64
733
885
581
2
507
46
164
346
211
115
586
701
324
526
317
599
896
619
631
829
525
230
453
230
175
270
364
748
289
433
216
233
193
456
73
542
6
474
607
992
152
131
655
118
76
40
387
975
982
83
396
951
212
836
95
143
438
62
978
910
920
876
692
99
968
609
335
814
146
888
113
297
932
712
271
676
280
557
230
853
5
652
969
785
972
624
10
762
837
643
797
66
478
40
878
566
322
140
51
387
488
700
563
784
35
922
528
744
635
470
939
644
680
315
78
495
157
507
629
927
642
168
525
74
409
108
408
966
948
447
602
850
180
575
648
105
243
556
801
75
34
837
350
171
607
752
272
79
121
812
516
751
287
271
174
145
163
754
888
339
686
17
120
746
589
69
321
636
180
936
609
56
5
340
311
571
613
437
589
921
467
545
443
831
532
476
550
717
268
715
789
959
503
152
787
759
185
515
511
314
95
955
732
205
401
477
203
451
358
997
492
610
558
899
731
717
872
866
995
573
641
617
594
113
712
954
387
143
663
159
76
728
899
371
571
916
348
20
712
286
179
815
38
991
271
25
831
624
204
8
374
218
161
49
195
131
449
553
107
413
330
556
14
462
448
348
766
459
432
709
846
78
190
892
308
479
999
36
152
403
732
115
317
498
482
891
536
661
393
593
593
274
731
196
922
686
85
255
57
223
142
205
209
255
630
946
86
618
909
275
153
751
131
470
705
472
103
887
509
201
744
960
247
810
530
402
699
995
422
705
401
220
565
291
518
829
464
775
781
889
444
826
666
683
958
92
412
537
685
469
102
874
443
766
780
916
639
461
509
498
375
852
337
822
328
321
378
792
228
862
607
773
80
277
487
241
312
656
292
796
618
838
790
459
647
575
15
985
599
14
988
165
454
935
595
769
789
919
299
778
130
228
8
57
333
733
207
466
748
661
421
682
837
280
186
668
452
893
938
837
212
695
699
411
298
71
966
408
477
931
968
960
399
542
338
393
6
78
290
611
434
853
583
831
893
750
930
674
868
893
999
911
414
17
845
942
458
297
414
193
792
625
767
205
882
476
782
113
705
488
413
606
565
887
11
204
265
692
841
890
42
397
666
695
413
510
222
842
438
867
440
433
939
141
549
479
894
313
539
283
583
193
46
776
24
252
378
456
934
117
308
997
731
111
225
411
63
107
431
918
977
797
696
287
124
191
652
499
315
800
246
16
353
491
284
805
290
435
33
563
194
924
939
223
27
102
830
951
498
787
332
286
588
654
851
12
999
7
175
636
941
258
651
27
538
12
932
952
606
346
490
688
725
482
452
871
328
534
809
60
7
457
756
214
342
604
702
463
349
547
494
67
80
937
548
449
979
225
835
519
382
982
173
309
905
447
824
96
564
644
213
771
170
92
462
215
905
705
542
833
39
940
37
184
402
624
946
889
587
207
466
563
861
346
398
588
382
846
688
935
671
980
618
91
232
122
343
385
825
450
773
656
204
187
299
240
38
494
501
736
351
653
754
866
30
620
617
994
888
394
972
585
313
876
177
933
739
72
885
994
68
561
768
55
690
113
118
256
930
224
189
725
591
138
170
148
778
579
904
174
309
75
801
931
856
189
923
304
410
448
877
329
801
36
988
232
752
566
193
176
424
346
236
741
461
631
58
534
312
265
698
76
2
964
641
324
592
275
318
736
276
872
365
780
433
439
347
222
988
868
854
265
126
850
292
885
710
258
221
267
814
900
789
319
358
304
692
611
212
226
57
972
51
474
864
188
897
445
821
887
541
514
83
769
994
47
860
776
679
314
749
681
352
61
559
821
627
829
536
409
532
347
119
901
770
530
814
430
190
634
319
166
533
122
785
814
693
671
971
120
562
523
108
407
47
95
470
663
979
343
31
639
463
890
70
744
662
346
288
261
154
538
792
565
761
636
308
558
187
236
112
510
908
556
470
848
475
788
805
217
825
540
457
302
236
34
611
484
284
395
951
408
519
930
602
913
641
771
213
600
595
645
402
491
378
792
294
888
336
287
656
516
381
85
912
506
879
118
386
556
900
711
268
906
181
370
130
353
396
721
298
627
281
43
18
870
746
326
162
861
361
266
162
876
491
934
959
744
934
120
26
776
111
522
958
691
746
1
648
592
504
100
862
322
211
925
875
272
158
239
863
769
474
346
3
767
688
912
516
426
437
391
459
532
733
137
710
445
311
590
425
395
386
150
232
516
545
493
548
953
635
105
721
741
205
764
132
937
515
539
9
653
138
636
455
213
930
87
133
678
502
824
99
335
348
186
528
588
491
261
454
857
827
756
184
755
347
291
772
786
92
101
761
249
975
145
430
895
592
509
968
75
758
850
285
792
777
299
689
124
401
915
273
927
22
297
651
604
872
403
649
981
933
981
641
36
799
271
501
279
965
788
547
88
873
77
444
192
581
305
739
816
117
413
631
667
395
362
562
106
89
698
485
335
13
230
960
365
347
170
783
871
531
439
499
771
773
211
993
514
882
947
310
618
575
348
21
944
515
635
725
575
54
565
736
927
86
392
613
894
464
773
941
419
137
253
706
876
562
553
674
30
958
341
411
148
651
550
984
56
105
606
900
536
235
106
581
473
253
583
479
613
581
23
998
595
377
674
516
192
800
546
163
305
437
681
450
339
259
945
533
37
38
587
636
688
422
299
161
948
777
812
62
126
433
355
377
935
222
447
199
135
43
562
940
442
734
188
504
349
700
660
830
217
598
975
349
125
885
424
70
459
153
559
390
180
36
428
212
18
895
498
650
589
631
952
397
584
753
306
837
706
260
382
117
34
985
761
658
796
788
726
93
368
424
599
160
439
912
106
895
902
9
77
358
1000
719
337
207
654
819
158
676
719
64
959
885
90
65
300
967
226
851
338
194
663
749
77
131
516
557
690
876
812
938
142
601
710
566
153
937
358
877
244
226
125
164
263
309
462
381
313
299
476
259
446
758
577
219
834
772
251
172
395
719
69
454
999
916
557
74
443
913
430
934
390
944
996
899
291
917
264
404
162
377
366
822
713
79
468
928
981
158
236
630
91
403
278
603
188
797
707
567
905
330
126
748
948
57
892
485
526
525
452
37
352
959
934
391
943
97
931
285
726
113
598
705
275
871
765
837
624
660
750
834
181
622
978
772
251
336
263
870
539
405
887
374
301
420
157
513
4
392
179
586
448
606
25
541
308
835
253
392
978
49
41
412
404
73
783
348
305
111
103
827
849
720
645
702
347
585
913
348
994
420
660
828
22
400
42
379
892
824
807
919
324
91
286
121
993
683
857
147
747
549
853
308
28
194
573
756
16
814
200
826
661
1
929
781
393
942
546
530
808
490
12
364
17
209
389
854
694
280
529
864
40
166
557
38
57
43
101
225
532
329
599
59
73
63
775
299
407
513
576
597
890
158
409
97
839
75
539
609
874
886
886
158
926
605
259
366
934
151
303
506
579
807
992
4
534
625
585
893
878
621
347
949
262
626
179
292
380
824
553
778
69
330
774
843
125
651
665
364
529
493
203
708
314
203
527
372
757
44
974
545
918
648
528
448
818
219
80
560
682
505
462
682
772
116
43
337
286
507
37
175
691
820
338
910
633
838
832
789
279
497
652
777
512
745
767
417
950
91
630
822
120
794
360
356
482
530
44
346
186
307
353
611
603
576
564
662
679
734
486
209
133
722
549
968
343
976
472
868
535
774
540
447
546
951
486
588
995
11
378
813
181
896
710
1
392
82
119
744
607
190
728
575
766
12
184
921
865
716
839
976
163
982
401
625
673
27
574
201
951
763
889
107
907
840
973
294
981
960
931
167
596
622
429
727
206
449
289
681
632
295
130
797
619
664
619
3
712
324
434
596
623
619
917
464
228
707
682
401
200
808
179
429
114
644
302
568
484
393
684
602
870
895
202
249
614
303
595
557
263
98
800
528
966
154
788
685
437
578
204
799
139
133
97
22
426
398
373
470
302
227
391
665
302
692
282
330
769
468
165
732
450
524
418
153
907
52
567
73
709
824
137
377
755
518
43
184
363
142
695
939
950
340
16
43
228
256
2
594
843
617
283
813
311
899
389
305
893
719
53
627
797
125
962
537
729
58
801
906
328
77
313
526
477
369
363
922
842
194
669
876
216
150
954
559
433
103
756
40
679
146
25
486
984
738
948
538
574
32
142
187
564
436
479
985
110
689
310
566
817
44
800
263
620
707
420
84
841
304
349
415
381
24
741
619
284
22
303
100
989
830
636
535
663
813
121
687
921
149
930
636
121
427
899
318
124
723
592
981
135
918
870
529
759
110
682
768
892
203
582
250
466
132
711
728
331
750
556
280
749
66
864
754
99
432
481
556
358
228
740
712
882
817
243
807
770
840
553
643
881
399
334
419
147
333
960
814
401
562
457
599
366
461
942
325
793
272
357
163
2
899
422
226
245
786
195
536
358
192
528
358
159
890
10
795
930
217
702
367
94
431
69
831
898
548
56
600
521
173
156
976
512
364
671
849
879
233
104
654
496
802
747
133
661
635
114
917
827
892
793
995
531
731
674
923
492
476
281
999
703
521
108
701
105
751
431
408
66
145
85
781
486
327
63
227
805
47
608
528
567
957
685
89
499
613
306
242
236
315
248
671
930
260
70
389
989
489
238
612
99
295
336
511
497
62
40
136
191
11
564
668
457
935
733
835
462
838
721
489
330
298
764
317
295
534
805
162
844
365
158
683
926
703
721
944
361
799
199
32
550
153
68
31
484
949
758
462
820
862
608
860
501
307
688
257
968
584
509
180
555
818
968
236
34
345
621
471
619
946
516
460
944
365
372
554
674
647
855
752
430
166
57
455
675
618
51
743
18
892
592
871
191
497
595
409
585
104
15
816
811
891
168
275
218
572
299
273
698
379
453
790
361
843
274
940
894
882
426
533
490
582
705
404
239
62
797
238
809
986
827
318
23
614
531
838
699
754
897
417
730
624
622
977
909
424
549
458
486
373
553
701
729
59
17
407
84
232
99
296
637
573
516
465
681
550
427
457
147
215
339
761
548
669
639
274
863
970
468
793
485
470
210
712
960
905
744
947
741
91
978
564
590
735
913
685
591
709
620
80
953
106
80
220
899
532
788
717
12
397
382
776
296
401
335
732
105
31
929
753
835
637
296
567
918
582
318
381
240
34
566
235
591
192
258
701
97
142
431
163
913
64
122
951
619
230
398
201
865
64
470
684
836
585
986
751
987
680
835
213
333
20
405
228
320
876
347
200
885
762
306
305
900
606
966
481
614
98
25
649
42
1000
394
460
536
418
986
113
915
501
967
641
591
574
214
579
131
468
64
151
538
672
97
915
348
12
850
316
324
709
865
761
116
92
392
629
784
691
424
83
462
137
452
704
792
135
498
718
947
704
516
26
222
89
234
360
186
963
840
596
338
72
717
697
69
4
592
797
464
578
51
650
168
255
362
62
69
30
942
926
77
522
610
181
601
346
961
350
660
415
845
320
716
492
903
659
458
198
592
96
731
680
929
745
737
305
435
278
450
97
408
530
911
73
701
955
690
322
640
944
344
429
581
251
154
804
883
706
747
586
732
911
489
71
360
871
679
981
670
356
654
544
177
340
876
1000
501
23
963
114
313
807
405
256
792
81
405
866
135
825
874
424
629
853
122
603
78
981
196
924
168
529
136
63
450
348
631
958
224
988
711
967
511
713
114
668
708
840
948
297
272
247
82
452
951
983
478
459
677
608
318
684
222
289
376
199
97
665
520
377
999
235
647
449
313
301
608
545
770
558
903
469
417
12
992
300
446
282
99
949
298
249
295
928
659
681
430
958
648
716
272
491
515
25
762
879
656
79
907
704
588
175
207
740
822
789
926
123
223
380
704
569
565
987
228
894
429
834
719
675
547
682
949
604
930
850
434
3
895
680
170
984
162
707
27
951
743
945
489
504
277
527
916
297
766
378
966
105
447
748
73
129
643
192
151
612
22
24
781
921
614
364
213
578
344
648
432
160
562
858
386
594
268
818
250
149
293
579
233
321
682
331
29
904
941
266
460
772
591
537
268
263
681
778
271
617
558
639
309
630
156
487
503
513
551
662
338
978
320
726
25
751
501
684
369
6
598
506
145
727
115
154
567
617
562
955
8
3
761
378
537
76
523
188
229
990
454
513
416
524
743
565
241
510
258
640
919
727
170
541
109
768
653
758
660
206
878
575
782
490
663
777
399
146
650
785
32
262
803
837
52
724
363
332
577
327
135
544
592
758
107
717
94
363
995
955
196
813
216
463
157
21
191
377
259
163
640
881
288
221
705
339
127
252
318
883
655
502
231
298
678
552
504
39
125
925
71
919
98
958
189
350
665
306
203
7
473
116
78
433
348
803
573
437
70
331
772
75
422
115
908
639
395
943
96
366
213
828
599
491
419
327
744
876
822
660
459
699
565
899
659
563
870
640
407
985
336
779
844
392
776
485
375
678
675
6
505
852
308
684
990
529
449
447
721
842
386
81
830
841
640
797
57
629
394
954
320
244
138
313
799
831
463
875
535
689
214
172
736
637
492
860
503
507
71
612
665
718
872
588
772
599
58
229
46
539
162
700
316
110
431
99
477
25
209
453
71
142
764
595
927
792
439
249
647
360
368
61
886
399
314
800
32
569
347
735
876
324
199
963
322
585
141
556
983
628
111
500
789
987
676
761
343
509
105
291
834
586
479
405
764
205
281
772
622
692
378
216
891
949
635
606
461
501
645
407
614
943
271
863
210
196
694
358
626
546
687
243
283
596
705
304
312
141
133
76
32
416
783
424
402
385
280
159
586
493
507
978
52
801
690
672
410
546
1
387
289
915
818
699
172
307
867
391
988
398
541
133
695
104
619
700
813
925
451
974
53
225
457
756
794
695
397
289
107
653
510
526
466
830
16
362
44
996
909
453
748
112
245
801
704
698
291
963
986
751
48
611
753
861
619
183
834
152
845
521
9
262
413
747
905
896
390
64
459
396
760
854
361
365
67
201
776
630
722
952
869
749
873
490
389
791
1000
713
605
373
545
78
399
781
967
176
222
551
585
36
893
46
435
213
967
441
177
807
470
982
769
712
366
584
215
783
5
602
215
115
156
102
951
278
978
68
545
211
389
760
986
427
901
888
394
333
886
331
601
774
653
894
893
334
459
7
666
561
762
303
471
18
593
767
602
9
956
465
928
886
491
956
163
79
511
117
150
374
677
491
989
521
212
234
79
947
580
430
201
190
969
800
798
720
758
850
511
933
392
88
845
483
712
234
578
544
882
279
121
282
451
839
621
570
27
500
3
952
233
743
504
975
361
617
532
235
167
524
795
947
785
361
774
396
594
793
529
354
205
620
740
467
426
21
677
620
178
986
452
517
866
376
540
56
626
871
42
597
194
528
571
891
917
799
981
249
524
627
354
542
860
685
813
724
738
905
745
888
417
191
994
312
995
621
382
554
184
495
717
413
504
301
88
502
940
51
813
258
486
467
881
418
815
164
118
419
504
342
584
687
883
482
895
501
572
200
285
967
216
715
195
659
740
358
121
627
718
181
247
843
59
978
124
579
283
996
270
907
127
170
138
262
66
4
289
979
612
79
14
815
940
767
843
739
455
923
599
680
422
204
680
497
660
195
240
188
621
711
824
213
857
469
799
871
23
841
597
863
61
535
415
533
144
876
490
783
300
807
503
346
363
876
974
896
44
220
724
493
488
35
630
960
601
65
919
118
846
429
196
231
919
480
245
621
957
479
410
199
455
540
998
545
90
726
749
267
52
161
860
594
245
733
440
540
985
284
571
538
375
212
335
110
615
20
242
37
886
696
549
474
315
746
819
634
728
345
930
997
604
330
424
466
611
712
766
550
657
959
566
428
166
561
311
716
624
278
455
841
88
57
11
227
424
781
916
871
568
920
536
504
950
676
631
231
564
367
987
458
854
685
711
931
706
927
880
944
346
459
816
95
899
473
787
512
663
603
333
118
909
23
729
345
166
489
337
676
494
180
702
539
207
320
325
369
878
260
932
108
218
166
966
5
615
460
738
367
678
912
353
802
147
644
106
585
900
331
487
24
609
572
340
46
802
746
998
825
679
662
405
926
98
973
332
316
519
614
824
618
571
521
880
121
120
477
240
408
369
237
818
954
587
995
13
639
488
868
611
978
184
305
458
764
877
236
448
960
159
334
587
929
832
992
82
503
694
461
479
984
609
154
809
875
479
287
628
62
441
874
588
183
760
589
888
123
357
163
536
949
877
795
884
103
520
514
274
317
606
559
987
580
969
631
878
441
860
266
235
69
966
735
419
808
538
552
799
379
371
133
326
525
585
173
865
640
706
30
57
824
557
802
37
927
857
766
836
325
238
583
642
601
566
963
417
813
121
534
522
771
154
261
132
549
797
116
207
528
149
622
708
391
548
566
560
833
743
397
585
241
702
817
267
211
243
617
730
586
558
87
782
643
967
216
182
151
906
470
596
307
236
138
816
947
474
117
932
49
398
541
70
211
830
825
244
745
63
554
609
23
551
135
119
929
971
289
187
626
709
254
454
359
164
71
169
692
965
392
22
380
398
91
474
85
836
340
782
264
963
935
914
865
930
387
555
898
342
709
169
575
192
880
927
469
374
691
892
51
475
35
486
51
867
755
678
315
980
822
768
226
813
984
883
279
359
996
515
136
651
212
537
305
550
627
110
622
240
424
836
889
626
688
310
323
476
251
951
976
217
553
629
906
721
988
139
688
312
473
996
792
481
858
411
473
474
368
535
55
999
482
215
962
793
520
604
355
689
749
905
31
102
988
432
79
597
552
958
859
280
844
981
65
301
98
196
981
673
541
896
561
935
742
493
629
952
18
647
318
261
559
696
857
944
354
245
943
962
108
776
234
243
66
117
939
588
91
411
123
654
373
33
40
819
877
521
811
765
23
178
760
984
81
474
12
206
497
740
299
6
665
958
511
383
684
625
181
199
272
760
977
752
353
168
297
587
737
929
194
925
13
945
223
684
991
79
257
163
981
53
972
898
820
806
483
50
744
473
571
993
171
458
55
406
958
377
99
281
974
757
692
744
644
492
101
471
685
997
829
802
437
888
496
345
4
823
111
977
957
797
398
702
475
811
197
690
624
330
476
228
929
349
153
994
529
211
760
231
975
556
956
976
164
875
33
403
996
226
868
750
102
565
196
54
351
33
713
87
970
269
268
478
755
486
317
999
283
629
901
378
26
378
631
808
970
175
554
536
672
709
314
517
696
501
734
147
14
329
785
523
276
238
934
486
803
778
24
977
802
956
171
847
552
80
634
344
283
337
265
927
13
455
933
961
900
249
255
68
536
214
106
640
197
567
596
49
247
298
672
627
801
877
31
345
256
221
797
456
486
405
284
34
356
399
214
509
681
796
967
766
925
93
780
328
749
603
348
490
967
470
926
973
604
598
869
845
524
507
531
995
526
273
566
401
905
741
987
805
226
140
779
174
433
84
466
501
521
690
802
92
675
209
673
455
174
137
364
334
369
236
592
197
757
294
82
720
481
707
1
418
598
206
293
582
127
92
773
128
156
402
895
782
302
309
236
266
403
871
100
809
619
3
104
331
43
132
245
139
526
565
762
816
652
20
42
260
709
136
906
508
74
24
934
67
620
75
823
949
648
327
432
529
362
645
828
609
100
875
586
820
364
885
614
574
192
123
979
325
578
925
562
800
442
282
905
217
127
220
246
232
515
228
598
504
639
447
681
333
102
386
681
750
700
51
71
846
386
243
219
871
150
680
75
803
400
328
21
702
174
993
869
120
897
788
83
250
385
587
513
304
526
911
329
801
376
28
401
77
423
214
24
332
428
213
811
980
535
967
522
874
347
573
821
241
260
253
238
779
623
841
118
469
249
935
979
39
379
369
459
970
431
142
45
112
815
248
814
740
603
141
732
903
96
707
455
428
179
695
136
853
903
528
514
830
901
290
402
285
92
483
771
703
628
829
810
453
183
2
701
967
506
661
356
960
615
592
52
569
122
59
696
475
998
715
456
595
459
512
624
920
802
143
864
394
742
437
466
557
191
4
811
793
512
187
34
653
971
18
783
691
492
455
38
639
847
663
211
582
99
442
100
949
452
253
853
815
668
408
763
961
852
173
593
633
728
461
141
714
485
755
913
303
904
702
104
329
742
530
576
870
294
91
141
312
649
856
272
360
381
636
299
155
352
144
260
460
828
784
843
927
362
189
264
988
730
122
519
762
775
323
150
706
161
739
589
438
915
402
155
261
95
882
6
458
112
842
679
330
24
755
392
319
570
209
918
243
880
583
706
886
530
92
855
654
63
295
747
57
196
257
372
53
674
446
888
135
114
308
517
169
289
246
684
590
970
347
179
570
841
796
250
129
25
385
705
4
451
902
554
262
615
467
212
289
297
84
15
777
458
772
640
792
832
637
58
802
698
167
779
815
958
855
513
397
901
949
826
420
972
796
11
817
475
769
214
506
365
179
757
913
190
983
754
187
820
294
347
310
789
898
334
761
979
34
499
315
871
674
728
845
809
410
860
714
517
856
252
445
663
156
279
891
362
777
303
42
355
304
183
947
66
324
57
970
832
830
964
731
408
803
828
655
286
730
508
985
425
890
864
510
775
155
272
997
350
910
615
523
693
457
544
460
262
923
713
869
666
255
786
461
685
371
213
64
711
903
207
764
577
262
843
487
737
949
952
822
427
127
296
302
721
471
559
193
402
253
826
96
137
384
575
282
774
916
668
773
481
94
476
591
54
606
61
513
958
113
291
895
572
491
877
836
680
483
560
25
436
591
138
87
943
144
540
186
83
419
943
876
424
590
785
976
892
63
558
286
372
438
512
542
547
957
706
896
138
771
383
549
114
820
320
922
611
364
601
870
52
513
274
14
402
160
473
205
591
792
872
534
855
611
825
21
203
195
99
343
213
744
918
511
120
565
924
407
531
62
755
490
91
929
155
776
161
656
932
405
863
733
624
732
885
121
417
883
60
670
732
158
48
165
914
492
450
585
598
423
245
995
690
652
778
194
353
355
422
876
30
848
643
621
350
65
453
439
692
601
113
964
287
720
536
639
27
847
42
405
536
516
982
450
648
662
297
586
188
448
239
665
789
512
343
246
584
646
222
428
759
440
906
349
346
334
289
344
127
881
655
210
194
731
443
287
541
25
130
333
45
415
591
276
312
893
355
968
190
979
940
20
172
578
849
617
541
12
866
6
844
294
2
976
242
711
840
235
313
186
5
59
148
673
235
971
958
63
804
481
947
679
102
128
922
481
783
154
944
497
244
140
373
857
127
865
776
33
178
435
557
535
82
489
581
361
801
883
771
977
560
821
383
434
859
820
669
521
797
262
718
542
544
524
525
352
33
856
775
802
794
236
377
646
397
399
557
232
142
119
156
39
483
632
852
223
182
735
238
851
301
738
7
443
4
932
31
752
569
636
804
487
145
235
503
781
559
812
940
814
934
118
804
903
939
680
874
781
270
752
358
527
335
697
85
811
198
118
88
662
552
738
983
17
838
574
657
634
685
453
13
812
523
256
872
541
545
611
716
315
213
911
646
879
142
647
752
604
518
46
168
997
152
927
182
119
922
483
164
325
598
448
503
758
25
704
406
547
179
969
221
470
901
581
850
133
985
816
977
406
891
371
63
918
520
840
490
911
421
74
819
654
266
269
845
917
672
534
23
699
235
455
897
545
189
878
341
284
214
727
795
953
755
169
192
22
668
871
916
738
122
384
999
592
499
944
710
440
414
75
832
766
125
441
246
958
304
335
845
217
579
21
453
912
284
924
150
769
597
310
350
268
610
671
30
31
885
499
769
768
766
519
614
572
37
733
347
961
511
820
438
80
806
534
802
909
857
752
512
171
683
732
771
833
554
957
798
781
986
660
718
283
906
778
248
301
938
583
693
610
17
707
785
905
407
622
949
809
789
888
879
727
298
633
704
14
243
820
615
816
782
806
546
213
23
593
387
61
830
952
268
976
140
291
625
484
749
736
146
243
296
415
189
602
699
317
929
489
373
442
336
771
360
166
56
788
921
884
388
688
252
23
886
612
715
461
515
483
375
246
940
386
726
245
261
71
149
35
436
116
84
899
717
691
858
272
636
635
859
365
484
812
42
963
770
272
755
619
818
823
567
520
566
987
28
354
599
194
307
374
639
284
243
708
35
25
656
657
279
442
658
392
214
160
331
936
385
872
365
843
938
295
165
244
592
644
480
258
446
758
846
892
829
493
982
617
948
877
821
806
854
854
43
75
99
121
809
367
525
710
904
315
818
437
635
1
818
336
655
749
83
456
343
7
882
203
486
655
613
499
798
355
628
626
246
632
569
554
222
451
641
929
390
982
670
654
386
94
419
200
655
875
382
325
406
134
221
920
26
420
49
40
352
545
32
33
852
999
137
846
131
921
426
234
168
479
971
589
336
625
339
558
575
169
607
430
48
75
19
540
246
625
748
545
761
915
685
515
900
679
832
221
914
56
651
858
817
298
697
748
734
813
940
198
233
136
467
797
328
652
662
936
701
895
544
197
255
262
665
589
230
858
868
303
25
946
241
776
311
205
817
369
219
576
895
899
142
978
416
599
219
602
452
803
640
805
726
819
717
833
28
993
83
753
577
925
494
4
617
176
436
910
30
545
147
355
335
212
730
580
207
591
747
707
570
748
45
180
399
620
616
778
578
96
945
223
584
185
685
731
271
167
441
987
754
599
150
186
243
488
820
740
692
794
367
185
280
626
915
635
103
190
203
850
888
550
653
625
231
758
301
723
603
751
958
40
365
700
960
27
102
155
349
651
874
428
592
330
389
138
804
368
675
748
955
358
574
191
740
921
257
456
637
941
3
36
160
126
687
743
473
335
786
247
342
630
210
98
875
396
954
668
606
211
361
640
267
362
807
196
30
29
724
38
86
218
186
704
171
420
733
462
66
887
710
181
139
102
160
231
739
735
241
374
590
914
185
86
390
126
94
483
494
440
193
267
895
23
772
724
729
137
691
810
165
861
225
790
864
833
993
754
155
188
932
526
690
697
561
176
631
821
291
365
342
63
151
222
166
477
119
320
94
699
165
577
64
154
261
596
152
405
835
38
172
721
585
106
36
39
154
118
787
469
875
454
377
338
689
856
116
611
410
184
215
154
663
262
990
965
224
339
121
956
971
72
799
309
338
636
744
726
1
734
845
147
467
816
589
594
426
807
579
882
981
948
134
847
338
198
423
614
141
759
597
155
399
906
133
79
874
282
951
140
870
208
917
438
601
372
7
649
688
457
760
933
908
892
654
337
978
920
660
620
57
621
586
435
632
331
740
696
619
183
101
809
875
83
441
130
743
549
795
672
937
240
243
609
838
914
243
565
240
791
635
26
679
994
998
476
745
816
285
1000
210
50
481
195
342
509
616
164
564
190
603
286
440
206
242
217
71
748
204
277
147
870
985
974
271
780
623
935
684
691
409
893
196
3
6
741
923
737
95
837
459
702
165
927
205
824
110
40
897
424
76
688
821
38
370
529
801
492
349
427
811
582
863
479
1000
663
259
165
958
869
934
253
318
461
146
450
151
46
91
99
173
988
302
404
475
368
36
756
336
282
644
760
709
95
886
450
125
494
771
5
93
855
777
20
547
464
243
983
539
619
325
166
162
468
141
591
652
746
636
45
689
220
271
412
235
753
834
723
613
391
565
409
141
737
301
203
337
234
531
36
645
636
105
27
613
87
823
392
713
748
296
685
309
820
268
263
818
178
61
331
753
521
935
182
196
150
910
522
185
975
65
858
691
355
378
993
93
732
964
599
579
754
932
690
435
824
168
581
15
525
50
556
37
418
484
80
1000
68
676
803
667
969
726
40
18
253
506
666
573
666
229
567
716
328
818
875
484
223
473
245
308
170
789
321
372
319
414
354
558
798
528
679
455
238
320
374
514
337
265
950
257
498
238
389
380
836
404
178
701
539
382
238
162
641
405
826
533
758
57
541
997
232
703
541
589
439
928
961
294
703
102
311
672
396
733
311
101
317
381
240
51
356
757
366
321
806
44
433
875
403
663
512
683
340
429
734
998
24
501
564
620
347
640
294
991
555
983
400
425
610
3
226
368
94
353
250
361
303
996
810
291
153
440
763
590
918
873
12
269
637
716
215
83
223
435
284
624
910
451
468
901
719
649
903
749
36
289
550
495
230
80
312
417
473
832
961
905
587
332
235
670
774
66
73
29
554
976
518
50
103
701
235
325
442
644
962
200
614
771
450
620
75
271
623
92
987
62
737
901
39
675
322
418
681
213
532
234
390
943
348
896
701
560
753
222
239
323
598
529
929
68
390
624
902
581
642
65
319
916
729
44
534
36
448
200
511
588
571
833
420
714
754
273
660
532
71
593
355
354
330
496
535
734
45
933
787
191
621
956
185
779
878
364
644
755
497
945
723
237
370
496
27
115
107
359
38
454
156
900
193
299
81
204
462
82
558
314
503
825
554
459
729
920
970
64
257
572
759
843
742
920
155
851
604
428
181
232
966
412
63
303
934
436
499
747
501
906
21
931
449
386
810
804
123
30
430
387
817
70
885
618
855
460
316
168
108
646
418
950
862
899
350
155
412
824
534
106
726
458
206
639
843
832
29
463
396
8
370
730
826
364
82
42
368
343
756
281
872
976
435
888
894
227
752
737
232
622
264
292
277
669
548
543
148
308
250
111
535
996
875
5
589
47
567
715
10
564
498
763
664
595
793
321
701
190
95
250
146
655
970
745
385
624
376
795
766
526
307
830
820
664
556
259
209
381
265
78
585
728
545
359
998
655
7
254
352
971
469
52
675
231
459
976
652
284
393
648
962
392
462
567
418
751
338
535
839
738
760
686
876
396
983
657
692
539
808
506
570
307
646
147
975
211
642
465
579
461
407
759
58
888
294
848
220
845
503
986
176
294
496
729
796
688
341
17
677
362
657
44
191
899
745
928
970
322
358
805
345
43
316
736
860
205
836
727
936
425
991
238
207
974
224
802
797
126
192
749
59
731
507
567
883
73
158
161
712
730
447
97
835
464
336
945
350
117
964
3
435
140
936
8
208
636
708
927
515
738
15
536
425
747
817
334
111
690
713
228
12
853
81
599
915
430
485
559
613
613
34
671
332
354
464
967
993
524
670
819
681
401
299
116
408
258
810
254
352
309
94
617
308
430
334
618
967
892
311
859
28
778
769
634
834
924
738
852
404
953
991
412
270
447
898
204
489
369
995
214
565
595
515
656
788
837
7
657
661
271
878
790
698
925
399
659
828
242
248
832
68
253
162
627
906
504
642
672
64
192
918
664
901
987
630
507
762
658
707
808
987
929
992
756
136
968
45
587
221
516
358
122
384
963
988
392
515
600
187
972
750
854
186
449
672
601
711
407
285
498
170
402
534
897
689
679
203
59
360
789
534
311
100
849
779
273
530
913
227
508
128
818
944
751
720
893
567
394
61
149
26
52
836
902
12
841
961
296
286
464
415
875
741
332
216
162
198
714
312
196
532
349
349
110
634
52
276
132
115
579
684
830
395
424
675
47
39
294
738
711
738
694
839
652
357
463
454
601
855
103
768
813
680
434
637
107
459
453
200
695
406
280
207
836
910
694
261
251
164
126
123
200
560
884
201
330
785
48
109
707
230
735
944
928
338
370
532
863
15
188
447
340
52
448
45
81
823
731
98
245
147
266
871
258
335
425
655
986
901
433
822
891
313
825
447
567
491
404
434
893
419
274
840
136
404
19
822
499
988
268
196
976
484
678
120
907
417
842
823
263
899
748
618
544
107
198
645
132
595
23
964
108
119
25
584
795
21
327
39
780
989
212
894
749
192
584
373
240
360
923
935
337
379
946
204
402
367
238
119
180
981
803
566
989
947
802
30
254
380
765
996
360
506
216
939
624
832
938
730
230
605
103
213
117
690
86
512
163
603
71
360
438
509
505
367
11
437
17
685
512
847
694
955
664
942
494
805
65
788
148
369
776
414
89
514
711
517
873
492
348
327
17
722
76
471
429
279
325
377
393
474
710
890
606
565
591
289
892
275
827
797
52
277
11
58
743
214
127
728
440
158
418
547
275
621
225
744
6
360
680
625
464
259
464
547
536
527
252
257
200
263
111
727
140
234
847
244
210
347
234
458
388
879
136
515
868
987
752
192
653
416
604
163
332
593
448
139
722
515
964
642
723
887
953
603
27
38
780
809
300
992
971
457
69
925
182
727
838
961
275
322
867
862
826
412
671
741
231
238
515
344
489
949
98
799
872
888
181
996
944
646
116
911
803
674
125
261
18
164
684
846
438
186
576
825
957
787
984
935
352
882
542
389
517
264
361
755
767
12
889
646
409
895
934
438
432
102
269
589
1
797
58
311
429
534
735
504
414
510
103
893
661
41
116
254
412
375
262
447
57
146
488
745
734
373
335
614
750
866
329
646
749
328
703
836
751
217
180
770
599
665
951
578
898
333
897
693
200
147
839
570
85
235
835
497
768
261
582
577
51
568
528
743
753
187
650
415
243
842
720
31
324
513
540
211
525
989
806
774
804
141
226
153
755
273
31
38
706
39
251
200
489
873
22
562
243
784
659
505
351
674
491
331
487
48
231
538
814
70
181
303
539
487
731
134
432
834
394
161
383
669
114
975
784
355
685
199
303
1
910
229
647
790
551
711
3
810
235
335
173
932
192
491
847
8
142
180
88
848
685
305
835
30
262
156
180
581
149
458
230
944
946
822
599
480
731
814
975
938
372
176
735
943
502
871
288
589
306
769
695
631
580
780
91
602
491
141
657
459
84
397
157
933
867
332
596
905
733
740
126
487
71
447
188
446
175
471
781
802
935
512
873
162
392
255
235
404
929
116
382
823
740
117
910
758
769
576
212
995
476
155
471
984
629
604
859
978
842
229
88
773
683
725
784
613
50
482
697
172
919
937
424
279
730
811
125
167
441
331
733
608
699
647
247
237
715
687
46
734
107
666
560
312
458
262
276
125
315
285
815
801
142
271
707
291
67
55
612
619
302
792
920
926
809
329
91
395
121
87
604
284
213
800
120
279
991
583
283
839
259
783
629
25
5
983
223
525
449
354
969
282
598
266
38
116
975
702
461
261
773
553
772
538
948
319
507
207
652
82
466
172
990
881
937
351
267
773
483
440
796
933
448
274
841
128
120
229
482
754
318
845
983
458
264
962
810
999
764
175
520
663
110
347
619
994
596
247
917
63
231
124
37
785
66
165
507
16
491
353
327
322
53
180
953
309
593
43
419
371
974
931
698
563
272
168
489
30
71
575
309
139
401
392
145
961
972
723
968
287
536
20
67
697
660
377
531
514
664
6
173
643
254
263
881
429
173
55
649
626
242
273
536
533
323
122
425
116
59
911
696
710
724
853
922
479
163
937
214
391
597
779
164
867
992
619
176
643
844
316
574
623
450
294
66
664
181
848
45
304
832
134
698
422
873
476
117
683
299
310
407
431
818
212
337
356
335
984
164
896
23
677
140
801
805
789
614
724
724
598
828
18
517
733
211
126
677
664
485
100
435
705
924
813
387
537
901
359
932
998
222
16
301
61
849
861
731
539
282
819
221
987
286
488
431
740
642
541
472
747
315
898
754
148
745
164
585
87
992
974
918
327
89
39
515
619
303
653
772
642
931
352
669
561
906
224
590
865
766
102
257
261
451
482
676
793
20
575
741
264
581
320
160
292
681
537
395
1000
924
662
643
449
811
663
254
380
685
809
579
753
160
913
968
857
640
597
535
482
323
858
323
751
638
954
738
733
164
193
460
891
931
735
533
745
448
920
57
865
918
942
663
471
904
943
994
447
128
690
511
553
159
67
264
979
542
543
693
135
265
626
162
785
564
68
653
185
766
249
11
888
232
734
153
266
518
478
949
613
514
510
800
901
718
251
549
844
743
778
10
1000
844
465
284
14
553
430
42
981
469
128
109
111
877
253
18
551
154
823
694
259
845
969
45
286
879
476
47
672
670
549
857
468
710
677
581
28
849
651
616
833
676
25
867
577
255
314
751
161
44
248
606
513
965
248
9
894
465
80
594
434
897
359
81
192
686
138
683
922
590
351
469
114
792
280
23
552
711
525
484
844
184
194
98
879
114
150
509
145
750
193
323
214
549
996
940
454
931
462
231
214
330
919
430
307
646
248
505
615
568
583
349
14
285
717
392
646
778
710
583
757
212
492
254
923
968
451
94
545
503
76
280
872
511
750
859
689
867
684
630
1000
413
814
96
740
959
193
538
536
786
50
925
48
537
219
121
264
621
84
849
378
179
541
942
598
185
720
700
263
513
383
570
187
634
970
955
2
164
266
683
607
658
487
558
502
875
442
457
950
261
48
639
371
522
133
280
349
991
925
785
945
954
65
52
738
203
272
752
181
896
47
593
410
205
887
760
577
348
569
926
171
342
956
769
557
197
663
457
120
374
653
384
998
998
514
324
394
717
704
270
810
132
568
426
393
377
273
243
761
799
109
908
303
673
799
407
967
540
556
129
970
65
625
8
717
275
967
357
415
680
555
868
570
22
478
745
548
363
681
578
888
799
684
331
884
337
115
818
244
376
176
88
304
797
470
458
361
864
749
305
166
41
216
340
535
331
997
800
320
939
265
874
692
906
294
753
821
846
408
855
519
83
397
165
395
286
459
131
342
175
163
213
963
981
224
34
675
131
113
36
759
64
659
703
620
164
829
697
859
557
819
700
534
912
433
368
170
450
485
568
656
77
626
978
162
946
553
214
595
744
33
872
921
731
575
275
887
860
830
232
299
329
42
852
11
556
910
281
230
882
296
257
568
277
58
550
498
935
159
673
539
935
885
721
526
68
666
870
793
532
506
807
961
437
495
366
274
962
196
709
135
578
977
685
549
954
519
398
680
39
776
600
633
354
667
255
856
681
630
509
276
219
990
335
400
731
738
343
126
405
967
575
931
908
678
642
458
634
96
211
227
222
958
692
384
228
445
930
913
259
568
884
724
967
858
524
374
49
142
669
965
799
44
63
925
838
600
767
977
325
43
862
562
360
373
521
424
302
808
757
818
415
587
535
35
589
888
460
556
876
809
2
159
270
458
12
718
408
223
355
297
892
166
611
352
526
347
144
514
34
563
320
469
794
660
275
925
661
75
443
505
258
738
16
669
969
781
569
477
450
788
408
50
690
464
566
100
528
660
972
783
38
690
47
439
412
730
867
491
785
891
68
876
962
249
886
918
143
699
75
471
566
31
933
498
442
12
390
983
694
586
880
229
772
538
733
134
262
69
954
16
89
800
555
892
884
646
31
917
450
837
218
845
352
160
498
962
370
102
261
945
906
192
575
466
485
279
305
194
158
882
230
31
984
20
339
54
716
140
98
634
525
838
424
647
867
92
34
510
575
631
75
37
891
875
208
723
405
603
849
147
839
164
872
624
169
536
895
109
851
19
207
616
802
681
504
109
361
928
882
892
667
738
911
8
752
164
238
85
186
676
877
312
310
809
214
3
885
361
829
270
550
61
435
864
578
262
552
176
248
690
100
721
644
690
731
147
756
759
548
996
598
331
849
951
446
962
673
298
418
52
204
674
348
209
562
951
330
219
84
281
328
300
10
913
21
22
346
372
374
824
807
5
469
526
939
677
841
629
929
628
858
468
128
104
719
488
51
398
285
4
442
376
260
811
6
366
214
922
619
570
560
535
87
759
878
40
63
101
904
531
349
407
102
788
582
951
984
172
298
294
236
210
430
209
291
891
598
900
164
875
923
192
292
871
724
255
597
425
144
739
208
214
666
903
109
770
510
435
474
207
110
168
608
147
220
852
221
551
721
435
221
540
853
90
358
660
437
337
785
203
635
166
90
399
903
50
403
265
146
63
942
874
454
112
777
665
489
483
634
127
282
433
275
900
178
609
391
869
687
437
928
322
285
417
499
598
552
507
830
978
599
351
221
715
442
152
638
231
817
409
370
515
964
575
131
639
55
928
152
155
294
579
32
850
169
641
94
960
999
965
564
486
685
790
139
696
567
870
421
254
336
346
245
649
276
704
142
786
483
649
74
649
300
624
68
930
948
6
594
386
202
710
358
492
15
57
676
630
200
278
758
660
619
951
28
233
857
1
89
601
12
642
41
11
86
765
660
977
396
850
375
879
618
430
53
346
319
484
380
843
322
938
2
716
833
595
666
723
25
426
312
714
703
133
426
716
733
275
31
130
169
84
320
156
379
275
330
804
37
775
22
95
517
336
793
107
127
394
753
558
583
399
84
509
333
43
380
599
638
506
194
952
823
850
917
499
720
170
717
38
149
969
515
747
212
500
877
261
284
489
258
644
867
736
250
765
854
583
363
654
378
135
393
378
89
418
607
868
652
369
841
907
258
657
66
184
162
878
172
923
613
569
494
79
46
833
98
543
103
91
936
71
824
659
798
919
391
344
385
249
894
268
936
458
922
448
595
479
195
455
84
981
93
656
348
143
682
101
495
323
757
127
791
535
505
144
446
109
614
870
645
269
46
465
598
700
240
686
391
313
196
129
80
541
773
128
749
522
521
651
265
392
542
808
44
769
223
225
435
207
131
580
283
46
19
68
784
611
681
412
27
146
348
329
497
251
416
1000
393
794
554
228
818
484
692
406
764
325
917
346
361
146
67
302
40
300
706
252
77
398
170
586
518
637
625
891
616
880
390
450
720
158
313
394
31
663
658
182
764
632
777
262
19
735
824
261
108
705
915
77
181
17
420
546
734
307
525
177
979
138
821
603
132
417
426
965
375
463
62
482
637
287
608
787
338
106
847
485
970
501
545
539
681
930
517
728
59
465
64
450
951
757
983
550
471
209
415
697
302
278
907
73
37
601
445
786
575
418
650
453
507
345
7
881
49
121
749
630
306
373
11
492
545
809
945
636
742
489
753
214
865
996
38
740
224
391
417
429
762
805
83
3
340
421
908
159
895
355
691
31
874
664
384
481
481
288
467
982
84
258
161
200
607
890
846
120
840
25
862
682
392
575
853
485
434
793
973
43
473
694
539
453
161
14
181
110
512
931
145
264
998
546
162
830
686
752
228
798
955
717
689
56
366
664
293
161
942
17
223
882
439
260
692
878
226
60
376
957
984
297
808
746
815
647
884
453
254
284
792
646
344
68
994
605
182
332
388
862
306
992
404
11
853
244
587
714
698
568
154
114
658
87
161
552
424
594
108
531
91
734
321
413
30
863
924
173
380
117
38
889
606
68
660
314
432
172
776
11
939
853
403
52
777
722
681
197
246
893
574
820
481
784
476
566
67
115
793
890
233
32
584
168
158
406
463
28
61
417
267
928
455
446
452
746
380
171
766
368
455
508
528
806
345
688
753
384
578
354
441
921
691
16
578
650
362
578
786
809
540
961
101
447
555
15
58
48
873
21
125
948
451
87
530
389
618
659
699
293
37
179
855
459
569
637
800
971
801
428
535
34
597
408
189
337
265
535
651
308
846
805
428
296
587
447
499
817
881
509
358
461
811
43
28
977
997
38
532
347
591
179
221
370
138
248
391
377
487
704
818
244
137
577
199
776
142
303
20
874
240
532
991
641
941
305
76
722
104
140
76
734
978
786
889
574
750
366
855
812
412
611
44
69
154
738
962
536
540
252
892
309
456
648
24
254
180
518
601
465
966
90
528
226
186
544
295
560
461
809
591
77
178
661
702
859
440
107
638
532
831
3
935
525
324
783
265
736
283
978
307
491
798
964
795
714
518
947
331
704
744
798
313
759
786
738
292
175
489
252
188
813
408
859
33
512
306
514
353
130
535
514
861
857
392
715
866
786
703
788
704
406
768
986
518
813
256
626
929
939
817
64
511
43
985
447
446
33
406
954
474
921
545
532
11
879
814
375
335
877
495
524
862
898
906
977
817
29
42
679
84
551
276
576
587
284
819
701
354
53
305
888
314
131
276
311
948
885
346
503
169
681
521
876
167
304
490
86
523
746
690
737
571
265
624
48
874
21
183
94
662
434
737
162
268
660
337
548
921
210
676
885
729
797
382
687
331
951
814
351
480
820
754
300
789
809
340
283
956
443
91
116
52
858
120
321
900
872
513
148
100
443
341
489
42
633
999
29
81
928
391
795
146
838
949
941
210
258
693
209
431
968
270
11
283
19
438
498
647
444
557
271
693
924
420
658
319
564
212
560
96
892
456
942
931
586
572
979
117
154
60
701
67
26
386
753
744
57
366
546
784
449
221
624
307
494
479
567
728
330
629
130
178
134
722
578
771
762
154
397
596
883
490
656
186
83
515
281
258
239
657
436
622
702
546
6
565
486
758
917
412
693
727
637
678
883
387
761
972
943
378
9
772
290
525
319
321
921
868
978
127
896
764
882
976
348
396
104
968
978
617
891
762
338
195
133
179
868
382
89
283
803
237
882
301
559
266
859
102
167
767
404
441
609
726
241
867
703
244
533
10
287
227
350
936
28
538
182
416
129
884
207
235
574
444
5
108
328
692
193
406
70
862
279
626
639
295
640
482
346
211
131
546
716
513
285
630
6
925
464
456
71
65
575
722
767
97
202
377
65
222
60
753
531
611
709
248
617
317
372
379
462
348
505
398
555
348
517
99
648
284
636
125
783
103
477
836
136
585
311
788
689
540
350
950
379
2
675
61
474
361
529
952
425
174
825
227
320
991
647
426
370
655
432
682
586
428
285
945
890
755
593
11
443
657
676
987
901
526
757
312
628
598
891
131
649
464
863
645
259
784
255
43
776
784
26
750
854
235
972
32
165
318
407
439
13
229
200
182
620
398
122
293
420
934
65
345
671
282
294
576
93
91
354
504
64
976
633
490
64
235
874
275
737
513
128
182
906
128
707
577
324
36
748
141
795
387
869
729
494
270
235
875
17
493
86
500
680
193
368
27
112
661
703
879
987
16
314
306
65
255
934
584
343
782
915
889
237
719
973
581
182
180
40
189
942
229
673
137
220
399
355
130
869
524
808
162
117
105
127
319
746
608
141
879
76
874
927
771
956
313
788
71
693
666
346
73
999
889
620
450
585
163
78
134
992
113
694
887
617
67
1
912
639
604
939
549
775
672
101
771
324
307
598
198
978
314
363
354
279
354
162
175
380
505
989
123
986
756
775
840
980
860
559
951
238
639
361
487
567
132
991
426
552
969
954
999
314
933
422
744
837
991
966
773
574
994
370
350
507
822
395
674
670
27
788
712
467
911
195
38
735
525
878
877
634
331
306
7
902
88
767
706
931
97
79
697
398
102
430
919
928
975
86
979
333
854
451
372
547
487
552
893
246
419
493
172
523
68
898
959
703
889
599
566
527
587
133
913
500
794
671
710
145
682
82
626
267
781
760
749
123
617
692
235
531
893
7
817
574
625
896
752
531
23
370
880
43
939
789
671
350
384
487
555
639
964
84
344
138
66
293
290
634
304
103
137
509
18
253
575
221
601
785
654
393
46
327
47
342
385
441
527
888
632
23
663
782
403
268
553
941
693
164
311
933
122
825
204
872
579
216
524
915
376
1000
761
79
911
306
174
987
356
167
609
435
88
285
304
403
397
551
450
221
535
443
487
162
280
22
470
607
44
759
354
311
992
819
704
5
764
777
186
730
171
925
143
841
697
489
727
589
666
103
341
539
766
821
589
875
943
810
545
776
794
606
918
697
284
495
607
303
970
136
197
267
983
8
220
889
644
676
341
750
3
111
222
183
520
536
475
404
799
332
6
547
595
575
40
682
256
650
297
160
409
249
121
226
966
741
819
949
453
561
144
930
283
789
614
137
800
533
329
490
872
83
49
469
316
57
558
133
715
906
761
412
4
248
534
425
764
431
73
883
337
643
393
361
714
641
645
298
648
889
150
148
597
485
378
3
912
750
633
353
151
779
852
382
511
573
792
357
180
571
797
195
796
563
539
278
348
977
384
938
545
482
492
790
129
712
357
298
641
637
296
520
862
812
250
972
556
268
394
948
116
285
249
435
464
707
396
975
828
672
425
424
79
907
451
600
918
764
398
220
538
220
255
373
340
966
669
5
916
522
595
547
771
33
159
856
209
63
574
116
399
181
715
182
855
647
908
156
520
797
614
633
141
2
939
141
896
255
314
812
63
465
272
174
77
558
995
314
483
330
153
295
160
799
644
911
656
490
14
298
670
691
709
922
466
217
809
735
543
635
589
77
945
212
37
23
399
86
484
419
919
273
607
845
570
178
371
52
853
201
934
255
594
882
126
777
224
811
901
174
125
143
57
928
20
157
602
199
469
778
385
945
179
327
988
895
202
87
415
502
66
437
831
11
580
432
442
216
303
675
635
278
695
281
647
272
548
516
393
724
584
432
505
478
54
459
345
687
749
421
479
579
78
921
110
936
796
358
16
868
485
125
860
596
149
659
112
393
125
119
415
780
48
426
975
320
812
268
405
125
277
473
541
242
992
856
903
649
353
206
878
499
423
635
164
594
102
876
735
790
466
459
365
205
861
928
764
644
797
347
500
596
734
438
181
552
645
596
813
145
627
873
881
790
864
817
416
90
20
664
290
264
444
984
996
245
666
337
457
897
278
885
743
19
698
180
168
388
270
566
899
167
825
687
94
366
124
652
577
936
597
273
248
266
379
637
733
544
938
990
268
453
546
527
451
162
389
244
291
417
404
430
917
825
800
731
447
75
806
975
745
954
391
107
238
482
566
656
537
398
426
108
317
514
263
478
830
198
920
116
443
307
50
508
809
473
121
415
628
514
782
201
460
120
697
617
751
678
69
613
17
247
848
999
146
269
65
862
893
516
802
742
953
192
90
449
445
826
392
305
227
811
411
312
255
2
680
430
99
785
753
712
797
425
833
505
492
290
402
324
643
781
700
283
170
390
946
147
606
335
814
198
132
649
12
84
459
437
757
747
625
249
572
329
128
156
111
706
306
191
645
893
496
240
437
135
297
367
486
909
229
808
6
442
174
548
593
572
247
474
222
972
161
611
104
809
755
801
958
867
25
531
430
80
962
287
251
185
469
953
194
879
894
284
74
520
26
392
819
836
941
554
130
606
733
357
338
510
27
355
886
641
90
963
258
244
565
267
295
328
92
811
573
701
564
151
923
867
343
205
239
931
564
943
425
379
522
4
708
93
268
195
588
516
720
641
344
191
26
543
399
230
424
147
812
442
572
523
831
949
161
186
759
131
642
422
320
642
70
440
383
70
382
75
129
517
930
873
715
32
689
796
68
337
407
681
692
757
865
858
261
589
541
977
362
411
253
218
927
5
738
520
799
598
728
377
388
159
801
24
558
293
193
591
742
141
751
861
751
314
487
833
930
540
466
202
89
186
332
187
139
220
418
902
449
521
223
602
750
639
5
667
819
268
403
187
295
692
264
327
695
456
323
464
128
312
986
238
256
281
219
252
755
324
486
138
915
663
716
123
50
297
568
991
54
626
589
594
799
360
442
631
55
126
88
479
284
244
612
246
932
172
466
86
865
24
10
18
157
375
596
179
765
307
898
450
524
268
844
880
519
848
295
197
105
32
563
939
782
835
964
450
657
463
882
48
476
335
214
159
51
327
661
124
457
632
51
668
547
434
771
739
174
453
433
544
16
66
87
113
32
312
664
663
424
618
841
364
396
466
178
844
168
554
226
921
460
223
251
593
91
57
403
291
442
585
399
745
272
977
296
597
785
462
484
68
895
942
830
566
358
963
803
117
818
745
493
891
832
470
666
900
632
373
381
149
710
519
251
147
328
285
112
687
699
703
740
244
878
815
254
173
407
90
14
119
332
794
164
711
540
899
422
642
243
774
384
723
83
419
396
335
525
452
980
2
159
410
936
447
52
170
482
628
523
473
220
684
599
588
303
659
903
128
876
158
949
918
802
784
640
593
674
350
248
303
363
354
345
490
664
135
936
225
155
482
507
981
24
174
852
53
452
113
287
62
139
221
323
82
662
270
935
9
688
151
336
690
474
872
545
209
745
749
117
469
736
826
106
870
175
576
704
450
995
297
47
345
842
447
333
770
812
350
753
56
388
334
747
415
271
375
727
265
626
739
724
888
309
980
395
167
785
837
434
916
773
277
719
60
160
942
446
571
337
727
117
558
908
98
468
400
693
989
355
114
26
846
146
446
634
425
407
310
778
459
525
258
946
211
461
680
82
209
972
261
245
205
540
38
643
458
672
101
151
26
454
546
834
626
13
824
445
988
14
31
603
339
448
1000
110
843
745
269
928
304
664
164
389
493
534
225
585
714
136
180
267
101
931
508
247
231
414
390
9
274
54
501
191
858
698
673
660
252
303
927
125
234
565
758
645
266
359
825
906
163
897
425
862
505
141
183
174
436
372
443
918
357
712
712
165
223
82
363
404
848
318
498
224
611
111
527
338
476
34
527
792
71
164
917
196
831
703
311
877
920
571
684
150
707
151
116
293
59
252
500
426
622
863
514
172
559
475
74
920
911
585
268
523
881
481
448
458
838
568
767
866
789
324
952
362
381
393
514
201
246
497
909
205
637
597
398
829
865
168
472
896
4
559
747
808
686
136
195
505
582
339
384
48
360
802
207
451
454
443
192
328
16
770
95
973
781
706
914
745
382
888
872
2
892
769
186
368
939
825
632
850
783
835
31
117
186
504
757
348
702
676
310
135
289
985
794
333
761
97
865
175
682
617
362
628
728
308
342
771
423
560
705
902
447
909
936
207
336
982
745
73
543
464
541
563
262
543
765
125
351
839
48
351
963
970
70
500
236
795
772
509
466
830
245
457
739
518
261
780
921
815
874
38
214
53
954
743
259
126
833
533
889
852
448
3
196
794
523
603
527
888
345
336
403
16
644
435
107
36
929
777
876
830
394
597
211
698
156
949
810
727
183
460
24
859
694
131
533
18
250
359
152
33
3
852
298
49
768
869
651
825
699
10
984
581
330
846
970
40
679
811
1000
942
905
130
713
566
754
22
960
750
643
54
417
473
775
331
907
319
129
145
747
52
488
810
158
67
967
679
805
737
616
770
59
501
788
965
469
114
891
524
198
624
60
515
940
499
41
809
890
844
302
494
917
755
951
919
967
709
576
88
89
340
509
789
199
56
361
687
855
769
858
561
860
402
183
34
458
959
42
413
283
672
596
726
954
160
302
642
416
573
400
712
692
430
490
306
706
219
193
692
236
860
349
914
849
822
625
550
894
9
644
946
212
547
973
223
292
250
393
235
972
841
885
643
663
992
664
449
285
845
429
659
771
978
702
228
17
696
784
71
657
121
352
722
856
821
214
177
629
582
35
554
846
540
160
475
165
47
750
485
646
570
591
415
663
413
848
295
63
255
951
352
210
336
571
645
665
611
340
80
798
355
578
953
516
511
768
606
661
533
966
538
346
598
619
51
657
850
510
564
693
756
668
824
875
770
117
543
828
215
283
463
891
723
730
424
512
634
649
793
347
432
169
540
881
735
163
285
784
308
653
922
14
322
332
766
893
367
985
753
983
768
800
884
628
371
639
997
438
301
370
949
838
152
242
441
27
674
132
76
360
337
187
703
198
46
51
739
735
907
356
955
189
159
646
168
982
322
214
384
254
144
609
197
100
157
733
667
428
537
482
487
233
455
913
969
376
338
753
255
661
256
864
249
137
186
993
898
50
13
700
874
803
1000
885
171
637
846
739
828
439
655
265
805
280
846
729
23
798
523
541
709
528
879
105
494
621
972
95
152
175
609
506
479
591
144
535
570
927
684
46
677
219
606
920
898
152
296
73
185
231
691
301
554
853
586
403
888
248
623
211
493
318
569
278
329
813
756
955
958
102
578
519
318
68
503
818
832
275
392
629
809
618
795
555
726
118
540
822
804
406
143
773
207
681
465
225
319
632
648
73
815
885
513
735
660
17
528
55
738
94
959
274
552
975
998
570
324
334
517
425
868
484
588
804
798
577
50
693
3
708
236
83
840
776
429
875
132
674
719
498
923
572
756
282
900
550
274
715
536
848
403
793
297
331
486
586
716
553
573
992
739
977
765
430
503
484
348
857
633
312
5
77
234
935
416
767
936
224
258
64
815
403
952
783
479
976
492
583
360
765
351
470
88
676
780
35
844
614
759
730
749
207
495
328
674
671
640
392
356
161
339
259
303
448
795
541
807
592
300
604
304
594
579
839
454
626
854
781
531
599
245
306
201
234
10
191
267
775
638
311
749
719
14
608
515
697
687
767
762
716
806
229
799
524
405
750
984
757
557
245
154
887
363
50
562
705
873
51
171
249
824
378
106
596
484
449
257
939
18
227
246
707
518
471
499
261
243
616
712
887
684
676
781
373
774
217
211
459
944
31
39
846
755
587
602
236
503
750
810
99
566
513
165
469
218
700
464
106
342
692
955
751
724
227
762
86
623
242
538
204
903
538
640
70
324
781
608
485
480
972
353
543
501
60
262
414
871
809
386
575
602
395
957
278
588
441
776
123
169
375
410
109
791
56
719
419
205
597
965
489
819
170
640
643
642
405
200
677
789
634
90
276
642
882
786
122
579
976
133
832
667
569
869
644
793
192
110
888
544
669
504
851
529
353
928
584
960
703
896
583
41
624
263
24
118
875
479
436
619
590
330
248
493
619
100
667
275
967
105
710
898
76
816
34
62
86
154
423
332
486
99
364
111
759
453
221
292
738
438
906
719
374
850
779
527
550
631
774
72
359
64
356
435
44
276
15
421
354
359
400
550
679
233
121
815
717
299
470
844
795
74
23
707
230
213
137
785
251
796
878
19
103
280
784
368
895
306
183
500
659
369
495
571
861
469
44
457
296
28
455
944
916
705
618
196
603
280
525
293
368
440
60
742
728
97
931
653
249
904
502
689
385
716
243
25
776
66
876
245
83
189
57
570
333
698
633
814
464
803
70
223
439
879
654
694
856
267
465
929
470
409
903
721
400
821
786
969
102
948
627
947
369
644
727
71
719
870
156
673
541
226
510
268
279
107
591
438
742
572
779
711
372
522
948
769
911
417
191
892
455
544
546
804
322
809
113
988
514
125
695
94
801
739
127
277
624
256
986
184
70
684
241
833
164
579
724
795
575
227
1
970
659
865
327
694
405
141
925
121
498
360
709
581
179
581
931
128
13
299
983
578
1000
279
685
138
654
71
5
150
853
890
51
568
254
837
584
539
44
876
62
843
619
602
383
44
561
585
96
865
929
13
843
735
454
403
167
425
697
411
648
423
615
138
525
3
262
890
562
968
548
24
983
673
64
407
661
273
17
989
644
75
185
187
287
527
669
86
954
636
896
958
251
536
1000
224
265
538
198
784
105
229
276
601
327
90
589
505
521
663
280
480
377
514
563
75
85
117
983
205
776
302
552
290
53
98
518
596
334
644
331
697
869
348
59
123
787
599
90
697
502
184
479
500
68
994
699
110
897
747
885
600
321
234
864
715
90
999
411
828
820
505
200
554
790
543
867
344
234
52
432
998
487
609
119
795
889
507
225
857
365
775
306
437
982
465
379
53
597
260
256
791
901
769
376
615
802
881
727
246
84
213
520
33
728
984
314
222
98
610
154
226
453
957
162
821
857
444
694
648
662
135
824
86
150
556
473
302
797
194
894
276
924
576
629
685
124
354
267
793
976
50
516
926
37
989
152
664
989
477
402
644
130
454
185
716
98
711
412
287
845
235
270
838
383
432
973
987
751
735
4
984
5
645
251
173
748
287
797
797
873
419
300
500
753
225
63
14
42
309
932
824
660
96
71
30
254
186
538
269
640
340
350
281
312
419
341
652
61
29
739
334
195
620
828
767
596
482
445
823
105
414
357
327
314
860
747
635
866
928
151
556
806
49
169
987
344
973
200
720
636
436
278
285
831
111
780
104
691
384
439
916
546
76
602
212
204
520
151
358
706
245
807
209
522
137
836
268
811
123
314
868
910
311
174
425
96
53
249
548
939
563
373
680
319
594
443
972
265
137
959
320
292
291
244
824
854
242
975
462
862
774
124
427
937
826
687
401
242
423
824
39
263
723
162
39
881
15
23
515
442
251
337
791
293
104
770
374
435
596
440
623
529
56
169
526
478
555
868
106
200
962
50
185
12
488
904
630
254
892
621
743
400
543
860
182
904
177
337
610
493
491
541
328
402
696
469
300
343
762
109
282
582
366
117
288
615
503
744
231
335
288
659
390
490
744
684
288
465
267
865
700
131
9
532
727
573
656
164
350
982
937
934
394
925
725
817
610
482
778
978
441
453
30
969
99
971
800
960
771
335
472
817
130
857
990
341
845
812
6
404
447
325
584
40
737
191
218
745
894
159
290
408
598
181
216
301
761
468
280
507
902
13
539
29
846
357
262
546
133
7
58
485
495
872
251
596
807
510
59
742
139
734
834
951
967
392
968
93
93
692
36
731
551
513
441
777
651
530
109
614
271
847
747
235
736
38
825
786
908
181
680
605
614
483
116
491
158
573
438
475
474
405
120
790
427
980
187
112
852
760
995
378
220
756
256
655
206
737
61
599
23
919
184
28
135
782
104
994
805
383
62
540
28
638
938
17
562
569
892
425
150
448
544
770
522
79
899
805
447
229
370
878
923
347
28
809
579
252
628
853
496
461
65
849
955
151
666
586
59
563
95
281
793
791
755
802
853
515
251
941
466
208
857
610
536
749
974
296
660
170
227
504
947
487
217
199
117
156
910
434
72
745
324
488
966
806
481
795
824
802
528
903
935
142
607
472
555
64
274
89
946
117
250
280
427
492
836
635
865
278
614
428
52
21
919
425
437
614
152
867
33
653
215
756
660
868
216
626
309
135
118
991
132
883
200
512
438
416
45
711
132
772
228
784
233
294
91
618
457
964
746
658
369
938
948
672
279
426
586
759
873
203
321
207
558
621
338
894
642
918
275
3
757
990
112
736
374
582
247
562
900
13
17
313
559
122
643
71
228
156
953
382
434
656
270
792
981
250
528
82
35
438
22
873
70
94
200
455
743
394
552
801
661
353
965
716
974
945
875
9
943
37
177
370
906
29
116
357
597
106
336
557
375
503
849
480
729
24
913
219
362
348
750
247
302
294
560
968
680
361
510
816
322
276
279
756
789
244
212
12
307
850
381
725
860
287
642
43
798
717
316
830
494
47
231
761
946
385
717
121
738
719
583
979
431
150
224
779
292
114
812
573
243
617
930
278
52
426
119
357
85
564
534
284
380
200
344
975
424
197
521
160
756
201
428
288
462
98
959
174
690
86
6
8
534
422
751
799
57
68
577
551
719
135
410
692
234
991
971
368
671
351
695
229
693
504
60
217
943
60
699
716
940
240
919
137
330
811
208
619
949
191
903
103
990
140
414
443
475
707
340
590
367
796
330
121
909
776
802
562
192
69
465
18
549
534
150
586
69
767
610
921
448
160
827
101
424
645
812
631
221
604
94
41
839
337
856
1
466
799
166
332
30
92
865
568
682
303
464
983
999
861
813
101
849
533
427
759
123
538
66
717
30
33
606
690
202
412
265
395
682
426
985
887
736
120
136
30
532
7
737
409
953
657
64
370
192
127
884
177
346
248
507
451
882
809
552
157
755
123
585
414
931
261
788
320
254
507
426
786
931
224
145
102
360
364
103
611
697
322
485
354
338
705
236
42
425
837
720
33
630
513
603
242
696
600
436
102
655
566
331
724
215
902
609
402
524
739
509
491
436
622
882
453
420
563
291
576
463
982
87
457
683
93
842
863
869
612
996
965
841
404
685
292
338
853
488
953
141
245
302
808
260
468
592
309
317
657
57
681
692
188
127
943
641
623
779
46
305
771
876
39
504
19
588
784
236
500
516
156
69
445
788
106
977
293
756
196
741
729
926
453
693
857
386
453
498
139
326
572
621
546
200
245
337
633
701
887
445
874
3
866
350
666
661
528
778
834
142
839
226
383
209
621
169
464
294
720
163
231
545
720
252
333
443
926
486
290
776
476
958
865
268
340
481
893
349
919
914
690
399
675
212
311
296
964
435
435
237
830
350
570
628
995
747
638
305
741
265
694
445
654
347
714
340
446
931
930
613
191
623
134
564
365
375
752
71
986
157
263
869
41
726
690
120
113
326
514
849
798
110
298
257
52
120
761
894
101
916
798
397
921
306
170
816
562
210
210
566
828
343
885
686
859
310
14
388
228
679
245
870
44
785
649
958
367
342
446
447
984
416
390
927
210
955
845
479
917
869
420
880
443
579
304
837
367
113
133
352
417
18
278
536
901
846
975
37
159
494
551
799
475
448
375
56
794
829
806
281
346
236
563
335
8
521
457
194
796
36
331
451
410
380
414
261
156
343
26
503
894
592
699
725
862
584
350
867
392
379
110
854
540
268
735
888
603
633
341
671
353
18
369
871
571
177
234
835
97
783
170
927
240
545
103
918
789
726
247
519
322
429
288
494
732
572
656
794
118
176
383
789
295
425
510
21
131
999
791
809
902
333
726
724
607
776
560
182
957
121
979
347
350
599
648
162
703
242
644
514
433
449
62
496
253
702
797
248
669
666
541
117
274
284
561
694
945
82
701
873
72
633
351
209
797
983
838
739
51
940
825
881
829
276
784
229
809
266
584
821
842
528
525
965
333
752
927
804
786
750
486
593
48
266
208
87
902
76
655
533
700
229
600
505
661
746
999
239
321
650
310
148
367
20
812
953
749
642
555
223
537
919
949
131
456
935
844
934
421
951
106
33
666
157
364
440
276
205
578
153
999
902
531
249
254
459
174
459
133
853
992
615
26
197
202
655
224
480
646
772
486
684
714
915
65
88
467
90
180
490
433
791
226
227
198
486
287
100
27
268
674
737
198
668
294
525
675
158
588
944
8
42
714
35
83
293
378
788
434
374
461
422
387
238
139
885
183
531
752
436
611
453
26
806
377
883
642
291
616
143
290
91
478
202
559
368
701
229
967
756
427
135
454
544
300
156
451
334
60
590
423
751
430
502
446
692
80
611
920
690
839
575
32
174
161
577
923
835
6
483
832
808
965
802
664
113
439
357
525
628
130
879
793
918
932
700
181
353
534
338
77
346
720
65
171
958
376
456
7
796
690
523
627
908
886
302
930
333
99
614
703
63
705
347
553
456
445
758
108
530
242
219
949
171
442
318
675
991
556
439
424
502
263
775
923
254
564
218
847
850
478
735
877
67
628
649
322
828
361
696
620
460
818
870
308
479
496
821
320
124
403
41
551
18
860
132
718
608
378
204
436
491
797
874
317
354
61
368
635
995
573
968
761
828
81
398
152
353
427
789
138
278
292
536
134
400
301
705
202
882
422
643
59
249
671
103
747
313
504
494
168
215
156
844
620
980
395
690
252
260
827
355
123
471
922
55
150
123
400
830
770
968
476
561
593
527
735
229
665
655
82
140
224
100
305
41
964
376
258
950
942
909
588
15
176
83
221
941
910
756
529
325
284
825
219
785
844
622
510
859
926
310
64
522
459
909
517
601
127
303
147
482
169
373
397
318
308
379
499
338
413
893
419
991
583
806
696
357
220
472
533
717
561
572
651
181
870
110
26
23
146
831
603
730
782
447
479
807
89
281
851
50
960
322
227
368
252
247
32
193
646
636
722
217
853
492
996
454
22
174
489
640
153
18
577
561
76
269
601
216
348
383
810
631
1
460
845
740
627
297
401
995
738
541
1
272
664
528
490
201
531
630
919
253
9
375
20
802
589
175
314
909
125
228
253
739
248
26
455
393
65
1
238
412
218
967
173
369
12
437
281
777
794
367
872
6
191
565
720
28
145
824
452
574
869
824
550
731
32
966
341
114
450
635
709
454
582
789
40
883
891
422
63
255
972
185
877
520
934
369
397
596
144
553
879
162
890
417
971
515
903
633
951
952
963
285
424
145
23
961
776
642
350
526
95
901
223
596
125
270
615
891
42
930
113
996
484
86
57
510
336
647
492
211
202
216
87
685
403
445
598
763
550
750
817
280
484
897
179
877
401
217
390
13
508
60
494
949
434
655
751
135
922
680
618
397
45
737
874
296
291
402
646
284
397
649
675
597
715
317
680
371
272
686
87
110
352
409
690
480
662
775
62
372
613
759
639
318
268
370
460
641
829
569
459
164
338
440
85
916
425
344
757
40
515
499
337
999
923
824
360
297
622
884
242
120
307
478
65
720
562
746
822
889
561
661
198
582
758
449
64
602
432
752
861
266
810
350
967
156
706
867
961
362
283
149
404
118
564
971
408
384
825
280
793
685
809
470
65
498
22
44
809
585
17
623
344
900
666
439
635
168
911
348
545
752
375
907
473
215
516
262
295
809
728
428
327
234
883
22
719
139
350
702
272
263
448
325
194
571
613
351
717
442
315
115
797
779
888
356
384
890
13
867
818
138
517
185
9
636
547
994
950
738
939
330
985
640
762
732
13
228
633
185
447
166
349
85
337
348
819
499
534
25
34
640
146
330
79
848
819
468
739
366
590
527
333
827
136
729
789
703
250
950
842
933
304
513
447
534
256
576
166
339
484
922
333
872
379
595
246
15
144
614
531
343
691
973
48
905
893
191
435
799
679
994
431
112
650
101
627
632
917
652
180
314
904
576
347
638
653
63
362
842
40
354
350
508
936
269
443
155
980
233
207
261
139
98
846
645
614
703
339
228
994
957
859
996
778
194
348
401
499
716
83
548
748
692
442
236
313
71
841
365
503
756
993
232
506
31
222
985
236
201
552
889
767
422
694
32
852
967
848
855
447
563
446
168
452
940
585
354
31
491
902
88
25
745
90
231
928
396
72
503
849
796
98
182
668
146
670
334
335
90
248
24
886
64
172
563
294
552
60
56
692
332
245
457
887
921
480
878
310
682
216
111
722
465
260
216
73
260
508
523
848
30
745
615
167
811
228
669
639
208
863
59
708
580
321
255
791
632
364
865
39
566
970
144
942
673
612
420
345
41
166
624
627
51
485
613
960
455
637
3
583
143
172
17
968
143
533
231
618
999
934
181
970
464
578
494
555
324
115
587
132
274
588
2
970
981
965
130
864
877
536
423
720
737
62
182
762
839
609
668
508
311
404
587
657
332
900
982
956
977
452
156
905
871
692
560
937
236
687
505
257
620
487
125
151
339
473
314
944
637
224
198
181
676
291
337
833
719
340
996
519
297
623
748
759
730
627
180
304
85
62
651
408
566
38
905
750
357
424
842
357
145
873
875
516
909
937
153
141
70
37
364
494
767
782
955
451
853
266
414
759
175
561
655
831
859
526
659
675
589
480
278
497
350
994
486
375
681
294
449
118
273
298
488
138
644
331
372
695
708
952
427
357
302
121
626
894
85
146
140
129
805
464
874
435
605
334
122
678
915
948
804
423
468
280
725
106
169
260
887
710
845
496
191
213
427
799
794
669
698
254
963
378
580
429
537
984
872
581
995
727
430
400
685
323
92
926
12
87
24
737
216
10
760
425
925
459
952
669
858
47
694
927
859
7
380
871
988
118
209
225
505
782
838
590
422
419
184
152
750
692
40
951
686
447
8
478
788
443
235
984
584
88
542
776
180
439
890
191
171
643
509
690
557
888
690
681
433
633
937
279
931
594
154
198
276
510
568
355
823
174
365
575
657
631
360
2
656
691
601
418
920
116
491
700
129
948
867
84
691
434
498
716
522
913
618
228
901
863
457
709
148
28
181
501
776
149
338
709
396
394
643
170
865
9
936
903
88
48
231
736
457
325
20
899
90
852
460
832
947
144
594
400
397
698
542
959
2
853
419
460
146
49
864
870
594
134
182
742
261
35
519
631
246
568
968
471
685
590
184
682
59
7
918
987
415
389
846
435
362
56
224
87
793
546
168
215
68
309
856
579
747
337
487
596
56
173
664
722
969
417
737
426
174
413
744
478
201
273
806
102
691
770
228
756
118
921
96
886
275
278
869
66
490
46
305
317
836
123
92
266
596
119
712
24
813
179
387
323
97
190
464
483
737
570
188
268
806
371
656
521
149
879
652
767
91
234
206
625
217
858
953
984
843
621
806
344
612
769
18
667
231
592
465
346
503
695
822
626
694
518
412
926
725
461
647
29
879
536
377
16
477
8
960
201
485
870
529
996
109
338
785
842
212
751
577
861
851
409
728
839
281
922
811
542
554
560
46
106
230
971
110
435
772
370
394
128
933
976
165
430
780
29
170
117
71
202
461
3
349
603
572
985
482
838
772
161
361
809
779
531
127
18
191
301
607
146
907
538
607
597
973
272
330
510
612
694
453
448
693
205
368
656
503
522
631
237
513
890
960
114
756
738
986
941
552
786
557
417
571
709
569
580
651
918
220
775
363
954
59
911
32
261
433
539
839
842
737
63
637
373
410
67
352
929
719
366
161
345
245
880
179
602
402
845
43
371
462
187
607
956
340
125
943
482
819
169
989
85
990
747
467
248
432
622
151
206
50
104
171
492
563
829
800
301
340
524
95
335
650
767
824
183
438
196
365
94
404
21
632
196
514
970
625
869
65
6
932
935
85
227
314
832
147
382
579
692
649
351
63
555
247
743
401
541
378
495
735
896
762
980
141
240
371
676
868
269
581
896
908
370
132
393
547
333
98
967
788
403
253
296
974
408
123
342
502
603
512
611
254
160
517
449
263
952
822
335
168
379
643
829
218
527
760
422
947
862
960
53
129
984
622
456
331
742
337
834
176
105
211
551
412
790
936
707
44
557
824
456
48
489
718
881
666
304
125
120
858
955
939
128
285
346
890
191
73
971
180
825
725
701
806
188
755
716
784
512
5
821
788
345
165
969
739
578
705
855
532
355
285
855
380
935
724
440
248
511
781
411
454
804
318
950
781
966
908
557
417
960
570
366
586
125
139
231
14
67
684
209
256
382
539
780
489
950
747
198
563
715
138
874
11
934
854
570
217
846
843
517
134
591
745
228
804
994
643
945
385
537
332
145
606
419
135
459
308
116
791
712
264
278
636
505
542
95
78
932
482
508
402
544
776
744
38
664
245
739
727
508
648
887
500
314
245
469
934
908
936
821
984
671
469
989
533
881
607
184
941
809
174
799
67
728
569
166
643
218
690
498
411
756
204
644
146
608
756
400
543
457
7
133
942
47
368
341
64
341
928
652
221
369
317
437
979
959
232
867
864
23
893
776
508
933
974
131
581
786
460
267
955
30
407
280
824
27
850
162
896
585
918
300
382
428
796
959
209
826
318
226
789
365
846
700
715
905
564
891
951
344
482
888
450
673
255
382
632
198
383
510
838
512
474
325
691
943
56
919
281
776
815
347
223
492
279
541
943
626
670
348
984
637
72
668
737
329
123
432
763
984
146
809
796
310
9
614
580
760
41
344
938
510
994
669
857
673
413
471
898
854
742
734
971
251
168
677
350
874
508
525
814
327
406
232
987
799
738
283
261
610
389
428
166
643
512
818
701
508
970
576
917
116
895
253
12
625
215
974
295
388
558
345
626
624
152
343
389
19
217
478
592
361
871
485
465
604
753
715
760
488
424
122
50
927
72
501
501
926
235
179
944
685
46
891
596
910
969
987
456
73
125
413
190
507
85
151
366
788
433
934
956
801
507
63
393
251
449
135
868
167
139
303
180
94
593
462
221
296
175
421
72
217
305
668
795
921
400
831
204
964
446
307
311
398
963
807
672
222
105
792
566
579
301
820
796
486
141
887
900
648
194
706
761
201
46
730
883
852
147
400
138
923
963
779
369
298
556
230
71
103
925
260
312
238
368
996
135
550
675
5
993
525
190
345
143
861
622
790
534
168
59
155
422
385
779
519
875
147
321
932
325
511
766
891
576
931
334
458
991
324
203
402
113
366
947
169
645
956
75
784
542
858
968
12
926
153
916
270
702
31
71
759
41
873
867
279
320
284
853
25
752
973
970
384
685
919
996
476
456
264
255
687
783
775
744
960
902
509
466
963
28
533
152
557
292
151
509
170
985
127
810
779
793
817
942
215
745
928
997
416
736
919
103
62
827
635
488
759
12
880
695
566
758
44
447
192
441
800
927
637
734
124
134
395
126
608
522
597
992
70
371
633
75
3
188
845
802
264
976
888
593
728
388
195
210
321
630
807
230
989
472
495
941
639
869
710
294
62
525
400
89
136
173
149
200
388
495
399
509
96
350
752
178
712
448
470
32
298
675
338
112
64
21
974
926
859
491
554
516
631
406
645
217
467
231
504
933
824
458
799
787
917
60
123
270
89
747
120
386
144
604
275
831
266
636
633
950
171
473
822
80
538
727
732
873
640
517
143
400
282
249
382
127
865
56
849
357
367
223
841
370
576
500
676
257
696
482
534
449
776
103
799
995
53
887
929
927
398
785
52
488
547
311
539
534
676
234
799
189
207
226
401
697
413
755
429
470
528
979
657
527
568
556
736
879
17
92
94
917
841
443
648
552
52
148
757
645
182
124
62
292
580
122
996
623
392
578
765
93
480
222
572
694
253
203
678
111
629
578
665
609
857
689
917
376
976
357
916
90
57
833
404
744
165
138
860
121
222
751
20
872
525
634
355
855
722
188
533
222
466
88
883
791
804
890
799
378
581
918
833
109
812
242
961
192
8
462
118
308
898
631
649
512
862
884
759
548
671
236
403
542
766
591
283
329
451
207
828
72
802
728
52
412
47
441
192
123
422
591
892
125
255
407
486
760
127
44
633
437
477
727
156
97
955
262
417
468
156
482
18
769
92
386
891
300
945
429
80
387
140
929
661
259
784
603
260
735
859
1000
589
48
314
12
251
751
425
697
839
384
305
363
4
543
510
233
738
22
19
48
581
963
720
638
863
324
689
836
357
514
219
117
924
760
534
977
816
606
563
397
337
985
996
684
425
434
59
633
590
394
110
184
326
985
198
733
757
285
193
817
831
965
956
146
784
40
280
866
972
645
29
481
416
963
972
98
566
907
285
515
851
663
633
205
567
8
990
436
523
137
104
609
668
828
618
387
591
941
362
342
405
624
285
669
22
96
804
955
241
560
108
154
372
617
75
651
382
530
46
767
623
829
619
130
297
50
23
99
702
833
381
811
195
226
371
498
534
798
332
429
936
84
920
209
750
956
743
183
123
764
257
401
407
443
388
910
356
366
971
164
336
394
99
985
891
449
936
802
987
926
342
905
194
467
923
10
868
899
758
768
116
655
100
760
967
619
820
92
701
134
214
994
740
854
59
698
835
254
516
431
556
825
506
602
251
458
721
92
690
56
305
128
613
156
549
366
246
236
645
692
673
416
666
696
607
479
461
980
736
463
61
227
291
634
564
456
927
267
158
986
306
534
128
426
988
742
225
436
393
330
720
99
605
314
876
480
747
310
282
367
499
900
714
246
92
837
758
250
763
531
412
249
223
308
281
215
191
184
800
735
369
282
95
834
590
551
738
321
2
159
648
475
295
788
838
233
947
63
520
992
405
517
335
751
915
832
118
626
450
572
650
670
807
236
316
552
490
301
457
872
420
838
457
809
891
399
298
347
408
142
402
548
248
580
43
218
609
905
547
810
214
580
758
641
113
778
989
297
202
278
770
625
673
658
249
841
222
941
985
129
325
400
263
519
318
874
758
9
334
781
524
633
360
991
870
640
827
866
586
10
168
67
408
317
722
163
333
318
219
712
597
734
829
218
707
372
414
310
897
157
216
540
800
619
640
463
893
101
226
3
508
280
138
704
809
598
740
120
151
835
882
490
667
396
559
829
758
819
491
758
414
655
16
697
918
137
384
555
553
992
183
665
392
351
184
511
91
939
278
757
909
650
604
180
840
159
148
372
806
450
303
514
393
992
932
68
460
849
444
994
298
172
274
978
674
376
962
181
261
792
688
257
442
750
751
710
402
845
952
191
783
608
286
1
883
937
636
884
547
401
403
197
448
986
131
645
392
923
225
109
687
3
788
492
340
175
481
178
60
282
32
392
602
525
700
729
995
579
571
156
582
364
17
38
601
111
51
122
253
729
584
973
807
473
781
15
319
576
825
243
967
775
385
637
839
693
12
505
240
607
494
290
248
427
920
874
287
660
852
45
939
704
524
572
101
69
429
297
842
40
8
774
4
828
426
206
671
505
539
890
118
855
273
946
757
840
573
811
868
526
979
907
665
188
664
904
303
783
464
222
994
153
27
748
305
124
721
287
55
125
331
904
965
79
926
161
345
105
464
229
695
983
861
984
992
456
270
503
868
146
264
817
600
319
475
387
37
742
964
538
171
625
310
988
35
1000
918
705
22
920
559
547
509
535
518
514
885
469
18
19
689
889
769
249
600
329
613
562
428
633
212
882
96
358
660
210
848
586
706
701
564
371
1000
247
96
12
416
121
22
884
8
54
59
853
648
63
671
174
703
436
48
344
368
564
747
597
463
725
778
589
528
486
765
373
59
145
188
921
573
491
354
304
24
239
893
148
723
667
98
116
576
356
330
993
907
447
64
405
584
479
894
333
454
726
932
366
333
909
618
46
920
305
915
788
51
577
188
569
633
76
896
6
459
4
357
490
861
569
441
772
814
172
52
749
674
780
631
251
199
830
724
291
899
409
882
601
32
17
741
255
756
898
183
847
53
789
885
11
52
941
413
992
256
461
233
659
45
318
686
588
512
847
999
786
329
241
884
224
885
289
117
597
375
577
801
617
856
492
623
724
570
601
591
292
957
423
136
316
882
177
427
39
555
809
1000
229
505
514
558
602
764
992
861
404
100
878
188
331
736
164
760
758
506
915
845
717
806
259
20
187
8
485
182
53
241
5
495
490
559
137
368
657
573
920
966
311
538
627
503
362
761
271
746
434
933
129
743
251
662
254
791
992
41
18
31
819
559
926
871
455
64
392
652
35
726
650
588
443
206
706
995
7
270
88
317
730
138
170
227
205
749
985
348
986
941
817
798
447
282
291
784
127
891
364
944
118
163
374
13
323
706
282
623
307
202
345
777
11
104
699
556
844
287
778
166
499
805
53
298
421
906
317
65
976
317
616
524
272
610
979
871
33
140
306
935
108
666
124
523
2
240
412
486
265
388
415
148
721
910
139
839
284
862
237
873
536
379
115
233
360
93
383
605
628
782
248
184
385
773
3
824
6
363
592
708
530
183
97
705
738
6
98
963
583
957
72
97
252
481
408
529
488
702
120
182
796
996
84
702
807
705
450
852
386
929
909
526
45
221
647
102
817
861
172
448
62
80
652
7
581
253
54
800
17
601
166
64
769
401
539
523
553
43
474
955
282
516
476
801
187
98
968
50
943
54
691
551
104
150
884
166
341
654
293
923
813
291
30
419
483
298
576
252
382
342
515
193
587
554
146
126
189
349
755
543
606
20
184
507
421
313
278
572
308
330
980
70
755
126
82
590
990
331
133
192
947
957
590
108
172
308
66
269
265
586
450
952
837
345
746
279
1000
401
710
69
64
220
756
771
490
70
136
812
120
411
114
712
366
117
692
759
357
105
480
851
993
882
449
365
493
306
650
548
295
621
449
999
99
414
479
225
434
716
287
173
390
882
628
871
37
249
433
996
637
823
778
285
944
413
563
175
792
670
212
968
666
515
424
104
156
258
898
853
32
545
989
833
169
942
477
288
708
556
939
989
654
616
801
956
561
342
726
927
103
733
907
656
74
154
746
679
832
709
581
116
259
438
393
492
84
311
897
268
789
841
998
10
421
898
388
663
292
960
948
402
979
618
729
945
24
590
478
976
425
945
91
567
378
442
924
99
685
150
547
169
926
582
453
457
796
573
183
294
964
73
530
962
445
816
811
376
755
559
653
858
34
220
416
168
941
779
120
826
355
230
747
29
814
257
849
133
207
519
684
769
419
636
518
140
532
982
283
950
685
424
551
703
906
968
639
840
48
112
712
277
470
351
969
434
265
918
326
776
621
318
545
219
391
646
410
481
64
980
391
620
101
385
214
554
38
163
872
284
848
55
956
960
812
10
573
643
528
21
770
837
773
237
127
425
635
275
117
630
696
171
861
43
104
919
215
525
21
923
427
31
300
937
220
996
230
323
802
958
852
495
201
507
637
460
303
497
309
264
169
678
197
964
510
573
798
490
686
454
142
368
248
755
168
815
812
90
548
189
16
347
308
71
426
997
150
569
505
816
603
552
176
750
989
606
112
510
735
491
581
807
731
725
583
837
287
737
66
746
732
713
181
318
853
856
929
64
186
276
28
209
619
170
529
842
932
228
514
597
607
449
201
827
760
687
914
164
58
252
675
730
294
876
615
37
649
159
20
792
777
404
586
395
501
380
368
921
358
137
998
768
188
474
962
946
694
16
132
201
212
177
274
790
959
447
969
702
630
566
227
618
591
120
104
658
812
54
781
256
361
360
896
143
526
957
418
427
584
401
965
292
807
604
271
617
573
161
470
167
319
263
944
614
655
413
781
790
171
323
267
17
331
441
453
275
386
524
528
279
422
566
652
221
486
171
933
67
266
130
412
810
895
614
328
9
323
829
381
273
124
456
443
109
740
482
945
650
943
234
180
400
735
625
876
24
985
564
715
620
862
518
893
660
513
987
441
973
508
450
795
712
282
2
2
267
179
435
40
430
721
31
959
987
436
686
932
47
882
290
849
100
540
456
803
765
868
824
647
644
148
128
834
522
694
175
918
397
642
653
410
456
791
439
170
188
923
713
161
257
607
683
170
642
745
213
66
816
15
972
257
404
935
963
286
859
482
495
911
163
66
676
603
487
208
520
107
4
424
628
625
798
693
169
206
902
350
614
128
17
434
255
427
411
287
39
216
809
718
674
148
834
114
280
150
704
707
68
571
441
601
669
30
806
283
778
504
530
68
709
698
211
349
301
299
374
570
399
519
821
555
751
205
368
212
771
931
454
644
61
646
919
395
995
907
462
886
909
219
881
109
692
732
250
296
615
403
582
574
284
719
388
607
486
272
757
835
524
791
246
188
363
715
918
125
546
40
308
378
340
943
981
97
71
678
613
939
905
294
185
235
608
24
989
579
991
615
618
43
782
404
3
764
672
734
887
837
146
135
802
262
491
791
746
227
87
965
286
137
659
454
718
610
694
626
266
146
623
279
31
269
700
386
552
746
721
747
394
904
860
757
130
167
937
732
445
676
378
738
878
262
968
437
884
98
251
252
463
81
116
53
632
351
634
659
376
396
728
663
532
872
602
497
266
609
172
171
416
268
907
850
996
768
602
262
578
917
612
969
109
642
977
670
955
825
692
67
612
63
96
274
569
561
990
409
278
991
622
787
35
379
123
101
866
5
335
59
168
827
207
231
952
192
114
271
18
451
520
240
292
618
364
524
854
413
453
675
891
860
902
608
925
106
383
728
203
292
522
966
22
101
303
186
147
89
732
109
169
10
352
706
847
151
407
29
971
89
588
543
295
412
338
353
430
669
621
143
338
225
920
272
289
751
978
222
685
806
465
510
176
333
304
257
850
913
886
852
137
320
765
497
208
247
722
8
326
82
267
922
587
256
766
817
922
1
358
775
84
319
767
79
563
589
912
564
15
506
946
519
863
5
984
683
178
373
327
661
786
55
417
46
871
500
105
633
961
11
95
376
318
733
548
162
208
822
934
41
440
328
172
293
852
557
983
593
151
461
173
589
600
161
248
390
594
809
359
840
61
850
100
953
3
162
62
546
178
736
386
956
111
264
782
689
152
507
591
983
274
351
534
584
637
245
690
459
758
88
156
796
268
719
525
387
835
860
46
424
824
732
842
800
643
628
82
252
565
346
340
56
961
805
705
541
562
85
348
381
341
858
406
485
48
428
993
310
270
598
106
603
116
195
977
900
281
357
166
572
293
632
315
885
195
514
12
289
803
305
663
146
916
82
622
170
567
115
79
155
461
300
355
957
243
26
356
279
145
451
864
556
846
328
265
93
94
351
78
677
765
533
337
94
523
223
501
284
218
223
44
465
442
917
302
138
444
433
485
777
726
670
942
950
193
410
957
776
718
877
332
902
297
815
2
652
793
568
745
576
398
721
813
436
562
557
988
536
107
966
100
410
636
470
557
106
168
711
784
683
126
97
773
96
408
275
136
329
318
793
136
509
539
581
211
726
172
871
374
483
103
801
712
987
603
199
950
6
122
22
621
642
693
461
986
156
232
25
231
951
274
780
863
901
385
498
441
501
556
675
980
713
383
276
404
972
720
541
401
531
823
437
930
235
661
123
397
831
244
329
219
151
294
686
99
826
521
866
814
741
119
836
772
72
812
682
870
603
940
204
430
983
616
956
120
727
953
444
794
51
726
10
133
108
588
258
821
756
149
2
734
790
817
398
298
470
267
293
711
249
823
867
242
853
819
329
150
241
233
747
85
512
483
116
29
538
317
401
889
956
120
617
931
159
848
964
79
98
974
655
982
30
535
367
434
842
383
160
385
188
213
323
313
509
808
828
155
931
212
999
371
131
209
543
935
574
580
325
245
876
97
125
982
681
94
148
938
134
792
251
706
937
217
682
914
19
699
620
373
42
452
976
118
323
645
702
815
282
742
340
420
169
583
650
297
662
866
947
227
913
214
204
865
750
984
64
238
33
324
674
820
630
779
620
586
53
890
336
156
602
852
67
865
741
252
810
99
525
315
742
763
136
910
266
90
952
734
190
302
140
738
539
836
446
875
145
916
719
664
476
293
725
906
139
862
965
133
99
687
532
996
939
697
554
882
431
941
364
473
266
812
360
845
41
127
473
983
511
257
240
228
664
791
767
312
401
353
277
62
467
279
510
807
819
819
980
780
788
421
972
555
241
419
225
621
445
186
417
777
492
342
954
910
934
176
70
73
782
826
891
519
99
59
976
480
227
759
810
54
117
325
863
492
309
234
117
572
869
962
442
487
991
309
760
881
27
919
756
223
431
456
750
717
457
471
491
335
517
437
797
355
742
856
392
11
668
591
845
455
940
779
163
270
609
784
517
188
872
663
523
510
92
491
738
946
563
761
284
270
742
762
65
193
626
472
617
366
518
60
481
242
708
502
886
829
464
200
685
28
304
711
706
332
739
886
137
165
536
771
109
15
99
584
387
837
720
998
972
896
322
707
444
335
808
962
93
292
254
372
226
281
41
749
570
924
450
199
336
837
379
985
361
623
619
894
699
469
563
982
192
835
311
611
831
35
870
620
184
327
578
329
747
282
906
836
866
785
544
720
785
27
14
822
443
221
110
272
876
587
133
298
494
373
233
624
2
253
179
487
468
518
502
379
892
855
301
630
632
370
953
865
210
736
568
177
377
5
350
591
747
661
937
8
2
964
364
383
408
480
588
294
396
985
376
444
996
590
933
870
246
23
859
809
64
498
908
221
670
489
531
962
371
31
372
464
421
884
760
576
683
1000
678
911
59
259
905
628
970
368
782
109
725
157
568
378
240
216
433
440
428
999
945
940
553
65
312
664
969
47
761
450
969
360
170
14
919
400
460
48
455
145
331
696
279
696
644
184
25
255
102
930
719
425
936
971
616
562
963
864
548
54
749
577
500
80
586
5
806
374
650
902
215
974
36
5
113
753
288
13
311
783
726
943
191
213
84
90
425
402
962
429
177
514
152
868
441
622
157
182
148
670
139
803
779
289
49
918
475
567
966
463
54
362
500
677
929
613
652
877
650
452
723
939
663
595
694
831
964
608
991
157
470
176
711
346
341
429
194
556
963
690
291
832
977
788
794
325
579
179
275
652
294
719
35
552
532
838
909
87
584
279
478
526
126
298
590
938
905
419
191
261
75
417
153
255
532
180
184
364
704
515
908
927
460
754
915
602
201
216
888
133
743
220
953
784
293
334
7
874
678
999
126
826
7
474
96
93
109
325
741
103
402
270
11
109
371
302
700
462
411
441
286
353
641
318
606
501
206
97
14
657
716
897
178
979
711
952
950
570
489
267
568
474
169
385
998
444
641
210
405
647
899
527
579
280
319
981
649
734
652
785
558
578
822
364
592
112
192
489
714
658
558
146
584
77
14
595
925
222
797
577
311
172
326
598
567
114
996
606
717
699
703
101
792
540
690
950
902
264
62
709
678
221
260
291
560
475
826
171
435
228
49
158
820
157
454
947
130
477
644
289
539
692
714
633
644
131
300
529
402
351
340
903
811
395
808
560
407
737
980
916
947
437
309
18
555
685
575
347
231
431
831
797
842
252
554
466
638
954
563
581
878
649
506
964
386
233
141
930
711
231
212
420
104
970
461
436
703
907
182
608
173
739
795
779
517
587
98
63
956
196
219
722
570
524
802
574
861
587
632
342
519
670
725
546
459
289
886
55
618
401
902
391
103
377
783
237
27
239
969
379
760
458
979
476
407
416
782
635
10
249
47
784
376
403
555
188
423
652
227
290
668
774
668
263
767
301
631
235
70
2
524
242
757
829
926
309
472
65
116
958
302
338
751
641
609
962
190
258
453
809
413
978
333
523
149
9
513
452
599
871
488
94
93
966
16
209
152
905
729
999
641
193
531
935
168
277
867
856
428
943
498
956
929
281
556
138
426
191
550
24
450
491
430
574
473
228
36
888
663
695
1000
263
662
15
694
977
487
883
904
612
495
193
687
932
334
842
340
463
918
958
448
978
790
152
764
11
659
192
64
368
517
633
180
397
507
561
126
387
623
564
614
71
408
475
276
670
36
188
596
295
557
104
899
801
644
340
736
403
843
875
663
438
224
230
721
673
321
112
874
468
421
681
322
931
589
764
839
900
308
379
243
249
220
382
715
519
293
939
881
349
645
775
527
505
390
826
346
573
129
29
329
537
117
440
316
542
730
797
707
95
561
917
556
857
400
55
88
961
356
441
186
461
607
739
550
159
612
121
31
520
127
935
110
814
47
737
634
950
907
563
666
672
865
896
764
931
138
717
91
273
123
414
500
40
930
87
144
9
623
953
222
864
241
153
186
561
601
243
101
191
944
56
895
447
718
407
901
163
194
341
437
678
136
220
194
993
465
984
802
749
690
329
313
107
925
389
262
465
434
751
613
831
28
267
160
328
67
189
900
986
479
597
482
490
28
979
77
998
950
62
924
491
259
698
367
388
215
665
408
281
922
761
679
767
573
437
257
270
577
536
948
681
729
409
478
377
597
784
549
927
503
291
876
333
847
484
92
215
29
508
937
719
874
327
197
266
333
546
702
475
155
445
80
727
433
763
80
872
149
169
21
516
356
102
310
191
191
862
62
447
719
379
534
578
485
141
501
259
767
69
677
838
718
26
27
417
7
768
101
139
72
822
568
280
849
760
735
869
644
786
192
520
876
363
641
136
547
879
640
888
654
966
220
654
215
148
319
706
225
964
517
981
676
553
846
685
667
984
329
385
816
270
462
936
375
97
81
790
905
790
916
297
958
933
667
561
894
350
631
323
894
886
719
107
270
511
251
563
329
821
9
550
477
914
890
989
683
961
941
939
168
536
671
677
940
897
346
746
827
988
379
123
779
869
23
642
500
645
331
788
930
765
748
790
693
681
757
748
409
511
702
126
666
286
322
560
523
766
518
392
679
641
576
697
781
107
420
893
931
426
444
187
125
134
145
220
230
929
78
291
105
161
617
421
653
52
649
363
906
421
570
379
726
765
921
229
364
967
582
358
875
807
673
714
373
688
237
971
195
687
326
182
316
119
344
65
775
283
329
182
430
969
457
235
130
594
156
597
234
547
121
987
484
444
987
869
426
503
569
768
933
185
411
205
887
572
821
352
768
706
723
837
691
235
397
334
456
295
660
736
260
481
88
704
71
156
648
364
64
91
515
749
172
628
894
345
509
121
403
770
421
415
911
162
904
513
808
349
443
373
300
240
657
7
732
158
702
648
877
43
91
775
838
544
418
230
470
21
525
463
232
386
785
214
981
553
517
560
505
950
26
319
528
222
408
268
501
744
27
470
762
52
566
309
515
602
601
490
686
564
979
330
879
487
629
206
563
761
77
844
142
755
606
520
729
415
943
878
303
863
361
238
419
258
300
752
798
762
973
717
917
952
919
670
212
466
147
634
614
936
341
44
901
531
568
406
822
535
67
727
3
432
16
95
408
917
591
586
537
78
249
816
587
788
949
81
535
958
917
973
457
920
646
791
437
643
56
859
108
883
133
45
186
653
891
433
387
592
214
92
742
902
3
308
647
535
30
499
963
230
112
269
65
791
515
672
72
754
990
862
367
203
473
706
156
19
294
852
28
325
661
973
403
197
320
613
295
995
533
131
52
819
953
733
599
657
530
471
234
776
338
403
208
788
72
794
192
581
36
381
176
53
629
221
560
123
681
578
950
42
538
637
681
419
419
577
193
702
440
671
150
71
637
632
668
836
494
407
55
458
757
941
262
279
760
244
616
857
119
254
478
601
389
569
183
16
208
111
988
477
527
196
791
900
760
260
59
60
63
721
741
604
512
62
961
988
632
234
905
667
607
926
664
882
495
52
719
280
940
76
422
446
222
413
61
121
942
213
68
537
286
296
487
815
601
849
107
821
993
794
513
243
707
388
933
861
380
721
913
202
618
244
764
778
967
377
242
145
47
538
105
824
528
636
26
994
658
196
851
488
258
804
340
263
465
477
331
11
985
905
733
977
335
250
901
395
330
327
685
130
88
554
904
305
946
1
89
668
975
254
74
443
241
549
424
230
554
845
739
281
223
60
614
150
235
689
374
259
371
435
753
437
1
254
366
804
659
467
163
742
95
148
48
796
148
88
501
535
676
993
355
334
777
455
846
994
714
455
662
924
252
801
11
323
659
964
663
440
176
229
497
519
638
937
346
489
816
874
827
793
198
543
413
21
154
106
199
156
885
329
722
322
107
702
674
900
152
240
586
732
76
170
353
961
385
836
3
710
202
632
247
409
57
772
157
117
984
961
803
540
284
825
771
815
150
89
294
326
299
22
140
955
932
664
512
200
615
679
929
564
121
475
506
410
900
390
68
301
575
335
281
446
826
277
327
482
45
332
703
264
421
44
397
749
486
636
31
301
682
636
568
992
237
280
822
517
479
564
333
388
715
594
125
959
16
181
489
666
516
220
208
575
366
478
590
974
82
876
247
275
854
177
812
939
303
308
702
470
300
198
571
808
719
89
329
583
402
786
479
770
214
203
33
273
772
844
469
817
336
593
30
345
392
289
158
774
645
77
9
605
517
466
806
344
737
340
266
134
291
934
425
297
830
898
9
721
593
161
890
147
66
228
290
451
883
942
123
958
908
484
277
678
76
583
693
105
300
475
821
872
700
151
397
144
460
826
517
86
867
349
671
124
469
513
731
22
827
806
903
963
43
177
285
940
113
838
989
762
127
907
770
893
566
991
695
151
216
416
684
35
739
886
688
51
548
781
856
981
464
212
285
443
544
177
865
462
597
873
274
30
172
277
407
765
205
620
383
890
97
250
820
688
727
707
225
486
784
524
223
12
863
375
807
648
939
750
979
713
228
206
933
398
930
631
427
416
21
664
76
710
97
557
112
817
247
361
569
595
72
202
947
71
251
853
171
101
528
528
28
381
580
14
371
111
985
861
56
272
460
295
978
32
570
968
572
296
383
412
862
759
888
307
459
150
596
269
903
508
377
884
427
450
499
163
491
400
815
384
430
642
222
575
164
892
850
503
219
801
903
92
200
430
723
668
505
288
444
269
262
932
551
553
416
526
748
480
418
966
841
79
222
362
717
44
121
736
107
825
531
761
536
207
980
241
754
11
409
835
998
748
408
213
605
499
130
413
899
285
471
709
730
475
528
674
774
562
529
463
468
737
133
560
488
287
497
356
777
772
570
964
450
306
803
632
326
47
919
934
483
171
385
712
949
179
992
372
598
401
302
718
376
924
737
982
213
994
797
81
379
154
221
435
570
970
881
836
721
246
909
11
385
29
789
469
561
564
188
185
979
585
872
439
209
955
340
915
436
768
773
722
364
434
434
604
534
158
956
1
253
495
826
986
487
327
927
371
284
706
248
414
749
479
722
649
141
528
664
302
420
739
512
685
436
529
373
692
6
895
382
257
335
416
60
201
564
642
631
431
786
563
745
825
490
633
179
498
257
969
845
338
491
872
898
839
118
801
801
291
477
276
963
350
66
972
982
820
432
433
547
274
241
414
820
779
495
870
444
561
919
974
381
924
803
377
457
119
935
116
832
132
842
188
620
568
223
846
513
902
341
71
606
360
130
543
563
627
970
630
882
379
378
613
321
362
363
359
456
383
836
157
940
92
235
271
295
905
498
55
940
732
623
121
750
472
293
169
644
344
499
556
555
254
637
572
708
311
299
722
254
519
875
980
210
465
113
134
118
482
987
827
986
393
582
863
904
441
227
639
189
415
747
340
11
294
572
651
272
983
383
320
898
801
135
827
845
466
590
822
814
215
931
723
122
588
648
79
199
136
644
855
915
978
418
811
319
704
287
514
370
595
798
366
973
496
905
184
918
1000
15
534
365
736
704
7
142
723
765
74
449
687
268
963
508
207
467
276
352
333
735
682
183
68
161
80
702
720
107
88
384
669
811
583
924
559
54
270
973
224
40
959
870
970
889
283
250
950
555
111
331
465
581
782
154
981
793
594
289
542
974
691
326
41
555
618
972
500
590
301
747
118
639
177
58
341
664
499
904
622
757
603
603
867
313
46
682
765
241
106
526
348
976
68
465
159
309
86
732
349
522
208
117
856
929
281
210
612
669
92
838
334
522
39
681
79
610
52
66
158
43
283
634
437
995
274
914
304
208
950
829
783
651
792
824
387
879
964
598
287
700
21
410
289
877
47
529
960
955
730
694
903
757
914
367
887
754
657
183
6
291
653
202
540
608
170
514
486
700
338
293
41
326
662
596
415
890
190
101
481
499
601
487
699
223
814
357
654
493
418
434
312
579
333
263
836
341
644
808
327
743
458
140
454
190
990
870
252
375
801
122
769
175
278
594
402
91
975
715
933
896
415
984
294
418
294
310
33
861
824
615
308
647
106
977
987
561
15
332
94
850
79
128
403
63
212
329
472
585
973
879
765
267
229
63
813
52
715
190
562
220
2
706
129
729
815
115
222
135
466
91
373
747
428
751
955
4
691
368
678
528
619
712
888
959
471
816
531
463
622
205
86
763
772
522
113
635
148
57
333
88
724
893
297
866
46
257
785
463
83
191
43
610
861
850
849
46
341
559
176
450
97
277
922
607
903
251
786
230
229
474
829
379
10
2
742
90
770
326
86
647
338
769
50
911
943
303
360
255
438
286
51
964
753
358
713
386
460
138
697
749
519
426
524
295
818
327
381
334
164
97
177
865
731
515
85
669
800
302
899
141
820
419
802
690
439
92
340
238
179
58
497
190
845
839
777
263
597
808
82
760
857
447
47
142
861
469
146
301
718
399
575
511
312
819
425
881
215
725
97
45
83
330
265
957
676
227
969
894
688
37
538
233
141
530
149
90
898
745
783
675
236
811
225
105
70
34
533
440
562
266
107
923
363
783
78
760
656
664
238
286
512
148
158
29
806
565
443
13
80
220
309
629
296
28
779
521
384
811
864
254
853
899
992
958
492
79
841
759
379
11
455
580
996
937
202
790
233
866
692
278
460
478
240
742
649
649
861
390
742
846
51
777
63
645
792
199
601
274
360
957
418
388
460
756
266
251
175
738
734
136
5
926
902
6
3
354
510
494
648
806
140
789
626
859
739
270
132
897
100
641
669
850
603
895
544
689
576
609
458
128
144
996
630
538
330
627
883
839
458
941
975
1000
639
503
290
838
213
448
645
992
549
733
604
317
550
592
176
449
496
91
196
958
661
778
1000
348
224
203
222
121
590
533
691
268
175
563
422
862
70
175
637
853
786
702
627
773
440
715
988
852
346
460
442
926
936
554
23
609
366
570
870
449
926
821
269
148
621
16
842
482
865
424
6
267
289
868
902
554
44
156
5
265
876
546
538
641
416
428
631
203
840
734
889
414
61
467
658
846
92
384
824
477
85
62
415
681
806
533
622
575
7
184
128
654
209
875
755
75
933
69
572
511
277
311
497
223
68
590
392
914
511
917
360
943
366
7
706
688
225
51
584
214
370
417
863
885
19
550
183
280
546
497
452
524
351
224
273
215
653
365
945
175
412
102
669
621
961
641
574
768
696
146
9
465
352
48
304
284
965
379
865
335
629
121
30
208
529
637
603
637
557
871
340
900
5
412
966
486
454
472
480
274
1000
476
625
330
379
319
366
426
383
254
186
564
217
26
764
116
65
157
384
659
208
192
2
239
480
319
467
574
726
42
826
678
178
453
986
468
360
243
263
198
213
785
512
988
593
503
603
257
251
270
974
649
628
764
867
889
573
540
658
67
172
92
369
53
394
310
52
84
217
578
241
96
184
177
76
35
129
843
31
206
910
34
389
690
583
973
738
29
371
549
804
629
164
970
892
818
67
419
9
83
661
50
560
775
256
360
116
499
376
368
361
470
143
25
756
353
988
5
889
494
371
327
715
984
770
294
125
722
234
857
349
457
223
829
725
853
294
369
266
744
411
720
279
102
332
526
12
717
560
944
926
199
795
370
755
754
719
863
910
88
178
222
192
939
532
251
967
966
12
974
186
167
418
394
640
567
380
970
854
639
719
120
890
822
142
943
105
537
615
817
623
298
299
705
863
890
841
791
977
61
152
560
459
903
537
528
507
851
211
633
941
273
748
710
615
723
5
584
281
244
404
49
841
538
232
404
716
450
808
287
882
958
918
257
721
786
950
936
450
833
518
576
342
844
187
583
331
128
125
860
890
682
91
865
261
781
226
891
211
934
523
416
482
144
667
321
53
551
227
394
88
892
759
839
238
667
494
402
527
549
703
372
645
382
704
898
872
29
761
32
236
474
786
414
730
829
836
760
618
299
908
180
883
776
403
879
869
414
945
971
51
468
960
7
629
689
511
265
371
803
420
52
686
916
636
51
460
244
130
219
548
200
355
857
183
714
430
267
740
643
786
833
471
257
945
448
809
90
486
982
830
882
15
853
286
966
130
857
373
199
957
106
82
454
832
307
516
780
75
629
64
557
641
120
679
360
596
925
792
799
22
623
621
290
954
582
665
585
369
590
267
877
113
973
954
497
854
22
138
510
828
839
470
36
161
651
747
716
48
220
847
589
902
232
579
540
868
448
684
636
780
967
516
893
713
148
28
460
775
639
821
764
676
457
945
898
927
281
36
437
195
924
160
876
510
482
424
117
480
790
11
775
640
632
805
589
380
611
191
879
625
722
899
839
608
428
40
427
608
500
550
737
497
941
350
52
299
89
431
221
727
392
942
604
858
381
110
593
678
127
486
647
209
804
566
836
354
21
319
139
359
280
544
105
41
241
232
68
507
474
346
759
133
54
483
59
1000
638
929
613
793
625
503
228
440
668
413
275
387
19
59
803
478
175
379
734
850
868
829
265
121
668
556
577
432
407
668
59
571
174
763
495
476
826
14
115
934
888
227
953
169
166
197
712
309
670
630
197
443
194
634
460
95
480
507
956
438
980
141
403
540
85
849
522
216
127
861
531
849
609
34
68
648
858
537
206
391
776
443
375
645
421
124
277
816
905
378
348
169
520
976
913
121
14
141
966
687
727
97
397
979
591
391
573
4
83
194
437
868
886
136
632
645
339
522
733
817
786
993
364
218
555
754
828
798
625
542
891
423
9
368
531
89
488
932
799
647
617
297
397
138
866
65
243
306
331
811
64
747
724
992
17
373
217
888
456
609
325
381
202
756
168
557
113
512
387
162
312
465
462
937
179
755
407
720
70
727
627
992
817
581
238
255
210
495
305
201
62
666
239
153
949
3
93
666
387
985
594
498
35
319
543
372
507
588
626
90
490
50
807
604
177
91
182
564
471
633
605
746
17
941
435
490
879
895
496
958
624
745
673
569
604
792
648
471
500
219
909
265
568
518
559
481
551
562
398
525
951
402
453
884
194
292
396
404
236
267
293
343
328
863
727
751
988
184
619
420
696
599
14
294
491
790
682
768
404
753
634
738
654
601
559
611
614
738
740
757
814
990
230
14
693
841
935
971
351
762
799
667
321
950
419
288
237
496
342
180
336
116
701
213
932
88
71
130
338
993
204
1000
260
156
767
339
313
450
344
742
168
254
718
125
810
919
919
782
506
48
577
518
423
263
886
44
222
898
889
677
615
238
855
154
621
511
209
994
137
820
896
464
587
598
41
623
575
981
476
339
897
699
50
432
794
680
611
320
36
620
239
598
280
155
572
36
151
144
78
353
681
784
723
963
43
938
758
605
31
93
317
404
331
853
54
431
463
693
349
303
201
17
486
672
394
202
769
747
363
414
754
126
483
465
675
287
126
872
627
80
863
598
284
415
734
626
770
147
419
682
778
839
347
896
203
686
143
143
365
400
323
145
346
247
813
119
115
751
691
949
864
820
544
374
429
155
957
653
770
849
953
553
199
33
646
233
487
264
983
825
9
102
213
49
824
9
629
226
946
227
224
416
88
816
110
243
868
362
957
150
771
203
243
445
193
165
803
544
527
937
36
206
555
184
123
421
403
454
787
830
903
695
458
212
515
973
181
622
875
583
224
221
639
286
185
704
533
859
292
508
423
471
734
636
787
686
109
66
168
12
496
131
88
29
235
222
395
63
226
424
233
282
454
419
649
851
480
94
346
501
850
835
252
444
715
383
387
85
491
489
956
384
30
324
756
45
618
767
709
923
88
216
832
196
480
557
983
835
965
264
522
911
212
396
384
65
970
411
163
279
409
323
486
686
685
690
349
795
262
354
110
907
754
618
517
940
445
764
491
126
194
463
378
260
104
586
52
258
237
411
524
816
618
21
738
831
982
939
786
112
22
676
115
586
374
958
189
866
235
799
691
574
274
509
569
239
477
952
167
979
646
74
199
377
547
787
583
169
134
798
997
400
821
852
548
696
534
176
151
169
145
605
27
251
946
1000
245
477
2
64
388
795
616
626
213
509
597
760
664
376
745
856
706
681
761
932
230
343
772
977
706
240
819
126
373
969
920
784
467
214
806
635
438
711
1
604
113
602
692
448
524
590
774
648
475
890
490
637
926
447
354
235
10
276
414
358
788
41
455
673
866
213
462
897
670
239
482
879
436
124
84
416
989
799
742
4
982
414
817
361
534
448
292
642
167
138
37
667
520
288
197
409
554
937
228
217
887
732
218
943
438
102
402
218
794
478
186
631
564
892
571
418
527
251
611
618
576
452
415
341
262
312
256
879
285
960
536
977
406
951
734
430
66
852
954
582
466
478
374
964
995
255
723
534
648
431
877
460
536
970
825
405
656
999
542
583
867
643
733
687
380
895
76
901
179
963
280
843
451
164
256
246
531
20
743
599
851
680
961
746
88
173
272
678
50
288
348
347
822
47
68
367
362
873
198
866
26
525
953
631
497
802
677
878
191
838
218
665
492
507
62
989
117
132
909
83
498
181
186
292
301
108
933
160
123
834
612
66
966
612
631
804
282
195
831
4
294
281
717
188
773
191
980
539
701
609
724
208
22
5
862
46
237
50
351
209
720
938
282
999
444
17
359
630
295
574
974
355
243
894
903
527
435
980
631
739
707
419
457
114
109
927
817
214
765
57
716
779
812
380
771
701
212
226
119
227
964
732
376
336
568
481
897
694
698
539
821
324
642
31
784
393
474
717
706
91
878
193
782
627
229
470
634
775
808
657
635
242
37
416
536
373
204
656
896
349
457
652
267
81
752
428
738
482
56
756
233
627
339
569
902
625
790
957
67
662
272
136
422
789
212
961
632
499
32
631
33
45
721
173
866
745
369
214
392
218
283
304
230
647
842
760
517
635
367
600
797
181
125
630
88
632
19
179
236
193
663
265
492
730
305
226
216
156
508
967
778
651
567
11
996
313
425
480
899
624
207
996
236
295
593
231
888
622
945
497
269
479
476
354
875
487
777
652
385
662
720
849
72
103
66
679
876
841
130
495
132
44
494
659
866
150
75
385
523
377
818
346
207
258
903
177
815
538
646
715
936
774
189
458
16
474
686
274
94
467
912
796
361
449
172
339
895
347
875
372
194
221
434
793
543
904
964
290
837
489
804
46
192
64
79
941
593
806
333
190
837
662
804
14
273
368
8
599
144
470
167
41
901
366
440
438
493
102
56
570
477
824
224
847
761
326
132
345
959
92
427
763
590
600
325
94
842
429
912
642
197
870
226
789
998
350
462
543
955
943
986
505
643
656
895
341
302
972
522
225
616
332
645
32
715
870
142
208
317
728
503
386
796
686
897
794
992
715
484
425
714
258
260
747
233
722
20
470
550
690
947
500
840
847
935
749
287
447
983
929
456
455
927
786
485
129
320
495
598
948
481
90
904
217
617
894
993
630
454
850
584
346
982
563
359
836
768
647
174
903
795
648
25
761
924
414
509
8
904
323
37
664
294
125
713
162
815
546
637
358
402
963
347
135
676
630
275
186
641
951
374
876
157
242
528
886
146
281
954
508
549
686
589
37
766
832
344
704
670
589
211
998
355
616
421
989
401
356
248
532
835
138
597
782
942
996
202
526
724
912
148
220
124
196
398
489
115
618
219
60
339
745
701
755
288
635
39
227
949
682
917
566
415
951
93
787
226
766
254
457
84
672
301
415
184
152
517
623
572
629
442
644
858
364
907
195
97
819
364
458
884
949
577
597
494
666
743
17
450
407
350
407
18
343
408
580
949
274
218
407
252
645
502
913
925
468
547
741
297
137
6
737
139
249
111
362
726
596
386
26
831
431
355
180
999
946
385
189
526
681
536
608
292
208
233
448
942
44
631
419
960
182
791
966
862
37
161
81
71
864
405
514
25
936
324
24
745
819
474
734
382
124
77
481
224
19
24
305
295
590
66
855
908
868
784
548
520
979
557
772
795
406
557
287
35
770
737
257
45
938
882
5
68
465
65
696
611
569
274
599
895
908
529
525
159
379
559
291
242
70
993
808
725
240
61
481
373
948
992
136
817
499
678
616
193
415
647
529
921
31
103
350
960
146
574
250
615
375
718
559
423
978
957
725
755
976
926
20
473
326
143
982
433
737
940
785
647
508
443
294
662
394
306
566
54
96
1
942
6
438
663
678
567
661
902
285
601
582
536
335
352
517
888
549
280
4
151
358
76
336
348
27
759
853
564
595
373
735
468
604
83
770
617
591
391
217
679
784
804
391
485
333
517
61
810
648
583
93
840
96
604
29
586
423
185
448
903
704
278
18
355
574
60
149
893
753
169
993
207
610
987
369
656
608
131
840
867
19
468
814
484
194
806
991
8
17
839
948
398
928
86
926
881
23
306
125
414
296
335
940
408
55
362
623
556
907
423
755
128
454
283
821
647
66
935
873
645
623
680
992
135
160
102
757
464
705
288
471
487
421
328
222
375
375
477
170
901
850
348
638
766
165
162
682
380
367
392
813
512
13
101
474
417
488
908
669
340
949
763
885
819
61
693
69
806
95
229
942
446
892
496
422
294
411
844
211
866
280
451
913
658
859
566
183
220
786
897
476
423
911
219
938
791
777
428
886
676
574
115
57
68
541
260
564
57
367
741
36
315
36
236
969
467
909
482
690
908
562
60
692
422
65
572
275
976
916
583
609
167
812
739
323
102
822
239
707
968
247
256
431
106
696
937
457
211
427
336
485
181
38
21
824
204
959
100
65
912
11
111
310
841
510
564
8
922
994
905
608
502
677
346
386
188
180
290
761
851
879
69
365
294
501
328
917
409
202
647
700
121
437
963
56
71
378
919
848
772
515
513
299
931
316
345
935
724
544
299
657
89
862
712
72
504
886
982
346
314
719
53
751
378
313
438
14
714
698
252
314
852
259
258
508
814
727
29
731
985
508
209
41
672
293
260
181
787
621
227
861
947
244
857
159
236
656
782
805
43
131
640
118
653
982
692
332
738
502
930
870
494
236
731
913
939
841
804
236
792
717
588
882
451
68
231
692
790
782
37
115
916
776
536
984
533
36
382
149
307
630
911
966
427
363
511
608
626
614
914
141
47
109
151
42
698
37
179
644
705
965
140
550
209
482
781
653
557
335
822
795
379
124
977
478
254
272
863
279
919
92
264
793
422
247
105
981
156
796
974
782
481
332
270
740
492
405
853
153
575
573
592
976
559
889
344
284
634
625
731
623
751
311
515
975
833
934
528
388
1000
292
855
551
974
23
446
698
951
822
377
305
559
688
772
939
932
847
757
507
565
142
922
869
359
299
444
488
202
421
418
301
478
513
966
521
171
593
379
426
573
184
877
489
184
579
603
394
61
305
58
588
775
626
575
7
83
760
322
545
664
746
984
642
522
493
550
86
203
664
568
770
565
430
782
657
659
69
395
679
219
583
1
615
369
241
887
267
418
10
549
403
27
324
179
19
619
554
392
420
624
826
649
528
34
546
680
594
815
126
693
180
881
880
323
894
727
45
83
854
315
156
528
254
476
788
490
765
919
805
507
669
924
797
995
808
915
375
822
434
435
323
682
2
464
401
58
778
644
765
644
927
734
539
798
362
534
83
970
236
602
888
90
409
305
821
562
629
144
674
880
419
834
558
856
885
314
725
107
738
732
825
779
832
448
412
414
450
272
801
527
350
491
976
701
341
697
322
991
783
89
426
950
911
698
17
919
376
948
432
51
693
61
626
145
584
89
878
576
339
761
778
456
384
918
19
713
243
34
808
953
939
226
399
806
661
165
394
958
244
540
967
225
581
53
72
828
596
454
73
510
834
786
929
233
19
836
245
1000
172
767
26
751
1
61
955
406
314
155
352
843
153
665
773
30
187
636
352
560
660
57
600
594
862
800
344
543
630
185
900
882
909
644
363
167
710
313
111
647
176
956
240
896
578
284
653
503
217
628
964
197
185
928
215
745
861
134
625
570
836
508
251
317
664
720
498
559
506
338
847
370
227
57
62
798
976
982
398
133
623
393
996
438
668
666
763
42
419
455
479
532
287
809
831
343
27
636
311
214
633
805
666
614
382
229
688
752
204
464
656
929
179
729
656
805
436
743
358
609
156
473
558
468
712
674
936
769
162
136
30
941
493
625
404
120
4
860
325
892
187
288
59
739
306
17
44
860
619
52
821
746
868
898
551
276
212
633
372
121
263
838
637
926
253
124
288
90
666
538
228
947
839
857
587
813
145
615
188
683
387
711
366
306
911
653
523
994
807
770
453
831
254
253
523
825
705
475
250
188
167
881
669
150
230
658
198
625
887
507
317
596
429
115
530
326
839
325
504
340
224
596
245
681
734
58
389
115
368
369
479
795
791
624
151
402
6
749
693
938
343
193
392
131
684
236
359
908
295
880
338
497
943
155
69
495
183
614
398
694
848
948
240
515
820
951
875
678
59
503
846
123
773
840
881
262
324
176
847
350
143
614
763
150
497
393
241
81
409
740
583
727
441
975
924
932
300
76
456
693
443
592
769
724
959
671
792
871
986
969
615
519
862
367
760
771
6
770
76
423
250
730
497
745
993
268
365
610
50
77
887
810
546
230
538
277
531
618
949
476
249
632
847
492
177
977
140
156
977
125
129
127
522
624
115
997
2
369
396
351
926
981
757
204
507
661
62
377
542
213
520
204
373
468
477
424
954
991
386
210
350
791
696
107
222
732
991
43
981
478
659
701
334
93
716
271
886
897
210
995
294
733
794
14
272
616
621
687
330
621
743
985
784
959
558
533
974
400
660
608
56
623
665
703
994
584
190
288
580
711
178
48
412
599
213
169
752
852
262
246
108
953
560
963
210
291
983
21
736
33
289
678
832
95
103
900
949
318
347
328
999
871
114
211
170
17
648
965
988
646
185
289
390
403
880
597
617
785
967
75
742
363
584
848
491
115
401
594
831
942
316
419
477
634
988
991
65
878
927
697
261
458
163
107
465
428
280
92
102
890
735
781
708
975
940
923
152
768
534
348
372
213
646
953
945
481
716
38
643
901
613
890
932
291
388
224
949
482
964
444
161
869
488
747
280
71
847
763
478
179
84
744
169
584
31
351
849
111
532
716
577
27
36
768
679
495
160
779
172
226
103
725
234
414
398
299
737
495
542
387
534
937
549
382
693
36
265
971
321
675
610
922
986
69
566
977
976
817
816
151
813
983
425
621
497
511
855
918
934
1
911
315
888
770
906
143
554
162
469
273
594
272
932
149
16
605
144
564
828
703
921
844
792
448
55
216
908
552
969
939
512
775
646
173
971
481
414
685
15
500
548
224
675
680
418
806
661
120
63
196
746
851
697
613
403
645
608
29
501
702
310
488
340
205
645
538
686
112
680
206
750
113
912
966
260
353
290
784
842
409
989
633
984
11
713
846
707
139
529
299
930
512
909
677
220
900
666
37
258
383
966
442
864
427
438
721
906
653
700
276
729
217
249
456
19
35
813
196
165
485
685
525
259
780
506
45
835
965
232
695
347
359
747
929
148
310
691
958
450
348
598
842
318
134
349
36
279
185
306
454
527
947
203
246
12
674
44
252
949
516
782
537
399
382
523
501
597
407
385
799
676
341
859
727
255
746
762
762
132
680
398
687
973
448
561
83
464
85
418
20
860
453
75
433
257
247
879
48
169
722
99
682
234
669
647
428
913
24
949
511
110
496
878
611
496
781
934
22
183
251
472
326
96
482
845
198
13
629
791
523
802
451
247
275
810
735
47
511
715
975
640
372
393
424
51
227
540
66
778
948
829
615
246
843
370
383
703
940
120
757
189
192
672
67
290
632
547
802
928
683
711
532
365
622
543
365
924
694
894
461
675
439
193
943
471
637
775
531
289
660
742
345
766
144
709
650
204
608
709
729
72
101
402
706
227
950
481
889
640
467
821
115
422
792
493
686
321
102
237
668
678
101
366
765
35
41
360
471
192
518
604
961
541
946
815
976
935
924
721
28
162
671
450
380
374
318
918
593
404
159
218
923
31
842
656
476
643
127
598
829
656
48
750
771
304
238
829
936
78
725
853
337
208
730
417
269
30
871
422
582
14
695
659
81
500
654
557
700
925
481
188
125
407
421
298
746
102
906
753
191
659
111
270
187
436
253
745
160
881
640
768
844
625
257
187
104
381
92
657
350
721
522
198
205
136
799
697
527
580
98
143
506
868
647
154
324
878
158
987
758
495
181
821
217
639
991
563
903
515
347
790
204
427
763
764
937
123
953
613
798
648
759
887
193
112
176
705
667
626
56
614
303
860
705
93
794
386
840
379
358
946
346
891
333
312
818
101
44
211
170
103
529
112
440
523
766
296
543
622
360
763
878
650
25
974
614
537
789
364
982
13
587
820
95
107
780
72
656
763
192
16
412
27
458
541
367
818
828
346
568
837
74
551
755
561
854
688
287
589
653
744
523
828
469
541
284
149
484
644
103
163
315
393
734
722
838
393
764
591
224
992
271
492
561
866
149
393
378
793
115
466
436
111
442
619
410
170
133
900
457
262
604
327
206
157
936
918
420
381
411
789
431
794
346
176
451
880
235
159
51
365
790
704
401
465
779
317
371
86
488
274
214
769
218
913
345
42
484
909
696
102
470
815
207
423
882
402
310
995
527
476
652
352
838
959
891
466
82
937
130
882
174
318
443
175
884
472
985
922
663
970
388
904
547
98
483
184
338
342
934
32
758
457
989
420
407
45
441
932
95
780
809
522
593
571
939
468
915
959
481
273
990
29
184
12
12
921
514
800
768
804
908
661
14
840
862
36
302
230
142
586
705
882
643
745
569
670
777
673
761
497
879
893
881
583
733
895
566
497
268
436
293
468
404
88
109
387
267
816
272
782
258
52
132
712
995
713
451
207
740
160
10
392
741
863
554
866
879
894
56
293
76
983
826
364
235
988
218
512
858
114
546
760
86
103
368
127
637
923
457
836
993
206
643
390
237
767
193
274
151
90
546
604
525
578
43
607
153
693
757
173
651
860
619
59
73
158
877
570
261
351
278
625
15
803
543
196
471
155
364
25
506
426
632
380
607
389
610
375
404
620
509
10
985
653
289
704
182
30
530
518
253
863
924
669
770
720
242
231
68
261
667
86
315
84
10
304
110
642
654
141
529
964
11
731
728
102
939
395
502
921
802
185
716
864
820
942
138
808
933
651
4
968
655
338
602
98
296
109
266
897
489
156
416
626
176
752
736
418
81
298
114
670
214
472
737
201
160
406
591
563
722
602
692
22
992
995
535
236
86
161
646
579
586
180
601
399
178
82
562
249
134
93
208
252
21
165
907
321
502
363
117
936
134
740
313
500
863
274
164
116
282
281
307
754
800
464
819
404
580
462
410
781
464
264
443
521
161
388
96
669
616
67
399
390
865
989
399
527
638
315
411
579
654
819
186
159
845
978
809
776
714
753
350
67
672
646
563
211
442
301
469
342
586
579
244
212
790
556
669
237
781
345
310
312
661
985
743
481
11
897
363
594
312
573
769
628
126
217
263
181
987
53
758
997
156
871
254
71
218
193
106
994
11
103
494
721
513
414
863
882
144
331
627
68
385
186
81
287
750
143
299
912
927
976
783
998
330
183
758
828
394
709
297
855
715
507
936
49
495
1
995
781
869
303
656
975
352
638
689
264
57
72
858
254
340
44
224
826
218
632
986
596
257
734
11
286
607
569
937
754
529
972
551
880
58
986
212
342
421
145
189
514
441
676
167
427
448
567
637
724
140
67
496
49
442
731
34
131
640
571
367
125
994
209
552
445
562
182
820
380
220
731
826
320
707
448
360
260
55
143
728
609
968
174
854
982
537
257
250
821
170
478
153
160
794
825
519
828
177
51
65
670
674
118
208
131
859
743
592
697
241
856
874
219
731
834
556
121
589
480
979
846
360
610
19
683
674
990
625
255
874
97
148
596
138
858
260
656
139
76
403
536
308
732
891
519
457
730
205
179
854
937
555
471
849
560
474
718
786
8
86
846
266
396
685
32
773
728
434
204
309
660
332
434
966
432
56
356
278
203
943
173
807
551
159
695
658
361
53
113
510
638
808
896
339
78
760
274
180
361
164
274
189
205
780
147
779
208
377
357
775
355
123
976
396
890
906
475
353
911
804
409
519
673
282
405
420
60
227
225
278
137
577
394
444
961
129
32
858
100
114
89
578
413
236
130
543
681
176
187
456
635
30
964
96
762
729
856
402
27
260
832
434
323
449
217
619
10
99
790
801
387
551
455
212
327
90
906
903
573
194
343
107
408
276
323
703
489
497
239
220
661
157
768
842
454
416
856
426
810
370
466
888
287
11
355
200
632
237
613
868
150
868
557
973
721
570
843
797
695
707
336
570
126
390
366
154
978
429
480
278
993
440
697
520
907
133
583
408
554
644
156
820
194
869
761
411
104
910
564
898
54
145
245
888
798
908
807
362
138
461
151
77
403
743
206
917
446
390
985
646
364
630
849
640
196
965
671
877
793
5
328
908
898
411
157
570
244
689
551
921
113
470
915
251
394
11
550
52
639
857
859
515
985
31
471
459
120
604
500
591
646
265
158
675
296
314
391
447
459
538
24
137
405
602
147
37
375
889
119
852
465
237
608
507
851
637
576
661
414
745
928
444
317
38
871
812
370
515
664
508
342
146
551
793
478
653
137
22
598
802
379
636
91
126
648
351
9
863
57
146
277
946
317
160
671
100
958
765
882
426
624
873
429
385
540
27
640
772
932
922
209
63
373
806
73
536
556
615
482
675
949
826
166
690
175
712
456
397
702
131
49
353
631
20
876
862
921
465
188
424
429
626
537
245
469
792
811
666
476
554
868
773
493
387
563
975
870
974
219
30
552
222
625
892
776
255
692
721
825
602
793
597
713
476
639
789
352
246
244
921
773
206
201
11
446
287
985
141
602
640
477
495
741
887
222
576
171
435
212
697
521
428
135
257
650
808
97
870
273
480
802
185
933
742
57
76
636
18
250
958
614
383
136
177
165
576
888
769
468
947
841
414
601
308
795
58
727
733
58
513
550
159
605
338
719
68
909
417
776
604
984
956
659
264
158
81
499
657
931
810
641
925
23
938
413
117
389
301
141
177
529
956
311
249
917
30
575
667
736
419
522
363
391
8
716
395
482
831
572
987
992
413
17
728
483
579
749
614
959
142
145
168
923
264
490
202
842
698
278
705
875
831
783
904
260
166
956
851
191
900
988
726
376
309
547
664
701
943
774
76
606
48
632
366
850
193
79
403
276
840
840
373
133
441
279
390
229
739
956
827
935
107
998
407
621
142
344
958
646
236
217
176
385
505
981
856
162
307
619
860
106
533
663
489
138
6
353
37
300
630
168
56
593
349
624
250
327
614
451
984
759
808
799
110
436
978
146
180
250
338
955
148
663
205
943
348
949
427
30
870
599
919
634
462
200
596
28
732
230
884
879
732
182
966
924
986
373
119
996
627
583
802
223
602
420
654
322
817
914
175
323
730
389
693
948
80
109
130
136
404
525
208
877
533
242
16
609
441
925
223
906
764
503
866
106
755
941
320
792
687
770
968
799
528
336
133
478
207
414
28
510
959
447
840
466
35
179
570
669
534
821
937
602
226
273
458
326
37
83
806
846
268
6
699
382
748
17
842
827
823
618
911
469
546
91
172
217
427
131
95
154
865
928
219
244
750
366
632
393
711
449
645
887
242
466
613
419
203
684
434
551
246
551
923
464
343
487
136
274
906
362
719
32
963
638
544
774
462
12
187
603
71
81
325
875
758
206
730
982
43
281
360
123
45
541
979
696
368
930
842
639
410
746
278
124
909
507
365
502
415
990
525
280
880
417
556
232
783
602
527
435
5
698
1000
152
201
831
248
990
553
550
481
696
584
500
618
287
222
144
816
951
371
675
768
281
65
487
793
999
698
704
861
240
919
294
986
846
518
248
897
917
55
140
465
991
9
160
152
852
985
345
677
943
841
326
123
735
656
365
6
236
150
843
147
15
466
652
792
729
285
124
77
168
828
231
824
260
672
816
656
304
227
483
574
946
369
639
495
48
985
871
697
675
147
490
787
849
180
595
566
606
184
461
162
172
438
417
855
708
691
596
323
222
551
147
445
657
68
530
351
142
121
516
178
624
412
360
841
853
703
446
210
780
456
356
242
970
133
929
10
537
289
391
65
457
14
25
242
849
408
190
837
958
567
708
82
122
973
768
960
980
292
546
716
517
310
663
858
340
156
461
49
721
17
841
64
572
259
47
891
461
251
370
138
202
200
196
142
339
23
236
559
75
571
11
748
763
581
917
994
164
316
247
433
41
228
566
576
526
895
771
502
937
136
929
95
339
466
778
208
234
6
352
245
191
537
748
473
106
646
502
314
53
805
382
966
357
800
648
978
606
122
18
822
816
816
629
70
844
818
245
515
452
977
873
493
146
817
716
649
998
583
68
655
220
264
403
696
141
112
358
75
612
617
764
951
576
47
177
56
697
415
581
208
484
194
83
574
333
170
440
952
216
581
201
761
598
101
108
58
251
263
143
648
293
660
274
290
723
618
518
49
129
56
418
111
66
967
399
732
778
241
774
565
579
604
343
277
217
59
635
267
964
550
855
259
33
516
491
757
131
642
383
652
623
381
733
744
832
761
227
608
453
572
911
5
915
299
959
987
822
32
788
970
250
191
232
299
781
64
677
243
634
92
78
949
156
308
799
600
221
538
71
920
833
849
649
211
275
158
959
299
748
135
607
134
303
295
631
294
239
675
293
318
869
585
530
613
700
724
383
659
628
362
885
387
706
412
901
874
401
933
363
993
42
16
201
197
320
90
7
451
297
346
144
189
360
419
583
272
967
434
199
166
806
243
685
908
232
9
460
22
439
289
222
201
830
432
816
461
524
395
148
467
713
76
765
911
868
858
539
125
409
348
609
641
521
240
399
988
256
799
10
850
908
725
788
651
947
56
163
737
450
343
152
576
55
500
56
842
973
670
953
803
459
923
569
161
457
805
979
416
861
610
391
807
913
725
932
159
804
555
995
244
467
356
163
849
878
764
172
355
922
915
679
486
34
860
833
872
364
383
756
186
184
440
106
926
613
180
810
360
510
898
930
750
561
367
350
753
165
658
658
790
715
974
158
267
282
41
401
764
469
264
45
684
473
216
92
409
935
37
788
705
246
929
525
970
360
295
136
945
5
995
844
667
448
843
970
764
572
727
221
688
122
677
1000
103
396
795
727
458
542
222
606
698
888
185
606
212
413
767
686
328
536
241
471
141
903
665
621
987
751
995
137
632
703
142
725
131
602
223
92
359
46
793
799
384
874
957
837
270
719
94
633
352
119
397
591
714
390
516
591
450
633
433
93
234
776
66
629
870
528
235
489
815
476
353
365
86
332
614
550
574
506
494
60
565
783
123
695
186
836
443
626
538
750
82
576
561
488
594
29
13
462
14
199
531
994
715
685
403
449
170
818
578
258
562
734
417
902
125
106
871
127
749
285
117
351
630
326
121
228
706
10
277
850
195
496
42
859
806
691
437
93
97
780
415
993
1000
585
307
134
781
616
50
701
530
729
403
642
852
278
141
528
567
532
74
857
118
909
801
643
836
286
295
686
394
220
784
792
585
440
891
603
19
371
680
382
460
768
74
290
302
766
82
214
123
782
439
175
335
738
509
699
702
11
817
326
907
384
101
580
396
1000
629
336
453
13
354
479
827
155
633
167
258
971
413
813
953
786
207
86
363
813
702
876
654
968
572
158
894
64
893
148
287
78
588
945
757
63
504
122
819
131
24
348
914
626
629
202
367
261
441
766
692
508
576
482
206
982
97
999
844
919
441
437
608
74
496
562
298
564
866
853
64
214
496
358
818
959
522
518
751
724
107
851
36
2
80
504
294
28
382
205
542
49
680
65
182
709
39
26
13
962
181
468
411
249
718
666
572
899
705
304
170
846
2
240
840
797
241
71
687
894
613
798
388
823
341
103
530
8
419
314
545
251
160
110
967
699
142
439
768
524
377
916
215
64
931
161
35
473
752
172
654
103
163
835
964
953
347
106
337
531
148
230
614
355
686
604
386
189
617
531
181
761
348
177
102
429
131
475
42
709
800
619
869
80
823
33
852
820
462
390
184
850
109
334
655
769
273
53
403
298
254
738
216
337
305
279
19
721
950
239
28
537
157
264
573
573
302
637
701
46
180
561
519
288
850
132
694
445
780
676
621
610
540
286
596
980
339
937
726
798
776
515
410
862
505
467
989
319
958
545
543
325
876
292
877
893
139
507
477
929
359
901
545
998
703
587
306
864
709
790
405
208
209
428
609
222
21
809
979
968
792
680
363
492
200
354
360
676
766
404
853
753
673
705
873
177
326
232
784
317
866
57
756
43
491
479
58
799
215
59
956
246
684
612
915
851
722
891
353
87
593
766
401
66
346
202
25
490
209
236
365
767
723
441
348
45
180
100
454
683
5
389
47
378
884
426
789
753
828
950
506
748
859
719
311
529
676
490
935
961
488
538
974
940
174
279
213
964
82
466
262
388
58
841
502
754
752
853
728
415
864
260
951
439
727
4
516
445
592
734
86
578
994
749
66
315
867
947
703
163
421
557
475
607
365
44
357
852
747
632
198
2
534
259
780
323
92
664
67
155
860
514
795
849
871
146
820
822
223
516
579
476
271
461
614
233
83
175
344
404
663
140
202
946
543
374
764
429
625
975
767
668
544
412
748
584
439
920
581
791
707
650
369
314
230
941
982
617
609
179
51
813
123
257
350
525
496
546
332
386
82
637
50
554
710
853
788
949
307
675
552
153
347
763
957
18
347
240
176
81
919
235
336
827
315
497
174
687
39
13
791
404
851
201
110
78
389
197
953
753
740
173
738
893
507
423
441
472
302
141
833
681
150
469
986
455
983
370
698
126
258
334
801
503
758
761
282
592
781
78
758
995
270
332
135
745
906
1000
223
955
827
278
641
222
431
923
628
136
665
12
253
606
322
670
97
996
113
881
671
168
715
999
732
660
564
472
177
146
889
576
366
246
388
696
593
518
967
768
891
157
184
53
548
537
381
311
466
220
16
785
30
490
357
167
207
757
535
814
424
435
946
96
187
985
108
657
488
904
373
770
819
327
384
741
980
800
710
455
966
519
910
792
895
986
166
587
351
619
707
225
507
304
486
769
104
278
946
703
691
2
256
9
527
887
124
311
212
821
105
237
405
473
378
996
962
224
104
403
458
443
831
216
321
497
854
723
743
550
123
966
134
731
48
843
116
688
513
612
981
900
528
4
60
381
197
204
713
541
96
490
477
85
748
190
463
760
602
909
278
657
801
724
574
571
90
120
836
604
401
976
169
781
3
849
652
992
643
118
304
936
731
290
807
106
502
936
931
43
11
253
34
236
3
215
96
75
963
652
491
204
118
338
121
481
761
384
572
488
35
775
689
208
228
909
326
63
707
382
59
949
863
61
334
320
800
692
867
632
74
921
106
670
464
613
214
364
636
771
352
711
547
224
1000
340
639
452
682
54
158
585
717
434
455
671
599
184
728
736
144
479
486
55
834
965
949
314
668
465
710
998
387
650
250
467
181
138
309
618
825
512
700
983
747
756
878
357
695
461
470
814
525
966
2
36
121
254
277
427
622
67
210
413
915
169
421
639
862
123
584
541
797
251
335
888
660
679
531
480
535
493
783
90
457
66
499
168
112
571
93
531
442
527
651
494
234
990
89
447
495
662
767
875
765
755
595
239
574
921
894
895
921
937
671
483
990
138
510
796
318
738
966
171
298
347
233
885
179
921
842
850
730
359
330
145
309
727
149
593
410
851
549
602
651
627
817
976
782
941
58
266
523
536
633
479
973
503
489
669
844
344
875
995
44
695
366
326
957
880
671
376
333
446
450
651
861
673
255
179
351
898
738
147
947
123
484
48
937
21
173
899
558
941
293
405
626
910
305
693
974
983
954
378
446
485
443
293
627
824
299
134
587
604
50
692
655
700
304
52
660
798
414
376
106
676
665
410
502
146
864
908
394
152
271
502
729
3
37
385
813
69
720
379
497
592
981
556
221
435
261
621
180
680
108
675
205
30
820
830
915
832
260
361
306
397
996
757
233
989
424
42
167
497
173
253
219
348
843
763
639
629
147
459
923
787
561
429
223
477
905
915
959
322
667
762
397
414
459
510
523
337
751
542
675
405
870
459
272
567
348
918
481
134
863
718
768
88
389
850
162
221
684
524
454
785
922
980
729
630
71
982
373
47
638
480
155
647
513
875
62
671
949
677
309
25
166
123
364
225
660
513
870
173
88
565
81
338
487
135
782
497
678
992
700
673
951
167
107
250
466
608
636
573
418
459
341
516
649
339
699
592
293
381
523
187
21
674
755
437
652
939
735
34
183
957
766
28
821
288
814
262
183
306
688
683
679
417
355
132
987
595
919
654
699
85
345
535
408
153
264
515
997
286
7
625
404
138
616
126
914
802
686
866
887
723
814
176
894
647
855
124
424
558
388
528
680
453
585
646
498
155
138
868
99
94
41
57
195
137
767
391
955
99
862
730
491
518
18
505
794
660
481
141
512
454
16
805
574
286
734
80
416
117
790
795
490
394
337
820
804
645
159
102
493
398
58
616
783
326
462
161
263
94
667
149
100
437
817
627
649
387
7
767
966
442
886
983
862
673
745
647
490
439
338
93
927
408
665
238
845
57
477
685
169
682
559
597
574
217
733
10
750
842
59
481
680
441
984
145
531
463
993
310
390
627
906
706
773
222
99
367
734
463
814
936
450
465
169
840
346
926
696
421
194
543
965
577
121
511
405
909
139
184
481
663
627
146
207
989
183
477
398
187
408
946
149
597
443
262
791
805
594
244
950
602
915
972
438
970
437
571
370
957
617
230
311
935
678
512
275
150
723
756
70
901
903
615
843
943
473
383
657
910
251
770
616
648
861
227
308
367
157
747
376
410
388
317
577
277
992
814
23
249
384
241
196
589
758
598
937
850
679
594
856
236
242
644
510
328
637
297
242
748
251
310
827
465
831
68
899
553
844
959
687
158
860
614
773
316
695
601
416
61
102
336
487
941
976
419
209
662
404
598
717
98
423
854
915
286
982
856
211
384
461
176
515
753
63
214
315
482
542
717
712
694
17
188
76
933
84
182
371
749
20
742
248
389
669
734
748
141
499
895
793
445
378
757
715
372
898
438
704
436
412
486
453
12
515
582
233
789
410
930
301
835
439
575
857
808
78
754
728
786
864
581
564
5
54
54
643
506
281
395
285
329
131
204
477
427
335
775
565
920
247
185
766
649
358
446
800
245
880
93
189
108
846
81
612
723
740
732
248
758
410
811
216
218
911
485
78
769
951
57
840
995
830
875
69
966
106
742
537
18
751
499
266
8
206
176
983
694
588
259
761
38
284
178
68
428
279
67
519
798
901
222
390
605
71
448
357
443
797
664
960
857
365
717
34
543
654
350
715
737
20
657
641
14
478
161
671
154
256
873
779
963
371
280
782
185
553
248
198
686
719
254
863
136
194
176
882
310
62
134
129
945
339
499
767
814
158
251
214
318
778
323
566
419
29
427
723
185
765
139
392
580
985
677
667
354
560
925
146
86
915
693
358
477
593
155
876
975
356
667
595
680
379
889
564
286
109
259
222
483
595
371
38
864
425
746
396
867
938
813
987
714
26
667
140
600
691
289
263
640
487
510
17
186
114
908
944
165
741
235
1
59
65
708
859
952
733
699
895
868
507
930
524
242
489
265
850
985
770
606
715
17
121
165
837
583
734
640
116
899
534
398
160
911
325
797
758
15
861
233
310
618
952
284
208
311
890
605
785
250
801
851
710
68
6
958
669
269
121
580
733
585
414
336
81
225
889
791
646
298
667
777
806
931
514
743
460
792
762
302
706
756
462
54
856
468
333
55
726
405
954
14
949
839
702
403
596
797
125
222
503
703
808
24
545
902
295
216
543
672
296
310
618
647
247
26
585
800
261
619
422
266
643
829
922
306
446
179
394
696
994
119
697
611
888
706
907
890
809
85
697
195
298
17
809
148
833
111
93
10
687
208
222
851
505
577
567
425
12
190
685
187
40
386
551
953
851
624
965
747
779
895
516
248
396
578
137
107
690
177
536
102
265
437
739
739
186
779
566
440
906
872
106
898
631
419
163
544
627
927
208
305
196
286
580
998
500
514
563
787
953
867
468
90
675
871
80
195
345
488
617
663
866
787
890
241
443
983
469
650
29
639
514
101
617
176
335
781
507
545
940
916
527
95
538
200
149
186
450
526
574
96
944
989
190
90
270
79
204
327
565
819
899
438
375
363
715
197
219
239
262
689
48
973
460
793
430
319
235
571
998
686
580
399
48
654
322
244
143
647
681
564
270
951
499
686
371
239
85
382
47
708
765
596
880
739
549
907
54
695
825
378
915
138
607
898
713
252
682
985
982
719
922
288
947
629
163
702
891
279
293
94
638
856
629
142
179
86
212
648
990
886
416
28
781
953
118
365
263
997
752
539
997
26
742
448
567
688
186
296
109
167
178
216
695
569
787
269
223
24
596
983
182
964
639
163
170
173
718
652
64
233
407
86
543
930
461
468
31
46
976
546
207
703
404
583
937
91
450
77
861
993
946
387
878
959
25
53
492
413
330
749
281
200
498
481
786
337
900
622
732
776
443
823
848
32
262
667
476
411
320
161
801
407
215
838
822
567
28
243
93
720
625
93
881
45
686
211
608
868
614
654
376
430
649
74
902
129
722
509
448
898
38
210
145
452
932
65
698
94
291
462
608
677
698
128
889
83
525
621
777
280
383
651
48
617
704
348
416
526
735
911
894
195
902
837
173
124
314
43
822
658
174
772
553
763
993
117
894
315
795
370
347
134
951
165
531
829
906
572
839
297
783
861
887
349
821
679
383
524
631
744
85
639
516
975
181
956
481
198
800
186
83
154
330
711
18
586
872
511
143
585
498
290
681
224
916
204
519
732
776
408
819
129
143
382
664
265
572
591
86
697
837
596
620
669
599
184
475
759
197
392
535
411
318
605
633
676
513
37
2
946
390
972
348
399
863
143
735
129
990
466
363
684
809
171
359
828
54
38
896
865
785
56
330
791
799
327
527
885
133
446
258
62
87
904
333
492
11
292
144
504
475
200
425
785
605
767
313
224
30
735
277
534
377
770
50
958
237
509
492
949
285
488
217
706
592
673
896
827
197
760
369
178
698
838
116
242
949
236
135
849
960
636
24
224
751
558
886
668
198
400
697
81
911
65
963
726
774
72
786
303
70
745
975
445
54
705
443
219
408
441
950
59
286
169
194
838
534
527
344
477
243
932
405
539
17
563
186
789
188
19
241
547
755
656
883
5
11
518
250
368
646
514
443
789
620
247
982
601
273
439
140
270
902
445
272
816
551
741
895
216
855
592
99
410
547
317
891
122
715
738
144
630
928
373
186
18
154
940
462
176
750
541
345
39
894
672
902
71
535
866
372
74
304
328
168
714
858
416
443
24
830
179
674
304
878
483
224
487
323
390
578
43
550
637
784
911
605
972
645
815
443
103
385
519
853
769
835
249
401
204
653
557
644
863
756
347
479
866
908
666
715
983
377
114
879
414
675
428
809
806
651
847
832
149
640
385
150
250
933
19
640
447
571
88
410
127
350
942
331
370
979
964
232
766
507
611
630
19
532
72
643
475
173
433
221
128
493
27
955
946
855
744
480
628
707
660
954
978
389
303
155
175
898
201
500
117
948
185
704
879
303
46
830
97
116
749
224
720
907
408
177
168
919
599
206
391
800
395
516
701
951
734
551
561
432
320
535
663
6
289
572
783
773
302
153
839
841
557
925
554
660
443
163
903
978
219
680
248
839
144
850
718
691
942
996
916
484
356
649
451
552
798
96
202
204
819
176
399
214
147
510
847
803
588
231
611
292
940
782
523
333
394
577
688
514
595
106
2
180
647
611
365
509
886
596
866
231
131
223
740
911
517
150
284
369
684
456
267
635
301
101
560
832
422
778
869
503
128
136
468
199
307
63
794
594
142
167
591
11
106
597
66
968
807
124
165
328
42
710
655
662
787
878
165
698
693
847
722
99
809
738
611
355
933
177
555
306
946
244
351
616
972
56
59
583
988
207
788
798
790
943
915
523
829
201
310
124
520
586
768
520
45
964
387
434
579
565
57
162
92
425
603
679
600
534
356
168
793
293
86
502
460
723
333
731
49
441
84
405
962
556
694
445
941
522
678
274
967
447
724
195
655
533
869
287
28
119
283
650
901
278
517
478
831
20
386
267
757
953
893
460
981
676
712
938
110
280
803
98
953
54
661
682
117
935
550
132
241
272
836
24
374
192
199
31
16
243
38
956
701
10
907
601
842
70
159
626
734
21
278
100
245
293
576
142
740
113
10
901
199
305
913
152
342
573
302
948
809
526
282
71
61
2
765
552
770
166
362
121
872
449
833
274
369
659
945
573
186
474
901
925
115
100
794
821
935
102
680
952
271
264
933
203
698
875
521
724
850
45
737
706
22
442
672
499
881
394
435
938
386
423
730
75
987
86
872
36
468
483
765
412
571
898
675
375
649
823
847
733
182
40
152
250
927
558
985
871
838
900
569
909
671
681
695
902
368
462
637
580
878
568
698
299
80
956
352
404
875
231
481
167
285
584
527
397
637
791
714
290
508
397
649
851
134
848
751
39
404
670
907
809
404
741
723
396
708
332
515
515
260
871
930
614
749
308
696
982
817
574
562
286
342
840
923
67
259
224
943
844
106
119
306
709
529
548
819
754
498
827
213
209
856
338
418
925
137
393
507
715
309
34
260
108
185
72
1
284
790
874
974
295
878
158
999
196
156
575
594
402
466
933
38
375
379
746
85
741
141
164
188
104
938
498
74
54
745
243
530
392
853
947
35
134
302
301
673
664
48
578
417
304
690
871
418
651
959
671
442
259
987
940
943
634
576
247
572
56
306
467
109
434
331
243
879
269
158
699
768
795
511
864
808
567
652
876
165
45
135
341
66
252
82
136
815
192
449
523
637
511
697
733
457
846
481
30
147
410
707
866
957
602
330
922
75
899
829
731
264
793
104
82
552
345
922
606
793
746
694
779
726
365
504
66
837
945
812
112
939
972
219
648
879
737
951
298
204
316
536
558
918
477
214
5
715
530
244
248
162
268
175
189
385
445
540
943
717
669
202
146
645
217
750
453
121
38
917
732
993
104
11
850
844
389
717
954
38
937
432
846
117
914
536
400
14
45
557
946
699
565
273
209
17
653
172
719
449
336
552
530
444
22
763
759
817
143
760
694
373
860
165
174
615
451
515
540
874
756
215
680
678
31
11
617
495
673
450
642
286
501
898
202
397
763
157
632
460
541
638
356
891
20
325
341
482
931
502
467
356
548
296
929
267
803
641
988
782
457
169
146
451
749
894
334
419
659
257
796
293
687
285
129
283
90
147
393
769
620
349
279
489
107
170
73
465
694
746
567
667
114
317
108
132
192
819
725
942
645
918
596
24
351
26
202
208
464
626
159
363
173
426
69
704
417
511
744
575
585
641
785
106
79
307
834
125
635
967
761
650
461
124
678
92
585
572
955
997
280
166
350
837
63
940
927
847
588
263
738
373
662
995
83
541
759
262
779
307
637
590
50
118
111
584
530
464
584
268
405
598
686
487
908
559
257
481
196
444
947
855
178
528
909
701
974
478
425
537
521
378
805
76
297
699
575
565
263
678
802
586
894
781
365
777
605
51
141
845
977
210
365
669
925
269
842
1
367
312
362
502
988
831
348
389
437
660
762
989
652
136
317
880
35
586
301
94
893
591
700
85
883
811
841
753
237
305
504
856
127
404
262
568
928
195
881
749
14
572
721
774
416
647
443
375
902
23
805
21
997
73
939
822
48
883
339
788
681
996
698
570
897
402
869
466
635
506
474
570
813
948
98
420
762
223
598
419
473
24
781
569
271
112
568
807
376
287
865
305
297
768
482
658
164
818
878
775
920
45
955
641
734
129
844
853
164
124
415
978
324
641
247
331
793
398
923
729
49
628
805
150
4
785
906
975
578
857
75
701
339
317
461
565
930
421
175
516
403
147
107
384
570
495
110
882
212
310
142
276
281
12
504
198
265
866
1000
79
516
486
739
105
661
283
241
442
180
486
776
710
851
176
81
333
55
483
179
438
850
763
597
440
325
64
102
321
997
657
15
862
902
763
280
780
597
842
707
799
521
977
262
183
10
971
803
129
800
718
441
752
48
321
565
82
725
187
618
605
733
45
912
418
275
412
141
981
769
562
735
782
131
426
886
972
296
215
913
183
690
739
582
277
768
550
160
741
822
77
277
811
31
831
99
162
103
646
943
205
938
660
217
586
455
383
495
494
74
808
588
761
419
954
753
558
436
628
504
689
510
485
100
96
136
648
424
208
354
245
873
213
474
235
866
141
584
801
740
887
949
408
156
979
684
346
594
894
47
196
161
246
239
227
734
977
892
130
412
988
312
880
341
317
81
750
262
44
892
677
533
600
294
227
960
52
622
416
504
239
509
470
805
336
270
451
533
545
904
329
755
123
643
686
867
899
772
763
159
748
905
938
756
232
46
77
476
789
508
392
161
353
245
595
154
298
183
148
895
933
945
386
51
548
716
92
227
199
90
907
33
993
443
579
218
630
733
658
671
344
694
672
292
207
37
250
146
944
628
914
841
31
623
452
791
882
165
892
855
335
584
121
886
494
988
51
862
219
767
110
621
206
804
526
695
639
131
508
360
873
331
964
853
452
286
849
604
50
712
572
481
585
531
138
298
870
324
897
226
604
976
799
378
454
174
50
507
251
579
939
700
25
350
391
952
750
188
501
739
157
230
884
30
918
911
205
725
835
409
641
149
401
391
367
78
249
544
361
729
568
843
968
315
493
579
685
33
879
899
591
812
607
64
674
769
766
628
76
57
629
512
927
729
335
285
21
308
583
3
50
990
439
641
482
784
584
503
490
449
917
964
487
788
478
596
954
698
56
988
236
414
700
586
904
531
577
454
83
723
274
180
881
575
691
46
686
533
126
203
621
842
28
815
911
224
143
61
228
200
491
419
385
202
647
903
867
45
337
758
778
907
218
686
743
688
31
834
207
520
31
610
323
228
676
934
353
759
141
619
68
934
72
446
168
411
395
931
141
397
703
902
280
487
879
808
848
979
202
84
456
158
98
14
786
330
96
263
745
852
302
668
939
982
882
913
161
169
637
465
220
301
731
479
8
499
42
449
183
310
381
27
228
490
80
810
907
158
4
864
379
769
114
415
275
241
110
461
96
545
511
8
157
271
791
250
166
2
807
320
209
778
841
141
563
622
991
514
302
844
566
832
71
827
350
689
802
76
333
246
346
597
545
398
199
82
151
683
542
942
839
388
811
985
844
505
853
392
663
9
570
728
615
453
589
880
939
13
115
205
42
916
658
677
830
691
675
468
822
738
548
266
859
561
499
556
804
393
191
303
559
54
807
686
114
622
313
58
86
918
502
855
420
836
129
981
463
288
134
93
648
904
513
285
399
634
859
915
683
126
989
695
831
38
363
715
872
494
159
759
645
512
19
150
374
555
443
353
230
318
735
748
647
485
233
292
793
483
250
299
648
168
825
177
628
986
862
767
514
404
748
885
744
298
819
760
807
540
351
334
535
264
881
814
602
136
757
422
426
504
760
35
973
476
552
298
660
811
459
831
689
24
822
335
650
239
722
795
153
139
400
463
592
847
108
971
899
649
438
770
234
307
399
54
195
99
658
479
3
824
355
266
545
776
915
738
901
77
43
953
149
813
918
836
857
153
224
154
622
988
221
751
445
659
555
667
512
26
867
185
160
481
563
383
438
489
273
451
668
901
665
912
871
603
242
896
710
14
696
760
892
579
194
720
582
673
689
582
442
283
1
355
374
397
912
281
899
316
20
790
385
962
369
979
4
859
201
496
392
638
285
110
457
841
372
830
705
258
293
176
723
285
80
78
182
593
319
928
855
891
578
526
615
745
403
981
376
210
849
194
189
489
938
151
534
976
753
150
914
800
80
17
466
434
685
520
228
7
296
494
85
742
339
617
178
280
312
416
733
791
443
807
868
415
925
420
898
3
600
29
88
117
443
630
560
963
561
101
320
245
715
933
947
951
578
206
517
715
10
845
771
712
680
212
358
31
224
248
228
45
995
709
892
642
152
521
326
43
472
917
745
586
820
818
336
67
627
852
325
129
108
537
411
787
171
399
690
345
159
222
690
865
625
192
14
867
301
448
418
122
311
427
821
240
489
424
901
263
294
24
414
603
488
366
328
503
177
772
176
643
291
888
783
653
833
349
671
40
513
940
978
531
455
368
713
849
748
60
514
754
528
840
838
536
125
959
730
245
592
701
846
615
552
712
430
59
905
291
348
104
388
67
36
332
369
942
489
246
534
651
982
450
339
55
266
212
169
87
388
773
170
321
133
735
636
288
317
485
620
976
803
887
205
462
171
410
468
234
431
454
706
573
18
873
972
299
604
616
263
310
909
939
10
590
808
892
633
795
483
614
39
80
306
549
869
589
405
830
217
896
593
947
309
736
450
317
318
571
864
505
125
878
271
669
285
584
163
270
921
705
163
201
554
107
143
274
112
269
362
431
493
70
613
153
85
916
691
259
590
971
290
724
367
873
596
178
225
54
445
478
299
743
879
109
176
755
360
207
946
443
672
676
188
564
771
207
238
336
456
17
236
698
729
770
573
603
182
450
348
224
544
929
378
93
779
592
86
529
759
654
361
198
619
750
66
281
300
956
447
505
724
665
115
281
251
614
626
251
777
958
942
846
924
470
218
856
227
835
422
607
147
518
275
37
49
908
870
895
941
218
125
294
957
194
908
74
23
766
280
769
113
640
795
497
810
263
215
759
647
735
327
954
833
995
734
397
523
75
679
779
759
281
934
275
563
922
792
993
433
594
987
22
681
121
177
136
620
913
240
111
614
945
242
682
373
516
365
420
718
696
513
178
199
663
551
299
615
152
359
504
457
890
972
185
757
188
73
905
653
851
25
16
190
151
450
673
570
937
72
977
82
831
192
639
396
113
673
333
815
91
781
865
284
685
556
390
687
512
663
176
20
958
802
824
519
616
870
433
720
984
989
932
737
505
438
688
735
868
288
540
710
2
234
614
190
323
736
618
407
623
52
858
831
453
189
845
667
960
100
216
106
946
679
671
631
308
237
755
659
157
181
615
157
622
564
307
656
772
6
847
230
133
256
947
629
16
331
303
712
201
714
379
751
613
586
864
946
243
439
352
731
958
701
364
40
822
206
510
743
195
432
448
866
211
427
327
73
171
284
546
86
37
801
5
410
474
733
492
744
824
622
497
942
1000
771
542
236
513
354
36
712
765
981
828
708
302
342
822
877
916
654
504
165
387
763
761
819
155
673
113
875
425
191
397
272
19
155
930
831
813
378
435
900
734
94
327
352
107
127
499
989
602
488
397
110
171
358
13
193
114
688
385
132
878
741
366
497
262
963
675
583
457
496
733
835
752
508
364
385
804
244
218
28
63
405
692
958
351
993
195
971
581
244
838
649
323
658
11
251
246
421
867
642
456
691
423
617
430
338
832
405
519
718
436
970
996
989
310
961
216
268
418
814
753
683
889
558
306
978
651
335
756
882
376
514
10
880
700
532
159
396
744
303
53
624
255
80
591
425
89
181
917
771
335
854
236
181
118
892
126
495
998
276
105
85
931
273
667
332
955
928
182
770
125
792
856
813
729
100
410
388
487
326
254
121
259
187
734
945
787
738
438
115
84
136
639
673
458
36
737
340
512
339
903
647
165
183
248
896
412
679
519
176
540
845
711
264
523
624
997
662
607
639
95
461
436
573
489
950
658
669
952
136
618
851
462
391
605
415
892
475
158
60
867
106
74
266
744
13
96
686
8
201
765
249
254
734
501
151
576
900
845
758
376
65
680
730
548
862
392
333
523
626
180
16
912
143
159
787
317
845
448
850
428
562
189
236
718
816
327
897
869
445
24
825
568
999
759
291
468
1
567
216
915
627
343
33
509
793
822
120
686
945
662
50
290
77
70
434
541
629
490
113
889
959
228
792
990
7
302
22
464
645
414
556
110
942
723
743
32
240
996
575
436
499
801
419
937
861
635
250
870
738
264
434
459
31
99
697
673
276
140
953
280
609
857
84
888
453
404
612
758
731
739
410
770
236
521
291
219
510
165
311
49
209
55
140
717
477
720
662
123
279
721
281
981
9
100
53
493
939
531
871
496
217
683
415
39
226
933
445
931
53
263
374
965
719
75
712
363
606
702
106
487
193
599
242
18
838
530
760
605
809
615
706
467
240
749
754
536
923
723
602
510
151
382
476
647
905
268
643
172
725
514
211
960
571
180
230
546
788
854
331
563
85
78
684
434
69
98
57
525
455
510
174
974
549
588
335
115
978
489
501
739
911
63
640
447
254
702
172
995
329
504
745
843
628
62
446
80
88
346
762
530
172
464
260
114
774
585
10
478
574
927
232
494
19
536
503
477
549
482
151
881
34
273
112
777
627
476
637
642
436
17
702
875
440
169
891
941
87
982
797
285
865
787
725
949
941
472
569
361
642
401
274
879
151
218
205
526
325
299
91
787
893
252
950
462
682
738
532
372
680
819
388
118
910
212
620
209
128
105
735
605
267
643
797
136
432
802
233
309
1000
133
268
742
17
771
908
813
676
176
825
177
131
330
270
448
267
461
365
721
345
939
743
569
628
687
497
841
205
288
876
873
202
4
935
678
532
73
646
356
93
995
587
169
102
971
381
729
846
339
531
283
684
588
140
379
567
546
294
45
700
390
558
214
229
411
103
335
969
903
495
958
298
78
56
650
287
686
14
746
16
868
367
299
833
852
501
92
980
254
121
721
628
162
976
558
861
634
211
904
547
954
889
713
389
796
392
98
616
427
967
218
963
220
610
281
582
55
891
101
490
605
48
87
1000
148
880
577
339
278
561
158
318
826
453
980
493
367
421
112
702
927
948
641
293
888
546
605
588
627
581
798
365
146
655
174
206
777
102
868
600
83
2
829
550
236
345
666
308
473
630
606
543
721
231
392
893
117
320
519
390
937
14
488
683
413
653
638
340
5
831
674
757
968
863
242
364
474
847
761
899
127
420
250
471
414
554
74
34
578
495
393
666
373
21
548
757
420
753
834
774
215
145
857
829
337
141
190
628
113
207
131
744
781
597
159
356
202
278
115
729
298
859
226
753
680
288
838
799
402
795
129
983
361
786
125
724
633
934
67
86
964
725
546
21
697
124
844
49
644
785
620
339
832
489
403
405
539
68
361
843
799
112
469
623
361
192
501
470
133
123
248
754
288
102
971
159
555
114
394
88
681
136
464
429
694
58
696
805
404
152
177
910
500
160
200
852
747
770
53
696
5
312
718
550
249
22
101
627
324
79
926
648
908
969
645
876
33
394
521
830
579
82
563
430
329
383
133
910
557
430
859
365
610
8
951
189
627
999
146
983
370
428
274
737
92
660
883
223
557
290
445
565
557
616
423
910
786
340
861
938
482
362
238
753
49
56
41
314
774
466
870
163
822
213
933
652
947
718
463
288
713
568
934
62
601
445
950
852
36
75
327
60
259
60
222
683
970
326
83
890
820
115
873
27
191
125
249
673
148
443
342
18
112
379
368
355
574
161
536
922
146
738
643
703
323
606
276
5
617
647
801
836
134
489
132
153
225
743
864
18
608
830
490
599
206
773
285
721
27
468
937
372
579
461
153
175
693
194
277
326
133
989
427
916
31
820
781
881
34
29
407
41
994
719
494
808
216
502
895
195
529
651
679
703
930
476
756
490
128
912
732
997
109
900
835
876
730
125
153
608
445
79
437
684
501
201
403
622
307
80
830
332
250
291
722
592
913
488
470
440
513
768
257
336
391
190
916
833
561
543
65
328
622
115
635
174
869
271
828
74
16
96
148
219
796
233
370
54
607
299
249
926
510
967
298
117
127
866
212
909
424
926
350
432
928
735
245
975
655
728
293
361
927
772
594
737
288
798
435
862
939
677
51
528
453
444
103
297
69
315
793
122
498
681
648
746
39
409
770
991
755
334
828
196
600
769
96
75
700
250
644
219
424
482
159
331
492
638
949
1000
129
741
388
525
196
859
438
829
310
228
911
10
173
213
824
421
747
253
528
493
439
515
301
677
160
35
740
5
990
521
614
747
176
846
765
587
377
501
330
515
388
899
761
410
41
507
128
857
659
199
711
333
178
142
201
301
59
741
673
122
165
878
100
938
90
769
361
838
801
220
594
708
75
993
247
106
890
275
390
414
880
954
667
284
942
523
789
93
343
959
608
740
992
835
608
582
63
268
160
754
837
50
950
424
445
440
822
751
172
653
667
448
139
45
125
892
435
355
571
659
279
130
285
222
343
636
760
281
153
154
826
893
423
534
607
88
206
281
407
187
29
251
266
365
521
239
279
325
629
360
776
128
171
141
105
311
383
671
76
460
83
976
82
286
273
61
541
76
318
659
586
143
312
810
848
477
900
852
788
385
595
246
265
321
596
955
945
461
219
757
692
849
292
958
337
71
335
465
40
509
850
70
46
188
855
104
772
114
609
310
32
771
584
928
696
169
899
477
224
406
791
665
340
212
241
181
570
383
497
857
484
296
103
861
268
930
994
95
695
973
371
958
620
588
364
989
932
385
924
678
223
988
22
897
565
332
960
17
457
494
550
722
383
431
967
972
474
464
335
332
421
730
476
117
141
117
798
401
702
380
12
969
651
234
210
715
206
242
855
815
752
194
391
257
665
536
538
938
815
77
780
610
2
894
206
398
172
822
681
484
515
431
233
820
462
676
675
420
114
702
753
837
918
435
483
963
209
650
986
134
815
193
791
869
83
912
511
259
529
613
823
129
819
105
880
636
923
932
655
880
126
939
209
440
3
216
563
486
633
280
662
272
63
578
917
349
500
529
940
814
778
361
379
259
411
922
206
874
934
526
449
310
292
618
59
510
775
721
602
705
331
692
467
149
158
785
558
995
134
394
813
894
982
661
434
547
101
278
416
419
588
967
815
295
346
81
214
150
98
706
9
77
756
455
468
644
898
859
992
106
4
913
648
357
714
841
835
380
621
612
900
205
996
73
617
75
431
827
721
611
564
139
90
225
959
232
754
963
722
284
640
242
619
357
843
645
306
229
278
78
787
826
730
85
353
546
714
70
71
241
57
481
371
86
760
780
374
830
562
139
406
187
589
376
575
223
597
597
355
662
634
355
910
954
393
958
250
796
115
656
396
577
689
114
457
846
495
472
855
490
630
777
3
782
365
299
403
831
89
504
480
252
538
41
458
78
786
135
248
19
366
200
615
192
865
317
873
346
545
468
961
430
819
51
35
76
947
269
672
191
906
425
327
397
219
41
965
503
450
966
692
521
198
330
740
22
677
288
420
771
390
968
491
643
974
954
936
817
43
918
331
101
716
740
819
43
583
557
194
170
61
709
779
291
426
470
559
318
355
794
524
456
447
42
274
936
38
792
745
692
610
407
313
508
199
964
668
198
548
550
547
327
171
655
876
828
91
616
862
624
822
612
367
23
29
720
202
229
419
931
48
783
622
823
381
115
221
806
123
694
626
457
728
449
195
496
85
219
855
362
910
13
494
208
270
767
555
337
517
95
600
796
171
261
92
839
228
232
264
474
981
200
755
156
650
407
653
950
65
459
651
184
163
564
335
676
318
297
3
120
347
555
6
117
619
338
343
612
823
889
97
242
837
485
383
183
602
884
654
634
93
28
571
962
252
94
154
919
242
421
623
30
491
124
120
426
773
471
527
941
14
190
708
254
592
930
800
199
655
49
643
182
389
719
19
761
202
144
162
89
552
283
895
855
459
101
843
804
831
807
398
667
373
917
479
586
207
292
724
702
327
469
383
622
676
711
104
862
908
204
769
263
911
753
730
547
753
118
111
880
999
886
328
327
296
389
614
554
706
713
130
996
490
286
197
994
2
891
281
36
853
199
638
385
770
66
937
814
408
929
757
74
932
590
583
59
352
570
811
275
435
989
336
406
536
629
460
224
807
436
255
73
90
218
988
449
244
704
926
963
773
456
631
99
433
344
840
752
879
420
195
478
563
76
333
742
783
287
334
245
237
633
119
563
459
497
143
931
244
539
668
990
553
84
955
702
387
566
958
452
838
509
491
557
838
858
372
19
140
627
759
373
717
956
754
924
62
651
337
475
858
219
901
919
88
205
946
669
959
368
1
17
906
865
453
891
593
156
793
419
18
763
692
922
764
391
471
676
990
150
761
830
977
805
589
392
898
9
676
65
35
503
503
14
827
87
539
392
1000
993
113
507
488
973
598
82
54
11
911
974
292
61
870
28
180
659
630
516
461
530
186
733
912
571
996
880
13
700
836
326
576
106
352
700
695
372
187
39
742
801
185
386
200
18
932
828
859
583
815
947
252
941
851
45
246
463
772
319
387
759
241
361
933
708
622
980
518
825
403
347
31
735
275
917
607
460
829
391
602
206
36
233
32
97
996
893
238
64
911
959
488
708
888
888
792
501
957
860
482
124
665
549
982
98
677
292
782
113
112
222
822
620
741
406
381
327
757
940
80
205
549
254
813
485
818
572
229
941
398
602
917
400
357
53
590
65
294
484
353
718
298
352
637
269
645
823
483
481
197
116
647
859
395
638
424
879
913
164
184
746
325
678
373
793
563
248
97
522
586
489
524
12
426
768
998
89
688
254
166
223
673
366
438
595
506
928
786
137
70
564
218
663
39
493
276
375
61
881
558
145
963
357
551
965
858
106
73
890
241
226
185
572
442
645
771
276
308
977
877
819
627
126
511
479
595
344
845
315
561
679
661
721
431
469
467
256
328
580
874
1000
566
613
760
702
537
167
222
11
861
576
527
906
42
218
126
282
888
639
247
300
192
217
796
730
487
67
51
7
247
167
135
148
523
474
361
980
870
900
319
353
385
610
23
156
816
37
504
978
984
364
12
203
242
44
366
162
266
30
57
762
254
44
447
606
527
149
744
264
603
315
488
750
29
463
954
708
674
660
227
50
701
797
696
1000
151
53
363
599
935
906
686
721
15
269
634
572
760
595
239
444
762
385
238
247
890
663
312
945
990
360
21
572
445
472
786
944
746
105
177
534
339
184
308
223
279
720
385
810
623
979
282
237
97
826
608
432
284
796
838
591
461
164
6
470
292
400
866
980
730
898
669
953
897
830
437
471
178
275
130
539
449
520
208
234
201
598
860
643
268
650
625
76
40
663
207
38
321
529
26
414
425
92
487
155
746
60
953
521
776
250
176
569
460
577
278
187
871
655
419
410
409
625
962
139
107
68
306
700
198
465
525
834
758
679
632
829
138
369
579
507
876
81
83
687
972
992
975
562
725
935
67
161
807
383
433
681
899
524
648
18
6
434
701
278
503
609
277
380
86
812
601
129
67
262
292
299
858
679
533
323
63
612
385
171
360
752
271
879
183
669
494
962
331
499
130
652
766
655
833
501
257
529
844
377
30
525
11
315
250
468
725
984
985
593
444
761
291
880
949
537
188
439
527
417
594
27
42
400
729
542
269
2
120
525
895
518
85
280
340
287
502
192
900
901
750
262
750
748
914
637
35
692
780
136
609
948
634
404
977
423
636
315
674
886
341
700
575
326
996
293
650
797
398
29
268
812
397
482
434
147
658
269
287
474
884
728
781
812
542
999
701
247
35
962
82
667
427
122
666
564
24
627
218
92
605
96
440
635
605
835
696
122
333
303
2
210
169
416
524
223
740
384
362
444
264
289
533
954
623
563
882
713
225
822
103
979
387
284
206
511
807
127
496
180
655
696
616
782
968
440
257
860
321
795
904
297
192
36
393
271
58
269
93
955
3
332
277
954
558
354
581
99
555
128
498
630
13
243
553
230
457
138
99
635
625
851
731
724
209
254
920
134
139
995
799
405
914
209
4
595
693
276
81
116
137
576
261
276
494
228
320
616
83
260
868
702
77
521
612
442
465
926
85
374
195
280
854
593
714
38
470
197
588
819
270
135
436
418
682
371
147
327
861
119
240
520
340
720
266
334
846
392
357
839
635
715
379
977
439
193
666
119
666
664
961
391
536
629
48
308
688
817
509
763
151
403
194
415
750
368
283
852
673
400
271
704
412
598
806
29
287
6
86
905
512
640
417
134
134
262
647
359
178
613
375
707
47
216
262
275
551
107
298
380
932
103
569
531
922
258
952
498
153
193
147
686
244
904
653
261
469
433
596
135
218
558
814
934
385
249
239
581
416
190
399
936
978
115
833
250
150
44
300
847
543
752
933
520
38
1000
915
647
633
74
812
898
480
199
445
724
333
242
72
519
494
926
669
464
838
445
346
583
627
999
233
463
683
254
738
423
891
132
710
672
190
690
883
110
936
31
955
17
982
343
788
790
916
197
525
301
623
167
840
166
752
686
184
438
744
822
619
800
754
298
759
309
216
656
430
174
800
950
868
814
202
708
675
674
546
214
296
894
191
341
478
919
354
259
26
598
319
364
196
129
908
676
208
469
578
756
721
436
721
950
569
834
736
364
701
334
991
534
59
764
57
178
99
674
512
789
722
778
140
52
707
899
598
267
85
586
478
984
535
429
225
76
572
413
553
314
196
378
851
320
722
720
554
462
703
41
621
843
218
356
57
57
307
792
908
777
10
464
234
581
280
369
406
622
41
663
440
891
779
671
228
858
354
330
246
217
194
531
711
306
588
26
261
525
621
118
894
758
150
364
319
334
352
908
872
582
562
868
857
365
531
389
479
313
772
633
584
627
365
932
14
455
433
827
755
816
544
499
966
995
428
343
643
118
752
125
934
349
159
143
32
802
425
335
220
748
371
106
823
206
141
927
781
289
522
426
80
979
296
804
510
145
982
851
95
687
951
775
48
669
572
335
312
168
2
491
582
385
210
880
181
214
67
967
349
98
692
639
287
485
721
337
779
620
874
568
325
726
1
787
511
835
770
178
760
686
299
837
717
114
340
205
249
329
45
397
458
295
989
217
162
211
840
264
12
732
44
492
780
136
905
9
400
145
726
694
3
444
21
402
551
262
393
166
653
563
329
819
820
484
67
867
700
670
652
305
821
73
521
286
993
583
224
209
766
595
436
848
333
248
974
577
788
599
411
649
966
434
757
725
937
790
832
537
826
489
188
665
820
159
880
865
116
290
948
318
77
832
189
450
54
733
736
677
169
607
930
559
868
383
246
360
165
435
338
940
373
147
808
218
501
315
954
236
710
84
604
928
908
356
91
310
80
715
590
746
973
987
314
280
556
443
527
851
34
558
932
331
299
951
757
944
368
810
783
594
775
685
626
40
885
967
829
640
786
801
695
619
773
427
337
398
408
160
140
573
814
297
650
543
169
269
967
612
315
252
831
656
44
254
966
61
877
469
698
708
105
241
516
232
442
610
16
662
893
758
665
776
334
106
861
255
871
15
105
713
256
217
440
256
513
186
959
52
440
614
868
740
875
42
499
181
404
480
694
200
730
561
218
455
48
339
166
530
595
373
878
650
7
143
537
185
227
151
437
222
505
311
905
76
442
315
999
531
147
752
373
989
304
663
191
471
353
69
540
584
53
787
585
166
410
465
596
281
323
394
93
677
327
68
542
571
505
890
458
876
968
679
298
565
321
842
233
924
157
166
728
824
956
184
914
32
721
4
841
772
307
272
98
418
671
696
699
249
215
166
827
648
985
58
790
994
724
735
498
777
694
619
893
118
733
462
1000
983
234
603
709
864
597
53
961
587
257
258
754
206
526
222
249
677
388
501
325
83
852
253
131
726
595
117
510
328
512
220
725
898
162
16
552
584
307
960
645
963
455
273
64
765
790
170
980
4
948
939
874
850
850
250
5
321
202
868
508
87
333
737
265
239
769
46
601
870
280
459
932
712
222
160
734
875
610
764
571
933
766
392
480
239
334
444
715
341
136
678
673
827
634
204
900
733
747
931
173
909
381
810
39
381
299
943
639
771
935
256
289
347
283
977
95
81
299
585
812
414
117
277
288
59
963
210
58
308
850
984
123
736
24
858
476
146
650
197
692
871
409
500
801
265
532
172
659
319
279
873
298
888
28
888
27
899
960
466
620
278
767
477
561
65
969
77
167
310
158
255
369
934
973
313
92
652
646
332
437
465
763
629
359
959
237
61
109
846
577
792
475
774
260
785
803
385
347
863
811
51
564
649
476
459
708
76
651
479
607
446
600
320
851
211
360
33
156
740
682
815
553
347
315
432
538
766
582
302
955
80
496
414
661
819
169
342
939
594
890
31
259
152
59
941
169
187
81
360
69
596
478
408
135
110
692
328
888
405
507
125
788
852
567
566
735
57
227
777
582
204
825
469
556
2
545
853
26
748
205
894
191
593
704
451
55
612
319
160
559
698
767
713
824
608
734
284
262
711
572
413
741
126
3
639
69
972
946
517
830
385
62
426
988
824
188
763
751
916
619
684
885
792
94
561
63
377
440
712
843
631
37
750
556
74
674
127
742
225
889
47
745
800
614
949
748
575
776
193
844
851
529
398
670
370
966
140
813
329
476
348
402
876
391
801
307
111
225
578
898
126
571
173
605
81
696
280
393
660
974
890
856
490
552
479
817
292
71
495
223
571
844
299
627
656
604
989
756
756
851
245
489
501
843
461
72
116
505
937
547
989
849
840
190
886
58
963
207
480
9
76
73
193
872
773
661
539
374
302
749
339
484
806
606
152
546
773
53
265
339
259
859
398
169
637
349
48
835
183
828
58
254
838
808
555
575
830
46
897
889
699
67
608
970
421
231
620
88
987
352
280
588
774
563
722
802
515
412
178
894
454
156
735
358
575
825
840
275
376
915
608
857
759
518
588
495
42
242
197
283
962
591
470
969
827
300
119
361
625
758
149
515
3
788
451
416
514
6
841
460
411
435
6
770
588
292
681
261
971
672
187
430
755
363
124
20
449
185
649
97
566
36
236
554
161
315
256
766
157
510
8
902
527
496
81
426
971
556
32
416
671
205
423
646
83
649
176
837
479
122
94
48
159
393
100
994
790
458
453
951
367
805
740
18
653
658
928
702
773
305
126
226
828
941
25
455
42
476
129
64
937
374
39
433
478
945
17
743
972
444
983
929
714
954
934
486
56
342
451
569
596
458
651
507
654
395
415
611
74
828
217
130
645
377
192
298
129
503
361
691
943
638
66
527
63
154
770
112
583
269
309
369
681
208
601
296
454
752
582
190
177
809
832
742
101
814
964
408
775
543
336
7
277
424
86
151
417
518
765
937
161
157
117
332
60
623
633
784
429
374
588
918
380
54
187
621
599
924
288
398
919
434
956
695
320
330
727
742
4
116
60
610
544
662
899
346
962
489
674
486
742
553
339
756
448
386
237
493
602
75
701
167
927
907
275
391
877
414
365
988
622
256
965
995
311
568
784
979
463
414
780
675
822
519
589
732
857
734
846
328
364
581
665
520
313
782
873
421
142
889
704
780
227
25
755
39
109
233
961
749
391
175
235
53
927
689
213
24
6
288
212
830
803
765
143
67
258
941
583
97
887
6
662
917
776
71
715
886
155
279
874
644
482
314
917
680
951
180
708
295
680
915
528
173
620
283
425
367
400
551
475
270
895
183
511
69
315
643
428
240
979
535
676
894
777
991
897
151
487
555
966
273
773
816
905
995
675
686
201
326
851
539
87
135
646
383
263
981
323
873
326
980
426
229
929
990
281
79
298
21
132
835
280
586
246
440
543
632
607
240
891
837
483
311
906
280
246
747
309
936
301
316
478
26
898
431
551
954
865
515
403
486
51
752
610
844
349
642
145
614
705
992
213
684
453
734
97
986
619
471
306
455
612
734
641
449
852
745
19
864
417
897
10
304
785
249
96
974
82
99
589
397
34
89
16
677
983
352
492
784
937
940
314
263
574
131
545
839
550
253
820
616
248
335
37
975
309
244
815
799
917
968
848
357
801
345
349
57
385
862
811
252
307
101
187
493
799
42
444
917
54
704
148
953
743
546
381
171
343
626
804
876
754
794
154
29
983
56
789
136
343
839
154
69
702
101
206
145
787
68
907
403
473
960
858
732
268
205
23
403
913
516
312
575
149
680
424
592
197
70
17
195
442
709
723
317
151
161
968
793
760
662
864
123
460
685
661
444
318
544
386
959
156
769
320
414
769
688
923
615
819
105
641
626
942
972
811
31
168
708
528
544
762
164
896
383
961
290
581
984
925
200
938
74
385
728
301
641
114
507
187
39
362
314
271
335
808
676
28
1
440
754
780
246
990
89
783
573
208
124
648
673
310
313
52
357
396
232
233
69
482
362
187
424
92
102
849
377
991
140
786
827
761
528
100
945
396
661
296
41
972
918
855
530
785
875
111
472
26
870
859
155
183
176
754
431
905
197
216
860
953
929
28
216
215
354
230
596
515
603
242
198
52
475
353
788
907
329
866
59
965
484
206
337
5
977
244
566
446
965
945
89
447
76
212
537
614
780
420
17
568
169
755
891
32
615
903
669
882
418
39
916
817
924
343
618
933
566
457
166
481
976
413
956
546
558
541
623
178
961
811
98
794
430
845
10
269
363
577
402
217
282
182
421
404
55
393
391
110
423
810
643
523
824
124
594
918
17
442
819
473
287
75
262
45
816
187
357
145
399
708
493
625
809
783
215
330
11
798
533
58
870
749
967
698
193
288
266
359
735
304
288
595
261
304
169
628
894
168
757
564
741
88
249
178
231
622
121
792
700
832
729
138
480
424
410
873
175
644
512
566
856
450
561
602
633
142
677
390
411
180
426
697
695
422
544
709
974
380
326
633
558
363
60
272
744
606
534
22
837
536
546
171
864
379
339
204
777
183
48
65
575
164
583
979
44
25
842
466
758
491
809
659
554
865
835
903
973
854
429
854
39
237
901
15
302
240
544
691
322
598
408
863
594
404
311
360
492
774
469
15
943
250
11
193
445
679
673
216
468
936
204
683
499
528
323
679
746
565
621
123
30
28
452
308
463
571
678
797
352
305
130
395
130
174
769
890
283
532
836
599
926
501
726
547
114
517
920
260
33
252
92
761
929
723
406
333
998
16
97
4
495
469
680
519
6
600
488
789
167
292
814
364
103
989
607
584
525
719
552
400
728
795
354
753
691
926
231
619
121
314
941
447
537
27
149
831
448
548
572
630
249
986
155
708
723
809
446
653
936
380
482
566
854
767
733
70
261
511
84
183
399
62
407
596
285
602
6
202
867
827
95
409
988
60
551
931
643
754
318
205
179
50
268
578
862
550
785
687
741
876
24
224
830
917
632
415
427
882
684
91
810
389
734
192
657
894
169
903
260
669
511
406
32
414
911
385
855
317
851
21
513
72
973
212
878
893
54
114
475
63
350
947
805
934
940
167
97
561
235
776
174
374
518
509
791
360
248
94
62
263
852
614
626
200
919
225
757
904
29
145
958
556
924
856
463
772
370
962
719
846
866
956
102
828
275
476
78
307
599
251
562
87
346
66
420
40
378
547
973
559
695
448
863
937
349
454
825
924
561
199
765
500
155
312
31
549
650
850
919
785
663
366
258
723
831
225
411
946
102
501
104
208
85
948
331
140
115
72
961
484
854
306
806
761
500
646
641
288
181
877
53
251
660
694
100
322
290
615
417
979
35
546
839
228
492
306
594
918
26
144
817
218
578
576
502
111
193
408
953
942
70
877
505
172
734
262
557
483
999
124
940
296
522
616
266
577
84
909
170
532
222
858
319
427
470
477
605
291
248
661
251
723
417
870
398
346
589
145
343
735
578
938
795
789
767
706
402
581
765
124
309
711
448
62
713
51
355
209
212
566
486
298
237
583
712
442
27
479
393
999
391
267
289
727
990
970
540
723
986
981
296
790
677
845
578
413
172
25
73
518
274
232
866
508
445
876
572
874
171
11
916
837
74
913
592
76
855
113
138
567
513
225
651
969
307
439
382
785
640
885
652
753
348
383
72
490
900
282
734
507
662
187
933
56
681
377
944
174
426
635
589
477
516
15
636
939
786
814
547
921
932
629
742
173
603
923
343
419
31
971
292
369
202
387
864
718
140
721
852
745
69
741
113
619
109
97
755
447
700
52
950
333
81
815
284
514
73
829
557
664
830
27
185
45
434
699
670
77
991
95
174
233
362
308
830
932
768
310
319
197
324
202
176
459
939
925
440
790
164
660
563
253
266
114
937
802
252
744
3
355
610
713
673
241
228
22
713
211
368
873
813
608
567
727
289
66
26
970
772
359
410
327
765
588
943
396
651
956
377
753
596
776
683
92
815
207
311
767
806
455
472
935
513
801
162
205
853
902
624
341
666
227
473
97
956
409
16
705
238
497
168
890
910
838
928
530
824
348
608
262
670
453
862
367
344
854
112
279
203
598
132
924
8
615
402
863
396
16
344
961
918
963
690
826
33
846
73
837
981
839
348
951
101
627
332
805
1000
293
378
860
963
827
660
449
113
761
140
654
154
727
910
841
951
556
36
570
821
689
72
316
179
246
120
137
82
124
717
946
306
843
822
570
821
701
879
101
902
984
270
394
682
600
475
696
628
523
890
538
296
865
588
998
723
218
258
372
995
153
184
89
832
424
404
449
544
426
120
375
326
991
31
923
653
395
496
723
513
770
345
881
290
766
708
118
381
412
466
95
75
581
767
932
756
397
619
905
254
208
723
182
45
440
564
251
42
793
280
381
931
736
971
61
343
200
924
852
686
688
701
518
121
767
151
613
982
63
192
910
944
404
635
206
355
747
423
75
462
858
401
61
704
519
134
673
844
173
350
293
489
532
299
765
453
659
712
8
501
407
20
451
251
925
257
510
362
144
324
544
742
757
355
8
145
245
560
524
434
915
199
688
761
751
362
260
119
135
798
268
7
100
364
235
476
891
547
392
413
993
156
266
764
722
480
483
294
688
156
956
641
160
510
916
643
402
378
363
356
586
271
623
760
741
291
634
853
533
364
495
770
343
232
576
546
268
107
189
410
147
73
421
787
675
113
219
747
977
110
260
295
766
290
416
700
357
369
886
74
347
69
157
534
739
795
43
572
659
979
937
708
564
28
307
123
37
862
185
712
839
720
97
920
879
345
404
813
149
604
548
53
496
373
24
831
282
773
239
378
623
908
564
348
898
870
13
234
659
100
980
2
906
154
372
276
918
547
297
746
489
640
192
952
465
437
901
226
940
783
748
383
318
688
103
676
746
394
276
676
73
391
828
959
584
764
571
927
259
164
556
666
167
195
362
448
965
218
864
412
106
388
429
973
547
255
203
713
217
414
741
878
455
487
743
103
956
198
56
666
499
402
433
381
891
754
764
257
83
70
611
129
407
599
929
835
225
98
794
893
52
74
792
283
407
556
509
689
210
521
199
467
552
450
270
701
30
515
726
900
689
592
70
341
768
631
447
537
96
923
13
53
997
424
624
747
978
651
915
501
331
599
777
702
981
757
37
49
610
580
893
727
86
724
261
669
714
910
743
364
695
559
364
673
424
226
569
182
952
439
233
911
28
731
603
591
598
573
131
332
569
394
177
187
916
102
392
60
936
326
406
401
568
123
147
364
206
34
672
454
368
171
952
175
924
523
416
913
298
735
417
51
244
443
962
348
312
649
224
720
98
735
362
862
734
431
117
608
834
499
515
524
304
907
755
991
990
23
22
967
156
703
524
666
126
191
546
666
302
430
676
285
897
720
640
677
405
658
409
746
796
947
291
849
900
990
757
294
227
99
675
773
760
843
385
211
852
276
850
8
461
746
677
253
374
593
381
327
948
247
708
219
193
190
132
23
643
767
983
312
603
68
721
537
810
970
38
156
455
951
363
921
817
485
277
657
468
646
106
919
103
76
660
58
612
595
685
678
889
567
96
866
234
578
481
356
953
124
660
525
859
777
341
153
1
721
3
997
833
664
224
526
447
864
553
620
252
402
931
621
645
920
386
924
826
735
393
176
876
618
873
257
628
565
262
425
652
561
463
407
894
673
796
770
114
834
224
579
291
290
268
239
596
35
995
400
349
487
396
999
648
314
277
822
963
568
523
448
71
244
204
94
156
946
548
650
754
622
235
167
513
197
830
137
384
520
402
206
982
250
569
343
309
164
249
84
947
923
391
196
123
491
819
3
763
262
135
629
756
444
292
659
175
384
66
38
136
357
152
558
290
789
19
950
710
997
989
416
43
346
203
427
391
103
302
755
312
407
652
966
709
500
910
117
134
754
564
926
241
127
839
522
664
348
20
742
607
552
809
64
842
71
817
452
579
808
656
812
908
929
396
299
118
639
334
377
214
422
125
444
382
482
340
817
1000
33
398
31
998
766
680
764
60
44
309
154
165
362
748
916
473
145
882
478
374
270
710
287
833
528
92
537
810
868
289
871
639
435
170
975
718
309
26
601
783
367
929
264
306
896
415
755
311
394
102
648
966
522
501
198
873
305
919
348
875
501
817
118
548
517
431
289
277
372
766
126
968
985
296
876
991
516
825
895
912
543
39
581
945
657
157
704
799
400
2
365
802
588
526
551
755
739
493
199
949
702
611
722
185
637
849
220
439
150
76
960
15
741
430
262
648
727
32
630
37
437
752
815
723
804
727
527
37
440
272
656
120
887
603
215
620
39
551
682
763
648
59
49
915
425
780
718
652
492
558
269
592
838
918
311
952
11
918
812
849
469
927
785
868
896
915
741
314
333
835
74
861
130
561
424
26
573
622
104
2
573
660
877
921
888
167
746
516
236
513
891
514
60
744
603
816
858
892
857
670
778
805
156
581
585
623
428
685
212
31
34
668
869
424
406
56
53
904
438
929
893
830
511
651
969
278
969
213
106
342
909
193
689
688
405
114
718
144
666
219
169
388
167
264
218
19
499
973
548
352
528
226
254
317
492
869
848
738
798
280
459
86
645
487
634
533
36
655
53
740
431
248
80
389
37
14
305
865
724
218
153
873
624
237
178
34
770
691
878
624
514
798
758
748
78
506
873
160
274
302
276
852
381
249
640
314
136
969
823
50
66
778
283
547
696
116
80
388
705
748
647
620
762
951
654
800
599
50
54
362
872
212
837
96
466
361
113
531
249
469
888
3
667
201
302
993
222
122
158
110
631
205
282
724
362
416
642
853
348
511
150
356
881
2
798
877
102
451
83
267
37
862
697
407
814
971
92
449
584
645
862
491
655
455
828
643
522
705
350
209
819
868
657
480
675
403
932
240
603
416
463
616
867
470
442
376
178
127
873
91
714
484
624
858
713
43
875
424
291
752
70
644
732
938
33
147
216
164
71
979
852
749
744
803
899
803
466
865
304
138
264
617
987
376
827
310
870
860
444
346
272
760
552
462
141
873
390
40
580
206
704
994
231
347
504
696
415
25
678
345
349
23
606
62
369
775
28
698
871
573
110
59
574
284
31
782
805
902
441
568
723
23
827
894
799
566
164
570
407
671
216
722
74
723
529
882
811
880
437
855
942
307
388
967
26
579
521
85
796
335
685
563
502
338
42
857
715
537
988
119
403
613
353
501
79
727
767
273
896
912
635
82
845
587
359
868
632
188
347
8
367
805
856
231
950
2
904
736
918
722
344
718
559
273
661
210
299
936
224
750
733
644
549
872
177
515
550
843
277
781
932
386
63
766
612
352
788
155
519
414
51
725
204
937
983
94
422
66
733
796
298
970
104
178
679
898
924
210
67
391
691
249
832
550
91
242
478
729
207
619
397
410
641
349
899
303
323
251
291
897
445
658
440
809
859
975
566
241
259
489
971
819
650
43
25
865
929
824
39
892
877
562
545
739
523
909
129
312
602
617
201
308
794
411
978
686
558
133
522
874
598
804
910
880
440
766
445
530
189
913
382
41
225
393
818
13
519
790
211
693
294
983
533
99
928
347
182
137
374
911
598
391
898
426
1000
658
560
10
767
616
740
223
789
257
952
920
521
803
360
256
590
921
664
521
518
939
521
285
580
644
232
516
811
989
214
876
952
706
685
454
447
367
61
522
676
940
807
751
252
241
871
510
589
977
347
497
905
280
765
945
526
706
206
121
615
701
494
617
453
438
869
198
4
737
863
635
790
520
604
948
4
880
390
5
417
364
182
243
869
528
606
566
21
166
166
154
629
875
636
981
796
763
7
357
559
187
952
687
651
398
492
933
511
798
449
1
422
368
296
369
173
461
236
784
776
788
674
817
605
908
787
358
763
970
541
902
620
732
339
601
240
154
479
635
851
955
698
377
599
570
436
228
578
901
831
746
528
78
127
869
656
225
897
631
749
873
417
749
118
228
612
846
946
993
201
900
291
800
86
687
341
610
551
635
507
628
538
491
614
363
153
654
728
513
517
856
144
193
297
102
692
922
540
433
755
444
941
140
387
126
283
476
444
201
627
831
951
552
721
566
784
116
259
380
324
200
857
202
968
198
13
41
229
244
949
163
697
314
902
239
331
180
360
831
367
387
770
698
637
133
440
898
267
527
724
644
476
187
79
132
742
589
275
368
645
849
825
123
532
886
725
703
553
14
713
200
730
60
537
225
433
48
202
922
91
333
743
214
972
832
859
838
626
639
635
691
927
914
686
434
697
370
262
69
566
98
242
443
73
723
521
227
11
108
940
944
651
892
830
55
826
178
179
927
792
582
684
769
412
680
195
247
498
601
595
550
66
169
779
147
863
499
181
307
761
433
260
773
524
506
452
609
5
435
387
356
61
248
523
104
331
248
20
992
551
994
305
948
282
344
760
183
742
397
932
72
949
864
923
583
538
998
937
322
398
715
491
615
776
952
460
778
587
619
952
873
475
737
998
799
574
473
157
517
37
823
468
603
127
638
591
45
88
539
608
423
46
9
718
159
936
631
974
545
799
992
271
617
834
249
68
780
280
746
650
269
514
342
354
165
799
302
814
691
705
718
187
951
610
419
312
100
576
234
921
175
581
306
355
469
329
874
723
364
814
551
58
23
384
694
853
177
327
884
265
540
873
873
436
36
98
644
585
134
395
356
993
40
85
35
548
439
244
836
254
719
21
576
14
384
555
54
12
427
95
315
237
970
95
662
54
426
836
704
220
729
636
128
427
959
781
231
273
803
131
434
555
866
766
172
890
794
137
544
994
536
921
91
375
839
211
891
823
263
695
929
825
562
218
357
958
286
497
816
397
844
760
498
894
77
791
954
977
582
201
999
662
675
715
199
671
857
968
587
3
115
560
186
730
197
112
906
33
251
704
132
844
856
308
84
933
535
810
661
910
284
779
974
412
533
391
281
698
209
834
323
975
252
59
360
42
25
976
343
266
553
51
728
461
384
800
429
999
230
856
259
343
192
123
16
252
529
31
56
104
428
65
797
141
175
533
89
947
449
31
816
146
199
153
408
130
725
804
146
604
119
883
301
880
175
205
165
141
281
292
988
348
514
25
654
68
396
260
741
260
313
192
202
998
594
627
526
136
677
374
678
217
524
612
530
248
727
479
728
569
317
72
202
692
307
754
559
880
463
931
650
228
592
448
488
184
886
377
524
777
531
238
998
282
788
634
739
727
287
877
283
391
49
414
659
437
112
781
528
910
240
370
594
580
325
492
411
570
552
129
733
229
320
243
557
491
180
751
876
823
789
72
946
907
981
676
571
415
568
197
499
588
436
510
528
832
798
602
343
227
239
221
412
663
320
51
485
302
44
582
397
198
481
978
882
199
178
933
69
726
771
965
158
594
382
616
564
836
981
766
435
393
861
636
46
608
791
73
44
713
204
407
879
843
975
506
72
711
983
647
124
729
645
497
14
248
61
760
206
583
211
69
998
677
930
289
886
564
978
672
323
279
621
270
872
512
566
569
318
87
981
572
716
282
568
463
728
156
383
542
827
252
127
318
142
524
156
562
744
867
356
594
193
383
289
322
6
389
784
339
512
245
214
915
253
229
238
862
679
111
719
66
403
518
853
924
668
915
284
93
39
804
130
669
505
759
396
424
348
23
208
749
146
719
651
752
237
140
800
340
802
231
674
162
494
97
438
31
202
329
182
810
90
975
977
752
540
260
723
994
8
500
523
246
76
237
898
685
188
300
216
756
650
358
116
860
474
552
532
893
582
952
187
217
658
911
48
909
710
881
297
107
997
871
832
804
533
557
168
755
809
951
887
998
729
706
458
115
17
343
328
513
498
133
693
931
742
936
214
869
506
25
297
839
331
831
214
170
388
546
497
601
406
776
527
56
70
751
182
779
821
129
744
510
379
93
992
467
622
278
561
709
703
30
203
874
389
642
532
372
662
517
206
873
557
643
281
331
51
381
621
826
597
319
856
262
530
881
365
277
155
442
138
800
806
934
206
345
520
311
496
477
291
809
620
895
31
593
102
209
478
290
983
823
296
877
584
274
520
586
422
31
316
816
956
997
750
496
855
934
897
19
973
592
137
623
35
571
959
78
369
878
907
624
635
657
592
369
628
818
821
790
697
159
992
536
231
84
854
471
964
226
627
796
540
119
253
103
929
550
247
452
762
392
217
874
626
507
611
269
650
805
693
282
481
633
30
607
886
465
17
126
761
300
104
446
302
262
391
669
432
637
253
706
382
988
439
24
468
66
917
508
710
920
325
10
922
5
525
260
295
106
171
12
299
583
617
727
946
782
772
601
41
452
699
465
124
659
832
948
163
20
739
277
949
1000
219
293
357
691
371
569
279
727
980
984
102
947
206
776
52
1000
92
870
585
343
845
221
300
966
203
52
484
764
456
77
527
663
832
277
910
511
47
316
357
249
789
473
71
57
772
787
653
51
788
223
442
546
903
823
509
108
486
171
499
382
325
26
803
189
458
643
328
472
667
104
240
478
829
5
638
971
425
934
47
392
549
518
1
599
711
219
760
237
567
714
355
868
467
403
775
651
373
567
75
804
271
722
579
54
660
972
169
987
100
554
849
557
81
300
385
996
649
443
845
29
359
61
300
599
92
455
759
292
217
927
671
248
372
758
961
642
876
652
615
742
407
569
310
157
117
642
409
109
809
853
959
498
126
207
966
60
986
448
326
158
632
760
283
592
745
466
158
373
57
482
421
563
740
163
870
141
682
224
802
338
411
627
575
65
59
659
895
818
242
968
488
976
152
970
566
455
475
878
623
538
962
575
671
63
634
711
970
296
606
664
669
530
479
491
563
875
102
579
318
744
237
473
131
283
342
288
755
324
249
166
238
527
986
491
501
988
369
955
111
5
281
106
209
636
750
720
565
365
26
182
185
487
869
95
699
808
181
479
3
844
903
263
308
28
859
261
743
321
829
430
165
251
684
50
678
624
854
369
612
80
754
380
440
199
34
691
129
102
702
797
975
347
210
722
812
462
592
652
834
628
607
140
933
872
629
436
609
641
722
765
5
743
937
679
551
507
361
145
39
415
882
699
687
643
930
829
899
680
682
695
969
652
361
488
953
65
286
974
274
419
264
249
427
569
780
324
289
738
190
920
156
830
777
799
598
57
101
974
633
904
559
447
503
171
423
449
564
140
944
732
403
943
283
160
323
834
115
691
756
390
807
863
5
639
908
75
948
710
584
258
992
920
290
17
603
88
652
999
212
530
20
966
146
359
644
79
516
694
729
938
661
862
923
248
843
975
904
332
353
62
853
361
114
518
524
836
154
786
544
791
12
39
324
204
293
134
695
313
83
248
936
900
853
418
406
87
844
691
386
902
642
691
47
655
797
189
697
175
912
720
584
83
553
351
572
576
737
468
937
641
478
861
403
228
95
418
262
677
532
492
104
612
950
333
257
571
241
62
479
918
904
274
858
912
965
786
145
403
191
957
937
298
899
727
229
792
94
792
868
404
466
311
327
984
60
171
71
210
48
100
475
582
86
851
904
523
222
299
110
25
152
500
504
215
914
689
265
324
779
757
452
792
174
943
480
695
991
365
371
206
472
542
176
586
244
228
823
46
704
743
472
884
121
466
103
512
334
304
690
311
830
797
824
807
342
921
31
288
837
840
375
845
909
594
159
774
147
152
631
420
6
367
696
862
63
98
527
232
330
163
842
146
457
885
362
408
242
651
629
128
866
327
930
428
650
372
537
182
951
188
870
576
1
575
464
857
129
181
815
333
811
456
285
516
426
954
235
349
421
785
493
606
853
641
58
881
877
96
659
64
851
819
461
853
143
927
689
622
616
949
420
928
43
791
138
54
337
624
891
230
632
857
48
606
672
224
747
624
907
529
59
156
988
796
813
688
32
399
779
846
188
247
627
773
519
261
653
232
157
173
788
800
25
159
813
205
140
927
1000
684
692
672
660
201
597
733
177
531
222
884
150
484
338
942
228
6
87
760
34
508
994
765
374
508
572
875
539
634
107
50
123
57
567
707
220
718
414
957
253
29
281
949
985
344
106
586
431
137
317
554
518
716
125
916
316
306
762
456
595
485
794
624
273
327
242
185
33
23
329
608
49
450
99
838
251
920
42
323
39
287
124
95
697
721
278
227
987
696
528
251
612
173
386
947
250
526
56
474
882
499
289
988
984
361
447
728
959
471
427
56
863
677
642
87
92
305
156
349
192
40
433
392
361
638
874
377
543
248
468
449
236
116
450
156
247
552
790
233
678
359
734
852
390
368
343
809
984
319
219
212
155
105
108
917
898
306
142
358
621
17
808
432
704
204
581
780
400
217
346
162
298
628
344
607
709
249
414
679
482
74
711
498
744
866
934
153
950
299
313
716
480
899
272
389
728
469
720
235
241
378
392
519
42
839
517
957
670
279
372
68
853
993
936
362
958
559
974
347
550
889
334
186
434
366
170
368
541
269
72
952
902
561
825
761
727
154
601
437
313
972
943
375
95
497
791
408
655
985
163
543
930
209
821
205
162
410
422
195
366
129
168
14
213
727
975
304
280
666
502
894
529
139
181
339
764
159
541
912
536
56
739
714
652
209
150
946
999
908
307
413
859
518
263
7
303
441
661
273
499
985
400
147
984
878
837
607
47
95
846
296
374
602
930
142
3
865
795
604
481
239
459
479
818
861
995
121
459
309
500
514
65
67
711
900
283
812
988
551
89
612
44
851
497
419
884
47
624
638
920
929
142
142
113
199
129
819
283
491
234
645
470
841
807
303
307
900
396
576
904
340
566
101
676
711
519
573
859
466
408
180
221
19
552
834
603
429
968
801
483
804
798
405
718
547
210
848
981
351
320
562
171
251
514
183
264
75
321
953
655
386
628
293
16
350
615
377
111
12
247
740
791
144
551
359
616
156
186
203
161
573
3
902
63
239
401
109
341
685
284
68
298
121
332
137
585
65
114
286
660
971
320
111
897
89
975
521
78
429
77
51
876
917
508
712
165
756
452
397
729
545
769
104
975
941
975
688
761
509
500
397
365
952
929
204
886
62
743
823
113
618
924
338
975
920
438
577
245
817
226
735
67
897
849
223
220
955
311
448
773
16
942
982
926
917
406
641
396
929
72
44
637
971
979
608
588
720
599
297
375
317
441
123
588
443
288
115
348
241
530
396
334
946
615
112
381
86
123
148
14
848
334
986
533
489
464
584
848
719
923
866
305
598
48
271
151
820
778
800
136
223
643
207
984
967
250
270
96
129
192
578
937
367
909
900
959
927
590
1
848
489
637
723
82
267
558
240
514
325
416
679
765
301
121
699
678
597
922
217
19
608
415
178
869
773
293
163
911
52
812
691
867
938
677
231
924
266
614
343
867
884
435
838
996
735
786
549
631
986
99
107
169
671
485
110
180
691
454
207
28
146
349
914
827
717
363
422
344
183
819
285
609
282
189
597
611
769
944
247
406
952
931
847
393
992
434
223
305
930
438
692
655
764
943
942
16
884
315
987
518
827
812
563
375
631
382
314
96
17
773
304
252
271
800
718
353
966
336
74
398
586
227
936
150
733
870
891
47
814
622
510
909
40
590
111
316
96
549
436
573
87
965
714
703
208
108
233
782
149
257
195
238
389
845
589
447
414
207
807
79
362
263
961
141
765
86
192
625
869
790
798
987
465
610
657
411
307
325
255
974
951
452
618
378
298
711
562
862
201
341
995
283
270
771
438
117
367
991
548
318
392
749
182
541
645
334
458
241
427
280
359
536
582
818
643
555
355
250
204
155
280
736
603
552
832
157
148
394
195
833
791
261
830
845
109
379
504
688
797
608
24
709
449
381
238
596
858
334
781
749
727
837
631
939
458
473
804
79
655
806
403
300
53
449
797
757
900
521
939
785
168
75
694
43
619
978
548
314
410
19
324
460
881
733
283
850
146
541
565
256
363
333
19
815
878
534
326
152
970
48
741
188
583
184
950
459
269
849
265
997
528
805
861
959
887
789
824
229
344
623
526
142
260
223
257
364
370
600
96
667
386
535
728
46
531
557
269
167
470
315
207
609
289
177
240
754
607
133
147
462
408
677
796
842
903
367
88
566
586
200
904
142
665
740
123
485
191
228
369
959
576
492
453
756
642
568
387
138
977
382
462
574
201
713
88
282
660
922
57
3
185
623
390
100
827
532
187
242
881
239
750
1000
92
541
781
640
678
261
649
296
676
206
549
487
177
14
885
629
198
177
351
794
319
433
6
479
697
82
93
556
776
481
477
876
784
163
365
252
149
542
393
665
62
134
262
541
717
600
846
958
225
679
114
416
782
239
248
615
456
292
64
305
858
780
220
881
44
347
712
829
239
103
857
535
340
614
283
246
708
943
471
171
473
608
17
788
405
728
121
468
443
483
746
389
127
245
537
567
508
365
861
547
587
695
247
910
996
324
131
306
380
933
11
168
945
394
74
587
700
942
868
112
207
331
840
376
62
852
411
537
916
23
817
480
553
32
86
612
468
730
411
872
384
93
628
264
399
589
708
829
758
808
943
457
808
46
984
382
323
288
38
486
228
153
253
793
743
946
813
640
77
898
323
61
131
48
808
860
88
994
73
692
390
911
231
240
371
812
881
215
714
44
859
498
990
366
443
195
775
788
631
772
200
550
418
717
369
238
20
357
751
28
616
590
529
529
526
246
886
468
677
757
388
751
849
588
944
44
462
638
305
79
604
426
702
377
599
421
21
884
632
334
851
348
898
504
869
907
254
801
257
445
596
605
307
775
55
497
895
588
624
271
292
421
12
764
606
596
376
759
264
206
63
956
65
725
659
547
765
788
444
493
611
949
813
960
948
53
377
737
827
918
176
635
522
642
941
47
27
761
375
829
867
884
204
651
23
165
139
801
377
189
953
160
841
398
592
761
265
191
608
881
262
219
240
116
377
204
138
248
341
823
90
7
767
781
72
27
296
277
639
382
65
430
942
120
417
102
659
74
890
798
720
111
881
933
4
643
857
857
106
899
618
436
887
961
910
901
727
38
636
902
346
772
35
413
595
649
429
202
834
731
599
79
398
12
381
15
167
644
848
536
456
205
298
523
262
910
326
613
427
408
467
981
395
391
234
150
97
718
894
852
914
217
14
680
828
611
596
422
631
239
646
524
501
398
113
79
343
137
468
108
43
296
624
676
188
423
499
541
855
971
308
655
797
808
563
770
731
678
857
865
441
693
724
848
110
341
270
236
645
757
794
123
721
214
337
744
963
890
945
404
971
957
443
347
867
957
690
392
653
263
607
805
979
118
754
932
803
389
874
568
78
722
597
901
789
201
477
161
607
981
618
750
970
611
405
732
622
932
311
45
498
496
267
697
407
421
879
508
100
491
604
653
198
90
90
409
922
239
44
989
728
622
386
314
769
987
931
865
553
709
519
530
314
628
347
493
358
505
229
760
120
551
644
884
714
535
741
804
551
919
901
503
972
304
88
333
901
238
944
489
276
100
550
40
330
323
815
382
881
719
698
732
432
29
855
524
242
108
851
151
526
366
772
559
586
159
926
572
993
849
351
716
910
150
982
500
243
206
706
794
628
559
960
983
149
804
206
19
312
254
394
382
25
404
471
219
240
285
113
607
485
116
99
968
707
768
201
157
754
655
991
642
303
616
739
487
280
273
446
560
620
72
91
520
716
974
401
624
94
316
765
349
603
879
474
153
933
620
102
423
351
843
686
822
348
779
332
785
329
714
34
885
533
825
753
139
169
808
288
110
111
257
53
823
589
503
653
107
998
262
52
966
349
38
222
958
893
682
380
394
141
889
319
345
847
710
856
82
515
342
168
588
630
551
592
198
168
112
508
274
834
530
97
45
176
139
55
400
940
408
885
456
1
901
957
213
790
864
376
429
359
888
634
161
180
405
89
65
273
66
655
643
526
179
417
111
905
475
534
472
810
437
484
643
987
301
597
240
274
630
877
707
943
54
317
997
549
371
241
965
23
695
756
931
192
767
37
639
45
848
10
967
837
846
968
307
562
444
805
468
406
67
837
361
551
410
632
452
99
164
875
166
941
280
72
19
115
797
787
221
574
829
205
897
306
758
51
889
428
95
238
287
237
716
235
469
177
409
761
440
338
743
349
692
430
285
266
636
117
102
503
911
228
295
825
487
648
47
393
568
621
287
75
748
771
612
382
706
431
556
899
60
731
632
193
603
498
838
451
292
196
482
493
811
32
232
423
422
882
283
872
167
863
426
691
119
218
545
7
562
702
826
736
461
772
497
9
521
729
461
494
466
400
595
238
912
93
771
514
349
308
935
98
303
157
647
583
695
498
572
587
803
572
333
203
970
303
972
613
412
509
56
569
37
962
90
357
189
630
489
939
618
447
819
191
793
638
422
550
862
998
784
930
196
471
249
456
461
74
733
430
608
496
130
955
971
674
1
808
937
266
946
481
282
236
802
796
308
672
417
118
400
576
314
12
464
594
974
120
978
569
822
145
92
351
281
94
254
522
378
351
366
556
486
728
343
469
747
358
272
203
595
215
47
816
603
53
511
59
553
773
607
66
225
590
21
701
928
884
78
564
178
255
437
782
275
184
252
491
718
636
22
353
576
102
308
533
910
859
881
318
348
689
598
959
697
899
508
372
293
240
274
61
405
254
958
985
597
640
652
138
428
483
204
268
241
546
511
525
77
396
479
820
953
827
737
327
834
894
650
860
633
889
998
852
492
756
921
248
399
782
377
931
939
857
432
221
593
246
123
584
541
628
534
921
366
69
968
743
400
739
802
50
718
424
666
992
944
303
95
239
86
61
700
517
612
98
190
958
854
516
305
745
595
601
813
45
407
710
265
351
904
830
113
196
567
606
136
625
223
276
866
992
559
801
827
365
309
445
981
295
833
204
720
794
903
773
93
94
385
196
756
179
422
942
296
141
427
918
144
116
885
856
327
944
518
567
647
701
840
808
738
970
524
873
600
23
263
597
870
114
23
116
92
704
677
624
662
792
5
361
990
435
971
228
619
224
997
781
730
710
668
788
471
740
967
229
46
232
617
357
330
198
619
438
69
675
357
848
398
843
948
511
470
778
641
44
526
184
163
581
570
971
855
950
173
729
350
793
595
988
315
248
560
656
469
1000
505
176
696
899
91
749
577
819
64
456
64
127
309
191
361
940
85
153
262
337
971
30
371
833
27
126
629
711
20
420
538
251
356
944
298
524
511
950
867
162
365
20
555
430
801
658
404
27
363
953
4
247
535
547
841
537
422
507
515
14
252
706
373
235
91
938
211
328
638
343
678
647
769
640
963
246
746
333
118
825
661
297
143
254
724
101
540
441
475
21
623
87
851
928
280
836
314
158
252
416
938
7
239
658
409
738
307
662
394
835
139
989
648
772
645
470
494
774
326
106
51
841
564
605
678
857
735
265
636
705
585
293
896
177
876
165
335
869
667
272
334
439
953
970
906
327
578
75
51
509
489
44
997
932
421
318
327
30
57
797
797
107
542
6
787
466
994
268
954
844
318
131
594
114
192
367
676
209
558
84
252
958
359
898
198
802
510
638
841
418
328
764
37
883
702
540
715
341
311
5
711
118
121
966
974
805
178
553
854
161
457
366
260
582
161
863
894
507
394
470
677
329
559
793
720
356
213
466
879
845
337
400
26
415
160
629
640
976
717
532
240
858
345
915
448
1000
124
367
231
908
148
295
923
574
110
293
205
729
370
834
112
570
109
766
476
607
625
812
968
388
142
53
31
606
696
374
551
585
835
997
76
175
866
502
761
878
360
198
968
397
439
319
652
881
164
258
232
850
957
1
629
143
606
980
575
281
837
800
69
313
845
675
75
541
431
974
187
537
624
954
973
512
732
618
175
393
783
672
742
958
232
683
932
963
629
902
360
519
647
689
921
865
528
84
962
308
520
919
973
336
325
757
298
807
932
93
71
690
460
500
667
33
798
806
417
732
891
997
268
164
506
244
349
972
186
349
120
102
875
953
887
704
410
45
1
660
668
668
971
299
643
227
64
350
164
486
694
279
273
147
68
956
500
897
72
16
406
957
389
376
807
432
153
128
20
238
248
409
343
975
530
918
709
889
821
481
136
969
534
415
155
303
163
476
865
78
684
876
665
940
126
167
965
39
172
815
408
722
682
924
204
747
449
885
199
870
342
679
210
830
209
217
957
100
591
336
693
236
316
31
187
298
516
101
347
611
486
599
110
94
44
421
671
469
760
903
299
956
481
505
200
441
83
570
936
719
268
623
877
113
532
904
52
678
130
646
561
229
994
106
364
648
49
531
914
266
349
15
570
634
729
710
137
671
455
945
226
1
485
590
315
257
484
462
549
297
735
617
341
543
416
166
774
116
505
616
672
55
738
826
930
649
644
365
398
852
649
442
135
815
659
602
359
799
319
66
783
125
352
934
305
363
12
469
237
656
684
339
333
936
109
978
888
800
539
237
98
978
351
72
687
669
326
324
516
472
828
570
534
306
570
623
973
486
546
483
106
91
947
478
259
841
588
872
19
995
417
426
725
170
205
296
419
574
390
164
394
880
351
666
360
837
101
73
26
783
501
606
609
399
617
997
359
426
769
644
705
554
152
237
31
382
651
809
419
161
619
968
909
19
930
488
957
496
591
540
820
529
547
589
521
454
95
359
914
221
492
384
106
756
927
315
167
356
18
577
629
42
395
962
730
48
714
454
762
16
680
904
148
988
255
185
82
12
239
98
657
19
877
616
400
644
918
24
72
835
862
121
379
427
706
940
981
311
608
371
811
514
313
670
254
245
64
70
165
952
983
633
92
531
593
17
260
79
226
76
110
19
557
59
188
986
398
713
190
603
183
781
847
168
297
226
94
290
497
997
695
764
208
336
72
270
397
392
585
35
66
411
958
269
140
886
805
965
669
797
493
697
822
559
674
139
110
347
851
349
624
212
319
292
865
853
625
706
903
898
486
160
197
328
745
73
397
12
504
551
817
354
79
107
129
762
763
757
964
949
695
470
783
112
323
717
349
665
28
657
615
517
511
567
611
863
436
248
204
49
627
482
238
391
894
116
579
728
112
937
113
97
798
353
539
158
804
802
118
910
132
935
207
781
133
896
462
420
473
397
124
347
379
917
671
195
588
41
423
425
349
865
411
256
595
436
906
36
85
378
568
449
939
244
46
743
474
609
256
652
664
624
238
780
871
546
697
30
719
755
842
48
91
919
123
796
297
224
812
66
388
86
151
184
425
320
974
203
295
543
284
587
315
485
246
781
415
954
486
77
201
460
346
870
546
847
985
752
655
877
809
866
751
363
752
625
615
332
337
181
221
715
304
14
623
199
798
631
65
241
791
629
4
703
433
339
377
195
513
821
972
38
48
261
196
682
307
707
911
527
259
640
224
371
478
108
313
105
95
989
416
878
201
529
103
651
490
426
801
983
563
625
363
921
485
446
149
44
679
856
665
121
175
460
357
285
558
309
521
373
720
688
644
829
632
869
683
608
944
227
948
633
137
209
274
638
354
396
110
715
776
311
4
448
609
663
731
319
317
459
940
958
735
761
802
909
76
924
583
789
668
808
471
142
451
802
239
789
883
527
569
214
925
687
907
357
197
884
751
216
234
172
199
810
22
733
360
401
602
353
2
336
635
303
396
513
234
815
893
290
253
607
179
555
495
793
527
854
972
96
594
656
433
472
506
330
869
156
7
923
596
634
444
592
819
268
234
431
297
104
238
456
820
918
172
736
766
702
771
998
888
584
943
558
861
671
535
83
817
396
685
536
265
762
921
621
351
275
335
186
336
466
155
338
581
666
26
475
56
65
120
51
602
170
965
632
729
493
563
750
743
665
891
114
378
188
405
978
917
760
493
855
994
401
163
301
884
644
392
203
87
681
708
866
497
681
548
177
192
464
856
340
212
312
217
955
268
11
522
729
418
125
807
726
173
115
436
861
400
142
252
302
614
312
646
538
965
680
776
137
284
533
311
646
55
359
145
647
77
425
511
723
870
87
781
974
587
773
64
767
336
106
347
594
290
753
595
300
935
434
665
402
105
956
339
955
219
281
90
180
252
405
414
109
557
270
688
590
580
5
565
331
902
553
841
80
793
148
596
663
647
142
143
358
255
427
6
3
856
50
696
314
294
655
537
112
435
63
170
556
178
660
649
17
25
230
243
930
195
557
141
818
685
405
281
689
517
454
419
185
661
418
376
189
754
796
141
49
786
712
96
272
403
815
230
267
316
526
572
722
589
775
499
278
255
950
776
431
791
992
365
16
465
449
113
192
480
812
396
602
120
670
673
235
833
23
689
590
286
631
780
930
953
396
293
772
709
607
680
272
282
322
196
830
76
313
494
70
115
740
584
337
328
198
795
962
406
825
386
891
813
950
419
666
279
135
324
396
330
529
383
104
931
181
972
748
368
315
15
297
843
612
544
474
88
210
655
169
489
498
424
57
853
763
559
666
945
392
645
1
353
667
845
824
102
140
841
882
623
187
614
683
387
650
375
910
515
374
600
198
176
67
659
786
413
136
960
533
330
70
888
846
250
495
76
387
516
238
685
789
125
619
476
243
255
706
386
489
68
462
237
693
859
554
968
676
760
81
488
223
695
643
840
490
253
979
868
107
434
858
1
187
993
49
66
309
238
956
296
520
698
945
789
526
30
485
755
552
891
968
785
784
298
474
263
934
135
807
778
210
93
859
43
906
279
697
432
895
156
841
683
548
258
843
702
977
341
646
718
52
249
189
187
350
771
380
978
24
240
859
356
634
392
954
206
100
308
850
744
311
858
260
687
379
150
825
503
155
919
86
862
460
684
65
897
373
740
454
181
92
757
929
629
83
823
342
669
704
263
404
88
28
465
12
958
343
233
558
902
682
920
374
759
788
677
7
398
121
696
125
24
850
251
704
834
324
658
588
277
141
34
641
512
791
869
490
856
824
974
301
155
613
341
102
63
111
797
932
126
407
119
482
440
539
441
981
394
746
383
750
681
281
302
274
320
983
480
621
902
19
850
760
663
617
77
641
269
147
423
918
387
589
849
841
214
325
229
147
154
156
383
762
728
650
883
728
614
242
224
60
480
969
7
182
836
403
237
144
733
91
707
120
527
799
709
556
312
938
977
898
864
831
877
62
94
886
321
676
88
322
789
633
782
824
156
706
194
395
695
803
927
701
792
929
351
442
376
96
456
577
35
214
904
825
100
472
176
447
722
829
74
208
122
25
14
364
731
961
723
660
906
355
956
628
274
382
791
926
503
352
947
48
522
584
270
514
740
330
228
570
852
967
835
483
175
730
843
771
290
913
488
86
964
833
318
997
922
826
826
660
93
213
744
162
350
479
805
403
623
867
748
481
476
231
109
938
905
235
98
648
172
966
482
806
909
573
920
246
642
827
651
286
117
380
783
383
507
73
682
174
645
838
117
848
943
652
901
440
520
469
720
291
396
310
737
879
290
470
340
204
692
331
95
172
393
432
559
719
583
220
129
990
960
404
484
495
37
944
530
43
974
493
961
208
816
521
676
210
972
480
335
426
149
76
288
151
700
145
947
870
547
678
420
47
409
257
907
353
58
537
921
356
716
440
839
890
523
404
727
733
197
380
610
774
625
256
587
509
155
61
278
625
777
579
97
374
212
4
742
676
169
861
150
154
686
712
830
832
503
100
171
837
895
765
827
255
231
424
736
227
834
299
665
502
340
155
458
885
897
798
274
492
986
887
238
243
565
418
827
804
535
426
254
39
239
311
871
97
797
662
291
466
645
633
578
651
516
712
286
683
487
211
611
314
416
909
193
575
267
70
333
370
346
482
542
913
458
274
356
89
331
988
288
310
448
799
668
994
581
853
831
610
933
373
820
101
751
584
307
612
691
523
916
659
16
493
527
268
898
249
396
159
742
15
160
752
428
67
843
622
831
951
40
47
801
344
312
459
6
212
696
941
715
167
907
387
628
911
481
573
328
172
613
207
802
868
906
937
717
60
595
443
863
873
40
970
203
750
483
105
513
278
98
136
444
373
350
123
174
762
569
636
500
575
398
194
360
340
513
649
269
818
572
71
103
956
871
249
985
657
603
573
758
238
915
875
707
182
205
818
710
247
200
525
963
94
430
467
813
304
623
51
975
118
405
980
585
226
463
199
160
707
947
170
475
550
508
302
805
246
793
565
754
589
634
753
115
219
433
346
819
378
449
671
43
39
783
893
976
875
870
384
593
492
190
190
987
966
738
642
506
25
501
628
943
129
839
699
520
305
189
959
262
831
949
648
615
780
778
430
859
985
753
667
935
190
41
364
794
63
763
68
294
227
730
709
935
681
602
287
463
820
806
321
467
745
244
215
640
731
420
4
258
498
108
513
807
439
131
574
414
34
82
809
865
500
96
467
565
124
875
910
761
854
223
669
671
431
284
441
999
784
522
965
416
444
251
542
237
470
151
807
480
720
827
521
875
374
880
293
245
256
393
611
823
877
980
45
733
85
767
220
872
905
759
998
826
413
46
325
343
488
240
368
70
899
307
896
936
455
727
324
617
889
522
507
958
734
225
127
104
699
313
510
364
951
984
764
509
276
390
442
267
298
623
333
308
821
804
531
863
867
597
722
461
198
371
466
938
911
981
318
38
226
879
824
376
735
815
800
538
162
941
784
359
189
498
259
199
992
616
37
174
943
968
186
841
323
143
36
803
31
655
70
63
988
425
965
727
346
450
662
824
683
102
97
615
61
173
144
722
217
350
409
832
169
280
727
517
213
748
617
923
617
804
474
695
340
840
19
525
716
749
324
136
401
251
793
359
806
455
629
171
876
468
634
246
376
642
691
591
727
654
892
308
89
144
91
403
576
108
595
791
434
555
818
385
560
223
997
176
938
287
464
743
469
76
561
517
180
777
22
413
984
995
504
168
25
818
35
823
95
722
309
330
818
271
132
150
51
41
849
99
474
637
210
382
399
976
13
934
678
224
789
736
958
929
979
718
660
902
304
230
812
361
528
853
230
686
358
458
645
899
56
46
59
634
200
870
5
953
149
723
391
790
955
118
329
242
905
245
648
174
367
248
815
805
361
350
644
50
85
809
458
390
694
498
354
956
746
164
853
322
82
43
450
247
395
572
584
208
360
412
61
123
994
817
281
102
890
710
464
395
43
458
679
994
262
438
659
469
596
993
270
722
740
232
46
285
170
476
359
690
587
818
648
213
338
409
633
991
668
596
588
117
2
943
545
800
979
537
794
111
643
691
130
157
984
307
118
711
46
721
45
503
921
811
334
394
272
498
954
569
454
564
730
797
916
859
561
495
340
583
232
37
886
296
890
296
969
708
295
897
262
116
630
15
965
544
984
867
971
269
648
208
203
437
985
275
317
892
976
594
914
171
477
997
631
883
877
9
759
296
91
484
555
42
803
6
20
286
399
96
739
587
348
729
304
928
647
981
964
94
505
920
400
635
694
984
955
162
823
169
192
602
348
332
429
354
301
773
758
982
575
70
103
214
83
815
72
508
275
502
734
412
303
334
927
233
586
112
414
313
652
690
993
321
922
716
672
535
505
489
150
63
209
816
135
274
682
684
485
534
13
414
772
466
192
721
602
581
530
761
996
82
518
824
141
61
634
780
133
101
291
807
644
501
451
162
42
967
441
8
175
614
155
356
883
579
130
216
320
340
953
961
332
116
85
702
480
340
457
237
737
250
132
718
590
127
911
750
997
537
30
80
664
237
963
352
180
53
935
692
806
146
960
29
158
560
70
133
584
833
960
318
757
771
437
655
918
182
912
296
220
488
658
231
858
639
734
388
978
698
263
485
925
800
220
462
15
892
25
642
874
867
998
971
336
190
161
854
63
133
997
109
316
48
480
506
783
925
120
239
940
613
826
378
229
698
88
68
213
19
376
769
979
172
659
314
257
183
645
955
145
727
683
845
853
885
263
576
574
448
693
541
472
208
871
833
760
518
993
358
38
613
706
611
351
874
454
334
960
219
719
863
392
306
466
527
196
75
291
909
716
422
761
118
369
491
898
474
104
155
61
181
206
707
294
612
130
746
756
837
818
471
51
851
821
364
73
804
592
316
533
191
533
799
439
559
711
589
639
815
688
903
1000
614
578
531
897
616
258
701
500
649
656
967
741
918
159
355
973
467
503
394
47
993
927
392
963
38
8
528
279
242
335
892
226
100
111
605
793
152
843
543
117
63
518
991
175
398
26
756
126
205
186
899
649
691
366
245
260
394
595
265
928
246
66
772
245
831
71
80
61
982
775
961
734
544
690
739
121
810
357
372
991
625
530
191
815
631
124
253
765
455
279
962
348
905
152
646
284
394
489
330
118
895
585
777
609
676
973
221
77
971
81
902
782
512
134
615
851
556
773
41
486
613
232
516
926
613
412
258
166
649
869
789
508
752
568
444
829
365
199
417
874
348
48
743
968
340
645
969
299
267
918
76
324
646
140
337
895
63
769
424
448
876
146
45
937
775
137
792
253
284
3
676
518
669
204
50
32
37
340
217
599
545
187
51
640
800
593
378
810
478
50
718
791
153
895
181
558
98
446
27
697
578
847
372
292
774
20
50
476
997
955
457
999
323
473
495
70
108
738
411
271
94
38
406
599
5
786
364
506
554
250
974
384
814
284
807
106
724
167
598
73
341
773
135
721
98
423
654
595
967
169
556
897
889
775
634
893
280
296
685
689
725
20
578
635
178
483
364
95
160
443
984
375
433
955
513
367
608
172
609
860
967
73
60
548
564
109
856
443
297
667
255
818
231
307
651
807
927
1
910
464
904
951
1000
466
641
122
381
579
743
340
650
736
959
628
324
803
779
504
525
147
226
108
538
699
277
355
864
490
91
798
452
593
820
524
243
966
349
190
30
958
721
265
896
141
386
646
183
677
629
83
24
664
729
261
951
764
447
970
2
948
420
512
34
379
920
403
677
289
219
451
459
217
502
495
168
108
856
471
434
601
378
935
850
288
849
903
695
860
746
628
454
812
587
977
899
840
717
165
444
147
707
908
847
596
459
528
111
99
969
121
612
640
443
667
53
84
145
907
855
286
895
844
965
18
635
997
885
959
834
895
920
300
822
855
266
522
298
800
568
577
388
688
22
972
619
203
915
264
80
449
732
76
875
784
628
8
680
362
80
789
863
618
28
569
143
716
649
522
223
922
198
820
168
979
15
608
566
837
888
819
662
468
443
537
720
131
139
163
860
120
730
792
465
973
796
84
77
120
3
379
361
174
352
987
331
415
517
367
540
534
779
395
326
370
754
35
564
195
283
502
536
100
387
449
732
141
165
794
374
240
878
551
425
242
193
441
690
174
805
99
369
485
180
430
78
988
176
33
931
284
694
623
742
679
311
100
792
21
54
217
890
374
79
826
635
207
67
312
923
588
540
160
694
904
160
528
878
794
301
372
281
311
839
891
882
807
132
45
664
657
662
450
598
777
636
235
890
784
130
315
901
789
42
132
439
83
192
89
279
348
400
812
804
666
276
887
688
270
743
894
365
914
34
419
854
747
17
212
182
810
214
818
261
603
819
803
554
693
343
192
315
16
254
817
462
322
144
97
410
219
460
167
268
405
867
388
905
953
594
10
269
989
952
158
234
695
345
385
988
336
705
724
639
921
256
590
288
205
913
853
274
935
423
136
707
672
571
710
657
25
361
354
591
874
151
213
716
968
89
988
922
344
84
757
912
154
742
359
923
808
381
528
181
852
250
932
834
603
577
836
684
380
897
359
441
110
411
211
596
203
793
347
254
836
928
184
435
230
587
916
415
51
921
977
652
825
940
888
724
120
900
567
490
309
582
689
383
925
2
808
332
961
1
795
329
16
517
590
46
799
46
399
261
401
976
231
36
654
24
139
734
98
945
559
24
310
68
966
919
863
979
394
773
724
835
482
916
724
398
391
247
603
842
330
702
231
810
438
952
853
974
472
107
544
567
80
445
669
986
435
414
780
561
672
238
290
27
855
446
242
63
208
602
680
508
903
264
438
502
53
998
667
850
423
832
25
382
12
128
294
919
872
259
81
749
463
836
422
193
378
491
342
891
499
366
829
981
518
558
306
193
286
694
348
209
628
745
344
328
109
932
799
615
746
290
206
201
786
48
742
367
505
492
587
330
437
380
313
437
565
317
620
586
790
684
675
253
416
889
465
471
498
711
836
453
631
462
376
350
166
547
874
772
907
745
888
328
45
202
818
386
467
693
28
689
605
188
719
237
665
121
693
64
439
77
678
159
866
763
574
778
204
275
845
856
941
633
299
25
569
500
661
13
959
804
662
815
350
702
869
117
896
967
98
863
323
412
52
773
467
385
792
842
398
767
724
563
379
101
76
680
112
687
251
764
626
522
995
829
664
946
102
461
624
729
192
680
936
132
221
862
287
144
514
538
205
730
522
868
377
396
973
859
514
809
790
194
693
521
959
644
904
66
500
593
952
840
860
194
955
198
321
987
430
145
461
632
361
862
337
550
701
41
793
871
481
684
240
53
56
570
308
966
78
84
23
6
426
474
529
14
707
881
938
422
907
707
574
24
449
933
747
225
201
71
197
450
963
288
524
626
572
77
233
298
47
599
530
6
131
396
601
983
175
772
947
114
552
525
260
375
715
106
460
618
532
514
749
691
788
392
986
328
591
882
226
178
960
733
50
623
38
77
130
743
250
46
591
905
182
95
875
979
137
516
204
100
131
119
221
234
537
455
100
542
748
303
194
683
950
337
298
760
603
45
742
542
238
976
814
992
5
379
468
882
740
92
876
458
437
342
140
699
680
753
429
710
992
426
825
174
78
438
452
597
619
489
819
292
615
693
847
646
285
727
767
257
165
633
937
927
370
575
600
369
949
776
830
675
879
655
197
290
521
940
168
244
311
124
925
881
29
200
38
180
253
42
421
25
486
134
58
471
48
628
301
127
974
857
913
271
104
501
650
202
16
573
855
648
685
288
476
733
560
637
938
159
264
204
486
726
279
362
14
305
765
460
860
639
157
68
751
162
287
626
895
102
555
95
190
740
130
306
676
616
217
788
630
870
213
734
168
645
935
678
831
679
214
160
360
790
808
349
834
938
11
141
377
957
323
739
895
844
261
91
688
701
703
850
315
38
193
716
809
177
234
115
179
903
960
181
151
365
521
905
283
449
109
146
896
499
895
920
754
327
22
5
61
873
412
442
145
789
409
964
129
456
154
702
21
628
165
819
901
989
803
836
301
401
195
526
464
480
675
177
881
504
35
959
409
291
686
869
305
870
335
445
712
225
948
41
507
370
557
943
902
308
959
28
887
196
458
992
423
164
589
377
246
789
195
779
337
196
321
633
345
109
128
942
749
956
452
129
118
294
660
982
614
422
215
292
791
21
690
381
808
75
28
168
442
103
522
802
615
971
322
197
766
136
291
976
25
222
659
436
64
237
264
150
478
574
104
747
721
189
578
194
964
993
41
673
706
522
256
741
612
452
905
1000
851
346
578
978
157
324
535
228
927
991
150
933
955
82
93
464
804
733
238
391
406
204
776
446
191
182
210
786
962
485
758
714
746
119
161
701
87
158
83
145
559
827
61
816
837
525
462
348
292
242
1000
438
935
996
172
668
485
436
367
964
501
738
537
764
799
277
40
895
819
338
666
22
227
277
930
267
797
174
435
280
522
954
447
598
5
403
905
598
380
251
726
741
438
759
629
82
137
811
701
223
407
570
567
970
6
160
350
967
187
681
562
501
120
100
698
477
331
207
576
278
896
867
405
884
783
287
153
128
501
837
31
432
197
272
816
696
428
859
299
293
95
11
345
254
464
490
946
816
761
181
153
476
551
696
985
564
24
810
214
149
330
819
475
767
315
447
248
80
375
856
113
50
640
628
120
667
387
355
244
536
383
588
671
889
878
478
114
712
55
375
413
689
94
29
453
648
404
805
826
1000
224
500
711
448
533
928
188
893
140
440
541
31
896
929
164
596
198
685
351
628
349
649
594
358
875
269
15
582
619
137
206
409
248
46
67
338
870
925
191
500
597
342
967
714
219
938
863
755
644
170
266
834
389
226
856
839
203
831
756
335
861
932
557
658
253
926
936
694
188
184
746
102
711
103
372
808
355
830
641
553
423
76
789
186
342
189
805
153
136
716
975
350
266
253
625
72
481
278
824
339
766
7
324
256
230
51
108
395
512
796
698
409
345
984
811
223
989
918
56
173
594
99
88
417
951
860
53
774
750
729
214
932
179
868
377
592
644
887
70
703
459
756
510
420
587
321
27
779
897
150
996
384
943
47
289
590
993
579
945
762
854
419
41
197
95
96
722
202
401
32
977
654
144
350
17
67
720
10
39
840
849
291
778
898
829
479
457
359
678
926
690
235
205
280
412
404
330
810
167
282
364
212
912
660
561
186
68
158
973
375
705
644
519
969
586
714
257
389
325
66
984
978
21
164
731
564
584
102
151
103
395
16
516
302
106
661
859
340
114
36
757
293
734
44
403
852
134
234
926
307
883
576
323
494
339
122
20
626
181
100
823
479
90
714
919
416
976
425
709
101
147
21
435
598
538
113
989
701
421
23
815
16
44
194
528
293
277
355
716
944
676
697
415
536
320
199
925
248
409
88
919
969
894
118
345
736
328
998
189
682
740
825
12
518
555
835
97
867
518
112
163
405
109
165
852
900
163
448
628
663
300
949
295
899
262
962
64
666
467
28
14
927
927
820
798
252
154
445
677
260
864
216
305
829
61
481
212
408
592
477
580
538
338
515
759
804
26
21
934
13
63
72
501
341
872
144
981
554
989
665
804
189
550
889
826
748
881
306
284
548
601
478
741
851
39
794
711
295
775
42
833
474
820
143
887
663
268
644
478
380
269
754
895
411
815
832
549
435
156
218
364
139
586
210
694
23
36
839
646
686
102
757
190
468
140
254
43
776
622
896
149
266
183
757
487
354
718
545
81
183
434
194
312
267
975
634
96
512
615
541
14
232
46
830
262
43
465
529
143
264
504
469
879
548
59
925
724
980
204
905
706
832
205
341
850
467
108
799
393
648
498
675
336
635
789
58
649
26
881
553
593
225
56
431
911
825
774
380
96
913
423
990
534
548
113
877
113
164
367
985
772
726
881
193
571
784
592
818
69
427
966
983
211
329
744
118
431
675
416
39
432
809
297
155
896
849
440
362
457
351
555
87
375
351
722
768
726
756
992
773
377
96
884
404
650
127
367
143
398
624
194
778
135
978
337
356
987
889
826
180
503
526
527
253
749
22
272
586
723
63
242
819
831
620
741
433
77
610
305
660
630
357
601
857
674
256
713
727
763
980
238
272
444
877
70
772
564
978
869
394
513
146
4
283
622
481
176
79
97
22
32
879
132
187
824
583
322
128
566
404
87
373
202
115
593
717
30
212
562
285
965
791
438
127
293
378
635
458
217
345
935
915
866
824
687
771
406
231
146
99
579
601
123
290
270
955
190
167
697
808
770
182
419
771
850
800
666
899
475
280
374
89
855
464
973
349
682
75
155
214
245
317
796
933
986
193
748
287
448
92
429
100
956
664
31
522
969
883
668
177
737
531
989
128
845
19
626
399
194
588
307
504
242
445
686
993
630
322
666
587
857
285
539
816
340
333
327
462
2
515
520
275
524
799
837
593
538
923
705
525
322
792
938
293
20
781
460
180
999
469
3
296
738
899
416
19
547
478
595
542
507
998
69
442
220
85
972
540
390
566
459
645
771
872
623
922
713
634
643
767
422
6
163
47
41
138
914
485
820
423
175
782
5
800
970
810
509
453
827
802
110
694
501
55
685
688
348
42
944
941
887
232
257
162
695
150
400
185
975
347
474
118
990
71
843
799
138
346
646
932
560
98
332
975
72
696
728
988
671
37
316
145
38
834
787
558
269
322
432
391
511
981
606
975
335
205
314
781
433
55
978
673
658
387
545
801
540
663
421
873
132
693
151
311
459
432
364
975
899
667
291
705
537
143
54
961
914
188
17
185
609
422
715
350
781
478
267
351
159
968
720
512
919
115
479
504
591
566
810
392
415
912
469
364
546
356
604
943
123
769
471
105
499
121
948
815
862
883
475
902
71
557
854
113
773
898
274
406
773
779
55
259
190
882
846
825
142
550
445
270
588
242
980
531
465
961
921
998
455
927
280
386
560
566
402
133
150
542
949
191
309
196
38
27
110
237
995
947
918
948
883
624
952
485
750
850
85
85
555
63
335
100
855
201
561
838
634
746
638
126
93
646
788
343
849
925
801
452
731
430
588
204
295
103
909
256
249
592
98
424
210
813
348
666
608
269
413
687
86
561
611
226
457
542
647
228
129
989
100
45
915
498
366
791
337
564
492
738
823
427
594
394
714
339
503
522
613
348
860
904
398
583
143
81
198
260
991
664
710
341
781
65
504
831
594
640
403
216
607
332
560
413
459
847
630
925
329
298
287
589
314
29
397
433
171
12
366
660
659
843
513
719
525
816
852
755
625
24
333
460
824
700
407
491
67
272
776
203
469
720
311
348
352
855
425
813
903
97
643
200
544
163
696
249
148
845
266
671
950
699
371
976
405
60
529
234
220
245
996
555
529
212
815
244
474
197
930
220
480
81
332
317
158
303
46
481
72
169
802
743
582
291
373
70
598
730
928
843
343
129
181
767
176
755
797
468
109
901
291
914
890
551
599
39
449
546
626
661
48
758
321
829
679
932
265
259
168
921
305
395
926
22
539
930
491
991
806
346
870
109
907
132
123
356
959
865
871
358
668
266
132
267
791
672
432
151
751
118
188
784
174
339
214
963
115
595
562
584
864
142
55
770
525
555
590
270
16
882
697
210
723
774
909
18
834
329
188
8
270
364
68
698
228
243
154
375
565
179
335
820
646
127
407
402
829
24
776
915
455
138
593
655
55
699
961
227
532
855
835
484
204
201
849
821
951
794
582
770
170
613
713
469
904
878
115
108
268
505
159
930
276
269
428
651
283
868
598
492
480
243
429
118
341
911
733
878
483
40
668
699
113
250
904
887
149
846
71
837
139
305
363
390
289
361
348
140
282
947
827
521
81
604
73
897
574
693
873
208
737
891
612
949
994
14
22
378
569
162
374
895
925
539
578
471
849
84
88
868
323
221
578
112
107
603
51
387
867
756
408
58
759
865
577
996
607
807
930
795
214
695
86
709
872
841
213
377
847
55
542
467
473
621
177
387
492
143
203
129
460
655
746
126
345
84
892
706
954
161
345
398
419
367
235
840
826
340
812
499
949
463
581
772
238
6
66
272
390
301
559
272
324
890
106
355
904
524
488
281
518
143
182
964
482
706
72
247
314
863
214
842
87
942
118
404
460
687
783
232
474
510
217
461
875
738
300
978
573
509
590
463
786
502
157
136
588
660
572
797
878
412
963
690
194
693
430
590
462
206
182
244
487
997
472
975
928
350
771
810
581
457
664
984
14
81
630
39
991
654
196
29
659
872
971
526
198
854
718
239
442
368
907
40
47
466
197
117
905
90
877
794
863
884
605
264
255
465
709
127
433
903
888
166
226
982
428
201
257
126
931
271
120
515
115
577
695
30
473
847
296
124
429
793
924
641
182
362
622
886
595
298
830
968
335
379
664
548
963
353
253
639
830
186
635
55
452
778
200
399
469
673
364
263
478
637
955
420
728
179
812
375
182
241
192
567
471
299
903
908
55
74
525
81
309
894
686
243
272
506
108
316
571
791
102
54
347
413
195
496
86
904
878
165
907
54
802
635
228
780
304
651
696
833
867
64
955
790
932
208
118
802
546
234
763
465
446
119
923
11
547
726
796
715
247
350
846
88
642
631
549
910
492
582
299
641
757
751
875
75
636
229
438
359
271
261
255
674
729
748
188
919
440
795
545
733
990
779
64
65
73
104
634
277
434
934
863
473
854
724
755
336
560
266
563
262
975
335
366
992
389
736
8
264
948
714
850
216
347
217
214
425
755
493
451
477
778
840
381
933
735
111
182
369
111
739
930
962
836
665
651
731
930
481
167
110
147
567
10
16
490
744
384
939
831
195
487
884
435
44
500
179
882
950
211
254
735
553
554
511
318
412
282
324
125
315
657
999
736
508
290
274
552
411
199
561
351
872
756
652
409
869
437
85
925
821
182
680
566
379
755
44
222
627
677
968
480
105
208
743
897
7
369
372
891
141
165
539
946
7
52
990
882
431
136
664
129
709
785
523
318
182
127
509
994
430
382
507
938
85
82
474
412
347
29
133
613
884
271
767
759
720
455
664
546
107
682
739
132
135
380
667
431
998
765
648
267
452
200
573
837
953
101
933
27
375
102
273
343
21
838
392
619
820
84
766
190
252
960
856
939
518
565
83
471
963
739
230
673
514
568
972
121
209
939
15
61
493
656
97
244
13
614
676
469
123
104
726
526
158
564
458
157
807
993
149
766
593
814
532
887
561
192
320
795
747
656
565
280
911
442
454
290
311
126
93
44
3
981
572
278
279
966
300
483
344
435
233
314
309
429
68
932
851
923
936
633
693
484
418
3
138
584
933
784
502
278
696
793
210
983
445
513
690
918
124
448
995
104
512
916
218
914
577
730
389
889
975
139
501
862
697
468
735
525
318
128
721
199
712
61
921
941
360
222
806
119
569
406
514
218
47
582
141
972
245
905
605
872
817
752
289
725
355
450
308
213
282
847
293
341
410
514
58
249
221
155
347
124
349
766
170
820
113
169
890
392
195
834
299
941
704
306
433
39
969
121
756
551
343
856
649
829
200
815
841
121
83
907
553
505
665
491
618
843
770
280
797
34
213
948
815
332
629
736
404
586
783
166
770
82
60
983
469
60
989
551
601
96
661
245
652
263
880
832
21
428
691
409
494
45
733
284
485
575
475
37
864
1
5
148
578
937
487
738
89
550
794
410
837
790
100
694
573
488
431
315
421
493
234
338
937
333
65
287
306
877
398
474
2
57
348
121
942
26
870
334
159
33
591
608
530
906
981
370
916
273
6
987
361
549
769
779
689
295
881
864
878
748
470
35
130
204
825
493
405
478
597
956
537
810
427
565
698
485
586
64
160
870
954
899
761
767
255
272
446
787
939
682
591
885
563
146
517
353
792
145
792
335
402
285
449
349
773
834
207
413
411
574
140
105
962
850
33
297
62
330
816
350
75
720
55
301
489
622
486
912
245
790
949
496
811
266
893
130
132
274
833
172
930
285
753
41
970
371
462
834
47
834
346
680
425
75
785
702
384
879
752
71
360
589
750
907
844
128
286
747
894
480
566
850
604
8
928
883
339
971
819
436
882
680
802
356
909
9
139
121
353
391
13
342
290
17
336
3
967
657
375
257
445
457
177
394
150
58
841
143
274
619
239
589
625
673
697
810
968
254
500
794
348
400
791
341
205
975
614
405
287
713
383
776
522
551
21
114
44
591
385
52
487
489
341
531
548
672
69
553
536
561
713
292
315
870
523
829
593
157
8
855
9
4
418
327
819
620
100
437
294
184
876
219
122
947
601
810
210
988
508
649
280
504
764
902
574
698
902
991
795
660
453
414
130
105
124
943
843
467
371
915
445
667
29
543
920
789
973
110
785
28
437
436
75
531
721
254
463
170
467
980
807
853
639
904
394
727
585
13
21
510
309
478
848
210
170
374
641
733
761
313
636
188
639
501
742
266
915
203
221
673
444
696
318
486
514
598
488
241
476
878
60
715
710
938
167
655
698
924
730
155
742
818
140
5
34
905
21
60
376
958
129
648
838
828
9
60
29
164
496
446
471
686
547
770
757
745
144
94
807
928
235
83
539
109
760
545
710
655
811
793
517
463
895
800
773
136
91
438
132
855
597
588
890
484
809
511
327
994
612
710
450
558
981
431
240
573
378
54
199
426
646
926
67
25
293
557
82
990
105
708
20
955
14
635
609
572
21
598
550
676
760
855
551
577
986
491
273
563
862
851
6
541
428
804
260
194
51
777
149
154
963
302
632
471
219
794
209
96
558
448
619
183
640
382
476
758
129
673
525
721
897
474
388
185
410
204
264
896
990
707
1000
823
240
353
398
71
378
284
379
904
606
402
850
68
935
231
746
542
69
491
718
544
56
75
383
889
423
142
869
809
406
190
642
911
722
317
236
281
53
352
573
637
16
160
992
42
969
263
2
947
416
807
29
197
128
68
86
245
363
920
423
995
715
122
657
582
199
834
800
927
154
549
910
83
409
454
784
238
969
338
226
733
148
315
960
587
693
19
177
885
919
431
11
780
337
162
39
43
506
839
973
824
137
247
329
772
537
975
770
709
581
654
198
809
283
285
465
675
945
799
703
701
556
709
896
883
832
690
287
573
819
932
619
721
453
412
991
830
886
550
351
182
630
323
221
898
794
550
318
46
770
973
105
323
743
732
198
796
294
13
747
815
201
988
578
494
253
621
933
70
532
571
100
72
133
212
81
447
778
744
735
728
69
450
492
839
441
471
834
413
980
825
200
310
391
24
912
588
334
336
972
347
249
665
323
725
563
21
265
787
879
793
249
254
336
374
176
768
829
196
696
913
204
915
704
282
853
311
405
706
340
424
858
154
867
631
861
932
359
615
426
544
954
655
830
984
477
275
446
289
285
24
94
886
475
123
686
674
66
739
307
756
212
923
675
469
873
607
158
679
693
611
98
301
992
308
258
673
895
459
597
707
623
724
432
716
878
550
282
438
73
433
332
41
892
71
499
858
275
504
565
155
478
209
666
510
283
989
744
283
805
659
209
183
569
767
147
209
720
14
926
66
267
616
905
703
266
567
298
821
702
676
902
3
634
274
575
653
839
683
803
56
816
924
675
705
495
625
896
474
413
762
194
379
443
721
663
413
370
99
84
390
763
855
268
830
600
671
804
648
60
864
375
829
755
772
980
312
399
328
983
52
613
423
892
565
87
759
193
314
839
112
320
977
655
320
97
956
95
848
573
520
655
483
199
601
739
578
729
567
138
264
51
295
605
220
400
458
922
931
39
216
606
826
572
477
14
328
474
424
132
665
317
304
809
207
432
352
503
227
422
281
909
228
14
1000
947
424
259
83
701
493
943
36
853
509
411
613
30
789
687
252
283
483
895
207
604
911
526
107
977
2
990
487
980
728
240
284
351
66
14
436
252
871
343
488
211
999
568
533
795
194
42
939
185
493
60
23
686
411
344
259
105
735
564
664
671
533
987
715
823
894
306
524
772
22
123
32
209
472
336
664
915
793
922
221
312
300
176
792
188
460
537
131
928
201
513
210
587
476
88
695
54
580
211
646
367
53
605
61
977
461
223
807
364
17
93
70
979
757
179
711
893
985
163
795
902
763
712
164
98
508
885
87
52
176
829
936
853
81
801
345
194
132
858
484
590
159
267
959
610
45
794
294
656
573
561
142
478
266
80
184
70
997
413
94
34
828
130
144
794
352
908
722
288
799
142
541
875
301
913
358
250
11
7
784
75
216
472
196
925
186
352
766
850
280
835
393
562
728
40
672
799
600
54
43
889
697
652
995
937
487
310
491
324
747
770
818
406
296
411
683
406
24
109
719
492
467
128
510
931
325
784
865
64
663
297
364
525
3
293
130
788
152
863
346
655
422
979
331
734
824
290
847
304
950
56
893
243
489
14
454
806
782
477
541
169
351
871
387
576
105
203
850
842
802
662
922
725
371
679
722
392
935
290
520
796
699
554
144
273
404
150
594
111
686
964
783
117
553
684
150
471
124
908
273
269
934
285
740
183
421
536
264
630
618
981
436
675
721
393
566
655
945
556
789
166
2
911
970
633
610
62
977
141
682
719
585
604
218
868
595
616
479
552
766
534
713
697
802
434
567
821
959
599
325
305
771
74
286
146
65
705
922
750
661
717
927
393
133
601
922
405
561
555
363
29
480
192
149
156
113
583
546
827
556
929
286
456
772
361
139
250
154
380
815
160
915
482
798
32
779
341
588
314
248
739
883
786
269
119
429
334
219
226
611
664
995
823
403
237
404
860
916
397
227
805
655
860
58
70
550
236
492
588
960
242
303
632
180
626
11
919
373
584
644
888
509
631
542
783
633
480
789
851
685
446
218
523
215
332
960
917
522
508
205
396
162
129
169
179
302
49
268
210
106
11
154
591
177
100
569
877
120
308
942
451
435
281
290
17
283
961
235
959
158
907
907
964
119
513
87
824
42
220
188
789
300
93
571
176
386
791
269
213
246
67
395
247
533
402
371
504
532
285
682
586
280
952
993
743
243
95
353
771
18
186
673
53
658
554
842
880
634
308
640
675
929
512
82
186
432
767
939
978
634
492
977
839
603
771
865
794
351
542
821
495
8
336
789
667
657
482
360
160
299
909
701
902
181
240
466
713
630
879
60
505
618
168
618
862
510
511
779
393
846
551
659
507
533
124
424
483
537
708
527
772
25
541
968
520
904
376
922
159
878
132
675
764
493
291
115
600
73
988
943
886
145
160
353
367
687
31
202
708
538
423
569
90
377
113
179
625
946
507
362
376
637
398
131
847
105
482
433
753
320
588
867
801
351
302
964
943
224
782
644
326
394
49
613
687
728
29
265
511
400
867
119
629
785
871
974
295
257
499
685
973
758
425
961
195
185
620
629
928
888
809
577
763
66
368
995
157
410
962
576
654
157
771
76
729
580
152
979
401
69
986
72
313
143
740
383
272
159
522
321
601
1000
972
798
811
735
884
830
190
108
885
355
946
708
300
45
425
861
599
443
746
592
467
79
933
498
558
139
228
5
495
848
840
286
520
985
791
43
456
832
899
505
351
457
168
195
235
396
38
512
909
712
997
679
599
915
44
390
589
430
367
351
662
115
382
961
310
852
975
577
160
378
395
177
15
329
733
713
242
941
353
166
963
976
949
89
664
207
110
443
381
253
451
647
590
621
341
66
271
571
257
613
420
830
610
740
420
230
656
861
308
59
752
165
917
299
821
860
315
939
302
114
726
247
310
343
354
220
966
47
120
423
67
102
372
95
376
247
20
704
793
547
422
79
605
767
542
910
800
918
579
649
192
710
311
793
696
314
844
123
655
591
330
714
544
913
491
451
744
827
459
306
322
34
513
907
905
607
814
733
831
944
99
869
707
659
621
363
393
540
323
153
221
703
341
938
954
317
464
606
567
589
103
574
469
248
632
909
158
400
757
181
667
486
633
815
331
34
95
118
568
29
240
252
398
49
32
182
357
732
308
21
321
761
812
254
496
325
390
42
521
901
531
184
158
328
801
336
549
320
524
755
383
997
287
232
610
529
431
793
530
707
744
478
177
89
977
771
927
416
638
226
187
117
776
482
797
97
81
98
553
434
713
610
847
291
710
785
980
116
686
285
132
165
819
893
333
480
787
956
36
735
406
985
26
759
201
156
513
133
58
33
189
998
375
2
928
70
866
732
596
938
277
505
123
892
780
385
586
901
770
18
570
867
83
318
469
952
422
417
717
601
919
30
159
858
290
835
901
729
38
534
19
609
482
38
437
273
192
596
155
520
560
766
737
311
857
833
649
196
61
641
593
855
202
874
470
856
707
444
964
77
488
41
49
813
97
871
896
286
313
254
759
106
933
87
436
292
394
125
787
569
77
657
646
54
792
443
135
848
997
695
86
762
771
502
738
140
397
308
382
736
717
996
943
672
81
665
736
802
778
409
832
191
364
280
490
25
167
145
123
977
557
335
120
950
294
817
650
163
352
124
257
749
163
429
650
370
144
957
610
911
691
397
342
925
589
100
898
376
897
618
558
191
962
588
155
251
124
41
378
778
98
980
27
509
718
452
47
639
982
415
917
314
849
427
632
340
281
516
93
864
392
665
171
17
368
3
125
895
49
142
302
780
646
86
267
247
131
821
605
596
213
964
630
133
688
847
153
920
177
23
291
5
895
449
1000
579
170
559
665
159
885
4
604
701
854
108
783
480
454
970
416
689
482
720
320
969
298
641
133
515
808
749
497
941
732
938
338
867
898
4
216
45
40
681
530
892
636
330
40
504
911
72
775
583
994
966
889
206
605
311
466
58
342
240
549
552
809
593
937
261
376
462
383
205
320
905
905
854
437
70
823
128
25
361
1
315
292
376
546
559
810
5
847
516
674
496
410
825
358
313
453
301
123
277
539
120
990
838
893
823
938
332
158
665
989
701
515
681
285
491
45
880
70
899
160
102
767
258
714
461
937
629
152
704
7
113
688
522
84
76
10
603
31
727
484
173
285
397
163
889
525
435
162
204
434
827
121
731
245
544
556
746
672
140
856
639
148
303
562
78
961
909
387
648
31
627
69
944
558
270
795
449
737
898
427
57
27
158
156
730
228
435
544
662
757
214
145
245
70
447
985
310
122
819
285
395
140
579
678
239
739
967
83
321
598
354
108
4
486
929
546
792
430
109
85
250
203
924
806
402
107
261
475
777
260
242
852
848
165
968
497
285
416
534
605
309
762
534
440
453
642
222
816
189
496
132
930
228
830
241
536
750
55
675
104
496
578
567
144
411
487
922
295
507
457
232
163
710
142
155
106
703
458
798
364
227
592
990
974
852
521
481
888
964
76
182
602
626
344
393
379
969
270
481
849
21
879
601
361
204
436
886
970
250
209
972
358
955
248
875
293
32
711
991
474
270
848
437
712
389
701
35
455
223
931
1
610
371
975
784
433
5
905
580
61
337
922
747
867
123
448
725
441
695
141
97
416
216
975
106
801
247
730
278
713
274
855
820
620
522
682
86
312
253
406
741
796
755
57
191
255
388
970
506
994
403
850
293
42
696
631
963
714
334
753
382
947
452
362
168
688
95
205
800
960
660
661
250
471
896
441
69
813
776
978
750
343
209
427
684
841
215
474
241
878
125
898
335
666
404
921
325
800
859
889
267
943
408
797
339
988
54
455
721
648
387
864
341
741
782
504
678
660
415
790
227
663
371
909
363
611
422
617
39
794
469
339
200
253
290
114
816
835
977
468
193
824
353
334
553
590
762
503
931
158
842
902
115
985
269
201
678
515
31
865
179
277
456
796
244
386
110
120
534
320
670
520
617
746
47
754
330
993
379
637
537
499
968
822
102
164
893
172
487
115
818
379
652
795
466
755
800
668
327
805
120
52
444
258
841
798
542
739
830
544
318
153
470
311
461
153
736
32
866
765
249
415
517
385
561
249
749
840
90
825
947
174
945
673
219
121
307
234
317
993
206
370
828
832
277
880
706
242
518
284
295
272
174
201
340
88
617
569
899
925
474
815
675
20
350
836
78
773
183
311
214
402
643
430
94
734
21
602
574
587
745
91
938
400
983
802
565
388
803
627
841
505
15
898
305
956
117
442
64
788
744
682
651
370
647
54
844
195
474
683
445
486
617
953
638
576
909
100
362
845
280
410
73
320
303
966
369
692
194
115
239
586
998
28
75
417
576
741
218
76
558
90
476
944
576
804
997
508
956
798
882
895
551
439
154
226
515
111
31
565
671
941
976
615
567
950
672
14
430
199
879
258
36
753
123
822
911
372
302
993
400
929
586
317
873
435
445
316
738
458
232
314
1000
443
520
789
821
104
325
675
888
644
381
392
459
8
911
245
606
785
703
982
546
621
831
949
915
240
95
296
532
235
85
110
469
814
784
170
252
591
822
300
589
337
778
892
352
307
455
252
437
424
641
882
733
107
700
649
673
988
282
103
751
102
525
836
929
401
404
902
109
594
313
765
674
386
495
185
664
160
731
701
321
32
520
120
588
990
87
518
629
519
703
777
608
721
197
614
762
433
38
397
273
263
20
760
569
783
437
207
453
340
593
420
914
72
641
953
530
754
32
361
160
51
312
586
995
588
610
582
112
7
919
771
392
857
193
884
19
702
353
151
833
332
549
616
462
330
372
526
528
528
298
405
204
100
309
397
45
101
524
923
351
313
659
526
255
129
319
983
381
41
455
462
165
31
777
519
897
772
579
182
103
99
210
264
168
646
383
296
958
891
604
147
808
122
296
485
429
964
581
741
153
217
279
87
500
696
398
296
187
655
298
20
584
173
735
153
90
553
194
464
58
395
306
611
741
513
599
978
132
268
563
524
765
211
798
969
270
147
995
195
935
876
671
708
613
889
814
358
48
240
120
295
121
679
33
307
560
855
621
274
367
104
212
466
610
859
788
797
230
218
385
955
228
586
110
540
899
581
950
949
824
599
242
771
932
517
522
884
300
41
497
269
302
81
41
814
337
398
445
2
655
454
639
456
731
40
736
746
224
791
35
745
817
159
582
82
111
716
493
928
347
968
499
418
896
989
593
514
381
259
242
1000
776
64
350
622
42
707
48
53
697
533
436
533
196
514
596
499
177
686
545
490
410
266
335
921
784
692
145
58
753
111
53
698
477
120
158
576
289
627
851
492
260
802
330
530
321
985
913
497
863
272
301
867
745
285
703
155
403
260
664
570
74
159
506
233
234
6
518
43
975
14
436
458
440
342
280
103
397
541
319
125
687
824
801
624
630
321
92
363
375
362
23
148
862
678
608
972
311
120
719
3
79
117
4
23
360
654
78
731
388
967
4
631
769
526
154
881
85
99
833
584
132
897
451
458
67
820
603
759
199
826
159
594
409
323
341
493
986
260
819
223
178
288
45
330
896
968
425
833
848
506
403
841
804
889
243
569
861
646
86
413
311
648
860
264
190
514
752
214
638
218
239
183
982
429
148
730
841
975
786
534
600
572
973
573
339
620
721
48
667
427
371
474
924
726
244
179
926
674
227
641
741
881
297
726
8
141
638
902
931
676
913
923
437
700
214
322
891
18
438
299
453
188
103
199
368
514
147
871
485
746
878
636
834
914
6
444
365
170
695
103
863
838
624
101
592
150
346
666
446
298
642
157
262
497
121
811
472
732
98
145
460
737
610
37
821
551
521
623
228
669
847
646
772
431
783
865
413
765
441
404
702
845
974
724
3
513
576
997
258
561
831
229
759
77
48
464
476
114
466
704
247
877
707
26
548
463
440
477
582
961
972
989
201
356
438
463
483
280
291
650
878
101
61
182
457
222
716
376
201
771
519
7
209
28
964
287
405
49
229
703
592
951
619
216
704
224
597
538
695
269
378
872
809
64
503
541
895
512
463
385
30
551
250
689
948
527
618
648
695
736
14
81
468
229
320
153
829
180
43
404
356
173
103
219
297
727
140
231
26
280
139
813
880
605
194
963
507
366
477
376
981
83
780
457
743
303
569
329
924
175
95
649
688
949
995
195
48
135
750
713
19
204
521
503
61
723
196
565
550
795
887
902
347
482
786
761
680
674
971
165
197
524
761
87
459
118
218
5
170
548
668
392
100
915
493
877
29
89
981
469
19
237
730
200
971
233
952
34
747
68
43
662
101
287
949
92
269
300
179
546
365
138
814
264
657
855
469
247
389
300
1000
851
53
460
656
405
941
873
512
706
338
920
267
332
959
913
919
196
81
15
396
658
372
949
958
827
588
383
72
373
153
629
503
308
141
997
578
686
322
748
906
128
751
101
389
386
847
125
996
927
13
725
610
621
661
86
246
228
895
130
60
274
243
533
877
320
538
811
406
368
473
839
924
345
408
903
973
167
722
56
524
897
373
126
148
898
372
173
963
669
536
607
504
287
244
418
228
969
922
218
40
305
615
837
105
131
329
270
202
832
801
640
79
149
940
694
544
139
512
51
561
62
526
59
211
377
416
654
213
904
312
53
611
502
647
468
380
259
857
277
930
294
196
246
921
742
509
479
395
420
391
725
926
929
280
575
408
696
939
833
124
556
222
90
962
983
217
70
971
38
632
864
983
397
786
570
707
596
668
147
480
748
320
571
899
555
216
442
659
393
426
287
222
605
76
713
398
921
35
415
529
84
811
817
713
359
354
768
447
580
841
277
122
802
553
778
44
396
603
752
51
672
674
847
317
695
867
831
667
3
443
787
538
354
547
999
795
449
962
849
711
853
571
902
805
933
474
56
674
729
656
258
614
105
670
855
605
399
72
48
202
55
232
307
957
419
709
830
285
930
586
307
89
458
55
304
36
410
46
579
117
553
891
483
2
189
844
432
747
437
807
87
612
913
709
507
113
997
856
23
917
236
988
13
897
158
933
60
459
918
500
192
238
748
717
72
419
154
578
983
204
141
244
451
420
548
13
153
851
729
461
558
656
409
856
352
139
531
324
331
222
304
278
856
210
474
290
402
792
27
957
968
820
169
270
346
49
434
687
327
927
209
386
921
502
788
174
608
707
308
110
411
588
576
223
350
532
826
608
437
205
939
774
906
657
473
395
853
69
171
488
745
653
258
605
583
538
935
859
605
850
966
472
519
800
146
28
224
305
737
862
834
567
684
788
646
73
515
920
339
677
361
463
336
795
458
173
728
235
827
638
592
872
568
678
842
197
333
920
992
745
130
33
303
547
529
226
874
59
731
340
135
444
725
260
67
716
927
459
239
1
289
176
383
95
852
121
831
578
105
610
591
960
325
741
207
745
274
539
878
821
247
12
447
299
477
696
17
772
347
611
926
985
674
462
743
67
574
598
743
813
78
478
74
967
688
344
425
121
564
408
560
613
847
62
531
771
947
578
702
959
245
283
12
128
803
431
28
19
99
855
435
711
763
22
566
963
537
288
453
672
442
996
700
819
187
549
109
478
451
768
653
806
520
612
858
465
149
851
69
573
241
365
411
135
63
547
457
848
295
703
766
358
165
454
467
288
261
873
37
865
417
499
237
524
217
433
949
675
267
447
312
699
353
372
110
359
21
108
861
992
892
251
418
280
261
679
181
916
117
439
226
194
752
945
735
399
565
762
127
886
485
285
208
927
670
168
457
694
815
702
309
257
419
231
904
104
839
314
329
477
823
567
812
785
466
37
668
436
246
514
67
724
833
401
845
799
896
640
653
339
7
711
703
267
32
918
264
741
148
5
825
711
682
650
571
502
547
531
369
258
927
478
11
615
230
680
839
582
51
46
217
508
39
594
515
930
107
170
440
272
386
909
524
652
700
573
590
493
79
326
810
252
39
541
752
339
919
985
475
224
554
58
284
784
981
830
236
207
637
272
881
125
763
442
983
213
300
366
189
183
616
28
678
958
806
161
861
830
152
539
88
562
572
43
149
739
527
109
80
133
893
37
402
502
804
290
476
19
286
120
83
507
804
772
699
723
519
93
172
226
122
554
703
780
605
605
56
797
241
776
928
89
321
152
288
55
917
662
254
491
63
144
809
406
252
286
213
591
70
357
512
176
150
111
928
117
327
365
248
347
59
523
536
319
701
780
653
815
195
794
62
176
101
383
388
560
655
210
1
449
725
468
681
385
118
291
84
827
681
1
257
110
30
329
979
703
545
406
43
365
480
704
897
334
650
71
249
381
168
664
357
426
157
908
687
422
156
550
596
384
217
535
448
750
317
658
352
777
755
936
296
270
672
198
21
769
705
648
394
253
24
63
417
534
721
844
225
768
572
357
632
940
680
865
817
740
442
894
724
6
522
46
647
754
287
123
229
910
226
918
821
17
407
185
732
566
984
111
407
119
42
66
990
35
859
554
29
476
784
41
334
297
482
783
82
621
268
875
355
148
598
462
187
715
579
492
92
243
503
429
747
936
41
51
232
557
668
866
717
642
326
657
44
780
120
409
950
442
42
152
39
415
354
298
735
576
244
693
603
603
852
878
391
251
529
84
78
943
495
50
23
823
654
56
36
820
421
503
814
971
836
955
739
22
132
793
457
256
178
561
15
657
903
621
597
713
885
965
39
644
787
881
393
370
199
741
766
290
774
308
560
830
227
853
992
735
898
823
513
330
94
5
290
274
351
883
468
897
91
400
307
830
894
440
620
513
738
103
163
95
126
332
753
430
960
476
928
117
410
185
903
27
771
384
433
334
496
165
934
846
167
137
892
347
159
154
141
728
142
362
77
938
386
192
245
153
5
279
32
102
932
258
385
220
420
75
565
117
269
727
980
884
859
338
7
928
259
82
577
348
370
756
982
341
77
719
29
772
862
542
160
833
201
914
642
670
309
290
250
957
510
306
133
657
566
214
712
647
795
450
527
430
717
987
924
919
238
300
345
135
129
626
794
745
643
679
703
509
634
143
68
129
497
91
189
444
532
904
796
633
136
437
618
869
312
913
722
895
580
482
40
88
304
480
564
897
838
144
613
983
645
971
440
999
725
947
196
702
276
603
917
20
503
211
791
758
865
488
420
877
890
818
171
651
848
391
4
554
238
627
346
439
11
896
706
419
933
890
685
871
280
944
988
162
317
218
848
8
662
958
984
873
680
965
865
447
497
996
567
22
130
84
983
567
447
645
448
372
385
807
152
426
920
628
819
89
786
714
250
211
816
301
256
565
94
35
419
377
814
528
889
730
853
269
122
887
587
620
65
869
393
433
789
177
652
301
1000
212
748
552
155
749
760
918
149
827
60
193
665
548
6
330
299
563
266
145
555
490
101
209
599
90
103
574
466
821
449
688
39
285
759
223
713
168
995
578
103
497
696
502
569
448
983
603
584
445
458
548
180
24
71
360
811
785
514
578
962
746
482
970
755
611
435
134
614
781
91
612
780
398
956
28
93
377
661
415
1000
171
720
94
174
938
615
395
503
918
765
63
445
79
55
413
907
500
46
152
877
543
929
349
17
606
543
183
298
118
528
952
536
494
758
343
411
967
751
76
98
558
659
887
209
992
792
252
92
977
351
383
899
155
198
815
29
974
54
327
700
867
453
29
426
453
160
211
130
873
529
927
461
33
440
373
646
252
71
818
872
742
694
215
742
438
149
672
851
899
390
615
879
411
743
838
911
959
110
627
857
437
395
796
977
318
827
783
488
19
705
916
170
374
340
598
684
940
582
411
46
346
404
97
336
550
452
956
254
625
354
448
570
692
820
678
874
682
284
41
279
905
881
461
905
795
72
586
10
803
102
794
653
116
807
64
595
779
946
603
1000
855
418
618
120
418
165
776
799
588
556
707
114
269
343
350
876
970
25
117
55
879
611
548
384
366
320
651
564
213
706
140
490
169
73
580
899
878
808
825
645
832
444
200
615
775
826
600
908
873
782
54
498
91
55
305
80
383
81
680
139
762
391
829
626
794
47
939
761
808
516
654
623
944
833
272
166
186
741
720
229
690
713
469
909
48
425
797
404
600
291
765
61
559
147
838
877
491
999
368
188
659
63
7
589
831
970
734
393
425
109
348
119
279
566
179
538
912
999
296
800
871
127
654
23
637
168
493
549
640
727
774
713
81
107
607
620
671
994
424
894
868
747
124
787
875
305
533
365
509
844
307
683
987
886
833
26
857
503
783
294
574
635
707
583
666
308
477
838
63
715
437
224
902
702
828
518
54
207
448
388
694
558
512
899
450
394
373
985
81
116
120
874
161
455
23
684
937
705
506
483
417
638
594
123
723
934
752
55
936
196
695
170
967
273
960
418
492
657
27
587
604
197
336
172
638
205
791
706
586
331
265
244
604
246
166
999
391
252
334
236
643
440
434
634
334
895
511
289
346
767
580
394
825
722
944
457
692
410
459
564
965
93
76
829
849
526
852
661
130
500
38
887
11
187
1
105
426
608
529
835
767
51
447
204
177
260
642
893
794
565
262
66
821
887
328
793
879
749
998
297
876
988
481
956
544
858
947
603
859
616
822
110
800
477
524
654
306
34
63
308
784
851
884
831
292
974
47
609
313
494
72
707
87
180
817
900
624
388
317
389
848
144
835
593
804
310
284
80
492
231
787
200
700
105
371
462
141
603
710
1
316
933
388
785
789
625
365
324
968
815
195
760
77
680
94
142
719
9
124
617
331
562
591
3
866
29
287
958
247
880
314
512
487
353
80
252
878
147
487
871
337
124
482
89
806
478
899
192
591
384
969
563
658
68
956
600
219
660
131
391
344
890
695
331
7
939
323
633
673
274
720
354
493
335
939
122
240
302
263
207
336
1000
117
980
728
187
820
84
898
87
995
819
10
74
92
371
36
800
812
491
718
925
156
149
408
844
466
522
141
420
105
378
769
830
337
555
636
54
586
773
72
413
475
455
909
845
967
591
358
246
480
911
833
345
71
831
721
17
647
661
694
859
696
576
866
156
220
701
2
67
374
470
28
975
836
92
275
463
72
572
274
320
475
227
417
288
806
61
447
26
527
665
619
894
349
549
289
725
777
918
892
697
526
978
500
804
415
765
655
156
766
343
751
573
381
4
997
454
893
723
935
943
654
710
537
801
359
375
159
151
286
396
996
544
363
862
251
347
290
673
898
495
580
456
814
96
696
273
34
170
443
315
75
81
364
561
586
849
201
162
69
567
393
877
56
647
189
460
912
430
190
348
394
13
39
310
195
794
550
11
970
329
766
582
756
583
316
370
279
551
965
996
361
534
458
753
541
47
545
148
60
474
651
73
563
76
726
729
227
916
684
868
533
571
259
410
575
263
278
720
627
160
57
141
646
185
155
431
576
592
713
851
551
960
432
554
592
10
602
783
988
835
669
156
288
720
532
955
796
699
164
917
493
415
134
494
569
638
323
933
117
2
474
809
106
148
175
832
430
467
571
866
699
73
383
73
438
465
786
40
553
572
323
534
218
540
300
279
837
642
61
757
377
171
112
584
141
36
315
462
21
52
296
23
368
585
733
192
878
298
449
786
316
256
67
207
475
488
547
2
484
485
77
979
506
735
665
329
853
586
243
920
797
194
272
521
686
279
631
184
493
700
50
502
592
661
467
675
387
443
449
649
393
145
288
615
515
876
436
294
550
179
716
285
415
266
138
674
172
802
211
808
713
569
352
823
886
324
382
81
896
560
105
134
70
692
670
222
452
382
743
595
236
340
516
146
751
957
248
925
570
564
312
135
313
912
730
98
908
746
746
507
367
969
325
5
657
946
353
757
832
961
927
224
442
697
367
779
131
898
484
163
492
19
195
36
467
774
804
28
33
987
110
775
463
19
83
388
210
377
972
684
313
793
605
311
313
201
89
563
830
530
328
303
317
189
519
906
46
426
314
549
6
506
420
488
252
775
199
193
215
256
266
330
618
347
174
637
936
590
15
648
801
229
178
109
332
449
563
654
174
799
255
978
905
249
58
324
575
764
288
558
362
64
924
490
719
436
571
397
927
106
649
875
673
674
915
271
131
548
702
927
24
166
253
392
340
993
128
580
656
975
950
555
561
141
686
286
260
528
270
214
262
459
577
946
987
474
717
729
260
894
129
597
879
80
198
275
923
937
991
967
973
105
213
137
216
593
693
270
232
308
544
399
358
45
631
842
684
37
135
248
111
75
830
487
423
557
121
395
964
539
50
652
366
53
225
337
744
439
81
785
903
481
967
466
413
409
296
492
844
692
400
244
70
647
805
359
301
509
325
951
439
612
788
556
405
671
196
722
348
23
833
567
995
838
167
894
981
964
374
689
679
64
999
860
910
151
546
139
917
433
767
955
191
660
55
890
2
762
591
92
33
659
879
603
106
564
834
140
809
955
895
267
769
693
486
288
436
402
755
403
486
342
684
873
392
473
600
959
276
320
573
426
880
540
439
240
393
795
974
899
920
675
277
510
551
905
555
346
385
9
322
106
336
948
476
512
249
963
863
198
669
37
694
88
565
889
628
538
494
430
412
622
945
931
738
828
61
939
353
307
567
160
549
565
460
101
834
153
964
261
5
471
307
40
839
275
131
362
302
877
709
192
551
273
708
761
956
673
920
315
49
966
261
643
618
688
319
472
120
949
938
52
200
610
616
897
415
716
7
702
153
815
421
932
372
346
54
397
982
708
576
457
650
973
863
132
323
458
892
486
1000
550
235
170
166
215
189
857
798
624
279
645
66
193
779
195
692
125
940
482
400
229
792
566
74
405
780
709
35
665
976
508
319
2
284
436
955
692
893
352
22
894
210
66
708
494
621
25
669
199
760
539
738
828
384
741
458
588
575
649
933
885
744
277
234
878
841
750
985
551
242
743
724
556
12
391
386
445
650
27
553
223
933
681
128
318
215
351
735
180
363
439
472
711
539
591
594
666
196
432
332
950
4
312
333
473
866
245
136
877
865
676
698
930
733
582
220
899
426
659
443
488
458
66
111
237
932
242
567
411
631
813
261
484
70
519
517
293
190
355
81
829
233
877
809
395
376
690
342
575
935
690
798
48
263
539
284
789
20
198
524
599
126
75
13
235
566
489
869
646
164
706
23
909
619
771
453
549
349
694
909
827
168
359
10
450
425
670
623
906
980
42
166
294
321
342
844
65
217
765
856
599
496
945
295
895
962
801
811
940
994
238
87
532
53
838
850
410
222
102
436
570
868
653
905
529
720
21
309
154
964
304
7
351
445
30
856
593
701
16
683
744
342
891
704
126
258
178
467
100
211
585
425
689
674
140
492
943
151
394
795
802
824
724
358
187
93
137
646
946
451
635
742
31
197
356
407
31
679
187
455
718
126
508
663
828
623
31
901
664
475
455
316
467
8
799
143
678
861
812
179
387
933
851
43
277
465
943
80
318
183
545
173
319
21
676
816
191
725
703
454
454
541
8
539
64
283
208
735
128
284
374
392
449
146
896
773
124
741
282
498
628
592
179
310
883
666
338
620
852
577
70
204
91
398
998
77
504
589
534
842
278
28
571
746
617
800
348
259
397
141
285
244
341
926
886
701
646
191
462
600
236
417
513
566
11
750
111
22
490
898
506
946
253
164
479
576
439
987
691
220
361
383
369
867
996
892
205
398
676
986
271
45
852
423
70
191
190
663
610
732
562
334
501
999
765
685
658
684
879
110
125
276
242
124
916
293
957
620
537
986
690
843
14
235
273
269
868
104
288
527
425
867
390
535
287
360
562
279
554
193
926
59
623
698
980
537
992
489
335
659
518
150
141
349
999
911
366
919
807
77
34
261
499
676
318
265
25
992
127
349
155
642
449
641
245
418
250
152
311
368
155
207
642
492
531
539
868
998
777
689
494
263
861
773
373
533
157
284
511
904
629
282
891
338
303
252
694
280
718
930
452
959
777
608
133
598
996
786
128
582
660
539
431
74
799
664
29
720
230
454
676
840
126
971
789
952
687
807
128
547
559
605
325
810
561
90
65
359
127
944
927
132
661
632
447
311
608
192
982
467
668
111
331
226
10
586
877
368
748
915
217
653
218
258
884
655
791
748
737
531
45
753
85
974
145
130
381
545
169
475
620
237
949
675
168
358
711
593
835
782
441
307
455
212
421
160
98
319
840
794
294
562
725
474
369
11
680
252
20
745
120
951
795
263
696
517
2
849
647
25
900
53
633
513
719
270
438
844
162
886
592
35
597
652
575
792
25
703
771
571
282
161
743
88
662
331
719
69
271
315
420
4
21
297
459
786
75
812
599
449
964
107
107
620
347
72
260
957
553
288
838
566
651
451
104
336
773
818
310
193
784
326
275
507
258
739
930
283
844
514
53
292
805
57
545
26
459
733
773
182
737
252
445
426
861
61
439
343
414
980
788
793
715
589
788
395
437
810
790
488
907
750
782
713
357
55
330
300
680
4
766
287
925
58
791
100
828
856
792
405
201
487
288
677
853
397
829
672
58
497
619
892
267
846
864
145
886
818
572
544
464
775
123
597
552
116
429
601
843
1000
903
182
916
205
811
677
97
321
752
18
440
940
194
916
854
587
986
460
713
873
735
658
91
780
784
85
925
10
258
555
995
86
346
649
600
240
515
9
203
148
851
547
131
284
91
90
593
968
204
540
935
223
557
325
45
160
820
766
246
967
748
3
866
515
915
307
892
217
259
886
785
78
57
839
559
771
545
482
703
202
961
121
383
252
218
258
628
282
762
347
893
586
425
456
458
125
264
642
624
820
398
388
555
163
892
202
934
96
554
370
267
975
343
866
846
888
757
680
839
808
170
120
948
807
600
193
383
73
793
832
656
577
825
569
828
1
665
198
403
3
238
171
34
947
599
705
533
18
745
70
494
10
465
109
974
136
352
813
293
964
786
705
974
895
267
828
261
681
925
409
453
130
444
619
480
512
896
416
787
145
201
149
594
336
1000
460
46
121
758
42
569
231
800
946
22
350
827
519
858
968
159
462
566
114
600
191
123
800
339
457
54
298
761
119
954
234
384
96
26
73
376
776
251
765
301
556
301
219
780
816
212
755
745
294
118
933
826
782
75
932
227
50
98
198
100
155
69
212
62
604
94
40
976
390
227
795
552
562
205
266
617
829
2
746
149
681
536
511
288
633
856
526
573
514
467
665
597
143
241
158
136
385
524
31
522
288
663
14
753
970
114
784
335
965
743
406
378
998
700
562
804
510
451
451
858
846
207
281
257
667
947
910
442
47
717
491
401
702
694
968
424
978
732
872
988
547
782
149
678
247
596
691
701
126
625
831
53
558
831
301
876
251
463
69
874
54
471
22
907
747
350
676
47
431
683
980
472
674
542
781
487
327
222
742
924
822
473
303
873
757
530
813
465
849
736
70
963
617
517
358
971
721
748
517
953
531
345
689
577
335
24
194
632
551
737
394
386
491
241
519
297
478
644
152
916
580
508
496
695
844
296
589
145
657
524
354
457
794
947
750
278
779
551
306
780
417
866
16
583
758
376
900
325
269
376
556
920
721
682
650
593
131
983
634
829
126
515
919
249
257
907
368
276
122
766
256
141
632
557
759
442
402
840
646
995
21
757
82
140
945
951
367
40
812
770
966
756
287
699
441
30
937
423
743
798
215
878
846
413
381
878
909
434
37
670
984
643
56
861
767
625
812
666
87
853
52
392
582
723
191
373
524
398
540
313
849
634
761
161
229
987
844
174
484
926
38
786
679
416
453
274
34
483
505
959
165
109
991
906
231
571
329
595
282
990
417
108
475
437
671
699
857
397
971
471
80
792
715
51
785
36
637
806
359
796
820
117
448
219
144
718
886
417
437
861
710
868
775
390
512
264
687
385
674
15
502
127
977
263
742
581
652
812
209
460
180
793
408
201
83
258
41
864
466
136
547
45
326
152
131
386
485
369
241
167
550
7
234
737
478
41
835
302
178
903
31
646
56
267
263
919
591
532
128
537
811
94
290
581
38
917
23
807
340
251
572
544
982
530
546
285
516
649
676
766
319
828
556
649
82
243
459
749
180
412
909
864
908
124
444
899
283
321
967
938
486
942
87
316
35
185
166
550
499
40
90
202
839
235
414
341
547
899
142
311
317
403
341
936
359
764
739
109
406
1000
664
981
70
557
981
578
531
712
193
754
406
456
476
833
317
905
244
149
848
735
767
988
541
470
483
86
111
733
909
935
283
700
461
644
526
83
93
969
491
947
368
472
142
530
476
431
401
24
777
273
646
987
590
799
531
616
389
416
424
669
990
900
211
171
55
983
351
427
29
169
834
17
593
780
131
644
911
129
313
688
167
147
283
303
405
521
427
707
253
578
98
101
876
761
28
299
456
490
145
707
519
645
312
792
705
662
167
537
949
478
607
670
578
160
442
659
535
60
393
542
805
800
947
691
120
192
501
497
190
441
899
797
36
648
705
586
490
659
513
160
538
761
169
431
14
617
54
526
67
74
438
186
959
165
520
706
984
722
950
339
758
477
527
122
659
462
267
104
961
777
249
783
80
546
475
384
403
959
464
293
350
847
480
538
704
139
76
757
741
914
133
453
348
452
657
699
186
898
410
648
872
639
869
350
358
503
93
405
929
227
839
929
723
406
664
161
255
351
809
775
228
806
370
656
789
522
660
434
499
45
656
561
494
885
134
88
713
458
443
596
618
774
831
913
514
899
935
356
442
618
319
245
647
591
928
340
759
485
946
665
180
263
822
931
631
830
166
362
471
705
796
301
168
241
486
391
274
211
845
484
361
228
338
688
617
554
648
112
245
372
490
955
371
433
468
540
894
365
799
781
620
564
534
363
30
760
408
604
267
843
630
548
268
462
701
391
477
254
828
682
251
287
625
138
892
454
583
65
219
110
178
554
736
193
651
641
749
430
168
550
211
27
523
12
722
380
574
389
834
962
347
999
755
501
77
610
607
986
533
525
638
818
604
100
160
646
509
772
538
29
966
911
265
103
320
877
984
843
923
695
368
342
52
640
914
789
248
875
31
454
253
987
302
29
639
899
424
182
844
181
117
978
543
212
270
140
202
10
660
794
239
785
885
387
382
445
531
25
755
339
202
288
684
511
748
971
449
604
929
827
21
348
793
559
337
250
237
807
798
716
599
785
513
327
613
607
253
410
751
16
216
353
790
425
473
352
420
716
405
393
873
179
537
317
794
383
904
755
87
494
505
562
35
759
459
161
761
458
183
820
31
601
284
508
463
56
907
410
443
582
932
576
424
473
778
461
852
100
569
313
641
688
52
458
987
73
987
534
315
28
674
637
337
987
936
178
505
617
116
933
640
786
606
457
150
887
20
493
37
371
342
534
858
592
324
975
900
779
927
578
94
976
843
142
611
340
7
313
672
44
503
463
802
349
504
431
694
104
689
730
837
77
80
473
323
998
422
925
543
155
2
45
46
709
302
817
473
626
978
487
314
267
447
35
213
246
803
349
701
118
865
605
495
794
897
293
989
408
985
184
153
476
54
285
808
825
285
486
183
706
9
188
735
953
238
636
415
815
627
120
997
297
32
431
588
500
823
191
167
407
755
768
835
52
515
479
500
790
29
703
846
668
229
361
809
512
276
894
232
402
147
568
11
691
88
411
864
544
717
564
759
287
396
160
201
497
131
121
782
877
406
388
871
428
269
207
844
334
507
36
39
274
927
539
458
592
600
904
322
866
430
425
757
915
561
880
269
263
937
748
153
349
802
714
680
563
51
222
695
294
119
85
284
763
529
258
260
345
303
934
546
454
213
77
973
857
209
315
608
417
480
925
503
896
245
249
665
406
821
495
131
494
484
312
258
678
353
933
725
402
863
956
287
70
379
29
33
753
173
794
735
670
292
469
916
315
786
338
396
383
437
248
446
264
348
933
114
950
743
615
976
640
876
868
300
206
215
167
615
933
975
911
758
653
613
940
721
449
130
746
81
611
905
633
324
405
279
63
138
542
332
303
624
915
125
272
420
309
144
169
942
295
898
100
272
447
367
364
793
368
515
542
270
730
166
774
958
690
352
913
272
599
640
299
696
870
83
987
903
238
132
178
513
422
298
462
507
361
385
221
108
806
840
236
816
999
130
62
406
607
97
242
880
852
926
814
814
1
674
815
3
988
354
721
100
958
176
840
719
962
878
670
538
846
50
173
83
638
962
699
211
361
690
59
775
271
282
830
618
960
268
549
806
648
102
872
985
229
992
143
841
350
158
38
911
853
759
162
403
415
622
492
265
117
394
568
481
969
986
199
447
121
945
238
316
625
948
681
446
114
736
923
373
689
617
544
308
657
137
370
783
487
646
895
920
499
252
372
762
356
100
3
261
381
995
702
786
103
153
832
503
168
241
197
533
984
947
286
614
991
32
458
867
494
187
306
357
335
31
923
387
538
314
164
822
230
673
289
300
762
331
571
899
993
753
526
646
109
614
469
323
176
359
967
138
899
296
609
195
657
410
222
152
978
51
291
118
52
208
894
608
743
357
869
346
863
749
338
796
87
583
888
587
51
723
958
383
576
464
969
359
947
429
767
150
393
811
798
41
687
51
215
207
865
531
845
11
590
2
504
718
619
291
661
519
160
299
899
394
653
402
874
194
632
177
758
294
907
773
250
314
244
387
273
677
89
988
432
256
655
901
161
943
856
869
206
746
190
967
802
932
605
83
431
826
835
732
541
85
460
641
978
667
156
884
168
259
236
357
296
627
570
16
792
197
437
618
476
208
649
688
611
930
588
23
910
781
368
361
314
632
456
743
928
263
492
701
98
695
949
677
8
96
510
918
545
43
758
733
440
211
806
133
839
956
38
820
536
846
983
956
72
925
669
381
773
377
517
744
616
304
913
551
460
543
177
243
815
776
509
272
814
730
874
567
459
916
507
939
536
184
864
727
811
355
396
429
267
321
498
169
146
319
321
567
535
504
927
13
63
572
444
386
42
958
441
974
38
15
754
752
428
699
379
148
978
480
858
182
853
621
769
134
745
471
584
948
25
154
139
200
893
882
417
788
527
112
162
442
124
966
87
816
570
648
77
145
170
54
857
453
516
446
37
811
114
817
304
472
801
551
838
547
382
77
652
479
116
480
686
788
889
445
954
416
953
509
929
543
82
289
677
923
894
280
940
634
864
828
486
629
233
120
571
631
647
343
280
721
825
725
845
441
11
800
783
351
242
92
832
753
711
382
237
740
630
853
862
809
26
721
3
33
857
397
521
185
677
827
111
259
827
438
88
570
814
10
73
966
72
905
354
720
807
280
497
367
984
315
989
64
816
39
315
82
294
15
887
662
404
35
666
798
681
937
163
466
658
892
734
439
594
767
728
110
567
706
107
680
682
668
616
660
644
487
433
872
420
946
502
53
31
471
453
723
810
321
57
171
571
561
682
323
263
674
103
757
592
424
314
319
29
433
714
640
381
16
133
353
784
988
704
957
606
541
496
77
238
772
173
356
144
134
673
323
890
911
40
352
82
765
115
282
264
588
732
335
870
151
427
748
278
505
462
895
846
693
114
778
570
103
772
453
660
693
400
339
927
418
258
388
292
392
659
779
163
735
660
124
685
580
271
206
55
416
745
878
215
812
948
101
218
564
653
36
491
489
828
750
21
404
631
351
225
326
899
328
899
534
340
432
151
983
541
718
699
436
146
227
245
870
242
394
892
894
88
447
730
401
791
948
797
212
438
161
588
211
499
102
148
376
22
990
600
115
238
277
642
563
750
636
117
817
367
57
324
618
9
680
77
646
830
130
912
428
855
867
990
841
985
533
442
311
177
336
889
143
963
288
835
817
264
495
481
728
605
762
250
602
440
508
984
734
282
326
341
256
707
590
391
922
149
153
783
223
554
572
159
225
626
231
668
232
380
451
534
200
170
930
646
858
183
864
34
678
622
693
927
119
462
710
806
102
700
700
491
259
491
370
848
342
417
572
132
94
403
231
343
996
494
450
206
588
752
470
587
452
57
44
172
536
480
315
250
234
172
462
314
505
474
224
955
387
17
920
249
427
122
705
423
940
750
658
73
492
556
719
661
698
363
640
278
226
508
889
942
899
73
876
787
913
947
958
553
492
68
445
731
740
930
208
560
65
633
558
823
318
339
804
73
685
974
224
449
479
429
258
755
179
291
379
835
477
371
477
551
614
888
535
905
6
199
102
887
5
386
294
694
663
857
95
826
516
331
306
427
766
258
776
914
674
745
507
628
660
533
775
705
367
433
707
877
910
898
598
210
644
81
876
68
25
819
774
748
587
464
700
289
606
390
776
948
774
292
237
694
71
108
190
885
105
518
767
958
335
471
821
581
8
146
154
204
106
68
710
375
293
837
310
494
680
95
256
890
179
874
596
269
392
467
908
583
256
281
228
326
100
953
129
126
414
143
40
217
362
16
593
97
990
440
168
171
193
268
823
726
670
930
500
906
554
735
716
678
904
896
961
949
950
347
676
117
864
796
981
314
805
330
311
537
200
125
717
667
492
423
887
97
130
41
859
332
165
103
9
448
622
544
114
751
798
242
236
300
687
270
687
267
58
866
581
194
67
203
349
339
924
943
100
247
814
839
924
551
184
387
46
836
556
624
270
33
208
688
267
469
443
702
97
154
651
851
827
329
70
280
189
601
960
575
53
226
868
156
882
208
852
838
453
956
756
222
859
144
143
316
225
292
60
973
611
335
577
323
315
103
980
349
137
214
548
179
215
338
102
432
711
186
865
198
977
862
762
825
817
395
947
712
140
384
234
743
559
683
93
810
527
965
62
134
145
833
738
722
125
842
10
365
274
469
804
16
493
557
434
288
501
231
585
38
423
635
73
723
924
68
772
268
795
289
541
674
763
797
536
528
837
901
38
814
668
247
808
202
259
257
37
49
846
649
137
903
943
782
992
210
318
89
801
264
177
261
307
173
916
178
28
774
612
785
107
956
826
271
503
839
418
905
574
596
779
868
534
489
337
239
862
860
205
51
540
411
591
20
870
82
947
73
737
236
857
319
385
683
362
460
179
241
757
930
367
180
880
248
545
917
582
166
401
718
373
202
317
55
193
41
573
444
900
145
240
288
321
582
302
264
669
759
217
265
708
265
892
786
290
457
21
875
809
802
822
498
660
209
482
203
6
776
46
486
56
422
33
149
537
860
828
239
273
243
764
870
605
603
862
342
877
891
382
486
375
30
727
108
926
895
712
716
802
542
917
458
721
338
644
378
511
846
985
580
425
475
661
925
190
916
558
191
643
343
355
432
175
212
255
433
279
215
557
736
228
655
768
724
259
25
997
623
671
88
625
90
955
114
620
268
363
215
414
802
388
925
965
326
213
259
475
357
544
494
246
376
193
823
343
101
382
861
28
616
53
690
447
56
367
766
649
19
194
561
850
742
619
230
775
334
417
957
32
48
992
900
737
652
489
778
7
454
683
264
548
424
743
264
267
156
190
98
731
136
172
332
354
883
712
756
371
45
710
542
45
480
309
182
20
668
678
169
454
535
424
731
357
942
578
128
541
609
576
186
751
228
712
732
815
876
323
576
109
596
324
527
248
219
823
651
666
51
219
697
666
71
572
136
609
641
78
757
132
579
146
131
669
612
911
553
107
863
50
253
95
44
366
775
390
441
977
407
634
635
846
500
116
108
82
275
425
566
645
483
334
829
93
906
951
621
551
192
922
443
343
11
431
985
642
824
877
221
49
826
315
395
203
798
234
603
439
655
760
585
1
447
140
626
529
469
244
170
355
910
850
887
665
154
703
428
718
465
669
55
133
286
842
634
718
773
108
260
438
543
514
881
885
794
765
889
81
117
302
558
491
348
717
607
905
734
717
920
238
566
428
638
354
154
637
415
739
712
445
625
226
258
898
703
993
131
414
598
744
93
164
532
328
285
165
868
37
472
492
912
497
143
907
897
349
12
213
247
906
392
779
427
582
714
49
362
169
220
302
443
977
441
582
596
439
655
485
758
31
924
497
385
250
693
603
263
986
145
226
17
791
718
929
163
459
215
891
478
849
933
930
733
50
115
692
570
860
806
700
400
17
903
143
723
787
763
647
207
340
264
779
180
768
612
706
948
765
498
254
477
753
449
598
541
647
332
950
399
590
18
899
418
692
145
519
831
246
776
953
9
916
494
971
188
149
149
873
599
403
29
234
339
830
706
179
115
713
182
300
214
347
259
820
656
987
231
381
512
181
111
611
796
120
605
700
177
562
947
351
975
556
545
810
592
444
101
143
527
549
484
605
641
577
204
682
142
969
753
397
84
380
422
534
813
988
489
713
902
581
801
677
576
221
849
706
564
823
441
821
579
167
889
324
360
703
493
267
303
13
734
628
256
933
215
352
955
155
897
912
921
606
574
715
374
999
853
509
876
749
139
928
954
882
240
438
914
633
246
258
430
204
299
274
248
548
676
560
544
82
416
901
29
994
335
608
909
127
872
28
190
498
671
338
619
167
177
625
772
515
826
815
399
4
591
659
165
119
744
913
357
526
703
790
943
434
743
993
632
767
170
913
208
36
270
96
481
746
994
691
633
743
849
413
630
160
942
474
617
543
436
67
907
266
965
248
237
586
688
455
489
543
750
517
917
459
881
696
290
947
746
243
992
207
451
925
308
866
289
262
592
790
421
481
967
78
692
802
527
950
179
236
767
323
403
8
86
687
355
598
788
298
602
615
943
803
796
952
845
175
847
160
577
215
850
560
351
954
637
389
902
4
477
192
185
258
997
740
15
406
908
998
119
376
456
49
244
186
842
406
600
659
26
889
933
130
424
48
943
582
49
162
615
582
490
2
231
70
25
859
528
258
813
852
476
907
782
119
624
775
354
347
841
320
598
990
513
622
728
676
975
62
151
536
12
502
403
626
757
582
396
176
228
287
355
141
9
113
738
408
343
8
163
63
962
753
120
318
537
614
797
59
551
887
877
493
717
447
574
13
818
512
479
271
983
630
29
397
975
311
526
436
1000
844
682
404
949
555
600
774
714
191
947
838
433
163
848
133
72
94
663
58
760
502
401
868
683
457
991
470
144
763
996
833
597
524
669
362
98
986
417
304
613
160
851
78
63
81
608
476
814
497
25
812
567
409
585
441
233
170
758
551
452
773
504
771
843
572
237
911
977
883
488
128
285
871
858
910
843
645
100
514
15
713
348
939
446
839
550
81
798
835
159
439
900
37
17
638
718
48
118
81
643
818
692
239
135
286
575
434
666
641
404
511
264
683
538
422
673
933
948
614
304
885
535
66
715
239
470
964
279
58
177
299
110
510
532
133
45
293
688
856
690
866
714
558
104
364
859
524
677
404
865
958
182
55
185
263
745
903
373
598
724
503
173
967
63
488
60
805
746
272
40
888
370
595
569
372
712
106
317
996
389
822
360
744
368
578
76
785
120
490
667
139
696
90
772
296
823
998
42
988
439
919
953
393
734
311
339
348
840
283
304
533
827
153
263
175
546
628
781
576
150
747
832
605
848
583
810
392
564
170
379
636
669
307
806
280
913
675
950
863
992
176
480
481
937
542
212
145
651
8
689
296
480
304
238
366
649
307
806
585
780
423
776
670
444
208
858
650
917
749
872
824
867
95
913
799
688
348
958
599
610
96
450
87
493
525
760
320
445
906
724
13
998
131
660
965
609
654
327
190
665
474
346
473
35
768
465
265
409
436
896
151
342
38
678
594
964
607
627
317
766
347
987
457
747
530
348
588
470
763
709
822
265
387
867
439
880
965
434
933
380
706
871
943
4
188
899
236
964
924
531
837
893
174
737
422
770
884
468
289
662
800
358
595
539
602
915
36
776
379
438
843
675
886
212
768
492
802
751
729
12
632
986
919
656
12
350
472
493
891
628
240
274
496
312
830
802
28
936
818
530
757
551
976
252
562
34
424
182
977
437
852
477
513
931
332
505
325
199
808
741
348
334
22
220
616
363
521
893
845
576
382
59
281
696
466
292
467
775
335
929
851
422
470
235
75
586
11
813
419
666
110
700
60
157
868
860
776
387
973
449
227
159
415
331
193
279
54
793
19
997
415
318
36
386
805
569
903
563
723
435
694
402
610
138
1
156
149
876
511
917
704
438
316
421
1000
544
680
78
800
407
104
422
179
157
316
423
955
324
251
217
2
523
156
845
432
867
728
545
115
389
591
969
585
933
446
490
164
565
3
380
38
535
112
234
109
225
591
488
667
311
901
256
323
580
164
979
173
460
39
610
885
335
589
116
242
144
616
118
686
612
873
368
584
664
226
616
268
268
64
104
354
957
251
597
528
772
441
347
734
217
884
882
684
83
700
816
695
694
213
162
140
190
87
762
197
961
955
549
165
249
686
307
367
212
669
471
503
488
326
314
407
381
528
552
332
313
807
984
256
148
987
317
206
274
402
701
282
112
924
854
870
842
849
847
517
700
94
781
105
150
278
582
203
603
964
143
988
132
795
818
677
790
274
94
214
745
669
887
855
412
906
484
374
183
328
640
844
126
879
706
339
268
634
949
440
659
567
427
132
450
127
874
541
656
471
57
950
74
211
970
744
109
110
72
210
861
473
465
638
922
892
561
786
757
610
323
572
414
14
595
812
600
652
395
911
805
755
297
707
257
453
182
50
990
718
723
310
170
652
919
708
159
866
902
276
490
561
986
277
41
438
675
127
212
677
881
226
853
64
172
587
998
802
233
856
228
668
55
124
606
943
612
906
693
996
879
820
112
479
106
782
483
843
201
968
333
287
914
441
750
313
281
51
146
778
439
185
467
694
498
985
612
74
621
893
574
789
849
781
97
756
499
454
172
765
135
10
801
905
241
429
809
873
699
723
377
392
118
205
167
612
836
718
574
621
187
164
696
161
228
306
57
181
642
629
992
180
31
948
863
117
88
623
979
294
459
440
132
778
223
690
191
851
998
511
71
446
671
314
699
786
597
999
306
200
936
696
497
669
456
988
55
734
744
913
383
274
282
556
798
71
231
727
650
244
109
22
373
389
745
563
128
695
60
849
664
420
218
429
376
828
660
585
314
113
382
790
86
890
557
491
143
536
281
674
991
65
774
750
183
214
851
524
830
127
853
409
520
362
526
573
169
927
496
434
361
721
136
743
131
64
577
534
5
952
561
367
338
311
632
645
638
798
896
223
612
623
195
218
140
468
108
671
233
824
585
706
312
956
425
904
814
295
16
896
219
238
945
582
84
239
143
974
556
574
204
371
141
376
398
482
228
355
686
154
957
125
736
542
558
211
528
943
212
623
663
9
808
335
884
737
732
156
636
435
931
226
717
882
99
834
222
999
735
320
973
671
229
594
620
789
885
195
411
213
963
861
402
81
417
334
540
854
982
450
598
521
682
629
443
649
587
542
484
337
917
93
429
668
151
816
682
988
845
495
799
147
294
64
444
895
992
858
176
767
79
880
225
133
649
39
157
559
776
246
910
257
647
847
277
229
4
108
313
619
377
401
506
905
298
255
810
862
721
690
790
578
397
110
211
449
841
542
353
764
813
239
245
394
974
446
765
154
466
677
270
582
682
965
6
265
461
395
58
323
215
655
10
366
283
495
791
31
932
739
442
205
971
958
610
184
931
957
682
291
76
35
343
945
345
325
258
771
447
612
270
100
946
748
223
147
148
120
41
195
8
696
202
379
58
837
105
36
596
398
114
123
952
661
276
927
705
269
786
128
118
671
280
298
925
514
970
77
806
81
414
623
566
128
481
363
63
404
667
764
401
749
463
597
753
906
934
138
476
54
998
851
818
697
156
357
645
678
579
917
67
28
540
229
758
850
144
80
64
626
178
260
691
203
706
210
899
159
721
72
623
472
767
155
897
152
932
355
257
27
54
733
575
944
268
269
892
460
276
823
381
515
820
423
537
671
909
340
33
260
253
842
483
167
250
102
496
56
589
557
13
538
215
861
904
186
959
711
175
291
627
25
979
967
681
335
790
538
991
833
741
154
274
172
133
206
970
1000
566
461
287
217
944
756
81
111
892
769
33
846
712
597
321
278
119
870
612
688
396
670
733
828
514
809
825
635
18
892
135
43
155
174
845
633
798
428
512
226
236
903
756
150
754
997
797
605
265
447
334
460
950
665
44
848
965
375
664
142
819
833
218
213
931
735
474
447
223
380
95
592
334
778
294
405
193
168
16
980
235
857
794
842
512
359
474
131
298
592
933
683
576
260
779
420
963
634
759
194
203
648
281
192
372
603
998
56
311
787
907
99
605
41
772
417
661
582
974
207
18
456
81
314
62
594
541
899
747
788
889
108
739
858
775
817
667
887
953
829
775
723
69
397
361
824
736
583
807
163
909
742
900
127
27
399
401
263
718
856
486
267
137
171
791
853
170
522
258
982
771
596
888
480
722
327
806
262
949
232
751
182
324
611
207
91
585
94
945
770
584
366
620
263
596
418
455
579
839
338
746
861
633
487
79
890
904
869
709
240
826
676
493
480
453
236
152
572
130
94
392
10
304
513
599
315
156
483
399
209
69
225
384
163
586
255
658
53
925
311
711
321
540
824
295
409
484
168
616
192
514
615
161
838
8
789
916
787
737
407
553
525
451
282
422
471
83
892
809
531
64
264
976
847
881
611
984
839
570
920
111
881
241
639
11
885
114
742
385
584
771
685
36
549
516
207
692
854
783
490
835
792
523
931
98
284
357
670
518
412
92
50
1000
41
883
398
917
627
905
864
666
132
935
571
345
422
624
1
453
649
587
357
660
899
622
633
251
822
554
262
795
51
175
494
961
956
749
117
188
700
354
744
48
599
127
629
791
533
103
931
479
502
939
383
574
455
255
576
594
224
744
453
706
707
445
148
702
453
801
3
841
471
197
460
473
368
703
532
178
900
634
732
404
647
366
650
228
793
584
870
922
926
737
539
454
371
46
705
927
810
829
483
225
852
262
225
818
763
956
119
744
798
888
71
307
450
275
302
883
422
996
805
573
381
992
724
106
325
901
731
552
924
866
692
889
370
43
282
418
19
849
691
339
644
417
251
557
189
991
652
909
715
297
365
579
665
969
47
406
649
225
4
172
716
858
215
708
482
522
52
852
511
994
567
867
120
790
170
905
94
59
554
528
856
165
3
70
318
741
557
836
974
288
96
776
796
581
77
251
144
249
524
965
221
884
884
962
557
981
529
818
631
782
12
814
28
851
660
926
447
843
741
921
490
426
203
712
370
814
977
407
627
663
908
149
468
377
650
932
566
7
293
78
40
17
44
937
857
129
36
682
74
386
202
792
196
308
232
903
405
754
784
256
588
672
524
869
877
424
42
934
912
813
392
618
117
219
802
665
107
494
109
681
735
409
583
996
410
442
130
316
40
687
270
187
381
471
951
447
605
53
965
417
652
414
688
615
257
734
930
107
618
614
907
477
326
487
746
552
519
946
470
671
244
906
103
279
631
625
421
82
814
600
844
802
508
280
173
827
732
346
179
711
501
29
528
487
204
585
198
266
989
551
284
414
730
881
88
912
46
389
467
137
395
189
686
415
502
974
438
190
236
65
275
512
582
104
412
898
537
170
767
284
615
874
144
929
115
678
650
649
490
286
814
659
939
465
373
677
829
40
371
653
662
179
32
629
88
226
858
816
899
560
529
907
30
921
496
5
331
625
580
351
294
930
529
164
966
573
220
535
997
142
120
273
146
539
713
9
598
254
798
672
122
537
988
649
458
858
243
551
287
236
18
553
828
103
415
662
394
395
774
146
198
447
303
553
348
110
647
429
227
224
817
875
391
201
496
545
717
18
579
563
778
375
699
85
318
78
653
937
265
25
865
813
941
270
460
34
990
763
95
741
77
293
419
714
597
73
938
713
478
166
71
336
651
679
437
942
910
198
705
71
715
503
910
170
933
955
767
137
643
316
359
367
921
943
556
513
931
458
650
160
766
11
991
938
209
223
865
412
991
697
452
231
205
798
463
615
208
17
990
251
761
833
152
48
150
430
391
34
737
46
604
847
718
970
900
917
878
444
427
440
755
778
594
687
985
37
18
997
505
528
693
75
968
163
208
842
966
485
320
129
607
773
829
994
586
179
483
271
116
303
615
257
22
936
294
98
828
989
60
546
903
753
701
212
597
737
148
369
821
262
247
644
734
922
91
639
992
757
629
665
574
711
458
247
301
536
74
37
994
793
365
64
695
43
801
4
470
612
596
310
114
542
98
573
504
485
817
454
433
317
765
893
508
194
263
73
112
636
958
770
460
942
556
353
520
966
706
627
939
763
539
152
127
179
597
462
352
765
275
796
36
731
439
599
438
813
603
46
552
62
874
284
391
516
903
906
745
699
258
431
173
628
945
186
224
803
284
59
854
235
997
22
565
141
153
236
61
332
557
751
111
735
291
566
864
659
371
835
93
666
889
530
689
903
625
756
290
769
783
221
83
645
460
50
672
222
447
288
414
639
197
913
740
245
122
131
843
312
927
62
521
421
331
644
142
584
349
753
423
359
328
65
198
375
9
161
404
696
232
734
279
412
331
525
171
677
863
800
400
198
91
747
355
793
567
188
361
262
210
363
877
229
531
374
303
45
35
68
958
93
369
762
852
40
490
218
480
684
994
728
191
48
734
979
666
267
47
615
633
667
236
65
257
111
400
245
537
370
405
218
684
764
508
736
648
793
167
879
908
815
623
683
179
87
132
706
898
626
142
5
242
462
257
877
955
764
614
1000
430
267
133
357
345
144
168
412
664
237
307
532
926
90
377
576
607
762
271
920
753
835
850
908
252
285
18
855
851
174
40
331
494
209
309
334
615
264
68
406
791
909
45
451
554
821
556
234
222
727
392
97
320
184
759
430
546
48
544
838
247
2
505
710
79
836
279
166
838
517
715
904
474
229
700
538
926
693
520
436
747
70
800
872
450
668
251
582
110
475
753
444
65
285
816
40
465
807
67
346
33
665
232
633
626
673
6
942
112
86
340
184
610
799
909
982
391
635
963
862
571
899
321
320
287
391
31
556
217
910
55
400
146
108
444
77
784
193
608
932
180
650
692
236
911
569
550
446
667
662
491
102
981
305
797
640
648
209
979
981
778
416
909
699
560
389
212
937
524
883
800
21
517
133
1
883
649
668
516
3
204
702
354
556
856
627
965
846
579
612
32
931
321
685
753
519
843
966
11
855
121
898
512
332
395
451
840
974
196
245
372
793
717
468
195
242
457
285
462
653
397
144
124
564
849
26
601
347
759
217
768
373
461
626
552
230
789
20
571
203
20
794
498
291
332
71
244
532
334
988
638
288
751
983
20
484
536
799
30
447
520
706
944
153
200
105
91
183
443
325
244
626
656
881
399
499
472
906
25
993
104
770
674
995
311
129
840
899
337
775
106
662
291
695
865
440
178
690
409
893
190
747
740
449
936
132
249
370
983
793
314
477
492
288
942
775
713
865
828
18
827
740
564
480
946
909
307
780
77
975
878
663
516
643
171
52
455
459
700
501
518
363
343
466
618
367
624
388
749
448
370
709
304
354
234
339
71
544
326
984
334
963
204
21
381
662
518
265
300
544
927
64
161
695
266
655
527
788
573
598
811
68
271
401
137
253
715
190
221
533
348
347
304
480
916
592
282
329
535
902
23
570
936
989
312
204
860
803
983
341
430
671
585
40
268
235
365
413
304
304
423
60
492
109
666
847
105
218
575
865
888
535
862
203
110
402
816
781
487
812
498
110
984
121
987
259
804
471
544
746
173
332
932
319
163
175
90
801
415
334
41
265
552
524
217
820
17
309
340
178
298
79
625
24
791
707
363
900
50
140
849
967
796
617
237
527
876
78
143
658
279
586
700
620
461
294
372
997
455
529
6
645
696
81
489
645
35
681
929
367
173
943
418
694
624
750
313
192
347
197
453
739
410
706
882
696
395
867
471
233
759
878
268
822
41
213
573
216
642
286
459
491
858
414
955
805
13
382
127
618
820
222
120
35
540
633
546
756
135
635
739
939
350
606
48
871
609
888
758
956
649
499
234
987
76
314
575
47
399
284
396
675
653
869
377
124
412
885
841
636
851
391
956
662
538
80
105
869
798
869
606
598
813
34
230
146
109
287
906
891
728
652
585
804
151
847
499
345
13
181
930
73
751
610
185
571
573
720
678
442
589
864
898
189
475
583
561
791
815
768
434
637
130
674
170
288
647
73
969
214
70
312
54
276
976
971
737
190
948
181
354
654
252
365
419
130
680
319
174
475
155
128
106
775
849
332
137
758
837
139
884
92
785
267
848
754
747
141
403
372
949
790
206
146
305
741
994
474
536
637
787
931
957
87
175
585
414
469
739
960
364
26
618
107
824
599
913
389
756
801
924
541
458
229
170
521
722
578
775
466
829
156
85
773
941
356
299
998
72
92
501
764
646
70
733
320
562
53
629
764
817
925
714
162
4
472
673
984
388
268
775
338
891
964
163
445
987
552
892
702
461
934
475
431
966
181
143
146
563
435
227
737
757
307
835
483
65
965
517
227
814
853
659
353
707
115
213
424
656
342
721
497
537
265
743
122
798
305
521
21
328
734
98
263
565
340
221
509
621
65
5
572
87
113
774
101
288
376
473
667
963
853
753
902
752
951
176
662
395
141
960
323
278
495
372
476
785
45
149
237
954
723
324
351
83
908
439
42
278
225
414
311
394
320
258
12
482
762
432
553
622
107
889
540
998
440
726
7
163
350
966
136
700
420
172
551
924
768
481
295
822
97
186
627
177
994
153
604
699
932
221
237
34
557
229
689
723
341
454
564
542
615
61
880
152
346
640
697
685
736
19
691
681
883
310
216
807
290
603
492
904
970
798
608
215
246
808
984
78
143
788
755
6
414
88
327
810
842
342
991
353
456
503
59
592
672
617
463
808
197
871
138
299
719
728
775
358
43
17
756
68
333
459
165
279
561
440
754
185
81
793
703
35
517
996
774
887
757
446
233
763
925
413
503
214
664
885
72
98
901
727
624
316
566
521
679
368
389
975
334
848
1
40
801
414
41
716
551
354
872
80
825
577
812
229
156
787
494
709
328
595
72
448
908
555
534
412
59
458
280
985
871
734
494
542
847
462
524
817
486
353
696
444
169
2
477
462
630
889
911
712
371
869
571
738
304
363
88
278
767
60
441
425
781
692
835
300
129
391
929
427
354
180
597
43
280
406
222
245
31
299
686
228
796
378
893
866
801
157
613
534
43
404
931
382
320
291
372
237
52
867
25
934
148
680
632
160
954
793
685
801
890
133
976
424
976
860
978
724
849
427
647
687
228
85
944
802
71
863
457
826
773
466
977
524
880
114
790
290
721
75
746
790
271
521
875
553
327
405
429
986
777
231
756
398
342
961
334
459
671
816
631
974
93
379
191
962
617
269
491
841
45
589
678
910
130
532
230
455
816
797
975
521
466
930
653
803
904
295
394
186
795
175
61
146
588
376
399
635
780
827
335
70
771
873
551
743
919
352
697
317
728
92
187
52
264
177
571
81
13
152
884
341
386
392
220
750
3
9
5
833
687
976
95
280
831
683
886
858
442
709
54
676
676
453
448
71
156
162
887
269
669
45
310
537
135
394
828
766
887
71
672
286
346
275
969
260
190
262
555
154
962
554
755
673
866
233
164
995
185
93
991
329
350
830
452
611
218
885
30
623
480
308
165
954
500
769
71
975
45
864
940
460
560
983
746
558
608
305
231
581
116
942
412
469
840
852
142
848
271
897
835
331
853
370
442
55
919
353
185
515
281
524
331
388
737
415
520
447
80
650
752
586
363
431
185
705
296
339
293
459
625
593
798
862
292
24
992
362
948
385
755
280
164
77
584
428
275
20
429
325
337
188
3
677
148
271
478
685
582
50
178
300
788
321
957
777
941
613
430
728
296
553
139
429
297
428
19
295
338
397
242
300
580
859
647
594
928
653
461
749
839
169
955
847
173
910
15
110
684
758
334
882
84
986
101
567
818
74
578
532
835
497
954
110
664
957
200
560
62
986
428
254
314
448
450
421
82
228
777
491
287
323
340
457
136
620
559
690
848
875
227
356
20
801
851
878
863
715
750
943
725
888
172
134
430
608
180
658
938
978
831
535
783
618
477
282
524
813
585
378
195
73
606
755
354
750
810
115
878
137
918
165
86
422
604
723
116
982
637
238
765
754
489
464
113
859
763
914
364
208
647
236
303
564
939
842
608
416
869
975
109
78
79
866
717
589
626
820
380
407
812
854
921
342
963
991
8
877
44
428
857
847
112
585
450
415
180
448
219
436
27
761
157
582
822
314
270
63
254
7
135
375
977
439
75
270
807
448
133
73
85
450
583
536
987
408
201
641
423
973
901
181
312
681
595
462
672
65
391
187
988
216
272
426
707
636
445
611
598
168
471
630
909
445
47
460
922
541
108
218
550
487
494
187
83
851
976
133
51
875
893
203
437
545
988
794
168
525
276
35
871
114
961
967
391
250
471
45
451
113
657
360
136
73
79
834
597
548
97
696
496
862
170
750
189
328
363
300
635
595
571
111
303
756
387
449
98
865
842
74
497
243
473
35
604
431
327
268
813
720
514
271
124
916
870
597
931
453
176
501
278
968
71
856
149
206
515
347
376
486
198
52
109
976
765
737
627
724
111
579
452
736
299
579
348
360
812
637
828
924
993
86
187
872
493
541
927
594
480
40
696
793
181
818
467
481
30
509
782
676
358
230
310
396
59
776
844
862
156
121
138
684
482
516
650
366
3
739
351
700
425
481
243
481
824
410
127
494
5
208
451
924
158
731
815
179
195
534
767
596
820
154
87
681
993
927
682
312
955
630
514
831
387
898
756
55
598
182
515
3
859
30
977
612
121
568
838
754
416
379
212
653
153
428
990
184
382
268
805
600
865
551
327
956
437
756
620
857
707
163
681
198
652
281
66
243
981
379
748
732
501
268
936
701
849
214
627
350
86
704
74
621
650
796
200
80
65
964
204
359
630
675
287
660
31
393
442
777
456
379
730
673
313
424
322
897
119
602
857
45
449
254
356
991
103
671
979
879
822
333
455
696
914
198
860
805
181
198
747
980
349
41
337
336
58
423
592
51
109
988
500
908
296
694
857
524
630
795
128
575
200
283
740
451
221
480
291
574
24
449
698
20
910
17
303
191
803
521
277
30
570
816
451
667
761
695
905
456
225
650
165
72
780
803
932
695
621
907
574
377
671
588
487
319
440
319
603
168
235
240
929
428
776
565
57
712
357
224
971
919
710
386
349
328
610
656
755
268
132
112
811
285
122
767
438
649
148
746
759
665
676
202
90
468
690
989
734
907
307
189
955
663
206
867
607
993
850
843
371
322
521
842
455
474
214
122
906
483
255
557
404
800
344
209
506
173
391
607
847
660
114
331
709
32
875
980
729
282
653
302
227
99
343
72
810
913
825
288
435
592
354
402
90
920
864
578
593
768
734
440
824
241
391
373
818
187
893
182
794
112
309
875
137
973
235
369
772
312
321
174
158
894
16
496
345
354
37
724
153
345
276
4
531
346
932
414
624
578
688
302
858
474
630
509
632
735
462
505
834
310
256
980
449
552
643
46
988
414
845
994
340
778
437
547
898
918
41
575
513
668
415
596
890
67
587
719
544
128
710
324
328
921
326
472
832
326
578
929
683
658
719
747
876
876
930
535
785
212
104
894
434
911
694
43
952
181
198
292
851
633
130
855
924
222
564
497
129
165
462
618
752
388
49
690
517
800
419
399
106
116
415
471
682
969
585
905
641
821
666
249
765
506
633
674
374
299
794
757
866
63
834
360
232
406
949
458
767
725
444
517
203
712
253
867
927
188
825
519
764
88
768
51
74
65
430
522
515
438
331
830
925
153
998
600
188
23
267
450
845
744
590
457
467
100
206
743
489
325
308
357
281
814
491
55
733
224
831
167
510
567
929
439
448
56
120
660
270
309
851
910
904
38
902
466
210
460
743
763
870
518
813
323
485
435
919
225
706
280
288
519
349
952
982
971
990
481
588
665
523
600
57
263
489
281
559
208
785
375
47
733
530
508
989
308
438
126
374
90
54
950
684
993
593
131
975
253
922
75
621
721
447
253
517
692
262
303
788
754
963
393
81
1
916
120
586
989
655
178
799
950
278
655
883
126
376
116
185
564
87
518
119
338
305
652
148
979
962
2
38
821
549
846
921
100
739
978
935
881
39
628
400
335
907
61
523
439
645
830
629
915
698
873
778
113
686
459
416
580
621
504
395
262
259
921
326
645
505
484
683
640
66
142
532
713
345
857
55
550
665
799
264
561
497
185
439
650
313
123
847
964
32
575
251
804
840
973
565
477
291
40
768
615
218
141
835
449
954
799
43
542
757
98
440
778
155
333
698
742
98
633
794
193
464
282
225
39
442
91
493
60
776
521
656
650
671
182
626
11
400
993
705
575
305
541
599
881
925
120
761
795
461
522
446
756
629
901
334
660
240
923
875
126
514
1
822
131
223
590
531
429
243
429
707
751
995
121
223
491
547
631
552
505
880
126
91
652
894
85
405
955
307
736
962
571
469
723
478
295
486
334
379
4
776
771
208
226
316
709
38
64
403
826
69
786
706
83
629
723
751
268
751
542
736
736
316
597
789
327
558
779
317
162
333
265
118
391
152
578
307
989
459
651
914
390
988
946
224
91
337
236
531
330
84
362
10
634
883
113
835
318
948
417
502
976
283
176
554
656
814
419
552
655
297
929
200
833
525
112
955
915
876
717
369
508
690
913
626
469
323
379
461
796
966
301
692
463
482
596
124
461
594
259
431
853
703
462
981
837
537
911
225
637
562
35
423
557
844
745
969
666
581
896
539
425
97
72
587
979
434
985
467
22
59
621
611
872
373
229
728
854
878
393
968
165
871
733
335
157
478
196
428
363
714
561
742
659
971
483
370
672
29
366
911
904
237
406
798
86
993
389
70
957
13
209
787
986
205
611
952
582
104
382
775
970
964
54
568
214
596
191
393
868
934
526
810
313
166
504
734
149
944
307
445
937
865
38
265
170
907
561
288
605
980
437
783
992
88
488
621
793
839
815
110
698
231
481
143
630
679
664
442
433
251
818
4
652
928
262
525
628
517
650
740
661
530
1000
98
96
929
304
138
58
160
235
264
977
301
181
344
198
456
602
722
727
781
754
764
625
620
898
36
615
293
449
557
258
11
957
362
425
240
414
767
857
588
145
316
337
965
466
403
355
314
370
902
172
695
709
13
895
891
767
677
482
967
620
553
638
436
429
588
168
766
602
596
692
958
852
139
603
872
279
200
725
752
968
831
459
149
64
961
112
80
926
43
687
761
751
73
690
739
10
775
376
560
162
434
450
387
332
941
427
133
119
99
750
744
207
130
267
242
253
643
888
19
346
7
45
650
430
210
107
196
259
787
32
568
800
333
369
13
530
461
165
213
752
790
479
784
829
687
960
217
289
75
397
393
832
528
236
872
589
271
802
92
438
472
365
444
776
372
267
968
911
396
7
65
168
373
604
181
862
401
526
913
529
656
219
341
208
711
556
693
80
489
564
643
500
34
420
634
301
684
14
616
260
85
359
521
790
709
741
600
243
186
769
463
699
821
443
320
738
119
925
419
509
996
976
163
328
655
874
697
181
731
254
29
739
451
470
927
930
3
975
856
678
213
756
244
160
945
13
204
805
326
144
659
322
32
568
484
230
369
102
879
716
838
383
725
185
178
314
33
498
646
638
964
756
406
503
79
433
493
331
645
836
736
393
838
135
414
234
621
669
181
499
941
840
965
766
642
660
150
719
129
963
310
350
425
316
196
922
685
967
431
97
679
482
634
992
958
317
252
891
698
261
441
42
234
521
742
218
376
259
131
749
434
553
285
304
773
57
509
12
378
161
870
418
581
42
499
404
613
825
912
392
110
7
468
112
23
404
742
721
657
156
707
328
730
724
69
801
371
407
19
300
16
631
976
148
971
140
566
488
249
286
238
683
948
788
415
557
60
710
11
403
87
907
463
128
256
858
213
36
453
634
646
536
204
735
122
492
174
654
631
9
679
330
9
217
662
100
402
13
415
376
847
758
113
4
422
693
841
227
409
136
417
211
298
634
743
342
289
853
821
890
114
385
846
172
663
618
984
48
876
469
548
456
828
122
266
675
728
820
293
200
829
446
371
431
871
864
330
850
720
929
710
10
367
700
832
447
258
584
98
579
244
88
630
762
90
394
639
934
580
190
38
697
722
64
927
270
496
294
511
460
826
65
912
708
234
954
127
292
690
58
53
977
737
268
127
764
857
12
616
888
418
249
3
905
248
625
242
504
36
485
874
695
336
849
124
139
859
568
134
679
158
630
438
599
536
966
618
730
214
177
861
284
359
333
761
227
572
342
315
68
835
431
508
171
704
960
280
93
750
141
940
997
879
206
298
865
144
261
873
127
144
323
541
312
876
55
913
498
205
290
531
678
709
751
697
615
756
271
402
423
83
454
320
888
54
913
305
499
6
173
179
264
797
845
813
656
739
927
728
435
595
940
451
686
201
133
873
140
601
192
714
722
266
724
7
326
88
264
174
13
384
731
912
185
25
70
552
800
195
249
28
353
966
949
862
202
71
25
814
763
780
272
991
250
744
112
200
953
49
566
334
454
475
290
367
821
160
482
337
573
406
229
332
117
411
191
65
455
48
580
98
173
669
48
169
107
66
471
332
660
388
586
847
387
789
96
827
379
36
194
676
958
130
369
236
354
231
50
424
407
826
845
799
757
133
142
201
669
184
361
74
424
904
455
574
137
764
108
896
991
276
673
493
136
659
97
56
908
527
949
155
618
308
206
439
866
431
608
165
252
24
293
607
384
961
838
600
277
645
62
66
607
812
714
858
794
1000
638
714
551
41
142
377
361
108
76
190
338
368
537
617
50
286
243
128
182
951
335
898
370
600
788
548
145
672
663
966
677
314
154
875
937
245
747
396
982
293
846
321
267
698
899
199
306
511
402
617
539
12
152
247
954
96
779
344
882
999
888
371
382
596
116
335
813
685
30
258
522
385
67
898
25
776
643
498
739
384
179
848
92
994
4
406
784
519
9
576
101
338
508
468
419
613
939
661
478
568
949
539
575
605
900
740
530
465
48
149
223
298
464
650
477
673
283
529
322
49
1000
56
987
158
363
220
507
88
860
74
488
605
931
388
403
370
807
611
770
287
322
192
712
163
125
422
661
218
463
835
474
779
135
114
773
633
237
147
130
132
67
591
615
103
912
825
302
40
488
676
572
826
447
681
417
464
764
897
523
907
765
528
579
87
234
675
132
671
336
550
334
930
79
413
57
303
627
278
218
918
82
200
619
381
279
535
234
572
726
149
693
94
68
964
652
260
362
581
829
190
6
997
782
680
380
556
891
973
139
386
606
494
602
496
727
873
899
652
418
302
350
864
627
420
68
70
869
365
905
166
609
649
710
50
54
768
292
749
790
247
629
34
547
944
631
128
361
992
208
259
513
726
477
843
947
285
691
16
308
372
880
86
349
823
251
254
202
212
110
563
969
718
434
654
115
873
266
358
407
607
781
522
527
228
201
775
19
561
752
130
941
525
507
388
449
836
247
361
547
343
481
801
404
778
327
765
986
318
304
852
191
415
958
400
359
816
876
241
790
555
871
71
867
964
25
839
481
434
852
815
734
736
30
140
284
206
60
767
307
992
691
622
752
844
199
755
476
681
373
982
869
231
627
243
806
599
760
500
80
517
729
482
33
400
248
13
719
15
146
987
806
780
212
233
361
210
680
704
838
8
582
408
859
672
976
468
838
227
440
552
95
917
279
633
891
210
613
750
702
535
896
973
161
490
433
252
291
118
143
229
78
35
165
364
942
793
906
904
390
913
767
370
980
424
110
174
733
594
975
964
313
762
706
34
610
843
893
943
840
114
992
32
928
359
567
142
710
314
353
213
478
601
229
848
442
67
759
130
14
461
185
188
178
942
592
39
817
728
547
224
598
590
644
641
891
503
266
741
252
970
361
980
193
997
170
977
335
640
673
372
522
395
974
769
178
414
977
458
986
696
459
865
970
939
127
766
177
716
279
384
481
979
491
384
444
682
109
667
807
484
424
603
927
81
85
995
406
705
726
656
227
703
743
934
945
954
928
910
869
42
918
277
721
759
484
113
944
490
306
823
695
509
189
585
587
996
651
492
378
865
433
439
168
115
758
506
118
485
95
217
358
624
793
623
542
889
171
537
451
127
576
671
169
481
470
625
594
339
822
857
484
58
958
846
819
948
545
602
960
342
579
589
17
263
69
885
835
331
636
125
257
45
362
334
631
540
70
304
82
218
653
547
704
409
211
192
687
369
527
399
339
445
838
31
127
233
969
299
156
893
625
114
928
563
50
653
856
989
315
458
773
83
226
18
561
88
191
365
144
441
445
677
287
231
685
267
54
334
531
636
299
944
210
429
289
238
535
268
391
313
528
410
785
414
33
108
332
654
267
369
33
122
553
514
26
307
386
591
676
206
609
213
135
381
695
849
672
489
41
940
198
464
754
454
677
651
607
681
501
645
721
116
540
511
59
246
234
351
5
977
61
886
134
161
694
843
783
431
395
469
185
125
554
386
730
581
754
382
400
511
475
420
529
471
304
344
821
658
569
267
10
432
392
620
612
932
494
181
984
173
509
186
298
801
189
794
113
465
623
775
914
420
534
250
399
547
784
744
285
441
437
588
116
604
145
922
885
64
131
170
275
938
783
875
991
545
689
202
952
693
985
264
80
665
45
654
58
248
870
215
679
886
14
129
385
638
513
880
131
194
106
475
14
619
945
621
971
853
138
202
410
247
696
485
888
578
915
998
784
64
751
890
458
841
514
891
575
285
88
720
122
321
912
868
101
563
172
232
110
722
11
992
739
233
63
456
268
453
304
328
199
113
25
29
990
905
713
214
740
254
783
615
727
317
364
695
387
233
827
356
762
468
327
156
505
866
400
18
217
682
580
467
300
435
67
767
506
882
717
181
75
822
9
743
670
691
183
589
334
134
449
861
330
807
36
687
60
699
826
514
185
144
525
351
745
538
641
107
287
480
985
268
18
689
108
596
531
603
830
438
932
976
995
450
85
177
671
272
264
106
317
725
698
843
800
622
392
193
767
172
108
262
595
253
597
86
19
542
2
122
590
599
854
98
323
537
230
315
238
818
462
11
13
58
240
794
644
470
84
472
831
697
932
844
770
365
30
127
214
633
393
745
899
367
870
132
940
368
221
79
368
226
707
874
762
975
385
164
841
723
683
48
953
781
849
347
646
688
571
422
872
664
388
154
936
686
509
926
982
393
332
529
705
425
231
916
928
683
177
657
919
184
361
736
599
881
271
98
289
815
612
927
304
484
44
232
448
120
967
711
462
888
474
245
558
651
171
607
438
62
754
150
617
229
130
289
446
59
375
578
973
752
30
56
631
555
55
327
838
65
270
522
751
828
260
909
794
967
542
393
90
859
238
587
585
642
634
439
499
483
791
624
694
70
783
34
711
763
249
759
496
215
687
863
324
6
327
126
982
51
462
678
96
112
853
108
347
708
179
193
448
168
551
876
944
308
766
503
314
474
346
590
382
282
387
630
745
410
897
500
791
220
623
59
893
842
316
446
509
554
27
376
291
978
275
484
729
629
899
381
554
846
963
629
861
956
354
276
908
840
600
958
634
707
15
802
187
986
460
557
214
740
924
427
192
868
618
50
844
720
487
969
559
389
870
702
781
125
545
235
528
786
538
330
564
191
902
577
261
580
115
512
852
97
891
440
598
390
960
834
386
948
810
302
400
774
492
161
813
340
304
587
875
542
604
169
419
576
45
440
522
193
240
633
17
823
260
460
603
428
347
201
533
760
974
761
272
892
665
644
28
528
21
976
769
586
49
827
218
19
172
62
305
616
301
883
717
819
957
27
560
207
690
324
557
341
14
930
915
164
641
95
734
962
44
785
815
198
299
784
808
207
707
212
924
790
902
498
830
283
41
966
951
529
197
131
102
513
236
695
292
101
347
20
556
474
840
547
895
332
23
218
757
885
741
487
976
996
662
882
812
547
491
438
493
281
76
508
698
890
819
609
520
111
880
3
771
923
406
620
908
739
449
834
499
639
254
295
889
289
351
740
657
175
238
229
510
173
469
747
532
284
665
495
40
564
272
466
891
908
931
105
754
339
934
937
733
916
592
87
727
178
263
468
102
294
454
294
543
740
651
247
475
352
494
300
51
97
491
687
495
737
705
10
580
844
778
759
66
312
188
836
240
566
850
788
88
194
89
552
213
587
466
467
345
505
196
206
179
173
692
57
312
638
282
677
264
627
296
32
908
92
537
769
165
933
602
638
467
162
656
932
342
887
25
120
432
59
427
983
411
895
730
595
555
232
892
444
157
848
129
816
621
973
420
352
781
767
174
310
959
579
265
663
308
129
646
629
265
639
460
597
268
62
908
711
503
242
100
566
72
824
818
571
908
151
375
517
708
255
768
834
360
253
913
819
668
114
44
825
636
832
281
67
232
478
983
218
334
463
718
388
522
649
617
486
467
579
425
144
958
212
763
623
1
18
17
118
14
199
778
895
869
91
941
570
422
516
426
595
211
976
964
758
212
71
561
48
879
497
47
795
241
268
594
352
458
570
202
956
96
801
941
588
341
885
151
797
523
924
920
502
610
615
879
698
774
611
785
877
757
208
399
694
511
302
882
101
505
558
337
711
178
138
102
658
251
107
134
562
963
882
118
536
906
680
981
324
759
934
92
790
142
107
792
959
774
127
816
742
325
928
819
281
659
229
499
570
641
725
720
656
335
320
651
252
205
907
181
16
879
473
766
134
147
961
415
80
133
425
778
577
969
508
113
880
932
140
482
447
670
687
698
955
81
468
375
421
429
681
944
833
488
303
643
360
854
434
306
658
96
930
229
224
62
856
534
81
501
481
203
271
128
70
413
776
411
672
885
542
647
503
696
185
330
256
430
845
456
870
578
377
124
865
834
754
763
345
287
111
346
155
562
334
212
488
615
482
487
452
262
607
657
705
488
752
525
303
267
970
658
316
893
244
434
623
843
83
969
507
749
394
535
351
396
938
544
743
558
340
844
810
84
113
823
416
910
650
805
167
548
443
318
805
183
64
49
704
723
606
779
624
8
345
89
797
924
344
444
730
346
629
72
790
677
325
153
779
247
856
9
200
990
879
344
881
627
176
105
901
37
86
196
564
650
415
97
250
438
972
445
587
537
992
736
292
621
789
637
413
891
868
817
504
946
618
841
379
871
431
396
732
571
789
90
879
792
385
81
249
245
853
70
104
986
46
560
122
505
91
825
136
6
634
745
304
976
806
503
453
504
427
178
124
718
878
402
140
369
907
606
109
860
329
848
368
946
240
849
313
934
876
666
923
434
711
377
568
660
718
263
854
783
986
226
350
107
44
606
533
673
302
151
171
449
2
588
676
419
954
168
675
778
105
583
127
862
692
861
880
672
332
185
460
602
890
125
214
478
398
412
695
136
601
217
293
520
935
896
681
751
865
266
611
684
572
815
942
227
872
644
563
92
158
609
50
720
859
835
480
821
606
730
806
367
841
695
604
868
100
946
797
480
546
258
172
825
663
992
122
380
166
464
50
975
310
552
339
232
786
480
565
747
278
872
932
438
608
479
497
762
83
506
855
440
326
45
372
910
372
975
942
999
277
588
506
169
829
346
248
295
212
410
467
123
606
14
614
421
828
330
878
395
29
200
3
104
397
997
739
435
561
932
418
746
119
299
701
380
266
538
441
100
66
494
952
951
252
903
710
172
819
990
661
570
846
33
863
186
166
876
135
188
475
678
771
683
482
639
131
495
498
36
97
95
640
681
988
495
484
815
483
371
575
548
518
645
654
164
929
487
868
13
808
8
502
252
146
927
955
398
391
142
811
503
940
460
822
792
432
667
564
762
946
804
317
53
872
724
482
921
226
997
418
736
704
784
188
755
569
566
89
350
797
513
219
1
521
830
581
582
959
651
387
952
450
902
286
379
149
103
225
76
209
240
517
47
26
714
500
427
175
821
822
746
257
429
43
889
738
270
692
31
253
785
369
496
526
525
783
336
270
957
836
361
919
876
13
547
46
810
336
987
665
453
145
50
394
657
736
969
625
496
723
904
437
690
582
364
973
1
466
40
403
287
786
245
385
548
500
614
161
649
290
213
24
424
20
929
918
478
956
879
371
351
263
550
760
653
146
597
205
407
895
522
956
111
753
947
277
978
183
831
205
383
665
771
487
814
551
497
248
506
894
740
602
527
406
953
532
254
860
761
834
112
324
596
827
904
581
714
812
321
978
658
7
990
733
305
758
975
402
796
384
754
845
50
912
539
481
35
304
246
98
659
518
557
745
971
898
295
476
333
904
761
871
366
202
781
249
765
470
947
468
542
29
949
38
833
638
951
33
207
308
686
941
285
48
296
182
615
786
3
459
911
567
358
526
207
291
154
217
993
905
118
789
110
961
103
710
31
887
845
55
169
140
313
565
36
687
277
236
373
836
37
62
888
573
148
136
844
947
598
898
553
958
134
725
778
656
331
428
150
818
550
472
967
694
181
881
165
766
384
878
824
372
133
282
311
351
494
537
29
579
949
74
817
355
60
368
210
158
912
668
158
168
611
868
290
345
536
422
495
522
218
494
404
190
447
780
353
142
680
558
527
139
898
562
297
116
793
220
201
202
616
637
627
33
14
468
23
386
948
479
373
187
135
176
765
308
498
330
86
400
765
630
292
183
737
976
226
271
721
104
662
590
262
353
132
892
662
373
48
712
688
491
877
331
535
271
387
963
364
521
498
449
675
644
899
178
376
739
393
830
637
335
863
805
542
964
893
888
96
41
298
756
363
683
278
455
393
169
449
856
117
707
766
386
558
54
216
66
585
346
228
992
896
142
919
890
85
328
674
357
469
12
59
668
788
949
747
828
49
353
940
652
522
204
775
229
379
237
330
69
511
879
131
617
831
332
532
568
776
835
925
605
770
900
517
756
126
995
309
577
240
688
20
724
975
747
892
327
771
95
729
750
424
764
56
938
409
215
976
612
322
485
182
935
299
613
565
169
257
726
56
33
394
966
640
151
699
182
980
11
130
919
724
325
725
792
346
530
147
768
342
470
69
212
706
930
388
845
852
828
417
880
603
318
156
704
402
967
183
423
675
495
967
485
128
220
203
374
814
523
269
54
23
135
75
457
385
975
375
799
87
616
74
920
794
185
182
182
675
657
876
647
904
32
506
420
182
880
536
56
78
68
120
894
456
270
417
998
877
42
832
174
587
807
54
169
665
114
172
741
959
902
132
750
652
316
531
803
731
831
48
286
141
54
826
786
109
575
769
22
4
711
31
394
82
754
931
198
648
646
156
325
501
579
396
40
990
136
487
23
654
989
714
419
228
73
205
69
721
414
212
447
400
455
676
91
766
826
647
467
27
978
29
277
155
6
652
193
338
280
827
885
535
217
416
987
864
639
928
348
790
685
304
506
404
165
869
833
600
584
395
206
654
803
342
378
500
441
114
451
993
687
610
969
596
139
443
208
212
648
933
159
318
942
400
564
208
929
339
110
859
226
753
559
899
402
333
149
203
827
166
72
890
850
353
232
870
193
252
748
652
98
79
890
791
767
214
197
251
59
913
561
940
265
57
969
862
982
214
388
634
791
559
32
631
471
125
866
629
950
470
735
619
54
67
948
427
391
641
515
864
371
241
461
409
463
37
817
829
268
710
966
727
889
847
971
753
362
898
409
60
664
147
23
679
863
592
180
658
572
821
742
168
714
769
446
306
20
692
306
982
347
842
873
101
105
86
398
247
602
148
94
192
87
266
702
868
621
759
541
877
707
459
34
217
746
961
499
694
7
424
604
356
752
965
509
416
597
772
140
328
937
699
461
74
529
491
864
273
887
745
12
418
212
391
561
395
964
777
180
463
47
415
228
48
811
54
229
995
694
35
38
459
433
824
210
199
163
179
610
863
652
706
772
805
143
402
827
59
981
391
108
381
256
258
684
671
230
237
138
681
145
83
904
618
382
594
310
184
590
630
320
575
550
942
613
233
65
292
249
440
55
171
691
395
422
837
351
70
940
587
135
957
613
888
716
821
455
476
354
696
644
595
161
647
330
305
612
313
175
197
979
780
869
895
109
183
440
456
623
270
184
154
204
308
423
139
70
891
103
183
167
625
457
26
851
198
566
863
48
57
678
152
983
738
557
233
543
957
2
221
295
692
860
250
960
835
561
422
880
478
210
769
660
516
760
88
669
64
627
810
572
121
401
909
362
25
982
463
662
514
525
667
201
608
111
990
445
121
919
674
330
332
2
981
938
244
453
408
725
879
889
626
626
291
675
9
930
307
267
450
347
537
339
638
100
848
164
73
169
341
794
867
71
821
194
857
656
939
407
582
463
410
204
490
111
225
450
93
38
348
570
867
678
147
122
423
814
761
425
822
404
631
631
955
672
703
394
574
626
164
524
930
432
138
617
940
306
442
667
474
649
404
115
670
164
707
580
125
620
419
816
469
729
701
27
63
323
144
762
547
674
343
52
502
293
91
325
783
40
557
887
953
666
872
470
820
223
870
390
302
883
78
368
688
825
697
970
933
782
994
905
778
743
435
140
331
86
931
901
260
106
776
152
884
504
183
73
259
914
884
375
838
942
886
59
386
516
319
342
614
575
302
37
453
255
862
647
937
740
281
755
453
932
632
120
496
913
945
14
130
921
141
947
80
256
839
911
737
65
182
664
405
451
87
380
793
712
689
204
85
834
312
851
948
504
976
426
457
62
346
60
256
781
982
785
212
783
990
322
467
720
430
93
47
74
362
816
151
557
46
524
788
616
575
673
746
527
215
309
692
854
791
933
857
367
745
773
889
622
910
665
392
501
605
669
167
982
403
793
360
275
804
960
562
260
83
441
423
851
801
484
451
507
805
844
530
619
70
184
114
899
388
124
203
252
754
814
968
782
268
474
334
757
510
313
932
379
647
575
546
135
970
266
627
380
173
265
468
525
450
115
370
907
400
785
503
930
801
74
171
599
567
148
916
899
553
896
183
791
455
415
325
771
734
935
320
42
337
958
936
357
30
170
1
493
306
981
92
152
156
123
213
782
488
873
973
462
598
839
371
529
908
182
532
47
118
367
659
606
44
257
994
143
664
397
836
691
318
876
504
984
580
5
682
847
59
389
752
180
261
653
573
105
701
196
661
571
648
899
868
295
238
595
472
408
211
470
76
618
199
313
793
991
300
631
14
685
676
266
470
114
34
33
395
22
158
343
336
938
94
456
579
276
207
279
189
151
90
125
420
606
228
899
569
527
375
532
433
5
869
306
169
256
464
927
724
538
814
789
974
648
456
919
406
728
980
522
434
75
84
844
445
589
404
351
283
281
306
847
145
38
326
203
813
393
580
837
734
675
247
945
695
275
205
750
759
170
969
722
682
73
385
790
238
744
906
80
767
70
905
577
780
486
160
439
634
205
566
383
144
487
163
688
486
889
770
864
912
39
869
985
573
955
902
992
272
380
799
40
15
881
406
81
85
724
431
441
735
628
692
110
716
568
727
818
610
722
280
749
318
510
799
910
135
432
810
779
540
69
995
813
221
170
830
820
865
248
917
985
936
456
490
551
18
818
148
783
265
86
554
838
180
574
700
612
252
347
354
463
934
40
458
951
70
401
600
357
174
376
134
846
871
200
178
534
423
455
511
640
501
546
335
136
268
363
981
3
398
155
896
278
872
815
664
567
264
842
405
603
761
199
607
705
340
194
340
742
364
275
859
269
375
336
785
85
984
727
413
321
601
656
222
558
181
93
307
178
318
609
314
313
763
779
390
301
908
950
850
522
845
167
528
844
366
27
221
691
681
55
275
906
670
978
90
180
226
896
261
794
590
960
140
837
641
601
835
833
750
766
53
947
187
879
729
545
34
449
106
894
229
353
750
230
672
804
35
239
289
947
781
256
571
838
54
112
378
274
617
613
751
583
185
122
41
23
381
525
933
858
287
192
835
569
569
173
649
857
418
990
201
314
971
833
418
668
451
911
922
480
1000
975
856
90
58
748
636
343
193
127
771
355
484
508
108
167
909
556
598
630
729
30
219
298
480
57
743
394
62
342
873
171
358
418
669
79
979
926
290
228
1000
347
821
557
30
320
378
955
537
913
692
369
140
733
157
564
472
817
644
783
321
594
431
28
949
21
300
55
931
222
160
472
343
551
582
511
862
27
261
156
205
526
750
302
302
932
769
538
825
701
999
959
975
932
585
150
932
87
461
91
1
973
251
288
302
444
691
868
757
573
479
737
296
698
969
123
403
858
373
37
593
582
996
203
954
945
556
13
638
51
822
934
53
848
667
571
582
281
84
302
823
318
928
982
721
285
890
720
466
320
736
161
713
463
921
996
480
47
490
667
92
633
603
362
656
657
118
411
843
335
407
174
238
162
990
318
61
470
623
161
902
145
200
431
965
567
194
312
433
218
403
185
784
240
427
788
262
411
676
853
286
613
676
456
239
917
107
390
967
796
326
923
311
857
66
171
176
677
656
162
968
4
365
365
684
619
413
120
632
632
777
914
480
822
189
896
362
926
595
386
802
442
922
370
533
614
220
154
683
727
103
388
374
765
953
679
522
762
531
868
513
912
477
843
454
584
689
442
931
938
711
613
538
751
76
493
954
393
15
484
37
644
75
707
193
171
936
474
299
59
198
495
564
722
958
633
21
902
771
905
796
232
972
321
900
11
417
884
51
426
402
734
961
435
891
7
582
948
220
423
65
701
125
29
535
473
284
785
368
876
548
881
323
981
721
779
764
478
14
968
200
879
305
337
562
535
933
885
928
877
40
222
932
331
420
917
689
823
400
322
885
668
558
922
637
885
946
601
802
661
98
490
725
793
258
220
784
389
185
450
711
41
402
546
353
953
929
130
483
240
394
48
250
722
926
951
102
33
346
318
374
844
36
240
197
265
277
694
121
302
18
358
619
320
778
241
636
79
844
524
496
810
998
66
759
222
778
933
72
33
649
208
680
868
553
38
993
884
998
591
571
520
227
112
915
140
44
782
717
135
544
443
600
296
342
534
913
815
898
794
871
379
177
367
147
160
208
966
90
414
49
653
844
581
314
602
46
468
675
968
181
118
700
574
391
446
964
684
250
574
643
588
34
74
670
35
84
9
118
846
122
731
688
165
825
897
30
902
510
62
188
877
531
491
616
58
866
558
58
81
424
213
102
919
803
505
345
174
570
95
929
974
680
4
674
850
274
600
154
314
972
968
833
60
709
345
835
843
347
284
983
136
546
553
505
608
856
561
218
291
603
267
40
102
863
133
406
1000
793
631
534
658
625
262
534
996
868
796
985
291
661
693
20
872
756
242
890
612
305
7
673
512
495
573
81
668
80
433
294
868
26
82
374
820
806
53
86
792
389
642
874
36
564
578
369
930
69
714
8
195
929
107
275
908
515
536
630
277
104
566
396
303
122
786
766
544
861
728
593
128
157
264
845
88
419
17
415
839
445
408
489
343
666
495
840
74
791
685
191
434
370
729
295
640
441
157
477
477
257
449
162
467
76
782
371
193
122
184
221
525
133
238
249
436
355
297
751
949
448
330
417
524
530
86
228
837
513
282
988
463
947
897
845
493
842
455
901
434
280
406
293
74
246
300
154
167
720
502
528
891
9
593
582
47
254
454
468
860
245
262
778
85
988
276
833
823
963
338
967
93
639
472
578
743
599
845
930
708
611
587
642
9
35
686
309
93
279
238
952
325
379
802
862
460
397
555
895
947
32
180
523
756
756
197
723
227
791
494
326
134
495
386
586
729
27
438
536
80
715
612
162
384
203
52
572
286
275
963
75
437
244
585
550
665
929
227
577
169
534
699
520
87
195
214
188
627
568
74
746
729
595
959
254
860
503
698
601
130
163
744
629
391
165
407
902
331
375
101
949
922
243
464
786
697
877
239
183
500
717
243
441
303
674
552
439
638
778
303
282
978
662
145
223
134
761
410
406
387
654
559
610
562
863
309
404
752
291
104
25
691
658
299
860
82
487
488
612
304
690
898
128
23
295
671
371
173
658
167
209
694
348
104
549
154
954
486
816
114
261
796
962
666
593
824
957
97
644
877
232
28
782
821
617
715
620
576
129
391
670
217
378
699
985
807
477
259
27
444
45
392
421
774
345
840
889
412
624
113
387
270
454
705
426
810
230
50
596
613
37
500
565
464
749
40
219
374
586
702
121
544
349
856
209
335
201
649
472
692
165
856
387
349
504
341
39
345
732
117
197
31
313
742
90
834
22
405
254
447
546
581
642
30
138
612
101
241
49
877
475
611
16
500
801
861
313
692
535
233
715
890
277
821
294
839
236
175
117
635
523
170
769
532
440
237
130
15
105
587
966
232
129
959
726
395
569
798
398
153
36
456
379
274
681
215
127
190
763
415
763
82
614
995
907
241
150
63
767
341
498
927
906
169
915
151
172
47
970
837
985
890
831
258
570
397
614
431
715
325
968
962
356
218
443
745
609
205
767
683
870
707
814
642
268
968
953
251
38
353
419
22
398
236
581
485
66
155
252
669
905
605
708
355
50
485
690
918
527
748
482
514
559
236
87
567
710
57
652
252
539
82
524
700
681
321
780
177
114
5
607
363
934
169
667
173
112
410
465
254
570
281
767
430
404
480
336
856
219
588
602
605
392
605
382
702
484
964
460
411
215
10
640
674
121
137
880
185
515
953
243
537
410
815
706
230
843
88
308
113
431
262
725
997
39
875
138
782
189
812
152
389
158
133
630
237
806
61
500
754
791
119
35
661
233
727
579
356
843
723
463
755
191
404
663
381
126
662
778
299
289
721
93
779
313
781
781
160
547
622
823
489
126
814
819
934
751
766
692
850
807
231
218
642
378
289
429
249
218
33
190
153
24
401
681
306
158
597
94
270
559
580
554
151
714
948
214
643
447
323
464
581
738
65
434
943
966
716
303
167
783
83
457
968
254
302
189
595
74
506
474
610
407
981
330
803
348
795
409
858
91
938
760
701
649
947
153
261
349
835
971
548
406
916
415
527
591
746
716
260
373
8
99
187
952
597
489
217
275
598
337
498
486
68
469
370
227
790
593
6
900
220
930
685
269
876
454
458
782
324
402
242
591
723
33
968
536
636
94
524
293
426
105
632
477
94
342
712
740
868
380
15
794
196
124
24
871
33
565
168
335
526
882
406
20
183
91
127
432
683
198
119
97
278
667
49
206
587
75
40
200
235
45
424
72
412
847
698
5
909
648
25
401
632
992
377
496
880
951
544
532
909
370
816
880
444
754
59
615
821
638
315
775
392
755
791
963
671
884
299
979
460
60
797
902
851
734
633
433
554
521
549
290
514
462
246
184
107
50
556
201
534
862
867
448
204
311
468
447
997
908
914
88
312
418
332
913
703
475
845
111
740
550
921
916
432
629
516
993
203
618
327
25
944
268
355
931
77
379
225
72
970
127
396
344
236
648
496
292
666
413
467
214
566
496
136
816
278
603
109
86
525
576
613
961
5
156
990
824
368
985
116
25
292
176
896
444
886
294
357
556
54
281
581
611
788
638
861
287
552
211
41
633
81
26
917
203
928
932
995
25
59
253
609
448
620
265
641
993
775
61
618
16
161
304
980
396
92
440
705
456
84
145
257
46
697
230
63
24
936
694
321
396
674
393
952
4
635
576
963
983
509
621
302
155
646
412
518
174
633
167
213
477
738
986
293
75
879
34
509
773
284
65
619
668
449
938
797
696
371
904
576
512
268
668
689
256
173
692
693
595
833
748
112
969
361
469
173
161
916
551
900
136
516
275
447
607
751
242
75
934
789
556
103
760
540
212
496
283
294
100
492
141
420
891
813
710
984
9
566
29
237
80
886
641
980
494
744
423
746
207
113
850
601
496
859
212
97
136
318
14
594
416
482
164
728
444
154
582
272
467
188
540
17
289
175
408
589
416
540
429
318
283
8
869
349
739
873
129
230
1000
304
415
70
456
149
171
234
15
399
757
223
175
453
790
34
638
845
158
839
93
924
957
238
702
251
526
726
998
174
277
231
84
100
275
777
527
490
357
359
834
484
146
117
201
382
456
775
59
904
466
63
13
260
516
584
967
597
531
151
580
310
897
123
701
29
83
711
134
852
397
505
862
512
89
722
875
750
398
794
878
98
269
952
440
653
204
411
594
188
86
600
529
134
928
640
738
526
159
945
943
26
478
355
165
507
296
738
556
495
504
317
998
973
617
313
991
664
368
665
97
926
459
673
25
831
483
464
467
824
34
23
984
585
584
415
519
403
40
499
654
365
792
97
319
182
677
84
473
276
517
356
233
90
790
927
25
193
571
699
590
886
80
591
110
476
39
804
280
295
601
926
900
829
756
524
422
45
994
593
964
110
481
978
486
215
169
446
164
149
73
607
543
592
388
290
706
861
283
305
498
938
957
723
867
222
968
979
488
361
991
75
147
892
824
174
810
212
950
667
895
544
962
591
50
175
900
891
649
208
919
652
277
489
725
830
739
157
923
442
481
465
724
434
892
166
504
657
616
735
313
458
889
169
778
420
921
900
789
681
512
629
988
80
395
508
358
122
333
169
137
345
573
538
888
253
90
262
785
380
11
810
90
438
677
33
354
719
108
3
87
105
23
476
516
115
161
204
582
360
370
627
502
684
818
169
74
58
735
512
398
953
290
704
826
559
550
900
786
691
1
875
566
651
775
177
293
619
539
933
92
389
995
882
876
370
83
158
268
834
258
715
950
314
673
47
101
925
697
61
661
108
985
497
870
988
184
330
909
84
502
940
493
592
544
671
939
839
221
586
612
781
109
852
589
645
292
204
93
871
610
363
525
534
240
122
889
352
693
43
46
175
655
366
490
588
571
773
288
906
502
114
408
333
592
53
913
545
438
896
399
287
722
490
612
813
793
211
396
190
235
521
8
526
93
484
338
181
115
910
785
876
283
549
366
417
945
814
129
443
41
77
99
191
305
490
813
797
817
619
922
39
938
916
510
784
518
203
524
562
218
898
158
892
944
652
121
968
676
460
468
274
415
49
77
560
617
552
904
326
189
28
887
671
85
406
714
900
603
816
718
759
700
58
848
551
57
198
975
689
142
862
845
394
246
840
585
399
295
37
16
464
283
632
981
474
319
547
513
676
606
989
962
337
178
859
108
755
815
283
911
66
389
404
768
748
831
822
64
69
2
754
362
978
32
71
793
97
104
854
73
555
236
19
111
347
337
831
353
817
710
886
845
631
226
197
502
291
568
585
208
863
323
488
207
68
219
616
692
333
431
651
610
672
763
321
526
528
446
713
755
820
460
681
131
472
566
547
479
658
691
61
282
828
909
782
95
351
39
604
953
256
779
155
436
140
386
183
20
758
135
855
96
222
183
89
313
998
5
668
957
78
268
890
693
844
873
960
319
91
892
123
144
613
319
819
236
598
848
757
47
749
414
877
865
715
828
596
134
950
653
650
935
549
430
50
802
949
435
411
649
680
442
945
747
457
373
923
611
7
295
311
142
5
939
567
604
325
846
308
792
668
223
674
312
253
870
721
995
909
821
111
302
373
913
710
48
38
127
416
860
689
396
722
620
15
538
36
511
777
123
759
438
596
359
479
298
227
574
415
998
50
403
408
168
264
643
364
256
939
579
4
21
624
704
225
513
708
979
124
286
94
152
975
938
52
222
75
77
281
815
341
447
328
98
46
281
520
889
841
892
465
759
495
149
994
273
412
764
150
989
48
229
458
462
783
873
238
320
711
713
166
391
32
704
657
14
442
545
864
873
997
413
279
176
384
861
974
518
475
670
497
527
310
592
316
295
366
798
500
593
93
318
994
116
215
924
485
342
221
709
305
86
797
97
291
535
699
117
781
332
705
574
193
306
849
174
734
533
78
743
845
746
843
460
909
554
932
373
616
505
986
585
119
843
748
166
796
687
90
255
964
452
240
807
422
559
443
171
5
870
499
971
702
833
221
822
1
16
917
995
286
553
353
527
81
78
582
174
858
844
169
282
949
70
61
881
805
62
364
275
506
246
748
981
935
87
91
117
480
791
210
231
492
806
226
152
945
405
195
629
955
33
102
407
833
698
240
930
356
404
278
23
804
520
43
764
103
5
132
246
92
642
36
82
562
753
325
316
180
409
826
880
860
804
449
827
428
282
434
405
675
510
405
394
12
396
506
305
978
682
307
711
789
543
925
432
983
195
965
336
945
208
498
240
781
191
255
765
555
570
638
12
404
406
916
659
395
602
227
344
302
390
579
277
646
666
83
612
475
641
88
460
326
245
696
373
749
916
393
752
588
720
175
912
924
245
587
480
229
315
573
374
804
417
876
878
34
623
14
217
319
955
534
599
813
350
305
919
255
850
150
170
247
170
949
154
307
574
707
256
903
838
744
900
460
144
306
787
35
955
395
177
928
249
575
293
37
34
796
373
141
720
72
31
645
749
938
373
516
859
226
726
280
527
589
944
9
383
625
17
114
869
194
69
675
29
691
939
743
41
658
219
730
67
53
18
577
40
944
734
851
247
161
812
302
970
657
796
710
956
952
990
34
232
44
690
968
595
600
263
32
157
82
309
223
454
677
769
69
999
589
118
658
597
250
724
844
409
516
25
361
531
733
444
30
803
866
869
572
679
535
43
832
253
898
490
329
924
809
413
167
816
560
571
270
742
852
304
823
422
305
727
558
704
959
598
223
729
740
539
191
347
770
84
638
592
759
486
159
707
431
357
986
29
109
991
213
14
105
626
556
844
548
37
208
329
632
556
293
282
27
52
285
139
405
442
489
378
574
28
358
181
742
323
1000
890
800
75
653
14
323
844
361
950
211
877
292
108
477
976
396
847
741
746
153
471
386
896
198
562
193
233
497
77
490
631
588
977
503
508
100
631
657
293
419
877
13
967
879
417
915
978
332
162
173
765
251
273
792
671
838
887
345
235
708
937
567
739
827
60
645
407
353
312
992
834
876
303
986
75
388
393
271
302
966
808
758
122
773
891
354
415
472
197
817
64
572
826
850
26
538
216
704
13
706
588
105
457
205
374
283
524
98
264
245
725
896
948
204
20
472
230
242
420
130
984
892
776
261
284
291
829
576
191
958
634
391
835
63
124
807
877
237
947
916
936
626
717
372
315
859
420
739
149
87
97
48
189
33
832
917
538
256
731
377
15
481
836
287
306
881
873
868
673
676
294
384
824
257
357
465
452
334
855
924
104
264
697
143
260
819
731
300
961
122
94
751
869
390
886
861
389
424
165
470
369
474
81
946
932
254
488
486
205
377
499
915
51
416
288
747
446
125
887
666
775
108
848
927
193
344
445
377
139
560
481
943
247
368
901
460
192
467
135
654
453
994
485
962
585
235
977
590
355
562
757
912
15
374
526
846
58
287
510
339
41
563
171
473
439
12
175
956
42
201
159
16
107
818
472
749
336
491
383
29
751
158
229
960
732
361
549
703
774
451
606
196
34
766
555
957
356
293
159
657
262
177
176
617
345
738
461
726
618
307
364
530
609
295
240
396
454
377
763
745
756
596
228
288
778
466
269
113
362
883
197
235
55
752
711
916
101
763
867
677
321
691
984
399
416
891
668
357
892
442
226
313
642
514
537
52
181
76
866
833
704
55
228
325
381
382
613
458
803
152
829
549
59
312
744
765
721
835
452
668
902
377
245
135
651
770
295
464
162
528
661
791
685
739
539
291
541
338
715
790
366
779
783
527
564
529
50
812
940
676
979
232
688
147
657
871
202
705
66
749
676
928
833
298
94
830
773
235
7
675
746
633
430
760
279
360
332
670
942
257
404
550
708
666
261
447
372
905
777
677
652
322
985
457
773
412
883
756
178
260
508
443
491
300
847
322
45
932
519
559
62
84
664
371
56
190
151
550
153
394
34
564
787
996
174
527
683
288
89
275
119
984
362
156
203
361
421
927
308
94
84
295
881
525
41
264
523
762
361
391
658
557
172
504
82
424
927
182
421
792
16
545
828
305
60
508
263
569
901
643
360
731
190
281
171
292
429
245
73
468
574
912
720
220
546
901
214
809
544
751
604
353
661
430
408
408
94
335
93
24
215
768
374
95
842
500
732
57
345
162
766
160
618
651
888
610
532
663
370
844
213
756
957
70
387
58
95
32
50
838
315
593
962
698
474
376
790
46
360
184
231
878
635
342
164
585
212
403
637
707
940
919
530
59
906
67
854
632
753
980
929
41
163
578
152
53
50
526
668
903
76
713
8
702
818
309
693
215
277
9
868
699
457
571
268
268
432
105
193
489
638
886
739
512
147
639
192
49
328
338
395
969
597
586
876
76
938
534
698
916
491
126
345
58
792
181
400
392
170
431
436
412
396
223
325
325
958
959
128
116
185
770
817
336
60
134
364
512
729
306
145
519
620
528
164
196
596
924
371
743
752
891
188
185
323
567
452
281
634
661
136
775
216
517
603
824
994
804
638
772
922
618
181
159
578
108
512
21
989
974
611
87
412
281
557
408
865
112
136
370
969
485
256
757
55
841
392
750
548
146
43
305
371
303
89
358
455
177
31
682
507
948
315
52
830
958
332
552
378
429
232
485
177
697
385
375
938
643
188
962
960
36
916
933
432
425
501
374
814
3
432
562
293
613
456
777
234
692
405
270
128
481
261
394
799
268
516
150
523
789
2
117
283
167
626
781
597
914
852
788
216
610
363
534
537
829
62
817
745
778
454
959
550
887
499
950
866
282
226
677
957
685
755
209
359
773
887
467
370
454
88
342
15
815
515
450
172
753
729
299
982
387
863
564
751
432
304
559
311
616
415
752
193
103
415
345
40
614
302
533
398
620
628
35
388
530
995
891
813
292
398
319
901
176
904
644
264
830
704
897
630
851
299
740
559
257
400
776
667
208
168
130
851
269
566
461
626
298
935
164
952
796
374
602
903
143
162
679
54
738
228
875
790
443
643
204
570
124
217
174
785
309
526
954
55
174
136
401
666
95
358
549
400
14
593
401
176
732
211
626
773
18
988
853
396
145
257
766
3
24
364
163
126
642
464
429
364
915
412
662
880
366
294
799
976
294
146
651
299
193
542
735
266
250
13
107
96
671
729
242
210
443
468
93
827
883
671
144
300
12
275
170
109
325
138
880
455
29
50
376
87
186
739
602
322
494
834
549
246
619
418
1
684
108
689
70
904
890
232
533
924
319
612
309
952
497
273
975
756
362
266
335
688
639
905
487
684
304
312
684
821
639
695
600
882
314
358
236
979
186
689
815
471
655
781
513
299
509
928
727
387
131
970
934
937
851
342
862
298
989
728
833
573
849
425
645
284
496
876
295
248
687
334
175
228
697
315
107
119
139
293
739
135
76
75
372
952
853
472
233
825
128
108
598
445
508
716
920
720
58
860
295
710
690
765
199
665
115
883
395
495
607
885
318
10
282
1
48
981
11
22
189
390
328
812
574
234
933
899
755
930
444
538
650
639
95
691
561
814
961
495
8
911
119
163
474
437
886
694
215
503
885
440
720
588
245
366
319
495
669
774
652
384
467
394
424
305
897
974
952
899
305
960
484
788
661
390
168
699
20
899
879
574
334
584
769
741
837
542
567
711
904
96
154
351
883
61
858
952
908
943
274
217
125
598
118
271
46
748
805
628
19
678
959
431
871
638
49
403
884
695
696
697
146
314
968
212
215
474
146
19
746
935
62
264
442
195
50
262
202
701
987
550
863
183
683
333
273
294
95
111
747
343
441
266
133
564
336
33
828
256
467
612
60
105
182
121
710
209
605
710
721
613
504
472
886
673
248
665
435
180
581
394
381
1
864
135
8
903
661
377
257
371
258
233
16
471
755
78
454
233
882
144
651
609
586
532
717
788
718
287
477
533
875
27
602
265
564
93
734
801
373
376
781
16
750
748
28
221
346
520
153
699
600
463
539
690
398
684
487
69
181
129
100
128
848
533
591
144
150
406
767
881
57
45
246
767
739
612
737
261
398
51
386
838
183
967
728
97
784
646
278
727
149
42
193
454
936
942
666
642
950
482
973
907
821
852
141
975
617
348
243
20
920
875
212
887
107
648
897
927
271
89
821
663
215
895
691
142
451
793
289
594
982
778
793
23
918
531
926
410
653
261
591
500
413
431
810
548
485
721
859
993
311
80
447
743
954
928
676
640
134
391
329
745
165
966
671
243
623
156
605
160
517
420
493
577
64
265
369
694
911
416
603
945
779
777
287
310
76
344
741
140
973
309
578
87
791
342
713
191
349
452
551
773
60
877
321
553
174
167
223
330
550
10
584
628
719
366
725
965
832
163
592
757
256
147
510
439
234
486
614
88
23
368
581
653
344
144
330
962
846
546
241
799
479
114
276
700
346
260
94
580
664
318
902
952
884
532
297
282
922
175
822
993
704
889
283
707
918
913
140
614
920
64
462
239
277
211
957
493
285
536
630
570
110
3
425
212
929
377
69
842
546
542
959
293
462
107
588
241
347
33
474
903
152
510
985
296
870
439
760
131
77
628
667
415
956
277
345
977
445
384
426
419
534
489
487
439
493
537
600
101
991
728
132
356
657
937
105
74
613
629
959
892
918
275
94
430
643
904
886
813
525
800
206
976
760
350
634
939
495
686
665
75
34
81
226
437
587
36
702
351
641
591
523
823
663
706
50
785
916
459
169
841
615
418
492
969
514
795
554
595
288
866
703
534
758
746
660
596
69
769
879
32
452
650
900
604
66
85
877
777
729
672
316
415
68
840
876
429
714
999
753
992
689
269
778
328
77
929
865
571
386
249
847
857
753
433
68
661
285
207
317
346
399
31
808
49
959
971
974
297
376
51
754
239
629
276
925
934
312
609
775
943
418
869
66
364
546
903
826
532
621
435
967
853
9
626
93
589
140
785
187
7
328
609
17
959
531
29
226
849
220
14
63
935
319
680
630
90
475
647
339
483
522
894
975
93
60
250
438
647
553
321
713
317
173
823
109
524
929
250
132
236
274
340
618
462
457
24
909
35
411
412
929
366
825
916
992
571
376
747
40
269
787
942
811
393
510
484
121
547
340
303
44
819
187
730
283
437
595
412
429
366
294
890
123
741
258
729
371
19
257
614
380
872
890
842
314
143
398
442
338
624
384
517
132
32
695
492
830
321
329
658
19
377
229
754
945
234
180
403
620
167
881
842
829
411
425
795
390
800
68
268
160
317
163
747
414
410
582
579
194
924
771
249
190
697
819
947
461
156
586
37
99
768
959
24
507
814
785
165
555
753
895
158
267
398
876
200
80
235
962
308
955
458
481
988
780
747
761
215
571
363
348
208
971
860
637
695
388
651
748
159
939
631
609
105
39
338
692
494
68
436
804
334
70
836
657
863
837
449
686
893
54
372
717
657
404
296
650
936
654
68
286
329
793
638
763
298
228
44
877
980
888
729
709
876
850
227
564
181
757
183
248
944
862
729
64
236
20
505
728
222
307
958
630
335
257
134
448
792
873
850
162
309
697
15
944
189
199
858
222
951
676
995
468
243
665
616
883
99
593
522
242
519
20
393
575
939
368
466
261
418
471
754
364
247
626
28
715
287
87
62
341
508
101
56
321
114
642
721
36
143
3
252
115
633
247
295
38
271
329
56
517
938
397
911
262
746
353
224
699
919
290
584
503
398
803
372
578
114
529
350
247
701
435
991
971
811
576
366
875
324
13
729
717
465
569
371
715
258
932
933
819
790
363
130
597
503
954
735
901
74
909
791
855
488
827
200
541
585
341
268
933
715
735
302
266
117
373
64
38
305
861
751
274
35
878
168
506
425
512
939
177
379
758
929
806
787
572
521
312
875
471
41
362
689
257
408
433
932
824
45
622
294
415
187
819
946
903
985
39
115
859
235
114
508
241
112
901
896
469
54
437
336
605
790
175
371
56
590
574
27
994
982
804
587
219
557
290
941
732
982
117
750
694
35
79
819
750
261
297
818
923
869
882
956
439
603
61
276
832
624
591
10
673
893
993
816
67
130
385
790
868
230
207
869
163
877
191
588
203
237
249
208
392
783
831
906
341
733
437
58
277
109
652
643
292
135
42
451
8
527
689
88
257
270
6
745
252
628
658
289
588
456
109
556
92
379
343
636
203
23
763
519
81
295
158
750
92
647
864
618
662
359
958
981
764
167
378
21
424
945
375
135
754
752
574
641
943
275
250
229
547
583
101
862
199
171
953
378
542
436
313
168
800
130
641
134
907
808
534
588
503
979
755
863
456
489
181
213
771
644
314
992
884
718
923
198
362
794
796
213
7
319
298
989
167
380
662
962
841
458
472
713
817
339
829
770
650
932
58
942
761
990
629
312
318
102
173
297
840
873
73
235
670
907
162
581
559
76
449
96
585
558
658
422
582
294
582
998
36
852
915
610
152
160
275
750
406
207
572
596
455
604
764
633
698
851
297
865
147
266
209
115
507
780
961
128
542
235
543
74
853
399
297
548
189
622
219
391
258
978
184
455
843
749
660
966
662
327
22
259
52
968
459
511
53
325
840
512
854
382
630
690
922
211
77
335
325
981
472
443
901
762
219
658
969
973
828
570
204
775
704
987
171
316
802
918
729
479
773
651
228
739
236
744
939
779
206
737
671
752
489
85
881
484
99
171
885
426
324
225
962
893
126
654
252
960
960
586
335
411
949
399
314
309
575
625
21
64
707
898
693
379
824
566
119
71
760
144
747
574
164
63
731
869
114
56
218
706
46
101
442
229
197
19
341
544
268
747
498
357
926
786
166
505
33
555
21
133
220
171
78
284
535
729
888
876
405
255
745
416
98
361
127
276
173
59
1000
58
186
338
960
396
25
884
372
495
829
735
830
889
383
787
275
157
265
792
57
810
775
890
85
150
852
801
954
686
792
484
589
584
540
477
547
731
732
131
550
204
481
658
237
339
98
232
379
109
537
409
30
276
403
749
140
564
774
862
202
187
918
56
393
182
226
374
496
335
335
116
599
1000
472
839
232
697
474
449
83
208
852
232
938
832
499
582
791
552
340
720
352
148
293
963
329
695
407
913
932
472
934
519
25
32
399
106
218
65
433
340
997
752
249
572
664
477
174
172
469
149
558
256
814
884
723
700
827
461
363
435
917
809
933
805
141
750
129
199
358
359
525
274
157
605
770
809
517
386
564
652
984
667
752
280
910
206
514
198
973
266
577
774
737
780
790
165
521
680
200
619
191
487
983
841
794
781
175
52
150
906
198
69
597
97
588
8
107
227
157
204
893
559
77
544
452
201
12
709
697
440
475
725
481
775
37
853
341
273
906
54
728
790
624
206
348
752
354
781
494
405
259
911
393
901
24
675
687
136
406
909
108
12
46
84
328
645
471
603
699
140
307
368
346
689
280
648
629
164
484
41
519
856
732
839
847
680
560
199
676
8
570
290
305
262
388
70
521
541
432
368
746
840
86
763
701
889
614
96
9
227
341
554
967
897
225
963
332
68
891
284
557
965
647
373
398
714
759
710
148
104
490
167
106
808
34
882
8
304
459
938
312
596
246
885
192
851
808
92
17
225
631
525
916
493
316
868
753
563
857
786
451
601
951
760
156
295
988
153
171
711
653
66
940
328
749
121
599
98
908
503
802
762
394
476
579
284
41
115
951
954
722
182
930
603
411
909
288
449
47
953
201
241
914
943
448
784
166
842
374
380
494
818
205
445
633
438
657
346
572
779
979
497
889
483
704
909
569
877
430
645
42
15
883
121
957
919
369
766
353
349
467
347
512
134
498
157
733
494
843
367
686
788
686
39
791
823
113
721
285
190
797
73
245
93
701
658
870
801
293
921
734
134
826
363
564
402
98
102
348
795
950
335
188
530
480
684
414
984
577
77
893
635
915
567
341
873
999
482
737
668
185
380
580
606
870
557
852
61
201
265
996
99
711
395
155
293
282
67
197
745
703
524
755
518
874
691
641
128
406
34
505
939
967
657
540
64
231
123
355
911
673
121
896
553
816
968
438
958
720
869
190
480
640
42
76
169
848
69
547
139
501
305
113
691
341
795
415
920
727
876
264
251
184
591
64
733
215
113
403
939
585
590
453
7
685
227
958
699
853
970
269
348
737
827
856
227
863
758
187
172
598
47
674
252
601
250
647
925
654
144
934
381
531
570
712
688
141
712
717
998
763
142
793
271
603
910
15
892
267
80
300
131
987
342
508
590
619
787
519
669
472
491
675
596
19
262
261
773
422
849
434
998
570
891
92
664
50
133
724
140
45
758
189
390
669
237
710
327
655
712
122
535
645
814
529
760
526
744
116
4
411
629
771
172
898
420
595
928
153
81
93
853
269
400
51
50
35
537
674
37
982
314
551
171
81
373
408
853
987
501
418
463
66
867
28
292
765
406
903
771
36
337
581
907
664
619
884
197
323
170
934
191
118
866
903
577
162
633
225
852
500
437
87
666
274
622
454
434
599
835
753
123
39
721
619
991
939
677
756
617
99
246
92
783
462
91
861
649
538
139
143
174
277
146
723
917
962
876
803
229
494
89
237
294
133
775
478
673
357
385
338
779
988
353
9
209
185
860
539
966
172
620
75
367
840
440
764
903
449
463
148
373
729
272
263
387
597
509
397
718
562
243
682
52
655
112
234
402
364
158
571
818
634
359
427
54
474
109
883
544
55
242
939
379
529
800
274
955
929
385
949
653
656
840
250
182
40
979
694
207
372
287
451
501
645
809
95
123
927
949
646
94
958
526
311
583
75
227
216
918
19
558
667
589
521
496
188
15
834
293
624
15
517
327
127
848
870
450
718
174
360
32
416
484
297
760
646
397
770
334
747
719
568
366
916
287
396
162
860
470
214
584
753
636
925
843
838
17
961
912
167
206
546
221
501
926
532
443
379
818
750
460
710
740
755
68
13
470
701
560
623
763
825
117
739
438
681
842
208
526
854
331
297
562
323
946
563
759
50
309
63
176
646
84
845
958
157
834
600
399
116
582
855
881
9
702
856
721
218
983
584
542
311
970
944
121
291
225
268
548
19
755
674
147
601
658
755
861
921
985
268
683
900
935
236
305
288
739
923
346
951
33
629
411
715
79
170
741
764
928
190
433
498
512
173
2
526
691
124
604
175
480
424
351
472
38
274
982
95
524
493
621
168
578
164
452
112
12
760
952
970
304
965
727
788
576
312
114
619
82
179
426
706
656
419
168
231
162
83
554
754
798
286
424
166
975
253
988
505
589
973
895
502
750
695
767
47
384
699
712
122
704
410
305
874
220
918
201
637
832
415
826
716
551
873
586
637
567
551
632
403
711
534
518
15
829
599
8
136
242
104
888
339
233
532
874
780
485
519
639
531
469
933
493
35
71
613
523
311
137
889
826
608
225
884
16
180
544
917
376
736
999
20
849
896
235
705
581
689
859
628
858
712
287
742
110
102
250
835
111
838
619
121
625
261
37
676
527
882
856
65
864
695
974
470
426
253
499
995
98
695
589
584
740
765
436
170
320
628
132
272
821
929
50
207
735
141
479
522
68
671
454
37
383
640
136
71
822
467
617
96
984
643
744
23
238
131
402
791
327
870
716
750
94
743
786
560
796
201
919
993
734
464
780
58
859
835
528
339
625
208
819
287
596
295
457
507
199
435
647
707
615
121
7
118
974
523
953
636
921
367
629
860
138
489
292
489
579
280
945
251
57
18
57
658
248
753
417
395
423
63
509
75
927
433
320
433
989
487
159
771
482
582
896
598
99
492
993
978
797
76
857
56
480
822
334
568
628
124
603
962
988
984
346
885
487
603
829
398
276
964
452
277
143
98
391
126
593
185
195
866
575
25
593
331
154
698
294
364
452
439
278
774
812
826
929
990
471
404
371
44
967
778
526
778
150
19
777
812
938
945
542
835
886
489
762
292
239
881
46
347
378
826
223
309
475
202
94
383
736
65
496
663
814
894
181
806
867
100
579
713
241
765
282
820
962
499
930
356
50
34
256
986
169
925
234
829
282
286
629
726
787
5
771
996
70
299
28
635
557
783
294
75
85
455
783
155
889
106
551
947
561
752
473
388
102
558
853
501
585
636
427
125
7
811
328
666
622
140
451
380
425
501
758
81
479
89
308
979
463
992
138
558
164
334
717
8
629
649
362
773
344
269
876
165
126
473
671
862
366
115
812
330
900
211
760
847
44
710
35
889
282
323
696
57
670
786
307
618
290
393
22
990
951
989
510
182
947
861
721
276
841
110
911
545
172
197
905
669
458
277
324
844
96
859
391
253
565
93
949
524
872
670
560
273
295
962
897
795
319
462
125
282
106
84
692
692
977
109
727
520
148
866
242
316
408
308
487
699
514
724
66
30
821
724
912
635
77
536
793
682
361
358
803
379
873
209
204
140
638
259
58
797
232
119
330
697
321
933
511
757
118
400
382
154
903
71
207
356
379
323
531
612
935
457
751
867
883
257
804
297
342
163
638
319
714
949
625
950
638
408
690
901
917
105
755
592
117
676
11
605
485
520
669
718
369
976
93
787
539
238
621
205
688
337
981
572
920
482
931
513
207
926
622
284
647
347
261
940
852
367
815
312
942
486
888
28
433
171
383
104
783
287
258
377
460
341
488
211
198
263
339
449
523
553
204
543
742
672
522
152
303
508
772
288
881
567
131
246
560
322
156
142
231
803
758
888
677
70
812
799
856
708
996
858
577
837
809
860
90
428
298
262
127
913
690
602
585
169
5
776
322
960
730
268
547
835
802
720
865
300
475
811
355
797
129
519
952
664
713
269
39
776
311
344
360
19
267
198
305
86
423
2
152
349
257
827
75
722
174
349
606
485
726
879
752
31
312
802
174
362
772
221
652
954
333
735
571
305
585
767
326
75
501
816
316
222
29
324
721
978
469
584
314
796
661
288
392
629
989
818
309
60
347
388
209
786
518
495
282
958
845
875
288
679
703
399
142
756
22
864
81
432
46
666
279
414
586
725
850
977
243
821
811
293
484
726
965
452
986
124
620
794
359
329
750
305
236
245
489
809
705
831
820
613
241
598
947
83
627
273
124
332
815
866
625
861
337
784
154
492
653
530
234
426
787
801
10
546
696
441
471
397
89
828
303
390
824
744
459
891
602
660
79
770
380
706
531
931
847
260
243
76
317
243
455
684
629
701
171
760
964
196
434
428
26
856
475
862
704
667
438
326
128
759
134
385
62
951
742
397
668
819
439
512
989
881
707
284
962
298
458
891
349
621
173
686
768
751
992
487
890
220
23
562
988
329
212
742
207
468
758
487
346
141
439
12
479
866
166
746
430
93
785
548
989
753
415
54
759
871
599
481
698
885
157
6
748
16
925
573
401
33
460
616
741
243
441
700
225
391
673
561
485
438
575
327
490
837
534
5
695
26
758
448
211
368
121
92
616
601
21
734
747
242
461
493
709
26
396
881
378
632
897
616
871
415
826
390
826
850
530
328
823
667
534
268
982
435
322
323
560
492
76
398
375
652
702
483
24
97
513
550
136
219
744
857
371
949
426
286
482
287
248
110
490
316
720
240
998
7
328
568
672
478
436
509
225
198
304
205
560
818
14
152
325
948
15
210
789
188
723
29
851
181
859
970
951
255
216
463
884
497
156
604
781
720
405
482
55
833
664
395
712
622
137
603
233
749
325
751
194
121
344
422
880
386
574
536
414
457
664
480
362
406
805
909
317
1
696
152
723
444
805
9
78
570
394
542
694
900
256
123
407
449
258
632
963
105
627
182
345
775
323
160
959
157
46
710
426
223
117
975
697
993
974
582
380
161
76
854
420
496
773
207
741
710
97
18
89
667
490
4
20
370
201
840
968
191
453
271
335
154
513
479
834
932
491
830
649
394
4
424
582
159
885
40
990
652
720
200
236
554
356
55
327
402
437
711
648
307
695
443
967
424
964
962
396
848
847
514
643
73
538
157
646
11
553
982
669
850
34
392
17
684
853
826
816
960
925
453
693
251
67
453
799
773
220
444
321
369
55
537
528
368
830
235
457
883
854
139
501
582
60
971
577
935
25
975
2
250
199
130
930
558
281
950
987
549
401
867
745
317
244
308
807
628
328
633
566
786
392
28
160
951
250
305
734
925
551
313
916
28
562
319
283
644
498
301
719
452
933
544
771
114
512
346
491
437
533
881
822
626
956
499
256
257
52
828
382
42
221
30
910
282
463
505
979
144
615
130
838
535
744
861
491
431
23
136
531
924
3
75
195
165
437
903
579
615
734
365
128
717
661
181
702
174
133
712
7
504
803
117
702
447
704
225
253
94
356
233
493
325
607
143
868
245
983
508
584
833
445
707
193
957
303
416
684
214
456
398
824
824
291
41
298
934
321
267
188
237
102
626
481
789
31
353
563
245
412
173
132
533
534
435
557
125
609
958
472
705
108
587
316
946
405
68
608
583
680
289
974
704
715
334
322
439
533
83
130
805
878
264
479
516
119
999
353
962
549
841
706
420
930
257
2
796
849
305
223
822
636
967
859
705
609
273
984
683
947
824
374
785
773
823
517
396
905
38
513
869
319
386
105
540
563
983
495
974
248
584
206
163
257
300
932
717
507
354
259
773
938
451
144
486
897
987
259
462
247
960
664
437
318
936
764
840
322
818
212
597
928
515
208
704
518
809
645
636
42
845
687
612
507
733
660
112
864
658
584
803
472
763
272
222
373
833
710
119
333
434
326
386
955
773
831
871
238
990
579
186
600
974
732
818
747
93
103
488
763
421
221
684
443
115
39
775
208
656
704
888
908
510
979
11
421
644
242
420
280
12
469
565
424
787
212
30
846
625
440
25
73
713
991
163
380
674
551
921
171
696
289
304
174
371
737
679
981
821
39
679
986
667
471
355
961
254
972
468
344
353
513
938
820
242
296
964
924
666
166
284
207
691
94
354
959
869
300
976
636
445
362
51
877
572
685
670
460
627
814
745
635
747
371
707
990
658
859
602
457
711
167
69
80
807
387
289
914
530
461
959
772
401
262
755
586
617
925
562
821
44
670
923
726
483
851
797
192
466
710
751
666
896
154
90
851
868
873
313
900
935
311
492
446
861
311
827
59
669
740
676
693
386
34
825
236
456
412
624
563
204
430
872
364
102
691
46
595
840
751
509
612
360
697
843
920
80
469
366
994
516
681
148
824
385
634
596
657
46
218
766
938
853
635
76
556
578
200
52
382
561
10
31
464
664
933
521
450
434
195
30
532
74
827
763
658
980
359
509
857
625
471
436
252
510
720
255
756
767
107
413
494
720
987
538
713
426
757
369
320
723
817
787
201
832
550
358
186
921
441
24
831
325
997
191
209
311
847
450
554
379
237
659
904
93
162
872
847
333
536
902
128
706
139
906
107
554
541
472
42
629
875
105
711
48
72
902
187
590
181
471
435
722
463
817
994
23
216
3
206
817
730
900
324
901
310
207
381
232
77
253
853
300
101
768
19
729
511
969
404
307
384
775
845
268
595
943
536
148
328
202
868
944
593
248
995
627
940
562
864
279
540
610
838
262
925
903
171
849
1000
786
325
714
350
582
508
488
532
898
908
388
729
486
777
551
135
29
902
297
457
635
56
988
192
615
655
582
705
323
234
198
676
457
326
273
199
250
995
920
653
380
573
171
505
297
122
635
332
861
763
963
728
883
303
227
192
159
502
923
766
80
926
887
965
763
603
824
511
898
542
498
467
198
801
920
644
434
968
985
578
490
793
111
922
804
245
388
870
851
462
647
87
22
880
611
660
377
337
7
820
275
113
124
502
802
640
779
345
247
137
80
399
631
489
701
620
431
502
591
243
178
107
178
222
604
138
161
257
328
100
929
349
886
722
499
456
63
144
599
563
60
335
216
407
59
664
467
186
80
623
133
788
901
342
601
479
945
914
188
537
720
519
84
3
361
998
190
592
298
845
165
814
866
533
902
510
947
738
454
376
351
274
187
463
713
505
522
345
142
596
215
399
696
187
521
605
77
6
963
381
551
475
683
226
254
598
491
370
463
267
820
204
369
679
753
976
142
716
177
164
823
1000
902
944
655
824
262
389
32
306
352
398
122
941
505
841
597
172
73
109
602
737
871
56
284
320
857
307
703
476
784
66
964
876
552
807
716
687
975
736
965
281
490
470
341
550
116
169
486
803
610
271
286
593
362
55
18
870
5
478
299
514
150
137
944
663
881
739
434
233
886
164
733
696
178
69
601
480
362
984
415
323
325
24
698
531
37
674
264
392
878
572
882
889
532
855
855
494
29
443
770
29
957
568
923
520
217
958
634
505
935
381
714
477
338
624
876
29
427
603
729
777
286
7
347
334
737
758
62
449
818
655
300
913
297
708
737
993
975
87
39
968
98
76
737
808
554
120
553
138
887
859
634
440
367
51
691
857
483
377
13
64
272
476
686
407
833
952
103
939
221
739
63
6
674
959
291
782
803
312
248
515
898
154
459
262
35
600
416
593
3
410
300
80
373
957
389
374
234
258
53
341
193
924
625
22
273
891
327
169
226
961
607
710
606
507
943
778
686
191
181
894
904
148
963
453
79
932
638
935
71
422
342
151
928
26
598
409
774
763
869
674
911
243
994
700
615
109
328
625
141
277
705
688
272
153
58
607
582
98
642
623
244
560
325
362
834
697
337
526
57
793
202
815
784
462
330
682
37
438
859
232
852
746
920
69
26
187
458
939
825
354
58
801
648
852
73
324
517
3
454
917
984
77
306
56
744
5
188
99
778
622
527
760
348
693
378
150
529
384
919
573
262
377
706
319
90
528
749
310
857
823
850
788
632
394
539
184
54
548
127
934
89
54
71
300
938
438
900
163
441
680
386
366
871
459
537
427
460
110
227
336
330
487
992
732
773
257
574
939
974
521
290
245
356
255
221
311
662
799
479
803
827
489
555
163
418
591
845
934
150
899
968
227
586
679
442
698
603
214
581
897
653
808
242
947
143
993
199
311
486
611
439
830
515
629
680
301
968
793
735
623
723
715
140
933
273
578
634
217
729
398
663
594
263
710
58
852
490
638
460
825
758
496
832
915
697
502
635
363
650
697
840
906
831
887
988
100
113
256
902
878
398
332
540
914
391
151
668
954
454
787
696
574
906
886
95
744
791
514
220
187
666
384
286
743
384
493
460
884
226
321
760
48
975
979
487
710
673
138
446
966
904
119
79
916
386
290
951
359
547
761
726
115
558
464
904
796
970
846
77
20
707
814
430
846
680
45
511
692
682
465
51
104
564
518
759
541
886
817
565
764
398
946
741
504
716
406
703
844
523
235
54
138
449
355
620
370
565
528
794
550
69
677
518
124
308
427
611
412
775
949
945
767
75
563
208
476
147
129
579
443
243
917
676
332
219
539
552
167
750
524
370
340
947
271
599
610
703
473
232
960
801
553
596
85
454
322
738
925
481
828
286
838
763
351
914
978
986
579
240
958
899
275
67
108
530
161
351
509
804
323
187
520
43
161
423
688
671
823
170
772
237
59
649
122
571
692
302
798
490
203
19
612
956
472
685
775
22
380
982
914
196
802
511
32
112
486
887
398
474
485
376
468
337
72
29
651
674
527
59
181
73
800
324
368
123
807
435
263
751
42
938
106
293
258
447
975
600
190
404
741
828
725
325
752
866
398
43
701
524
867
458
748
753
814
718
311
96
774
621
878
562
549
245
835
873
173
454
567
779
911
1
42
777
378
390
654
85
674
524
380
180
383
449
171
545
392
167
94
539
725
576
938
451
47
101
859
882
31
444
201
555
529
219
775
543
383
911
750
696
732
742
793
731
898
534
239
44
276
574
913
824
163
845
652
452
137
713
730
471
428
286
141
664
686
266
162
889
701
998
667
353
931
867
447
965
125
885
177
241
953
553
728
8
302
624
254
778
831
392
828
291
442
550
464
124
560
419
23
723
498
599
837
424
740
686
917
284
658
719
211
607
46
461
741
62
865
436
378
207
761
892
650
40
242
504
252
937
882
682
869
955
567
803
505
5
568
568
756
878
207
918
389
410
962
671
114
359
138
76
690
719
638
2
343
255
953
363
32
36
208
682
259
599
8
401
978
181
852
679
653
142
92
902
643
298
787
105
947
400
266
786
768
384
956
383
494
354
773
784
474
486
441
830
390
138
156
699
138
543
385
451
850
343
981
753
113
117
432
11
501
796
815
698
233
500
954
665
163
935
337
614
327
935
598
718
953
123
752
573
189
945
905
295
796
541
877
583
708
993
27
990
669
503
562
511
125
982
824
782
169
314
327
888
617
316
835
777
228
33
376
780
667
520
920
568
66
760
360
159
929
651
569
277
704
300
556
431
539
998
165
567
629
322
342
72
85
793
713
176
431
379
120
521
693
942
799
787
515
402
73
774
932
995
814
267
189
522
414
354
498
856
697
590
741
351
7
567
881
964
720
980
318
65
516
244
477
940
100
98
694
918
467
371
848
931
427
294
261
40
878
298
89
144
212
249
823
644
342
450
508
310
45
550
27
989
713
711
75
57
155
990
507
729
783
912
348
440
374
658
85
494
611
93
839
117
789
116
596
841
373
474
13
898
593
197
182
904
902
302
392
667
901
259
128
393
297
1
463
908
567
908
581
775
252
309
344
332
247
518
724
771
996
313
427
325
258
86
239
519
997
574
440
235
967
228
156
24
807
758
651
700
762
363
393
754
718
446
155
540
856
386
595
501
95
62
462
927
446
388
86
863
555
78
838
831
3
210
29
961
372
939
113
980
707
897
112
264
755
367
901
820
292
345
362
623
902
982
449
220
841
686
890
883
961
410
570
892
265
223
685
688
301
309
360
793
528
965
757
335
740
980
672
971
848
51
227
804
615
496
536
607
427
624
197
310
847
525
990
235
446
959
474
1
394
264
32
388
385
879
488
670
731
177
650
144
891
783
977
575
256
441
123
324
761
816
280
754
773
295
76
319
763
996
318
430
430
701
966
790
361
338
590
381
772
14
985
734
569
286
770
380
795
559
561
645
490
994
737
71
155
321
936
759
286
269
121
904
906
145
511
629
611
210
689
967
442
148
929
517
770
861
174
864
506
247
89
326
125
415
343
965
436
989
560
88
523
780
431
672
27
116
97
216
756
554
230
549
658
525
215
35
330
704
446
423
583
554
32
310
58
510
143
841
519
783
829
769
252
567
354
474
944
754
51
863
528
902
197
347
728
305
684
239
491
500
78
993
7
428
237
674
835
793
806
918
442
841
766
459
606
919
711
956
247
689
666
463
665
786
92
415
650
57
168
370
608
259
575
99
660
214
772
832
674
12
219
581
301
769
45
521
402
844
451
340
697
166
518
313
59
518
152
622
664
188
620
102
108
412
494
143
684
398
863
985
239
548
341
991
432
696
741
787
730
780
312
347
225
414
33
190
151
216
829
883
57
628
490
929
700
150
731
952
102
608
90
817
659
76
295
936
834
586
339
570
779
567
732
359
161
269
305
676
575
85
509
638
212
765
360
798
827
14
58
571
679
858
827
450
796
463
723
943
849
799
986
926
927
657
10
845
731
48
160
733
53
943
486
589
909
631
821
5
381
733
905
308
35
46
935
644
770
922
381
631
86
897
1000
171
68
583
718
24
793
669
481
529
542
1000
191
674
880
334
603
324
657
324
398
24
14
702
705
243
724
417
989
319
599
705
618
638
198
675
360
787
827
22
766
512
631
886
657
307
608
744
954
401
561
422
650
683
291
985
50
880
852
316
328
883
313
623
8
692
250
25
288
867
174
595
952
735
182
932
251
853
380
430
275
387
70
878
288
140
243
929
949
922
662
292
590
860
701
181
520
995
171
702
855
255
525
342
482
433
231
693
640
360
587
839
992
831
938
596
248
189
62
939
136
678
500
479
977
806
712
855
192
15
261
220
834
870
659
809
618
847
128
732
23
543
280
734
693
812
655
628
804
857
114
541
43
841
321
874
549
904
946
117
505
791
754
250
75
480
437
500
13
298
937
645
595
17
966
880
501
331
656
509
860
942
561
377
998
192
709
992
322
818
83
756
385
945
648
591
418
868
36
507
524
516
79
340
281
772
663
976
712
947
777
853
481
817
218
455
658
551
147
767
618
799
557
428
463
945
794
382
852
253
440
376
286
211
229
565
699
909
204
838
667
665
963
192
683
465
674
640
709
975
536
705
663
44
483
470
577
616
224
570
928
956
181
231
22
900
459
687
394
623
784
841
889
73
229
65
469
777
650
408
806
211
970
291
434
301
837
961
526
905
735
622
420
324
325
147
615
982
638
720
303
429
764
593
456
729
864
361
110
95
619
839
764
391
753
639
761
726
880
27
77
894
724
497
234
895
716
770
923
63
71
605
484
650
723
878
636
803
892
910
689
7
664
863
3
990
668
396
673
988
834
404
218
60
268
856
574
817
458
192
849
534
402
733
87
142
761
838
765
958
780
323
880
391
600
763
236
18
502
895
998
627
812
248
665
790
461
532
346
518
662
70
656
390
754
731
579
279
45
406
377
495
391
82
990
706
330
915
417
477
814
561
211
661
992
190
615
142
994
242
825
628
432
1000
535
312
126
483
218
186
620
992
582
734
201
883
241
539
465
789
930
56
956
560
531
440
43
653
751
859
986
557
565
140
101
138
423
987
39
415
774
216
453
417
700
656
749
224
306
399
187
196
32
84
342
707
274
754
807
404
499
631
74
115
559
837
727
73
70
686
432
17
505
686
738
99
139
789
348
249
99
759
361
784
544
731
970
614
448
190
218
368
529
610
739
88
648
957
826
950
356
88
806
625
381
853
447
485
523
347
44
837
809
352
904
784
798
456
194
97
601
737
487
687
515
167
893
894
187
112
365
837
858
357
620
451
556
152
132
739
74
615
822
940
183
711
393
12
822
707
741
832
923
643
521
28
135
912
709
172
954
458
1000
354
671
465
938
855
92
673
978
672
240
590
67
182
67
970
934
108
790
873
985
249
593
523
605
146
328
951
708
986
310
114
566
542
469
768
323
881
934
893
101
932
578
867
267
690
191
900
275
42
710
483
463
695
377
713
328
688
801
402
88
302
610
830
814
982
828
830
982
29
131
659
105
434
882
776
976
193
204
209
169
854
366
658
651
834
477
877
756
258
779
154
310
695
868
907
403
174
791
503
163
287
312
417
880
46
562
771
20
356
957
83
991
655
513
809
982
297
629
865
866
724
14
885
929
321
661
364
139
151
685
244
800
408
410
696
653
526
275
68
954
376
48
981
599
871
319
586
114
591
455
819
215
777
39
321
677
127
298
360
462
358
190
699
408
438
632
839
295
702
805
530
772
822
599
677
450
744
54
84
454
246
56
526
871
743
671
748
800
323
226
861
187
770
654
521
228
496
688
983
866
910
191
809
864
722
296
558
965
77
37
285
929
225
866
31
590
639
769
779
634
95
694
557
493
266
663
450
624
800
259
292
423
679
112
730
224
909
677
163
141
230
824
767
1
574
746
487
240
488
235
361
443
569
660
36
163
250
857
636
730
948
725
435
67
662
511
931
906
608
665
981
418
368
657
647
946
322
338
264
480
871
273
43
503
29
957
199
72
522
997
214
341
443
137
324
246
823
476
748
738
279
354
493
791
959
146
784
367
642
658
309
688
744
892
485
430
382
703
930
925
405
284
131
60
474
439
89
309
874
373
355
273
706
48
465
175
520
223
231
968
246
948
745
134
493
657
223
766
877
959
15
251
109
924
219
697
944
947
313
305
953
224
153
1
340
545
495
19
614
324
931
573
47
775
735
408
244
704
679
814
63
643
310
637
362
949
522
911
747
64
513
37
566
337
403
806
887
674
804
172
98
840
671
400
53
375
581
100
427
983
427
718
15
690
164
220
275
278
868
104
297
262
870
361
765
184
118
675
154
81
283
996
619
803
281
575
529
260
88
723
578
772
704
795
792
466
81
427
467
43
701
574
308
302
211
742
587
534
201
654
132
262
782
727
363
833
82
911
393
58
166
890
405
426
172
122
155
423
645
960
437
149
148
900
818
706
242
49
738
832
826
58
343
856
659
95
47
327
591
921
874
617
686
744
95
385
933
366
535
16
686
43
188
95
349
597
473
483
27
615
526
827
86
926
431
175
572
187
174
901
466
91
415
352
589
630
872
429
787
869
245
863
701
901
94
41
32
5
49
103
723
532
45
455
871
734
997
993
521
556
524
89
709
403
824
842
240
26
811
182
752
977
950
153
519
509
26
126
336
438
238
720
557
207
613
966
13
348
696
581
148
592
901
275
117
102
680
682
38
718
893
864
819
629
380
310
224
576
723
31
890
578
668
643
59
160
453
304
669
236
575
994
271
133
135
894
980
718
982
581
267
226
318
303
972
186
297
904
324
783
417
803
133
122
188
65
547
82
630
741
961
923
664
606
689
329
324
871
31
338
58
706
207
482
60
183
442
514
708
810
166
279
697
919
893
674
391
31
854
128
235
751
864
700
817
897
218
758
334
313
650
123
716
286
490
756
684
551
230
318
337
622
608
410
641
601
211
897
399
665
309
476
816
144
339
582
803
490
987
787
545
451
308
82
644
461
703
834
398
575
860
727
333
312
939
720
181
389
418
900
884
645
974
126
70
445
730
518
647
435
985
190
846
836
274
89
69
375
250
442
367
543
399
122
245
143
44
180
727
953
456
892
350
921
118
951
771
521
392
845
221
746
851
13
889
776
560
159
655
529
452
926
271
124
715
224
227
828
827
684
43
164
457
70
662
695
956
2
957
467
585
998
81
188
918
680
577
33
124
961
662
380
910
177
115
869
993
425
514
943
877
784
361
409
567
770
823
640
624
54
364
730
607
472
566
313
512
370
816
763
318
595
343
187
104
809
289
966
495
368
130
585
388
684
760
161
20
861
2
376
415
414
113
491
188
21
131
745
489
619
515
708
591
609
603
112
259
583
875
248
573
788
859
289
330
472
788
794
468
389
813
193
257
968
640
296
120
124
941
716
34
193
824
641
437
271
898
567
441
87
212
443
935
585
459
183
863
618
327
651
547
473
845
25
447
488
885
934
153
692
713
853
703
198
642
55
596
90
391
813
922
660
699
684
154
165
127
403
12
707
723
361
711
452
435
673
632
176
725
568
123
19
804
217
718
445
355
108
503
583
354
809
781
572
860
259
430
19
217
752
581
428
154
410
305
280
704
278
38
473
656
116
350
1
554
581
507
65
837
814
992
301
823
310
764
448
650
622
608
557
202
612
324
820
255
950
886
170
827
48
956
109
732
877
268
584
875
977
505
371
700
486
240
94
498
219
388
945
17
639
436
192
894
106
364
752
985
878
803
491
569
227
468
400
747
416
315
479
96
471
192
978
785
429
973
636
901
178
297
681
708
104
77
670
907
506
863
670
754
142
21
913
58
321
434
808
669
689
74
116
46
207
389
159
911
880
912
191
775
425
873
408
335
483
877
657
376
901
937
583
793
317
195
803
816
573
720
735
327
426
655
853
403
693
801
467
877
203
479
640
738
889
86
442
677
927
373
569
918
97
831
300
776
417
995
869
36
684
679
580
343
762
336
434
281
331
815
592
701
330
737
745
190
536
606
340
245
522
555
655
852
791
331
924
693
965
684
57
110
787
884
37
319
112
451
699
70
208
538
482
124
455
603
672
463
972
155
824
90
797
385
334
664
971
439
588
970
309
940
698
410
672
109
650
269
305
526
540
528
133
94
705
353
972
286
762
224
291
117
958
861
477
551
773
720
585
289
445
845
190
932
899
312
260
563
613
305
964
670
107
123
918
168
59
59
674
997
552
129
170
393
578
118
487
489
722
237
448
316
909
986
562
647
192
480
325
365
822
572
132
206
270
623
921
801
443
625
189
892
44
728
223
507
966
886
210
636
597
491
402
675
141
364
653
464
429
388
467
282
176
432
157
567
327
933
826
431
966
643
678
278
225
617
594
962
778
471
991
951
814
294
733
912
790
378
288
977
927
102
339
707
131
898
818
427
957
194
681
188
316
659
772
58
840
840
812
849
220
516
888
673
371
698
826
879
983
221
456
75
864
310
116
891
500
320
705
93
433
117
187
441
368
174
770
434
411
545
881
702
473
310
683
335
680
969
80
907
564
511
123
262
923
595
224
426
504
318
854
141
78
574
231
587
56
885
75
859
508
885
639
601
374
351
132
27
652
799
66
222
581
153
305
236
190
968
310
975
76
967
619
302
975
444
673
98
479
190
891
232
268
173
349
536
341
152
472
908
29
774
942
615
28
470
381
712
296
645
464
251
412
233
808
603
921
698
381
814
272
927
167
353
168
283
548
5
547
300
176
968
967
88
109
362
834
569
663
500
819
73
698
254
771
655
61
753
638
744
520
489
217
377
783
621
43
308
152
879
351
771
957
45
869
509
129
391
99
964
213
826
920
212
665
749
529
282
478
781
231
16
86
582
108
509
996
984
358
456
797
499
972
484
24
81
468
596
878
704
589
453
908
910
247
63
635
998
479
857
502
922
895
815
691
300
864
476
136
141
728
212
441
41
415
112
586
639
160
165
964
40
471
232
761
791
76
441
719
739
386
249
46
759
873
399
603
899
897
363
539
989
691
733
215
118
652
144
607
667
589
3
386
801
301
275
485
401
708
10
339
424
783
143
876
606
666
325
29
218
720
187
751
328
722
508
515
637
45
191
811
506
476
834
442
218
268
950
315
893
115
559
956
693
29
968
239
147
487
39
650
481
819
136
961
806
512
257
360
907
22
550
936
155
704
538
896
767
681
895
69
213
834
528
42
110
607
87
742
327
974
720
413
338
759
77
697
123
480
86
981
991
9
6
241
787
653
612
382
843
706
137
471
925
112
790
303
144
676
228
483
483
143
365
558
156
557
293
769
478
552
891
677
320
601
903
260
505
780
890
73
675
359
467
715
289
304
676
152
397
875
171
432
740
600
134
915
569
287
487
461
272
175
8
908
542
990
440
805
361
453
506
586
497
743
61
284
586
519
256
436
91
371
681
58
642
996
940
431
268
952
24
972
58
589
123
648
632
646
244
223
613
35
111
145
969
539
350
18
689
510
867
406
795
164
694
212
42
739
290
959
44
596
434
110
739
350
417
983
249
239
168
901
245
216
341
994
838
741
146
428
895
825
887
943
408
640
749
256
241
947
373
298
86
663
153
234
20
98
976
955
342
817
359
20
722
594
527
55
868
652
11
268
992
203
771
28
392
366
676
441
373
659
407
472
521
621
524
445
109
578
441
669
3
232
564
559
7
515
666
841
1
117
879
349
592
213
323
472
249
149
528
538
45
294
224
274
210
817
42
31
663
911
911
633
579
821
687
552
823
146
637
618
776
16
930
607
702
158
227
884
258
336
766
720
225
354
112
45
791
598
852
157
993
114
99
361
26
327
606
592
165
817
662
814
4
2
712
422
548
212
824
895
453
363
695
688
377
390
908
714
975
671
496
808
513
872
732
224
512
80
224
584
63
598
26
680
681
491
511
183
656
825
141
637
853
557
148
54
851
202
337
84
86
719
911
983
438
556
208
542
281
420
784
754
597
136
43
204
160
899
975
109
169
358
172
459
949
193
417
969
519
302
605
368
861
265
673
135
737
495
497
939
752
379
428
900
155
735
268
271
569
134
985
310
429
987
402
907
431
789
444
6
664
621
234
973
485
786
498
864
330
497
293
937
880
602
5
898
950
690
968
71
478
334
776
112
801
845
585
944
168
663
251
284
120
464
162
540
895
79
987
862
543
619
420
809
760
527
131
458
779
871
833
763
823
857
314
620
743
417
777
425
447
731
627
853
652
724
75
225
316
872
623
101
802
186
484
673
486
812
500
129
39
556
945
388
70
519
911
535
140
186
613
820
444
561
58
325
603
333
3
241
61
691
16
278
589
63
778
845
253
11
440
552
989
513
992
27
636
83
102
223
869
532
830
189
965
672
920
746
776
977
160
640
569
973
407
508
639
177
433
433
721
498
729
964
261
330
735
210
559
1
768
32
635
869
52
402
422
92
903
735
573
49
34
350
704
431
408
265
390
285
822
191
612
651
646
958
623
7
725
585
414
401
501
861
36
51
816
619
64
152
706
858
383
857
728
461
296
667
1000
574
685
994
213
612
574
271
288
484
995
778
264
821
485
326
235
972
896
9
849
7
462
543
964
262
219
86
549
764
937
37
784
454
721
35
674
283
283
262
126
103
706
203
627
774
181
223
112
64
835
651
596
718
240
615
436
551
607
502
854
531
22
766
476
612
249
780
225
476
804
558
816
494
12
496
523
895
708
686
607
587
99
7
3
110
52
930
439
917
723
912
135
559
47
313
652
382
26
14
241
3
192
301
256
209
856
109
813
893
986
441
897
309
630
623
539
223
818
65
531
521
780
373
363
449
148
980
747
922
513
957
108
313
351
265
900
676
881
566
477
648
820
586
487
135
395
209
480
500
204
662
449
125
667
646
580
145
901
784
304
650
825
530
120
837
142
534
313
458
693
544
826
367
314
82
81
173
959
529
430
764
355
727
290
965
834
908
735
724
360
566
466
943
934
882
642
594
737
429
982
750
374
209
972
1000
545
491
701
53
312
556
110
437
872
190
948
889
435
709
779
423
354
355
729
76
117
153
502
32
226
683
379
144
243
796
541
899
483
965
63
492
943
857
375
19
47
698
797
730
711
179
6
934
32
987
934
413
655
501
654
130
474
873
266
625
871
446
641
728
152
487
196
113
164
246
501
807
346
671
628
940
627
487
641
937
653
962
516
853
788
371
78
748
228
88
255
831
343
282
75
626
59
357
317
513
690
677
708
872
136
603
828
470
764
548
682
884
634
568
4
521
909
10
929
222
472
865
621
558
770
751
808
620
855
936
950
580
458
388
941
280
669
616
822
897
455
983
992
38
843
233
762
706
18
247
948
218
35
360
359
509
52
199
687
280
257
630
302
57
706
299
897
568
313
258
753
806
171
323
639
756
140
152
992
64
423
505
109
824
444
775
492
308
890
709
398
637
221
133
879
366
296
656
304
465
35
555
417
420
160
472
485
31
176
142
976
47
687
76
525
905
37
38
636
748
52
182
691
338
351
915
366
668
294
928
450
869
130
317
449
478
334
413
32
272
432
760
579
606
831
642
603
696
313
728
802
297
880
670
840
63
579
961
741
188
788
950
959
66
203
685
755
369
409
164
505
341
516
666
988
130
780
41
443
654
540
249
464
857
58
960
360
182
76
761
653
775
969
322
823
209
401
935
199
505
289
988
202
843
705
239
719
635
71
294
496
559
615
261
861
762
621
407
973
667
424
549
43
725
452
49
675
39
895
531
538
960
706
851
75
660
742
440
854
211
794
868
462
854
166
357
562
40
222
16
828
254
36
790
12
845
855
443
323
856
610
423
604
339
110
130
580
735
877
926
545
712
800
205
449
254
910
984
272
912
638
774
957
854
823
925
949
771
623
266
524
748
208
602
740
919
800
570
760
111
162
415
760
700
145
483
374
588
262
626
892
551
540
236
2
213
114
354
898
539
100
123
17
61
319
901
486
20
319
495
594
215
993
301
276
636
795
646
613
899
187
227
833
85
501
357
174
826
823
677
184
395
859
109
795
122
20
46
509
641
86
259
579
398
909
514
933
322
572
668
909
794
308
872
570
852
260
572
468
92
871
188
282
871
274
708
638
217
571
959
795
336
288
964
578
715
630
642
122
595
359
76
525
41
265
707
452
904
234
135
135
733
854
606
940
95
348
933
891
809
392
307
75
345
15
409
905
966
356
288
543
268
546
718
644
419
319
122
767
765
283
695
391
450
959
71
555
362
783
725
490
17
299
308
517
976
648
303
672
982
307
686
191
324
732
790
26
816
208
175
44
433
721
134
389
836
138
381
787
953
313
597
242
335
981
780
655
230
499
723
375
158
518
570
611
355
675
97
907
576
256
269
620
635
577
650
430
535
523
480
438
197
270
532
354
610
732
443
577
687
694
818
737
241
886
280
393
260
493
583
157
102
725
78
444
334
111
87
429
657
97
199
571
795
418
124
209
260
437
470
359
631
318
773
796
367
460
134
917
181
111
93
682
700
428
726
138
481
576
518
636
434
610
245
883
382
22
977
396
753
798
291
748
432
793
11
251
346
985
39
351
701
965
402
73
681
578
212
308
22
227
82
594
138
753
440
327
346
176
350
989
330
820
644
99
176
525
655
49
197
700
353
901
282
952
477
517
705
901
88
103
153
590
64
364
234
573
209
984
897
378
51
73
974
536
875
556
544
786
234
226
937
378
4
304
959
628
4
944
387
988
383
23
823
969
227
981
797
142
321
184
383
354
587
524
639
997
492
492
943
854
644
998
614
621
849
577
285
657
155
432
139
904
782
982
490
211
399
177
173
477
879
880
857
135
551
36
721
496
965
186
884
399
351
104
598
404
295
13
519
517
610
863
271
43
55
614
128
721
302
345
885
712
556
268
895
379
276
404
783
54
779
767
614
124
854
394
109
871
156
430
70
443
829
821
340
234
728
832
476
720
637
753
802
510
86
662
664
952
727
43
525
150
736
390
995
648
390
671
13
374
772
668
192
634
566
753
750
100
14
644
551
760
416
13
542
737
7
613
238
746
646
776
14
700
506
675
633
647
891
783
849
773
371
331
922
697
650
363
595
663
991
204
395
489
546
791
138
381
642
283
167
759
946
857
152
295
426
390
261
243
198
960
121
975
685
794
275
352
994
273
766
198
23
129
85
659
661
781
950
719
346
64
292
420
364
251
401
674
560
388
363
635
510
411
833
731
814
438
686
380
875
922
293
343
442
51
987
393
208
915
821
735
991
455
816
162
345
159
759
462
990
788
61
996
101
158
274
678
337
159
704
823
450
723
945
456
473
436
259
695
774
830
495
794
708
182
616
249
199
804
982
150
376
412
239
604
272
131
53
635
682
104
930
434
525
461
82
216
410
634
607
213
676
585
270
553
873
568
816
849
487
451
54
322
755
469
927
229
559
510
389
144
734
677
213
380
581
952
749
486
45
196
290
253
788
625
918
140
349
156
603
363
673
689
920
144
591
490
928
779
198
310
645
268
706
781
92
189
38
942
27
416
341
429
377
41
628
999
839
562
973
583
290
997
17
961
449
88
79
511
698
177
822
228
113
630
246
317
488
949
782
263
633
798
363
206
246
236
689
824
475
383
298
702
641
587
720
339
665
921
698
509
481
507
429
732
50
713
808
931
646
765
929
236
765
676
453
30
346
690
23
1
973
638
581
951
429
677
321
553
216
928
9
87
680
395
585
399
968
396
261
9
326
451
850
321
205
201
654
336
196
467
74
182
92
2
21
976
263
841
341
273
102
401
708
406
495
654
881
508
165
757
756
928
248
486
441
25
662
737
392
60
645
99
760
987
367
214
249
507
650
261
179
632
646
365
931
373
798
166
644
884
515
109
840
548
785
210
641
54
377
218
399
438
371
101
807
464
519
738
69
475
310
551
259
7
716
563
800
74
265
21
897
981
504
299
820
965
903
278
207
715
966
753
890
74
642
736
332
812
118
688
444
386
752
831
423
48
203
687
231
457
755
905
558
232
511
250
377
502
351
357
729
568
524
484
992
246
317
24
674
342
490
995
739
945
82
53
578
954
740
856
981
269
940
741
910
631
351
757
430
962
111
81
904
335
969
693
419
467
102
8
481
694
884
826
207
925
76
578
592
5
680
353
952
239
186
568
297
582
57
525
252
119
83
243
57
46
642
157
398
291
54
265
39
307
877
252
730
290
495
999
439
334
316
600
741
515
681
691
94
984
919
471
831
471
31
253
909
448
158
755
848
379
337
667
858
125
40
169
807
569
655
218
592
964
358
397
444
344
817
56
904
572
765
263
489
232
775
835
598
655
500
324
806
800
227
399
504
574
846
466
797
474
240
766
672
78
652
395
708
13
818
897
24
513
503
114
740
582
633
976
953
55
374
766
101
600
368
214
678
771
834
443
401
777
374
388
345
554
159
836
30
25
620
620
148
241
905
829
411
164
114
130
9
458
799
404
286
605
271
955
558
990
16
481
410
429
936
858
460
737
174
528
309
543
4
940
328
552
641
94
1
829
858
664
781
504
967
591
811
481
78
308
374
381
543
959
686
932
128
62
452
474
804
78
652
67
970
271
182
940
567
26
297
637
831
560
286
313
329
560
448
48
559
822
243
935
611
428
408
962
290
316
985
386
687
376
420
375
372
362
349
195
263
962
241
99
768
366
808
391
953
538
975
835
371
168
255
697
628
24
558
241
972
948
847
401
970
324
535
699
797
185
200
235
816
505
39
678
861
396
424
783
121
97
95
891
562
654
801
234
619
140
658
660
248
121
96
530
528
817
27
170
693
73
795
206
856
818
530
534
708
177
772
474
172
765
617
845
326
985
161
353
893
345
765
648
284
904
453
897
442
977
840
495
750
107
91
815
846
167
797
523
498
154
72
43
609
878
880
217
6
279
335
61
950
551
706
797
157
603
954
14
722
632
880
893
530
756
400
926
613
717
32
441
461
638
394
569
440
689
434
973
352
325
123
787
641
436
569
734
918
334
838
313
277
48
319
282
345
760
97
397
138
574
653
524
553
6
185
783
782
722
963
341
24
101
465
844
585
107
440
241
916
847
697
924
142
912
148
712
393
273
578
175
592
78
665
194
403
149
31
468
708
384
462
863
348
533
16
146
826
25
397
629
360
603
871
699
952
561
975
48
129
249
468
633
619
351
275
57
505
179
685
117
344
815
667
712
319
510
984
174
744
169
742
358
138
97
91
496
661
467
80
908
901
76
79
163
874
86
756
147
659
371
334
834
219
998
726
246
857
145
212
190
215
458
498
913
884
437
379
704
524
963
715
846
828
469
119
17
811
594
563
427
664
368
118
489
864
114
134
822
314
288
512
707
29
420
144
920
299
165
189
22
311
230
657
783
932
605
647
395
717
99
697
532
261
632
905
117
661
150
900
851
223
289
245
201
541
109
603
526
712
334
804
489
789
524
7
700
512
511
286
789
996
278
314
773
324
139
306
578
939
755
982
112
311
12
157
76
590
275
486
12
901
835
984
758
438
662
248
562
782
702
675
574
711
58
600
373
303
336
951
453
327
343
958
309
746
94
460
886
658
782
577
672
163
968
858
630
432
749
537
513
744
68
182
845
365
659
873
976
918
335
6
204
348
457
959
878
648
463
166
793
279
279
573
934
626
270
71
827
858
162
269
303
322
12
861
511
938
888
958
386
98
367
943
574
270
366
838
55
839
96
671
288
703
119
75
729
819
593
179
24
190
780
865
974
741
839
656
637
177
684
791
566
177
482
565
238
206
930
604
177
853
33
586
155
803
524
828
115
489
420
296
126
14
469
838
799
153
392
865
30
127
910
294
888
333
497
270
712
458
701
92
244
185
642
819
688
244
8
205
149
671
453
988
796
1
808
81
460
526
940
844
86
919
397
481
626
284
199
577
503
121
282
897
731
802
129
914
154
884
45
951
9
1000
426
419
234
132
73
431
489
763
317
965
875
807
241
826
705
227
791
895
510
930
932
544
646
893
301
627
513
443
987
173
368
283
188
746
205
168
470
461
947
89
307
828
486
454
343
876
699
32
598
541
682
355
423
919
839
876
579
762
380
411
233
576
12
315
25
765
317
378
616
539
363
680
285
714
615
468
206
115
76
685
12
14
920
955
147
946
562
652
264
255
243
210
650
952
715
944
237
807
550
509
266
124
914
541
102
296
407
186
976
80
695
979
695
512
227
973
471
510
278
113
43
505
928
603
239
922
361
395
961
883
35
13
302
323
865
635
224
595
549
713
739
724
557
457
30
709
117
186
347
637
723
892
756
959
315
359
56
926
313
828
248
79
78
516
957
688
248
267
120
190
606
208
63
31
797
605
817
765
263
3
163
920
211
370
411
943
304
159
380
457
40
162
387
203
446
549
302
271
802
712
899
676
616
419
794
879
933
292
228
606
403
816
853
195
199
934
439
745
31
763
132
556
987
143
482
678
888
512
975
925
153
90
197
369
929
467
95
154
366
467
3
442
493
595
254
469
94
476
217
952
333
416
545
548
693
657
274
689
916
907
161
854
252
506
317
270
299
888
748
117
121
96
905
534
111
738
710
96
309
152
820
27
464
513
81
31
171
298
219
581
837
805
827
419
56
420
613
265
223
913
689
16
849
357
415
217
107
170
929
204
580
386
42
146
62
508
602
119
523
190
813
500
23
573
202
184
466
282
133
589
532
7
809
950
73
85
686
173
511
694
93
371
519
126
654
280
364
73
788
925
815
49
167
289
448
846
506
223
509
412
500
533
234
657
995
985
685
458
742
947
685
584
208
552
428
345
919
528
671
516
806
308
200
504
829
639
462
751
935
667
776
127
58
401
604
404
422
515
690
947
927
719
723
439
716
257
357
799
354
701
64
435
227
855
289
662
864
477
818
384
891
511
102
125
250
716
522
131
102
883
209
499
608
328
107
279
349
978
410
34
742
152
373
633
200
125
773
927
177
618
954
525
463
662
504
110
264
683
68
600
674
235
721
991
121
537
613
893
237
861
311
634
396
862
388
277
865
135
292
66
88
655
518
623
158
240
363
676
916
893
361
239
447
645
563
912
975
557
458
441
260
641
211
735
671
772
327
312
27
103
566
528
158
108
149
9
885
135
863
435
790
283
647
173
700
472
674
311
302
816
708
297
662
810
744
770
725
367
553
119
71
434
755
10
262
819
505
378
184
801
670
396
624
343
647
517
219
976
596
987
555
980
930
155
900
51
343
482
537
505
539
428
133
960
93
275
919
597
538
508
707
317
869
599
950
573
138
906
94
185
718
935
458
225
97
371
754
911
793
175
162
507
81
478
520
431
750
220
860
113
27
234
952
680
151
988
978
194
805
287
764
4
776
32
208
754
737
566
686
726
46
219
250
484
770
430
375
252
961
190
861
47
353
672
243
361
242
549
737
103
322
950
309
584
595
987
927
572
341
471
440
803
277
808
806
921
701
25
601
472
395
553
813
482
528
695
962
108
595
682
462
84
697
816
994
937
92
525
357
502
12
28
904
844
197
959
205
513
444
500
25
28
776
507
48
550
474
653
28
996
316
836
230
262
864
975
65
793
519
838
815
460
375
740
214
620
607
772
449
244
256
743
821
227
759
157
915
328
553
349
632
726
357
389
851
816
523
468
791
722
963
272
389
969
720
266
110
903
215
933
688
726
551
709
178
491
49
826
606
983
341
262
216
183
943
774
1
932
228
329
759
495
90
269
391
939
417
273
544
640
688
469
974
773
611
80
216
344
773
625
230
168
659
18
707
232
263
864
615
14
732
865
416
698
143
563
60
678
560
531
537
379
967
754
281
243
556
173
158
650
103
270
139
667
853
121
994
774
401
595
521
142
575
195
866
598
193
619
503
168
875
265
282
946
825
760
764
115
557
107
749
106
130
149
500
290
318
917
665
45
519
853
328
779
927
38
911
255
628
329
906
584
873
752
504
375
675
568
271
824
303
208
924
978
980
641
126
19
279
826
984
167
298
602
565
729
675
745
349
888
909
950
976
66
252
171
65
81
633
118
109
846
719
675
725
90
194
681
547
405
821
809
124
955
614
259
69
346
769
589
511
488
561
299
647
737
550
699
819
287
824
214
54
528
925
488
476
67
345
579
335
212
162
98
649
961
481
331
621
991
809
298
62
683
422
195
25
974
51
862
724
703
942
784
614
171
461
570
193
820
910
87
682
312
189
164
245
783
228
290
834
740
887
844
43
853
139
151
593
930
934
135
189
451
63
378
542
367
745
199
262
288
394
715
223
830
227
942
701
613
940
705
292
343
678
475
162
493
919
319
657
304
682
784
691
243
700
927
599
575
794
669
352
424
702
301
112
544
76
309
142
38
138
620
937
432
782
8
340
827
521
677
49
362
730
972
623
806
117
748
569
963
186
199
584
440
761
827
347
525
285
802
508
96
716
187
707
976
311
356
506
674
504
476
77
204
372
105
404
561
884
797
514
481
279
98
956
291
388
485
345
34
679
593
286
570
124
543
422
994
733
324
641
560
729
931
724
289
910
431
837
547
690
174
297
205
676
171
4
415
421
998
767
670
141
716
495
551
805
942
924
510
964
636
68
84
99
163
99
204
64
885
712
600
401
881
336
908
938
385
727
725
80
184
594
762
638
536
913
228
876
132
464
759
705
228
1
533
562
390
136
684
619
193
666
780
371
822
623
904
555
779
750
847
600
773
453
19
499
476
559
949
67
989
337
651
35
781
336
742
352
375
546
883
331
218
285
46
1000
62
983
124
156
621
751
607
93
480
189
421
947
989
428
516
900
392
776
473
252
507
696
213
494
109
17
892
80
560
465
184
543
329
587
452
979
827
122
773
679
313
694
364
871
782
467
743
129
357
84
851
964
185
724
479
544
764
662
516
275
400
15
982
174
772
715
305
587
613
894
43
851
151
977
62
861
288
813
250
423
417
21
955
427
450
629
713
588
877
721
286
504
607
517
659
288
963
772
472
831
413
900
286
101
553
498
187
480
395
267
524
297
247
449
958
142
326
976
600
492
796
513
737
440
79
428
542
68
152
545
191
67
39
201
28
791
829
733
763
798
413
32
213
301
548
210
748
688
12
736
444
395
373
631
923
993
344
440
990
290
775
719
484
621
87
749
193
276
356
7
317
166
301
692
681
453
179
273
878
818
922
573
537
460
904
397
191
713
410
85
574
385
204
639
740
510
607
308
96
274
148
563
272
248
140
441
811
924
529
114
782
799
964
393
773
867
324
561
201
446
865
592
499
746
757
324
550
398
6
624
673
491
672
895
591
296
859
568
54
971
156
358
227
3
86
137
507
62
646
250
193
233
219
992
288
291
950
728
787
822
213
843
981
488
912
313
674
680
203
187
733
123
661
667
25
744
51
823
678
257
657
168
513
468
509
478
702
271
1
253
941
651
89
179
929
810
693
778
505
666
964
218
591
616
818
874
990
376
485
841
166
171
860
49
381
297
148
6
919
326
588
513
699
806
90
835
271
353
241
972
43
446
446
620
600
76
959
375
143
627
151
500
408
31
663
353
909
274
18
156
964
801
850
343
783
221
176
171
845
987
8
622
873
412
198
872
5
456
597
763
175
194
494
814
265
819
824
222
376
264
822
238
380
302
647
67
30
64
973
121
64
429
733
81
97
689
979
700
631
215
311
720
151
582
425
557
135
769
143
672
746
595
686
644
159
505
59
7
723
201
183
867
648
367
762
146
482
911
989
68
430
761
873
149
471
195
355
545
312
113
407
52
437
464
999
462
917
217
146
248
180
910
248
752
624
825
618
139
855
249
338
398
288
130
631
567
76
676
481
191
611
77
575
738
345
587
522
324
322
685
948
646
579
849
258
452
557
795
811
229
748
690
769
63
74
919
133
741
906
503
328
292
221
131
229
86
114
105
728
521
770
157
745
99
49
270
114
395
41
100
915
8
295
566
636
107
943
477
16
572
608
820
525
73
827
486
260
630
653
735
405
351
309
688
559
51
997
487
938
430
442
522
877
317
375
333
125
236
883
333
125
240
497
538
853
485
971
837
816
537
910
175
504
733
823
204
909
260
694
590
734
746
881
172
589
320
10
594
726
45
526
885
904
585
760
669
519
747
666
365
487
299
891
757
237
58
451
807
815
809
108
413
303
39
481
111
704
829
8
385
960
498
189
332
15
747
914
921
703
138
263
981
756
692
932
352
427
298
267
341
55
368
987
746
396
932
848
224
705
882
860
697
350
664
186
860
227
57
518
535
336
43
562
824
683
972
218
518
104
361
208
192
671
711
188
806
135
646
817
341
218
564
889
260
646
694
371
76
541
168
129
379
141
248
178
9
856
323
552
909
355
701
249
359
718
470
266
946
667
918
436
610
586
85
636
565
299
55
946
694
571
450
507
287
917
481
154
621
574
561
380
925
426
168
831
753
275
158
305
629
76
165
210
119
680
105
517
148
184
10
510
465
174
620
79
651
76
207
827
966
297
83
59
619
64
122
536
764
698
423
999
636
547
912
588
764
971
308
708
114
572
352
360
368
330
637
639
262
429
675
942
67
336
68
374
846
121
784
15
67
123
567
986
539
776
454
700
378
843
228
300
918
356
383
44
40
271
836
316
398
222
206
15
407
793
924
316
666
400
843
164
682
224
304
433
411
630
776
351
99
165
325
688
393
525
144
165
461
862
315
772
168
420
743
947
934
756
991
96
3
754
315
553
285
214
777
865
793
59
726
257
992
107
306
217
27
885
902
428
893
230
575
668
103
247
641
890
299
742
493
419
543
437
648
100
765
104
816
254
914
258
427
534
923
204
709
80
493
34
876
944
56
645
406
367
993
971
712
362
360
387
732
4
890
699
79
997
38
205
456
345
152
74
953
439
677
678
718
464
426
587
220
784
572
650
25
894
983
939
520
606
927
390
545
353
967
636
237
893
99
886
693
243
750
675
244
359
335
3
244
943
451
648
256
778
644
438
464
144
910
862
922
212
757
703
1000
771
672
291
7
311
342
574
504
248
787
452
276
51
896
722
250
124
465
533
954
565
990
485
209
339
894
354
867
974
804
978
348
642
780
997
627
335
109
12
106
932
388
187
478
126
142
517
324
542
158
746
664
901
32
428
85
737
181
717
435
10
714
255
221
942
94
984
53
529
507
766
467
478
191
461
405
797
769
522
508
810
799
199
96
205
325
199
396
590
233
977
133
121
574
906
85
15
855
218
560
116
464
975
71
260
65
317
653
861
755
896
367
7
261
692
554
362
249
397
309
351
67
169
440
411
908
829
940
590
386
508
600
408
40
358
933
674
75
167
31
941
980
636
319
330
299
628
417
777
934
925
499
134
850
876
598
145
922
887
268
55
5
850
909
477
986
473
855
228
698
959
978
976
103
644
212
986
76
995
867
674
453
869
29
419
734
13
660
870
4
603
233
972
170
25
864
89
554
212
946
865
286
584
231
959
678
48
142
340
949
582
874
650
252
622
490
14
951
861
779
772
473
100
135
856
889
452
86
872
555
568
380
557
786
538
748
926
534
768
534
307
489
460
428
476
836
271
393
258
154
359
756
298
569
298
106
187
368
283
301
750
672
631
410
129
703
834
871
197
388
331
467
1
762
699
17
147
704
224
801
484
5
635
834
13
707
351
64
684
916
752
444
618
15
844
632
346
318
163
752
863
725
942
246
628
862
348
361
187
531
90
218
723
18
795
738
718
970
342
909
828
102
775
15
264
935
513
494
246
151
304
16
527
914
798
230
635
681
652
392
197
607
807
729
666
650
957
973
817
859
225
976
628
153
798
688
555
80
556
65
723
679
786
682
293
586
659
905
99
945
531
489
661
518
26
388
868
639
538
366
923
287
19
736
644
610
894
163
854
708
513
39
358
302
799
333
5
250
662
212
380
486
301
953
994
80
738
850
208
600
792
860
731
828
247
741
258
231
115
278
703
241
795
8
506
556
356
535
734
168
390
119
11
775
649
745
846
528
152
265
597
859
593
559
127
214
630
833
193
144
89
361
748
83
194
966
624
582
701
503
523
479
189
450
848
698
854
462
653
947
830
415
936
550
472
21
555
83
33
585
284
250
867
838
916
672
637
74
857
843
975
22
370
567
736
955
461
587
264
573
438
956
64
96
323
953
906
801
628
971
649
7
498
879
23
90
840
793
187
678
873
83
123
619
471
686
856
640
783
492
19
899
866
645
506
763
513
85
849
248
997
568
449
495
206
688
5
559
538
136
304
562
940
550
57
974
708
831
589
341
2
718
21
341
539
759
47
414
624
539
524
547
460
205
874
30
703
820
727
103
339
108
343
471
265
459
68
598
388
861
508
547
711
597
162
867
557
130
948
726
97
581
454
11
331
610
771
629
977
303
427
607
61
891
317
865
573
708
483
746
234
869
285
477
299
517
797
740
312
366
220
449
900
482
750
628
50
898
591
44
731
708
757
833
435
750
895
938
944
842
582
588
622
806
512
406
602
203
465
1
542
783
255
36
993
117
650
856
52
823
831
715
655
45
137
530
782
597
657
876
891
274
755
626
70
352
762
238
792
244
865
197
635
587
703
535
28
801
299
662
876
274
724
969
941
925
352
793
944
795
606
375
697
743
915
368
982
40
915
333
526
870
79
367
180
316
603
726
313
379
791
819
534
19
184
467
60
956
397
664
455
223
916
396
996
39
156
241
630
625
716
582
343
983
45
274
765
515
765
510
17
572
452
452
121
705
996
909
780
402
585
991
973
580
936
187
607
959
670
763
400
708
599
730
306
433
281
879
34
679
396
544
630
564
377
828
683
107
260
982
433
82
885
536
953
950
454
538
617
533
903
961
276
608
754
954
900
547
861
81
985
433
983
131
668
842
217
401
329
618
81
559
442
525
528
330
574
609
189
297
713
481
968
41
583
484
441
689
176
907
634
694
524
967
424
354
635
289
212
109
597
4
517
152
88
373
851
277
918
82
558
133
765
933
306
307
973
706
558
697
148
380
700
679
266
721
402
471
227
526
481
912
64
397
763
610
527
38
399
15
396
459
673
547
661
396
596
328
669
480
462
401
437
394
136
627
585
322
22
544
794
498
557
594
218
543
602
69
70
597
272
19
423
948
599
139
388
966
920
358
949
715
33
452
168
468
966
488
920
764
685
333
43
319
170
798
565
296
91
155
692
955
725
961
348
688
857
112
366
799
169
6
888
151
991
561
114
990
385
553
322
846
222
431
1
364
288
327
995
373
507
430
813
240
13
312
625
809
183
44
30
820
708
154
347
725
466
569
93
245
236
688
260
854
272
653
222
603
400
685
400
341
537
96
310
461
495
200
249
740
526
896
664
696
284
127
212
200
815
775
612
692
728
813
669
501
912
670
241
200
54
870
532
871
721
943
794
413
977
520
423
768
310
276
485
46
190
108
883
30
686
511
764
495
417
634
253
102
538
904
287
349
640
421
124
235
148
550
126
823
316
284
490
850
936
949
972
910
675
813
14
487
340
965
371
300
421
623
40
18
993
658
238
364
429
708
250
47
392
736
190
761
265
234
111
670
534
605
455
465
605
405
503
31
215
260
385
263
902
254
178
337
948
508
831
24
861
481
939
268
708
258
912
289
572
694
686
952
973
866
941
988
373
666
728
933
745
776
525
329
783
478
991
806
532
939
117
162
74
659
41
447
477
761
534
368
330
677
38
16
113
552
204
76
64
414
39
147
427
726
181
760
727
460
280
19
211
235
174
503
699
375
342
222
891
984
128
4
576
245
334
587
309
194
113
108
860
173
497
429
138
982
554
911
356
558
874
852
919
614
59
758
888
274
926
64
904
201
372
662
138
108
264
860
169
795
216
962
706
91
864
714
703
150
54
265
727
554
430
143
439
617
21
966
607
51
789
275
418
930
570
909
732
491
468
804
555
843
577
983
222
112
838
737
712
893
944
704
56
137
490
631
28
745
955
80
166
249
707
239
726
875
919
324
316
230
212
724
842
574
852
195
858
389
549
900
587
511
238
40
691
632
777
141
302
348
115
812
12
302
347
911
210
135
34
648
685
136
316
71
421
486
629
770
312
958
291
402
903
761
842
794
334
985
751
15
366
761
66
723
757
829
631
573
276
647
715
190
318
596
330
499
451
98
4
742
186
657
519
603
947
936
956
226
518
991
407
797
187
693
897
563
472
177
351
823
551
888
968
478
482
434
959
178
870
969
421
975
900
292
81
654
545
186
712
608
329
778
332
171
234
864
676
860
217
215
36
828
324
828
279
163
574
14
743
352
644
953
751
374
855
57
711
363
124
99
77
758
377
536
1000
144
349
894
159
767
832
380
61
820
238
127
130
171
725
600
981
147
276
718
625
357
836
203
770
320
28
521
992
815
26
502
330
478
883
438
748
144
969
968
17
839
234
587
772
112
647
958
911
634
558
504
19
567
683
959
228
266
91
633
772
267
860
188
484
377
71
577
701
908
381
681
319
735
741
851
243
925
730
215
132
135
577
141
84
839
197
697
914
721
450
279
749
232
413
863
919
422
667
451
586
617
456
418
75
413
120
354
644
786
393
966
286
785
973
306
232
416
302
354
996
850
613
537
169
985
138
285
691
756
820
155
991
313
6
321
201
330
357
524
653
263
681
630
980
340
437
39
469
412
453
101
724
588
777
543
335
734
633
686
4
513
205
866
482
614
299
68
780
242
3
228
298
715
115
54
966
239
471
506
975
532
305
261
420
11
397
575
9
654
117
995
15
512
403
239
814
53
350
419
680
201
369
480
981
948
788
374
567
911
394
10
939
38
616
475
715
960
1000
366
47
159
147
328
881
183
530
41
382
671
453
4
420
804
965
383
743
118
719
119
354
335
592
254
643
958
413
127
41
911
254
691
305
433
598
714
68
756
121
41
936
856
969
376
277
687
197
333
787
882
443
564
70
850
26
855
792
561
400
10
367
98
287
181
778
210
884
81
893
695
252
143
533
432
362
296
661
274
306
471
249
808
869
343
811
216
987
104
101
66
623
241
191
884
251
409
997
800
430
483
335
382
929
781
753
7
485
284
719
774
561
379
218
17
374
302
450
921
99
983
124
612
376
439
779
384
143
207
677
368
400
582
82
52
709
548
148
553
117
407
206
427
703
33
6
100
149
605
315
742
576
424
341
470
368
134
652
339
870
244
607
462
666
383
833
976
589
93
955
258
748
330
594
2
633
4
669
259
803
91
115
554
727
823
486
513
129
444
327
233
566
854
802
794
35
211
851
899
128
251
54
609
613
601
444
544
361
904
779
717
210
881
116
392
708
801
136
929
674
989
308
670
162
104
895
262
720
948
764
721
830
434
174
736
984
204
11
371
193
92
440
373
604
235
572
755
528
222
538
188
413
61
320
995
200
129
781
235
67
508
616
432
776
268
354
1
701
346
114
321
176
618
563
697
934
656
394
171
309
448
697
255
313
44
805
163
904
699
517
79
525
572
172
301
500
484
648
842
961
505
250
248
788
429
387
892
457
248
85
6
781
857
707
62
308
84
655
864
495
46
464
934
871
570
464
303
121
48
83
861
350
722
957
773
885
814
243
294
589
325
911
520
47
607
332
217
962
3
205
896
757
944
683
743
686
911
600
811
723
558
870
166
135
146
426
274
886
109
584
24
3
260
331
180
579
641
843
975
377
474
473
784
860
28
580
531
73
463
809
527
985
875
860
960
797
827
371
140
225
643
246
892
980
602
672
217
482
960
97
449
358
437
645
654
421
372
806
934
638
290
747
664
60
12
251
386
816
760
138
266
33
942
975
553
3
422
56
437
990
127
873
82
821
767
817
353
825
313
396
974
707
626
48
386
704
275
549
613
709
182
71
797
90
175
198
906
612
927
579
284
227
34
455
356
456
194
987
826
791
531
168
92
803
113
124
491
658
646
772
179
317
110
129
129
9
859
36
752
495
313
732
140
208
914
463
764
636
474
289
732
189
365
369
422
370
277
218
341
278
423
912
584
337
140
744
154
685
805
583
691
843
871
87
897
99
603
935
21
582
804
484
320
111
398
568
323
745
265
707
53
413
110
641
126
113
489
942
757
984
320
423
283
945
346
213
755
715
55
666
532
768
494
702
550
182
276
805
153
383
821
651
930
535
550
268
997
670
290
703
567
686
657
398
445
39
541
861
289
280
101
783
108
591
884
427
463
135
783
983
303
328
522
597
146
121
316
949
618
999
133
577
946
677
717
634
108
410
176
388
757
431
464
585
931
272
516
741
809
621
171
516
470
940
255
631
682
280
348
145
235
595
864
547
243
391
994
807
118
735
990
432
658
471
22
622
772
26
548
807
911
281
732
223
187
867
952
677
507
636
838
328
759
242
622
144
290
506
782
665
393
688
104
843
543
876
320
28
453
465
427
615
793
63
622
474
605
270
572
52
17
456
374
941
854
51
142
813
147
882
621
800
320
784
619
855
72
49
331
106
564
268
807
967
551
787
938
586
515
293
327
264
717
29
321
606
280
742
290
523
99
753
996
665
414
479
483
515
328
323
474
161
434
84
717
718
973
964
43
468
631
791
172
69
158
299
462
580
483
186
861
636
905
174
292
848
220
520
586
360
374
221
868
579
338
699
982
263
413
865
143
516
115
301
527
768
115
741
886
464
437
185
626
18
296
711
990
591
465
540
126
344
62
955
855
167
969
443
888
280
912
836
107
760
361
266
266
761
32
494
125
162
734
513
620
404
716
380
119
559
462
911
211
14
93
184
754
728
153
853
105
717
571
864
549
259
14
511
944
349
696
739
540
89
923
199
688
13
327
847
955
866
763
839
713
937
327
20
878
902
813
586
856
30
173
399
145
744
259
961
281
783
179
331
961
627
106
65
283
413
252
861
973
337
63
715
382
376
344
279
797
242
186
576
331
674
53
417
219
517
340
622
891
571
21
675
575
835
771
512
503
631
70
955
47
36
353
714
194
218
250
990
849
551
288
449
361
843
224
741
556
596
345
799
268
23
660
860
62
407
892
555
391
524
567
384
897
33
323
640
964
150
740
147
901
465
633
180
336
457
745
606
487
109
230
571
9
59
124
39
983
878
263
110
475
387
734
316
794
425
17
28
198
86
405
715
369
284
192
9
371
405
346
476
210
939
101
516
306
257
959
53
418
83
89
529
565
821
7
278
505
606
732
493
202
844
294
886
470
57
617
598
730
28
298
112
364
622
739
685
669
157
418
318
855
868
831
387
792
846
772
846
500
789
178
326
437
73
722
581
744
913
701
446
491
865
537
893
858
491
379
822
913
809
892
951
324
43
295
521
910
265
109
590
394
777
875
344
127
428
329
208
812
646
96
546
464
637
34
376
942
70
740
842
384
581
598
151
791
592
971
309
832
279
786
263
655
979
809
989
115
998
391
664
390
546
279
298
364
491
420
120
536
725
302
551
446
204
511
828
787
134
626
214
428
351
511
245
547
686
337
677
967
984
379
592
551
485
766
671
228
484
853
750
802
551
836
623
209
79
551
486
305
626
143
564
569
319
428
236
337
588
336
395
332
625
769
887
238
247
581
614
83
328
147
275
971
526
179
821
512
826
15
346
931
324
615
592
417
763
861
196
741
548
610
549
546
371
101
447
28
111
969
715
867
373
138
658
419
901
264
471
153
85
263
734
234
990
680
720
977
617
314
541
623
617
544
68
491
317
288
179
142
688
363
114
595
853
310
627
990
846
401
188
372
571
651
706
403
352
120
98
882
33
718
583
950
309
3
745
697
873
177
259
711
998
599
666
781
369
663
749
572
351
801
846
582
374
719
929
137
810
693
385
443
499
925
223
990
121
489
842
704
695
359
627
285
809
384
346
106
633
840
746
922
361
357
805
349
509
623
811
781
391
232
791
939
196
461
892
759
303
542
935
665
860
224
754
598
216
9
917
335
453
496
58
743
184
671
383
626
722
818
880
711
966
979
358
164
622
515
747
725
876
396
13
201
293
278
635
582
473
317
837
488
978
921
665
7
125
333
578
231
535
997
417
978
698
179
500
221
446
195
108
759
907
881
828
512
443
697
54
626
83
916
422
260
180
911
154
531
391
449
44
584
557
271
332
190
758
924
788
562
630
17
155
331
26
573
494
730
213
136
79
91
121
650
254
687
599
890
33
802
230
421
317
681
28
608
295
652
275
235
983
287
790
658
870
964
199
204
333
527
131
794
828
74
826
308
849
66
332
287
304
53
328
972
281
333
623
513
117
753
552
414
328
684
810
949
226
931
745
310
976
970
782
720
465
418
429
596
559
126
268
148
274
587
457
427
899
642
505
967
379
607
520
623
80
25
709
125
632
210
612
137
710
629
484
370
456
975
236
350
742
444
580
20
627
353
369
240
185
733
627
607
314
933
446
736
297
611
750
320
626
677
891
793
79
932
211
423
81
120
964
1000
165
115
466
63
739
772
940
774
423
740
281
165
932
203
891
423
873
61
810
316
815
564
593
650
730
774
775
833
179
515
322
291
671
672
135
428
247
808
567
326
647
32
902
150
405
20
919
490
827
862
992
539
70
154
663
2
513
370
248
148
160
116
843
241
90
254
47
876
866
300
814
410
361
697
121
782
694
762
554
477
838
161
486
304
966
731
256
963
829
364
641
59
256
444
969
367
395
25
405
653
455
532
306
281
513
273
62
180
430
467
489
490
29
807
691
316
476
786
256
624
230
183
833
217
29
89
384
142
119
842
890
611
336
59
876
714
720
730
899
792
42
973
45
298
6
644
569
416
912
459
42
454
266
648
742
290
124
481
596
714
12
175
655
576
860
784
960
37
740
701
655
82
142
301
374
672
142
62
270
574
120
246
518
956
583
824
759
273
272
896
768
873
954
279
558
977
226
282
242
403
197
963
254
467
147
297
923
974
115
782
987
143
918
945
373
567
276
132
417
49
550
722
806
266
118
605
657
712
548
375
549
321
554
169
824
495
167
521
139
2
692
906
78
351
793
858
608
812
482
703
324
193
881
970
689
862
375
478
949
277
170
958
998
436
334
829
245
287
128
379
428
75
768
209
422
48
842
241
305
712
232
986
338
39
791
41
52
669
964
9
354
128
237
74
392
554
601
543
958
216
157
515
363
379
650
682
43
708
960
5
649
430
549
600
991
985
415
732
18
697
393
267
960
313
510
237
863
923
674
480
9
844
209
446
138
557
592
327
964
668
291
664
194
179
795
446
169
55
747
504
283
179
610
699
508
338
435
11
769
759
109
111
354
108
949
455
285
547
585
202
331
634
913
536
387
375
274
62
40
704
153
991
450
33
408
797
137
293
458
832
839
28
918
190
413
750
877
720
622
674
388
712
769
422
781
196
340
39
75
226
223
884
119
767
608
578
86
16
364
219
594
87
571
471
44
986
869
7
717
711
468
992
821
156
1
956
926
171
845
450
175
817
226
349
257
355
169
501
364
947
334
736
246
435
873
881
83
763
718
541
36
821
99
876
294
520
713
517
888
895
652
51
784
919
114
217
564
490
949
71
540
731
300
910
269
382
963
637
260
513
577
627
133
257
453
858
596
520
663
240
416
906
982
600
948
177
439
777
921
634
499
609
906
732
368
380
289
111
509
477
654
938
228
584
163
174
94
723
934
896
52
857
407
299
303
571
394
406
417
552
854
736
695
199
403
454
486
724
271
553
33
528
665
678
427
465
520
70
413
847
214
956
131
700
97
424
346
815
630
444
354
606
531
248
562
655
538
708
678
87
336
714
546
587
744
798
949
986
466
416
92
788
582
374
74
945
507
835
382
454
294
261
323
102
28
384
365
740
540
37
541
49
826
250
454
643
366
512
897
711
11
547
810
128
206
225
83
106
133
495
733
43
750
316
91
119
821
635
934
628
775
379
977
749
626
290
694
662
251
172
247
493
41
799
198
561
314
290
758
790
890
222
553
965
942
160
294
701
552
530
256
620
407
987
188
257
729
516
136
612
837
496
653
151
702
900
53
240
481
589
712
687
301
389
842
91
487
296
869
174
27
652
300
115
304
602
911
196
50
482
228
742
8
46
499
407
25
603
791
360
163
184
431
818
943
877
715
680
28
282
723
706
474
896
105
817
208
865
910
612
501
195
888
110
65
969
201
73
810
574
156
4
485
218
390
37
140
274
929
534
828
93
666
110
47
986
112
209
137
994
715
99
302
936
651
360
948
966
757
483
754
533
179
232
278
210
420
771
899
325
650
398
624
722
586
911
581
236
745
265
52
695
609
172
549
338
67
754
712
535
549
177
831
641
387
423
361
598
317
24
112
631
471
618
722
36
873
651
595
560
246
416
767
339
869
882
35
710
343
447
252
444
397
838
921
134
259
865
80
536
713
619
990
602
686
41
345
890
99
448
551
740
758
766
109
373
256
698
315
611
240
17
271
467
858
476
692
217
933
594
96
934
182
697
759
654
811
170
235
473
947
811
355
935
656
557
328
994
753
621
22
679
218
242
511
365
779
860
729
193
168
489
417
757
612
464
602
663
351
567
500
923
379
694
115
445
132
889
763
66
555
560
438
700
835
129
220
117
100
207
911
860
548
609
687
562
814
188
853
660
823
504
712
180
73
807
143
722
30
679
747
293
307
954
307
939
387
195
881
397
903
111
48
144
944
785
721
297
391
445
436
787
28
870
255
90
93
177
212
635
922
883
773
629
595
643
907
714
805
988
180
316
715
734
752
984
218
464
291
346
846
620
561
492
567
322
926
768
817
956
58
983
448
958
902
957
683
990
364
219
805
875
236
391
63
235
575
477
182
792
163
819
952
647
661
983
615
690
783
196
118
484
141
254
898
580
426
1
504
254
221
598
276
61
69
786
269
457
381
258
808
965
383
96
364
15
592
927
940
628
241
88
784
591
642
641
40
607
779
497
901
211
254
278
933
876
329
790
508
862
984
143
686
811
811
625
482
6
70
398
176
520
423
990
200
166
723
305
210
300
696
615
112
26
541
534
208
294
263
546
106
715
21
16
727
636
912
963
567
199
363
83
338
629
760
639
272
958
31
886
638
782
627
623
511
377
779
322
396
722
945
36
93
518
88
962
128
312
787
70
105
214
237
723
601
507
837
570
604
644
453
264
36
760
396
809
600
825
849
349
50
17
746
313
5
695
112
662
577
620
461
853
422
709
146
824
311
642
492
971
928
130
119
578
432
486
115
648
244
438
638
401
631
775
59
977
937
527
991
25
707
840
420
961
545
627
674
598
262
365
166
791
775
117
659
480
247
978
340
223
162
660
102
920
397
851
272
913
841
337
464
79
813
591
395
829
321
695
230
167
216
1
499
95
408
907
707
656
633
480
488
894
668
436
587
822
552
141
991
269
81
921
248
106
801
924
403
969
777
171
987
16
668
276
183
672
993
464
656
583
54
183
493
213
657
583
392
582
643
611
516
687
235
240
413
31
400
658
27
519
737
835
77
688
876
965
57
888
30
726
663
545
120
185
722
100
848
413
591
552
203
574
562
787
144
345
17
62
623
978
954
33
685
247
30
737
122
799
455
797
29
157
904
893
671
715
133
255
269
601
98
536
644
218
235
896
215
570
980
573
467
270
765
524
880
233
474
928
239
619
809
496
432
567
79
559
105
590
685
830
999
315
983
622
410
385
252
30
974
961
219
246
881
213
965
763
719
639
66
685
377
776
493
729
799
161
164
821
969
937
2
348
158
579
44
249
367
601
421
126
869
963
25
454
964
123
275
820
353
327
694
797
27
787
925
747
226
857
422
311
784
156
285
872
144
901
619
539
447
349
357
524
314
356
693
906
432
539
164
854
550
419
917
362
291
238
914
410
27
842
653
282
132
138
468
425
124
144
657
867
549
603
460
697
2
436
404
526
319
69
636
166
809
799
652
988
399
934
257
549
657
381
698
117
991
728
634
654
771
648
33
689
681
605
139
234
449
451
351
598
938
474
268
485
726
854
125
247
486
309
593
568
892
877
201
94
314
442
675
756
255
599
120
616
356
891
284
68
796
288
124
149
91
16
493
514
606
477
57
372
604
72
494
304
255
181
603
401
863
434
201
642
484
657
598
741
238
571
990
964
866
403
336
589
523
46
140
726
330
311
108
209
2
116
821
128
692
153
408
391
294
711
704
358
590
822
530
213
35
857
532
243
461
10
503
597
633
843
216
408
466
246
571
415
638
668
317
309
499
469
679
105
488
597
968
752
668
560
676
59
651
844
586
769
913
512
177
261
429
706
946
951
636
166
313
909
954
694
461
612
498
682
799
24
134
453
729
395
769
174
56
267
573
531
704
177
891
189
322
464
741
297
57
398
128
948
967
575
899
550
561
164
464
530
473
92
564
637
587
751
137
425
778
103
524
108
39
357
449
129
947
522
672
228
312
235
763
706
376
209
190
890
106
551
806
498
982
970
833
728
168
591
696
407
92
691
352
479
316
183
327
416
983
73
314
905
302
439
6
292
283
717
845
813
364
180
485
627
692
554
56
981
534
667
794
665
720
837
181
42
58
497
506
562
416
210
699
619
477
767
333
39
276
574
943
273
231
884
199
572
802
736
986
55
846
631
189
569
414
104
804
716
59
339
7
192
664
877
11
881
434
304
844
761
978
513
651
725
328
781
806
913
358
418
851
967
272
197
290
939
779
136
329
223
106
427
943
980
211
499
43
23
453
253
127
998
491
483
492
36
353
374
2
712
499
770
437
317
149
570
642
912
338
237
73
611
954
891
822
833
480
872
905
28
283
984
374
516
88
848
863
632
675
915
245
328
968
750
417
749
397
107
672
65
849
193
708
35
550
255
100
323
969
304
980
629
178
324
742
50
156
833
813
907
187
6
935
472
863
862
939
668
177
241
675
793
874
345
662
788
507
664
979
376
631
997
138
646
185
100
972
305
386
231
55
869
402
457
841
516
645
167
455
206
803
644
50
922
596
921
753
574
824
371
459
204
498
690
187
577
675
939
246
199
219
346
241
51
801
395
774
57
390
551
807
439
904
655
796
587
884
605
97
41
867
464
647
489
566
543
583
440
137
305
312
365
533
199
484
659
434
616
517
722
298
235
558
849
834
939
244
354
616
365
245
555
582
851
297
818
925
277
393
862
207
797
835
894
594
974
123
978
770
196
2
230
442
536
576
45
335
414
54
590
239
528
582
232
981
487
623
371
136
560
495
423
957
692
25
333
238
722
749
25
790
343
734
703
778
882
868
723
443
415
445
84
592
104
971
216
855
861
342
849
862
646
42
244
432
738
489
934
322
306
474
452
339
507
471
220
398
75
658
889
657
115
695
924
972
363
650
204
753
723
983
665
750
263
168
828
435
199
354
148
412
608
448
696
726
734
146
634
33
802
728
317
343
192
871
613
449
659
378
228
205
67
432
373
555
747
945
151
562
150
627
376
726
974
634
390
572
275
52
625
812
399
994
271
401
752
822
446
436
505
827
681
195
364
739
358
530
435
593
5
492
19
810
961
326
916
828
9
904
439
259
13
264
862
343
467
170
494
420
129
507
899
231
597
886
40
167
767
44
301
936
587
518
380
765
440
563
61
925
777
512
703
297
318
572
111
716
293
595
130
45
652
462
899
281
179
590
211
495
693
471
839
113
338
337
1000
829
39
766
354
448
819
539
67
82
568
82
504
436
268
634
55
331
413
645
448
269
575
996
661
569
614
317
210
531
37
84
133
174
417
187
504
307
565
338
658
92
359
54
597
799
765
921
265
145
585
512
448
484
911
641
78
105
72
596
620
80
141
620
58
428
670
190
690
832
404
561
592
793
163
667
159
900
972
678
526
837
745
449
89
859
563
635
529
738
610
467
964
583
375
67
883
532
572
698
504
32
584
517
75
315
893
276
431
720
111
872
793
722
740
838
419
865
691
634
198
327
959
108
711
510
572
594
578
860
75
883
157
126
371
766
762
383
705
916
645
458
902
633
880
823
813
375
172
656
16
62
363
506
470
849
43
936
768
452
279
581
53
107
927
303
447
967
363
489
63
58
780
113
278
908
376
858
971
637
846
466
845
588
632
483
796
552
241
743
537
264
823
273
306
116
860
754
565
978
500
322
47
610
580
318
353
376
818
481
613
900
22
255
353
848
417
94
833
238
327
84
586
557
549
788
797
482
717
930
454
206
813
443
912
178
813
423
637
610
107
769
397
207
943
602
111
418
673
108
899
970
944
91
593
549
339
364
158
298
180
74
970
201
316
211
899
563
785
829
502
485
177
965
363
682
340
852
862
37
876
771
171
980
501
829
302
189
910
994
434
114
298
984
500
512
3
963
293
525
104
568
895
840
918
464
307
103
505
511
552
84
255
615
369
52
557
505
859
436
362
35
76
137
185
36
618
778
708
438
733
779
690
139
310
392
337
52
402
714
615
895
605
299
271
505
692
152
461
931
406
803
969
76
196
667
979
455
984
81
206
455
772
259
40
589
997
894
985
399
70
295
313
18
455
755
354
945
999
302
236
223
920
136
225
51
57
793
31
835
499
544
573
837
686
612
741
849
433
546
622
794
102
480
526
744
324
85
879
624
249
718
720
769
304
656
134
602
823
335
364
909
709
179
792
593
535
964
228
312
35
660
136
135
35
323
547
182
245
957
399
225
179
184
954
430
731
240
761
695
557
35
369
571
460
985
610
340
470
917
805
670
125
565
712
173
770
116
352
328
349
789
131
471
244
685
817
999
230
963
18
485
466
1
757
144
795
300
641
982
295
808
900
997
150
774
253
994
445
454
185
962
385
735
678
427
800
285
914
912
529
878
714
426
400
398
756
902
116
395
727
637
275
211
580
79
145
392
47
764
558
557
374
796
504
898
20
57
538
258
718
203
147
56
845
640
598
391
566
842
580
326
542
812
198
695
318
2
446
778
685
714
337
835
413
866
284
809
741
19
166
468
950
715
734
871
140
531
684
338
55
702
756
29
449
831
680
826
998
978
663
454
233
383
365
703
284
180
12
151
508
723
350
999
226
554
659
536
857
644
916
230
713
233
528
675
605
513
729
425
184
435
888
270
648
105
450
654
32
611
207
728
808
626
894
32
936
801
857
890
820
787
684
389
847
718
247
262
320
94
553
68
630
345
167
814
449
750
747
570
592
46
402
694
927
791
173
980
388
465
912
433
721
387
252
401
36
744
137
466
663
412
620
847
43
811
213
69
634
709
132
295
862
778
174
26
178
684
824
863
192
699
407
613
658
112
760
319
831
222
943
742
315
324
964
370
95
895
371
331
851
140
822
447
30
153
417
241
390
225
672
941
899
250
504
360
933
731
472
98
700
659
842
669
681
390
751
18
690
707
836
365
817
452
248
490
148
466
874
380
631
95
923
594
889
170
796
878
94
227
267
289
236
675
590
551
242
798
85
450
468
734
117
816
983
45
177
51
959
107
915
223
196
282
593
448
508
777
389
672
228
165
391
983
600
776
927
265
163
539
64
358
577
422
753
876
459
301
82
483
969
955
565
767
835
887
195
759
456
856
247
842
508
304
453
2
225
374
230
358
150
835
99
470
680
14
282
186
179
823
769
688
775
22
781
948
236
173
672
43
426
126
783
617
982
462
672
343
766
59
421
399
555
815
463
806
220
629
452
6
318
923
246
179
641
353
984
617
755
867
582
953
988
940
698
137
623
631
373
869
299
117
113
575
734
444
109
185
931
594
690
622
969
361
842
403
318
169
832
760
400
715
536
409
732
247
73
497
620
338
736
249
773
301
16
541
652
697
723
977
602
33
816
4
51
337
585
303
126
261
252
973
58
279
876
982
650
799
710
26
919
264
791
155
708
852
595
516
741
988
39
108
90
692
10
723
488
728
821
141
274
638
719
188
981
992
615
520
778
611
721
825
22
103
668
704
147
771
966
637
7
844
395
317
582
28
28
111
622
576
86
558
438
423
781
644
515
459
619
27
82
665
372
557
30
681
90
146
854
338
53
550
381
834
544
659
107
540
668
667
883
830
228
900
583
994
840
110
84
7
43
798
596
872
170
477
932
319
122
810
766
880
993
267
334
747
713
261
300
353
483
726
709
335
780
779
45
385
178
362
416
491
14
793
810
278
209
722
157
445
171
295
696
799
785
259
727
14
914
325
416
47
751
363
715
70
582
891
847
929
239
904
31
341
568
272
305
521
753
848
360
459
229
914
275
832
198
805
918
390
502
387
586
746
687
558
110
637
652
89
282
152
154
941
968
866
830
670
646
541
85
614
472
851
370
385
160
581
920
594
122
878
983
817
341
447
913
608
367
2
309
691
733
922
520
606
767
807
456
731
516
539
594
16
991
561
500
774
482
278
964
569
16
905
79
577
362
604
170
782
146
481
544
56
752
842
429
430
704
135
309
887
102
180
115
579
525
592
352
684
543
808
321
31
592
751
32
223
504
961
285
243
454
985
645
398
382
895
746
68
268
108
399
884
738
59
521
888
589
882
735
705
772
979
862
982
268
224
167
165
51
636
387
196
72
503
66
852
735
343
637
270
893
568
68
668
788
399
564
377
647
409
29
99
920
40
493
728
242
590
698
166
232
452
374
311
222
845
548
793
814
868
350
110
943
494
420
512
786
18
966
364
406
561
931
745
513
456
558
725
100
743
793
102
982
521
627
377
483
630
495
403
592
970
237
452
940
806
11
392
824
533
758
336
360
748
457
333
550
925
491
680
671
640
877
962
958
79
976
214
962
525
595
491
334
614
39
680
46
415
780
626
186
816
875
488
586
267
183
804
456
650
721
897
134
972
200
106
798
565
918
836
714
737
689
553
175
122
411
670
796
523
233
744
243
708
990
507
783
417
748
44
280
860
823
877
374
91
635
771
635
956
80
863
410
747
898
98
941
320
702
10
78
180
882
626
582
971
613
608
573
861
595
826
147
577
924
168
589
192
751
823
859
353
935
179
254
305
989
212
228
934
980
481
364
79
924
874
401
498
425
823
37
244
973
999
956
643
357
459
148
732
110
761
134
808
771
844
157
664
3
371
728
237
315
771
194
613
181
452
141
773
873
532
516
52
182
938
332
984
558
936
693
115
836
977
653
411
903
257
149
73
124
518
799
941
302
457
904
174
280
554
378
576
7
253
650
731
71
229
826
134
229
872
500
610
420
257
658
624
142
565
54
516
801
370
295
343
845
226
611
708
89
744
959
944
575
679
675
49
783
614
363
5
731
483
84
537
779
535
197
859
508
326
405
700
121
993
640
724
182
347
441
511
403
331
389
377
362
961
966
710
753
187
946
906
748
24
54
684
568
901
142
317
197
418
617
292
430
615
152
993
163
396
13
286
877
999
471
295
781
245
829
221
958
828
603
818
179
134
220
993
740
854
448
67
799
203
402
414
209
696
620
577
780
228
170
443
213
688
189
748
712
458
549
1
409
904
588
907
302
442
952
482
352
807
665
380
758
934
438
378
188
244
126
578
943
204
957
652
590
724
851
375
595
347
681
752
902
207
833
302
169
410
784
420
628
844
705
313
95
420
292
676
725
382
124
155
512
662
860
640
352
197
476
609
772
762
593
67
13
147
645
110
265
431
269
758
266
720
850
540
369
936
584
220
429
168
765
182
572
641
280
249
944
593
426
136
74
192
263
299
347
194
660
691
408
183
89
803
1
121
19
437
893
383
410
830
24
657
468
134
962
855
267
735
91
673
302
606
663
553
322
672
33
571
38
174
903
224
410
146
410
167
276
414
205
701
9
977
479
227
749
238
55
917
503
318
237
605
74
585
128
223
346
646
472
197
920
232
948
839
487
840
977
165
596
499
775
528
681
765
377
136
296
867
784
812
533
987
232
338
476
769
816
329
402
532
333
879
122
99
281
144
523
822
395
618
879
170
979
112
958
177
538
348
292
183
922
620
242
549
258
239
637
440
433
281
841
359
804
752
88
841
91
427
773
595
136
474
207
437
310
474
22
563
888
595
992
38
610
492
595
934
21
969
972
170
877
562
343
980
82
976
91
880
166
756
901
151
249
639
363
178
846
816
373
376
585
699
549
115
135
870
610
743
184
612
322
786
333
759
210
447
129
674
681
759
298
818
590
153
430
723
590
718
963
184
751
165
390
133
87
324
957
965
594
52
51
58
336
573
614
855
910
615
659
128
386
167
937
27
393
353
323
52
605
667
308
379
301
812
287
846
25
449
991
476
624
463
498
631
112
735
749
759
871
14
395
217
665
208
94
863
841
278
87
918
859
998
3
117
995
21
358
324
658
43
132
568
277
408
165
970
87
98
825
98
525
959
558
114
103
919
491
479
804
151
199
87
57
385
124
443
298
59
904
911
977
574
34
93
612
696
885
155
169
76
81
248
601
917
621
226
864
47
972
545
89
69
518
552
910
780
406
388
91
746
815
374
745
818
138
64
404
319
370
94
131
872
243
624
673
118
299
387
392
61
147
348
306
432
594
540
158
251
215
883
837
691
195
725
824
508
953
378
621
502
146
146
242
939
119
214
948
423
801
298
361
430
303
141
966
617
225
765
826
63
762
920
999
782
233
280
749
227
581
792
158
5
736
5
161
687
440
366
314
434
327
225
873
138
553
739
842
904
269
932
739
12
568
962
713
928
324
987
552
555
497
146
819
676
98
828
70
443
948
823
633
863
812
936
910
459
240
372
577
658
702
496
284
8
183
604
703
46
444
983
839
464
577
832
546
251
305
617
67
656
738
11
283
141
926
895
35
975
593
781
536
749
930
661
426
904
146
487
451
301
769
419
117
963
376
525
904
405
484
844
795
357
851
575
955
289
319
704
338
846
625
565
913
233
347
640
963
586
207
455
617
593
547
524
364
993
656
152
808
56
997
339
339
869
111
161
697
25
119
799
644
331
293
784
92
279
143
159
49
300
789
968
709
302
223
923
858
575
167
116
510
917
879
410
360
759
220
459
203
132
680
386
953
561
896
805
248
343
365
208
947
239
706
765
997
270
810
203
252
203
671
771
825
294
519
233
479
51
94
483
365
75
578
639
151
556
729
398
207
597
230
50
48
374
127
770
688
46
507
735
898
492
223
145
615
145
596
473
921
683
458
111
58
858
857
140
951
496
989
92
551
605
676
476
132
535
792
262
340
372
578
735
422
69
701
913
521
371
265
169
399
215
686
870
191
145
528
570
98
245
928
766
975
248
183
307
879
751
480
274
536
922
468
586
550
724
579
621
943
379
590
864
252
786
889
971
999
620
317
654
819
116
251
502
892
906
820
151
635
823
723
266
797
295
181
403
185
801
961
161
273
876
229
983
833
323
260
596
583
605
657
354
522
898
779
680
291
879
567
405
420
168
769
28
755
252
895
852
729
849
856
493
374
925
368
461
149
997
662
434
711
920
940
306
746
119
342
334
845
65
864
516
197
892
806
845
572
201
839
217
657
509
706
618
314
244
907
629
744
935
469
470
855
2
15
520
363
574
939
740
263
891
427
479
378
128
419
907
607
946
415
717
349
668
167
804
347
758
893
338
840
175
658
15
491
263
928
316
26
90
140
275
899
484
306
597
592
622
310
971
336
665
568
71
158
850
136
59
143
405
205
342
725
873
148
997
638
711
928
519
870
548
738
508
610
101
194
482
694
558
265
269
520
160
408
321
739
862
27
852
270
182
489
926
388
766
394
496
654
811
707
903
464
156
653
553
860
806
986
312
30
648
367
675
627
336
86
896
623
692
305
89
927
448
343
787
410
874
225
529
281
597
901
880
7
966
84
665
76
394
590
336
949
462
463
110
496
951
909
927
42
649
257
339
923
481
751
165
98
461
934
88
937
43
835
444
784
646
917
91
258
571
988
629
566
10
881
208
260
593
719
818
6
765
27
301
912
271
766
220
878
244
624
425
263
667
523
364
860
502
371
166
832
379
539
96
773
578
391
221
513
932
512
65
625
437
889
534
868
581
448
665
926
848
792
587
912
408
910
626
35
745
910
666
757
874
547
725
505
811
430
189
730
200
310
318
688
321
780
428
824
240
45
644
62
517
174
206
596
728
374
125
41
15
387
401
883
49
65
98
250
40
558
343
937
933
284
700
485
483
74
426
849
703
430
861
881
71
836
528
382
984
472
607
996
150
454
67
556
17
958
139
810
874
179
771
624
962
123
379
882
789
614
502
281
845
785
962
149
112
513
709
232
41
935
863
99
206
215
344
476
433
207
122
320
26
507
326
923
651
661
379
652
551
988
881
206
20
536
165
434
485
201
343
797
133
915
169
584
728
123
245
799
172
477
928
504
398
780
789
20
384
747
652
41
427
57
12
194
357
534
137
995
986
996
249
467
982
487
980
919
270
144
715
502
255
920
545
193
418
727
281
826
309
364
393
600
563
736
796
275
314
497
128
922
315
189
514
655
157
388
873
258
168
148
476
979
29
235
827
82
615
283
921
897
323
6
607
259
987
20
55
176
481
686
346
522
293
600
770
351
693
23
738
137
557
574
133
908
590
981
496
748
459
555
741
602
314
298
929
650
260
264
260
797
629
846
593
958
310
177
735
909
953
705
221
427
644
324
513
346
461
135
401
911
442
38
843
543
649
866
690
685
364
707
499
947
16
387
138
133
39
829
1
93
743
154
415
537
227
921
274
98
518
899
17
946
410
81
814
220
912
462
233
378
855
258
705
324
934
821
852
834
396
525
64
373
674
247
805
857
465
914
744
312
171
765
204
644
145
604
385
957
896
336
481
924
254
516
131
744
511
444
586
112
740
625
617
465
780
11
459
465
902
526
27
343
783
819
213
229
201
59
341
63
842
856
756
20
692
55
68
625
770
273
803
928
340
481
80
130
379
874
470
74
734
561
348
857
356
303
935
617
987
654
685
258
924
380
846
444
811
948
823
720
919
229
451
33
75
269
391
212
189
156
648
232
331
557
650
186
449
426
413
932
95
811
49
338
995
381
321
877
901
548
941
94
914
573
104
111
400
86
39
937
693
825
464
774
6
188
449
937
361
421
591
264
889
884
352
93
570
818
99
983
304
515
680
358
254
587
331
164
545
289
353
454
750
486
242
519
38
918
926
846
554
856
325
686
336
129
714
479
71
756
270
726
54
94
732
151
33
514
332
152
983
83
33
631
463
631
600
226
940
906
278
888
332
193
630
516
88
915
615
37
309
238
155
955
773
643
199
871
247
740
819
878
129
367
942
97
291
138
143
786
981
157
319
629
767
599
191
828
814
191
309
558
231
412
628
222
820
414
817
655
339
225
139
126
303
821
141
536
414
15
407
680
958
925
323
836
876
2
118
214
787
202
483
6
905
898
685
858
682
579
428
612
4
194
662
53
937
248
169
234
347
399
50
676
211
368
131
330
47
405
946
801
713
456
167
685
758
410
255
304
624
508
703
306
244
68
405
819
33
163
590
869
805
802
292
776
901
452
489
97
716
443
895
509
816
939
898
659
71
632
274
677
580
299
119
481
662
648
915
482
872
637
767
557
815
608
613
421
524
101
658
640
296
193
371
566
171
579
132
421
711
336
1
604
302
555
177
52
21
551
397
133
968
388
909
146
83
823
690
942
685
603
252
590
348
234
724
271
288
966
898
808
125
759
580
292
754
413
883
328
42
896
97
281
281
118
350
758
608
67
593
253
119
264
346
555
16
955
251
7
940
314
720
177
579
218
866
853
757
822
466
497
457
234
927
496
673
105
88
587
545
824
226
810
959
309
817
237
696
117
450
499
253
677
766
819
646
989
484
883
887
71
352
359
310
736
349
291
615
48
570
938
319
940
17
804
256
36
949
779
967
662
530
334
33
417
271
628
944
423
154
284
617
568
392
304
508
629
503
265
147
152
729
526
989
369
865
615
756
219
274
377
767
770
158
719
356
920
190
22
129
325
251
340
714
869
329
546
627
876
588
486
82
472
270
14
865
168
330
514
910
765
681
132
820
172
470
494
391
560
110
112
129
570
630
43
885
954
529
604
959
114
491
132
472
505
206
813
371
749
76
607
155
611
753
162
312
707
325
397
493
913
416
118
641
977
686
665
675
758
948
32
815
838
666
378
307
26
644
122
156
370
560
40
427
882
377
955
818
134
806
574
530
228
698
42
860
433
676
589
606
945
360
402
77
835
266
534
477
185
822
223
464
887
980
450
935
292
582
975
478
189
979
343
467
140
411
583
480
260
286
379
578
944
828
534
2
868
522
429
983
843
393
26
743
748
465
661
181
800
646
519
426
897
898
207
202
634
791
308
921
845
447
108
513
220
431
981
269
612
372
54
388
164
963
861
512
244
515
637
231
510
441
825
465
129
856
117
644
265
11
73
828
505
403
932
250
804
233
754
285
839
343
448
532
459
876
525
475
1000
696
682
232
828
30
426
993
415
895
982
52
619
597
687
807
613
28
913
689
74
510
311
737
848
678
833
486
270
253
570
886
726
582
889
190
859
520
760
183
998
555
435
610
34
84
835
412
965
394
102
192
781
222
782
387
158
719
6
761
719
275
855
160
216
949
842
980
69
157
23
405
151
885
845
271
560
931
245
387
412
589
853
221
329
740
455
135
434
532
971
766
94
717
334
741
590
212
565
628
182
677
274
908
730
693
578
827
183
680
109
153
720
782
409
241
300
813
503
310
675
795
835
515
688
742
102
216
795
125
721
822
334
900
799
743
987
54
511
254
279
370
748
552
701
542
719
859
236
798
971
227
651
919
936
588
895
928
687
674
350
715
66
687
479
588
708
939
630
64
793
288
343
194
535
829
582
407
517
222
667
130
4
990
585
434
240
335
549
562
599
330
344
481
145
806
42
532
799
936
129
843
863
258
945
414
63
878
626
699
649
666
386
50
326
539
86
617
970
338
511
170
119
377
683
836
245
489
818
911
660
254
280
793
705
174
950
518
562
727
6
590
641
606
981
570
979
958
337
369
502
116
516
308
342
113
586
793
593
293
131
883
28
423
11
100
367
55
982
635
570
280
926
424
535
683
612
708
295
20
527
351
495
83
258
592
479
295
335
917
808
794
233
437
392
163
444
493
719
513
144
196
851
302
992
280
954
163
37
950
137
994
538
359
285
760
737
993
390
759
269
507
601
606
960
493
853
804
204
243
470
589
977
841
563
666
837
793
432
578
894
985
371
694
877
955
519
226
843
364
387
282
31
48
725
655
635
248
231
970
977
422
427
831
683
584
681
832
990
218
990
625
230
668
606
782
863
347
43
834
202
232
273
697
67
897
174
694
220
775
417
499
322
409
11
633
584
225
661
596
2
749
958
307
273
252
169
319
59
521
42
163
264
832
637
257
374
227
634
77
719
873
983
625
728
639
18
813
844
6
361
73
813
88
55
334
468
858
341
568
959
617
425
227
647
394
398
249
492
220
184
780
834
164
38
401
926
615
629
448
430
527
209
938
378
259
708
765
749
197
836
43
919
562
465
938
723
679
600
861
758
511
246
669
867
444
333
381
447
159
678
957
331
906
626
917
536
677
632
904
72
546
531
815
348
947
683
806
463
763
456
289
797
876
784
24
872
279
619
539
433
915
161
433
23
188
689
524
137
468
653
448
191
973
453
59
136
161
990
903
527
76
638
112
271
179
755
304
58
854
253
452
694
109
2
228
183
10
55
50
407
30
784
877
686
808
3
860
340
768
74
69
601
686
827
895
880
560
809
175
447
74
54
725
20
551
59
786
657
506
124
804
576
857
551
106
243
366
444
262
124
136
35
369
995
840
503
63
603
882
241
774
771
910
411
668
741
888
396
721
676
476
467
603
748
603
565
376
181
923
628
571
935
320
274
805
476
740
989
7
197
420
186
231
629
999
635
219
534
114
788
159
320
791
484
506
24
400
350
401
230
939
980
906
944
188
632
269
367
591
746
456
948
804
76
443
892
493
571
129
483
319
487
311
235
56
334
812
870
425
420
764
561
533
730
1
728
806
775
751
878
879
919
85
662
213
336
91
350
154
454
380
391
698
235
313
598
524
94
291
745
718
599
560
64
200
389
258
206
62
837
805
708
909
126
382
917
816
334
911
622
710
8
867
338
806
526
309
335
251
184
676
969
250
600
297
873
795
490
46
820
552
300
245
874
594
506
762
556
463
583
215
305
445
814
324
491
59
118
779
582
512
36
405
847
238
849
36
150
749
559
256
975
703
138
113
814
488
12
932
438
632
193
662
381
54
906
497
161
494
796
125
408
463
10
608
41
715
561
787
108
543
353
102
719
159
202
881
717
71
952
503
433
614
563
277
866
739
634
578
118
768
386
506
775
45
563
344
188
347
62
158
294
437
342
168
680
408
858
914
120
292
789
856
667
965
343
724
716
559
768
874
144
419
16
916
754
155
672
94
781
497
370
249
112
438
436
718
250
663
875
173
749
346
180
258
25
189
624
824
982
26
854
740
848
366
631
524
996
50
497
501
281
548
16
796
607
527
969
241
19
990
562
175
605
715
270
222
891
687
394
327
208
956
823
752
723
669
753
249
441
10
307
353
496
466
119
567
489
129
930
256
460
690
158
202
311
457
240
124
150
945
236
932
89
568
843
134
457
527
494
599
290
249
641
828
200
620
713
8
413
842
445
363
865
927
465
758
698
734
95
67
434
979
278
556
373
829
431
438
489
540
820
752
216
79
733
984
6
845
322
140
508
406
509
545
525
610
741
278
649
607
716
994
618
27
396
859
13
59
803
465
824
208
65
888
832
316
180
492
488
767
784
702
153
928
965
719
171
521
836
84
186
65
143
56
568
492
660
9
574
772
488
448
89
690
690
774
408
945
858
632
552
364
328
547
10
358
738
538
654
697
575
594
816
316
131
220
137
132
38
705
882
781
178
475
841
806
298
595
833
30
94
528
61
784
895
291
295
208
314
444
880
56
405
783
117
321
935
138
413
503
342
451
928
543
836
165
133
296
896
38
835
876
83
640
704
416
721
201
314
529
475
968
997
282
273
884
582
580
356
263
217
654
432
68
24
760
56
600
317
318
410
627
445
438
559
499
119
205
155
348
235
135
276
282
826
950
770
355
710
169
40
205
847
68
666
474
204
226
666
495
105
210
443
302
713
982
710
702
265
217
735
1000
123
75
280
4
551
911
518
77
342
24
13
354
80
851
598
697
880
924
582
628
882
492
291
254
672
1
353
147
44
461
518
265
210
356
39
243
646
917
804
823
258
481
483
741
413
181
928
151
740
379
923
519
262
119
208
9
558
370
348
525
176
955
651
990
430
919
823
908
67
502
471
955
15
59
881
150
564
994
706
152
907
253
358
353
899
988
911
760
272
760
268
57
316
41
196
905
196
860
603
255
682
116
57
391
38
498
153
486
220
931
777
692
340
196
718
158
546
694
352
949
96
300
319
484
428
955
208
18
425
906
284
691
956
500
178
808
959
43
307
387
31
526
486
457
487
944
850
232
365
532
723
103
663
487
508
306
410
642
58
262
822
138
184
824
887
316
169
100
212
981
204
88
857
654
624
100
188
665
728
820
487
754
723
912
166
345
64
274
961
828
10
390
402
963
766
768
192
31
971
90
871
429
606
538
269
218
633
760
829
561
800
40
821
72
70
569
832
842
104
124
709
330
43
117
272
340
622
691
736
44
269
484
739
367
465
760
292
94
51
831
747
716
605
62
112
415
263
345
629
544
552
571
576
631
930
523
661
252
699
618
223
64
879
79
695
928
471
470
404
325
214
985
880
194
624
529
254
934
595
429
240
531
312
546
408
692
561
692
193
431
786
484
127
745
387
224
278
930
845
937
783
558
210
443
671
386
386
243
848
254
415
7
273
557
681
687
838
23
518
609
420
328
243
434
876
562
34
527
531
664
380
100
803
743
73
492
225
613
825
82
10
981
642
597
728
460
24
74
418
997
901
306
598
344
982
378
290
941
857
811
92
930
741
931
783
70
238
260
709
970
889
184
431
457
527
630
717
825
689
224
983
420
403
261
718
295
699
786
261
640
74
323
536
326
1000
49
981
164
238
732
3
427
394
370
691
764
666
283
424
892
176
327
277
348
637
36
778
142
356
748
693
380
724
194
961
777
441
588
844
528
657
23
609
179
131
821
811
981
262
567
324
723
557
735
824
152
708
179
321
961
912
272
680
722
553
143
834
330
593
304
504
234
327
900
802
239
222
7
69
686
637
652
647
605
148
702
52
840
38
367
203
168
305
832
946
200
152
440
81
182
534
946
527
865
782
549
30
296
727
861
57
711
999
457
98
719
419
375
660
619
445
801
630
994
681
176
529
698
345
110
424
972
425
866
904
708
955
597
574
803
500
209
990
149
449
479
817
45
175
28
247
717
467
853
431
206
878
376
712
81
827
393
976
314
312
887
305
197
129
384
443
333
297
442
267
609
246
876
599
527
964
559
177
447
933
960
587
82
159
127
211
75
51
451
80
584
168
413
573
604
139
483
535
176
130
448
280
718
321
804
357
484
753
222
709
527
793
771
12
636
188
302
608
400
365
325
400
958
182
797
472
985
819
466
38
186
876
786
471
880
40
995
842
268
845
621
360
646
193
541
578
86
266
752
37
142
404
148
262
693
311
954
682
366
704
932
78
882
130
110
648
274
211
592
604
178
44
946
535
280
796
777
397
587
812
357
115
392
721
596
245
670
67
223
47
191
983
772
632
793
315
853
537
119
355
234
210
621
83
466
394
763
362
136
345
196
91
331
133
118
679
601
22
174
564
484
75
13
693
692
673
61
37
148
598
169
214
385
710
521
282
264
976
602
571
564
843
100
201
771
483
302
589
307
450
934
812
522
682
433
175
982
576
286
692
5
81
475
513
921
354
982
477
230
573
42
98
701
886
88
299
458
348
313
94
280
909
408
262
642
187
297
768
537
775
629
320
741
334
385
975
961
554
199
181
298
348
891
939
516
319
277
87
913
635
543
813
962
900
319
597
528
565
138
768
130
659
155
715
655
367
803
583
949
103
620
7
934
208
577
984
213
368
81
540
693
158
282
221
382
876
439
776
366
940
865
620
928
732
435
779
952
660
689
91
990
642
354
337
881
931
476
846
367
413
441
888
948
77
853
793
116
340
630
334
200
332
707
371
266
13
394
129
925
220
819
791
429
370
834
240
141
530
471
933
327
25
293
849
220
576
984
388
490
184
126
917
551
657
406
372
664
690
413
956
378
895
787
519
688
18
729
641
219
882
773
776
855
237
295
111
495
803
448
888
40
277
72
81
281
968
660
225
104
24
669
125
305
929
261
926
347
57
106
739
611
596
988
601
27
74
797
60
505
53
935
88
222
311
307
338
704
962
814
988
543
501
743
539
814
774
486
982
477
169
837
679
542
138
437
156
377
333
70
765
279
200
184
828
369
888
402
445
954
715
803
619
687
235
462
741
307
151
42
747
222
961
263
468
959
200
717
786
291
612
775
207
947
387
365
386
898
860
946
950
599
691
344
681
14
624
4
771
903
356
845
375
637
931
106
143
764
324
523
758
651
583
689
761
789
956
706
113
766
924
84
986
501
980
377
288
38
251
239
273
119
822
405
387
762
682
628
196
310
772
718
837
737
528
679
931
540
633
376
322
185
459
298
317
935
798
762
312
837
38
333
852
795
929
331
172
966
393
42
234
136
654
642
109
366
110
922
323
937
964
611
426
571
619
449
628
953
236
216
825
817
649
595
679
268
61
84
761
519
529
177
906
958
292
687
61
289
407
383
888
526
1000
97
322
761
673
59
72
994
256
509
805
738
144
577
349
803
918
981
831
434
809
383
68
906
847
111
899
840
187
537
391
710
231
600
33
464
595
849
63
753
937
906
83
978
882
421
985
268
74
455
972
545
424
698
202
17
190
108
129
827
438
342
154
52
767
842
596
971
907
524
318
293
971
855
547
62
673
456
599
61
789
553
200
840
499
255
86
972
23
120
381
680
145
464
28
829
781
635
196
115
768
812
154
409
414
936
586
426
184
51
693
284
65
696
718
49
811
946
712
83
254
410
482
845
319
748
632
828
184
260
556
477
314
746
32
242
681
49
796
437
591
711
120
174
958
681
928
469
755
329
456
538
616
878
783
431
274
944
827
405
566
97
574
845
253
202
348
147
791
860
929
670
480
426
186
780
138
940
695
55
560
796
497
885
541
124
736
106
161
681
456
780
377
502
212
921
700
687
479
803
868
487
90
421
6
268
11
884
695
39
862
746
752
978
483
775
278
774
713
241
736
690
317
593
366
940
631
281
274
371
77
576
884
449
191
483
289
243
133
184
205
436
8
55
875
407
454
947
274
39
89
304
399
276
401
706
260
366
582
578
432
379
612
141
660
857
648
164
74
387
364
717
31
488
463
895
451
430
10
471
785
535
562
509
464
42
369
252
702
850
41
9
67
320
167
336
110
851
336
558
630
117
898
538
892
701
572
668
200
368
727
237
757
355
730
710
695
867
286
939
435
461
100
13
343
78
480
284
739
301
782
64
906
826
666
645
665
238
206
593
504
928
831
692
943
378
915
547
76
123
602
598
736
396
99
236
788
848
240
756
393
742
622
160
931
734
945
156
448
675
525
293
123
864
110
830
277
845
240
839
846
153
383
993
102
361
20
736
636
421
632
781
250
571
298
421
473
989
209
739
869
4
989
626
163
886
92
435
496
169
953
233
773
994
791
862
182
195
120
442
417
719
128
515
72
487
7
788
935
10
243
283
645
885
626
769
287
825
454
563
11
8
3
98
687
349
818
228
964
759
822
860
796
582
530
352
701
185
905
94
514
91
493
828
393
158
537
550
186
41
699
287
30
578
863
669
254
813
269
945
208
58
851
37
666
806
270
292
804
295
554
828
602
244
676
745
690
592
668
30
291
86
71
685
931
225
610
447
3
344
986
503
134
626
621
759
490
426
948
550
874
580
623
159
440
306
634
154
378
891
812
340
741
614
726
79
881
237
242
838
613
989
339
76
349
154
875
18
888
257
127
425
473
374
839
208
20
277
443
611
128
952
882
760
599
543
147
523
712
916
264
55
429
856
949
829
40
369
571
717
479
672
381
413
731
274
185
563
242
928
768
27
251
366
415
52
315
464
817
545
40
892
503
257
253
340
676
466
404
163
18
626
975
646
582
570
94
87
354
57
310
645
471
849
752
173
342
48
446
307
139
131
639
695
190
952
361
591
846
32
333
979
269
593
519
39
451
126
319
18
446
782
396
528
462
483
643
872
994
477
618
246
598
972
61
567
283
636
789
246
734
967
349
433
753
1000
275
132
348
352
721
113
919
362
531
740
816
977
504
670
372
51
745
865
188
948
510
531
39
691
858
395
298
404
791
199
166
473
271
413
315
671
675
952
789
474
770
106
116
940
287
988
653
797
491
565
77
867
964
711
846
532
954
810
156
725
243
136
609
836
488
614
375
24
354
595
81
620
587
961
72
725
383
218
955
641
990
229
525
456
546
896
292
1
553
415
818
359
227
670
973
324
204
995
70
485
735
766
530
141
532
250
370
853
927
729
352
241
810
132
55
601
146
361
494
10
505
11
172
839
131
423
577
39
581
885
257
123
841
303
527
497
134
875
779
690
357
116
134
68
167
100
872
835
294
930
672
442
556
251
211
95
396
93
61
656
506
462
156
119
239
849
326
780
53
294
511
372
225
710
320
742
394
923
530
75
282
296
971
293
131
860
15
16
951
584
515
384
687
794
636
127
789
790
486
486
484
371
824
987
259
334
423
614
656
17
853
618
536
589
543
67
360
115
984
243
897
384
874
173
986
121
768
892
637
452
580
540
813
471
879
997
667
301
457
596
913
334
104
372
236
193
866
422
358
559
320
227
442
199
554
170
16
395
610
111
468
543
137
560
515
814
850
915
702
677
209
249
141
522
401
350
192
810
322
70
750
986
754
528
86
828
335
432
980
65
258
548
996
841
848
383
311
69
275
235
468
780
741
111
791
336
389
411
964
782
24
913
455
654
534
366
51
299
505
877
760
111
137
401
718
143
14
830
572
206
665
604
981
938
163
287
512
305
159
243
231
658
885
448
707
767
650
423
975
240
245
499
261
332
545
911
905
453
245
732
969
591
362
255
479
491
636
272
111
634
414
609
420
7
951
408
341
194
320
900
836
519
266
821
998
883
446
233
854
423
413
198
380
339
643
677
980
51
642
43
775
371
891
831
572
490
970
658
315
442
720
809
144
117
699
604
942
59
517
543
383
52
851
136
39
908
78
546
93
2
494
388
528
818
29
532
467
176
219
340
492
885
965
532
372
258
229
810
605
332
438
408
575
621
800
21
943
952
135
902
78
256
99
490
957
190
887
627
994
108
583
269
666
229
341
623
644
794
486
800
385
638
439
397
782
889
116
920
506
416
38
573
153
258
969
759
168
526
314
556
777
122
874
579
844
247
787
855
663
830
681
803
155
912
93
948
867
537
214
758
457
887
872
853
57
244
486
914
11
854
369
781
41
913
410
619
769
740
623
525
904
605
495
615
104
873
360
479
700
854
270
843
1000
192
941
431
856
741
413
321
538
596
985
519
740
356
839
98
704
772
537
5
42
623
216
563
828
65
881
755
909
688
674
632
211
246
373
563
5
324
661
570
724
235
895
734
926
67
215
477
454
134
812
545
640
34
127
711
673
137
521
499
877
633
726
756
697
152
977
504
659
622
293
311
431
223
797
378
373
226
323
621
651
77
810
323
80
258
141
317
320
383
163
262
984
470
588
286
495
547
349
180
227
572
795
338
623
141
771
875
444
643
255
690
278
277
702
746
754
874
693
542
632
526
755
530
111
864
486
257
228
205
232
120
188
922
587
919
834
115
954
867
220
72
230
285
448
65
450
5
492
741
877
407
743
757
599
94
381
306
156
436
507
881
114
626
146
989
781
382
880
471
452
198
868
785
678
846
432
895
37
875
249
383
829
5
395
19
900
661
160
298
550
346
586
411
95
207
141
663
198
945
831
652
514
154
265
382
557
295
942
74
953
765
42
619
371
952
536
540
555
722
302
808
779
531
261
64
986
250
212
660
632
802
220
372
948
956
866
864
935
930
650
731
919
23
130
440
895
102
153
628
202
659
648
949
320
82
28
136
667
950
198
29
358
456
513
36
794
494
833
948
809
577
976
41
878
485
453
141
500
500
370
698
509
119
769
931
461
405
487
801
695
486
808
906
898
296
824
394
236
320
400
634
185
977
109
701
215
278
312
700
384
592
782
563
721
621
969
251
6
242
988
209
160
447
923
519
32
440
881
455
778
887
499
24
400
438
292
653
250
874
308
409
476
684
53
968
455
420
529
132
221
939
544
834
791
510
158
444
62
809
241
649
659
35
633
386
699
728
342
55
961
387
524
753
329
649
750
380
739
628
202
219
35
972
976
76
311
366
672
106
326
466
755
235
523
734
994
478
61
221
437
506
969
127
960
539
255
884
439
17
312
571
962
521
494
712
323
105
48
895
228
539
955
195
288
965
338
73
840
108
269
291
138
523
770
404
218
277
710
520
22
141
165
409
5
601
454
448
489
962
785
598
502
389
893
337
678
994
564
495
111
956
244
961
672
260
213
575
437
812
940
877
331
592
332
993
987
22
540
659
153
907
873
267
640
167
156
872
960
42
574
293
308
638
612
794
454
483
236
352
476
198
858
176
966
572
940
989
531
35
339
531
917
20
580
917
72
756
342
749
824
803
322
342
609
29
534
43
874
794
846
347
348
835
190
495
388
684
500
233
967
526
852
729
710
44
707
961
569
164
401
475
336
610
259
96
247
823
779
41
318
107
346
880
911
842
860
975
260
216
448
351
331
206
198
420
446
492
435
636
554
532
639
942
902
341
507
818
125
357
49
853
448
367
824
24
791
694
626
282
34
678
945
621
614
52
558
539
920
986
438
680
658
385
989
516
484
585
276
80
693
673
556
167
734
526
879
913
579
95
970
312
799
588
916
89
258
3
380
313
967
864
236
261
536
142
517
365
65
49
531
491
72
840
848
441
227
768
603
292
256
113
235
151
362
511
346
930
901
898
828
30
865
24
803
149
919
863
188
42
367
223
912
698
418
517
879
299
592
980
816
317
883
557
13
280
599
339
824
66
377
672
481
60
984
23
421
148
931
264
880
322
815
289
905
613
554
776
341
174
383
477
542
607
534
607
779
38
39
831
337
28
962
798
284
126
693
427
793
769
641
961
642
283
752
280
259
913
832
164
232
208
572
975
745
547
480
698
787
324
707
401
312
70
869
976
749
822
514
411
390
160
880
986
211
637
908
496
653
773
265
21
688
392
330
818
310
840
623
642
200
560
215
150
913
535
999
81
404
387
522
602
64
279
296
531
775
317
112
163
621
857
892
51
56
966
51
444
271
308
183
17
478
897
103
155
583
469
937
350
492
724
1000
183
905
324
662
963
980
306
262
342
715
557
401
137
214
63
633
118
296
943
631
788
23
672
428
1
838
482
195
827
925
669
344
241
341
407
443
69
200
722
537
93
925
482
6
407
156
604
7
898
416
211
874
195
59
118
607
575
311
867
714
55
481
514
214
364
501
484
597
571
45
153
864
884
352
199
562
556
808
444
913
862
9
600
688
876
771
320
509
95
48
963
609
20
255
775
937
489
821
529
640
872
124
234
635
255
121
221
943
406
108
767
929
583
30
427
406
253
697
425
790
397
49
765
168
339
360
216
163
4
894
962
954
66
61
487
673
725
556
245
660
732
331
732
752
849
491
884
848
157
362
99
490
476
62
794
94
708
875
117
765
91
584
325
345
192
754
400
444
957
592
642
735
322
663
369
722
640
195
345
511
709
164
235
873
265
631
209
8
588
50
792
995
332
380
210
856
738
889
760
529
168
452
199
825
300
26
723
602
349
717
913
996
453
519
912
512
678
385
171
193
155
749
367
888
552
999
433
824
396
703
239
334
788
558
105
587
688
155
251
609
257
633
227
703
732
239
599
638
892
584
456
592
486
156
792
909
919
248
467
188
69
997
221
59
375
708
191
311
228
920
468
689
257
5
510
755
320
178
621
726
884
913
321
53
4
725
118
867
294
125
110
56
121
398
893
913
771
485
419
780
449
905
839
45
827
111
869
190
299
114
857
335
216
528
620
830
170
375
13
57
826
182
419
503
888
872
572
581
519
938
622
403
979
232
929
918
253
423
852
392
196
891
708
203
75
344
163
327
425
946
536
671
808
125
882
641
428
485
289
938
520
490
495
580
121
632
796
616
105
845
247
775
353
804
295
584
555
586
337
95
384
897
156
449
767
672
849
925
528
419
625
14
946
112
829
325
663
778
635
786
956
191
134
722
566
235
928
840
195
578
963
81
277
255
21
582
818
664
206
709
960
233
791
215
398
743
6
140
949
853
679
950
362
914
185
765
957
548
802
284
765
790
416
124
641
817
481
866
261
415
300
60
982
376
961
781
324
958
736
139
194
379
339
279
80
91
220
20
111
217
966
266
301
130
987
701
263
600
858
104
429
322
122
817
98
946
857
510
672
883
43
414
56
293
600
621
544
655
3
875
451
221
525
520
394
488
497
927
373
538
464
760
789
723
726
899
59
712
581
717
807
371
511
661
448
268
671
784
589
872
301
921
870
678
97
748
722
531
162
800
86
440
876
865
288
998
912
866
119
364
697
453
669
415
768
54
608
292
877
57
426
79
178
138
610
735
525
467
839
747
708
696
92
179
452
164
953
931
150
727
541
38
566
973
186
819
227
361
416
492
802
995
860
658
552
330
391
704
834
96
213
736
732
121
603
154
105
526
739
314
756
1000
349
71
927
446
933
119
74
323
963
208
691
443
770
273
996
808
795
449
437
299
505
761
319
704
541
980
321
593
629
803
321
25
337
14
732
927
46
748
509
270
364
322
90
817
829
349
787
326
892
28
594
573
114
532
908
447
985
445
431
687
980
25
386
516
321
900
226
567
380
459
237
999
832
827
745
631
479
806
212
266
118
575
120
91
957
259
401
219
857
707
131
959
124
935
369
380
644
752
286
84
923
991
201
889
987
658
744
275
155
35
116
71
412
440
346
795
507
941
533
505
871
746
253
794
217
422
744
768
931
345
995
477
455
987
578
280
433
765
918
44
756
136
705
930
589
580
320
731
78
910
480
404
722
62
783
468
334
166
464
390
97
222
483
989
462
169
13
90
566
437
479
417
373
394
599
713
974
190
272
644
366
628
731
874
527
629
137
44
823
741
639
74
596
957
7
326
291
748
113
692
649
879
922
583
259
16
134
156
279
597
319
819
227
728
195
229
521
88
675
532
899
979
467
572
930
663
283
125
570
103
183
30
124
37
168
222
53
106
908
295
735
395
422
171
721
308
569
888
996
206
476
289
494
567
402
623
405
760
70
663
860
690
216
995
182
670
958
533
255
902
593
150
472
831
598
583
392
478
951
371
497
571
357
674
357
912
591
263
132
985
4
828
573
218
132
49
581
681
503
508
951
253
977
660
146
446
371
501
809
151
707
546
262
542
143
949
402
241
542
381
283
653
680
335
131
65
268
90
711
689
373
469
782
355
271
868
823
961
489
774
349
87
581
125
912
452
189
434
305
962
57
532
599
175
983
188
376
947
117
582
914
851
649
835
172
730
660
355
106
415
874
742
234
189
62
416
400
56
149
910
355
267
404
996
141
815
675
400
231
840
318
921
48
945
313
162
798
454
104
927
515
551
834
581
817
44
997
311
196
232
997
274
551
991
746
85
297
706
227
956
613
142
894
63
307
686
900
413
319
646
390
544
119
459
521
890
119
720
456
542
736
929
299
438
951
717
821
706
34
113
898
30
594
101
740
388
291
311
386
489
344
194
434
511
415
455
638
534
614
809
848
174
109
373
729
486
273
133
861
168
410
943
73
450
809
476
366
831
316
394
338
8
657
737
832
907
454
228
398
734
266
719
279
351
2
511
847
78
738
639
777
244
319
510
845
416
121
461
883
248
987
929
310
333
694
899
663
274
227
221
729
409
814
220
176
296
893
713
111
98
174
201
578
478
504
546
845
464
531
851
245
39
15
653
485
849
262
767
541
549
292
272
737
766
310
239
141
557
493
725
154
566
362
462
57
745
808
467
328
680
337
463
736
22
283
619
575
492
516
624
913
249
654
499
410
138
903
900
74
503
434
865
302
780
638
92
707
63
680
880
505
170
549
803
709
554
162
24
963
531
182
934
616
907
894
443
578
81
877
822
531
70
221
476
345
732
734
400
907
650
928
352
127
773
546
988
578
904
82
282
99
589
28
566
677
754
550
448
120
710
935
659
341
764
413
627
555
750
887
191
343
236
728
419
315
28
990
912
53
872
348
350
147
927
592
282
362
656
747
307
423
291
738
900
470
900
73
57
960
408
178
865
689
618
874
848
648
388
986
665
635
665
204
306
880
971
151
464
480
297
76
142
87
82
689
905
136
105
461
385
865
679
137
783
528
476
287
153
491
690
494
203
349
16
156
169
825
89
949
99
937
614
726
546
889
424
968
206
171
63
970
553
618
334
589
865
536
426
767
354
580
864
989
269
739
559
536
977
658
621
668
10
533
483
860
973
984
82
823
47
639
512
323
526
635
601
754
454
903
334
1000
994
857
907
372
556
102
448
319
113
851
156
151
332
18
650
249
367
370
836
100
179
694
492
16
247
667
63
594
416
12
876
810
396
550
91
133
134
982
231
193
879
566
62
378
253
390
920
149
61
589
319
34
904
702
838
7
834
324
815
411
501
366
344
669
182
507
435
759
112
905
971
874
322
802
262
689
986
450
588
433
906
690
112
282
368
599
935
661
31
843
867
701
947
763
707
445
31
779
417
399
559
372
620
673
307
790
264
256
6
602
127
969
662
435
84
211
107
510
707
942
907
109
795
244
336
727
923
412
694
454
942
773
675
96
640
317
844
636
440
808
533
905
117
250
635
758
979
433
840
608
870
854
807
926
646
460
703
178
494
505
255
739
556
332
209
492
872
12
665
222
550
605
255
377
436
277
567
472
261
592
511
234
424
137
554
537
92
5
891
366
281
822
645
292
913
672
126
415
663
763
45
346
528
661
319
541
692
684
770
228
204
401
587
256
404
202
896
395
832
620
157
43
558
379
406
808
492
191
528
152
236
941
881
120
501
216
558
233
905
122
515
722
232
923
597
689
877
333
208
184
245
226
29
890
327
117
699
850
558
6
822
658
311
99
14
617
77
462
971
651
445
886
673
153
508
115
931
552
185
122
442
87
295
280
412
196
874
157
574
930
385
108
139
48
980
43
806
763
864
519
458
657
216
797
597
933
779
609
880
988
448
163
328
310
684
367
945
784
577
303
473
848
716
778
5
336
824
143
967
484
257
651
799
328
89
332
264
641
465
748
931
629
304
999
823
850
252
51
607
186
970
797
4
267
481
245
255
420
292
908
626
104
458
746
887
760
588
1000
661
236
999
875
314
204
915
307
809
516
636
976
575
73
53
325
943
553
763
598
209
329
315
798
659
985
762
39
208
115
825
977
423
511
416
866
789
408
204
346
50
201
169
210
327
928
844
273
505
855
14
948
84
704
186
291
264
429
79
83
573
930
681
983
720
803
200
919
698
17
360
647
385
401
34
847
3
977
198
227
852
438
518
838
666
544
678
207
784
819
717
975
100
663
246
414
397
951
369
589
255
248
583
955
181
984
670
854
6
360
861
736
856
265
112
906
232
191
413
267
787
16
408
827
444
496
499
717
358
503
817
72
87
378
77
423
35
214
422
171
864
565
779
307
114
833
148
793
712
571
493
915
386
4
585
494
281
387
247
27
207
173
907
745
35
604
304
54
721
21
445
60
333
97
662
669
209
255
709
306
114
682
362
385
816
786
915
542
36
375
303
42
135
554
310
950
191
162
475
393
393
517
859
699
754
413
790
272
223
589
76
830
191
336
935
19
261
530
72
477
869
125
928
152
55
70
97
28
196
686
301
468
32
773
151
38
661
90
73
43
499
427
444
987
359
145
967
830
926
962
768
215
900
736
511
824
994
187
77
612
785
827
987
985
150
835
828
892
635
260
363
394
656
724
886
550
867
762
676
326
366
16
32
808
697
789
504
227
727
870
391
153
576
112
481
769
737
996
323
292
411
280
9
473
849
884
572
602
214
371
616
573
58
725
737
416
5
652
608
114
668
293
353
717
117
64
972
456
464
317
143
82
238
664
672
670
282
90
230
945
822
424
796
514
227
369
378
529
725
27
207
953
5
796
538
12
182
563
635
437
129
395
278
769
479
256
379
374
974
888
868
766
951
631
55
533
921
869
102
446
150
757
51
303
87
90
125
681
311
461
628
47
362
387
851
623
475
659
839
975
767
21
734
547
870
202
685
279
339
436
983
995
440
875
193
449
65
719
487
832
606
445
342
11
573
280
22
23
643
910
995
120
592
512
536
221
276
332
297
728
402
460
557
504
362
904
174
278
779
767
31
830
775
154
893
137
152
407
142
55
840
410
841
218
980
994
904
592
960
942
951
501
581
664
590
31
265
414
452
408
893
816
292
328
424
540
875
254
918
225
156
365
966
95
477
196
826
299
110
986
731
670
523
433
970
490
118
834
312
818
96
575
285
151
269
558
605
485
352
406
822
328
255
252
820
870
417
501
400
283
32
172
581
108
328
392
613
754
716
92
966
429
710
253
683
225
21
864
606
664
109
298
896
723
783
23
207
278
156
357
612
918
368
516
105
293
994
341
80
534
31
885
714
755
627
543
556
358
504
486
996
659
145
983
453
348
383
584
297
436
972
270
523
616
103
395
170
442
580
660
290
319
558
413
55
61
337
294
247
704
663
603
920
323
425
810
537
841
411
297
225
201
989
783
106
820
229
857
835
949
953
711
585
405
672
469
731
158
175
492
366
450
772
613
643
397
873
610
622
567
579
70
955
606
486
479
264
831
702
535
518
617
406
657
62
538
902
168
203
467
253
882
422
282
29
671
341
371
619
143
566
879
865
714
383
531
456
238
88
895
667
804
417
151
533
529
138
812
461
915
388
311
649
854
715
89
390
476
149
598
501
790
807
646
663
536
691
634
416
739
371
533
918
195
176
896
350
543
386
813
26
630
638
474
836
570
473
921
664
306
454
662
805
493
817
21
188
189
958
523
469
221
370
126
615
54
809
825
666
667
599
16
763
224
972
998
369
341
238
199
856
306
436
989
269
951
797
461
129
771
14
187
608
479
822
748
251
458
862
784
706
437
127
427
609
320
557
237
823
263
504
170
752
19
863
712
323
58
634
998
551
174
546
671
282
128
202
249
867
367
839
973
983
30
442
485
796
228
440
157
971
94
606
618
764
180
141
786
595
599
95
760
49
682
456
2
200
99
239
584
520
46
865
692
421
576
969
199
635
169
529
892
224
381
858
819
19
747
597
351
647
189
280
740
154
820
467
368
393
404
678
405
992
718
610
325
725
725
160
552
537
746
825
540
312
845
938
753
701
186
32
347
982
471
325
819
982
452
978
541
526
129
291
882
766
479
455
584
5
468
818
140
300
672
903
218
222
9
530
558
642
12
512
380
287
552
344
34
141
131
172
559
453
701
142
798
234
456
909
995
648
204
674
70
629
738
644
363
378
74
205
241
161
570
410
831
927
699
639
100
879
696
373
647
28
383
99
874
164
222
284
640
438
54
209
108
919
43
216
286
81
57
567
633
156
75
704
227
698
280
144
178
496
121
651
399
168
36
596
355
419
456
609
142
929
431
735
69
285
463
304
968
189
162
635
601
445
897
516
851
821
957
125
901
988
615
678
201
157
117
645
842
920
853
799
909
71
857
712
467
833
376
594
120
54
416
481
502
357
95
911
607
188
130
134
640
957
969
836
909
210
942
102
375
865
283
77
621
74
32
333
409
197
635
503
478
705
546
120
893
572
207
936
135
862
626
207
23
762
155
572
778
282
184
176
768
188
209
641
967
538
146
340
742
312
795
162
355
286
112
648
490
213
282
919
173
821
643
314
712
920
177
8
634
123
631
193
190
285
341
583
641
820
453
105
444
442
580
645
449
735
882
625
372
183
170
9
176
956
944
60
416
765
163
793
305
595
190
611
999
968
550
58
573
658
84
953
275
463
614
452
887
723
465
719
446
764
56
971
175
322
296
632
167
344
724
208
296
225
144
278
822
693
31
703
423
45
117
737
669
386
390
240
532
839
193
589
147
448
244
231
894
628
164
7
840
576
541
532
714
18
653
949
894
15
711
306
321
346
892
665
882
138
494
804
534
20
244
25
401
35
200
170
114
989
657
392
919
656
225
637
451
518
512
46
635
313
911
725
854
675
580
373
383
592
80
310
128
238
31
335
832
971
829
665
288
923
713
933
522
701
405
850
601
111
155
672
488
747
258
58
305
513
1000
252
507
839
595
776
690
439
823
984
221
938
20
888
404
596
548
660
670
662
85
62
147
593
910
874
997
482
846
59
145
585
687
21
342
725
749
802
39
719
632
478
211
697
426
345
97
318
344
689
809
472
238
79
880
973
503
154
143
149
646
809
768
978
206
555
882
622
739
551
985
766
338
505
267
177
500
172
20
295
194
670
577
450
657
231
580
537
813
233
928
560
170
637
484
513
726
957
416
461
726
984
133
540
71
324
884
819
788
679
451
622
293
493
829
957
50
228
441
154
879
65
207
678
377
284
758
370
830
888
179
7
558
339
936
210
841
398
47
161
457
146
161
531
383
232
902
297
395
267
748
838
153
96
767
831
839
326
697
957
588
136
245
389
739
861
993
337
418
285
933
684
86
863
529
888
441
346
141
868
533
390
805
557
4
780
668
175
151
842
790
37
872
445
672
881
657
786
605
310
460
775
876
901
698
425
904
942
624
134
666
573
17
85
110
292
475
341
820
415
589
331
900
91
923
592
897
923
58
574
576
31
896
278
570
698
52
279
219
317
461
429
396
464
214
150
783
348
288
783
815
765
26
884
499
951
169
707
385
406
768
384
260
846
553
461
530
924
176
514
858
265
296
553
315
651
652
791
241
910
95
158
17
170
90
600
159
664
292
851
521
200
664
811
869
734
37
136
799
233
149
907
768
161
981
514
994
457
616
988
127
859
988
73
887
766
575
258
294
616
547
843
757
927
904
868
21
739
863
399
904
175
147
218
824
248
815
459
364
813
3
93
487
823
251
458
573
601
104
233
143
908
328
331
6
995
395
212
546
655
836
13
68
535
717
730
443
635
738
371
734
921
413
690
193
495
366
573
736
595
39
667
17
971
984
122
292
874
519
631
529
961
678
54
666
926
325
47
448
548
778
22
63
151
503
702
624
187
267
276
639
763
641
886
782
446
890
753
637
623
108
772
623
5
911
789
931
627
134
136
185
821
735
172
479
197
583
748
591
642
845
532
478
674
485
71
600
299
760
319
217
671
663
125
592
440
984
823
915
679
41
623
881
646
131
17
49
480
467
745
512
93
702
179
963
172
116
177
921
198
219
545
750
843
833
253
116
907
656
478
696
218
969
332
266
571
396
895
803
800
569
771
843
573
161
937
154
337
964
101
719
132
617
116
142
642
135
272
844
968
622
437
836
74
396
85
431
745
316
231
1
240
252
165
752
471
512
672
542
706
503
98
981
285
96
247
387
770
930
586
695
297
398
631
89
606
145
743
945
418
722
738
656
322
430
890
44
350
524
912
383
736
664
456
450
157
912
513
709
916
645
864
406
105
445
373
359
796
418
499
221
683
434
869
300
405
413
132
343
996
200
604
280
517
494
411
611
937
997
921
957
776
247
277
341
834
554
748
906
589
86
423
126
480
450
517
13
343
5
164
512
736
775
132
18
745
68
317
930
124
778
235
254
336
967
974
535
85
473
252
810
482
220
257
848
836
395
962
683
386
856
445
336
994
979
574
645
931
651
65
345
400
247
553
888
399
272
817
3
806
787
678
672
367
881
458
9
366
207
76
535
333
59
985
446
100
537
222
806
870
110
749
6
751
276
133
462
362
93
361
286
725
51
254
575
622
154
492
33
22
82
770
897
939
998
943
494
350
924
338
325
358
570
592
260
840
183
464
285
248
292
86
255
35
164
30
293
451
436
376
754
84
666
695
223
562
449
488
583
318
374
170
39
153
331
108
896
629
553
596
21
980
393
876
164
328
4
518
747
473
970
476
285
412
499
191
361
72
923
905
944
412
130
214
882
198
27
524
630
251
302
711
584
912
550
757
950
783
306
576
716
567
631
549
130
944
703
491
76
3
273
952
857
687
951
727
215
80
36
448
845
131
997
953
282
605
772
869
784
594
793
551
790
958
967
34
551
436
932
167
819
952
535
464
836
900
866
489
412
748
144
790
583
361
422
497
213
861
399
706
877
660
553
660
584
564
478
601
177
467
554
831
746
240
31
212
49
826
182
818
691
482
450
927
781
317
396
882
911
992
823
593
525
519
673
635
192
578
157
942
874
683
105
87
992
808
717
7
999
810
735
827
197
105
537
126
760
537
839
577
243
357
461
417
418
529
114
603
894
319
275
816
856
293
970
731
191
374
780
59
448
584
395
945
339
450
874
212
968
838
92
814
550
136
982
612
186
307
847
230
119
314
415
342
51
816
335
198
244
838
487
582
596
320
825
672
367
75
480
483
965
692
481
660
48
359
779
387
203
412
226
106
649
645
762
542
713
81
373
268
341
930
287
652
507
945
482
597
208
233
839
887
667
846
137
343
469
185
691
210
642
277
623
383
77
536
637
140
288
471
690
9
230
118
154
310
782
698
873
656
550
80
55
431
829
194
63
823
959
429
978
535
770
397
307
663
518
196
281
599
528
421
15
984
741
761
190
921
495
938
58
651
172
149
268
859
790
899
451
626
224
341
547
790
505
763
572
135
563
908
897
420
855
166
143
696
554
508
473
782
359
208
411
6
531
60
311
564
459
767
248
911
922
636
419
604
215
544
118
963
491
371
929
683
976
738
129
293
219
956
152
975
160
538
617
784
591
490
626
763
556
866
976
797
313
769
462
288
773
26
681
924
724
293
603
843
745
210
728
511
428
552
803
474
431
14
933
948
909
385
420
911
99
401
798
942
151
466
355
571
853
792
913
295
536
227
713
773
281
199
91
884
536
747
18
505
379
576
688
874
968
428
80
371
148
833
834
366
833
502
820
575
490
159
512
992
12
664
653
58
328
605
701
185
327
395
263
147
64
89
42
115
755
755
833
335
786
256
733
522
790
727
88
52
873
863
601
957
254
377
709
539
873
617
572
133
43
412
969
194
820
644
990
410
601
921
655
993
368
13
484
630
136
348
629
863
404
992
358
795
841
5
591
108
8
953
689
338
644
678
887
257
938
121
614
953
260
114
436
948
3
573
489
242
563
454
123
709
994
171
897
663
536
901
220
748
45
361
699
505
337
187
681
122
590
1000
591
897
244
622
388
889
297
648
876
77
485
796
683
113
619
998
397
405
243
218
765
833
879
364
854
882
345
453
781
358
7
417
948
127
404
548
707
509
339
572
70
88
435
816
329
653
120
726
482
945
218
253
927
666
606
260
204
960
922
164
480
172
903
477
63
262
762
779
486
673
944
916
608
793
709
922
713
441
255
200
851
918
524
34
478
279
383
363
41
427
630
84
282
514
153
811
925
928
599
196
873
837
142
366
207
848
264
22
91
856
1000
42
157
563
741
164
47
471
543
508
588
364
857
205
500
436
723
388
636
260
783
147
484
717
911
840
82
870
862
297
547
524
102
80
140
859
921
911
153
106
962
792
942
694
587
155
107
697
843
571
166
677
356
157
64
211
177
863
513
517
463
230
467
551
881
42
2
912
802
550
494
654
670
573
270
887
419
846
834
621
433
431
358
882
361
895
397
562
42
190
662
808
876
888
263
5
278
480
40
591
258
950
481
988
719
720
248
909
844
379
517
201
783
303
184
134
934
392
469
782
283
675
641
703
649
447
346
644
163
965
527
422
13
419
27
426
292
103
752
419
757
199
698
457
480
596
248
757
627
506
878
319
84
394
829
925
220
972
350
901
882
512
839
719
600
793
581
26
72
348
805
223
233
497
470
42
579
857
544
902
1000
635
496
976
29
20
439
35
306
443
604
115
60
272
836
973
560
776
415
128
855
829
765
970
546
864
581
100
39
74
455
564
448
687
377
80
340
441
336
761
555
36
858
9
654
462
492
495
913
534
157
150
411
916
772
106
440
193
776
371
390
239
17
837
286
295
924
901
367
633
105
568
437
650
256
428
252
552
775
295
854
530
584
632
604
475
434
74
648
833
403
544
667
158
414
434
83
279
294
321
327
786
367
487
392
686
559
312
629
699
777
228
718
622
652
528
752
609
776
763
665
993
256
872
584
508
739
448
241
367
63
752
293
671
347
188
222
74
618
935
545
429
94
376
188
398
784
751
242
661
429
205
765
395
675
20
958
152
997
360
836
156
136
308
433
263
691
308
743
553
102
383
796
577
455
688
749
771
406
968
397
460
71
532
275
176
895
176
394
692
362
308
691
333
908
221
501
615
534
21
674
198
463
286
522
467
602
868
399
815
734
644
584
814
123
172
94
44
647
406
201
281
679
597
718
135
674
508
572
981
818
870
785
199
168
797
750
348
421
512
606
863
810
332
586
263
689
299
463
678
2
262
577
684
218
461
494
72
293
897
37
184
857
837
294
889
170
828
204
78
321
495
516
839
787
221
211
70
749
534
987
385
473
635
33
588
684
76
99
884
97
988
838
241
158
670
509
22
630
530
351
60
864
610
413
856
466
932
157
473
602
896
904
999
362
866
69
159
467
823
195
764
53
679
960
233
484
457
729
303
890
20
706
426
645
456
424
54
82
553
130
180
555
1000
605
39
361
99
102
851
148
803
365
823
173
828
167
432
175
455
382
165
702
370
380
470
422
574
477
690
340
944
202
115
873
511
409
109
398
888
640
471
258
595
686
800
176
179
995
666
714
160
428
796
696
832
888
335
495
835
513
481
701
274
430
419
961
839
575
552
735
54
713
481
275
272
575
36
399
523
989
947
543
637
998
420
105
324
195
946
338
80
940
192
919
814
719
691
816
95
583
354
321
793
549
565
886
663
858
683
959
126
191
339
135
89
297
823
740
157
19
195
476
5
342
481
826
988
936
491
714
286
645
297
385
29
497
433
488
866
117
174
163
391
883
82
304
690
740
134
213
20
386
375
618
299
437
985
368
659
274
83
153
768
483
362
290
23
206
882
944
8
260
938
169
778
574
965
781
655
357
851
410
210
427
867
32
33
287
664
893
679
866
435
47
946
342
384
627
230
54
108
590
264
364
362
897
978
238
945
23
565
431
119
217
116
435
71
182
298
752
391
685
678
652
464
166
223
269
952
567
402
821
263
485
113
753
15
193
323
807
23
287
946
399
261
490
945
160
593
602
90
203
792
752
112
489
533
831
202
627
565
459
949
620
264
921
853
331
105
234
465
907
363
944
91
994
554
279
707
367
678
28
450
476
339
860
555
518
199
854
134
867
34
675
540
67
857
173
364
168
201
197
288
846
665
46
134
641
256
307
449
636
896
778
853
80
687
821
243
778
212
735
621
551
139
715
967
717
920
509
124
330
194
163
77
859
786
147
380
104
890
687
729
411
76
383
841
659
271
27
869
70
757
96
563
619
524
551
242
731
29
441
463
964
519
284
942
593
617
364
877
381
767
898
357
306
491
462
915
696
138
240
625
70
955
381
361
912
861
226
962
812
262
232
87
628
614
188
483
845
197
703
240
850
764
11
368
653
292
859
672
473
48
624
497
695
610
797
364
943
243
704
911
373
263
649
830
878
640
647
708
555
91
619
729
661
358
158
257
306
191
18
190
276
806
33
811
718
205
501
575
913
846
970
916
971
549
970
675
99
447
483
207
43
12
835
573
386
897
261
461
694
401
613
669
859
858
547
22
629
148
51
593
988
825
374
957
980
70
237
10
589
787
730
565
499
689
412
545
914
134
1
91
117
812
432
317
147
130
259
763
753
272
92
819
815
475
234
519
519
19
764
147
888
782
46
35
723
993
65
788
592
3
43
910
306
435
501
488
194
119
308
137
610
577
298
907
292
626
682
203
626
893
886
79
368
639
376
455
111
308
730
888
626
648
513
568
216
78
468
69
394
235
170
259
534
236
570
459
594
304
765
578
691
799
971
498
60
618
859
417
899
152
381
203
725
698
715
82
86
288
231
120
938
388
190
55
533
831
473
980
435
627
792
291
126
16
669
53
739
243
993
688
648
49
97
434
993
803
112
567
736
530
821
759
519
835
369
298
407
860
933
76
598
966
933
421
294
805
421
864
258
773
43
876
986
653
383
453
79
403
543
217
118
624
527
301
294
266
402
911
110
475
172
902
698
343
66
86
689
468
210
289
130
914
704
351
596
120
733
378
571
763
700
541
121
430
280
645
92
145
963
505
365
489
910
869
205
83
879
303
359
655
571
929
362
788
11
414
456
726
450
896
641
250
855
836
622
782
279
914
868
304
239
174
526
613
800
588
716
725
216
87
582
927
841
897
536
146
503
714
329
745
710
842
939
858
824
928
784
670
875
337
413
780
721
539
696
962
123
70
475
166
677
814
798
567
665
328
144
836
630
919
497
566
884
20
744
991
202
145
615
681
699
396
316
910
235
44
90
794
732
182
141
71
467
827
779
634
754
142
169
515
417
634
759
68
104
281
353
488
827
554
761
676
41
204
165
667
231
499
647
514
240
342
810
524
491
287
62
275
887
57
921
622
373
569
664
243
78
847
730
903
511
442
566
729
482
148
10
256
320
870
897
916
467
469
289
931
707
286
621
288
165
852
117
587
655
961
1
64
160
887
400
32
8
42
367
312
771
776
69
949
56
330
75
684
130
187
609
173
724
198
796
928
519
879
217
300
475
241
539
609
666
342
598
692
243
523
52
727
958
935
688
182
978
546
484
136
785
273
804
11
649
291
470
965
462
825
2
824
768
950
19
436
440
998
658
751
778
214
855
792
772
158
545
890
889
229
108
223
23
356
924
738
185
578
495
998
96
728
413
367
94
913
388
201
677
816
665
403
546
90
415
776
251
300
113
103
399
922
481
775
906
870
311
82
982
927
368
12
366
234
631
490
807
657
292
532
983
503
347
699
814
501
70
583
623
430
363
784
708
51
796
997
664
251
115
360
235
417
161
187
564
116
409
579
461
77
814
151
698
337
222
324
415
154
416
185
434
963
728
919
642
212
273
221
639
391
70
883
530
942
692
961
86
32
658
557
475
357
463
244
461
247
993
626
217
347
105
310
929
53
304
859
938
718
772
896
471
334
510
605
949
70
958
335
434
540
277
852
41
138
415
88
26
132
191
893
847
446
897
374
683
230
313
913
784
394
654
840
546
229
639
32
410
150
808
435
475
361
238
611
287
940
1000
917
333
441
77
883
668
618
960
665
480
282
810
185
600
620
903
737
687
530
56
368
272
665
871
323
942
890
918
170
686
826
441
48
824
995
778
603
997
816
428
782
439
401
641
667
80
624
483
880
95
446
522
927
182
843
732
51
189
958
681
761
722
325
848
253
7
64
694
332
585
6
194
312
403
564
649
579
473
26
953
173
542
639
982
779
173
508
359
978
199
850
716
490
795
598
449
380
279
692
132
909
334
648
971
773
558
175
134
960
121
635
338
376
815
177
832
657
13
191
781
326
836
559
113
541
386
860
89
222
989
271
211
251
276
434
586
792
323
949
562
511
246
489
235
600
406
735
447
110
803
487
13
987
353
309
200
651
466
47
960
647
758
369
1000
137
796
260
536
543
471
54
520
680
985
150
180
59
454
40
943
904
827
655
233
587
143
307
126
819
160
734
598
963
44
801
920
236
102
465
787
432
517
494
926
11
678
250
265
61
943
578
204
681
651
482
211
794
745
766
694
278
654
307
115
542
962
958
384
385
951
310
830
27
340
753
488
727
399
282
999
261
136
539
149
854
467
386
983
875
101
158
441
703
362
378
695
693
350
379
697
115
623
709
978
248
70
673
408
577
751
647
423
153
273
18
252
767
699
772
778
511
59
734
977
686
330
459
330
784
86
581
197
432
147
209
922
800
213
603
345
921
891
945
477
820
514
469
316
97
845
639
196
851
129
285
561
446
902
876
808
613
656
128
656
847
766
224
528
855
32
778
620
76
828
520
609
931
125
401
492
504
580
436
635
825
487
152
938
793
632
940
955
31
972
961
919
648
672
518
894
990
179
961
674
905
949
257
644
988
929
328
546
539
102
170
967
702
230
491
424
352
439
367
122
813
438
970
807
434
972
930
648
369
573
330
777
657
810
619
895
821
992
975
385
794
733
762
464
901
879
784
233
20
25
945
927
782
268
821
254
891
912
361
500
181
530
613
985
58
174
948
531
337
567
719
825
306
765
652
975
50
140
605
66
687
532
454
242
181
53
33
711
822
355
6
46
318
141
480
351
652
291
6
186
518
288
298
609
212
560
657
356
292
902
629
939
200
457
835
430
290
579
299
786
422
501
830
819
319
909
179
379
393
439
768
828
665
612
755
683
650
900
75
142
853
495
897
272
578
806
609
842
305
897
63
139
811
862
305
588
545
618
422
732
485
712
467
871
897
509
642
712
913
583
46
476
842
194
328
214
482
513
545
548
457
633
346
632
808
484
389
915
619
473
525
196
470
47
888
541
900
406
469
852
855
272
153
285
318
976
482
234
925
97
581
331
384
562
822
722
962
423
756
950
112
474
793
879
576
522
912
486
920
380
402
771
538
596
284
709
594
523
570
950
241
574
989
923
752
425
139
106
828
468
281
489
472
47
163
677
299
882
310
647
12
601
218
919
144
497
733
775
801
476
722
210
303
618
799
498
131
992
499
615
498
113
769
274
214
926
84
978
250
332
787
365
537
20
500
48
120
829
561
325
694
942
495
430
982
972
464
408
111
384
480
366
377
782
936
542
350
279
662
620
244
569
275
751
912
318
91
983
586
203
198
193
716
247
638
173
872
109
782
176
680
638
115
149
215
304
644
828
77
93
42
100
641
71
478
298
600
94
791
643
988
95
305
632
303
944
104
985
246
145
61
731
842
523
212
78
379
632
377
22
711
798
50
32
935
629
664
743
365
306
312
312
1000
183
875
987
444
64
313
475
281
997
542
898
493
613
932
485
387
823
977
661
869
152
79
855
600
140
714
186
762
968
471
157
678
954
592
630
495
622
665
651
516
795
66
141
537
597
615
66
685
255
623
488
908
369
226
789
172
636
410
451
891
90
649
1000
864
550
440
126
233
374
300
500
575
548
994
548
264
853
854
276
673
108
64
254
605
496
680
49
599
575
980
700
387
870
482
340
836
866
553
671
170
819
116
824
126
46
372
73
971
260
819
974
986
80
99
765
95
49
359
293
827
373
897
300
674
136
820
621
217
899
328
758
109
458
26
319
101
28
356
24
831
269
836
320
21
366
310
186
53
887
802
340
641
195
917
935
456
42
920
755
124
347
776
113
957
292
475
914
161
594
878
800
16
219
209
918
715
880
41
594
132
346
300
123
757
987
376
970
468
3
899
888
571
457
134
865
782
585
200
348
414
858
563
886
73
904
294
215
575
727
633
780
641
615
290
897
162
764
732
67
472
897
437
428
127
125
715
978
122
862
244
6
373
869
902
88
541
392
828
144
955
929
902
298
490
371
987
698
705
147
362
48
503
499
722
306
814
242
21
922
549
168
219
3
183
766
668
23
825
92
503
19
584
398
872
768
362
654
275
51
938
146
602
9
368
178
653
507
262
297
95
606
473
571
816
514
78
191
585
857
320
67
789
684
346
160
757
429
160
1000
847
928
209
200
45
686
391
838
291
832
114
220
130
550
205
920
573
360
100
950
249
298
780
609
11
903
305
827
191
940
682
818
586
955
996
460
82
67
411
110
558
921
679
487
322
313
265
844
882
837
67
923
295
831
941
51
674
11
988
322
712
432
559
23
210
872
507
326
697
259
31
796
186
527
831
461
980
172
944
12
255
804
783
229
817
212
395
836
40
807
909
851
490
807
443
914
152
240
514
235
511
598
111
560
920
31
169
998
882
46
110
637
835
13
510
630
36
202
709
834
948
698
351
130
310
295
435
305
708
397
445
695
75
18
519
870
966
216
417
292
879
673
270
228
161
693
681
201
220
559
799
909
896
99
391
856
804
251
774
905
412
670
729
572
416
663
125
191
691
287
76
973
755
40
879
598
178
381
865
233
853
279
553
738
360
73
180
431
932
210
772
944
685
829
381
624
828
750
50
429
576
142
328
458
330
54
900
120
503
9
986
400
53
80
699
878
373
230
472
935
715
186
994
60
717
799
847
293
921
686
163
619
413
890
193
547
817
475
612
225
932
232
783
167
240
146
932
81
349
873
400
351
213
226
699
421
604
614
93
733
908
430
828
874
757
624
926
275
432
88
672
166
210
16
533
452
58
118
284
865
159
391
508
39
758
210
519
113
740
627
945
103
153
110
898
569
624
441
676
7
245
131
422
17
37
468
13
537
542
324
744
328
454
904
25
458
437
906
396
762
451
970
682
99
967
882
967
793
446
712
387
789
293
975
450
928
336
919
713
230
537
279
135
217
244
165
396
139
823
267
767
419
882
257
877
742
647
51
866
33
266
602
949
945
929
45
400
633
763
257
308
274
367
418
229
246
718
695
60
913
954
986
997
690
139
548
485
415
773
430
406
119
190
843
606
928
434
1
32
203
470
513
370
12
754
87
127
663
325
189
477
379
566
296
66
112
674
550
185
146
752
957
379
421
88
750
607
416
871
165
527
51
116
690
334
292
987
781
875
66
95
154
410
631
576
26
502
786
922
83
973
146
611
559
804
284
544
497
108
663
193
194
54
185
134
848
716
635
342
636
339
472
214
809
449
232
811
895
562
256
190
782
1000
597
40
264
425
725
55
634
326
95
597
11
573
718
240
436
576
641
748
165
327
634
853
226
789
434
992
71
676
640
794
56
664
684
688
569
456
375
483
856
945
161
133
977
899
617
198
878
235
654
710
251
959
608
240
731
264
657
962
969
121
7
447
299
950
884
707
50
580
669
754
30
767
431
559
325
7
712
829
401
240
669
475
381
292
570
986
547
620
208
170
305
962
11
897
344
24
503
543
231
195
293
808
457
613
943
449
829
599
948
279
122
583
497
451
142
189
886
661
687
44
257
403
395
236
767
815
176
69
460
985
693
911
869
800
400
482
805
546
735
905
894
528
380
164
172
877
954
444
425
617
102
945
60
763
709
383
983
930
883
379
321
453
443
297
905
548
850
950
39
373
937
747
493
153
318
505
619
742
62
152
129
65
79
979
433
907
671
937
339
421
871
699
593
545
526
881
985
239
547
824
685
86
404
850
70
343
718
721
556
954
777
332
832
401
882
331
475
517
714
451
118
551
318
816
250
834
889
391
207
371
253
46
144
582
855
398
584
159
80
732
663
759
961
799
324
779
648
240
540
43
576
693
84
558
883
398
527
905
496
258
883
961
269
847
784
853
688
846
138
47
962
729
988
406
770
286
670
939
537
778
467
675
859
70
616
789
663
90
953
655
692
360
473
988
210
148
778
599
157
979
729
603
554
892
611
74
643
815
778
277
120
880
46
581
825
321
81
89
404
847
636
834
817
21
785
99
19
217
214
76
797
220
255
583
520
354
556
34
537
322
214
178
34
620
744
385
450
445
469
442
956
534
804
839
71
254
414
558
245
568
436
208
100
192
769
167
75
415
946
71
423
525
273
582
868
743
683
900
726
891
275
854
982
756
583
760
627
265
432
442
558
118
646
941
445
527
984
473
318
15
424
151
19
49
294
818
316
437
857
108
212
987
620
492
916
961
42
670
998
191
336
98
521
587
750
852
272
923
31
317
820
439
803
343
783
799
226
674
566
369
611
392
836
632
642
74
171
770
472
175
648
107
235
835
612
156
460
2
509
459
458
225
451
295
988
985
152
577
450
723
953
956
360
19
947
221
115
505
597
573
926
201
856
265
295
885
494
364
641
45
253
147
488
702
469
718
127
105
28
960
841
899
847
901
566
869
616
839
339
763
191
373
6
43
835
595
431
590
532
266
909
583
688
750
528
737
847
844
32
87
523
419
90
321
802
964
963
418
190
689
263
41
49
867
894
657
90
451
251
865
570
837
479
774
270
835
914
570
860
523
831
596
942
691
269
369
955
993
24
969
90
780
866
129
582
798
645
205
39
609
245
889
945
620
267
186
151
85
927
703
916
286
886
738
28
402
646
12
664
205
691
134
866
859
789
57
969
538
717
847
869
514
229
60
761
636
235
908
855
858
38
166
641
557
950
488
446
938
760
377
408
711
349
564
497
599
214
980
864
933
761
786
660
775
39
193
411
532
992
899
205
999
422
23
211
125
581
352
525
569
728
578
934
296
42
933
945
30
994
316
360
390
656
563
739
913
471
971
343
986
641
603
499
896
704
142
933
853
799
291
249
819
823
793
649
446
957
165
954
227
30
135
188
223
795
599
304
362
474
646
83
362
880
799
939
793
971
204
82
651
2
886
493
90
282
585
267
627
138
922
101
240
908
794
186
239
619
992
280
709
594
986
508
611
346
710
308
344
23
966
980
685
126
760
513
531
381
480
704
814
468
328
103
283
769
826
996
581
409
556
438
196
664
481
361
426
219
360
891
431
880
772
333
848
53
244
687
163
746
791
224
268
885
956
364
168
448
80
31
820
316
119
760
468
746
788
25
644
68
179
661
216
535
320
810
472
274
299
501
252
927
694
837
567
863
59
777
987
848
105
676
293
649
68
50
564
329
431
546
900
950
859
697
454
959
672
879
298
803
683
793
925
208
552
938
879
128
47
778
47
574
791
751
695
414
136
799
170
764
757
895
531
757
465
866
53
358
515
889
686
332
370
238
51
680
492
209
496
639
223
648
57
809
253
217
921
97
456
300
116
959
129
500
729
818
784
749
882
677
678
401
87
649
221
88
355
557
228
761
610
807
764
61
562
445
972
133
155
700
845
13
117
325
381
5
941
745
937
816
830
352
892
776
756
293
900
165
794
742
138
531
340
970
949
890
625
467
181
868
214
28
356
179
777
962
516
300
528
531
235
854
119
319
802
2
716
469
43
93
180
646
589
927
12
116
646
255
764
575
505
553
132
226
66
683
834
108
658
785
664
904
283
643
860
267
231
782
977
210
681
796
49
254
510
723
689
857
37
829
136
73
843
794
11
566
125
167
653
826
251
895
493
918
337
886
863
144
693
864
999
783
905
229
786
444
222
206
944
653
605
386
972
990
514
627
101
477
45
401
979
950
507
868
528
807
914
379
701
908
154
626
413
354
786
375
993
552
507
570
894
287
361
604
259
467
636
728
150
841
247
887
930
273
111
764
306
81
642
445
11
538
48
906
978
901
543
476
117
192
939
561
475
585
331
119
679
383
771
871
987
519
855
732
248
996
169
740
295
876
374
607
64
284
536
88
807
368
965
531
316
323
453
374
971
392
281
823
789
235
809
634
371
145
740
759
791
414
405
567
41
553
536
515
564
174
19
435
823
86
77
27
587
563
177
800
793
796
703
417
460
271
106
358
73
158
810
870
284
863
616
401
576
546
743
123
717
768
905
670
484
425
60
935
132
761
503
617
507
601
43
214
558
866
870
356
224
89
560
662
314
909
372
806
69
458
646
115
533
164
617
809
742
710
420
945
985
813
413
239
110
49
188
191
879
153
806
371
902
98
862
291
578
792
960
20
731
415
46
584
393
253
856
247
260
382
406
957
881
726
53
612
565
797
190
288
336
905
992
281
976
758
11
586
381
118
592
481
966
660
245
959
849
220
118
88
882
406
680
820
379
942
562
355
571
138
254
964
391
663
28
61
191
93
16
412
379
803
851
592
777
405
657
175
694
305
450
729
345
938
237
320
236
897
143
161
597
476
966
993
742
114
417
989
516
865
148
289
584
263
393
744
418
927
660
111
264
804
471
693
245
228
571
423
26
847
390
440
156
48
774
522
254
727
204
104
729
108
731
248
601
857
894
590
297
916
706
256
1
325
625
713
253
790
97
758
13
929
863
213
340
900
723
367
148
625
864
915
261
915
186
953
133
581
255
558
130
80
677
643
262
292
703
61
582
806
817
363
273
481
915
261
590
108
431
570
431
722
442
358
287
473
327
63
725
6
47
627
343
983
487
23
376
700
599
139
703
790
242
671
69
609
762
517
731
255
325
198
584
97
937
2
64
351
904
843
760
478
215
348
728
154
946
289
960
123
326
303
310
500
558
748
469
5
816
714
247
150
123
394
497
629
941
514
526
37
394
34
709
552
28
110
343
430
861
161
471
963
279
951
533
99
46
784
219
15
252
279
809
807
560
680
649
873
527
357
119
720
50
960
626
691
278
665
668
555
392
103
20
961
744
855
411
562
754
833
867
951
839
481
57
664
376
509
547
192
388
758
898
329
193
901
894
204
729
895
7
29
664
505
432
947
666
746
599
345
411
800
134
668
13
822
622
59
540
67
409
135
222
909
866
821
753
698
226
441
819
835
142
210
616
112
552
848
656
144
342
287
599
682
533
372
203
687
412
953
740
322
100
70
372
427
560
711
67
626
909
233
610
944
236
657
114
693
808
941
260
439
684
780
170
56
248
692
405
237
133
905
109
331
313
61
712
63
899
866
922
501
300
587
990
622
984
732
303
977
20
359
466
233
940
171
917
822
250
999
7
555
73
293
207
785
8
999
785
660
271
535
847
48
577
627
117
983
22
448
215
822
457
847
469
912
406
433
492
185
671
968
866
42
127
788
252
818
92
982
193
359
874
638
659
518
732
787
128
876
576
569
628
647
150
763
686
486
329
67
576
902
426
401
633
62
76
83
606
52
359
944
232
60
307
300
255
543
821
252
80
154
363
954
168
105
449
338
14
671
121
270
295
764
86
290
326
838
116
857
498
904
669
536
780
127
411
640
659
261
461
651
159
197
753
163
666
13
834
175
346
220
825
342
892
344
999
138
158
597
637
8
16
135
386
256
435
348
360
805
312
673
575
2
124
678
162
297
769
527
975
11
334
507
832
349
645
977
663
524
608
965
248
121
329
652
62
827
903
142
2
258
621
261
389
899
8
588
713
106
792
569
39
715
398
361
843
33
34
6
345
920
753
615
59
193
172
561
371
830
637
18
449
312
747
850
682
960
72
504
136
330
825
503
254
546
994
148
92
974
163
266
959
760
837
160
209
606
581
466
294
580
723
282
920
916
652
723
280
515
1000
111
920
299
90
63
712
660
121
104
804
2
429
831
182
759
98
297
641
354
868
27
554
259
16
995
826
694
396
986
806
552
353
970
721
787
551
531
435
861
89
918
915
855
438
993
830
474
844
208
134
513
858
751
298
295
532
183
120
228
675
182
674
906
268
542
11
103
763
159
683
607
529
565
38
93
174
510
477
128
779
200
579
965
367
57
35
991
82
291
879
597
618
154
339
705
409
457
982
446
984
851
511
267
655
389
677
260
424
90
332
677
576
604
508
372
933
566
820
408
162
897
150
160
831
161
790
57
165
32
702
499
532
88
579
623
778
438
696
291
437
133
354
120
702
919
875
402
802
659
686
488
89
662
40
595
692
241
302
999
101
46
514
281
385
101
215
627
69
43
28
176
852
720
631
77
496
208
79
199
155
279
330
443
390
546
56
183
891
827
430
685
660
757
695
243
47
306
721
404
570
654
650
873
864
850
998
598
493
743
245
109
590
980
51
377
440
260
694
346
230
607
256
830
111
175
352
619
646
971
935
510
459
923
792
463
638
931
909
234
998
899
756
653
856
230
928
170
347
980
285
430
659
644
889
401
752
580
584
22
294
152
38
432
561
34
405
567
986
521
562
355
911
305
23
751
830
963
258
609
93
297
81
746
579
738
207
560
356
295
876
297
695
862
616
348
111
292
878
7
281
314
267
715
804
232
522
192
756
381
244
764
920
432
596
852
379
36
860
859
875
703
761
612
998
502
968
129
767
949
1
712
627
380
72
272
246
246
66
366
716
3
922
619
968
692
203
90
231
905
512
678
387
523
717
817
906
539
668
595
873
290
184
883
279
655
634
251
377
97
338
228
372
972
352
954
161
176
964
374
138
36
340
919
301
326
323
32
32
428
369
16
969
970
919
405
308
683
339
468
733
868
664
528
939
602
50
473
349
735
733
224
225
819
783
951
800
305
663
504
502
792
869
876
560
589
503
506
527
599
674
893
324
370
48
284
421
182
672
186
692
181
486
53
280
946
536
799
549
300
978
701
819
850
419
867
122
532
993
667
653
373
855
465
955
789
444
501
93
27
951
34
299
741
919
703
556
287
798
587
640
65
567
662
962
88
278
151
366
48
431
788
730
297
690
167
803
576
288
151
229
781
878
777
113
769
287
231
805
994
770
231
793
788
948
596
746
195
528
864
756
584
308
593
797
727
709
336
246
600
275
392
86
967
140
113
56
702
492
946
580
870
403
384
807
865
252
728
427
230
131
868
265
371
274
297
805
69
531
235
931
538
388
43
135
790
803
70
407
269
427
695
777
985
390
622
262
918
882
404
561
55
241
759
390
250
112
511
790
21
489
866
104
523
177
310
542
188
245
626
447
949
568
396
424
537
420
892
464
64
415
431
108
9
760
119
417
762
949
409
288
59
499
44
185
39
283
756
899
133
344
594
345
678
809
830
731
967
671
203
652
438
755
683
788
838
148
23
930
479
722
137
6
179
187
707
592
65
225
525
207
186
911
750
292
807
559
671
384
323
555
567
443
966
538
945
689
868
486
794
578
585
896
470
740
888
255
489
816
475
417
819
106
295
373
214
895
311
80
778
83
876
722
193
532
377
781
16
125
431
783
8
82
710
428
731
547
436
108
534
746
677
458
617
358
850
710
80
809
248
78
725
341
983
300
927
648
484
791
51
737
548
536
745
504
14
983
946
157
313
723
566
248
514
649
655
576
981
639
294
627
463
544
592
528
201
397
948
746
696
314
167
856
850
538
100
755
519
400
256
650
986
774
202
982
406
781
641
208
114
46
785
19
550
845
999
160
651
843
708
465
794
940
286
105
755
943
933
358
694
408
582
370
885
1
526
488
748
158
736
766
768
674
848
117
60
64
393
452
635
194
124
823
949
756
238
257
898
566
876
465
284
593
532
94
647
833
901
501
554
876
275
310
612
58
767
156
954
591
583
101
496
972
21
169
990
249
105
341
807
454
589
115
396
612
561
455
601
262
38
533
354
353
738
179
763
704
700
359
319
966
528
338
735
168
827
383
933
463
825
999
827
687
262
748
832
658
389
606
511
962
314
696
337
105
981
969
339
530
809
73
318
968
369
220
374
983
510
326
741
395
35
92
298
439
371
969
672
180
655
141
563
664
338
774
748
776
700
769
260
548
638
163
404
954
722
171
573
832
774
541
353
653
174
557
983
292
685
559
104
843
832
265
604
776
771
556
534
417
162
641
302
797
742
644
774
452
207
781
491
585
502
201
947
362
829
511
746
791
518
739
513
749
385
211
633
256
390
403
239
10
175
349
396
531
571
571
80
5
240
845
401
68
446
314
469
311
337
613
474
255
235
683
807
900
187
911
539
733
408
77
150
254
315
344
181
650
594
175
385
254
63
659
54
807
172
167
396
361
628
665
258
838
7
278
5
915
176
913
90
880
39
818
691
585
394
994
805
387
684
254
371
285
38
566
296
28
248
31
761
95
330
469
818
836
816
139
69
994
267
551
174
38
319
665
69
459
188
65
980
242
747
807
800
218
174
747
928
903
693
108
420
724
112
937
180
248
709
873
984
138
514
363
287
84
171
33
172
881
413
452
279
166
598
925
217
49
921
265
825
45
661
733
576
240
286
444
603
585
305
588
97
609
520
763
271
555
720
541
712
181
940
162
690
995
97
924
913
737
203
361
296
260
393
825
549
817
657
436
756
931
547
658
694
650
99
956
305
22
865
81
618
42
278
545
418
138
522
740
128
549
703
997
700
537
401
585
793
469
616
288
143
252
709
737
836
450
189
107
145
709
94
149
689
780
291
773
938
507
206
559
514
651
400
649
311
302
914
446
172
947
494
405
782
953
650
17
441
358
8
764
611
365
553
419
483
872
176
578
293
704
410
709
841
944
356
352
430
912
573
277
475
898
160
584
132
692
319
746
618
353
470
523
329
390
359
566
463
734
683
224
649
456
460
798
952
159
752
995
752
401
367
828
189
264
864
620
266
436
509
988
251
755
844
951
715
203
174
341
397
750
592
746
96
297
120
100
976
198
172
860
980
478
831
435
523
938
346
157
303
771
866
636
827
193
665
748
222
867
16
899
998
549
435
429
699
508
227
192
784
722
143
424
686
776
486
965
670
668
173
802
80
464
136
675
526
821
896
174
823
956
331
374
825
533
468
539
800
294
568
845
696
995
918
396
428
346
530
23
337
207
347
477
83
271
680
694
548
784
338
712
753
686
308
701
422
658
898
304
572
224
10
157
439
971
512
14
116
405
786
396
508
720
148
25
620
995
218
650
700
933
295
990
497
276
447
694
719
460
355
148
815
914
883
945
357
639
990
589
621
336
886
754
469
433
236
68
249
798
845
878
227
792
477
951
30
581
376
370
676
333
614
168
17
963
605
382
867
612
4
296
644
930
721
606
78
541
996
115
459
761
274
359
896
771
169
266
308
955
921
526
177
61
572
871
644
135
567
881
169
965
573
223
829
886
129
493
283
359
142
914
587
691
353
225
327
635
641
10
3
380
418
561
179
591
469
152
703
793
258
238
200
331
129
662
125
560
838
441
895
725
559
62
5
180
811
531
580
220
803
578
495
832
285
553
101
64
362
523
537
590
649
15
849
240
793
652
404
958
661
662
606
654
406
862
542
919
266
258
983
396
124
853
113
909
839
587
476
95
850
602
878
393
819
181
407
706
920
773
322
984
934
504
263
242
467
425
160
255
480
582
220
284
789
625
620
698
361
323
846
299
48
836
150
479
839
998
281
74
878
195
434
939
212
650
387
816
741
33
881
999
864
388
659
723
109
262
956
900
415
829
902
68
805
489
20
961
900
160
948
105
87
965
562
269
210
569
941
342
299
739
968
488
232
24
940
984
186
629
224
202
414
650
885
604
188
870
201
475
691
178
168
323
308
554
403
556
996
216
354
76
381
226
346
893
808
325
805
739
821
253
933
897
441
140
230
193
194
814
500
119
31
22
435
600
174
652
397
773
432
983
790
466
739
917
281
781
478
867
180
271
678
745
484
759
312
29
460
734
733
417
124
629
750
5
691
1000
978
210
841
774
868
899
669
309
244
324
309
920
295
483
510
947
690
472
910
163
896
254
333
520
848
12
231
822
816
921
283
868
713
736
254
48
83
77
437
150
727
662
409
344
237
27
345
928
726
468
868
456
681
33
239
265
185
408
729
276
717
436
167
173
351
836
987
708
480
419
585
939
85
700
432
658
210
385
165
137
499
610
873
583
591
189
840
378
724
363
331
264
89
720
371
98
385
12
94
746
523
564
925
931
622
870
777
602
303
736
470
476
728
34
792
955
57
726
974
500
747
320
854
941
599
342
699
880
613
702
440
525
435
88
102
843
654
623
319
854
290
69
110
291
547
804
582
574
331
654
790
273
63
391
775
779
71
401
693
901
173
575
69
528
139
955
374
253
353
37
585
99
390
942
869
85
171
832
277
403
52
66
155
377
485
582
26
247
869
916
839
29
832
77
818
354
448
215
623
258
850
668
178
328
271
496
298
490
803
46
232
990
69
459
289
801
547
279
52
753
525
467
21
210
518
223
178
966
509
957
634
374
579
664
458
406
299
720
797
475
794
808
605
338
501
313
668
375
483
978
111
821
620
78
239
308
111
641
414
189
497
509
609
690
878
117
469
879
51
957
949
820
60
586
105
28
61
915
166
548
449
268
823
530
914
356
555
194
476
868
922
454
554
885
943
272
841
667
110
30
66
676
102
824
737
870
974
593
621
433
451
418
997
59
976
197
724
879
312
90
748
889
851
799
983
490
239
816
408
367
568
193
846
475
204
279
95
343
230
135
26
244
631
4
797
68
574
314
556
837
582
157
874
938
962
111
692
65
583
552
723
779
992
312
121
353
882
677
700
296
155
203
169
507
149
783
615
545
143
728
984
912
884
338
391
535
742
629
884
893
62
394
727
338
420
748
342
216
782
683
823
305
35
911
300
987
929
462
528
261
277
79
780
425
132
447
468
786
772
687
1
242
536
350
7
957
955
342
447
640
144
846
102
141
148
312
598
134
771
8
409
732
446
485
294
714
853
512
191
922
338
712
914
74
656
168
897
879
194
721
855
890
641
570
454
943
6
20
989
405
997
928
640
708
41
475
83
782
635
364
98
96
299
472
369
985
139
243
825
790
902
860
731
175
457
324
234
639
840
81
211
841
346
795
95
899
684
172
793
174
844
478
964
426
195
572
676
416
284
771
913
171
942
893
485
165
626
111
648
610
343
94
132
891
121
27
354
959
772
731
286
125
576
65
841
288
619
200
653
94
744
151
822
905
447
166
527
753
610
185
414
614
658
589
319
487
582
917
187
715
284
23
24
940
866
410
341
862
823
128
819
737
548
638
856
137
253
556
274
66
134
12
673
952
616
640
853
370
592
908
267
652
828
566
692
634
151
468
174
925
589
955
835
5
369
246
306
373
569
22
404
731
267
492
148
886
229
744
397
668
516
125
153
643
948
715
86
823
969
699
931
893
342
607
196
695
48
905
52
846
910
421
360
384
761
421
560
311
422
942
517
713
362
152
508
927
673
92
237
855
925
163
124
118
509
81
177
198
359
858
410
114
269
561
109
436
626
206
283
672
32
189
241
126
178
56
575
347
319
272
794
205
895
857
470
431
142
444
20
194
37
321
228
921
547
519
138
82
968
835
261
134
39
976
887
135
698
675
898
826
539
720
653
108
487
312
428
935
775
81
381
604
40
381
242
303
228
194
720
569
70
89
163
999
59
204
122
154
239
135
299
101
629
971
835
447
743
426
983
50
540
190
18
791
77
151
666
944
306
116
410
703
729
9
802
378
83
306
282
608
844
639
100
703
77
69
620
892
106
562
687
805
533
531
739
8
374
177
47
780
461
512
805
615
831
611
788
107
467
618
943
4
677
485
596
191
362
248
921
290
619
883
939
386
429
422
589
101
696
84
360
861
489
609
545
772
192
855
443
916
168
1000
732
262
671
354
781
629
13
870
922
295
389
947
526
926
343
983
296
457
618
486
360
452
974
198
573
244
637
857
965
853
236
711
398
288
422
831
318
323
905
606
949
265
292
545
405
549
944
641
961
205
44
137
176
393
218
440
635
208
334
356
833
944
555
528
131
797
336
187
766
798
811
873
606
394
934
794
743
667
825
869
1
667
979
331
164
702
419
929
37
722
377
432
471
122
828
121
126
391
23
407
52
32
206
518
154
101
855
476
203
523
110
188
344
56
549
563
2
435
93
999
650
726
618
468
162
387
817
674
400
883
941
467
194
934
319
753
138
668
990
631
475
981
323
411
866
428
271
423
44
792
754
285
164
314
751
369
204
230
837
754
865
872
296
864
276
82
433
338
269
127
377
396
68
577
502
143
90
883
573
757
910
470
842
531
595
242
646
26
326
303
488
438
637
570
183
392
673
697
436
16
554
398
111
96
344
806
561
525
123
12
568
67
345
274
896
652
37
693
929
34
343
333
650
683
612
874
985
172
521
880
625
200
677
679
559
583
804
670
903
233
849
600
70
164
308
970
983
41
667
286
819
654
74
294
721
947
277
694
16
932
441
89
758
906
625
79
812
834
623
472
292
727
375
576
866
71
328
393
376
131
5
344
208
33
499
828
104
62
780
527
417
532
517
875
353
934
571
510
395
782
438
857
957
743
720
211
239
180
98
803
478
203
410
401
994
667
171
908
948
356
246
282
304
742
516
859
242
310
4
821
227
414
384
110
963
43
760
571
734
650
326
492
1000
445
845
970
665
118
877
765
138
26
348
357
158
276
361
969
373
964
108
191
824
109
379
695
824
413
416
216
183
64
833
641
388
263
872
553
133
978
551
48
532
759
119
961
477
62
856
913
860
667
391
761
763
229
660
55
366
909
101
150
972
332
900
423
501
841
916
902
817
90
430
251
452
603
25
691
668
777
663
921
285
217
567
523
386
961
571
650
842
353
411
19
564
843
872
365
534
948
761
536
971
8
474
376
423
91
276
359
192
624
517
716
252
871
683
461
759
404
597
254
297
83
66
567
269
867
998
948
198
1000
313
500
274
713
15
856
163
614
400
63
961
357
708
755
187
31
502
937
881
916
652
501
179
946
104
331
261
213
537
471
145
370
600
379
659
586
682
720
819
39
56
516
982
563
802
701
389
178
131
325
140
701
614
673
209
548
323
592
856
128
104
150
649
943
27
562
398
613
549
18
461
584
103
620
255
189
612
164
333
59
902
904
23
648
111
750
490
751
971
579
24
453
269
479
524
933
885
753
433
861
556
483
818
942
917
290
918
319
426
674
221
115
500
995
73
427
557
700
872
419
693
913
165
24
404
835
311
936
100
732
959
187
165
453
267
648
958
530
637
204
477
919
786
175
346
343
97
825
440
25
571
415
721
311
130
327
784
334
696
243
242
374
259
206
271
43
74
704
589
760
262
541
668
221
340
383
222
763
626
340
856
554
27
850
314
539
486
401
934
940
194
396
779
903
788
508
369
558
884
453
140
387
711
1000
545
272
79
384
157
22
617
20
296
489
22
576
454
605
42
991
229
818
69
5
582
413
499
123
955
166
457
696
231
634
125
2
524
113
633
762
552
979
421
554
681
693
43
938
788
214
617
950
742
942
518
799
677
624
436
235
197
817
660
70
333
616
258
747
360
365
868
722
562
969
980
615
651
243
896
769
818
468
63
897
340
951
89
940
254
900
559
151
840
409
705
663
590
659
124
495
872
713
939
24
726
449
293
446
98
215
571
634
345
816
530
114
39
258
368
583
922
508
831
515
370
210
640
895
883
882
893
91
918
636
590
168
846
875
121
708
954
735
357
333
162
253
993
704
596
402
896
684
209
132
550
773
424
525
84
631
152
19
35
746
618
385
706
831
118
850
944
563
226
268
205
644
995
769
18
992
361
658
353
60
322
636
932
890
450
617
222
559
958
494
718
63
828
222
116
548
509
503
172
21
282
165
341
319
696
55
785
180
376
892
980
698
148
76
944
318
623
873
41
811
305
748
452
318
862
894
644
648
391
132
601
526
391
456
134
336
685
445
357
249
721
666
259
315
514
965
388
206
999
225
818
834
702
813
983
985
466
369
412
440
420
91
120
803
503
892
207
392
644
123
202
112
115
600
839
170
685
781
230
872
931
820
862
511
487
136
442
518
44
818
387
645
661
925
671
940
288
243
801
651
456
570
961
19
766
971
709
118
125
733
189
515
730
936
502
536
390
656
737
375
131
839
191
83
977
762
457
738
423
839
393
741
402
265
471
208
463
574
631
926
497
776
567
183
573
151
328
35
351
130
202
302
112
951
144
604
648
945
397
296
129
364
556
3
600
636
36
811
934
828
813
828
924
867
330
986
668
767
675
436
588
705
489
854
202
312
573
279
261
927
840
853
952
901
76
985
696
256
943
6
437
131
836
336
487
485
445
565
662
472
371
593
914
746
716
181
667
711
357
828
832
401
517
880
806
225
316
191
811
299
239
419
612
467
832
300
983
387
461
807
305
265
716
160
305
911
860
52
295
794
737
306
192
694
751
420
254
348
827
77
732
238
746
780
579
266
909
216
933
627
339
809
357
620
731
209
718
473
408
131
126
546
359
42
613
400
916
679
45
313
218
299
351
794
335
824
288
502
829
788
830
813
544
94
755
907
640
103
154
901
244
513
419
25
582
817
688
271
145
866
903
237
265
210
360
135
443
445
114
59
935
736
651
625
366
81
18
64
612
622
983
678
803
495
878
340
27
304
463
354
287
285
560
604
278
608
195
332
848
102
710
332
327
857
606
573
512
796
911
510
752
329
504
384
459
606
128
884
380
751
816
377
113
676
44
812
715
729
226
53
686
467
104
82
289
330
147
13
937
839
359
317
336
198
766
15
178
889
436
816
441
911
87
387
781
806
213
963
46
500
198
516
723
332
44
549
966
284
221
406
925
602
603
631
306
480
637
560
407
424
685
794
432
236
955
642
535
305
545
913
866
30
927
688
876
762
604
802
289
598
775
837
423
731
613
339
4
831
117
828
223
112
599
951
540
303
573
741
671
765
169
558
262
362
242
737
981
498
25
347
155
968
511
771
623
845
751
984
163
681
907
521
728
697
213
131
726
500
944
18
738
76
155
385
423
469
172
732
816
611
820
988
853
213
891
70
799
502
679
942
147
855
231
560
695
50
602
371
774
967
554
179
1
16
49
260
511
498
398
591
371
401
118
926
736
834
393
253
385
413
523
835
440
447
894
660
460
693
851
628
594
772
248
186
149
94
660
478
768
270
934
281
368
558
265
121
156
828
14
11
311
907
282
201
386
944
610
157
73
582
278
766
769
352
363
397
248
640
93
52
884
27
80
275
32
559
672
897
633
740
24
967
585
650
491
414
174
591
560
80
690
129
913
782
364
191
106
956
956
146
40
259
611
428
608
240
111
323
914
796
287
982
976
693
126
608
130
855
86
23
216
478
218
487
212
293
973
764
186
426
975
857
310
435
627
797
204
1000
146
117
77
690
511
383
954
967
847
265
788
324
975
127
406
996
213
74
42
261
22
712
692
680
762
613
622
16
651
620
165
728
994
704
361
130
902
7
84
292
989
88
71
716
14
172
629
697
24
351
895
980
320
282
222
39
487
934
636
834
805
289
339
397
596
753
921
960
434
206
284
651
702
240
265
938
679
177
627
142
189
854
368
307
863
11
267
657
239
370
241
663
230
105
314
485
997
486
975
168
886
933
272
529
881
550
245
77
994
534
201
711
80
469
883
138
883
659
837
159
488
85
92
6
951
519
867
919
620
585
144
995
518
302
820
166
246
730
642
816
12
879
273
179
798
963
663
147
151
394
341
533
788
700
393
148
990
635
652
279
781
345
58
290
1000
395
260
79
676
832
245
112
564
218
213
545
321
758
954
762
530
227
720
263
740
383
938
442
730
951
141
250
468
74
197
118
589
324
235
818
792
976
671
104
240
293
398
101
897
965
498
398
775
699
825
718
194
192
393
859
529
360
822
314
351
753
997
615
549
539
709
979
792
305
270
290
632
209
33
762
690
658
260
939
583
810
44
790
714
663
833
778
587
397
636
712
60
933
195
96
839
388
218
473
531
209
290
942
825
305
220
640
675
404
398
469
900
207
188
782
280
653
529
31
56
734
672
632
705
891
426
410
29
928
377
29
854
784
284
776
132
273
272
866
787
40
489
254
469
621
615
545
250
429
984
198
408
929
108
670
642
33
76
547
483
981
634
967
184
554
776
871
86
534
281
671
311
705
1
973
631
546
614
867
566
11
220
149
49
421
407
522
498
548
377
494
785
448
276
203
347
432
168
839
680
860
936
708
532
113
16
198
381
177
33
109
213
762
311
841
178
779
754
939
439
309
756
344
414
866
682
513
662
939
905
240
853
242
594
624
628
86
209
129
665
595
158
92
926
225
173
358
910
200
750
925
692
29
438
648
672
217
829
51
270
669
882
257
232
16
589
892
818
329
64
571
934
200
846
240
148
222
597
209
633
253
359
188
315
663
288
24
860
990
47
104
720
1
108
611
120
234
808
883
753
460
351
171
947
395
903
960
239
187
537
868
624
876
94
841
216
63
913
15
706
487
23
111
798
74
617
727
736
286
504
187
166
289
854
893
819
524
710
286
935
761
647
571
917
628
463
350
426
878
11
191
39
388
59
921
613
991
626
163
705
770
361
196
767
344
335
754
327
51
113
762
53
631
62
358
411
181
661
737
619
711
971
511
722
553
570
309
932
295
952
267
795
618
820
924
385
651
768
804
459
2
540
585
450
621
442
370
240
68
510
26
880
517
716
925
819
91
848
739
755
680
666
104
908
466
635
83
369
763
805
358
217
641
393
986
233
36
252
388
385
682
655
949
730
265
809
232
31
659
59
371
159
955
11
622
318
275
701
410
226
35
502
476
668
412
670
873
216
248
300
631
535
521
4
890
391
831
795
186
368
31
502
333
372
266
558
72
161
205
113
238
525
157
295
696
246
121
846
719
625
539
523
798
209
688
422
91
311
162
804
855
76
902
114
224
109
556
620
675
175
737
490
328
37
929
222
15
305
366
7
694
62
193
25
363
111
633
671
99
934
668
398
223
816
949
222
885
158
283
911
544
689
42
537
938
131
290
393
121
918
230
224
59
707
833
361
118
753
156
605
464
717
886
671
51
87
142
551
406
209
386
461
849
861
607
866
151
422
597
720
871
932
209
188
800
779
19
71
969
312
649
611
694
405
376
594
978
908
301
478
390
936
500
770
241
167
106
62
449
663
152
886
29
266
401
88
518
246
80
473
977
749
597
301
454
547
877
619
884
739
906
534
469
337
426
229
515
142
521
1000
539
895
982
572
242
467
934
740
563
777
210
693
653
171
321
454
13
273
711
523
492
662
160
164
63
309
837
772
535
370
513
413
430
837
866
927
271
509
660
966
427
956
811
951
503
446
981
212
947
305
434
509
225
807
293
728
391
486
256
791
397
721
49
710
754
538
615
293
478
846
82
228
377
738
76
103
821
68
817
518
91
239
742
553
313
26
128
758
741
319
262
300
854
839
268
42
344
265
598
182
552
710
541
504
346
155
839
421
734
270
648
810
732
54
623
5
151
822
884
462
975
411
962
339
981
886
607
620
60
656
522
495
493
671
650
419
68
276
657
632
493
387
621
965
68
891
760
435
901
528
241
477
296
101
703
642
92
527
171
282
860
110
459
995
844
430
982
626
467
415
160
203
22
475
206
487
904
71
184
736
356
729
645
877
260
293
41
545
916
172
358
314
130
434
126
38
168
876
999
435
295
591
632
879
707
170
444
955
600
363
179
465
37
942
872
428
36
543
953
148
9
463
727
509
259
742
412
538
786
385
241
691
20
229
861
466
442
805
445
712
275
508
435
449
556
542
834
90
925
391
307
723
426
15
122
493
458
594
158
194
755
374
758
908
963
126
224
871
924
774
132
807
257
986
449
631
222
937
641
773
114
940
574
382
642
404
46
288
844
396
182
967
97
102
796
645
684
656
28
385
194
145
241
190
779
42
182
167
895
999
908
345
698
697
798
980
715
408
280
132
757
47
561
797
287
720
731
140
624
225
106
221
435
527
566
150
935
950
957
778
93
737
318
880
933
648
807
282
710
493
756
542
343
828
157
583
977
576
254
183
987
984
650
298
12
181
458
14
876
537
620
345
351
222
428
171
758
597
683
373
368
557
681
635
371
556
396
402
984
764
805
255
884
785
308
279
769
386
572
82
262
954
936
760
822
772
732
478
552
744
475
316
22
915
906
695
317
970
297
986
515
926
257
900
716
386
524
858
570
54
861
826
961
696
245
24
142
370
967
538
147
524
167
68
766
540
550
991
680
386
749
442
655
307
852
358
813
916
124
294
97
592
828
327
2
870
368
596
526
343
677
817
93
682
892
637
877
552
871
841
565
585
40
229
94
52
385
449
322
574
165
197
889
18
19
970
770
719
756
990
133
294
16
15
169
614
398
494
483
959
390
933
504
965
636
380
111
761
639
693
346
595
17
566
640
325
770
387
461
391
895
626
669
271
815
822
147
945
766
237
480
642
261
890
532
928
208
977
802
289
69
699
328
455
710
73
740
95
209
649
782
960
961
928
243
198
887
922
804
365
373
500
701
599
893
89
512
536
911
872
565
799
735
791
692
325
524
603
73
363
495
706
897
695
722
672
475
554
588
250
182
708
109
111
339
432
825
729
712
398
913
663
830
64
490
890
732
788
826
35
56
731
325
82
633
582
689
582
850
293
625
493
107
290
843
509
610
86
843
146
627
819
172
917
42
17
412
639
743
789
165
282
935
735
672
818
923
94
524
186
328
27
117
848
945
487
139
402
677
837
358
380
58
195
465
643
887
554
489
788
416
845
611
573
330
455
786
660
514
213
689
907
197
450
907
24
619
574
221
679
816
536
24
997
433
660
666
17
783
587
556
823
472
505
347
995
29
381
443
507
912
697
351
415
181
15
116
503
872
802
190
569
836
94
610
151
386
978
276
353
601
342
475
843
552
56
508
276
30
530
438
101
585
604
539
226
798
862
957
37
774
733
489
55
748
222
124
906
580
692
197
330
654
915
574
695
350
485
274
818
836
805
335
966
409
60
539
549
963
992
792
407
493
827
618
534
683
420
185
798
782
519
765
464
926
70
327
346
6
679
206
990
1000
614
463
606
374
282
555
388
848
696
444
429
301
267
102
727
64
220
644
657
191
992
29
832
550
295
294
522
743
891
846
657
916
732
163
946
529
848
609
886
983
232
755
206
839
51
704
843
19
668
457
674
8
360
271
42
547
100
302
582
749
444
548
971
867
415
284
20
188
212
694
926
622
751
394
635
631
317
894
986
57
71
804
716
268
733
796
465
801
569
879
648
322
690
574
408
315
766
934
920
372
486
178
980
338
473
921
161
846
933
562
821
981
981
467
895
909
473
951
700
293
165
942
988
255
217
435
47
448
347
472
982
518
447
460
207
889
114
92
781
308
323
987
481
61
437
447
384
100
844
407
302
581
778
728
644
472
310
480
115
972
45
759
234
423
819
867
801
319
565
422
300
763
556
48
729
451
453
838
486
817
907
690
755
533
30
981
311
917
655
737
766
156
185
652
85
446
787
813
593
314
816
992
838
390
677
695
373
858
756
947
952
666
665
952
696
309
824
384
469
693
299
5
123
126
896
754
267
960
768
200
894
814
133
510
580
561
288
662
919
463
778
671
546
960
456
8
387
590
148
247
761
447
858
195
560
407
723
410
30
49
436
72
598
864
488
620
784
858
383
433
493
85
896
115
863
43
602
607
441
61
123
439
625
11
976
917
238
721
493
951
582
461
984
518
529
723
231
463
36
332
432
457
991
606
916
462
398
867
305
966
793
144
310
574
171
284
31
327
895
25
430
197
785
806
656
826
40
217
19
484
755
20
710
616
499
636
817
103
862
814
787
543
926
975
259
445
313
378
94
213
879
812
514
199
90
10
506
882
861
352
995
493
945
703
887
942
948
434
739
1
749
774
692
70
342
640
310
706
149
999
136
339
434
648
104
238
738
8
426
833
201
164
209
976
203
921
851
577
31
74
222
317
155
470
729
829
290
654
647
811
589
87
489
32
236
972
794
73
197
702
415
978
89
830
303
651
974
236
803
994
356
868
694
281
844
31
565
180
735
693
596
199
238
704
551
26
184
136
533
437
856
157
98
933
982
21
429
281
54
744
577
462
866
33
215
314
566
821
974
341
584
575
182
721
521
171
744
553
429
700
985
782
969
53
496
25
606
510
432
732
345
839
236
759
495
609
459
402
623
508
232
415
158
492
926
334
70
456
725
681
664
976
146
282
842
381
49
951
59
29
274
283
862
223
895
142
79
628
959
715
690
398
760
668
920
494
900
29
345
812
839
908
660
823
209
73
282
399
885
680
159
374
712
185
984
170
808
559
519
535
594
481
878
1000
24
59
440
213
27
19
522
663
833
1
50
688
674
755
285
831
342
605
40
764
222
470
964
41
702
119
192
855
329
108
54
862
674
16
630
854
632
173
619
746
809
86
370
905
716
136
981
312
735
947
4
445
180
14
681
43
357
802
611
115
204
556
408
636
948
467
209
418
248
699
875
493
434
991
339
233
800
232
824
95
382
410
619
546
287
842
642
245
443
431
337
6
571
958
270
410
308
117
427
189
663
79
383
672
401
837
398
654
542
513
37
997
867
80
65
187
243
690
244
836
600
884
140
811
589
492
177
282
344
974
45
464
222
255
967
276
130
876
500
417
824
397
301
601
568
584
735
836
679
816
273
644
769
560
409
68
957
506
191
181
914
132
552
532
382
64
314
657
732
583
137
327
160
3
701
704
424
490
85
914
328
54
660
893
782
96
815
489
907
887
468
949
541
796
643
910
513
920
351
915
214
999
635
298
310
142
916
21
954
959
729
653
457
131
488
221
189
334
221
132
441
684
71
660
60
561
939
821
948
749
880
539
940
319
685
136
143
569
662
132
533
652
789
198
540
221
245
938
341
533
845
817
824
980
41
200
513
941
964
926
283
177
452
288
335
735
132
593
750
476
385
683
905
881
495
972
187
757
328
540
728
838
665
799
317
15
714
88
291
147
365
304
935
959
501
337
847
523
8
654
813
243
201
836
958
12
33
272
321
492
802
472
557
996
90
680
173
556
288
555
535
115
391
690
938
668
721
658
150
391
821
84
215
431
94
971
747
121
643
135
600
802
401
144
586
319
863
587
871
522
639
866
779
783
611
947
998
631
699
659
608
61
91
222
904
32
351
633
757
892
967
438
102
255
783
187
210
903
225
581
610
852
390
898
842
624
890
805
793
105
792
75
979
118
135
23
12
967
260
735
432
778
649
256
243
414
36
972
790
91
326
336
44
633
229
962
982
418
613
838
525
722
259
102
374
93
100
356
214
828
49
8
938
397
184
472
962
896
435
368
239
191
887
49
272
465
475
881
282
285
160
698
722
167
639
786
465
812
258
542
345
880
82
699
189
188
16
627
140
688
443
757
853
442
110
615
81
88
893
315
301
962
625
596
290
115
383
663
944
979
532
152
263
307
297
522
114
318
886
33
284
700
967
299
396
226
839
44
430
254
769
335
971
330
794
31
816
414
733
641
229
24
289
52
965
708
900
860
180
829
429
124
447
578
865
438
430
539
971
129
193
846
218
246
736
195
368
775
117
522
850
144
423
187
373
694
948
845
311
214
161
45
29
66
410
761
697
672
901
704
121
366
146
253
758
670
955
312
435
102
43
190
196
495
522
864
394
659
829
637
351
903
160
225
909
612
106
795
736
562
971
337
525
123
209
990
126
861
541
670
193
271
530
395
165
558
876
196
260
455
201
414
687
13
875
466
488
210
298
888
215
993
100
564
209
58
933
571
342
288
861
13
927
256
898
529
960
621
890
910
965
559
756
406
525
600
128
856
972
356
506
721
839
691
382
484
397
789
238
632
32
456
879
624
231
728
410
829
723
536
988
407
627
711
643
496
550
139
627
878
209
205
180
509
535
984
124
889
172
814
405
301
990
983
555
348
480
289
65
63
918
109
820
109
772
456
85
214
120
222
990
63
784
422
133
309
460
812
681
226
386
675
316
823
999
925
485
877
555
948
655
468
959
733
718
44
870
942
242
985
710
512
17
892
368
294
214
579
253
995
539
815
825
385
939
427
897
351
800
273
817
856
67
928
88
279
405
690
124
960
327
627
601
941
207
953
317
85
234
991
544
739
648
314
615
88
72
455
895
169
312
747
331
288
832
413
509
233
954
64
501
240
970
96
824
159
534
340
523
637
144
487
705
405
7
435
888
985
328
728
143
197
908
689
338
874
929
666
764
83
995
65
23
994
828
484
354
238
460
307
507
236
464
589
855
519
490
910
690
500
377
172
548
496
197
947
979
78
835
130
364
957
173
62
300
713
455
268
548
618
212
177
774
709
956
960
119
34
939
708
142
699
437
686
844
938
402
353
270
932
830
138
672
511
856
738
319
206
415
804
842
311
298
486
408
788
552
213
127
843
490
496
854
958
7
270
904
34
510
501
325
17
543
349
26
68
93
177
477
896
644
75
692
346
282
393
919
712
531
971
775
543
157
363
583
885
862
392
313
10
665
778
829
694
760
427
128
1
823
209
869
367
65
689
765
476
800
333
348
83
947
174
223
447
666
776
146
486
290
611
181
131
815
640
761
585
472
979
665
378
332
998
825
153
453
126
381
123
834
917
608
977
305
644
158
845
541
805
581
585
583
451
214
276
605
143
371
307
178
742
195
841
961
884
693
785
550
234
210
580
230
87
89
296
486
887
292
521
431
584
556
493
773
521
28
765
524
718
399
449
435
10
275
753
63
472
877
84
426
977
207
461
470
521
501
375
925
161
120
510
696
26
35
928
624
889
718
432
302
201
552
808
664
328
839
578
216
976
125
706
99
432
812
402
692
284
979
841
38
779
923
115
241
792
181
182
870
704
677
952
553
112
226
867
198
418
830
523
672
808
63
934
392
35
387
9
959
732
424
719
900
670
27
169
599
503
528
540
704
63
661
413
672
181
482
528
582
371
81
424
75
417
979
722
54
79
911
61
785
664
110
783
170
192
303
545
260
212
382
950
521
141
106
145
980
128
266
95
132
74
442
883
412
384
864
993
120
461
920
959
898
729
526
172
266
187
925
923
259
113
487
943
900
558
697
796
120
694
884
501
729
903
160
659
223
759
695
178
526
681
703
425
265
77
476
237
797
294
374
798
8
509
938
799
850
3
187
650
700
913
728
794
876
649
513
302
60
655
972
12
974
84
741
453
362
261
431
653
235
506
691
748
377
30
336
970
296
104
460
212
193
645
246
867
996
709
684
42
194
84
503
577
47
362
402
511
694
391
125
776
844
981
985
942
26
99
206
743
818
552
851
24
80
354
168
437
987
519
897
929
574
55
442
599
572
299
880
988
565
542
402
246
854
103
187
904
993
642
652
166
644
474
713
748
245
134
981
281
22
236
790
216
33
909
574
987
234
769
391
896
101
398
319
843
894
788
54
527
524
62
274
210
884
51
235
485
619
990
646
712
602
675
51
1
748
910
852
632
442
980
614
823
516
164
490
600
661
45
424
334
154
448
323
195
21
395
510
355
82
364
581
317
853
493
295
111
948
90
180
446
440
975
384
125
637
716
689
150
853
788
721
994
43
45
119
452
653
667
848
318
601
915
877
932
87
624
195
245
870
336
455
662
675
379
630
386
672
3
694
340
341
892
710
80
558
968
705
246
481
452
349
253
629
546
776
878
595
964
860
355
970
734
848
372
409
392
576
110
232
702
390
85
601
505
503
84
108
169
763
947
543
379
717
281
751
685
392
440
702
302
467
288
378
154
341
323
585
40
175
679
598
122
116
474
384
608
811
680
221
651
774
443
713
995
330
340
578
809
687
598
71
510
139
675
607
98
517
963
938
671
806
545
247
355
261
125
650
819
454
238
886
935
429
813
433
885
553
12
893
225
691
11
250
973
77
63
512
786
589
732
363
700
215
685
619
680
118
795
739
462
108
583
127
777
288
245
702
46
310
595
49
100
982
249
478
276
938
309
499
501
694
608
528
611
707
303
138
218
976
234
800
869
317
9
841
131
696
205
320
507
900
432
608
735
403
268
735
139
467
212
978
173
423
901
735
198
590
775
482
836
477
292
470
941
747
546
883
367
938
856
375
204
62
485
244
97
38
150
45
600
374
407
78
228
610
294
41
67
865
852
105
294
205
274
795
960
686
466
393
736
657
727
981
98
295
157
885
596
438
78
23
448
466
497
597
671
370
141
617
380
172
111
7
658
543
551
414
649
804
49
383
87
509
632
268
551
426
372
106
111
90
571
685
913
26
442
220
435
379
8
361
852
977
653
752
944
766
411
979
475
156
597
569
831
77
838
623
946
424
898
781
274
146
964
491
595
444
200
966
964
417
468
770
3
21
56
744
27
394
167
837
218
435
695
456
156
31
486
177
559
470
921
971
993
391
139
655
653
95
612
905
59
149
146
44
647
5
571
743
794
786
518
953
773
481
723
666
498
543
256
543
684
275
873
77
232
472
509
688
235
471
538
111
966
164
10
459
646
538
578
635
544
992
146
89
214
33
620
526
251
941
291
812
999
645
503
229
41
368
247
210
166
559
248
871
719
262
919
976
904
330
281
456
646
852
584
231
101
735
897
899
735
628
364
783
194
300
207
934
830
114
766
991
882
472
59
145
730
986
413
108
614
628
659
660
437
342
313
262
40
388
897
268
413
235
294
458
840
941
601
974
904
777
455
261
613
330
222
271
628
411
759
33
756
915
671
642
381
173
123
895
496
460
312
67
355
41
620
783
512
566
346
548
236
678
657
257
821
386
58
925
353
181
246
957
844
848
698
504
466
643
718
845
847
838
943
266
955
625
515
631
163
41
221
669
494
863
902
29
879
409
350
329
495
792
725
732
921
454
251
81
864
731
573
255
697
831
711
201
895
786
959
45
739
914
455
808
327
832
388
486
11
314
977
707
883
133
409
715
809
569
916
206
829
449
41
379
435
429
925
663
364
697
156
729
62
482
293
793
885
509
710
704
475
42
802
996
431
266
910
890
606
533
559
235
854
440
708
501
45
805
789
224
522
320
203
782
941
113
830
950
603
467
846
472
995
688
811
802
224
467
540
222
431
130
770
817
71
825
1
117
163
71
168
825
215
66
9
694
553
807
79
503
224
400
387
99
448
880
503
607
860
510
847
281
420
784
567
910
907
302
43
360
392
281
600
607
942
705
463
578
60
20
303
217
85
850
16
462
799
415
520
232
42
203
417
99
978
997
349
57
986
498
760
677
856
691
559
994
69
531
857
666
481
724
582
292
636
175
240
308
285
130
544
538
420
176
913
290
272
43
88
905
283
562
238
754
10
256
965
25
299
767
550
42
818
732
646
511
226
780
375
809
847
40
429
388
676
914
371
409
980
913
788
973
527
20
330
698
706
393
952
941
384
234
888
638
422
260
946
636
128
584
774
360
820
714
588
858
872
47
740
571
284
505
180
675
854
867
509
457
492
981
877
13
91
253
376
467
623
747
981
52
818
748
310
633
861
903
636
687
36
881
684
312
126
63
672
590
711
921
979
501
184
614
581
629
420
814
93
116
594
919
871
662
501
645
105
877
141
424
273
991
5
191
617
703
693
878
553
983
9
419
29
747
662
115
906
623
68
984
365
483
478
113
183
33
893
87
516
473
771
290
422
222
516
251
3
718
177
222
439
574
524
865
638
738
943
278
457
862
146
566
679
770
759
838
10
794
249
797
361
731
494
83
620
370
545
123
898
845
760
545
978
559
557
133
336
67
480
885
610
77
143
15
857
717
884
594
288
278
637
134
405
946
617
593
652
427
899
192
742
949
870
916
793
882
829
808
306
55
726
952
780
947
144
593
471
95
134
942
381
418
471
63
89
698
193
693
441
91
57
954
407
392
673
716
689
753
640
792
742
677
946
240
934
430
294
788
515
445
748
817
898
895
288
383
514
402
460
468
184
726
260
49
488
391
824
578
102
422
271
151
456
742
271
6
347
349
517
966
321
65
293
101
773
531
775
199
666
115
522
598
742
571
853
552
848
636
458
583
794
195
635
208
735
315
12
9
622
220
478
291
730
251
288
435
588
936
48
644
908
581
285
985
275
195
875
503
410
152
445
701
811
709
183
899
445
396
218
765
951
343
798
878
511
788
76
288
149
402
183
855
700
537
643
637
131
206
901
697
205
415
880
482
677
448
59
369
390
848
484
53
623
126
526
212
29
684
942
278
313
50
988
195
589
266
910
791
986
212
129
721
662
716
835
1000
847
519
496
819
915
572
14
668
794
676
849
802
163
166
493
732
57
226
39
728
436
394
505
301
226
25
727
237
155
775
353
43
405
667
479
605
769
934
927
427
493
625
61
98
478
912
271
513
812
142
953
943
900
945
888
262
591
120
417
520
793
603
697
561
20
548
640
590
203
441
820
423
890
220
775
646
642
548
632
77
32
779
917
723
167
644
745
892
57
346
323
244
468
622
846
350
137
251
416
738
333
671
575
532
805
649
395
506
94
379
866
799
19
27
469
576
933
464
419
660
979
879
55
518
149
23
241
3
437
66
452
966
744
447
419
164
473
629
825
909
965
387
566
536
2
81
523
103
637
433
599
672
476
435
54
172
420
384
785
96
528
506
252
241
346
262
235
273
555
239
440
167
245
462
256
444
461
87
649
723
936
682
250
292
66
723
183
293
282
532
89
634
903
576
84
928
481
961
120
607
401
997
299
839
204
897
256
49
700
41
602
649
446
748
804
28
561
157
565
11
191
660
966
740
134
295
134
392
280
663
195
216
566
202
614
135
61
125
812
560
674
929
100
108
715
129
587
661
196
815
675
536
357
688
184
602
328
466
908
843
269
941
664
206
565
510
459
586
898
709
460
439
64
125
850
817
460
78
509
623
24
640
683
443
280
881
457
661
822
697
885
434
224
245
126
742
896
769
746
948
836
580
655
218
602
38
828
706
45
662
996
627
549
907
42
210
554
709
695
57
136
670
422
615
281
584
133
307
293
105
429
364
451
527
639
567
646
4
811
892
214
62
176
551
616
923
329
2
904
966
503
318
173
664
906
727
289
447
996
204
245
250
981
780
440
937
563
608
5
435
147
902
73
123
314
563
547
993
338
707
481
129
923
305
669
321
156
851
417
986
852
311
756
128
103
600
545
784
861
489
17
213
790
146
321
156
493
500
533
619
419
225
408
976
436
403
891
674
82
907
12
435
967
86
359
689
692
603
719
867
873
194
868
335
579
642
728
991
552
506
264
966
69
1
573
451
207
964
591
408
580
6
705
794
299
822
378
987
55
97
545
299
711
614
175
809
760
991
874
279
272
901
824
566
773
813
672
774
581
998
204
391
693
42
766
754
308
154
439
521
377
337
905
250
391
867
804
799
769
596
122
43
804
320
825
276
97
807
504
809
831
120
299
434
8
547
712
869
12
809
236
810
438
183
901
932
195
858
950
24
261
140
857
477
361
87
795
487
23
785
514
676
156
734
278
319
315
786
164
989
299
617
543
231
575
12
21
840
299
105
461
396
385
308
962
4
149
849
818
582
547
737
588
618
928
485
327
68
506
107
950
934
489
761
473
100
900
876
560
241
644
800
412
923
314
760
550
574
550
451
418
644
515
633
98
111
188
943
617
460
729
539
466
419
137
282
997
6
765
919
288
915
58
128
931
851
25
357
950
213
561
72
699
414
715
453
192
234
392
551
752
807
796
641
279
235
100
840
700
393
480
33
369
141
626
839
274
61
323
630
933
831
475
600
734
497
218
480
342
278
412
815
471
968
828
600
985
673
843
709
799
394
275
770
530
937
315
56
151
712
125
510
195
268
816
263
198
824
970
829
135
612
778
748
599
627
166
581
315
199
995
42
403
913
521
508
482
553
846
351
301
138
983
296
93
602
524
511
260
356
629
238
320
799
179
558
245
807
520
325
492
386
166
368
25
958
191
854
583
205
813
59
314
995
865
881
617
692
392
143
722
45
663
101
100
957
209
599
252
643
373
996
838
85
1
351
348
227
576
312
765
68
58
845
714
655
184
226
632
989
747
689
400
40
682
759
674
376
364
552
900
405
636
282
627
857
493
794
236
936
256
190
698
514
292
522
274
850
74
83
352
582
385
39
768
147
35
29
35
382
288
877
854
763
550
742
195
645
540
894
993
906
309
764
207
600
967
119
599
572
920
970
73
501
758
323
843
535
649
997
13
451
271
502
365
314
838
408
298
704
754
746
883
893
783
686
947
810
398
196
949
211
137
391
159
269
406
40
324
694
120
49
566
570
997
762
718
346
112
627
710
776
524
99
886
175
408
650
318
42
136
415
312
960
195
313
265
706
643
440
977
645
52
161
327
857
538
598
937
863
523
167
92
519
325
362
715
381
561
297
634
847
589
354
733
454
901
890
827
975
492
153
276
397
651
431
397
420
607
995
730
855
665
559
87
181
272
853
77
574
486
381
544
921
894
577
885
665
927
434
789
890
867
66
289
654
565
871
388
477
46
674
694
817
729
701
682
528
938
314
185
590
756
176
696
841
40
950
897
53
583
639
583
465
11
457
816
774
972
436
718
713
584
36
759
519
907
705
816
21
407
654
523
613
991
143
665
57
241
207
431
957
855
58
365
715
179
374
776
977
923
315
156
901
823
356
896
29
44
994
230
243
586
965
855
12
821
835
112
129
553
772
1000
240
674
822
492
708
571
264
847
805
935
469
614
761
495
221
59
981
541
651
582
574
767
769
492
425
108
62
210
218
754
821
552
187
448
617
259
870
519
851
350
823
826
409
190
79
951
225
393
100
509
21
796
121
430
526
802
90
403
299
309
825
459
602
289
652
843
906
872
531
921
271
389
586
814
240
467
68
914
914
678
965
173
553
671
891
311
391
973
428
671
351
856
777
495
3
746
449
808
403
688
732
924
445
240
842
848
944
50
983
472
972
33
35
525
907
740
219
704
213
27
878
247
263
565
474
524
368
113
1000
851
798
691
275
861
717
986
990
208
916
366
984
328
669
864
920
227
295
374
448
26
796
80
977
63
476
837
367
914
566
812
230
576
727
227
22
433
727
407
790
340
752
704
255
295
552
65
898
763
85
136
852
622
400
858
697
104
247
423
710
861
306
322
713
450
1000
982
451
148
543
113
319
949
281
511
362
44
384
469
688
845
646
394
811
829
497
458
23
129
302
350
538
759
705
255
68
841
71
215
457
998
43
940
180
338
857
935
872
102
342
548
468
63
450
170
245
282
778
359
790
635
754
88
913
828
108
679
603
292
766
241
399
401
542
580
961
4
890
620
214
96
454
360
150
794
417
253
283
478
402
689
764
74
258
964
411
980
153
694
211
46
250
161
410
381
675
472
941
471
633
748
795
254
297
755
897
348
517
550
195
578
509
733
978
319
426
839
863
943
88
261
517
834
258
841
941
7
521
940
48
387
222
335
365
148
933
820
892
377
615
698
565
476
969
700
310
378
488
21
340
635
339
269
270
891
563
150
566
72
991
578
71
863
958
774
630
696
107
582
363
524
573
915
723
100
387
733
319
361
200
435
397
783
329
870
992
246
702
433
37
31
453
893
112
62
845
629
116
404
686
957
851
332
599
108
414
978
363
170
330
695
9
45
561
797
543
45
875
242
951
251
578
186
610
187
298
42
374
678
283
866
352
951
731
391
841
234
732
44
989
62
762
593
461
519
69
892
846
436
918
318
545
354
445
117
635
698
738
848
564
209
892
511
546
110
981
746
241
898
293
697
612
931
716
765
867
150
855
461
53
419
334
37
155
920
722
372
548
986
732
848
240
564
615
599
658
219
205
546
629
219
663
115
832
785
803
386
206
25
798
692
740
427
186
363
611
32
375
396
847
572
226
329
580
930
903
469
471
255
901
953
76
928
34
809
763
380
233
314
294
442
199
449
319
528
288
191
872
411
554
721
384
824
523
335
890
384
99
35
854
583
986
290
489
730
151
438
533
732
142
553
191
584
532
383
351
249
348
125
255
396
143
395
501
99
240
758
648
190
800
534
701
411
559
448
462
907
489
862
41
883
180
968
863
431
425
316
114
653
366
504
907
177
566
671
408
125
517
680
787
340
477
523
129
486
929
536
373
177
681
460
961
907
340
255
94
934
902
853
421
659
276
685
525
277
832
939
807
640
473
962
232
348
330
125
914
47
881
788
735
800
192
680
999
181
43
152
646
431
874
259
687
625
845
566
334
281
843
913
782
284
914
88
684
294
414
528
188
24
198
713
791
932
246
858
395
890
473
910
670
319
876
581
245
166
814
369
310
818
943
62
920
733
294
252
659
121
993
731
379
487
431
500
366
235
7
269
681
796
154
1
368
970
57
19
916
234
299
664
652
796
720
298
696
86
920
700
774
173
159
541
405
351
922
672
964
730
1
445
682
246
790
94
903
902
418
548
827
441
433
651
505
879
58
908
102
504
411
324
280
995
697
818
116
318
69
989
117
908
793
726
774
439
344
263
563
197
305
791
473
634
264
686
937
220
436
741
524
99
407
498
852
373
196
977
985
87
853
597
983
81
919
77
389
933
371
456
169
168
143
139
41
721
895
62
160
444
487
641
875
70
525
172
621
630
416
732
52
795
603
440
197
991
55
142
766
414
603
209
736
283
430
127
972
746
887
32
4
875
791
131
977
90
569
211
466
169
901
92
116
724
20
904
965
669
450
558
963
704
779
614
386
330
974
51
782
216
900
95
641
25
934
350
182
948
987
988
544
266
845
610
176
247
446
728
417
537
600
510
103
27
732
534
509
836
380
846
129
671
589
516
559
316
804
234
264
429
577
221
80
118
204
879
125
31
386
153
205
766
176
546
886
517
718
68
174
737
795
200
126
515
749
111
784
71
146
955
537
459
450
70
400
132
59
280
694
484
277
325
350
885
198
632
342
987
3
269
789
297
893
936
917
88
713
272
356
737
365
602
246
490
234
471
221
470
236
980
639
460
508
951
341
633
465
462
832
937
692
106
12
278
113
626
484
993
996
247
51
373
573
115
186
136
533
732
185
846
164
175
188
204
692
200
483
69
231
21
310
820
814
684
914
356
155
465
724
669
189
665
355
377
897
475
591
65
635
370
644
568
993
592
734
554
185
860
499
927
131
392
821
549
656
707
389
792
711
398
759
217
107
319
688
470
24
131
260
131
470
204
700
829
957
233
772
396
860
734
376
223
357
815
260
268
344
194
815
351
459
483
508
478
184
191
877
926
8
692
934
765
820
698
485
257
988
372
98
354
123
302
461
109
88
998
377
357
678
448
966
470
302
523
503
352
115
732
880
56
320
855
934
615
771
545
703
704
582
804
247
750
186
618
816
985
161
676
28
699
212
266
172
677
856
930
954
380
759
388
760
935
150
595
30
429
430
515
414
292
911
342
184
800
586
467
811
850
5
420
684
194
591
413
731
263
191
853
70
565
277
383
907
386
956
596
581
194
876
542
68
707
187
562
254
63
957
766
976
910
812
698
185
515
130
327
568
194
816
543
627
448
530
741
516
214
271
936
909
527
369
66
796
743
280
799
366
144
52
218
98
435
966
184
743
128
650
97
150
288
924
985
779
436
727
570
303
682
751
24
931
308
810
622
941
94
577
401
440
642
9
216
570
866
721
316
199
552
561
667
646
629
878
761
133
371
318
587
486
246
477
781
37
571
450
686
846
400
101
218
96
352
874
996
989
171
124
109
527
870
191
312
333
237
952
176
62
361
139
897
6
538
509
79
224
640
844
757
893
541
872
353
603
713
374
40
8
451
196
210
589
493
375
347
266
987
316
630
274
853
810
22
999
592
684
420
470
517
62
708
784
180
524
159
61
511
932
729
428
795
356
212
138
174
283
95
181
778
281
241
627
958
377
179
522
330
672
876
368
520
147
368
81
558
166
484
855
827
942
248
553
390
98
211
77
269
506
105
662
953
785
715
200
27
211
807
525
292
275
270
7
172
820
369
991
536
498
173
337
237
288
737
787
875
921
617
962
250
387
613
547
966
132
467
609
476
152
350
75
617
980
611
97
336
442
233
402
890
177
807
777
264
115
696
480
948
500
210
754
469
607
263
595
301
983
998
573
859
905
277
832
277
758
782
352
605
220
715
168
856
429
710
549
78
849
638
29
223
117
455
827
168
13
69
391
645
594
512
732
198
683
369
768
554
122
469
121
936
665
394
648
924
912
185
575
444
465
991
226
334
338
58
224
745
707
632
513
301
307
792
715
553
107
241
145
774
422
350
266
544
300
510
489
879
833
23
21
924
15
253
859
295
936
778
159
264
373
607
937
860
286
317
458
849
348
126
736
290
399
526
291
33
620
61
665
99
313
239
236
327
388
395
555
104
72
482
772
218
867
419
705
121
509
640
770
955
523
896
299
710
989
212
725
791
296
138
760
94
997
77
942
410
340
515
883
601
719
459
136
543
41
224
829
257
5
7
151
3
342
348
302
382
372
661
748
619
636
520
506
306
922
252
682
825
760
739
704
573
340
980
511
882
836
133
458
237
348
228
859
967
2
726
895
121
276
361
76
625
293
512
571
148
630
451
510
324
190
375
764
111
814
103
848
94
606
669
286
493
390
803
228
487
334
505
136
195
526
458
84
360
222
39
592
300
533
77
932
205
598
318
549
218
615
738
544
17
708
491
213
839
254
288
234
944
196
414
461
555
849
450
193
206
887
982
460
253
524
249
100
14
394
704
377
661
234
950
450
485
330
353
259
641
572
923
315
788
123
718
410
314
923
114
494
13
721
773
861
103
848
44
253
496
708
809
754
83
861
527
119
586
578
325
721
236
977
502
437
108
215
745
601
483
679
696
633
987
836
236
59
593
207
2
411
792
903
205
966
356
309
781
319
178
804
256
589
598
837
493
409
461
293
663
952
946
855
343
937
826
974
674
932
411
135
865
318
894
350
166
932
188
190
615
783
650
196
488
201
262
248
413
454
948
283
512
157
699
797
790
795
111
722
212
260
729
601
578
630
342
447
317
300
981
345
828
213
933
605
829
161
488
275
449
26
534
871
479
407
327
507
288
288
944
967
391
258
1
883
538
363
172
890
537
797
935
516
674
539
767
629
760
494
683
434
329
874
630
393
426
365
734
952
799
70
829
604
1
365
5
676
87
581
124
191
118
829
406
279
675
422
210
950
907
61
70
440
445
364
913
983
671
390
129
609
420
496
819
494
181
280
137
460
259
342
83
453
162
326
513
214
680
7
404
911
754
219
605
191
227
43
404
967
16
8
254
269
76
4
896
672
753
245
955
111
783
887
784
388
237
843
991
337
170
930
583
354
610
732
146
9
761
457
791
508
23
640
867
90
449
741
614
808
816
585
974
767
323
84
764
587
282
908
303
774
825
572
340
701
822
932
876
127
664
220
7
506
542
573
472
900
165
450
983
910
585
493
708
943
979
122
558
41
756
623
991
688
327
566
138
287
248
130
965
431
205
329
51
738
495
182
304
742
228
591
609
284
483
65
967
895
32
449
150
912
47
507
287
459
423
547
73
943
964
279
496
450
679
735
70
255
898
409
554
685
706
727
80
745
485
587
397
231
945
970
677
554
119
602
966
104
233
164
886
828
234
883
629
591
25
155
676
29
139
480
857
868
662
154
607
68
700
69
278
782
603
485
373
781
420
814
455
961
811
327
226
516
728
157
22
632
702
144
527
850
515
883
20
806
342
775
907
706
221
37
563
708
818
383
775
391
34
519
186
610
955
718
164
324
984
441
500
461
809
411
150
465
998
591
5
942
609
237
344
738
212
562
178
868
70
583
171
934
84
405
207
55
263
544
954
896
125
863
974
61
459
386
18
981
274
535
158
445
627
309
314
83
246
551
561
435
508
730
297
733
386
576
34
147
446
539
46
41
825
241
608
757
397
37
872
506
14
327
693
267
794
506
888
957
903
280
458
754
195
633
293
155
350
897
761
260
888
224
350
809
527
256
241
697
877
938
298
45
407
235
423
438
929
979
693
580
604
183
967
464
605
961
900
131
136
594
416
222
453
408
746
829
904
855
54
598
782
588
554
649
936
407
740
627
707
635
53
133
704
886
832
855
372
182
909
927
58
103
564
489
545
945
850
888
579
914
489
730
994
974
640
804
407
340
848
933
340
524
378
971
835
494
985
487
284
759
864
164
234
168
167
571
419
738
25
769
90
151
418
160
21
394
631
84
226
612
244
946
515
467
799
73
494
127
345
55
533
590
10
90
491
190
690
711
740
992
642
329
103
285
564
236
862
518
245
39
930
848
449
44
578
931
59
758
885
706
853
499
209
700
497
98
518
826
455
809
393
723
597
836
882
448
166
332
138
712
671
348
963
947
989
945
966
168
644
638
9
990
778
370
53
184
822
497
273
835
251
603
541
511
69
548
2
846
901
832
454
601
644
208
706
556
630
511
896
586
181
828
7
861
248
448
446
402
540
536
628
182
189
90
935
503
536
551
316
672
53
374
31
887
773
984
752
792
853
796
296
386
65
402
748
859
55
599
661
417
204
669
281
381
805
209
477
669
37
837
171
262
931
334
570
419
109
102
440
216
591
353
990
436
355
105
672
973
692
895
361
690
574
80
905
97
424
762
23
311
683
640
872
512
535
570
379
506
979
196
628
59
208
779
134
405
907
306
880
671
650
978
342
22
61
452
552
993
759
595
450
809
422
18
400
536
483
411
744
488
56
501
724
692
733
524
900
140
762
212
474
189
961
670
533
747
429
986
304
829
770
23
958
636
50
688
376
578
170
890
550
552
682
504
963
352
336
939
409
300
788
317
149
69
991
843
243
171
745
674
182
812
774
506
636
604
475
105
280
172
195
243
152
800
450
831
938
114
65
575
920
231
561
122
33
942
488
528
656
270
583
818
294
193
795
578
269
377
228
798
913
555
25
639
500
565
25
402
374
118
825
740
259
99
508
81
780
564
870
282
582
628
467
800
240
117
176
21
397
218
228
953
113
327
917
177
512
980
217
819
160
37
610
300
506
267
292
818
907
107
772
803
448
630
578
105
768
719
432
295
624
999
793
245
725
361
85
120
690
794
313
14
626
807
984
727
930
931
452
580
388
688
843
791
552
907
698
589
672
476
358
211
181
455
901
921
813
967
120
385
998
442
645
148
71
595
811
403
175
991
287
948
494
161
784
67
554
25
416
999
950
804
386
862
732
689
709
132
126
301
658
284
982
357
419
751
541
27
242
173
691
188
997
792
881
149
644
932
229
429
576
748
205
905
190
794
434
924
309
521
816
27
299
514
142
544
790
119
859
658
938
146
421
483
70
481
937
334
368
786
457
636
976
931
298
869
542
440
250
513
742
49
401
227
778
393
553
393
187
963
903
699
560
744
735
682
919
340
367
989
585
989
477
676
317
595
254
22
421
790
503
189
265
82
984
563
381
351
740
747
887
300
131
989
493
10
613
321
771
361
36
769
656
976
380
786
409
264
412
520
366
323
690
572
858
725
717
690
617
669
797
221
841
602
364
217
834
152
84
796
801
156
61
742
966
622
856
350
615
705
830
205
88
181
542
926
991
402
514
912
133
471
760
768
751
188
812
399
618
351
905
736
525
170
149
678
468
856
193
94
555
953
940
698
318
594
327
159
633
689
25
99
887
958
231
497
392
872
351
599
302
808
501
644
434
133
192
586
478
526
523
527
52
576
447
749
922
563
419
82
520
402
842
844
564
900
246
740
188
860
56
905
498
52
143
766
883
776
102
497
720
511
321
633
339
200
486
838
252
779
100
912
661
923
971
877
248
378
404
369
40
890
973
649
951
485
390
228
228
781
907
502
614
88
147
814
503
279
24
20
754
807
624
29
106
789
548
723
336
768
229
364
397
634
153
884
772
186
769
413
216
994
90
41
830
543
650
83
188
111
513
27
826
505
524
976
956
519
800
615
713
983
802
631
584
338
925
107
921
966
708
591
618
884
180
432
71
38
808
505
544
116
795
613
922
709
173
721
627
704
267
658
167
963
626
69
377
723
430
231
936
666
727
800
122
244
590
665
125
726
430
891
427
349
252
156
908
154
592
155
361
335
261
233
57
413
753
884
828
125
396
811
915
709
866
976
466
158
714
431
155
112
904
739
853
277
213
506
673
653
514
850
992
387
590
665
237
792
153
164
338
893
164
515
749
904
374
330
832
201
262
414
246
669
188
426
692
795
606
82
981
522
686
66
955
653
515
130
219
554
336
689
986
35
973
850
602
496
639
982
474
904
854
824
195
702
62
653
624
497
859
220
577
262
435
3
549
825
973
819
596
635
227
1
101
114
482
133
642
468
378
837
616
457
858
185
557
464
625
135
334
200
57
777
549
476
477
304
455
832
39
346
711
194
284
723
88
392
552
720
24
94
69
717
583
668
485
367
940
518
40
542
968
709
345
972
927
56
971
815
490
415
644
412
572
601
875
123
506
224
272
471
120
738
634
743
192
173
127
879
547
351
531
697
826
844
576
491
545
605
836
588
628
968
538
714
26
678
893
937
388
709
239
483
3
909
376
960
386
894
947
397
971
241
633
11
319
704
222
832
146
112
305
132
256
616
507
108
173
185
636
428
822
580
86
55
174
560
162
220
126
741
721
559
239
366
686
183
167
192
522
906
737
882
738
924
693
548
843
18
39
563
925
712
769
351
260
920
547
641
859
312
527
580
932
993
106
177
583
136
845
784
887
881
196
712
681
160
947
605
50
101
494
922
475
319
147
714
49
711
680
904
17
340
245
433
103
608
597
2
768
213
290
549
554
288
131
317
172
760
730
106
823
152
419
278
519
14
149
185
864
690
256
946
805
354
114
940
398
129
805
919
482
616
848
421
487
364
982
7
306
625
723
937
250
270
127
47
681
863
822
994
763
719
813
520
195
232
39
63
452
882
930
865
259
105
471
717
535
651
382
615
40
139
83
881
290
269
31
778
94
552
888
238
232
485
728
84
395
805
124
51
472
831
577
1000
677
932
173
911
829
848
760
670
257
929
214
199
480
336
563
149
776
949
827
273
213
971
447
597
538
242
69
640
569
867
298
327
351
40
729
650
439
907
199
830
70
861
770
470
905
946
343
199
253
931
194
359
382
185
966
581
612
676
803
518
356
336
388
549
182
502
619
31
279
381
541
552
388
305
926
666
415
18
600
826
426
442
199
554
676
126
565
413
645
87
373
26
783
836
923
187
854
213
236
114
257
26
746
23
720
633
886
489
85
332
836
517
696
814
529
864
76
16
785
885
142
427
82
124
233
245
63
946
579
837
335
698
679
644
498
338
238
976
647
955
937
188
750
345
338
336
427
637
627
767
663
997
769
8
873
592
859
8
589
324
98
992
727
338
903
188
58
920
83
230
12
225
905
313
405
203
120
71
15
205
724
707
214
18
286
124
974
491
176
678
698
482
924
699
235
619
242
106
374
205
931
308
852
688
46
29
645
295
176
920
868
783
639
555
158
782
733
934
779
871
902
698
51
354
844
70
896
674
119
944
437
563
795
648
619
295
12
659
767
878
128
942
842
615
295
644
908
240
863
593
988
731
50
437
61
14
659
255
403
955
467
189
886
478
90
966
109
142
760
191
440
245
460
923
147
366
299
391
794
263
830
630
996
222
266
478
442
287
188
628
813
253
385
371
866
972
940
263
475
301
524
187
871
971
136
189
673
772
217
26
551
695
118
579
530
108
422
154
1000
618
511
235
493
970
40
413
133
284
739
76
488
906
25
947
225
398
476
678
565
531
107
564
46
652
731
858
533
477
457
332
679
181
468
485
323
638
822
226
411
797
958
987
52
485
940
915
297
375
276
254
48
451
289
26
263
76
625
900
310
691
466
453
852
249
403
88
144
692
744
560
1000
211
208
373
965
541
619
347
427
250
181
275
504
848
384
915
530
535
393
533
906
603
42
813
868
803
168
256
457
486
98
104
629
975
547
419
931
388
46
218
670
104
306
412
794
184
583
940
5
277
199
607
751
10
867
104
844
397
360
137
379
568
360
829
566
962
43
364
828
232
61
380
217
245
110
717
837
970
181
988
404
529
963
877
545
359
553
196
711
278
827
512
835
197
337
593
974
391
577
11
211
504
821
983
61
945
514
935
431
910
353
349
987
51
796
133
394
712
731
178
504
741
412
736
16
118
579
987
513
13
909
480
85
446
517
124
917
430
280
79
331
292
182
189
782
936
684
578
201
947
395
639
912
752
946
930
73
578
24
433
202
527
987
215
911
940
341
769
393
120
625
240
575
639
939
273
75
665
424
459
301
220
490
208
66
807
503
426
72
597
906
534
524
268
501
235
870
591
701
905
406
116
99
660
54
601
611
941
133
402
804
945
352
672
753
337
585
46
890
455
191
492
908
670
780
123
698
643
378
65
689
960
852
940
706
48
346
102
676
328
193
555
45
261
467
387
806
339
873
622
398
92
171
644
564
851
699
716
442
380
847
667
791
455
526
527
273
144
781
736
138
841
689
571
479
62
609
600
494
676
658
311
798
451
16
521
914
812
290
831
518
226
696
174
858
922
289
459
75
542
776
411
798
880
735
988
487
71
221
153
480
490
788
375
587
121
946
944
405
363
953
88
198
61
618
924
323
63
489
461
707
753
401
246
787
815
855
741
682
950
122
208
79
393
278
684
487
863
592
615
46
987
833
872
46
364
88
140
661
160
628
134
205
523
213
714
344
206
966
710
345
435
636
200
356
504
598
69
191
552
451
880
811
689
428
510
979
974
130
521
110
737
283
947
417
403
323
42
842
277
610
523
107
715
988
48
464
731
223
947
360
367
584
755
293
96
443
695
579
89
326
70
633
473
272
478
630
564
728
851
68
644
433
609
888
63
933
610
232
310
420
177
871
238
565
193
605
804
898
164
647
524
80
180
138
359
76
898
434
863
881
55
751
282
918
496
76
713
654
396
10
593
301
181
312
533
683
606
536
975
485
627
19
215
132
964
939
112
507
718
853
166
521
9
339
754
366
367
968
993
888
521
758
79
107
302
732
3
394
636
952
189
172
941
621
976
321
842
478
837
626
770
709
909
742
896
32
683
129
861
447
701
326
914
387
703
762
423
636
975
16
173
453
544
64
536
780
500
593
369
282
935
913
451
251
919
327
381
53
474
90
120
924
740
239
781
350
374
656
830
231
792
685
630
272
996
504
96
785
616
269
324
189
266
685
215
21
480
313
504
184
290
392
100
517
993
374
304
482
757
701
323
927
510
549
458
430
969
434
482
693
796
556
37
806
562
766
302
981
653
824
822
537
274
425
112
489
457
89
607
93
314
613
586
80
834
226
922
139
195
998
910
393
906
310
975
229
84
406
741
883
837
144
810
588
22
54
631
931
619
740
961
305
584
465
797
991
315
496
116
459
817
401
377
913
213
45
577
6
536
447
576
889
596
38
503
453
311
100
348
697
90
319
240
647
725
478
494
155
792
256
240
194
735
14
339
977
639
203
333
354
224
747
366
447
716
335
391
417
67
72
466
587
480
341
635
892
297
61
689
753
83
720
113
53
209
731
638
823
267
660
118
629
472
846
917
411
531
748
568
710
591
150
258
786
533
986
604
153
298
113
230
404
927
868
949
46
701
574
676
251
96
492
779
32
275
883
276
413
486
947
123
539
35
415
865
543
504
479
85
217
454
560
420
158
178
147
377
145
980
553
846
943
43
986
961
586
219
770
966
485
953
893
791
363
121
331
348
109
787
735
954
142
748
151
877
747
247
420
709
181
468
769
204
17
203
905
196
344
636
605
478
932
304
402
842
425
117
475
991
921
801
243
733
93
212
503
650
80
792
166
462
1000
835
772
401
837
348
999
233
856
17
347
11
453
222
980
232
526
64
521
855
37
114
204
544
437
963
394
585
990
666
934
129
866
857
165
854
74
686
768
623
890
673
731
460
514
274
893
996
56
242
469
572
818
823
920
324
81
485
309
934
230
101
38
198
116
503
467
178
15
865
473
550
391
646
437
653
970
723
490
894
273
899
127
407
865
191
429
274
63
169
229
226
724
160
510
424
60
294
210
860
122
228
403
915
700
873
511
844
934
600
786
306
828
226
844
551
205
517
396
578
395
97
681
375
59
422
301
349
136
895
304
185
842
317
384
667
21
591
32
452
907
19
281
378
547
576
492
679
722
273
250
350
152
79
27
49
237
926
728
72
314
965
637
416
669
627
543
392
136
4
33
46
139
744
35
418
458
940
692
746
842
481
569
851
811
940
11
281
668
367
178
271
748
258
938
216
447
613
319
138
367
191
667
590
261
9
997
539
68
671
301
45
471
343
721
940
847
55
553
336
418
534
54
471
682
970
875
331
937
946
730
504
799
269
629
928
151
582
577
560
892
456
144
504
177
122
749
788
569
133
788
823
708
4
981
566
597
335
421
511
623
13
880
970
740
802
824
525
59
85
474
144
234
542
990
240
623
271
511
830
213
259
369
61
660
84
249
591
624
481
452
689
770
678
727
482
438
463
284
456
979
560
748
200
210
207
787
360
255
813
66
979
282
173
2
691
294
7
519
739
187
519
609
408
738
280
92
281
49
947
339
647
267
287
147
526
31
487
144
13
235
971
313
80
138
813
246
543
774
367
771
635
915
901
402
499
536
895
922
992
851
128
36
360
519
851
682
703
530
146
63
690
626
47
877
618
842
96
553
749
906
818
503
855
790
9
567
4
639
835
807
954
710
475
807
936
690
458
453
243
939
901
915
781
824
554
251
679
243
955
564
106
887
13
185
695
551
14
672
357
38
408
735
800
797
710
389
783
465
508
722
982
920
897
680
370
248
593
175
157
324
628
653
692
298
798
955
194
350
966
975
808
559
919
113
296
550
719
991
615
885
404
241
730
838
429
419
292
267
487
285
207
787
192
721
730
353
655
570
404
652
148
528
100
417
924
23
419
897
716
716
942
214
627
824
161
298
916
14
430
394
656
989
962
898
349
238
702
400
390
609
909
391
671
534
398
26
741
739
693
714
650
226
810
65
47
176
962
913
125
144
274
711
750
617
483
574
461
540
712
659
81
921
597
371
326
958
462
60
198
487
770
546
870
666
785
770
496
965
227
343
644
519
713
561
28
796
971
727
841
371
104
230
266
323
680
923
680
376
77
763
642
460
265
570
33
826
202
3
581
148
103
562
606
361
96
478
988
98
226
855
282
675
321
330
391
557
965
802
426
85
729
506
193
79
837
813
267
568
644
652
755
546
686
398
664
133
527
374
248
922
350
881
849
646
23
797
494
482
372
347
980
463
531
599
247
507
524
616
583
489
689
941
632
673
166
301
211
524
422
972
673
634
712
243
913
15
452
835
154
530
710
881
333
569
400
351
235
408
324
352
534
842
893
802
553
803
223
379
858
679
307
491
758
954
148
238
436
599
41
8
683
403
691
364
147
2
483
376
623
966
30
388
125
705
36
496
409
304
670
671
155
681
869
582
255
592
427
610
511
93
285
493
565
27
204
297
101
10
837
155
169
144
312
306
980
400
605
487
702
208
353
679
564
280
265
511
57
141
953
393
141
112
850
573
150
746
837
877
498
843
351
849
431
194
48
364
746
162
536
564
866
36
293
144
686
877
662
594
322
208
726
999
284
490
941
383
597
779
644
396
105
361
925
351
517
427
911
215
759
57
205
211
833
878
83
75
730
756
51
881
859
806
549
563
132
818
912
912
67
916
168
901
254
891
901
601
91
218
200
870
952
152
664
230
852
712
533
28
241
563
290
93
754
990
487
528
651
244
136
245
163
468
709
89
196
332
730
144
631
273
922
919
20
933
131
614
555
984
564
634
71
38
408
802
250
745
575
493
364
510
113
64
625
470
848
468
690
511
908
942
930
142
126
989
827
975
732
669
274
429
358
377
603
999
161
869
880
125
772
297
393
253
839
390
270
129
214
755
862
793
148
427
852
979
489
467
68
862
487
385
610
151
748
621
227
569
827
131
842
639
175
364
736
544
419
587
185
525
507
533
295
932
809
819
340
557
141
463
184
351
550
58
247
944
867
892
58
663
264
328
635
889
474
293
813
684
930
604
172
561
767
151
382
183
571
679
666
529
758
24
518
797
700
164
26
870
45
403
916
714
205
294
931
459
661
698
246
248
536
472
435
164
897
880
925
655
361
722
939
943
886
603
728
818
78
479
254
81
948
833
547
658
817
391
714
50
984
298
894
378
852
55
530
732
430
315
981
918
534
875
858
3
531
774
451
217
176
452
279
900
980
356
95
163
498
189
652
870
163
263
146
328
559
43
550
838
550
29
964
859
296
588
720
80
987
195
208
147
81
826
301
138
926
919
828
114
931
406
732
272
840
796
451
256
269
200
570
180
366
475
988
792
380
393
671
979
924
829
570
534
957
512
445
676
848
770
111
339
383
89
137
640
292
983
104
271
636
865
342
780
430
142
474
809
976
711
213
448
714
405
571
742
791
709
74
289
228
238
629
598
260
52
377
527
386
876
288
726
725
691
233
430
505
954
991
390
907
916
961
943
21
135
361
496
377
279
359
718
369
760
860
805
908
556
669
45
790
840
352
758
621
652
422
403
592
928
359
258
54
642
641
639
632
682
124
48
559
365
95
998
35
156
803
519
662
247
566
498
428
139
356
88
297
281
337
390
194
76
995
487
33
344
352
694
535
375
240
597
717
267
768
32
349
165
944
668
152
339
839
274
189
782
850
61
728
172
353
713
839
553
513
857
125
105
70
760
261
672
689
958
511
561
876
417
939
217
488
535
852
50
605
983
888
608
911
942
252
727
730
763
853
71
575
461
447
697
397
749
459
881
718
482
864
472
491
519
330
462
825
987
882
285
706
840
468
631
434
458
190
153
808
710
377
542
983
561
384
892
573
841
732
119
753
220
206
499
80
798
597
51
260
957
60
572
341
307
465
630
664
594
704
705
448
449
638
986
36
695
264
20
726
751
722
534
554
351
963
282
572
383
252
664
983
178
204
246
945
978
708
987
983
635
915
188
725
800
470
685
121
33
284
778
382
239
441
769
633
841
293
726
673
897
393
285
292
159
686
882
320
722
287
782
944
460
268
705
870
958
87
585
567
983
688
293
212
875
853
677
910
370
79
377
438
533
103
235
70
422
227
981
12
61
749
133
563
90
143
647
463
194
100
949
741
51
191
425
45
47
708
285
627
494
165
39
82
379
89
444
507
980
957
907
944
818
568
783
850
476
721
947
875
807
787
261
398
940
661
333
119
232
626
13
508
71
847
645
54
992
582
988
72
70
711
67
294
998
845
946
595
545
99
574
960
321
617
378
278
916
39
283
584
499
430
141
171
925
615
387
351
227
482
859
738
134
585
347
627
929
268
394
407
499
654
280
998
937
20
937
956
405
523
705
263
279
727
520
788
766
134
79
83
306
752
998
456
50
732
800
270
646
322
799
1
349
653
600
888
231
404
2
941
857
989
505
648
374
742
542
997
359
495
785
296
147
63
572
880
614
419
576
949
533
743
325
728
719
127
95
588
108
429
976
22
847
669
624
165
222
401
351
62
945
691
688
36
942
693
504
336
271
328
108
663
210
232
467
368
883
974
850
809
999
525
744
870
436
81
846
671
408
667
317
286
906
370
213
666
974
670
246
50
97
106
548
817
668
406
145
162
62
332
225
959
313
666
85
886
775
202
862
213
425
117
743
670
688
811
401
434
702
167
816
620
32
166
450
599
659
12
39
100
968
186
844
332
137
386
323
295
958
896
574
30
693
779
835
827
966
175
528
292
79
147
67
741
356
742
706
615
331
381
186
456
597
241
853
553
185
53
225
502
138
591
658
810
814
215
920
140
69
986
977
961
128
263
223
176
428
190
729
762
120
138
816
575
273
27
407
269
997
388
164
687
873
207
373
196
90
853
908
174
640
872
365
249
773
998
652
981
660
535
887
365
885
160
447
910
942
270
422
92
394
237
512
650
739
329
619
538
283
571
7
339
563
559
907
620
905
63
898
979
754
281
192
551
296
784
224
304
717
502
573
791
175
589
302
918
183
638
250
898
630
527
694
800
128
105
47
9
716
44
956
484
182
455
228
882
470
261
506
531
670
929
537
734
66
847
126
86
634
585
630
308
103
247
926
635
452
389
322
892
268
294
804
274
914
913
340
235
863
473
715
81
877
541
495
584
922
352
290
418
852
320
444
272
923
953
608
252
145
855
490
600
323
80
177
813
406
892
70
931
404
881
420
193
715
481
873
234
178
149
218
699
543
865
758
522
325
150
310
46
231
497
899
890
413
982
600
727
826
809
836
112
883
739
680
146
399
654
346
6
547
9
104
329
208
547
328
22
566
457
228
311
318
100
110
760
168
532
663
529
536
316
870
379
592
552
635
791
781
598
80
92
972
701
815
673
255
666
159
224
190
689
406
403
15
730
769
517
895
114
549
587
826
597
405
662
206
781
347
339
394
591
230
244
824
512
47
661
350
431
317
572
542
193
197
148
600
470
728
94
394
108
817
354
895
927
103
358
929
803
891
397
744
19
690
719
356
15
726
635
31
130
986
259
530
429
981
504
943
412
420
619
42
288
423
837
80
466
746
705
877
118
694
253
855
991
86
468
399
92
660
449
557
561
778
228
637
802
132
476
671
898
476
231
114
463
5
324
339
316
167
416
714
809
128
416
62
202
25
584
314
204
448
818
18
705
292
430
181
748
231
269
588
5
605
145
358
376
408
354
983
821
436
557
543
247
351
395
57
47
593
989
194
913
627
912
691
657
928
328
835
64
534
709
346
287
706
977
821
848
462
944
657
120
294
676
45
52
394
744
179
984
101
379
311
649
76
212
646
797
939
652
382
493
684
897
361
761
249
301
927
173
13
61
572
945
837
185
862
298
508
340
964
154
80
414
818
732
676
604
605
226
749
403
733
558
684
121
982
154
892
476
796
768
198
346
984
678
453
990
236
974
749
924
932
237
534
166
698
645
204
727
42
430
503
109
187
640
107
21
915
381
355
707
825
60
974
89
928
648
1
367
901
691
823
886
637
572
429
804
966
551
493
574
547
220
887
331
944
317
563
997
884
295
541
365
509
639
901
448
200
686
254
98
216
638
173
301
956
521
447
541
119
66
834
341
430
898
180
413
868
943
414
869
556
670
908
554
519
653
162
928
584
926
577
844
553
792
325
214
638
79
981
828
834
276
625
522
572
692
565
494
501
483
744
792
709
440
94
927
28
448
850
102
339
855
862
781
938
378
471
178
93
743
379
788
920
14
280
262
541
425
692
756
324
596
570
414
648
193
784
757
281
468
488
586
929
619
717
477
935
571
320
39
439
625
446
920
517
372
382
952
941
450
484
933
268
967
310
288
876
905
838
250
427
400
815
260
1000
568
895
21
785
461
180
973
796
815
186
33
549
480
80
82
21
820
196
67
482
889
500
535
14
932
656
115
588
569
808
745
618
65
983
405
797
255
302
772
827
995
805
439
420
520
751
334
531
717
730
507
342
100
755
749
969
251
807
383
188
583
966
124
746
533
335
154
978
739
474
378
535
305
951
401
969
1000
896
935
830
131
187
171
712
861
991
169
351
944
897
468
530
229
834
917
976
758
253
203
929
985
855
671
307
457
218
819
665
273
297
255
242
784
683
46
460
293
887
78
146
942
693
492
613
620
781
304
512
442
430
28
977
309
72
508
206
98
888
175
60
307
421
652
658
306
404
944
222
957
603
472
629
12
492
847
218
587
34
600
403
3
627
31
567
476
559
2
516
426
931
727
492
710
70
576
400
667
920
508
409
691
742
969
542
998
747
17
224
327
948
975
17
628
609
159
895
164
145
66
534
51
250
950
27
993
289
915
322
845
741
467
476
689
572
972
501
307
938
639
190
298
543
433
783
573
332
797
799
667
899
192
619
114
181
225
670
98
514
593
168
763
125
138
428
834
485
73
678
653
690
826
174
367
274
31
163
717
376
887
896
855
219
493
481
647
237
788
806
162
979
419
179
458
146
186
590
284
718
725
708
42
154
733
814
199
67
356
889
362
630
313
970
383
170
985
727
190
104
917
905
542
368
186
948
510
992
622
615
305
316
144
867
12
618
374
650
909
591
245
443
288
226
531
608
145
82
126
652
653
895
377
469
85
720
22
529
721
534
65
747
349
350
475
485
125
387
688
699
954
791
762
788
49
725
447
90
988
383
601
290
435
639
113
238
645
579
982
789
37
131
242
335
394
380
201
619
704
904
858
282
282
663
420
351
529
548
548
525
663
694
356
701
779
32
188
633
859
399
905
20
732
690
745
595
520
174
805
968
822
119
879
97
721
283
656
251
745
666
283
240
42
169
889
517
398
434
980
460
163
201
506
792
825
977
34
624
750
669
681
47
543
112
372
547
633
88
552
784
893
530
688
416
565
88
782
737
328
116
625
861
63
469
728
59
768
175
696
660
123
195
297
600
408
969
658
312
801
401
811
153
655
257
274
977
957
692
488
771
53
756
703
513
660
308
341
519
361
694
946
598
38
932
600
275
179
897
66
177
582
210
979
450
751
66
149
728
184
280
367
732
859
187
188
77
414
848
786
215
940
233
381
749
828
630
687
537
824
604
510
105
297
200
922
887
735
961
402
742
656
548
976
982
455
393
636
899
169
895
281
396
795
84
989
856
598
576
705
843
759
914
300
563
879
24
544
276
53
665
734
997
692
175
598
924
836
759
628
962
421
836
163
623
852
697
401
355
305
808
21
55
335
643
211
100
769
838
765
763
342
806
333
264
223
673
34
49
396
563
464
84
841
789
490
123
597
488
399
889
96
580
629
114
581
722
801
166
60
78
745
809
982
352
8
248
753
470
637
226
293
729
101
369
43
11
891
396
254
896
664
69
883
81
813
955
186
564
978
193
893
483
353
419
898
293
570
970
566
255
597
250
61
818
352
907
607
549
659
75
211
698
790
486
184
395
54
680
749
694
819
917
103
383
896
628
611
578
456
409
183
565
481
632
481
282
323
723
347
142
105
27
698
561
530
978
202
725
198
971
256
611
633
954
113
217
89
227
541
300
614
387
70
630
13
646
686
954
109
982
834
378
156
714
713
860
310
137
157
852
860
766
831
919
284
626
83
320
281
747
557
127
633
709
598
463
116
622
532
799
733
432
162
94
201
797
198
730
975
77
873
853
91
173
717
696
753
35
301
944
927
694
782
990
119
550
252
198
195
488
210
912
340
109
976
29
191
991
467
382
801
444
606
68
285
641
518
113
961
390
832
542
312
23
641
18
327
91
82
684
676
569
111
761
640
288
734
730
989
178
883
656
743
677
132
315
342
379
688
312
831
579
412
295
524
876
164
718
44
409
420
323
785
623
937
688
601
679
236
705
966
755
783
837
948
524
77
354
80
21
273
521
609
997
593
887
681
560
540
415
713
614
832
165
596
144
72
655
389
879
386
824
852
246
655
711
504
803
499
607
894
553
894
433
430
622
140
537
400
780
916
934
816
235
329
243
303
899
188
239
561
76
221
973
833
156
568
874
445
415
725
119
668
475
993
823
134
334
674
277
523
118
448
534
505
861
822
169
770
726
117
883
508
993
172
961
902
80
845
295
9
608
429
777
936
221
318
424
336
500
572
476
91
768
607
93
481
26
834
973
307
574
959
388
150
91
595
667
452
56
989
121
141
486
971
777
294
831
664
46
745
791
109
627
566
516
727
544
121
346
455
192
709
803
451
666
872
20
533
448
133
174
865
740
248
776
975
334
62
868
862
948
723
260
851
365
306
970
809
558
863
911
551
213
546
721
577
731
722
319
740
792
944
430
123
91
204
838
162
654
190
586
17
463
113
668
308
754
290
42
569
478
832
917
222
865
693
383
436
951
852
366
953
218
583
837
874
219
606
930
437
148
426
351
1000
868
299
59
824
810
87
682
745
508
720
560
510
256
120
632
355
542
210
575
409
434
49
776
618
90
275
716
220
895
723
308
185
505
528
584
722
281
84
856
646
140
918
168
357
867
930
396
252
316
480
853
617
735
486
607
423
648
17
35
26
361
899
301
437
155
471
576
704
675
959
780
953
845
897
590
811
890
637
228
252
681
279
292
382
663
284
521
347
124
622
908
304
366
555
44
355
662
49
878
490
540
402
399
772
5
832
838
491
824
712
104
549
881
595
128
67
904
428
650
120
597
124
807
514
294
226
534
761
799
494
415
722
990
90
121
935
98
488
968
284
309
362
463
523
500
485
932
125
444
95
424
65
802
299
160
464
565
800
726
433
395
669
20
102
486
915
796
555
133
347
223
313
221
572
505
103
205
10
69
857
973
506
172
281
192
430
120
892
348
178
449
102
707
633
512
790
858
449
951
821
332
988
418
139
14
383
732
381
748
432
392
443
537
18
986
64
244
301
575
298
526
180
577
689
38
463
16
51
594
674
267
56
69
718
580
222
306
437
741
478
204
657
192
208
443
482
820
588
23
459
410
29
915
714
445
792
615
317
543
149
358
956
312
17
51
450
831
628
724
759
273
653
478
925
405
141
409
832
854
830
988
719
22
609
726
179
519
425
705
751
812
492
775
263
526
444
754
836
533
987
994
790
501
674
46
754
55
668
971
941
94
746
53
913
80
324
284
134
318
11
993
292
328
29
454
645
447
867
107
643
668
700
281
680
578
429
954
131
956
673
134
716
230
700
896
900
542
57
991
202
577
620
198
249
703
896
273
954
195
653
428
385
481
400
779
820
431
791
66
954
665
766
278
446
747
139
519
821
912
366
545
235
672
456
951
785
238
309
900
817
206
309
605
204
365
655
554
626
800
729
557
728
678
806
308
405
274
519
59
600
756
822
402
727
285
597
912
229
739
710
577
864
207
36
537
997
2
932
633
581
538
679
666
504
886
668
57
695
196
484
843
704
466
587
496
470
325
986
145
651
601
165
145
196
454
528
810
800
744
801
347
517
151
152
688
71
267
269
945
348
510
292
703
142
269
253
201
468
95
669
740
673
128
7
326
113
210
25
640
412
259
394
920
151
596
600
225
400
843
834
875
674
927
491
533
725
493
921
550
100
713
285
684
538
110
733
245
86
477
614
52
281
414
113
307
873
320
533
680
338
879
417
392
862
236
846
99
570
76
532
698
527
780
804
982
430
647
149
215
980
977
783
316
629
411
587
294
782
557
878
6
546
331
674
83
821
901
516
97
850
334
457
641
355
299
516
33
37
226
765
761
528
384
220
632
835
180
884
827
970
870
601
700
695
547
881
231
289
927
482
465
807
970
324
178
547
843
274
249
372
45
440
901
55
809
866
67
65
13
963
612
62
948
561
56
906
218
204
719
173
959
220
940
999
336
101
130
585
977
979
927
840
588
279
672
453
522
215
733
148
450
388
952
997
647
635
657
446
577
225
184
154
642
631
873
812
947
434
804
877
922
319
371
552
451
780
910
402
944
871
228
712
424
279
838
69
286
73
122
665
853
704
418
529
229
220
279
208
246
225
710
422
479
762
267
897
416
224
277
844
872
343
317
558
640
529
290
209
189
120
106
193
963
606
24
318
433
516
157
735
614
467
527
720
196
794
301
356
778
326
541
709
963
101
870
292
218
254
949
526
480
874
547
380
471
369
316
603
535
754
42
779
630
328
316
932
784
406
34
573
919
128
103
886
464
877
42
208
578
504
914
88
128
403
159
990
785
426
475
136
745
801
819
72
591
482
990
293
791
835
23
666
132
146
775
449
194
215
711
414
582
223
839
961
239
111
185
142
604
974
954
181
800
330
779
443
269
692
27
772
518
553
193
801
700
761
811
128
776
277
160
211
916
454
268
494
600
349
387
502
623
993
126
616
828
250
933
826
924
646
436
984
188
506
459
8
216
873
182
33
119
888
15
728
732
799
230
858
475
281
300
727
479
521
191
278
451
383
567
511
570
36
975
349
366
606
599
244
164
787
105
633
147
845
426
796
531
124
76
827
648
998
725
157
957
171
328
568
142
387
54
655
484
894
613
505
627
464
373
715
739
366
822
969
783
463
505
84
309
522
575
818
715
882
478
756
432
903
102
292
831
936
914
32
972
174
249
971
476
385
901
443
924
421
631
140
178
382
7
473
934
516
247
176
631
221
385
306
577
42
110
767
762
145
123
39
379
584
678
53
515
607
278
81
817
362
158
16
196
614
266
690
792
520
964
711
501
71
530
849
309
554
891
164
599
250
670
950
353
670
804
9
865
785
453
981
205
87
891
217
141
846
383
184
673
547
781
484
627
375
755
378
989
559
76
109
784
529
372
425
357
151
109
460
832
736
344
515
387
135
957
339
742
995
653
260
904
165
33
839
800
321
401
782
875
109
793
531
140
485
928
259
433
498
366
50
827
426
217
636
253
73
146
420
383
4
257
458
744
706
674
696
845
962
310
37
819
203
319
761
732
268
233
392
213
768
606
357
536
210
301
701
606
150
198
670
585
900
193
181
16
726
867
82
411
76
70
645
220
59
984
883
970
354
934
161
184
691
336
53
337
319
669
535
740
187
322
444
737
90
460
575
996
710
827
921
23
282
515
334
221
639
323
325
966
473
242
805
197
997
1000
321
970
601
349
752
262
722
980
462
76
919
497
661
552
30
909
65
367
406
465
994
164
410
481
719
142
781
991
220
233
5
700
507
456
512
707
316
169
412
914
285
921
465
860
713
532
157
951
586
842
92
733
872
284
373
868
989
84
292
947
966
415
449
158
40
268
351
60
366
176
670
426
41
154
595
163
889
400
114
863
307
346
669
364
12
664
332
57
706
653
554
367
519
270
569
933
586
744
753
556
278
284
567
900
394
951
267
261
110
123
188
472
591
327
262
134
951
435
410
942
685
334
570
811
778
243
438
889
465
763
427
290
985
613
974
589
771
762
79
683
191
313
884
606
378
74
160
300
661
222
824
138
832
850
984
200
818
457
548
907
306
658
145
677
543
471
958
637
832
544
72
318
219
610
138
440
469
258
427
593
736
849
904
640
245
14
499
124
896
727
639
853
964
390
981
77
948
685
429
361
200
243
784
349
186
320
769
86
61
732
771
471
842
287
364
718
562
836
561
405
708
826
790
795
679
964
801
666
205
170
36
776
428
524
549
438
864
308
194
432
538
570
651
607
404
854
822
78
559
882
279
903
887
992
743
464
486
97
2
557
647
759
308
376
227
753
47
159
940
130
380
235
501
364
648
644
549
666
569
258
998
877
609
579
767
696
492
977
875
140
500
171
496
275
55
162
935
229
113
686
394
420
54
461
60
766
76
191
303
336
595
291
728
564
774
802
382
648
114
797
706
244
974
862
687
861
10
919
248
665
781
723
128
535
162
874
365
281
845
64
27
926
850
597
31
807
945
910
721
69
851
950
370
783
346
788
932
548
727
745
185
918
588
694
845
434
578
880
396
316
580
792
112
146
775
146
222
954
165
17
235
195
444
494
194
18
531
31
39
85
722
830
319
974
129
173
183
823
58
617
997
469
982
356
924
803
66
855
499
435
530
79
592
45
718
231
109
18
420
974
478
16
875
483
246
176
856
568
89
536
450
291
163
72
439
191
991
506
695
245
38
626
611
194
680
431
411
674
559
832
119
915
198
998
71
411
311
707
129
61
457
179
154
777
576
992
898
432
453
609
184
342
345
951
132
170
862
223
260
264
660
901
440
949
698
385
97
248
580
321
519
788
997
13
829
449
390
667
974
411
744
418
120
832
853
240
900
331
484
857
334
833
614
734
641
83
338
46
785
333
65
325
361
275
376
94
347
277
269
404
314
403
544
635
932
463
771
333
977
577
625
106
614
324
369
824
415
608
914
443
413
737
197
809
552
122
590
661
8
167
674
923
215
623
968
65
906
699
182
942
109
691
106
84
831
755
530
815
126
726
469
959
345
543
548
131
608
938
597
770
992
551
393
150
482
477
5
559
459
624
393
752
406
903
744
514
542
431
519
925
303
419
363
467
929
372
810
643
959
527
198
188
71
227
336
260
551
52
215
222
657
93
533
780
260
699
854
239
471
416
989
613
376
570
592
161
643
166
11
677
510
319
164
526
564
452
564
973
845
871
670
854
987
138
401
980
533
877
8
984
87
245
483
495
666
336
351
627
489
210
995
775
433
57
617
626
547
281
578
98
392
882
146
659
378
619
566
101
975
859
38
370
437
891
344
519
625
774
857
172
640
416
144
170
224
734
661
204
311
160
858
324
692
714
564
190
470
132
714
794
903
250
289
177
231
982
881
378
325
704
411
395
333
848
347
518
5
771
261
732
69
762
641
268
823
166
687
551
136
154
247
964
131
651
127
856
175
262
775
184
197
841
719
18
18
501
231
877
75
458
373
578
913
85
966
764
815
957
55
846
250
454
133
383
143
710
695
289
551
313
741
384
21
161
457
952
750
330
630
945
711
635
324
395
25
786
955
414
257
726
186
879
711
743
3
541
521
442
910
807
55
519
442
928
162
525
92
634
839
528
311
534
218
627
441
757
135
776
350
373
165
275
10
109
712
577
501
756
621
781
729
449
875
278
647
691
65
550
945
590
741
53
943
303
236
431
933
46
223
60
302
401
96
67
569
842
258
513
882
528
503
393
645
477
27
473
645
139
989
734
511
272
204
410
328
746
288
148
17
592
485
827
402
153
510
975
953
688
941
508
860
147
104
735
446
135
938
184
903
253
999
822
24
123
667
674
867
414
581
666
302
60
537
790
970
723
386
277
496
257
957
576
707
548
665
362
219
667
275
657
979
689
205
437
279
908
902
772
291
403
61
600
419
85
873
781
594
439
87
903
218
114
378
691
602
420
411
492
605
573
36
516
683
206
250
944
694
289
912
12
629
82
712
472
895
163
572
585
909
905
472
936
517
972
674
937
231
559
474
811
305
129
874
234
489
330
51
574
632
647
74
858
432
77
109
147
291
789
261
38
640
300
261
351
111
150
479
916
632
477
71
534
832
144
687
843
193
274
787
801
964
160
536
961
251
500
220
517
575
842
315
362
884
915
653
21
231
267
615
398
296
259
934
715
519
977
448
905
827
109
139
957
890
127
863
436
356
433
456
437
757
223
324
761
650
951
183
959
61
196
365
225
517
664
980
806
770
796
285
724
821
177
777
109
6
545
931
391
712
657
975
909
765
746
794
258
640
563
843
816
436
263
985
465
988
491
246
465
570
91
823
813
410
769
104
179
617
932
74
705
203
636
233
514
577
271
107
784
287
153
442
627
778
695
484
816
649
177
56
621
236
441
755
612
300
34
241
316
312
401
478
57
102
745
785
103
601
95
730
528
46
914
223
811
292
326
639
256
792
655
458
776
424
521
687
449
574
157
268
520
774
989
829
203
802
754
337
722
304
589
675
515
923
624
725
416
408
540
266
951
399
466
895
572
383
370
210
763
858
771
711
511
851
232
205
505
779
559
49
808
93
86
201
458
265
691
899
615
474
477
743
405
750
108
129
593
457
898
243
561
730
630
287
853
875
984
225
709
828
165
85
611
441
17
778
843
794
445
470
457
695
479
777
864
269
647
427
432
848
654
609
142
380
527
886
327
226
501
441
975
524
914
415
891
274
299
290
270
897
682
556
860
329
793
428
970
618
571
977
996
610
835
869
57
523
462
816
551
148
760
986
154
956
967
870
844
594
977
499
46
158
461
527
860
128
521
377
663
54
901
575
66
914
552
410
328
559
62
287
852
824
37
470
313
696
40
437
288
364
105
747
24
145
145
120
107
30
819
448
337
20
541
541
108
547
339
770
912
985
249
158
391
686
729
124
522
23
379
820
101
633
888
917
696
450
695
808
613
104
347
377
240
997
887
907
332
666
918
228
420
55
160
916
532
984
434
195
872
394
997
231
902
921
68
641
530
967
216
407
750
737
970
835
129
604
688
835
2
810
212
635
78
693
316
925
464
605
274
593
762
175
150
451
989
844
564
757
566
439
748
948
494
82
709
694
174
944
144
298
992
145
606
494
946
652
39
908
76
140
467
786
421
606
75
127
520
999
355
20
251
233
314
784
926
748
939
554
110
202
270
5
602
976
460
298
383
926
123
692
77
201
158
944
690
32
966
326
947
88
625
53
535
385
210
960
977
741
840
506
641
498
498
579
614
502
874
106
765
412
752
193
367
988
490
339
50
371
206
334
708
304
142
565
209
880
549
824
422
660
101
161
93
981
535
983
598
816
699
386
446
820
670
656
662
106
931
985
898
840
852
710
150
957
904
799
496
192
60
891
134
134
863
912
317
181
469
198
480
163
797
89
977
833
599
147
364
635
847
536
78
930
364
586
726
352
19
248
893
70
126
961
576
520
925
461
844
604
126
149
343
444
560
985
574
522
908
288
683
444
332
432
658
628
586
224
418
926
849
606
260
570
80
478
547
843
191
584
286
585
676
878
494
974
666
249
828
4
531
250
10
761
277
295
958
889
978
808
430
622
394
984
164
347
751
148
186
987
372
159
992
383
490
979
766
482
97
288
677
353
138
990
538
987
700
571
829
364
97
505
119
518
933
361
465
186
256
803
211
140
937
427
947
532
246
267
86
368
398
830
616
763
553
744
137
769
318
431
181
368
331
763
180
713
906
295
161
790
42
513
419
484
310
521
930
437
285
709
275
208
193
254
168
957
424
758
472
312
377
910
763
111
877
862
80
451
59
881
479
820
184
953
437
139
322
232
916
227
217
599
118
511
943
173
596
851
137
286
376
948
719
310
188
164
973
717
744
504
825
958
210
173
928
15
714
356
913
30
727
848
781
986
664
720
964
267
871
461
994
827
474
955
116
837
214
186
382
930
489
801
966
569
308
526
481
674
768
956
77
335
939
417
947
350
793
468
686
367
889
70
622
609
56
624
839
505
271
899
122
89
207
306
459
666
726
118
61
100
687
26
70
38
30
817
274
528
20
86
168
788
930
631
650
336
195
572
487
276
240
311
446
325
804
152
636
71
505
786
186
25
874
860
852
271
790
546
517
892
558
352
859
911
385
437
623
173
120
318
59
456
481
187
74
109
877
18
566
682
122
253
221
356
42
151
793
427
971
818
484
776
627
502
611
15
711
26
172
983
842
90
282
343
112
775
678
305
656
760
698
933
71
663
169
39
465
434
621
432
187
910
141
151
12
482
942
363
654
344
437
823
21
902
185
120
535
780
608
475
187
288
750
499
714
368
719
173
472
779
622
264
75
760
968
554
875
453
550
534
711
158
727
677
93
866
924
3
219
585
876
424
761
701
839
256
364
962
537
375
197
731
89
723
689
816
569
263
813
544
73
5
847
712
449
447
637
758
857
632
722
730
390
10
607
664
878
491
630
571
808
394
571
504
28
454
164
137
523
724
166
860
104
983
463
645
271
197
1000
842
869
724
974
627
429
187
819
36
205
354
6
384
38
976
575
425
99
215
609
737
495
230
580
738
453
492
606
147
541
632
170
930
951
961
806
544
382
315
547
753
479
573
712
445
87
977
733
623
825
401
266
188
591
843
816
246
657
701
442
370
958
849
896
704
18
138
724
819
724
706
425
957
810
407
787
684
471
727
862
974
36
808
914
467
964
576
807
944
750
512
966
94
491
318
60
282
990
561
939
341
250
429
264
377
153
856
425
204
904
646
66
292
572
661
519
53
670
816
968
885
266
389
973
634
547
123
300
35
115
691
649
268
554
360
976
954
942
120
573
822
91
108
985
773
234
880
139
279
776
3
760
872
510
442
268
1000
388
455
882
655
546
37
561
6
764
483
768
728
977
304
763
848
770
552
292
684
981
601
78
927
715
556
494
962
64
762
137
314
805
346
823
473
164
305
676
427
520
446
572
962
567
379
212
126
12
852
439
310
385
949
287
79
894
49
392
220
558
2
59
465
33
661
262
23
652
792
310
348
210
358
730
527
912
388
155
320
759
925
656
142
324
53
20
217
548
639
900
727
672
210
675
21
919
338
79
865
825
30
379
250
444
841
929
525
742
906
440
446
619
601
197
323
941
324
736
568
849
743
243
831
409
913
1
396
345
877
774
647
201
686
925
256
793
337
385
176
206
746
369
662
914
733
834
337
836
970
253
703
261
961
237
655
600
450
896
253
894
75
584
427
827
703
891
351
768
653
278
944
11
917
788
306
969
563
612
956
523
767
149
389
147
259
349
849
671
555
776
171
770
22
855
236
356
696
155
857
47
768
439
918
806
834
424
175
658
336
836
426
125
83
419
685
626
391
3
597
655
187
582
554
967
336
667
898
371
602
804
156
964
880
280
441
821
775
485
68
199
166
326
915
327
144
376
291
677
578
146
873
452
618
995
790
686
652
703
98
959
568
665
666
236
714
980
992
757
588
490
568
197
146
912
203
576
559
805
148
498
433
51
941
347
764
898
666
8
365
375
696
537
104
81
62
943
66
923
313
921
651
369
81
935
717
178
625
529
85
364
283
113
138
381
116
768
766
100
29
810
615
191
299
931
474
941
751
764
612
377
789
615
78
798
119
925
279
462
263
758
654
241
913
224
875
495
765
299
824
293
692
932
528
380
75
693
342
958
594
455
957
434
83
773
178
791
841
694
57
104
387
693
637
58
789
323
495
12
562
945
284
274
603
601
705
765
820
684
670
196
883
581
932
191
9
849
162
544
833
834
213
939
150
830
371
17
797
46
452
617
994
645
964
409
247
96
964
884
280
895
859
852
559
498
156
185
665
956
103
520
148
292
216
50
530
175
925
313
805
777
975
121
117
32
742
347
317
670
323
360
712
523
149
280
693
586
827
80
815
250
144
797
592
918
447
757
520
948
119
781
764
509
499
772
559
446
388
987
615
716
247
526
707
298
263
270
204
727
782
598
513
573
952
652
259
252
72
874
573
531
801
799
54
948
335
813
774
199
648
697
223
187
129
296
252
56
302
580
833
39
793
706
992
335
432
405
317
578
151
196
293
670
362
446
87
869
606
294
549
87
572
775
907
265
38
287
52
564
890
709
370
857
124
49
782
656
679
512
46
208
4
254
378
923
509
902
148
724
416
129
759
151
103
165
780
281
700
192
98
597
570
930
125
962
327
638
102
753
191
901
123
31
827
308
811
363
283
102
501
497
279
405
369
692
908
429
215
883
743
399
477
262
451
567
651
68
299
779
480
574
325
567
155
309
553
594
305
525
333
639
734
811
798
946
694
530
461
954
5
454
186
868
449
574
102
520
722
548
579
264
641
693
3
409
472
716
967
825
994
610
434
916
360
285
589
118
899
522
373
426
771
783
172
249
757
280
697
48
550
417
905
798
629
440
673
325
156
634
72
931
374
930
260
555
661
139
460
890
754
320
981
538
631
983
965
256
199
935
412
795
264
565
11
691
194
292
518
549
334
697
702
64
497
614
399
41
792
53
837
144
644
387
176
965
101
657
188
286
442
227
68
69
631
238
682
789
416
512
909
245
706
586
386
839
413
553
631
636
128
271
437
235
818
258
488
569
266
324
305
298
92
552
32
368
32
766
53
657
591
36
117
346
339
72
465
834
864
606
442
523
860
957
201
800
897
52
417
875
183
82
370
926
11
842
355
163
683
551
164
17
355
607
270
645
698
310
451
337
221
43
800
215
846
804
468
816
629
236
22
781
546
526
10
860
882
634
173
923
108
292
758
432
67
169
561
135
936
381
646
341
686
252
172
205
710
891
401
914
891
638
746
524
599
924
668
461
29
401
351
392
867
469
337
237
438
501
707
603
426
90
3
795
722
684
792
872
189
783
664
931
949
709
504
898
293
629
87
636
485
124
378
121
526
78
460
728
413
102
654
467
550
7
244
96
757
57
190
633
735
897
349
729
957
35
15
719
698
751
55
962
304
119
513
244
881
604
297
595
295
337
538
869
733
761
220
840
119
804
954
348
357
101
154
248
717
102
383
540
669
75
393
53
136
112
179
508
433
262
429
605
134
814
893
14
734
587
528
818
232
773
755
968
727
572
807
816
679
304
936
619
748
230
191
188
39
561
612
549
110
470
902
538
348
33
107
765
173
114
376
263
55
180
616
446
525
905
747
712
201
213
299
130
335
111
300
177
549
238
753
420
242
589
527
373
609
263
131
479
329
415
693
346
778
805
432
884
36
468
46
972
51
85
738
636
92
543
71
489
996
47
395
375
785
895
432
720
968
687
436
99
164
300
498
924
764
445
744
939
3
8
588
451
161
625
735
798
608
201
343
621
70
101
579
891
792
818
866
505
241
788
226
498
619
853
513
538
738
615
754
479
723
506
496
131
634
2
825
345
306
784
685
718
643
53
239
946
140
421
245
907
632
983
887
64
145
238
23
659
232
495
600
479
394
289
810
682
998
107
676
289
611
426
882
451
833
663
94
554
500
130
461
539
619
518
703
548
489
731
999
185
278
133
874
181
718
379
411
270
711
70
425
389
354
372
676
131
320
627
803
537
565
716
430
884
78
597
810
148
733
23
452
187
349
892
394
496
746
104
198
618
915
20
261
869
438
892
756
90
917
654
349
556
519
529
892
982
669
779
407
855
577
757
56
909
552
157
223
654
978
955
516
314
443
101
256
382
745
454
994
296
386
787
693
387
765
977
466
361
461
605
210
40
879
328
7
14
70
276
943
112
711
689
835
373
72
729
447
230
302
138
939
229
503
983
665
455
895
255
952
223
815
497
162
298
436
922
140
77
853
766
169
704
639
688
671
43
28
112
174
822
689
312
552
1000
381
932
111
605
916
334
880
879
512
886
393
536
24
814
290
341
566
763
327
44
700
567
767
869
742
4
657
399
699
542
198
726
31
138
289
134
723
186
312
434
133
608
425
315
684
908
910
703
772
721
668
183
176
24
521
998
853
727
835
991
253
770
884
152
182
243
513
71
822
264
898
718
690
533
630
442
255
535
934
970
383
361
543
509
41
955
657
742
466
426
442
641
557
725
747
521
352
599
52
702
303
243
171
477
506
460
940
811
165
493
889
353
350
874
923
900
559
804
157
386
654
588
346
864
518
599
798
695
157
97
269
349
66
989
105
801
343
253
806
488
462
343
264
212
601
368
167
131
133
172
437
249
213
799
132
368
398
959
905
533
888
239
23
402
294
802
914
812
783
224
402
62
104
955
119
56
239
572
42
523
406
672
771
991
670
759
929
16
734
923
37
507
322
467
312
590
175
887
102
600
860
779
85
227
493
298
953
788
983
782
1
850
605
39
971
174
533
548
499
44
490
574
750
576
790
733
168
518
876
94
769
402
934
297
105
626
262
484
815
205
858
66
692
489
143
482
310
73
800
132
567
526
477
629
931
309
497
329
803
438
768
895
159
45
829
274
559
942
312
67
672
741
140
709
738
825
468
293
704
733
712
132
407
91
7
361
780
256
88
961
3
281
899
615
464
620
205
708
602
241
95
582
23
467
546
916
753
904
158
702
135
280
759
833
669
886
807
767
55
571
464
72
778
936
717
918
874
427
194
737
905
558
154
340
757
339
679
764
614
339
275
987
326
481
933
448
471
795
182
984
562
883
853
420
253
774
45
533
881
153
276
527
361
741
906
473
277
690
719
397
980
459
959
826
674
552
235
631
723
903
421
961
888
420
122
900
813
433
303
237
828
309
411
410
46
541
681
227
855
983
365
481
64
713
278
903
422
220
428
237
715
212
464
378
395
377
350
623
505
839
983
89
713
913
417
269
423
954
5
508
254
803
28
904
654
326
328
770
84
28
45
339
950
610
810
814
461
543
642
240
675
491
371
909
240
425
602
181
803
809
139
672
586
110
274
721
382
200
579
949
130
901
638
488
224
79
677
165
964
171
197
514
869
985
522
9
121
936
643
300
54
612
864
572
430
731
516
361
243
70
478
289
902
951
290
226
964
170
417
314
24
97
625
149
977
792
484
178
627
594
716
997
553
636
515
852
196
106
954
72
371
904
292
574
799
536
364
850
804
712
172
51
994
119
517
865
629
289
770
908
390
296
873
246
403
259
272
490
739
292
771
626
53
557
212
377
701
575
513
421
426
782
792
239
694
612
259
720
840
38
85
880
456
619
678
264
884
560
692
590
219
204
573
263
4
676
696
169
644
99
929
32
636
919
988
238
908
405
100
688
905
310
293
695
586
7
82
395
163
153
495
431
224
113
83
896
887
854
75
674
751
71
854
316
702
588
749
567
116
899
472
485
544
867
648
851
805
201
554
255
252
287
604
756
126
395
83
562
82
28
392
476
402
436
330
213
934
902
2
830
485
444
555
640
302
989
263
981
209
928
462
109
218
176
426
319
699
527
605
116
704
139
512
874
670
436
207
978
517
580
521
879
114
956
93
826
188
752
837
330
13
837
700
518
638
599
395
677
984
334
374
190
882
33
460
992
989
167
396
448
598
167
92
236
514
792
465
430
574
557
625
486
854
675
573
222
308
737
749
235
401
487
501
383
269
610
26
131
86
393
376
552
613
502
918
763
355
873
1
381
342
909
662
365
342
733
922
280
202
261
574
540
115
246
427
722
822
234
613
378
155
599
946
74
875
427
288
579
450
52
549
223
275
443
242
441
863
520
505
456
679
680
87
824
649
465
110
352
814
384
332
462
286
304
231
666
404
762
481
229
998
741
291
444
708
204
635
226
630
707
630
856
942
924
172
801
749
832
474
495
113
554
356
861
140
624
940
113
12
511
932
102
71
778
813
47
417
177
62
1
984
303
31
819
745
191
166
705
498
367
97
644
694
410
514
158
878
73
865
841
634
335
641
104
355
555
421
379
772
61
923
802
948
95
999
52
350
34
896
590
681
173
154
16
416
193
142
647
334
632
641
684
913
266
832
572
136
384
709
202
125
300
266
645
27
333
762
17
738
704
966
870
398
429
611
252
40
372
180
188
446
51
749
894
32
671
871
448
544
124
374
22
463
362
512
13
259
660
117
572
65
739
289
117
928
640
667
365
499
545
525
318
930
413
769
405
796
470
419
691
38
48
289
663
297
267
429
585
518
301
306
856
369
805
878
98
846
132
444
945
419
596
622
604
205
944
889
345
967
599
848
953
147
972
813
89
810
362
355
216
67
495
150
427
531
790
881
79
384
800
932
603
890
95
320
249
577
68
656
800
846
730
901
495
461
620
365
486
254
355
672
172
358
181
424
651
482
141
864
357
48
104
181
677
487
956
967
950
658
721
983
825
107
234
604
355
867
250
236
580
594
588
532
608
82
931
492
338
658
456
351
65
478
318
743
178
539
333
759
4
46
909
403
708
877
396
425
768
40
526
660
218
403
569
825
303
477
136
183
631
712
325
608
210
569
26
364
992
650
780
338
665
252
517
575
480
74
884
687
835
182
639
132
188
8
749
408
637
872
441
924
143
469
421
679
966
829
868
926
330
469
652
644
749
876
369
38
684
984
462
228
443
12
678
971
299
888
548
576
826
493
429
117
346
138
841
675
222
996
540
640
430
713
758
8
493
34
539
216
380
99
958
312
430
3
255
140
703
314
640
786
402
516
552
771
206
764
696
305
374
902
38
491
503
435
263
505
657
35
909
671
411
198
476
793
10
875
375
316
471
250
472
631
946
365
323
380
73
943
953
668
368
587
155
925
935
544
845
554
886
308
977
612
919
681
867
522
436
330
559
203
420
495
51
64
67
268
744
55
818
773
525
283
996
664
233
796
741
578
95
760
311
577
922
647
102
149
441
11
923
44
216
101
183
80
966
871
634
53
994
903
222
68
611
382
438
933
152
555
258
724
172
19
411
291
905
789
231
240
935
342
815
906
262
724
543
914
671
394
259
206
361
655
609
812
288
439
56
243
586
695
103
86
704
864
115
297
639
710
909
713
728
330
5
507
998
267
999
678
10
505
29
168
430
551
741
869
353
962
440
611
492
443
367
208
945
63
160
770
190
245
587
777
305
933
603
877
228
724
595
971
995
832
482
892
515
462
949
941
411
525
701
581
862
701
68
844
177
470
697
387
39
151
326
677
976
915
855
481
631
453
999
707
840
230
847
638
344
277
526
774
217
59
13
842
719
239
850
978
361
122
148
756
396
106
808
526
841
754
313
448
385
996
821
758
231
503
518
29
995
531
359
619
268
380
410
92
364
137
935
94
42
587
315
92
752
968
600
388
3
806
253
69
37
147
194
851
861
383
788
353
77
283
823
937
644
985
827
148
871
481
322
700
504
563
729
142
694
282
667
613
39
714
344
533
627
265
594
715
204
749
833
113
169
247
914
359
94
80
397
316
839
297
238
92
170
730
266
367
963
26
132
416
710
70
568
916
60
846
923
472
546
102
940
830
502
171
638
895
383
871
993
4
383
754
835
381
259
842
995
360
765
626
295
713
932
328
387
420
725
338
825
287
264
290
989
94
894
469
649
389
882
98
21
581
386
597
145
760
685
81
291
533
326
204
888
204
988
961
163
865
372
210
267
261
350
480
186
866
935
100
139
228
403
822
467
498
994
847
277
26
215
656
185
34
707
87
593
704
994
876
829
423
229
268
363
579
193
380
43
30
421
697
969
301
297
460
189
651
361
736
869
348
868
646
979
933
861
560
802
728
621
73
803
612
379
221
449
902
608
718
611
194
38
948
65
208
792
74
459
989
652
907
787
292
571
105
92
641
942
870
630
323
50
557
162
535
376
503
408
15
110
960
958
742
300
223
51
715
581
902
762
388
283
850
73
86
63
407
176
591
867
483
182
152
198
499
57
366
125
335
246
722
447
288
907
138
728
459
135
463
667
150
836
757
424
598
152
145
44
845
467
162
122
588
57
826
178
646
387
92
996
47
915
991
376
819
9
474
288
286
252
928
454
23
965
408
741
668
274
840
584
481
393
861
826
851
120
486
16
985
711
501
202
642
390
351
692
83
781
274
78
408
447
627
82
15
529
665
398
254
221
518
773
243
428
744
35
420
508
639
618
651
423
421
418
615
995
534
504
746
185
545
256
233
515
576
26
444
790
734
299
670
252
772
623
276
204
93
308
183
895
238
985
89
168
213
655
20
977
375
769
579
359
80
230
752
890
1000
930
236
942
812
590
38
307
964
226
538
863
349
511
269
6
18
679
467
511
504
378
788
330
955
62
688
601
8
91
670
778
288
702
963
403
455
404
240
456
993
153
648
664
282
880
803
379
76
538
335
857
181
885
293
874
996
613
984
596
598
297
786
550
204
852
132
356
191
855
98
596
316
109
991
840
419
328
915
375
705
643
535
619
628
922
171
574
509
579
908
901
306
607
622
376
341
86
714
549
383
291
826
407
220
836
56
705
724
9
989
445
479
533
368
639
216
560
387
122
686
575
402
676
84
269
304
113
835
144
937
334
345
786
719
548
341
268
46
10
524
120
174
640
583
672
997
853
43
315
550
759
48
454
137
664
927
449
689
447
318
890
319
962
706
890
94
109
434
930
717
549
681
970
134
374
397
163
115
213
922
520
483
348
841
329
984
425
673
922
750
274
128
658
953
129
23
625
486
311
395
596
485
15
24
282
54
436
331
714
851
857
622
947
42
703
680
859
736
813
60
1000
200
343
765
838
46
768
646
731
86
454
533
192
766
109
24
754
898
256
906
858
936
524
353
680
179
163
445
774
86
713
25
722
377
141
602
718
704
93
834
167
437
120
84
944
583
893
722
874
909
415
85
412
110
226
511
236
262
416
424
650
846
17
254
286
371
33
843
574
967
892
116
854
374
624
990
789
409
400
902
972
368
405
862
198
785
166
663
940
641
575
715
945
425
861
989
733
403
645
727
14
97
76
907
671
217
709
914
21
266
486
522
533
597
649
89
5
956
907
790
541
469
505
865
268
548
101
73
884
459
509
990
566
112
465
374
707
215
503
511
201
79
942
389
758
213
757
561
811
362
790
771
91
763
395
769
917
236
48
256
521
166
942
572
520
575
838
547
757
238
713
952
304
267
846
86
373
636
41
353
240
897
606
128
61
727
584
812
648
21
450
749
826
924
193
574
17
626
227
684
64
715
80
689
127
597
170
146
685
840
279
394
285
271
512
10
718
319
638
272
711
427
719
17
61
283
822
466
392
274
456
887
321
833
76
480
942
280
638
485
896
362
727
311
272
922
199
438
744
64
674
955
123
691
418
842
508
577
345
548
764
927
940
966
919
975
856
659
394
322
834
73
660
551
379
501
73
178
314
787
110
125
935
99
201
737
987
616
647
802
114
654
877
180
725
549
439
413
457
653
663
119
552
863
895
80
484
475
576
662
130
534
196
620
615
516
335
397
730
897
595
744
464
111
190
856
787
455
403
253
250
757
860
310
410
969
839
696
306
431
398
963
458
239
164
190
935
989
21
890
41
210
790
362
93
949
221
285
569
299
270
624
638
153
684
873
703
89
362
227
137
94
852
539
824
789
582
813
468
915
137
539
891
97
925
417
702
357
131
844
782
360
683
122
7
177
323
473
507
185
527
835
561
795
161
883
884
887
293
875
715
202
470
752
555
423
133
349
885
394
572
742
445
699
965
502
927
846
611
63
42
410
394
523
964
806
927
929
93
789
538
487
926
415
499
239
594
921
421
411
263
940
775
57
178
516
870
621
600
623
426
730
270
283
88
889
301
923
845
719
624
295
330
50
182
172
419
490
89
2
353
48
874
914
889
22
749
771
573
629
565
440
348
796
760
116
99
131
103
298
667
312
537
989
73
74
714
787
418
495
121
799
990
524
812
723
576
561
867
43
927
414
643
969
561
166
788
691
850
300
746
522
423
942
200
725
436
246
484
169
214
722
502
475
67
805
111
976
847
72
224
648
948
291
137
140
5
926
696
188
502
808
957
960
880
434
955
370
475
747
2
963
821
338
756
770
434
689
885
438
157
470
792
1000
574
947
289
914
780
190
499
358
13
183
584
331
265
861
38
792
5
817
412
950
588
682
351
807
738
181
714
241
743
468
366
229
653
632
971
302
801
204
740
957
451
70
603
544
223
459
750
98
221
576
806
689
472
989
183
139
356
131
287
341
216
112
353
43
195
602
642
638
698
688
597
414
551
488
381
778
41
786
871
123
572
91
809
417
565
367
303
54
584
106
281
224
403
573
827
842
867
813
547
94
974
439
242
763
526
338
193
816
108
130
334
174
881
689
397
189
877
15
901
128
66
525
506
867
434
177
810
82
742
857
165
458
401
180
442
820
123
151
982
632
632
178
143
12
718
531
976
277
363
701
538
23
482
38
290
946
87
695
826
891
294
165
908
148
683
654
419
608
940
101
368
217
608
919
538
97
23
422
706
813
196
483
624
540
483
153
116
291
377
877
689
933
645
438
77
486
350
977
958
32
976
254
919
668
31
811
419
75
976
886
76
689
304
684
156
924
874
119
511
596
396
239
552
521
65
348
58
217
918
238
758
811
450
73
657
516
364
188
12
517
121
478
730
699
141
118
690
409
49
55
183
377
408
100
195
981
715
476
771
283
288
339
46
651
853
177
822
313
252
923
790
908
738
353
542
932
719
557
583
28
675
329
408
181
181
867
572
268
646
506
375
836
403
106
425
670
263
342
887
465
491
342
638
888
462
84
941
426
887
462
467
659
629
191
671
42
589
571
608
829
50
666
211
516
149
628
988
81
899
759
818
312
239
379
277
741
160
729
485
52
856
950
981
326
178
647
549
189
444
654
236
719
748
423
12
970
507
858
670
113
937
535
589
462
485
991
931
133
50
147
689
671
979
24
756
758
419
594
851
7
591
3
698
961
945
422
344
617
960
464
855
189
565
451
942
375
765
818
242
99
72
568
97
522
781
43
646
182
960
200
6
239
248
241
83
166
225
681
309
676
143
926
233
354
294
968
402
198
127
97
447
290
513
409
609
869
235
444
205
380
854
530
703
453
596
256
127
392
795
32
501
433
749
885
908
953
519
476
540
842
347
819
790
452
878
340
57
898
291
719
423
988
788
427
771
740
621
994
250
263
987
814
195
761
681
740
752
555
324
805
483
321
392
141
192
175
10
604
29
862
655
639
706
53
512
647
326
681
204
491
856
330
2
814
809
889
454
501
11
129
547
978
679
332
143
49
175
876
467
583
942
476
816
725
108
826
528
230
152
548
464
161
874
684
906
464
595
429
852
880
166
475
87
214
910
88
353
268
24
39
138
614
373
562
326
972
809
822
22
139
342
767
344
330
552
826
882
276
594
640
826
649
34
896
463
186
551
403
868
424
211
707
119
62
628
946
326
824
852
116
49
133
185
621
457
25
502
776
719
541
835
950
652
230
126
131
626
524
89
22
89
454
61
218
835
627
572
602
328
397
121
901
968
899
303
214
174
8
993
438
569
267
787
728
333
551
257
523
14
568
880
208
691
266
673
197
409
924
699
49
239
952
574
282
127
434
40
675
965
64
495
217
935
374
54
305
252
139
397
453
868
377
163
570
588
653
88
794
289
290
464
996
642
620
720
333
797
673
99
616
991
533
475
881
924
136
331
241
73
472
782
15
786
982
325
151
149
454
707
173
115
857
852
237
324
376
359
399
356
369
427
842
943
104
436
673
743
873
602
848
901
575
266
941
535
891
413
757
660
962
962
251
845
868
207
795
53
258
555
643
726
222
359
307
136
841
218
683
442
891
589
963
676
870
932
779
109
841
893
543
47
588
233
689
124
243
305
322
609
848
873
855
52
261
1000
324
845
477
535
453
917
679
454
963
834
278
947
319
43
810
668
844
836
769
19
130
908
399
680
741
60
989
856
496
645
471
864
22
901
948
773
847
152
348
747
39
208
561
666
271
967
264
338
258
370
136
355
687
337
314
200
140
290
764
760
5
159
678
764
52
528
178
33
164
722
325
609
716
179
924
990
192
419
666
712
981
277
915
481
685
853
849
892
923
779
714
536
351
28
672
948
549
435
115
426
502
533
295
222
623
83
866
976
661
901
230
573
389
183
598
763
649
576
312
15
201
631
317
58
830
153
593
486
338
158
19
615
372
823
392
504
514
861
274
686
705
194
928
687
869
681
847
860
542
926
274
387
438
852
708
605
121
834
556
908
390
648
997
609
562
409
643
67
539
965
775
299
481
915
742
72
905
544
659
143
256
492
640
962
349
878
656
595
587
955
535
93
536
117
787
809
252
186
661
411
762
510
333
469
197
323
168
502
410
191
775
366
351
158
966
651
42
352
782
566
826
418
491
406
416
122
800
300
380
867
585
380
936
677
98
924
289
384
974
279
309
404
345
582
43
469
24
401
416
156
40
405
473
830
750
86
695
911
399
396
250
989
275
854
519
366
507
331
855
79
206
238
369
294
832
313
444
262
621
518
807
688
435
831
252
434
636
881
518
12
442
433
406
153
751
708
945
103
627
394
320
962
436
13
289
517
181
972
54
531
666
243
881
386
998
127
277
297
351
940
218
74
60
815
735
526
890
6
150
187
758
219
374
969
276
552
25
737
224
526
495
549
486
576
782
512
11
120
604
742
102
948
272
957
703
306
843
585
364
454
334
99
283
915
143
482
124
876
380
345
345
420
503
247
398
355
524
180
479
414
35
35
483
515
514
74
417
572
658
114
836
99
988
152
762
449
614
634
176
91
831
425
389
743
170
827
520
574
642
629
856
871
165
316
104
812
588
982
387
981
303
455
398
282
163
397
283
760
318
869
677
654
616
967
825
651
426
640
843
967
82
758
15
342
689
788
471
461
659
221
717
642
205
999
269
832
988
772
61
107
251
756
428
887
68
334
156
29
786
307
548
827
349
897
474
647
950
148
117
669
370
408
473
698
462
939
732
525
444
511
287
681
54
43
538
732
191
979
578
418
335
91
570
82
906
844
872
809
743
272
980
621
49
573
963
876
457
263
330
774
382
793
225
458
438
969
431
772
503
410
896
175
969
517
420
622
810
137
685
537
365
154
35
113
170
754
277
275
721
2
308
590
796
646
562
307
862
825
103
491
109
406
681
903
883
246
248
875
618
583
209
950
918
82
173
442
58
839
70
413
46
727
301
773
338
101
5
348
459
760
622
784
44
483
683
108
309
199
163
628
526
38
777
569
861
83
328
544
848
650
601
518
854
300
285
367
98
598
132
557
213
844
885
722
846
607
491
128
510
924
802
107
768
436
234
537
810
597
863
379
694
291
20
76
807
863
760
359
614
633
489
619
386
376
625
565
396
166
447
296
14
221
143
298
256
65
665
111
591
421
193
572
224
734
897
623
672
93
200
629
149
667
938
42
195
443
663
25
1
180
802
360
107
17
575
526
485
96
361
387
543
887
672
300
253
665
20
789
438
695
739
153
213
278
259
506
737
732
415
778
721
768
132
154
570
482
215
276
669
362
49
282
66
299
716
427
736
568
418
590
676
148
118
447
325
561
993
474
167
586
644
224
958
867
997
515
669
405
477
273
141
387
363
768
428
618
187
895
979
70
658
975
157
707
876
273
43
787
546
47
127
318
469
504
287
195
853
452
394
817
885
804
1000
663
567
353
812
396
24
360
96
535
375
620
713
645
793
587
229
300
537
71
417
764
616
763
537
466
210
566
950
857
145
294
2
177
531
809
620
961
117
80
717
895
59
967
355
751
579
738
572
677
391
491
930
101
925
657
130
858
47
719
493
903
460
130
709
193
952
157
25
849
443
54
946
752
95
527
633
82
821
923
355
125
196
963
819
900
104
122
655
728
475
952
122
937
99
739
884
277
831
898
771
494
445
405
571
712
42
413
254
952
174
879
482
140
795
702
932
438
736
382
710
580
639
652
117
169
211
911
136
577
191
493
228
156
657
26
518
976
176
144
944
185
800
842
740
404
137
599
485
256
529
215
978
274
889
977
430
912
897
374
813
352
56
97
690
113
590
459
562
184
273
682
563
611
67
739
328
945
878
566
990
974
828
466
564
501
187
519
421
698
525
620
154
748
675
536
929
87
859
38
283
504
644
728
470
812
483
647
620
535
224
153
428
341
362
804
578
493
767
225
848
657
294
982
678
828
989
543
996
935
561
276
278
973
425
267
136
118
897
484
192
348
35
396
683
555
256
743
966
988
48
567
112
135
61
955
833
849
363
238
273
582
909
500
614
87
109
364
7
857
935
967
88
858
173
929
212
814
280
899
593
450
794
959
737
564
395
775
889
793
553
857
775
206
110
742
538
644
334
200
624
852
695
807
342
997
95
340
974
132
360
502
579
533
526
428
115
592
909
242
86
143
933
737
701
668
494
875
437
831
920
376
979
163
689
162
750
555
710
771
610
393
325
165
879
796
185
531
496
445
813
796
30
910
969
547
238
205
895
2
43
570
153
449
136
90
36
335
886
837
472
786
865
665
920
890
117
669
37
526
224
557
744
842
336
915
940
765
609
356
280
90
892
105
323
731
92
419
904
728
379
562
729
465
265
759
56
333
669
669
841
789
227
439
824
326
523
317
915
417
377
153
629
864
33
844
509
329
893
916
202
36
427
20
324
770
48
35
316
320
995
868
256
483
758
799
984
559
162
385
973
51
997
552
68
939
986
448
616
443
995
75
521
704
575
471
443
146
338
465
710
602
225
606
504
479
382
919
526
292
273
537
679
973
617
118
242
209
946
177
660
907
883
119
330
623
725
805
711
379
571
941
680
877
989
455
280
523
219
272
944
43
965
608
807
728
132
961
953
487
249
475
307
984
931
242
415
81
418
438
545
706
171
838
354
46
501
442
914
656
427
398
991
672
335
385
315
829
480
921
34
392
72
812
653
410
519
109
575
963
346
471
749
163
483
818
53
727
892
507
781
882
948
23
994
201
615
382
567
741
201
997
480
483
395
780
267
686
396
602
558
202
126
89
363
200
941
892
44
20
793
224
965
87
492
435
425
900
564
870
804
112
233
41
831
652
208
426
474
626
296
818
262
480
322
218
764
533
500
733
544
517
169
764
166
210
781
101
715
599
116
155
876
252
968
684
799
760
970
849
891
149
798
313
170
176
712
426
14
252
313
228
979
567
399
112
863
659
32
543
324
275
272
105
205
869
550
525
146
520
317
36
213
319
445
604
47
566
809
78
456
175
655
295
485
787
614
532
726
982
704
458
55
869
253
931
17
46
430
565
819
642
18
958
249
647
106
913
878
276
636
735
565
459
103
940
662
825
274
285
277
785
481
91
626
365
887
213
812
475
166
891
327
218
184
907
212
627
591
164
66
982
740
815
45
451
958
565
584
373
7
593
800
901
513
858
485
116
258
179
87
938
475
610
370
356
728
88
247
535
514
231
869
354
467
489
182
800
928
528
48
431
686
854
503
810
908
215
875
415
604
232
313
37
534
35
721
74
70
458
226
472
408
434
98
267
481
838
437
809
49
955
86
817
768
108
927
305
465
784
155
326
459
731
154
178
534
119
354
431
96
823
779
655
91
289
53
240
535
257
296
44
866
797
710
931
873
757
613
416
673
722
367
752
48
19
944
800
480
139
826
921
369
168
581
966
277
500
719
145
491
104
371
187
857
141
927
767
617
525
4
573
939
344
52
768
938
699
411
858
243
630
905
106
582
261
887
741
442
211
210
151
590
608
749
149
111
768
986
180
697
677
615
30
86
995
316
191
926
163
647
555
861
573
449
508
267
482
323
818
939
499
456
929
974
22
585
419
255
964
890
391
225
484
440
531
87
174
153
406
190
372
335
320
93
824
541
742
759
921
914
827
361
127
153
98
455
21
958
676
629
580
143
755
305
939
611
231
60
903
6
442
683
884
223
45
220
805
862
905
395
716
380
737
156
532
948
929
538
363
963
642
716
340
762
775
875
724
314
861
498
350
587
298
776
129
844
560
93
434
326
219
979
645
664
650
490
81
885
292
687
787
66
192
815
402
528
358
780
423
947
152
769
702
945
516
159
943
493
370
441
309
957
909
487
967
720
843
363
563
96
858
851
167
698
705
970
165
491
336
115
991
532
502
846
288
783
9
981
341
449
633
419
147
21
349
23
509
553
62
972
938
748
549
229
917
104
675
147
333
726
222
801
466
376
894
304
948
25
132
248
549
449
394
410
464
403
447
33
14
500
68
326
332
226
238
295
643
444
568
659
220
339
226
418
939
983
63
552
656
633
13
468
280
413
64
76
514
242
282
757
726
771
430
110
286
586
698
66
48
141
924
846
313
718
517
295
768
211
922
328
396
677
123
549
263
415
152
665
469
804
990
941
231
230
568
799
254
240
804
625
83
476
717
996
78
42
736
835
43
691
222
436
277
647
103
939
22
908
249
554
855
617
907
792
551
434
48
22
347
900
983
887
351
443
960
529
26
34
758
100
303
481
480
735
911
26
840
28
903
200
255
57
241
851
951
188
485
921
125
177
333
773
915
624
763
843
563
418
13
965
705
650
501
979
138
379
33
106
792
786
356
171
865
478
165
943
264
137
194
743
538
297
882
2
478
734
435
632
437
869
808
911
210
616
219
86
993
304
373
51
562
668
457
255
296
406
328
483
97
481
50
252
554
159
63
355
956
759
850
524
853
244
900
256
927
41
139
617
855
971
778
222
723
750
691
658
274
272
20
340
948
858
719
138
260
653
94
172
483
662
254
836
47
245
555
449
295
460
750
960
474
354
584
737
898
131
979
832
258
152
812
42
952
907
508
715
110
395
336
557
747
839
313
588
75
331
128
7
553
732
322
986
707
177
239
292
77
576
958
202
930
812
484
407
515
731
953
455
715
590
540
817
937
397
13
852
923
404
624
769
998
127
118
217
932
405
173
231
198
411
506
136
919
18
214
425
204
597
659
778
893
150
347
158
948
669
820
348
861
730
503
405
502
653
858
228
726
984
922
856
973
671
522
170
787
81
13
382
887
901
393
85
956
51
33
624
823
987
75
296
51
117
745
166
272
645
440
316
775
829
500
3
957
491
955
482
258
663
405
247
114
373
423
42
259
957
504
292
464
705
654
515
400
342
154
892
864
593
901
406
49
63
22
852
880
758
83
616
702
826
366
295
761
537
110
124
990
74
547
715
572
464
867
766
671
830
922
267
446
228
637
213
218
509
570
998
218
1
37
455
862
338
507
992
916
414
750
392
217
273
327
612
855
716
613
358
837
576
438
321
309
856
864
657
322
425
325
770
21
536
585
443
842
217
508
123
15
488
660
536
183
448
130
810
472
495
784
992
687
326
345
187
631
937
338
518
690
496
930
795
984
869
156
62
332
542
802
172
231
906
524
157
846
136
364
439
738
434
918
860
684
2
852
108
489
921
318
353
108
74
119
815
779
331
122
553
94
498
514
951
112
941
983
306
675
375
803
374
71
42
101
995
70
379
292
687
124
331
784
651
239
664
582
760
622
984
322
890
690
681
638
482
468
698
472
266
693
822
88
926
195
215
121
870
225
11
932
394
449
94
903
252
291
666
95
57
104
756
844
6
466
649
480
125
508
74
316
595
773
118
469
783
588
17
872
244
268
409
34
325
818
127
742
1000
938
364
885
204
266
847
51
263
783
722
335
957
229
963
67
404
182
499
808
207
182
692
7
264
920
468
164
200
32
168
234
659
486
164
257
587
920
366
862
179
497
38
427
407
56
717
96
899
370
664
821
472
315
939
842
811
607
141
748
620
606
858
400
73
294
84
463
542
229
232
278
398
692
849
90
128
722
851
435
165
22
886
578
558
929
431
506
100
817
370
888
577
281
76
806
578
442
495
827
679
529
315
158
916
660
78
206
135
416
3
865
204
344
378
246
94
24
588
349
527
704
259
415
202
786
522
284
661
650
105
113
445
405
836
256
557
135
118
887
178
162
143
262
216
611
906
94
551
353
592
593
771
951
503
205
773
852
549
897
872
449
206
152
942
18
10
487
691
772
885
408
377
460
27
182
141
963
657
732
681
376
663
235
140
868
64
733
971
471
247
157
987
595
156
709
996
677
942
468
211
879
119
398
98
175
912
703
444
444
347
611
212
459
578
201
168
755
96
886
380
415
773
483
416
745
121
608
475
666
772
285
758
398
934
266
86
674
504
520
147
299
591
772
791
325
440
748
468
507
127
19
250
992
939
928
867
368
67
105
852
321
71
530
191
138
625
893
844
212
176
282
119
517
513
841
174
751
699
120
828
467
479
271
495
64
42
136
256
921
994
509
27
352
486
575
313
256
714
563
260
572
421
182
613
626
613
276
672
522
423
448
560
537
949
117
948
305
946
560
866
265
431
51
393
418
638
100
844
987
254
147
492
950
558
802
48
735
882
864
838
631
821
909
98
531
737
183
873
719
419
932
762
331
171
12
152
956
263
874
645
628
382
540
95
95
696
200
49
830
163
471
416
727
7
119
848
784
617
304
710
398
709
972
450
44
260
89
884
252
611
781
192
764
121
342
398
696
936
253
731
317
766
34
526
815
27
799
286
8
370
831
88
537
387
361
789
491
240
22
363
770
91
99
297
759
427
798
141
20
834
246
235
816
336
812
113
210
127
669
305
396
457
195
75
696
419
950
149
335
635
464
627
724
166
29
86
477
497
978
348
800
106
714
515
205
962
881
636
732
273
603
818
982
947
714
685
314
509
230
828
492
691
103
292
904
497
473
218
270
317
210
461
370
584
534
377
913
544
883
11
160
922
37
601
243
694
653
633
470
675
47
707
42
368
32
121
753
342
60
364
210
464
773
719
56
432
262
757
466
409
22
803
931
42
617
397
962
761
532
338
896
85
569
166
404
573
376
842
689
198
429
924
563
160
822
787
812
593
730
266
279
171
310
669
90
384
104
261
328
104
690
181
239
140
497
242
751
657
160
214
684
699
754
6
530
572
578
636
110
507
878
972
702
849
66
50
491
1
528
158
296
488
89
6
578
805
539
42
682
147
434
347
86
760
523
648
222
363
762
673
72
63
856
435
311
229
662
115
246
19
593
816
190
675
377
879
180
194
116
401
137
741
640
264
695
974
564
291
894
495
276
122
866
809
353
996
454
478
519
949
424
659
326
820
567
841
199
89
519
404
337
799
571
544
242
726
91
254
330
503
426
281
145
652
336
409
198
310
46
11
357
2
6
503
982
966
313
261
751
406
533
596
208
516
369
559
590
292
203
735
420
953
53
685
692
261
893
353
194
137
609
604
691
774
82
20
200
851
9
228
595
585
141
326
103
47
515
422
48
641
142
913
361
633
351
878
980
398
655
913
211
372
572
755
574
763
298
333
402
732
530
236
716
118
5
134
475
762
516
400
361
138
269
42
636
336
461
34
495
352
830
353
529
336
808
303
602
656
562
242
452
615
907
406
832
244
541
371
826
814
562
622
283
652
526
784
962
372
578
386
77
874
357
383
425
310
432
291
152
770
993
492
552
613
430
157
954
201
181
287
920
308
954
569
445
621
6
98
817
551
677
524
111
64
793
872
17
320
847
77
889
745
117
294
401
535
6
140
196
729
891
358
250
704
768
820
476
372
782
391
222
400
499
953
953
494
450
804
352
176
31
704
503
487
323
97
598
744
765
410
832
830
926
876
754
483
774
34
379
689
982
908
765
636
777
887
623
593
782
485
749
758
89
508
712
361
557
608
290
246
917
857
608
767
850
777
781
54
608
192
151
628
112
385
881
897
723
306
734
275
25
1
391
547
42
988
510
630
278
61
83
48
856
877
303
324
793
726
304
921
185
87
655
583
632
936
382
706
756
258
681
819
84
929
161
420
870
916
660
151
656
740
190
751
521
304
533
308
967
448
391
88
377
63
740
610
783
205
234
702
483
406
70
998
669
291
737
676
810
702
443
317
20
746
835
399
998
585
817
304
429
315
916
725
922
1
620
986
658
758
583
112
934
835
407
461
684
765
932
331
898
12
657
248
561
22
907
579
379
204
883
680
90
176
528
76
601
563
486
33
534
731
38
470
41
102
31
361
866
141
284
648
763
627
859
234
282
620
866
771
867
364
226
845
982
439
864
622
651
681
388
183
440
722
196
598
367
536
300
235
669
29
898
928
670
559
867
426
197
223
891
942
135
909
924
748
768
406
19
490
439
290
350
293
987
941
420
825
93
790
22
135
405
820
535
541
815
419
507
780
780
914
288
399
928
505
690
638
505
858
256
116
378
326
746
218
440
602
871
459
246
647
144
8
631
891
954
216
870
26
605
252
670
200
139
886
925
62
186
66
660
883
977
156
95
959
918
621
45
570
780
516
181
67
684
323
787
64
503
577
773
273
241
233
617
278
211
933
839
414
581
142
366
963
938
646
852
85
54
47
606
255
985
690
311
490
915
956
81
312
960
926
777
242
238
249
681
559
102
454
780
247
363
37
942
305
710
416
215
63
306
237
306
761
701
578
92
388
803
314
630
723
622
282
741
569
918
899
687
437
653
597
856
272
395
741
651
424
402
746
973
708
161
697
785
277
552
152
251
69
685
720
846
699
649
666
674
57
93
49
923
308
593
839
35
652
225
67
713
979
622
282
304
525
66
514
465
726
850
484
269
724
213
39
75
422
652
640
531
538
313
274
87
846
448
341
244
684
651
903
570
851
694
194
198
206
301
423
123
659
123
720
113
733
529
560
483
559
534
86
253
992
364
549
493
515
690
539
734
719
521
721
398
480
125
591
124
360
96
126
719
401
891
302
216
215
706
128
194
218
582
250
65
910
16
195
517
348
146
1000
679
343
803
331
867
446
317
175
949
509
7
859
472
445
698
444
710
830
431
517
681
160
810
24
19
904
18
68
298
963
646
516
37
803
886
883
158
304
539
161
105
324
539
209
179
100
386
853
904
829
938
67
396
254
543
484
785
576
347
1
690
832
928
453
655
683
145
125
222
664
137
432
13
118
15
181
800
384
627
705
22
361
192
561
668
185
266
672
700
632
701
501
460
807
793
350
625
830
747
907
295
528
5
952
748
579
698
517
272
173
702
865
177
17
330
354
831
414
707
638
55
242
254
686
738
884
505
771
892
534
714
935
659
868
294
426
958
764
167
260
593
592
523
368
608
640
335
755
619
386
186
723
648
661
644
480
720
230
447
397
109
950
229
777
657
463
386
214
35
339
935
575
145
664
920
132
159
369
981
654
799
985
199
96
570
86
227
56
616
448
25
382
742
779
200
117
954
981
103
491
530
64
322
816
265
203
162
941
9
948
10
406
60
244
260
537
253
776
570
526
850
101
818
945
431
194
64
260
48
311
176
654
830
536
580
840
77
964
739
665
659
272
571
956
152
306
997
479
762
413
199
886
511
480
985
222
592
13
851
890
38
148
962
989
66
176
260
578
561
30
390
732
155
191
903
223
274
625
487
288
340
717
599
207
53
627
914
367
276
132
493
68
630
823
406
580
290
469
839
852
882
468
382
854
578
563
267
729
708
429
847
805
205
311
454
77
246
604
130
894
275
196
380
493
405
389
260
468
894
456
589
440
964
217
35
2
771
553
138
476
710
430
80
127
585
835
155
294
374
14
445
282
476
529
174
6
330
952
547
67
272
467
698
395
315
235
504
624
319
188
631
79
648
776
160
646
23
310
534
808
688
771
364
822
472
309
868
342
519
256
280
819
746
115
648
614
103
897
805
125
783
156
190
146
388
262
378
334
912
752
873
916
104
120
735
711
414
998
91
137
249
514
423
109
732
536
829
651
480
638
96
586
183
859
523
905
931
790
926
281
295
37
142
699
155
911
656
408
121
14
675
182
218
491
110
428
159
875
419
790
159
849
202
740
726
715
784
88
303
72
745
477
905
13
504
720
187
113
623
228
434
661
456
930
65
838
110
778
140
26
499
357
235
25
394
197
789
707
10
55
691
595
612
854
462
869
54
961
817
593
942
190
823
305
342
248
123
676
543
337
885
624
429
291
267
154
421
913
148
191
805
182
834
822
483
567
214
744
822
21
625
127
372
120
245
802
617
423
441
428
847
373
880
279
471
959
597
372
782
918
467
940
274
483
653
654
79
533
733
594
19
555
109
679
36
996
248
170
501
419
41
900
989
399
294
72
657
226
929
851
262
287
18
453
206
493
149
138
733
214
958
307
531
967
885
916
572
547
328
523
964
376
433
616
939
588
659
288
916
771
152
945
702
365
674
500
513
401
532
422
478
659
490
66
669
350
134
981
536
101
538
242
779
373
375
403
378
432
782
410
442
653
415
590
34
242
131
930
910
425
613
966
385
784
135
961
168
685
306
514
53
689
341
403
837
427
891
221
667
656
915
355
318
131
457
947
556
472
395
718
851
444
442
1
161
912
697
857
426
275
68
919
725
384
719
457
703
748
527
244
65
377
176
965
387
728
173
296
461
50
513
270
717
878
192
232
981
555
25
510
13
446
505
889
782
910
528
153
430
249
870
199
191
515
218
745
375
555
448
183
616
639
553
971
245
817
302
801
588
457
304
922
405
480
569
173
485
483
105
714
611
293
305
946
742
455
143
854
265
868
230
817
589
34
833
992
215
403
860
493
624
874
599
966
993
815
782
600
779
913
123
269
697
706
34
309
459
959
680
342
914
895
850
712
928
896
410
337
386
458
243
194
231
110
652
245
322
486
183
344
197
952
701
525
552
26
333
162
339
323
594
642
930
900
604
586
691
718
802
148
679
362
5
598
883
309
923
205
591
813
529
451
14
892
756
695
262
11
65
761
108
794
363
307
790
497
575
503
220
55
978
254
612
188
12
167
483
486
884
503
400
349
746
605
650
416
613
676
197
392
449
326
931
227
90
1
216
224
707
273
174
991
583
975
984
79
835
340
699
813
565
619
748
68
631
151
321
694
860
473
319
880
65
875
378
997
679
735
794
353
135
93
805
867
424
173
811
876
382
986
560
160
347
719
277
810
798
363
947
731
453
880
743
417
121
308
645
162
249
360
849
965
754
445
487
256
198
553
507
1000
788
116
292
874
4
774
772
974
880
968
299
969
78
402
545
687
965
738
13
872
804
306
562
261
48
242
493
180
476
216
324
584
554
842
411
822
1000
919
907
456
980
912
410
134
748
436
822
865
846
76
568
30
153
568
350
132
165
221
24
592
932
460
34
849
932
581
66
673
31
70
244
846
372
386
222
334
668
694
1
626
930
861
166
204
77
949
479
978
240
590
489
92
827
833
860
735
565
516
624
434
820
787
475
870
449
90
490
407
339
884
402
395
560
346
650
789
752
546
944
771
974
926
32
907
739
431
667
782
375
305
517
240
159
390
925
79
923
759
940
521
912
631
42
859
768
831
312
416
412
491
585
379
454
314
309
110
545
455
392
259
697
33
329
385
207
322
294
794
278
932
667
25
796
660
699
716
42
243
613
616
273
942
463
126
235
749
518
96
652
9
730
545
671
428
139
612
29
764
659
300
467
972
792
541
516
219
220
681
333
972
146
727
700
318
482
613
658
780
678
304
479
155
70
757
878
314
108
648
393
497
717
282
865
335
362
319
817
756
79
744
321
954
854
60
625
793
256
788
429
402
154
194
186
209
677
632
227
320
327
988
813
20
284
527
467
92
507
832
23
847
191
670
930
1
495
307
218
30
239
258
445
206
439
467
660
299
127
653
93
838
900
935
845
910
42
856
339
702
841
628
641
371
967
758
85
386
356
201
805
175
91
860
868
772
182
538
744
165
993
435
706
232
290
883
627
441
534
325
319
28
114
425
217
940
626
844
729
679
223
431
35
95
302
477
449
313
463
266
715
209
780
349
786
294
906
856
675
445
416
663
967
610
120
459
446
572
752
557
82
823
591
801
303
865
65
106
104
577
325
918
24
796
107
407
436
956
949
289
928
425
949
963
761
186
845
89
527
620
108
821
160
473
135
641
415
509
396
175
741
984
549
402
268
810
144
388
272
241
497
72
42
924
747
630
556
459
874
639
765
947
692
614
531
578
424
467
511
991
508
112
332
27
687
735
427
453
294
217
817
479
850
827
930
135
776
567
276
123
43
499
435
356
48
971
331
211
887
895
230
451
432
158
242
916
335
767
345
296
130
601
136
760
118
453
561
768
601
623
868
129
341
474
884
264
824
236
525
655
26
801
129
695
889
439
800
475
664
157
461
583
580
902
724
643
66
906
1
161
881
280
500
208
67
382
885
627
585
574
423
735
888
731
357
936
415
282
128
284
200
596
787
780
358
272
645
114
199
237
709
649
119
601
14
640
229
904
251
124
867
717
439
402
774
562
569
783
726
781
212
78
849
278
147
379
654
29
916
796
106
877
78
173
653
416
627
274
200
681
683
573
493
977
106
563
209
415
94
477
349
616
233
390
176
627
651
950
61
288
151
403
54
178
232
148
913
772
874
803
622
662
884
619
128
495
336
167
159
817
361
385
487
121
136
449
936
269
429
441
768
845
442
451
821
192
66
577
909
618
817
278
556
705
910
653
90
750
938
538
491
106
559
736
145
598
461
323
848
256
614
731
988
299
501
217
794
712
547
413
982
751
490
882
888
425
777
991
410
310
374
956
695
100
563
611
499
888
411
315
629
539
574
431
648
439
46
944
307
556
249
175
801
11
602
952
981
290
322
302
142
840
776
492
846
3
99
183
523
186
185
612
266
693
388
935
316
871
439
300
230
106
155
812
610
716
483
245
581
975
303
284
920
356
208
88
822
569
165
205
856
111
549
175
549
889
584
725
396
896
573
87
815
90
694
817
723
363
290
464
967
954
761
587
770
730
179
895
768
509
697
752
924
20
661
888
846
119
116
920
553
645
12
198
780
620
41
591
276
562
453
24
354
354
623
999
169
443
404
851
812
160
492
205
319
577
148
953
136
668
599
77
402
453
377
825
655
479
657
58
217
236
375
74
550
51
560
862
355
594
818
517
35
385
376
496
412
573
429
534
281
841
786
246
442
493
983
919
372
657
84
529
561
59
386
768
857
19
92
757
885
150
837
159
680
745
618
595
232
988
292
655
559
931
305
268
242
654
727
895
105
136
990
817
879
149
939
786
224
930
947
426
447
454
876
81
621
902
608
247
582
312
719
345
442
449
634
332
873
672
227
591
359
925
462
598
52
9
64
103
651
1000
666
951
916
979
104
208
82
287
765
964
417
114
961
29
622
593
338
768
594
509
211
477
314
351
549
30
265
725
63
10
842
89
456
178
668
334
463
920
598
5
717
265
464
853
862
182
290
973
549
110
785
984
148
114
414
589
58
614
252
401
466
385
109
53
304
399
135
518
925
133
231
998
712
163
91
953
436
217
667
587
695
388
135
650
145
857
208
454
597
308
797
856
227
213
524
336
327
273
620
421
13
635
40
461
290
903
433
114
691
632
779
39
483
685
72
927
77
819
444
431
868
896
479
567
178
357
324
822
381
7
351
589
553
664
794
494
202
957
764
885
705
410
485
20
133
937
453
482
979
76
402
967
212
594
671
856
723
579
563
936
917
780
793
216
697
746
938
21
577
256
114
476
951
659
760
24
854
987
493
857
681
126
495
3
403
923
782
339
797
808
16
989
88
422
208
410
179
778
806
949
346
686
149
829
870
511
219
328
581
881
954
349
699
593
99
762
693
817
760
614
58
664
331
779
105
337
466
692
828
357
95
576
903
822
285
936
701
265
895
212
952
429
575
140
371
194
655
784
102
989
838
206
341
225
437
435
843
686
100
752
336
365
571
256
32
919
68
400
552
785
270
433
544
997
762
680
242
936
1000
215
966
548
526
756
358
51
188
525
698
807
619
453
263
803
42
309
71
154
789
263
727
143
553
952
350
565
518
311
705
584
965
339
731
859
864
468
649
452
278
393
694
897
68
88
309
874
571
180
331
111
359
64
299
517
206
902
512
28
632
152
891
361
210
366
993
661
918
797
779
9
383
769
837
935
836
885
816
313
939
855
768
522
434
159
940
334
725
815
304
744
107
227
799
912
320
470
795
427
524
394
792
345
575
607
725
861
716
759
539
974
369
517
900
258
780
292
991
669
666
97
361
342
852
845
691
508
143
73
171
982
286
298
910
146
965
192
403
3
213
319
657
661
482
458
975
564
903
409
790
886
925
747
163
767
612
228
726
506
381
379
939
368
828
378
480
430
615
484
468
751
108
122
31
211
521
244
391
554
916
723
247
536
266
336
764
588
153
395
849
56
431
165
747
953
283
26
179
68
687
719
426
488
262
179
725
827
810
123
367
944
662
39
667
504
98
228
774
543
697
288
930
61
476
816
362
801
47
96
463
556
844
257
300
762
679
710
758
663
476
685
857
47
88
314
829
402
507
51
593
349
610
154
146
381
826
607
218
282
771
104
264
34
911
677
485
717
818
146
129
652
410
776
725
8
862
477
309
215
528
426
890
746
328
175
627
297
509
244
212
939
614
660
943
556
770
134
857
768
144
389
68
595
487
657
159
297
253
498
54
197
680
937
332
803
552
346
337
211
111
648
742
601
731
171
491
612
519
948
123
525
948
311
558
491
26
418
342
443
246
703
208
16
741
356
572
469
676
607
214
614
866
990
5
749
31
776
977
897
872
459
436
976
397
514
91
118
514
635
369
30
918
342
191
151
774
116
475
376
470
221
560
283
1
979
539
126
165
540
249
335
813
125
246
908
853
330
686
872
563
284
422
930
58
407
18
535
412
34
602
885
23
405
674
748
322
400
20
606
778
898
884
343
503
868
405
587
423
81
145
844
132
901
181
795
41
700
877
452
379
287
939
397
918
211
744
997
56
893
302
306
5
348
389
359
428
673
531
682
777
580
575
154
991
995
497
798
948
148
957
685
273
634
882
898
673
654
981
431
943
999
713
951
216
390
650
607
803
441
605
446
203
889
142
539
437
707
311
620
938
373
518
905
594
889
465
761
423
91
12
77
579
438
600
487
16
721
635
119
230
81
834
139
914
320
88
180
259
720
824
689
875
508
219
322
19
645
845
801
854
854
510
41
1000
648
119
946
492
676
338
7
597
865
757
704
617
694
993
787
953
425
912
669
192
263
694
580
934
249
29
576
390
128
90
222
530
573
285
562
708
921
988
981
231
20
597
700
311
842
289
933
191
326
798
204
19
246
375
901
211
25
859
935
624
82
440
263
867
695
260
131
452
397
491
124
306
583
872
471
356
364
18
637
534
707
970
899
555
528
569
480
237
747
244
826
8
245
712
765
427
325
901
631
237
510
134
906
490
497
249
578
776
630
852
196
401
539
352
566
684
460
782
131
188
361
637
342
781
143
161
743
933
135
552
81
541
573
537
460
853
957
653
473
823
38
348
268
278
641
720
712
857
742
295
185
566
964
770
25
158
171
27
331
256
947
87
657
312
500
849
99
19
14
619
428
785
515
467
205
194
97
370
274
203
739
990
632
968
21
636
420
764
729
680
745
506
766
207
59
709
750
200
89
569
419
904
708
44
278
333
637
426
907
44
616
912
49
420
517
120
844
717
873
317
600
2
489
373
71
983
120
103
515
403
669
693
725
338
4
387
832
247
305
474
909
88
760
848
320
144
590
155
313
470
584
564
577
29
809
719
346
646
676
322
165
902
319
96
631
935
103
568
230
950
142
271
931
883
881
425
317
292
194
138
849
54
912
465
347
834
410
415
868
638
675
149
942
972
283
151
586
245
819
112
575
133
608
651
210
502
44
731
243
397
417
849
640
315
921
628
620
669
403
436
745
900
546
66
898
170
342
299
637
967
169
380
777
205
274
65
45
641
192
895
300
466
484
806
113
14
184
993
505
351
524
201
200
418
808
257
92
38
827
707
521
797
798
875
555
301
651
546
717
775
390
716
511
309
403
549
658
311
840
766
147
899
584
161
107
18
941
851
28
47
897
168
24
541
659
803
697
545
277
926
640
590
307
526
787
112
862
162
602
498
887
606
600
422
178
644
779
408
493
418
352
801
55
255
570
470
936
883
557
566
47
298
784
642
964
321
243
260
374
59
431
975
738
57
960
258
649
942
2
472
449
720
790
488
921
726
76
923
223
406
818
258
800
739
325
281
715
128
766
418
670
4
266
486
26
232
746
360
287
653
324
819
844
704
344
580
252
174
47
169
951
543
492
792
146
269
563
818
491
628
832
850
349
395
585
599
650
753
527
935
797
274
586
567
629
754
731
778
209
934
929
510
63
908
176
883
555
71
80
944
288
28
575
999
768
793
199
439
79
927
805
331
996
41
714
398
780
182
80
222
885
234
701
636
944
365
558
297
687
953
153
400
907
185
100
309
194
694
470
666
906
190
142
175
781
15
752
842
668
979
869
931
68
599
730
235
594
88
169
618
975
68
415
897
942
974
57
303
194
565
792
710
645
782
541
759
331
430
147
830
671
813
121
510
265
504
866
849
56
871
392
257
459
877
764
280
20
914
454
905
282
116
309
248
788
690
77
681
567
279
291
481
37
273
844
97
972
278
791
978
95
688
714
720
869
368
527
954
290
40
724
16
816
832
892
942
102
827
776
731
860
159
297
149
1
366
727
564
196
257
620
437
120
500
232
115
955
515
868
546
163
20
44
343
144
750
361
415
187
469
743
27
988
355
46
716
147
269
78
969
222
188
747
965
366
320
405
918
76
4
452
829
300
534
903
469
996
490
958
485
268
941
545
407
346
189
466
137
23
318
20
253
637
878
944
78
318
516
65
986
27
188
355
890
852
892
918
180
131
527
73
644
257
545
841
60
402
605
70
233
6
264
931
192
599
106
710
180
388
375
667
816
125
311
225
544
949
907
901
43
236
725
215
793
50
754
257
422
405
11
744
736
415
763
137
598
358
767
871
913
841
910
793
62
543
970
693
13
441
15
178
226
66
116
237
220
76
640
523
305
345
372
780
583
875
126
856
766
24
283
427
770
975
924
913
297
890
833
35
833
883
651
156
578
843
922
811
835
105
559
847
294
161
549
165
456
934
317
386
177
591
249
651
946
543
312
381
23
45
600
82
33
779
870
138
950
902
840
149
647
295
89
546
376
194
889
114
582
923
198
555
450
207
343
436
450
434
628
700
935
243
227
382
549
70
216
395
776
582
566
977
501
496
211
931
833
903
68
861
773
74
27
404
536
693
476
900
455
596
892
17
437
404
383
611
893
869
847
478
891
377
576
760
53
800
747
429
377
815
181
689
721
884
204
137
175
314
194
224
910
217
646
887
397
717
173
233
72
456
906
790
610
329
153
176
7
346
40
968
541
741
82
221
543
725
273
310
591
798
337
760
393
148
269
269
169
475
99
412
760
516
145
401
57
673
664
837
593
367
893
607
312
226
976
954
573
715
159
274
445
612
935
377
220
582
535
788
849
155
277
175
713
626
793
116
730
733
92
267
301
497
751
412
24
263
258
45
406
825
677
866
35
475
365
56
800
978
419
237
790
754
905
819
441
994
682
791
337
69
811
119
860
318
138
591
490
249
607
349
195
249
270
355
745
133
755
744
240
243
161
332
365
370
978
577
122
453
618
903
866
870
616
655
471
164
337
868
396
191
323
702
191
17
11
630
747
381
637
449
205
154
575
716
979
37
249
524
780
694
2
365
907
600
1
467
288
174
330
120
932
167
920
460
538
856
847
646
947
329
848
589
22
35
606
217
331
804
454
742
693
760
702
596
237
896
685
451
149
592
979
251
685
34
968
284
321
307
98
112
193
924
687
594
36
686
141
347
930
72
769
730
72
783
177
836
633
710
397
31
560
318
462
323
774
384
181
176
853
92
205
440
716
723
316
749
217
561
70
64
853
176
530
66
971
974
848
712
958
708
894
629
921
712
957
939
239
751
760
766
225
721
723
932
838
912
411
297
20
188
593
773
762
218
201
314
463
863
718
61
479
913
250
395
14
645
576
868
678
74
982
845
95
362
574
223
917
574
71
786
485
854
782
579
162
148
584
191
56
784
248
991
446
600
376
177
728
800
552
931
134
401
42
157
737
956
537
975
549
213
968
669
597
527
387
798
919
100
289
974
362
621
476
204
913
443
804
743
47
222
670
125
235
846
144
429
331
575
3
819
20
525
749
151
895
33
901
706
19
973
449
164
15
792
392
559
821
913
713
258
277
127
956
6
580
802
843
661
509
43
964
548
2
413
693
287
322
485
865
545
583
265
686
394
842
492
556
890
315
917
205
6
526
943
607
318
374
393
630
662
147
796
267
556
508
264
610
333
337
957
429
780
126
157
326
593
281
178
973
77
323
700
838
366
442
621
178
873
322
186
782
832
412
998
107
536
87
466
999
343
269
413
161
605
74
841
865
395
50
311
214
360
380
986
401
29
189
183
16
682
763
150
445
205
52
907
774
416
281
179
448
19
925
882
109
691
525
112
685
802
65
346
790
905
705
376
944
479
678
523
946
332
57
859
978
729
943
483
654
558
317
357
287
806
444
886
108
200
261
190
21
93
611
970
771
628
526
994
55
715
53
459
203
620
223
955
544
805
884
261
469
193
65
15
494
248
405
117
339
33
12
813
174
988
758
591
660
253
652
378
390
220
419
38
618
430
828
851
950
72
637
457
784
123
232
754
847
578
184
362
143
338
967
564
979
55
34
77
515
638
302
632
449
191
824
84
53
861
125
697
739
445
222
339
743
652
816
528
326
571
560
683
74
264
537
456
522
376
340
746
319
337
178
817
606
9
490
999
86
613
440
578
529
399
464
836
75
788
806
667
768
645
569
838
215
966
372
765
103
454
122
606
607
420
791
598
387
962
297
820
943
611
807
980
606
508
783
406
336
679
128
144
771
204
615
964
733
861
615
112
451
378
787
842
332
539
35
138
999
221
511
515
683
889
860
494
763
226
242
148
408
311
852
101
845
240
824
502
691
130
424
797
196
229
374
560
990
246
17
249
106
62
767
540
638
716
969
775
391
928
836
168
247
445
636
614
816
183
649
370
105
476
728
383
577
746
473
768
995
561
123
777
861
342
302
635
90
979
627
751
820
194
42
190
876
812
431
716
482
996
728
394
259
128
243
526
413
236
393
624
295
786
354
260
180
218
434
880
209
811
89
78
912
347
605
425
637
555
426
668
511
525
992
985
257
95
735
61
317
733
581
919
248
579
891
813
274
126
293
997
239
474
258
851
898
236
592
682
686
923
255
480
600
100
18
62
839
671
528
333
163
410
291
821
743
265
929
280
426
1
807
898
930
484
823
562
472
274
675
733
738
210
441
678
874
381
640
232
437
190
274
782
799
242
505
860
574
405
745
627
18
751
927
491
223
995
649
307
130
725
685
927
69
951
98
327
544
456
799
216
486
33
960
773
16
915
99
170
57
617
29
587
811
982
113
728
187
426
412
242
762
239
399
54
757
360
883
305
803
191
657
523
984
879
174
682
763
989
262
977
909
638
455
558
473
973
66
910
200
343
489
296
490
636
587
462
185
28
196
814
987
831
946
383
299
213
615
227
611
307
167
340
364
645
509
745
358
894
704
237
387
589
93
122
764
947
305
418
783
861
626
162
975
845
581
917
231
79
856
54
472
656
891
137
550
822
562
559
531
286
400
610
301
661
662
314
699
697
439
722
30
273
657
775
840
24
512
568
322
86
362
566
560
682
578
309
105
175
196
261
51
781
459
682
861
344
499
857
665
440
499
574
695
630
615
470
757
834
832
777
414
664
743
7
613
48
865
342
55
602
781
855
497
76
851
162
534
587
654
839
131
549
665
687
340
942
867
978
154
10
135
908
458
566
276
797
355
842
546
16
935
211
297
238
745
159
193
366
771
635
68
408
755
248
78
650
64
805
277
710
113
409
118
426
576
623
662
115
210
247
494
385
157
883
411
594
999
778
981
15
692
411
957
979
722
902
382
545
500
592
898
782
28
104
442
325
368
753
41
729
274
444
829
23
638
95
804
37
68
169
66
293
18
139
451
694
339
549
526
809
63
898
927
282
505
738
838
803
474
212
255
82
525
775
335
508
665
982
740
509
893
30
395
144
259
232
480
131
872
689
800
347
448
229
908
794
516
116
460
189
382
99
358
623
290
157
131
166
25
658
899
927
329
739
984
826
146
417
915
258
641
321
132
902
374
950
173
163
804
60
494
119
486
114
382
392
964
741
592
57
370
785
448
574
169
833
153
712
317
114
951
642
355
225
632
661
584
471
554
522
534
503
16
966
402
558
348
850
973
823
512
215
846
383
366
747
424
731
7
342
249
72
751
912
709
504
387
128
90
693
322
559
196
842
93
514
518
593
529
967
989
5
529
138
956
907
20
654
855
705
169
725
448
241
326
459
222
362
501
230
672
700
396
36
763
532
147
883
811
743
962
549
398
607
789
528
693
555
990
557
744
107
758
890
877
908
680
400
325
150
394
688
623
700
787
565
86
938
554
712
905
651
213
824
15
329
871
275
901
844
144
169
929
838
623
688
646
74
193
786
709
644
342
627
750
219
301
620
557
431
506
577
378
85
386
278
52
159
948
706
907
420
966
299
78
78
825
844
944
84
260
55
908
585
274
443
615
544
491
818
4
739
115
678
325
187
389
732
327
536
214
65
386
131
126
746
220
253
366
259
222
508
180
746
146
464
813
914
37
411
854
430
851
546
768
755
164
986
445
679
740
764
547
255
487
342
309
448
522
264
171
562
631
270
292
451
422
560
572
568
836
954
280
158
515
337
738
275
699
147
856
866
978
667
429
832
202
500
289
874
317
958
322
910
705
27
361
29
856
223
699
295
833
892
758
150
64
500
36
850
428
978
13
126
490
504
120
236
991
956
254
674
383
850
538
42
295
803
222
60
279
412
666
211
96
973
320
278
120
674
519
920
102
685
663
463
698
133
70
288
652
31
382
566
472
102
903
579
756
863
661
555
69
482
318
774
434
668
245
649
9
346
247
676
536
877
417
383
463
414
591
924
446
330
666
493
88
740
853
577
376
847
556
912
250
217
166
146
149
111
510
385
168
703
88
238
665
319
516
481
801
877
777
187
464
314
988
9
513
134
405
328
68
148
264
127
824
120
929
810
31
293
483
637
795
727
577
84
861
941
843
267
851
631
671
464
253
114
446
929
88
716
637
412
298
543
258
247
369
947
328
432
602
503
885
856
757
544
20
722
484
86
184
254
90
526
686
979
689
602
928
224
741
958
421
1000
276
73
17
86
875
492
134
976
618
23
978
318
737
27
852
621
698
24
744
293
795
560
271
527
96
704
937
164
765
592
407
402
382
171
160
175
838
627
457
69
816
66
24
891
643
638
241
386
525
698
905
148
764
548
833
470
617
969
667
719
845
88
248
873
861
43
838
973
599
584
292
613
904
973
982
54
259
532
948
184
162
736
244
339
280
25
905
968
841
390
328
198
339
372
87
663
749
300
369
327
936
492
312
651
817
652
456
172
148
903
432
423
531
700
792
217
325
411
563
475
673
465
722
150
802
806
286
319
60
835
125
177
903
165
916
484
209
273
900
12
804
584
203
675
99
595
547
301
49
423
97
477
453
520
65
505
771
406
410
236
223
954
671
517
923
139
515
28
201
209
64
518
60
894
436
860
928
623
239
859
482
735
931
479
331
272
67
973
786
319
453
458
765
754
154
599
127
953
86
436
379
228
697
827
736
737
819
662
992
186
340
744
504
887
788
244
891
651
252
688
674
544
327
734
244
756
938
395
946
689
956
956
40
935
495
543
546
955
666
216
731
144
328
473
59
450
113
286
17
861
539
103
75
911
586
815
437
785
493
303
953
760
852
51
689
466
303
256
250
917
269
28
864
317
202
564
619
436
741
606
22
706
61
137
218
296
412
7
771
95
534
105
949
940
196
758
787
431
563
311
56
378
508
157
449
242
237
116
901
956
812
682
16
150
246
568
954
104
846
976
9
756
407
175
310
656
644
307
747
103
18
832
276
571
706
636
190
174
8
643
836
135
947
709
526
135
137
682
31
986
269
794
186
277
725
938
573
523
881
979
183
864
657
990
227
558
732
153
996
348
642
158
781
272
661
87
376
654
971
166
625
813
131
246
790
490
260
577
280
125
671
228
405
894
921
524
386
830
365
976
796
478
338
503
983
250
34
162
800
64
3
254
115
906
937
379
202
679
78
992
68
59
141
40
167
117
147
512
792
151
894
132
591
512
127
936
302
199
631
214
819
652
580
123
112
501
475
303
376
961
926
7
7
216
335
547
662
390
274
392
700
662
975
830
771
641
882
963
170
404
670
697
863
455
469
537
741
478
299
247
774
913
872
827
196
317
999
896
775
949
789
230
485
226
741
141
669
550
586
418
811
470
439
725
642
330
428
747
165
334
459
855
552
453
193
750
600
703
633
358
571
97
929
242
793
28
157
922
372
923
843
798
703
732
970
817
268
265
36
628
365
405
484
742
995
973
507
120
140
367
778
695
51
150
133
567
948
426
625
996
783
203
637
848
297
914
953
882
628
950
764
84
169
342
613
296
200
714
168
539
39
243
564
773
144
627
737
284
600
43
840
576
928
588
349
392
983
41
905
461
4
595
303
688
529
831
276
724
12
400
902
323
407
738
505
428
955
696
929
683
635
122
900
944
516
295
18
414
304
604
595
213
947
996
138
579
50
571
827
363
206
113
689
210
85
526
537
579
261
862
947
786
323
123
658
375
749
59
855
395
421
964
705
657
401
853
374
605
769
493
523
222
927
430
908
318
735
575
320
591
263
910
532
120
723
570
334
316
381
890
3
894
832
19
753
160
69
338
808
723
181
240
755
792
366
796
722
355
182
438
774
893
575
101
622
734
337
150
364
812
29
76
552
380
336
113
264
176
41
909
261
643
519
883
535
92
705
157
713
74
2
792
880
838
479
610
309
468
13
65
514
183
732
442
801
319
248
198
184
737
664
382
146
720
285
900
220
974
291
842
775
983
365
215
719
821
417
223
36
482
97
626
231
950
758
851
771
501
866
243
552
190
661
246
296
105
21
398
499
674
79
686
247
303
128
233
768
639
739
274
46
16
839
103
252
14
667
960
966
627
187
897
420
189
509
232
41
136
346
587
621
612
313
420
303
174
169
597
443
111
703
842
86
416
44
825
460
80
621
226
390
143
872
400
17
931
58
125
532
985
228
502
880
447
460
290
589
116
986
824
894
935
718
191
353
406
975
528
990
334
938
158
803
319
463
744
174
647
401
840
313
555
515
978
342
375
394
945
110
734
530
985
49
810
842
462
698
605
509
954
587
371
909
825
240
585
847
84
991
343
999
733
151
625
712
876
831
685
836
564
371
679
304
734
907
794
533
617
71
298
538
698
209
373
852
611
771
115
973
398
751
783
54
169
109
243
12
551
155
556
30
235
760
854
695
601
83
923
640
632
229
458
623
309
887
532
425
217
513
655
818
400
97
738
125
344
871
373
570
581
594
115
685
587
189
871
573
524
599
70
655
936
678
16
898
635
831
730
182
917
895
611
602
700
445
467
10
344
318
793
35
738
626
731
156
666
980
763
126
639
934
65
206
107
879
382
221
427
784
465
387
66
167
382
256
216
657
459
858
473
352
237
328
210
911
572
880
70
5
939
954
312
311
56
810
811
695
212
581
183
631
26
71
848
167
937
134
836
956
423
546
811
974
791
668
81
523
408
57
327
69
390
409
426
245
121
862
998
93
435
748
249
254
923
340
289
330
656
982
324
97
527
304
36
603
542
852
45
429
657
591
521
555
152
184
920
337
140
888
341
92
518
179
165
639
561
939
507
955
408
153
487
787
886
579
491
659
467
784
390
223
691
269
179
303
11
158
574
317
900
42
933
968
988
167
268
232
167
56
216
712
886
71
586
352
303
166
500
384
587
251
214
105
388
198
395
755
461
481
40
336
466
850
222
697
204
251
538
547
969
387
486
409
187
950
991
656
258
571
938
917
353
952
901
116
931
489
211
338
914
921
138
515
791
208
212
661
375
864
694
19
619
443
742
4
649
759
101
272
145
643
46
619
300
781
845
614
862
191
251
107
156
450
382
734
584
631
898
597
832
236
549
116
874
109
22
866
933
434
495
900
763
437
497
650
938
346
426
12
385
477
595
624
53
87
773
677
421
748
963
794
551
552
604
688
520
454
482
290
355
349
353
34
58
343
719
795
896
757
228
753
911
78
913
106
515
991
834
129
111
49
718
549
918
352
895
581
549
791
150
257
468
31
112
882
107
452
456
535
325
647
516
548
870
968
842
804
699
796
892
516
311
884
296
861
752
183
99
488
587
986
933
450
897
122
375
539
359
182
589
376
532
454
962
850
754
296
620
646
470
206
619
701
386
710
95
385
579
508
873
60
570
21
866
514
423
598
78
398
128
152
204
423
888
951
613
593
423
574
960
122
104
836
816
29
529
583
466
631
147
850
463
256
670
797
625
570
311
234
897
825
326
298
906
203
963
19
120
168
656
110
186
424
255
302
449
618
123
915
660
416
200
206
542
957
473
197
276
976
899
321
909
79
458
249
390
745
928
678
209
657
953
692
607
832
152
560
936
905
353
458
19
561
495
693
318
816
405
399
281
342
428
631
507
473
857
950
255
902
199
369
403
312
585
524
154
352
68
499
683
439
74
565
418
842
79
452
876
370
409
430
756
793
125
630
556
803
177
530
74
926
329
475
999
292
899
409
253
602
18
783
868
926
920
676
958
194
803
806
779
391
873
978
970
477
536
949
808
9
128
429
711
292
159
105
290
636
867
185
957
955
724
937
482
522
677
71
908
155
95
658
919
497
803
451
107
335
111
97
561
98
468
766
888
779
211
121
40
503
888
410
328
921
820
694
608
378
886
864
895
573
981
146
612
6
255
288
265
106
32
426
572
314
244
964
2
789
333
414
205
648
841
292
66
786
312
582
965
432
719
253
352
548
354
549
947
43
7
517
713
597
303
349
215
551
276
618
191
925
594
437
907
155
387
881
387
502
283
763
689
455
83
16
205
640
497
436
389
896
489
566
398
190
78
803
897
28
902
624
655
815
432
979
662
418
519
497
155
824
852
130
369
343
990
255
818
317
850
72
619
624
958
321
696
608
246
969
713
207
963
543
222
187
46
193
849
374
364
419
261
695
386
641
337
665
170
398
186
650
36
71
644
910
925
435
420
924
261
233
362
960
43
230
163
199
47
878
433
982
238
818
252
887
952
916
199
450
937
443
375
272
123
299
134
174
834
891
73
830
231
406
308
986
962
701
261
5
345
6
942
956
942
939
213
888
27
73
627
239
299
457
215
570
155
26
31
922
985
809
352
144
245
187
187
488
509
258
131
590
304
499
691
748
319
540
896
36
459
820
390
370
325
319
245
141
911
334
389
355
712
505
908
574
960
880
473
81
437
860
783
837
131
258
252
776
54
574
98
912
672
799
642
533
760
722
902
489
938
763
479
230
812
801
345
733
431
360
385
971
699
746
442
858
524
441
180
907
723
124
293
977
124
172
458
552
888
419
965
977
809
221
134
958
220
587
477
399
196
287
51
367
937
304
613
567
566
993
985
190
101
587
514
455
16
464
623
438
646
718
248
25
654
133
349
969
935
629
834
28
609
575
920
154
225
198
404
504
873
421
359
834
706
111
476
475
250
657
663
679
990
228
540
563
925
848
129
311
198
625
416
519
423
106
417
808
54
737
86
912
988
827
647
443
609
276
963
459
637
524
133
784
505
863
800
729
414
289
589
514
918
522
696
224
620
695
863
570
572
495
915
63
25
181
568
495
477
32
455
755
354
225
157
79
276
79
597
819
533
856
300
687
349
67
880
213
498
308
629
861
75
190
198
829
568
855
196
75
882
879
6
531
653
148
208
748
996
381
807
491
824
585
890
886
19
626
405
785
4
524
551
953
747
798
612
511
813
395
177
856
851
309
378
908
820
996
148
130
334
64
549
210
736
542
893
708
903
233
701
230
314
256
588
886
646
931
767
916
966
555
206
329
663
482
418
350
379
130
513
259
547
209
381
950
643
487
845
160
850
910
189
844
667
714
737
639
944
454
31
675
887
572
747
288
909
166
687
301
555
163
50
662
347
936
743
146
116
767
635
753
263
220
542
191
450
620
191
548
419
364
588
826
987
695
13
555
786
922
343
71
979
793
502
402
12
895
646
895
441
478
102
869
25
76
186
615
528
674
753
974
191
904
763
634
371
965
184
970
654
533
271
979
648
902
645
370
752
19
619
399
393
862
886
362
671
806
55
2
829
273
492
225
715
941
586
668
238
241
882
616
833
697
456
733
130
892
572
831
323
515
898
675
253
964
524
415
823
457
600
794
178
473
661
722
15
586
610
127
519
480
896
302
662
953
624
74
26
277
234
216
893
115
869
498
80
534
798
645
859
360
36
254
377
206
852
417
178
67
978
413
783
262
153
296
794
872
113
662
672
526
219
168
152
571
762
605
234
181
339
466
844
933
857
971
539
748
413
467
91
847
740
960
371
574
947
305
748
487
5
212
105
147
796
835
682
404
591
143
142
774
469
687
705
746
581
633
674
430
102
147
431
4
423
305
801
834
406
706
716
981
509
883
265
39
195
413
564
900
347
371
321
99
305
374
660
829
763
31
518
610
5
23
904
844
845
414
409
170
220
29
610
621
587
915
455
71
145
943
250
358
443
607
648
760
102
953
891
230
244
326
616
883
693
370
733
781
184
260
242
950
611
689
367
939
836
520
48
931
662
350
671
584
402
435
881
333
857
571
476
827
659
563
661
551
635
840
401
452
296
646
212
558
563
962
498
173
618
13
448
213
84
742
607
641
804
145
430
767
156
696
560
385
190
427
68
337
858
382
635
96
280
281
481
424
288
226
889
944
438
206
293
760
354
952
294
847
473
445
376
42
271
981
786
869
575
265
815
349
857
409
649
171
300
102
116
302
954
433
858
198
577
43
919
253
561
330
296
20
926
399
741
68
510
363
970
999
356
341
520
301
761
220
633
227
646
855
977
798
660
845
452
386
968
489
62
51
725
789
614
973
59
637
11
842
816
426
28
65
390
353
778
974
739
667
492
30
56
916
867
148
654
18
999
897
330
665
820
287
830
99
52
267
94
802
905
848
613
1
152
980
602
193
744
933
663
75
833
933
283
368
926
248
813
26
913
749
544
237
862
202
114
431
832
203
768
247
396
711
909
29
238
597
988
962
961
495
19
407
206
498
912
323
278
930
362
950
742
518
285
58
880
740
601
151
456
70
779
990
981
102
642
662
563
263
872
233
450
942
69
691
596
366
424
503
923
491
851
604
472
524
902
46
304
388
893
861
822
645
474
910
201
890
278
624
711
630
411
560
39
988
261
680
157
383
518
61
885
473
374
522
79
267
548
333
255
266
200
697
589
935
795
202
414
547
660
812
749
715
347
243
945
495
889
779
203
970
679
655
610
690
49
181
329
109
558
643
757
470
631
871
790
179
471
72
811
797
108
158
655
211
18
344
611
438
9
205
452
746
989
777
606
505
736
492
830
212
82
937
190
659
725
466
695
93
458
690
692
525
769
734
994
44
604
944
784
122
595
417
508
396
201
328
341
360
14
526
336
719
961
296
4
899
242
479
929
366
633
392
982
926
209
104
845
183
640
657
854
648
950
773
604
801
53
438
391
556
403
496
297
191
861
61
672
755
198
113
832
409
737
125
4
911
270
937
979
701
767
397
430
627
372
460
593
401
836
548
832
277
839
988
659
290
649
219
901
626
150
327
75
351
567
153
499
760
162
859
284
85
737
386
181
147
62
653
181
825
213
731
887
872
395
445
921
716
27
42
87
342
731
622
527
285
417
2
896
21
815
562
441
791
669
418
910
989
283
944
425
757
282
268
820
381
258
896
432
387
406
976
29
2
438
92
364
770
771
664
832
671
480
157
855
61
555
373
896
92
775
1
465
63
901
474
84
315
951
938
942
880
44
774
879
65
670
713
437
570
248
46
924
512
569
785
825
976
8
978
469
271
415
494
516
159
246
772
717
684
805
969
409
110
419
890
355
691
9
891
887
658
789
668
790
831
765
470
979
768
279
819
850
178
127
261
107
635
635
20
982
274
687
667
47
266
861
111
199
332
761
251
4
460
107
619
315
296
360
228
942
381
499
608
230
525
43
729
572
127
596
83
270
176
969
721
629
997
432
449
884
572
739
686
348
353
370
750
180
116
862
420
272
278
194
691
101
542
918
579
786
440
177
663
239
565
753
819
36
847
58
275
570
218
301
647
109
412
151
129
621
439
839
361
627
503
32
812
845
699
784
669
156
917
521
368
214
730
348
869
64
937
905
711
317
645
635
691
720
405
618
739
462
12
18
178
199
988
836
128
562
669
869
202
862
65
682
45
830
346
989
489
470
901
11
262
538
377
297
271
727
43
975
429
375
75
635
913
390
115
831
468
157
544
752
141
342
423
689
347
929
10
811
734
279
69
167
711
710
940
993
781
899
477
157
117
406
522
33
879
734
524
154
848
667
301
777
886
35
689
866
563
705
15
77
81
333
907
45
248
330
943
619
851
591
43
769
232
745
303
512
271
80
174
607
235
852
518
715
185
368
87
398
694
98
379
648
656
90
693
577
867
125
423
548
892
363
260
280
426
746
74
423
19
12
649
662
554
21
340
671
307
998
992
150
775
442
122
705
718
684
460
589
996
508
436
161
886
839
76
468
511
196
103
524
895
533
724
715
959
118
694
251
460
298
802
735
451
360
798
729
391
216
175
676
387
288
898
638
434
826
368
109
672
839
423
572
869
987
168
594
338
57
757
968
460
97
58
827
804
907
271
716
643
316
174
334
258
628
674
993
48
675
687
919
907
142
235
174
717
236
806
311
82
300
667
906
650
673
820
733
427
969
741
660
523
937
851
343
674
250
920
356
694
897
255
749
734
321
561
887
876
90
832
66
92
694
495
630
71
986
284
208
748
907
29
269
633
413
587
390
189
897
674
517
588
26
213
27
137
604
148
566
552
978
363
507
46
554
456
348
874
171
659
526
607
450
97
942
869
753
938
955
733
37
695
706
240
734
115
448
767
760
621
960
74
881
252
229
909
993
379
320
1000
279
284
789
81
846
832
993
397
202
68
439
747
824
558
630
746
195
681
918
396
863
887
565
502
506
145
530
698
509
417
524
87
262
6
505
559
253
74
122
885
35
435
542
576
306
990
760
333
700
789
747
611
317
786
719
484
712
795
422
492
813
20
559
648
214
797
398
66
386
891
143
987
614
724
895
102
882
464
870
153
520
723
92
770
121
996
952
361
186
617
876
699
917
144
816
487
862
629
477
840
412
110
952
72
686
34
939
632
10
38
816
328
21
672
644
196
398
190
586
526
374
498
335
562
464
721
880
366
303
593
355
156
97
96
757
206
937
307
57
40
163
447
580
241
28
476
579
634
155
430
580
26
654
862
464
929
313
375
199
926
994
276
817
402
200
777
547
383
795
21
949
149
42
443
551
83
440
621
742
947
314
831
632
422
763
972
159
260
369
385
987
856
991
378
632
403
118
926
815
8
476
118
268
372
30
388
63
645
94
490
97
66
973
455
528
897
476
493
798
893
670
903
394
311
440
587
626
997
785
687
537
627
292
189
495
601
901
91
180
363
878
857
413
193
934
472
737
605
530
305
748
555
717
419
910
582
313
700
1000
860
811
353
389
909
202
914
70
339
779
901
735
613
96
637
210
249
469
558
263
288
802
555
119
128
58
477
28
13
399
997
891
584
885
398
226
878
609
738
775
96
344
48
611
251
83
877
949
573
343
551
742
123
737
973
769
654
119
642
159
172
545
860
195
995
417
749
804
394
417
815
360
18
292
235
283
411
68
12
478
876
82
353
791
832
23
430
561
608
293
713
788
270
143
646
633
737
430
322
751
883
331
184
423
782
42
476
601
548
292
354
720
438
497
83
608
43
518
745
864
402
266
192
886
829
870
810
69
90
713
792
794
319
406
210
545
729
693
188
824
730
364
844
620
560
452
484
816
887
428
748
310
152
603
996
575
600
675
279
73
50
210
629
232
460
853
265
663
252
237
532
913
183
885
47
331
263
883
571
569
863
732
587
802
691
582
428
36
734
22
68
746
650
669
371
657
321
90
664
703
438
8
4
57
88
305
400
664
239
74
537
894
941
859
290
760
829
275
388
668
199
380
159
780
541
537
155
932
913
41
848
462
951
400
276
471
620
42
708
776
50
170
908
293
916
617
571
637
868
884
842
504
452
955
617
780
811
104
495
410
222
690
821
734
171
816
286
422
244
843
892
111
580
955
942
591
19
367
894
665
364
320
535
869
354
687
968
831
63
900
308
412
436
882
834
692
582
883
579
519
261
399
985
597
734
867
286
34
772
452
778
866
140
38
960
293
341
487
816
313
741
340
196
948
436
376
316
518
411
907
899
253
597
212
381
83
389
272
878
640
92
871
363
302
546
120
572
670
844
725
718
969
705
619
973
690
516
145
64
282
513
581
29
775
854
703
331
38
592
982
101
792
651
209
210
582
977
610
254
671
956
968
304
225
54
861
440
199
376
928
674
73
510
943
879
939
596
586
688
486
14
27
185
95
480
810
370
619
631
93
31
403
351
973
652
755
203
506
418
394
343
33
227
376
180
583
833
585
900
471
909
203
646
675
861
465
825
209
688
632
524
531
41
324
455
925
907
297
209
967
26
280
859
389
223
707
94
105
335
77
146
738
296
160
752
702
264
488
257
804
366
401
753
343
745
398
863
924
155
727
344
516
205
919
212
845
766
489
500
831
731
87
59
643
498
211
70
915
89
9
24
783
767
773
5
744
397
514
7
727
544
365
920
434
500
654
515
724
997
181
468
759
359
630
11
690
256
41
258
918
989
987
662
305
482
417
325
320
756
139
80
736
657
555
369
406
89
583
937
626
781
662
271
774
894
356
555
241
401
353
599
137
232
591
846
922
635
828
125
867
55
236
198
237
133
474
562
165
57
285
187
475
641
858
25
105
932
81
227
378
99
315
947
88
606
549
502
258
442
583
449
473
218
420
823
891
540
201
388
391
929
787
246
826
940
622
578
29
837
572
583
23
349
248
931
899
568
748
159
937
24
843
484
848
321
373
434
470
497
36
576
851
446
795
345
415
320
865
648
836
828
590
501
298
733
573
403
78
648
81
559
756
462
113
322
910
310
503
439
850
46
67
776
800
594
164
199
959
382
933
207
32
321
168
716
142
408
999
137
536
107
544
510
114
113
243
976
617
970
854
352
247
274
987
876
623
880
621
488
210
624
244
122
797
521
153
621
171
358
968
784
856
834
589
995
692
162
682
640
51
136
270
205
709
183
161
586
733
867
742
586
255
624
157
41
696
261
988
308
799
887
348
65
816
504
720
529
372
438
986
201
748
161
806
223
854
816
944
256
713
941
171
548
68
474
113
533
635
93
754
862
594
369
373
229
157
979
342
762
422
469
573
5
286
632
386
738
857
626
246
955
715
353
98
336
316
468
7
474
70
631
447
906
901
242
836
747
602
961
860
338
917
794
724
866
112
337
716
361
695
101
356
794
105
485
979
302
402
30
820
682
461
139
524
393
700
259
534
266
131
899
25
2
418
523
842
333
630
476
448
399
631
633
1000
505
356
386
512
923
777
907
503
812
989
373
682
652
720
981
957
805
499
136
537
954
898
145
955
197
533
134
585
526
954
639
667
262
197
547
860
776
482
595
100
486
504
672
898
680
809
529
231
212
5
317
892
460
922
587
469
259
382
990
146
699
970
940
170
757
4
932
126
774
958
30
133
684
738
299
712
689
542
576
312
858
517
44
479
700
67
527
179
340
446
288
80
332
242
375
469
527
451
252
72
648
92
520
230
384
764
32
767
896
90
597
427
588
738
772
929
885
606
949
517
544
778
49
419
707
77
678
731
528
401
499
100
673
522
930
4
445
702
2
591
570
330
363
768
926
728
970
716
606
431
957
60
770
552
540
697
653
264
598
657
962
55
718
467
658
187
116
186
748
676
789
639
325
214
695
433
518
674
521
3
441
228
830
286
478
647
986
608
455
68
271
39
348
343
42
766
168
130
610
1000
583
25
758
570
662
379
452
616
839
914
372
743
817
909
337
576
697
476
541
915
30
466
845
588
851
575
962
647
13
550
554
799
285
759
653
793
768
12
784
56
139
203
446
25
109
284
290
471
291
73
499
616
343
636
347
991
857
332
866
789
976
100
887
939
124
267
435
245
554
967
630
723
644
235
786
675
2
991
361
176
471
421
762
349
76
698
809
236
794
615
807
125
794
445
776
912
443
276
376
435
952
128
458
762
6
414
965
101
94
670
136
316
556
42
556
61
548
701
641
176
214
236
538
317
392
59
302
728
42
58
398
721
460
21
271
689
5
875
735
399
755
392
424
940
990
824
396
910
883
865
247
347
113
468
788
476
361
278
396
537
821
889
664
855
933
680
848
828
499
752
933
692
234
335
824
775
598
107
303
435
429
69
905
37
508
940
790
141
693
603
22
520
662
755
417
763
630
763
242
7
619
703
633
736
9
708
524
733
105
15
267
960
428
588
882
599
261
779
59
497
760
250
612
8
572
315
75
584
504
912
529
500
227
676
550
767
403
935
370
662
896
39
968
259
933
87
811
24
157
8
424
853
546
952
751
871
67
100
569
956
752
373
804
216
612
931
692
595
432
74
170
359
28
871
735
467
980
856
311
753
225
194
300
361
129
12
110
141
810
982
934
549
601
853
428
147
439
312
266
961
919
497
254
813
494
485
769
240
2
302
860
750
319
338
221
996
411
604
632
895
503
874
150
856
361
642
524
57
953
765
829
127
844
817
287
721
735
473
604
165
504
685
913
814
935
24
618
774
104
325
967
386
18
690
234
227
710
971
728
423
425
111
692
732
952
65
326
237
403
625
822
425
977
113
283
149
296
814
846
228
953
996
155
420
789
554
577
154
244
631
181
630
857
65
572
885
613
117
127
977
375
763
24
705
70
774
753
183
668
894
462
131
226
715
562
989
450
257
542
808
270
833
778
415
926
507
499
517
925
366
712
276
12
825
42
360
7
432
956
632
941
968
754
471
441
157
64
146
720
968
296
825
847
324
667
553
190
2
965
977
70
658
170
692
676
198
404
817
258
160
490
819
454
405
521
673
348
128
482
142
543
187
909
344
83
755
993
806
537
571
331
884
925
460
722
761
489
298
54
244
456
336
296
241
67
632
97
74
160
364
263
800
473
957
688
289
679
287
899
112
880
710
476
224
911
290
30
1000
350
408
312
459
565
875
280
388
487
784
635
644
37
586
422
146
317
319
772
909
721
465
767
29
116
665
705
697
107
396
755
166
192
756
96
89
303
725
178
808
846
596
630
963
815
799
720
291
16
22
974
563
723
323
723
424
318
948
901
317
602
680
367
756
499
852
384
983
808
602
687
425
525
548
700
443
987
845
101
559
788
482
865
755
926
755
375
421
190
106
925
263
103
874
204
766
70
69
929
871
558
980
831
109
225
264
616
802
938
206
376
869
512
988
123
421
836
127
819
589
766
749
274
972
789
970
786
694
25
476
230
280
536
332
585
489
299
154
575
786
420
52
159
361
368
159
119
467
23
140
880
385
359
813
980
493
423
895
367
794
75
921
741
689
658
616
750
23
322
311
735
146
291
546
50
280
724
655
760
551
161
945
610
847
765
85
768
85
701
436
750
582
31
365
341
946
432
19
69
316
920
657
986
858
492
397
70
103
275
135
575
122
324
510
39
537
706
970
456
60
866
420
346
593
566
464
50
923
882
940
604
686
841
338
987
600
279
655
346
921
428
460
65
706
529
229
166
735
538
515
607
891
558
140
482
382
230
402
993
433
718
237
355
981
284
369
435
472
705
773
45
68
939
158
285
441
532
791
211
874
198
678
438
551
925
28
960
780
712
976
617
387
751
708
136
647
473
530
600
973
350
898
558
999
808
127
689
865
869
293
111
243
402
847
968
118
977
587
870
400
351
925
156
206
567
837
692
47
480
511
103
222
306
432
938
424
407
595
220
949
151
600
264
920
98
613
422
623
193
567
647
393
903
517
348
486
439
779
74
27
305
309
938
435
403
827
578
685
874
327
652
387
609
967
529
971
166
791
888
146
377
387
379
449
547
381
399
901
504
602
263
730
194
872
760
645
698
640
153
384
748
85
178
129
889
898
475
888
366
685
215
167
768
816
371
55
154
587
201
373
175
774
37
670
222
994
404
675
196
835
800
269
860
334
254
168
90
260
872
283
543
617
172
161
389
901
952
999
796
985
795
478
814
903
97
46
115
464
669
368
844
334
553
358
464
199
688
579
66
650
444
832
71
689
845
452
661
139
532
126
511
780
91
108
650
729
439
307
322
455
346
54
751
817
28
322
633
679
981
799
963
8
862
466
558
810
298
309
256
907
917
339
314
372
829
382
949
357
972
975
344
178
493
275
676
777
360
113
891
95
917
169
20
481
996
811
792
964
467
293
202
139
866
859
460
438
799
808
429
754
396
705
310
770
968
762
758
819
382
845
102
809
407
717
604
537
404
884
946
728
323
858
245
251
897
727
956
260
304
693
934
482
319
611
799
443
201
656
497
215
66
925
609
173
576
196
513
330
87
34
25
49
267
199
447
318
355
560
327
313
876
807
349
690
634
827
916
880
230
979
987
702
204
431
619
742
106
367
514
313
483
135
567
257
790
350
50
503
712
554
625
97
246
289
771
352
134
325
619
879
973
363
392
536
341
741
844
732
827
541
139
107
714
27
593
340
371
533
580
730
134
740
692
220
552
813
929
760
393
987
293
249
760
22
687
793
964
417
388
724
556
357
728
606
81
210
807
465
633
758
201
616
287
492
676
728
813
997
849
257
880
915
575
954
109
973
630
921
932
330
881
627
189
825
726
351
815
783
48
746
748
670
325
641
396
275
790
692
638
64
778
232
335
6
428
514
757
512
999
542
165
43
873
884
42
610
222
138
73
642
988
264
87
645
466
581
557
657
327
41
197
752
347
356
392
764
471
642
933
937
72
504
576
441
464
926
442
566
746
884
183
918
81
343
123
147
348
181
296
559
920
640
435
480
997
71
449
371
547
147
895
521
358
181
255
608
200
889
568
525
314
744
143
671
769
62
587
316
262
83
376
762
58
630
535
753
643
332
789
1000
554
76
701
739
579
28
904
961
204
563
539
333
720
470
366
832
925
33
872
825
668
3
861
661
847
5
640
827
592
595
957
388
518
109
237
735
901
377
524
625
567
606
758
133
80
30
680
395
558
417
683
975
57
158
421
272
23
449
812
617
717
55
376
647
918
208
503
52
415
498
346
68
986
998
504
906
626
468
574
860
761
199
941
44
56
939
895
483
214
417
253
864
871
135
222
338
263
507
132
604
871
890
18
978
649
751
768
250
750
23
693
927
914
701
939
885
781
846
98
563
455
468
768
539
559
229
549
783
913
463
176
897
656
842
39
392
377
868
347
427
301
489
588
433
130
362
742
777
449
655
884
915
946
851
481
509
858
686
654
637
160
247
129
504
28
229
443
78
5
550
185
636
122
833
713
551
957
749
842
521
228
853
450
79
70
332
804
445
579
55
705
699
547
395
206
793
595
566
733
165
27
652
962
562
851
55
667
229
330
836
64
790
349
308
903
990
653
282
647
987
695
569
613
988
451
696
876
892
49
308
68
20
480
394
939
151
961
307
699
882
769
519
712
726
462
202
62
483
477
10
889
150
5
887
148
51
898
344
634
921
146
405
696
381
81
318
41
653
57
252
449
335
830
387
979
793
237
204
524
44
43
343
93
990
52
82
319
540
647
332
34
459
939
101
637
737
618
494
208
908
414
684
947
15
806
745
600
870
228
894
968
820
582
461
468
513
296
882
991
20
513
94
963
273
257
987
621
955
582
984
975
878
779
388
861
397
675
884
749
602
973
449
719
869
320
980
89
835
528
159
758
43
937
406
176
288
437
302
270
161
63
541
322
436
408
255
993
689
301
599
202
1
354
559
555
668
991
284
363
595
545
666
66
464
820
526
66
813
307
486
533
872
878
574
760
402
364
648
26
782
887
961
730
292
203
612
768
868
598
108
740
615
63
28
585
6
591
594
700
13
418
978
373
373
968
355
672
828
60
14
521
437
670
340
760
9
158
116
473
297
424
373
683
813
889
981
831
80
535
274
90
633
522
274
695
350
28
475
907
538
53
751
166
731
878
670
277
352
770
378
167
216
301
268
886
361
339
862
35
850
367
654
729
971
305
225
541
765
400
551
616
906
86
319
270
747
921
976
974
776
857
428
539
823
116
580
733
100
909
346
271
554
61
387
362
105
371
587
514
991
208
189
346
901
385
608
513
517
851
138
657
846
114
201
530
12
575
283
18
195
191
439
824
68
919
87
21
361
471
826
469
191
747
187
382
368
201
547
939
215
57
918
900
333
967
959
643
369
221
365
912
55
42
713
813
723
903
977
298
42
983
170
445
943
120
995
333
566
605
975
209
598
212
223
947
564
683
968
500
438
689
915
176
486
8
799
61
376
202
784
875
399
647
907
851
128
124
424
978
952
530
748
93
702
482
635
864
20
719
428
655
215
225
454
628
106
985
123
221
725
67
883
305
853
545
941
901
51
392
601
354
221
68
110
218
779
969
172
946
182
336
647
651
913
445
519
859
7
145
898
147
876
877
692
36
474
329
592
295
829
778
181
97
589
12
303
69
493
413
314
365
637
453
469
331
958
348
497
198
663
100
362
514
162
472
321
692
699
709
647
158
15
993
802
34
328
649
432
230
362
144
272
78
416
752
949
397
251
581
703
931
93
325
266
691
209
721
464
602
307
181
662
222
482
496
793
23
557
807
580
884
449
280
511
979
604
36
283
219
668
950
722
759
272
824
615
863
252
352
545
574
646
6
515
260
548
631
136
43
274
147
174
564
306
177
515
302
180
835
982
897
817
182
981
525
793
48
659
405
708
28
115
930
103
445
206
774
362
12
666
537
643
705
593
142
165
132
813
272
119
261
300
566
43
938
592
171
777
69
127
501
986
666
499
777
828
241
912
927
529
163
540
1
530
690
40
81
382
332
246
12
740
118
908
962
682
79
429
955
32
994
722
20
561
20
685
541
710
347
284
725
992
408
933
824
293
525
652
934
127
51
490
697
307
255
827
225
566
174
463
922
470
636
856
632
285
500
477
745
598
909
3
458
163
4
7
383
810
142
864
86
330
104
823
951
872
174
597
962
780
265
344
614
762
432
642
186
960
251
887
32
776
498
578
380
298
530
110
379
773
528
25
754
869
548
152
508
382
886
711
557
663
878
236
39
253
614
130
330
154
476
779
448
686
593
402
643
133
526
242
430
221
514
261
233
15
626
274
110
20
18
287
729
66
290
899
887
121
627
801
382
264
13
767
972
902
309
51
486
761
382
754
913
324
822
591
396
125
976
406
663
805
169
995
342
855
37
19
992
790
794
302
454
842
159
362
287
353
379
834
664
761
472
317
50
423
361
289
435
583
73
950
639
445
516
237
466
668
678
798
54
588
241
437
820
152
744
363
818
800
389
600
137
580
544
118
258
314
767
498
865
991
935
515
731
433
672
569
685
917
809
778
598
664
65
408
546
995
460
504
1000
554
254
786
3
160
356
328
728
786
197
100
768
616
70
185
753
393
790
385
655
47
325
933
197
142
748
300
352
776
432
354
816
452
956
719
681
823
569
806
277
404
378
820
286
77
677
47
797
682
921
833
918
37
933
996
931
536
831
824
743
816
45
455
567
84
518
168
348
394
875
54
430
546
896
600
376
292
98
950
634
238
622
3
958
154
911
44
107
412
831
305
376
924
22
724
909
261
242
146
623
586
395
431
766
691
741
209
802
666
513
538
370
680
810
347
511
964
129
329
225
297
410
920
682
215
742
94
121
743
186
964
501
629
309
607
509
956
100
105
381
536
899
510
343
651
867
357
127
582
302
366
190
841
794
190
741
173
824
413
642
211
899
528
538
148
749
273
364
878
406
555
487
866
220
146
287
423
2
492
976
175
510
261
782
229
443
717
404
972
944
587
847
489
399
894
283
295
933
96
614
452
626
995
788
182
885
79
723
744
851
356
911
724
958
296
370
839
967
173
659
42
917
977
71
21
406
70
968
128
555
930
456
420
806
644
251
772
444
308
622
935
340
123
773
22
988
763
878
156
300
542
262
888
17
42
895
593
824
66
437
240
420
275
594
801
870
371
386
124
541
477
304
238
785
216
958
933
341
43
1
935
112
607
603
154
556
239
666
305
474
198
336
640
335
980
80
683
655
808
744
619
111
392
592
418
251
229
217
894
674
944
670
606
485
690
829
945
707
165
282
798
69
635
542
884
247
207
404
259
215
713
664
475
833
790
213
609
162
110
725
672
318
283
770
940
827
639
218
390
579
952
218
724
453
208
851
452
624
633
835
106
357
586
266
938
830
360
459
414
153
584
384
369
293
716
101
961
45
71
800
461
544
917
802
472
79
457
911
380
103
914
12
730
439
534
707
724
616
18
78
252
175
829
386
675
570
822
601
101
958
859
227
42
812
451
746
142
739
931
409
139
368
389
786
346
412
381
669
713
300
420
441
958
858
407
18
374
583
439
806
618
974
874
901
245
252
170
926
767
550
745
502
766
295
39
308
920
116
38
111
890
35
738
934
632
112
436
730
101
995
244
568
254
1000
968
338
975
475
308
405
788
179
379
505
241
334
695
371
447
822
112
266
537
717
681
618
737
985
20
435
341
706
587
20
145
619
220
796
754
151
363
716
775
332
729
823
121
153
497
3
494
27
775
884
679
936
761
130
445
769
922
77
691
118
574
794
985
503
422
146
780
591
993
389
405
478
411
138
418
518
600
305
985
498
874
735
771
179
816
835
240
359
498
433
359
650
400
483
435
87
818
991
251
567
159
726
682
836
309
840
727
437
133
543
233
565
298
353
642
273
781
234
767
856
863
178
924
497
931
360
784
484
96
44
929
389
526
837
413
604
381
715
609
546
410
489
231
665
592
30
693
93
708
611
925
423
330
193
335
642
540
344
862
654
623
743
958
233
101
910
927
440
710
879
219
745
381
11
187
139
820
71
329
508
38
942
220
398
77
124
173
124
185
214
200
826
938
128
934
713
135
744
58
196
802
959
186
86
348
915
307
271
679
282
663
582
117
45
363
641
76
192
149
545
747
74
440
165
490
961
216
704
265
527
357
896
143
535
743
914
917
35
835
585
866
724
446
24
972
982
119
148
276
252
864
837
610
72
999
691
627
101
502
424
912
862
575
970
996
817
108
250
208
573
338
389
690
706
272
889
327
719
404
903
20
103
809
273
497
364
977
447
833
120
638
753
923
49
381
735
456
581
114
433
315
691
241
567
936
36
11
527
879
21
635
989
729
48
625
727
549
330
321
919
223
182
691
812
470
609
340
124
752
360
84
3
10
354
613
626
982
512
506
786
810
610
328
937
827
703
606
191
659
39
233
708
278
161
265
785
194
66
132
672
795
869
970
844
705
415
206
987
157
675
512
456
567
569
948
341
914
58
453
536
59
965
834
442
833
12
68
998
599
974
29
745
984
698
723
568
658
962
737
530
365
804
892
978
876
992
4
708
200
784
277
524
148
956
73
952
321
398
728
239
701
194
618
18
256
239
930
152
431
904
429
388
939
161
59
385
14
891
402
569
175
793
859
73
577
445
891
684
259
558
862
341
920
424
772
215
387
878
691
830
597
816
792
993
762
492
664
510
333
344
42
831
538
51
151
765
582
919
629
377
986
429
395
998
229
978
879
80
544
425
750
228
701
25
663
365
631
771
545
431
23
905
666
387
377
632
33
615
568
633
689
971
657
20
124
847
545
812
310
618
90
798
872
749
467
957
489
661
867
197
914
174
141
254
956
971
589
34
315
77
941
577
449
786
478
35
536
790
379
803
146
569
630
960
478
216
252
721
867
967
183
444
802
663
876
97
885
264
564
733
995
314
190
693
421
935
197
742
879
571
730
279
151
145
317
105
519
757
760
955
326
339
796
155
750
916
71
328
314
254
107
995
764
703
221
338
660
994
841
94
474
600
227
794
995
9
402
86
611
943
996
914
367
103
793
691
752
502
995
421
840
835
616
936
755
603
941
1
433
922
710
109
287
27
532
162
728
503
39
108
411
174
477
814
745
393
745
125
449
237
360
95
897
671
510
829
558
368
90
268
120
229
613
481
743
70
978
729
503
138
329
656
251
319
687
418
9
952
570
496
569
135
594
207
102
300
903
668
466
605
323
43
383
396
357
461
795
590
468
904
553
317
632
682
13
605
786
881
286
166
649
296
620
607
364
914
855
487
535
975
984
691
545
4
574
544
485
975
243
913
622
939
407
321
111
40
263
749
568
838
318
366
188
227
833
914
340
69
189
835
943
856
582
534
494
329
396
349
272
998
297
907
168
955
374
539
536
172
628
353
672
749
747
372
836
191
354
865
220
879
865
640
894
319
702
586
570
654
814
219
955
171
399
311
592
220
256
950
338
37
428
535
34
482
652
280
544
541
685
768
1
807
723
998
57
825
12
106
924
294
219
704
228
682
288
302
32
679
332
854
906
303
555
823
601
164
336
512
684
575
381
630
498
726
282
158
931
103
911
672
787
707
833
170
982
379
315
328
421
734
571
854
144
775
602
285
284
263
359
111
411
287
987
606
113
320
585
133
25
209
282
944
55
209
377
720
290
149
18
178
886
265
116
86
271
84
246
927
170
934
829
278
276
361
232
702
859
739
302
555
279
831
499
678
119
940
979
356
649
534
930
311
393
919
999
703
869
619
872
318
979
607
934
173
95
419
472
723
628
504
73
780
744
856
683
984
952
82
334
404
470
610
654
429
641
628
121
604
190
714
460
491
768
831
728
954
58
517
386
473
712
657
113
245
512
173
204
846
441
322
116
180
814
102
175
302
207
394
470
417
707
80
710
71
897
360
172
76
95
894
909
208
573
167
56
77
884
735
436
878
966
568
642
912
384
761
432
845
944
316
601
729
911
491
423
665
229
500
415
830
493
968
434
332
866
580
54
944
807
871
765
343
238
918
777
902
764
985
131
439
626
866
354
570
369
717
131
503
593
694
331
139
755
584
250
350
707
926
130
167
542
842
840
408
381
873
101
956
909
689
815
513
841
420
830
140
21
713
979
321
489
367
307
602
719
509
233
68
193
872
771
75
597
651
82
663
263
803
319
41
880
430
180
363
139
34
616
795
736
47
851
504
49
12
280
789
921
181
792
43
175
123
779
609
900
104
434
883
81
663
918
213
839
775
646
231
427
474
254
277
108
591
752
468
243
538
18
782
207
706
59
282
278
75
371
181
229
120
371
37
191
960
84
781
284
930
169
627
613
496
972
195
515
449
438
301
337
854
662
973
600
104
333
194
169
722
525
778
883
289
151
554
196
967
858
728
541
604
312
909
504
369
650
755
415
148
296
652
601
715
509
103
413
805
769
788
79
806
581
322
616
682
322
833
275
190
551
380
501
137
560
101
951
659
48
745
899
70
474
863
269
807
47
561
612
401
325
126
577
221
88
274
810
910
475
12
767
85
402
323
611
869
890
977
241
252
279
762
495
134
259
365
745
94
246
925
436
637
952
22
583
669
903
490
901
436
252
970
4
21
494
575
112
763
586
378
749
639
533
699
217
733
709
308
59
405
88
755
251
661
35
990
646
559
542
330
56
132
597
601
395
496
907
1
531
277
310
792
826
437
47
470
869
922
531
453
582
276
358
641
675
523
89
448
460
162
772
10
104
88
263
318
758
607
138
987
415
488
414
178
950
173
335
998
596
844
215
308
975
41
678
492
936
917
696
165
636
16
469
214
705
676
569
821
903
760
757
354
325
459
512
42
122
308
657
440
684
422
407
517
404
172
793
84
488
184
705
964
721
579
708
946
786
854
399
108
465
641
317
529
73
867
294
760
505
520
743
674
614
292
545
496
996
871
108
852
873
552
668
669
472
127
118
639
208
730
464
735
989
428
520
967
214
871
596
155
327
229
768
27
364
985
738
324
544
909
473
934
840
643
532
307
374
918
476
510
700
368
802
335
258
258
625
812
779
236
717
321
22
374
574
258
958
365
891
875
470
720
219
465
705
208
589
560
409
583
560
168
35
850
532
375
882
945
108
827
274
704
986
701
628
446
148
790
270
309
91
212
30
737
448
122
967
135
658
462
80
789
243
468
453
586
865
169
127
942
577
551
908
617
576
409
429
762
339
187
78
647
234
220
770
988
563
917
173
688
537
350
679
137
845
620
339
870
353
146
1
560
930
727
92
788
578
806
856
996
836
892
359
344
904
495
241
933
59
239
31
11
688
66
809
318
730
544
154
695
395
357
583
432
767
968
171
625
315
325
626
957
390
205
846
932
506
484
948
556
557
153
772
867
183
404
154
515
155
476
605
807
994
239
609
230
50
675
420
500
906
548
143
614
291
514
831
200
642
870
566
709
88
939
771
644
897
813
498
56
371
827
78
19
762
630
304
629
17
206
278
374
89
529
142
380
85
777
212
124
745
211
394
696
636
888
405
594
948
348
999
318
967
287
310
767
170
29
468
525
340
296
837
668
287
372
582
636
554
255
797
54
954
825
61
120
917
347
168
336
390
866
705
881
471
180
318
923
59
110
803
501
539
727
586
385
923
51
795
511
936
490
856
147
248
933
489
972
418
11
39
601
157
480
329
929
200
77
577
851
392
486
500
539
641
243
396
482
988
492
878
908
402
541
924
53
826
42
98
968
683
468
92
227
255
257
266
907
358
643
444
720
259
718
73
990
91
723
762
490
862
892
342
788
773
460
851
848
733
583
265
147
850
991
364
408
201
169
865
421
381
751
835
61
132
582
439
788
916
599
290
392
376
298
5
691
503
29
101
223
744
804
31
706
435
586
965
194
721
295
951
392
542
838
154
579
370
578
252
918
131
523
437
739
132
431
139
521
894
739
312
910
490
899
59
94
371
283
447
231
687
267
592
461
794
505
469
209
973
694
487
127
406
286
501
24
73
762
866
568
576
19
89
375
842
405
845
350
291
680
415
765
313
974
121
640
871
381
938
429
589
420
273
895
974
993
860
306
295
835
799
792
225
722
60
749
539
830
170
697
67
737
391
886
597
511
411
218
639
224
485
819
767
11
975
647
790
472
461
79
118
844
945
349
542
852
178
11
66
550
816
381
593
821
930
22
10
378
386
910
688
283
728
869
463
996
526
222
948
950
558
397
404
460
844
367
474
551
271
426
788
941
515
761
825
999
986
694
444
933
800
267
189
897
157
38
794
943
13
586
336
972
705
242
120
902
967
979
686
323
846
228
325
769
166
652
63
583
519
505
399
88
255
323
984
358
557
67
42
475
508
799
552
565
990
152
160
264
362
597
289
524
138
554
187
824
285
914
492
923
370
393
429
264
469
500
944
15
689
536
912
525
151
232
62
661
529
88
412
91
550
443
809
84
413
629
649
813
719
294
962
450
364
123
833
587
800
763
559
630
213
674
34
857
483
32
611
766
202
558
71
204
668
326
414
498
522
201
884
497
600
517
29
973
684
39
597
341
14
25
791
985
870
419
720
822
32
836
888
877
645
988
212
775
866
673
385
51
698
225
344
73
557
625
241
220
478
57
587
667
306
793
173
739
901
727
967
376
141
739
432
651
487
348
603
652
954
801
843
301
612
797
385
817
170
570
671
633
729
913
991
513
574
79
155
532
730
132
711
338
53
509
796
825
841
17
776
933
293
452
719
810
674
342
152
972
680
52
704
411
362
665
13
834
932
550
706
344
890
555
337
907
246
53
958
887
39
911
340
794
948
570
980
129
583
42
705
883
945
615
76
808
618
430
813
45
490
931
160
103
197
364
429
422
15
134
983
990
630
855
554
561
74
326
102
24
128
529
402
386
654
982
157
670
660
393
699
718
365
660
314
536
178
683
774
373
301
334
931
124
609
201
140
40
571
398
792
961
244
811
528
443
776
647
489
236
440
42
573
531
958
789
782
281
750
955
622
670
782
273
22
534
913
702
350
85
972
501
966
837
312
463
172
36
276
721
571
176
814
677
621
474
474
140
585
238
144
745
187
149
199
71
42
392
160
636
289
429
593
165
968
962
706
59
361
299
68
17
895
890
907
147
255
292
688
705
7
181
81
806
404
339
940
68
11
711
634
175
474
758
926
760
45
286
602
856
438
906
226
391
233
49
725
852
304
192
971
304
692
613
204
384
932
471
879
788
88
518
529
10
659
36
287
778
72
887
26
730
692
714
440
337
174
388
19
991
462
788
557
483
989
867
746
780
408
744
450
154
736
268
433
221
899
77
709
360
524
698
156
360
239
643
724
824
907
753
403
56
974
303
64
672
554
471
468
159
957
839
987
955
131
521
74
399
866
376
89
74
701
491
873
662
147
820
376
390
259
394
714
581
583
21
267
584
200
749
824
610
942
674
304
560
824
853
304
19
420
180
583
944
201
106
566
474
824
963
185
479
984
507
628
137
718
984
115
874
991
678
398
454
969
427
527
887
652
28
340
62
422
814
250
727
643
934
180
492
642
22
887
36
293
31
526
584
941
944
3
34
594
995
572
807
145
790
182
617
900
419
253
889
807
258
953
444
642
648
519
451
818
62
876
342
645
687
605
561
637
563
294
557
877
555
461
384
581
487
521
658
709
674
709
356
895
969
497
155
31
184
799
564
544
405
162
113
782
280
245
239
955
863
86
328
757
935
83
564
146
35
111
864
742
636
953
196
963
959
29
990
335
976
448
203
368
15
576
833
13
234
620
315
4
928
237
290
300
291
788
697
475
756
662
1000
92
511
56
634
62
119
684
426
497
431
161
835
824
140
229
350
755
392
566
261
292
850
632
338
67
467
938
664
218
41
116
956
441
290
398
261
81
794
477
814
850
664
195
207
308
191
224
714
311
59
693
817
420
934
703
475
717
347
829
686
552
862
973
215
478
413
411
155
68
609
452
162
336
483
928
780
215
890
608
270
917
293
751
744
25
143
205
217
850
466
870
385
932
533
881
568
552
694
564
258
797
545
77
157
990
612
659
413
311
651
585
995
17
452
242
817
971
804
229
245
111
861
9
92
95
727
462
79
591
484
608
991
583
259
886
450
654
181
655
299
369
219
968
94
808
987
285
74
791
553
477
308
534
185
411
407
319
736
402
302
254
94
60
131
351
668
380
177
954
451
459
149
45
559
897
838
21
486
732
311
383
541
784
378
145
55
384
9
922
982
778
746
353
462
947
931
953
766
167
743
527
801
438
625
10
993
784
653
959
966
528
830
945
876
883
50
806
666
555
717
22
783
646
592
505
72
789
492
737
704
362
850
488
953
588
28
330
588
534
466
782
422
333
438
177
331
430
199
320
643
299
794
539
364
869
658
47
125
846
388
363
112
231
772
159
461
580
227
95
792
992
290
45
615
376
692
716
290
274
881
771
147
413
516
453
119
204
615
198
956
601
533
867
680
85
884
42
434
68
852
296
324
659
68
482
120
579
395
831
950
976
488
131
234
43
971
303
126
634
451
467
703
501
307
987
974
426
445
39
527
238
719
963
311
646
765
44
617
915
347
364
770
579
148
104
461
865
128
949
907
950
190
318
225
949
927
721
520
346
618
928
163
608
522
536
675
883
706
184
440
23
338
927
172
632
384
224
742
506
137
573
444
585
857
77
275
539
69
150
124
168
759
90
20
85
763
501
771
576
167
394
362
75
396
338
490
457
12
209
452
224
900
932
437
697
691
97
914
549
739
504
448
341
934
476
763
260
941
266
275
917
218
989
651
889
288
316
172
671
296
552
789
833
869
867
823
500
615
167
183
678
398
480
838
593
705
836
23
965
980
292
321
40
814
147
351
293
260
428
228
955
353
375
374
883
115
58
531
851
949
173
21
34
330
807
396
316
157
189
627
74
921
475
890
231
131
191
837
736
40
271
933
77
803
528
112
83
630
23
501
79
375
10
434
377
268
66
306
220
174
550
83
550
852
774
447
384
163
128
602
161
83
925
776
162
677
932
298
980
894
379
945
70
158
743
914
606
263
757
408
224
968
900
312
755
93
90
828
711
560
433
304
109
69
640
657
210
566
186
972
884
676
346
859
601
606
17
108
499
807
615
29
602
861
413
624
993
631
399
379
697
717
87
58
89
646
778
342
869
25
407
524
48
102
499
785
919
787
720
737
701
208
178
50
382
307
928
956
320
805
126
341
313
118
863
983
193
433
8
162
455
229
335
556
89
960
775
824
579
498
894
764
965
207
605
237
987
175
671
348
588
242
784
493
467
926
860
993
958
264
745
962
223
874
678
981
673
259
727
901
525
478
892
814
639
853
743
813
131
277
234
677
753
38
844
33
720
822
292
841
478
684
848
299
885
331
715
385
434
41
30
276
421
874
797
845
408
626
445
285
967
143
791
641
423
194
872
722
238
99
522
415
775
698
556
899
383
47
137
634
154
439
235
305
236
958
74
61
280
807
136
519
483
54
578
984
663
303
905
266
2
999
348
282
406
769
682
349
909
205
154
723
191
988
775
455
78
92
490
87
830
99
631
65
143
317
614
984
41
482
85
959
265
307
543
479
333
61
61
55
176
620
838
893
153
183
216
568
275
943
268
385
685
503
202
732
787
793
676
179
937
556
532
567
263
192
636
559
33
942
235
435
937
894
724
979
828
290
769
368
709
953
501
923
263
437
898
411
775
679
519
355
90
495
482
466
171
293
949
885
864
723
397
375
756
823
659
20
356
402
38
231
398
47
815
95
767
111
108
157
380
531
354
768
401
96
661
33
309
66
887
174
681
664
588
926
30
46
898
115
661
756
28
193
330
607
277
889
418
144
382
505
439
548
569
637
984
922
916
278
603
371
472
291
698
216
134
254
257
952
455
529
125
283
399
213
548
682
558
307
950
440
496
52
243
97
704
863
471
480
97
737
294
314
125
292
601
517
341
843
559
830
703
52
515
427
974
687
476
459
342
32
346
311
772
281
687
489
676
23
559
660
187
609
890
340
709
717
916
142
437
943
451
274
218
600
160
196
488
210
512
972
990
350
826
845
641
633
660
15
246
591
814
419
676
138
383
567
812
137
620
101
764
268
861
836
881
78
377
479
598
591
853
76
450
315
92
533
467
837
698
214
752
425
725
716
201
260
697
386
281
947
8
80
220
952
402
930
227
480
150
600
136
110
581
655
416
172
810
135
608
479
873
412
75
497
1
694
415
482
405
294
11
409
806
947
954
745
893
984
42
252
54
131
614
37
997
92
745
23
354
807
736
835
941
493
868
875
127
118
126
25
680
989
983
945
532
491
305
464
127
845
213
891
432
950
977
391
200
986
110
748
794
474
406
938
737
927
25
955
164
56
671
210
510
711
543
683
117
422
996
692
893
430
823
810
826
551
611
955
927
116
917
171
135
445
869
911
822
55
408
939
799
818
549
97
148
830
946
250
764
622
575
733
246
632
505
436
647
603
598
536
629
653
464
483
808
294
145
535
377
611
821
572
652
135
297
368
826
690
137
817
63
634
111
804
31
471
38
574
107
760
218
479
806
635
354
908
405
976
335
80
350
502
229
116
822
599
627
472
712
697
791
392
359
418
131
494
645
499
196
7
394
722
704
430
595
673
153
622
672
199
193
377
847
838
238
591
691
345
798
7
115
662
594
361
360
339
819
459
69
453
845
356
98
542
250
350
595
925
304
925
750
51
940
144
785
207
813
247
978
984
252
359
946
391
784
289
7
422
450
372
127
157
293
186
889
187
265
774
954
305
286
654
657
867
333
560
782
209
255
303
35
790
488
593
426
524
936
959
585
846
92
125
15
676
890
364
444
347
874
328
705
953
28
860
35
355
982
93
302
227
424
922
405
136
199
585
43
630
996
664
88
688
540
281
68
722
874
660
622
496
679
487
343
951
564
718
135
963
917
573
54
460
213
449
622
174
645
414
758
544
568
757
833
925
513
769
781
302
472
610
892
199
759
592
661
286
954
705
56
508
407
519
638
202
268
886
260
772
288
999
469
961
453
440
327
678
95
838
79
626
247
618
9
674
926
112
836
68
435
11
239
40
24
710
436
367
968
629
237
700
668
985
711
272
432
811
375
712
428
258
839
257
698
315
943
602
232
153
754
995
840
213
200
972
964
15
759
270
644
445
367
62
536
881
620
660
300
155
452
178
653
765
657
519
105
163
52
181
722
226
602
69
252
191
522
448
614
467
247
653
53
706
160
983
233
451
141
438
160
491
312
617
106
768
874
143
634
315
513
445
440
255
696
564
923
301
95
963
366
587
507
966
104
870
878
542
318
346
481
642
951
364
853
199
754
294
841
179
680
717
994
814
680
842
563
235
428
789
605
239
688
959
16
893
828
213
830
955
451
999
822
869
239
888
232
227
894
191
445
140
468
469
586
911
499
781
278
792
81
462
274
346
440
57
261
132
607
808
930
13
519
755
277
368
249
45
231
882
91
578
873
415
902
427
975
617
462
818
45
613
593
609
844
74
442
317
137
422
642
760
494
766
20
262
99
384
156
221
867
218
372
542
639
914
662
62
872
381
656
664
28
706
985
165
824
553
289
468
592
822
679
685
296
455
690
112
136
746
618
8
261
409
671
92
849
976
554
569
688
783
937
261
439
931
748
137
975
128
421
100
523
239
984
441
867
698
386
724
542
709
563
242
748
252
514
360
726
522
109
216
462
339
442
290
865
460
257
265
50
481
442
495
920
208
563
111
48
927
210
482
737
44
225
300
245
906
969
45
378
456
430
959
36
565
337
937
855
498
427
948
780
1000
681
699
264
916
642
236
790
66
896
126
608
378
430
642
862
894
835
120
819
321
292
292
486
283
829
904
753
245
628
409
122
404
16
847
169
487
381
291
208
475
435
387
973
790
132
608
770
348
85
779
239
200
488
356
790
182
414
672
780
114
845
113
738
614
939
742
283
503
859
423
882
125
957
876
290
643
201
458
310
509
558
638
526
872
433
297
767
626
388
16
364
195
90
439
740
875
871
675
426
788
288
426
408
41
859
219
607
684
455
670
362
470
901
183
35
210
9
869
241
719
595
763
730
974
62
600
680
128
733
505
991
433
491
979
200
979
188
449
779
377
950
481
957
176
763
474
609
844
661
292
479
606
441
810
727
294
57
805
785
632
762
978
591
76
626
122
542
366
268
642
922
500
516
682
143
668
235
93
850
53
751
361
859
41
140
381
913
575
133
686
450
839
578
311
947
429
159
991
891
483
582
801
121
981
540
660
97
587
545
344
639
926
156
798
803
190
223
547
888
279
518
963
976
511
502
9
41
59
86
797
426
898
898
1
386
993
5
696
490
910
998
702
906
764
110
861
949
695
295
981
879
623
271
363
559
93
123
945
508
413
408
60
853
152
656
769
865
293
774
506
103
958
172
519
652
730
312
201
582
980
34
974
568
550
194
789
528
342
113
682
282
97
857
86
454
696
590
727
299
809
131
36
688
637
353
965
218
756
269
965
307
816
452
701
180
939
994
739
839
187
301
51
492
407
865
704
389
69
613
478
729
490
558
505
85
936
238
237
807
695
894
157
979
123
395
728
813
74
694
977
808
863
984
976
606
103
790
245
251
339
946
743
457
386
781
700
586
675
868
4
253
725
359
242
877
37
302
779
24
362
292
450
103
276
496
547
829
443
390
772
863
786
495
750
251
997
51
518
547
501
824
109
41
999
190
3
132
213
208
744
658
294
673
455
987
626
27
346
746
455
547
562
334
832
486
872
806
862
678
764
255
137
672
518
581
553
617
646
404
390
996
948
934
662
774
62
800
280
690
24
219
470
238
842
356
234
339
511
447
395
824
190
41
875
650
521
725
458
171
158
810
198
908
659
776
29
987
782
704
896
835
123
534
897
762
761
763
510
803
240
94
982
533
793
645
329
615
183
539
221
536
915
97
217
295
852
400
439
830
483
669
792
622
156
792
256
211
633
324
630
335
191
465
320
18
356
828
428
232
44
321
440
644
534
72
288
623
221
141
388
849
561
715
567
835
926
558
450
196
407
802
946
724
687
535
6
202
243
239
662
419
67
878
708
27
983
277
73
730
445
541
35
785
360
398
980
948
107
756
298
817
408
252
380
980
137
244
379
498
446
528
583
39
840
37
765
412
936
918
861
328
694
679
672
984
840
553
62
446
65
815
313
892
313
573
856
458
168
457
611
847
871
711
550
840
26
426
902
572
382
39
633
759
400
755
436
55
495
279
497
391
935
62
728
424
384
312
988
239
16
169
48
8
893
782
725
651
65
486
614
426
476
951
367
1000
263
926
279
788
524
184
240
237
946
371
776
332
948
712
9
760
163
965
801
87
139
580
323
820
120
745
504
382
651
907
600
920
517
381
181
306
246
866
387
902
997
54
218
419
132
17
960
694
223
727
584
330
539
902
105
911
281
338
435
944
973
30
237
779
441
684
616
483
775
661
303
81
482
13
120
597
841
25
126
81
82
593
810
155
618
869
129
643
13
779
936
553
743
489
609
990
126
350
267
604
933
628
988
815
362
129
885
361
990
882
714
706
283
164
928
440
40
535
746
86
856
980
851
689
362
927
787
119
479
680
997
274
423
785
704
310
495
912
527
514
987
145
794
731
670
963
13
57
401
759
844
97
379
521
246
221
428
135
135
141
496
846
56
580
246
607
842
1
208
391
201
139
464
75
481
571
265
141
610
662
273
313
350
19
374
171
561
1
99
982
126
946
765
219
557
504
371
755
50
875
124
269
982
823
257
191
368
28
415
439
825
726
501
248
974
621
313
661
13
718
699
590
398
94
239
957
181
579
652
75
599
29
236
309
895
130
639
75
215
671
178
390
661
826
743
511
206
288
42
698
252
995
571
761
62
818
237
838
153
808
999
830
10
498
232
983
187
326
800
419
878
461
956
783
615
179
266
804
564
469
735
245
258
733
185
655
268
279
718
339
450
819
797
191
924
316
71
370
862
352
580
329
499
636
388
369
514
426
988
704
92
363
92
32
502
717
495
713
7
73
785
971
273
277
573
979
223
835
808
297
458
46
451
879
935
840
484
816
607
672
776
23
104
864
792
334
345
460
548
839
176
986
453
863
757
547
918
653
404
290
670
740
71
621
744
909
449
500
16
922
910
770
986
424
186
757
191
985
689
303
333
823
885
996
659
594
942
605
652
546
200
622
380
462
639
383
136
78
638
458
153
68
790
858
257
286
436
154
273
655
888
762
895
19
15
528
525
278
984
197
246
359
452
540
732
917
465
709
379
166
623
851
349
931
810
144
560
814
968
190
848
365
892
130
690
271
34
964
874
892
626
252
490
898
232
841
417
388
2
268
281
626
480
242
483
437
820
944
484
412
656
965
6
262
660
323
185
93
50
391
987
865
910
542
411
61
216
976
98
388
874
498
939
386
925
995
244
974
294
964
786
286
130
737
815
635
804
979
725
88
121
611
619
906
142
596
445
83
301
870
734
303
160
326
217
901
253
913
769
847
928
843
184
318
26
364
271
190
499
806
631
636
820
394
263
93
114
856
852
21
483
986
159
286
917
140
483
451
514
109
534
984
473
932
399
175
480
994
499
566
633
183
559
811
39
981
661
197
561
92
387
492
977
644
902
407
966
21
584
700
956
142
486
900
830
335
451
675
877
10
203
110
211
7
108
562
50
843
564
275
886
64
220
668
588
589
266
44
910
208
84
489
706
395
436
899
391
193
199
399
848
222
366
895
10
791
674
139
817
682
750
495
116
428
101
508
333
807
652
532
424
825
741
897
703
704
695
537
628
221
142
560
516
311
199
989
480
14
560
772
552
689
283
225
128
903
785
254
315
593
134
55
772
855
238
534
885
240
958
325
934
493
455
113
995
516
345
980
897
720
328
592
528
47
29
362
106
679
695
165
845
869
282
794
594
364
168
100
622
637
448
691
717
479
291
118
132
582
325
742
770
364
409
815
136
685
412
916
264
77
845
511
811
751
244
323
929
972
263
182
405
371
300
186
736
332
316
362
514
951
239
458
490
912
955
164
193
286
437
844
807
465
6
807
303
365
63
253
498
580
876
307
771
393
198
944
694
422
511
215
702
202
720
891
236
192
953
546
509
538
941
132
147
412
127
306
485
918
257
127
227
341
714
245
499
8
266
387
82
123
212
746
742
745
127
901
128
490
573
981
688
644
116
128
372
107
4
738
714
10
643
566
28
885
814
560
36
3
203
184
264
851
403
92
899
765
4
221
628
399
781
777
192
71
266
126
959
14
198
297
917
207
414
667
828
793
781
410
186
27
669
462
821
347
264
67
663
411
773
471
198
916
191
957
649
559
820
199
742
785
204
884
209
853
459
645
848
318
268
603
42
225
930
261
143
215
960
28
994
242
687
435
197
796
175
937
414
374
597
279
125
422
870
592
767
143
946
730
127
363
704
895
173
111
735
240
265
708
689
990
816
916
29
577
40
145
215
451
379
814
317
496
551
689
65
448
951
436
138
313
305
701
277
541
58
705
465
641
966
765
973
989
768
135
567
812
600
271
516
728
30
964
363
753
215
770
602
402
676
824
478
341
649
449
169
102
767
907
511
493
100
294
206
699
199
835
247
530
857
782
854
920
758
699
797
568
32
182
403
564
38
949
905
961
332
794
33
490
902
131
917
68
195
711
441
290
415
633
147
862
809
937
692
779
418
940
618
149
850
937
916
698
177
72
436
419
962
965
725
276
775
182
269
594
289
726
442
551
176
511
678
202
618
239
527
581
141
159
279
731
921
952
791
956
411
387
988
202
357
455
288
238
849
390
828
212
23
378
973
247
447
768
32
980
17
292
503
306
390
137
447
160
611
709
792
869
598
592
454
436
579
498
181
164
416
984
919
179
980
321
341
737
387
206
884
680
963
892
266
62
272
961
16
723
369
168
970
590
763
704
28
530
206
792
762
902
538
725
571
333
280
362
195
836
603
573
341
110
541
377
68
763
97
287
373
233
942
929
81
377
970
129
780
72
867
468
18
664
224
789
405
796
415
244
566
932
646
260
142
923
115
232
127
59
187
840
905
362
842
639
254
337
440
974
481
974
13
321
548
578
874
891
766
933
344
686
160
347
755
237
109
391
733
929
231
504
936
171
764
221
59
659
911
413
931
621
680
869
951
278
794
487
955
668
119
563
831
667
906
956
857
250
849
418
781
30
595
995
120
661
885
199
31
969
935
624
351
541
26
756
121
123
520
5
940
309
679
413
38
959
748
44
812
260
699
820
883
536
967
436
456
778
238
39
855
333
90
553
637
361
847
892
622
474
547
813
492
434
305
828
367
921
687
427
913
140
932
836
59
485
986
675
411
576
352
178
756
710
690
90
873
181
972
945
994
1000
735
217
898
225
633
729
547
528
78
815
628
612
202
907
124
799
788
674
262
458
69
323
804
914
516
416
663
146
808
382
243
901
208
944
754
804
466
822
976
660
172
422
604
442
249
690
346
385
860
941
408
176
562
291
876
526
988
246
756
255
663
118
122
629
845
198
899
865
411
51
315
637
911
836
909
886
847
332
344
482
150
201
925
84
594
85
874
52
580
318
913
438
325
411
655
860
1
961
601
553
767
314
324
7
971
127
528
373
1
988
244
262
421
329
379
649
35
233
190
340
495
129
33
865
885
8
921
721
498
543
988
593
663
414
957
582
57
220
115
458
405
596
84
674
859
522
886
200
619
367
424
236
575
929
523
520
809
541
81
261
850
385
738
671
445
271
700
720
447
498
988
6
134
893
465
548
927
727
416
938
964
59
347
497
480
957
921
13
270
170
650
177
748
111
9
64
315
378
163
868
782
678
373
641
599
686
453
940
476
319
362
186
826
902
118
954
100
931
769
651
719
481
36
784
790
827
626
518
215
512
922
342
119
915
907
431
747
375
738
732
97
27
339
897
620
842
751
919
225
788
733
754
708
630
308
242
461
679
514
382
969
686
607
367
214
174
379
840
507
723
29
481
728
110
253
407
177
765
828
849
466
672
975
222
972
739
232
30
367
647
383
982
671
364
244
360
74
839
730
910
496
873
714
516
513
786
604
443
759
326
468
257
425
174
779
354
747
543
544
665
716
603
665
257
319
914
847
469
747
581
302
712
967
623
763
287
906
905
50
375
323
34
541
873
107
823
416
914
350
282
483
681
49
610
694
635
702
320
258
358
367
468
331
32
6
944
876
968
29
879
212
720
30
584
132
54
599
820
275
447
1
852
564
850
221
474
145
162
545
134
238
243
450
336
697
318
987
752
893
298
279
859
737
900
10
443
262
446
979
34
227
851
903
192
612
656
631
544
716
886
889
692
807
179
434
394
919
871
270
927
441
685
180
159
608
246
375
676
849
895
495
237
251
190
559
940
36
18
708
769
62
485
732
565
835
593
474
98
404
284
150
583
843
554
495
933
701
251
481
38
926
609
973
592
306
762
358
320
358
265
639
993
983
143
915
272
885
76
490
258
944
140
59
592
268
943
581
106
596
76
442
301
107
567
495
399
452
418
388
292
995
359
349
512
855
689
264
234
300
412
455
406
461
951
18
351
134
357
993
545
636
308
890
838
301
184
315
75
223
129
524
944
282
368
738
874
316
965
973
984
547
871
943
407
5
351
331
802
764
858
341
491
239
958
989
457
680
216
25
401
249
803
741
143
753
190
156
930
200
468
242
626
807
739
921
328
3
538
542
708
286
423
401
232
452
723
700
484
894
927
978
7
126
352
699
424
671
528
140
137
724
219
168
542
814
109
795
550
755
967
631
167
790
537
465
30
768
485
289
95
535
498
955
114
543
10
562
142
802
112
390
108
918
902
880
348
950
915
702
129
177
293
465
384
728
43
951
300
178
71
95
901
856
687
85
519
648
899
76
861
447
171
7
416
315
237
927
106
580
218
53
414
805
562
500
697
570
240
259
37
486
255
537
779
736
741
12
841
673
850
893
5
720
163
967
644
879
614
917
779
648
742
331
913
38
653
730
839
703
233
878
487
868
11
383
953
894
559
315
3
808
465
148
750
74
740
859
688
198
971
404
939
515
661
130
403
636
973
885
465
592
531
740
83
679
24
258
335
356
99
180
975
319
440
282
171
80
979
862
308
910
926
24
728
52
635
453
294
465
397
885
919
174
895
831
614
513
438
406
97
170
44
312
765
925
127
117
637
459
851
980
929
394
153
886
63
978
95
254
248
499
460
538
257
518
438
42
654
516
867
709
514
375
708
112
653
413
357
184
458
355
947
520
696
700
15
206
93
452
782
231
39
61
804
491
516
728
972
278
242
941
644
942
41
212
202
88
686
518
502
297
777
866
450
826
771
738
444
199
913
916
527
874
670
325
862
429
234
91
609
817
803
959
330
291
648
593
842
532
413
40
796
375
721
823
361
257
888
708
70
211
513
181
296
754
734
61
810
527
221
487
605
912
331
723
468
112
401
818
811
432
876
217
901
522
789
816
969
426
156
789
599
114
996
774
468
68
32
631
751
149
582
38
465
649
810
670
588
949
300
535
69
644
851
348
724
350
506
474
580
670
104
68
447
937
27
523
376
438
435
238
163
797
982
13
287
55
894
87
460
790
355
964
519
312
331
665
487
554
312
994
484
794
993
731
617
756
547
401
92
946
998
424
589
315
173
979
360
453
834
915
601
584
927
355
411
535
275
453
39
736
710
917
184
41
359
493
827
834
729
618
461
438
326
812
580
335
758
209
19
69
654
814
29
4
302
709
7
288
587
427
430
484
662
159
867
332
818
285
897
5
184
957
391
58
187
110
886
979
218
330
736
887
575
469
270
456
533
742
494
586
365
346
724
694
232
286
130
744
119
187
371
316
425
370
385
51
376
351
901
811
178
232
472
759
699
151
607
347
516
101
139
912
381
895
65
145
486
46
948
239
444
613
402
909
566
815
331
800
829
398
354
34
928
214
276
755
926
527
593
591
326
830
708
875
827
797
2
327
632
146
906
652
960
745
877
164
289
351
536
124
991
682
250
941
196
396
135
778
140
717
799
379
802
84
121
137
301
195
47
513
422
277
665
914
621
221
803
84
46
474
11
821
425
208
64
618
165
364
68
413
630
607
823
186
375
100
365
581
48
265
498
86
790
397
691
542
221
65
933
932
520
711
9
459
678
795
184
889
746
79
478
38
768
406
543
36
155
406
657
725
448
94
506
115
753
260
225
364
693
872
647
123
331
459
813
426
398
577
603
521
100
28
752
177
936
457
622
17
264
291
851
396
755
799
389
177
556
187
510
503
663
248
80
355
996
79
766
218
694
748
859
674
402
628
105
111
706
295
265
38
415
520
104
648
89
903
205
435
64
102
259
609
251
487
506
3
136
232
565
988
754
563
230
595
870
880
684
730
259
959
219
846
750
300
784
928
670
951
564
965
412
809
388
339
123
510
962
753
933
473
790
334
705
578
176
578
29
269
910
641
69
549
35
288
920
496
632
499
314
387
697
323
896
515
978
91
792
51
135
491
841
93
694
349
733
155
32
155
235
921
86
524
828
39
565
824
419
95
173
107
165
675
777
382
125
614
509
980
171
86
485
440
539
206
240
912
443
202
946
551
443
6
235
742
621
332
724
287
168
923
376
898
692
670
480
397
407
715
327
77
374
523
630
548
146
93
382
230
473
176
78
386
231
390
207
192
353
572
489
901
344
614
568
591
921
240
808
335
404
917
371
884
768
134
973
126
672
790
609
636
361
326
38
619
68
537
24
414
427
706
159
536
468
820
592
895
928
139
153
450
22
339
146
69
274
740
583
737
731
934
724
633
658
191
580
753
832
665
479
948
671
287
856
229
736
679
222
175
580
131
615
108
557
898
944
445
919
646
324
330
496
846
883
181
291
350
544
285
587
150
983
940
514
542
282
940
600
535
819
378
520
355
571
860
94
340
322
204
640
324
237
630
907
879
881
251
179
413
47
405
599
175
668
999
411
675
722
570
606
897
247
194
407
957
492
770
147
515
822
398
333
349
166
778
134
5
690
611
97
275
928
944
605
638
731
302
523
427
302
219
470
660
29
481
411
955
6
991
560
904
948
669
153
585
643
214
277
657
242
874
789
608
438
579
340
302
36
949
642
891
491
702
418
567
764
930
942
361
224
585
648
403
385
229
74
616
13
818
330
819
464
791
334
611
185
280
301
200
961
576
368
566
856
311
765
929
785
988
651
558
298
603
595
347
477
98
679
434
818
295
388
369
572
793
760
4
324
11
770
289
496
204
536
669
69
826
747
587
69
21
658
918
246
410
99
789
949
577
223
369
423
817
101
667
597
790
905
278
1000
679
85
350
593
349
893
692
160
780
610
131
400
740
49
676
14
258
269
28
881
986
926
281
899
906
390
396
177
209
537
193
41
337
159
145
766
378
23
217
23
971
935
362
780
863
614
50
796
112
766
390
929
641
532
987
153
576
395
656
594
290
714
520
899
631
254
819
934
117
525
971
171
222
226
12
89
41
833
615
603
724
204
251
804
90
103
950
302
715
693
302
55
634
398
42
844
504
995
553
527
704
441
134
738
399
744
707
999
19
118
925
75
963
792
323
989
589
78
211
313
729
746
535
233
991
324
802
407
141
649
468
829
697
932
906
738
670
584
183
130
64
301
385
554
383
230
175
720
839
570
576
874
427
619
743
52
306
107
597
70
173
637
776
579
433
203
309
568
16
17
754
466
625
376
371
398
55
856
13
203
962
922
50
529
156
931
594
721
16
614
725
209
128
312
188
821
630
681
249
762
1000
63
25
14
259
483
604
550
637
41
714
90
737
504
520
53
194
66
373
21
588
571
987
288
128
973
562
999
247
442
828
998
772
331
859
715
796
152
772
355
702
832
96
207
78
766
691
90
382
627
575
845
318
434
927
299
840
141
810
308
588
890
901
351
340
102
596
607
758
792
404
626
313
850
452
518
770
544
269
23
19
153
747
978
374
497
335
456
678
74
50
292
661
678
885
798
74
657
511
233
30
426
986
965
848
438
326
359
445
606
399
112
990
66
577
136
89
262
990
139
252
545
10
694
781
889
822
975
474
864
539
305
778
686
340
326
73
50
542
905
817
457
345
869
164
888
234
254
503
49
660
83
68
853
679
553
429
464
683
179
184
11
233
613
618
46
242
834
471
901
482
896
160
390
429
690
23
692
962
19
161
861
348
820
478
103
214
553
361
873
935
624
249
885
985
188
35
317
294
854
815
863
615
608
46
787
211
735
555
815
917
658
155
501
787
376
882
720
90
622
956
50
343
948
634
113
490
711
50
385
49
308
992
607
275
83
320
674
929
56
391
816
260
972
418
933
192
210
176
220
507
779
832
560
36
963
982
735
461
177
143
196
380
239
82
2
687
594
333
518
177
980
189
678
499
626
266
897
250
405
452
235
38
235
696
35
810
667
627
44
597
804
417
1000
104
632
679
758
251
377
425
281
847
735
278
274
78
682
197
775
375
115
951
780
537
743
454
846
694
491
862
669
797
193
23
840
854
482
469
324
64
599
656
723
306
334
539
69
216
385
928
704
198
253
260
773
291
190
564
27
757
808
444
902
625
743
822
288
199
107
55
32
702
583
788
951
837
701
549
83
3
200
697
940
321
436
765
807
423
452
647
460
165
691
363
289
30
309
309
437
17
719
30
491
247
282
512
225
320
54
962
93
737
101
800
473
306
177
349
169
544
493
340
294
495
910
851
457
306
114
782
139
121
242
303
235
568
3
936
4
167
532
154
96
513
101
387
889
930
324
344
115
659
706
404
626
291
195
645
199
313
910
757
495
124
375
678
618
843
380
314
253
508
80
104
15
70
43
509
488
676
759
728
384
318
521
77
425
876
733
504
807
938
390
641
593
567
915
673
959
345
599
24
991
623
570
536
659
877
635
407
646
484
334
579
973
22
248
688
712
411
932
963
656
818
846
646
501
287
320
600
938
465
870
804
96
629
192
306
926
474
734
62
430
745
67
774
155
873
177
505
983
202
416
357
37
296
87
966
501
43
528
888
240
993
150
231
354
415
73
37
267
66
886
981
460
552
584
938
752
479
927
846
890
265
290
73
236
645
592
188
581
383
24
658
452
644
118
455
763
823
166
11
391
360
109
248
26
193
810
644
654
107
44
437
165
128
634
68
872
532
926
964
175
773
159
550
209
838
400
177
81
87
373
304
222
658
930
815
454
900
913
867
589
89
850
13
794
900
268
634
478
729
399
932
150
962
716
795
588
730
40
882
633
512
930
172
110
197
671
46
714
847
493
680
143
470
543
179
452
572
752
405
335
86
981
881
48
608
726
545
755
483
225
321
359
417
33
694
286
743
986
512
288
393
30
203
35
916
542
516
172
580
638
622
552
741
457
174
572
149
538
444
859
802
257
242
118
310
720
655
573
424
647
32
288
586
573
811
632
864
89
933
274
617
982
649
403
591
842
411
328
926
135
455
177
710
781
371
237
330
1
684
340
831
579
972
812
904
681
574
722
929
98
281
543
687
94
730
908
2
44
357
814
554
703
933
513
575
252
644
316
928
238
645
714
350
147
784
565
254
618
964
534
552
249
204
657
421
542
6
664
779
770
102
657
545
445
954
840
390
664
690
276
801
771
272
38
758
691
802
721
219
794
806
9
911
342
244
858
630
413
776
933
380
689
485
105
178
650
889
197
301
522
557
666
79
805
57
573
62
315
287
35
557
459
471
320
65
892
205
886
122
809
10
971
385
848
761
765
624
14
226
834
385
66
701
209
758
533
387
465
590
920
719
213
944
644
333
643
366
982
750
151
752
610
111
612
207
324
522
591
316
201
649
608
680
742
212
609
387
521
936
946
333
491
342
519
976
352
468
178
106
356
266
160
743
474
929
101
60
144
863
126
572
665
361
628
460
930
296
596
997
334
296
794
534
633
958
645
411
4
601
417
424
769
964
196
235
95
23
177
175
440
804
990
467
716
662
151
767
913
9
237
291
418
869
44
528
361
970
824
670
128
310
667
458
591
239
244
101
705
173
408
267
864
955
618
954
836
769
727
184
107
238
479
77
231
5
940
837
128
679
191
583
304
473
821
748
649
276
166
4
829
144
770
249
247
440
250
238
250
897
594
871
526
928
956
952
619
387
150
507
119
822
403
384
353
972
376
889
329
903
130
709
293
697
484
197
509
61
173
396
740
581
327
838
514
571
39
237
450
672
217
701
784
372
495
962
785
638
704
438
922
705
286
639
477
855
95
570
825
723
204
252
712
250
728
472
712
930
139
160
491
374
274
536
622
579
5
355
485
457
575
60
227
372
692
688
820
412
809
670
31
94
438
494
516
57
975
322
286
25
256
294
541
8
995
181
221
264
329
497
659
14
926
940
397
311
493
277
571
697
74
364
287
533
228
51
14
948
18
119
400
363
784
238
806
472
809
190
542
363
339
216
27
201
879
429
36
500
343
667
804
587
414
43
988
254
431
714
393
993
222
60
937
421
559
554
533
687
355
97
456
724
248
484
261
158
15
953
549
596
87
517
660
770
509
844
927
746
895
7
236
958
263
337
476
374
166
951
891
485
189
259
528
144
723
906
685
482
895
160
745
289
687
694
864
257
532
114
703
442
196
308
839
129
277
909
512
79
486
718
94
748
746
939
57
671
248
478
208
669
827
330
677
911
393
331
469
146
729
122
383
637
631
224
777
390
251
538
935
308
500
410
790
791
544
656
359
141
744
573
524
822
888
25
748
291
180
140
870
631
256
31
417
660
457
211
722
548
671
61
747
224
340
784
683
6
643
770
303
979
424
197
552
596
196
992
56
863
414
967
55
270
256
109
792
289
376
447
511
907
415
924
41
119
591
981
417
743
354
324
99
234
914
482
127
398
429
316
993
21
786
606
106
494
197
198
450
422
280
953
464
93
904
953
222
391
843
960
707
454
199
137
335
883
618
431
942
842
595
825
95
725
486
856
962
370
453
427
943
997
234
966
947
128
490
392
482
777
494
187
715
77
112
140
259
367
327
920
744
445
56
745
140
358
630
830
418
616
137
179
351
158
723
562
196
762
108
171
521
834
797
564
681
675
905
973
319
388
87
942
774
576
791
597
497
834
937
517
381
862
185
309
436
677
133
525
380
37
168
442
524
670
168
619
807
320
971
821
947
954
313
104
458
661
927
356
722
952
657
590
376
161
687
607
59
620
498
473
919
123
702
356
383
927
734
934
380
239
245
507
596
671
150
376
352
631
501
854
409
5
744
465
300
755
474
514
837
270
481
225
52
386
757
86
170
11
135
838
158
193
409
833
26
288
94
86
333
620
482
429
291
633
287
614
429
86
945
88
57
290
622
431
655
717
44
113
863
576
577
333
997
119
353
168
840
490
848
168
42
918
46
833
584
932
185
118
668
59
156
222
836
148
820
434
306
105
832
748
317
250
133
285
729
18
879
294
272
943
444
659
574
169
92
382
586
812
72
484
61
554
149
108
531
783
77
401
607
463
93
914
488
623
295
855
298
91
666
492
219
589
600
447
426
825
14
364
531
599
499
700
544
190
537
952
402
524
484
689
744
704
898
175
908
473
776
185
133
128
469
885
530
186
341
265
684
842
720
686
681
895
353
546
947
336
334
941
522
258
464
471
312
65
62
8
408
251
559
331
781
144
585
27
543
107
859
942
466
632
907
782
679
682
541
151
256
377
45
458
939
852
257
606
379
683
41
341
92
811
205
452
789
269
556
748
868
378
627
898
616
262
576
763
145
680
912
809
110
221
991
551
86
818
663
760
802
420
76
322
559
392
397
238
830
883
129
241
426
980
767
892
649
907
805
825
526
955
437
30
561
68
896
643
443
238
26
783
796
938
587
355
380
848
750
600
85
6
463
403
735
383
661
15
936
548
772
898
196
772
634
858
76
419
719
504
447
924
481
325
753
24
824
372
816
132
853
601
872
936
590
427
443
350
816
945
154
922
19
549
800
703
245
423
795
338
738
461
656
846
438
711
307
164
756
367
799
25
582
644
526
134
117
644
117
972
977
437
973
722
980
140
859
984
161
757
31
968
884
869
156
794
320
64
650
374
221
168
148
118
641
902
531
363
190
611
280
970
496
73
2
51
746
227
612
120
604
849
32
291
319
823
227
302
557
674
104
265
320
471
50
46
371
9
897
78
700
454
694
233
940
259
978
116
88
215
122
743
546
958
978
142
276
127
247
813
822
625
935
379
63
117
778
966
800
987
790
60
740
456
898
614
960
471
213
183
728
260
617
718
395
167
241
470
135
506
863
102
521
661
421
757
261
617
666
289
944
436
414
305
313
902
994
974
402
754
280
775
857
424
92
500
913
201
890
854
762
77
392
940
532
312
169
766
678
935
334
662
357
967
139
163
292
168
684
476
673
468
963
123
907
79
162
737
398
480
443
262
89
59
489
18
197
267
685
177
421
512
162
203
937
888
884
725
626
60
553
129
357
283
443
867
573
558
152
132
109
430
873
66
946
742
56
111
554
992
186
484
589
549
12
974
974
134
741
460
799
407
608
582
75
429
743
3
81
58
452
545
944
43
864
304
148
705
403
502
836
605
675
487
166
530
200
723
454
456
860
102
537
900
65
167
602
194
421
87
709
797
114
353
365
689
315
192
822
275
658
648
203
997
250
111
168
4
725
856
610
855
578
792
767
186
381
195
231
667
510
683
560
413
700
50
576
170
94
889
997
252
431
98
734
206
678
483
37
613
737
674
724
266
797
458
826
204
546
498
387
737
713
64
578
620
380
114
949
35
45
508
433
866
722
664
665
36
209
259
290
370
264
852
177
490
616
462
916
783
611
222
491
342
845
163
824
111
283
103
702
138
242
376
701
998
85
840
881
932
644
198
408
186
186
172
755
383
208
479
815
473
484
874
75
964
524
769
990
711
95
16
823
444
492
552
523
646
37
469
653
98
654
986
990
649
455
506
195
289
955
640
833
644
957
616
145
375
114
983
176
779
904
902
252
95
92
588
352
636
719
665
625
875
345
311
142
54
572
40
992
722
822
919
21
826
999
804
797
637
916
915
907
863
304
712
300
713
835
539
201
596
809
979
61
358
76
192
124
679
310
766
447
305
990
770
629
294
288
788
79
348
615
635
403
604
740
406
334
966
261
228
733
162
683
818
323
270
527
551
247
314
687
204
972
949
736
14
813
914
999
952
109
136
967
372
101
888
109
313
699
370
166
758
588
453
824
117
622
84
17
37
17
41
189
391
638
295
563
977
596
234
838
9
434
413
745
966
427
248
606
733
894
357
353
277
970
779
484
256
999
396
70
105
533
260
245
107
981
390
577
879
71
823
331
548
648
363
928
567
812
520
825
797
2
578
642
986
479
614
597
226
566
545
233
338
128
968
952
358
50
629
122
470
863
859
360
820
257
197
147
585
965
745
106
571
365
466
118
406
193
806
938
53
999
486
143
24
268
288
44
110
711
936
655
920
836
977
946
793
788
648
375
891
397
323
135
414
510
44
643
888
1000
45
533
467
271
914
845
980
698
247
119
267
198
198
878
953
51
353
288
435
161
713
871
269
185
414
792
583
329
985
605
379
185
580
326
814
649
632
359
628
834
803
113
902
914
952
119
238
973
50
49
265
297
657
371
110
996
595
248
90
501
922
927
430
259
185
82
233
925
177
497
320
413
127
23
745
485
317
958
26
931
604
889
146
983
257
530
370
358
760
318
811
172
7
320
461
45
370
555
71
912
689
933
913
384
127
878
905
60
179
113
37
824
869
255
327
991
299
617
764
180
278
54
838
881
721
788
277
8
853
894
553
178
36
515
595
56
227
967
859
863
630
563
597
79
106
417
736
435
324
455
220
522
388
599
89
739
934
383
824
840
273
308
698
40
184
838
958
495
400
310
678
994
644
934
28
863
322
751
529
393
628
614
578
613
861
281
160
849
213
210
206
295
155
975
493
801
820
59
327
165
440
382
515
483
21
126
283
534
864
276
879
764
507
853
540
129
898
965
439
991
382
683
950
265
129
206
310
237
222
962
331
829
494
87
328
589
564
190
837
355
260
444
20
387
754
813
869
704
288
650
455
544
334
26
512
121
391
849
572
340
386
280
731
690
840
981
868
354
518
463
819
451
306
172
546
406
408
960
841
709
804
319
487
662
87
33
44
293
423
959
675
306
392
259
493
787
913
747
910
405
253
948
409
13
410
127
948
879
747
775
947
267
863
35
424
706
96
71
407
101
957
705
158
775
31
479
117
646
587
917
730
3
199
938
465
760
182
267
416
646
541
200
837
524
427
291
865
915
812
332
434
840
191
528
118
316
672
915
208
166
701
846
840
347
29
902
419
648
275
624
873
444
543
327
527
173
157
612
480
334
490
341
437
113
256
560
882
173
392
261
303
773
837
938
970
124
97
610
409
823
475
341
279
270
241
342
846
221
815
397
614
995
252
712
979
414
929
276
926
249
337
493
946
812
349
115
297
315
119
518
672
833
44
957
167
993
852
718
134
11
916
24
148
338
394
148
878
959
602
413
41
348
356
691
15
192
643
545
927
240
109
394
176
86
307
944
443
222
568
654
197
492
636
193
598
891
944
702
477
773
497
127
755
662
864
100
292
281
702
612
628
867
564
199
514
555
497
495
425
420
60
772
504
740
962
530
479
197
476
277
151
19
128
403
2
513
968
453
295
56
866
145
812
357
900
218
35
740
843
555
140
265
215
58
639
729
95
432
904
989
167
382
71
584
24
720
39
340
838
534
349
493
862
884
761
870
131
437
236
872
912
113
867
266
142
52
999
349
106
167
447
616
105
140
220
909
689
960
615
940
331
1
912
214
79
210
116
618
810
176
401
374
199
734
931
629
412
292
745
680
834
221
248
726
852
538
652
76
819
569
392
955
860
448
148
387
99
118
602
162
211
967
483
569
969
348
748
369
561
7
5
510
48
900
366
182
253
936
6
137
771
969
613
614
519
723
759
862
472
435
15
966
762
687
246
635
347
284
117
675
834
60
319
106
840
175
387
251
492
819
269
699
273
217
18
720
453
499
51
579
751
300
449
201
733
931
654
815
660
556
764
524
182
136
345
236
288
784
285
20
405
805
788
757
396
920
18
890
480
88
268
201
762
887
780
793
165
650
503
877
24
402
138
546
509
191
802
436
352
577
521
79
38
895
534
776
765
392
112
45
965
510
159
19
138
374
395
728
63
26
315
819
190
67
454
138
170
139
679
536
30
118
404
447
460
983
611
28
29
67
554
149
940
810
811
92
94
170
176
600
822
601
472
828
633
840
986
827
718
797
678
425
764
531
697
747
817
608
26
166
573
162
273
196
479
624
718
645
460
390
732
418
918
663
604
486
890
340
612
886
902
76
917
75
89
600
473
633
645
960
693
69
485
584
45
454
316
1000
110
714
953
576
877
652
837
869
227
234
156
55
607
198
910
424
880
809
539
119
221
469
430
135
702
913
775
95
907
950
719
461
525
41
711
670
363
540
265
128
632
74
118
124
688
368
872
521
618
824
797
486
204
254
414
638
829
515
833
720
828
209
614
325
638
219
66
242
864
636
519
731
22
527
54
374
308
92
601
215
197
960
104
558
62
797
660
141
300
907
156
412
631
248
954
271
334
91
578
958
203
612
233
730
897
847
166
608
199
765
595
722
402
722
907
744
672
147
356
484
800
175
304
958
155
811
342
160
32
390
310
307
837
314
291
569
696
472
177
141
167
352
282
61
682
546
766
356
254
270
380
933
743
539
120
145
682
858
905
97
263
639
355
576
587
57
14
963
683
737
169
583
133
495
517
753
354
328
504
209
726
972
105
686
778
686
195
168
600
307
413
750
493
295
618
69
620
183
593
28
83
828
671
879
432
885
329
759
53
184
614
468
310
79
461
622
553
355
586
293
324
23
654
922
200
142
842
584
678
859
775
661
473
995
7
594
353
869
918
674
430
480
908
745
392
861
243
312
730
169
779
766
466
54
52
362
196
943
886
138
565
129
793
170
415
4
880
447
934
320
904
169
105
97
425
452
623
713
672
272
247
717
906
976
252
125
544
836
208
328
255
936
871
218
559
154
348
851
216
99
7
748
821
684
864
952
581
395
279
79
205
466
830
888
209
866
193
372
700
442
696
943
877
598
961
83
88
632
726
715
255
191
490
664
866
369
113
771
572
625
870
626
592
63
753
455
761
595
1000
336
94
181
933
849
132
632
200
211
194
423
401
168
890
624
933
198
895
279
574
106
31
539
990
678
188
441
858
905
424
444
759
200
925
772
331
160
129
156
439
678
414
779
266
634
261
104
310
958
671
812
239
610
928
223
427
885
513
443
810
525
72
985
345
277
896
718
11
943
238
877
744
444
199
259
137
98
591
919
65
149
363
408
567
552
725
54
521
156
57
880
613
734
54
485
92
753
325
627
634
366
863
305
377
907
349
864
898
57
282
982
403
933
287
483
937
594
775
549
767
830
348
287
374
666
909
574
715
672
528
775
471
86
473
238
32
707
691
416
883
739
252
114
838
48
909
629
347
804
985
463
673
109
251
928
314
2
331
147
474
180
434
928
733
903
884
476
310
775
22
184
513
552
528
581
983
667
91
52
364
933
708
138
868
730
537
50
30
54
390
536
597
8
459
407
143
649
778
800
455
636
288
770
190
794
85
878
597
516
585
266
322
933
904
100
456
892
686
389
9
99
991
912
946
217
629
404
762
337
492
195
332
960
21
233
429
615
939
769
877
239
783
35
779
727
541
910
624
437
952
926
392
960
594
952
939
186
952
552
66
554
39
321
663
364
20
473
246
222
486
571
1
7
713
565
207
229
248
259
496
272
667
887
982
840
180
746
715
847
38
741
266
111
389
240
505
465
291
861
800
334
95
688
927
389
287
946
954
617
217
322
244
47
806
3
512
405
464
960
558
182
973
186
890
933
995
388
980
179
230
113
276
896
944
403
431
460
796
848
434
851
360
353
440
83
791
14
156
118
364
250
562
953
442
745
604
208
578
798
263
277
52
429
25
35
119
908
403
171
659
457
582
445
708
533
665
550
555
421
289
819
713
918
549
699
97
482
288
780
146
576
805
181
484
866
951
264
944
592
393
959
420
674
554
487
70
71
363
889
851
493
503
562
230
824
244
974
185
493
361
798
279
620
821
23
695
968
150
946
584
579
403
613
995
551
676
910
928
551
952
493
808
524
868
695
732
553
688
830
415
963
357
610
655
600
19
938
478
652
795
998
876
514
929
386
166
990
647
11
600
532
176
631
747
333
446
192
599
817
908
564
81
492
749
905
828
177
580
624
693
331
276
851
423
595
261
366
334
679
984
223
635
396
711
629
233
23
53
243
495
124
838
705
437
659
26
114
257
477
393
140
941
296
587
655
937
866
20
81
510
291
727
135
471
446
27
291
390
983
271
76
326
685
487
249
316
837
17
52
586
816
532
956
508
350
965
742
827
745
956
369
567
919
388
762
337
254
489
581
459
144
711
50
464
576
358
154
3
265
465
817
167
675
992
259
543
681
775
331
43
818
991
493
733
774
149
69
406
263
714
544
608
487
527
984
209
148
115
77
357
363
854
929
845
919
668
500
495
997
649
484
161
870
514
501
342
127
315
734
200
632
183
490
989
793
177
738
501
692
507
362
184
297
485
732
981
276
585
202
799
903
874
318
731
172
922
843
826
497
13
176
242
336
88
415
52
648
436
49
894
345
529
282
857
802
799
37
734
56
384
4
809
534
30
462
862
20
418
235
969
98
141
823
956
515
448
680
100
704
661
613
765
256
850
524
192
245
952
18
588
128
47
970
981
431
877
763
67
516
52
773
397
531
571
630
829
73
457
936
103
175
300
419
784
993
475
934
565
943
644
356
128
142
885
135
311
674
493
244
351
610
13
299
329
722
597
854
805
524
99
306
754
601
657
328
627
205
668
502
287
733
188
636
71
3
766
311
18
260
660
317
552
381
180
10
575
121
636
69
943
95
997
803
779
844
903
914
943
538
117
601
226
785
841
992
547
596
596
137
477
734
507
235
935
577
910
329
780
137
178
443
322
70
522
16
500
352
343
537
570
788
358
479
679
673
377
3
619
754
52
380
405
68
389
801
28
399
82
14
921
838
985
252
189
392
153
29
640
655
922
684
2
317
440
999
493
693
910
838
70
492
563
488
297
793
35
330
718
536
395
526
59
887
545
657
368
511
77
605
384
126
994
548
101
716
846
622
437
425
974
652
427
469
541
392
109
374
925
852
585
454
908
641
330
738
767
719
907
480
51
605
692
984
331
863
66
712
659
653
829
556
844
230
240
720
863
556
192
847
938
576
501
933
835
314
194
78
935
671
989
309
505
671
854
549
385
986
650
329
986
728
398
946
111
885
608
627
601
281
477
691
231
589
465
847
591
795
936
518
907
441
79
556
899
151
300
745
805
230
622
304
624
552
416
944
513
602
963
141
7
254
910
967
383
824
695
206
83
993
407
537
565
419
330
184
333
273
664
859
196
445
484
742
975
890
65
955
2
432
94
259
740
352
137
687
778
262
971
442
255
88
25
672
515
482
236
654
398
576
88
541
133
856
440
32
224
804
61
260
75
142
425
743
350
695
438
454
247
389
223
941
884
399
20
963
39
258
534
275
285
585
784
64
422
142
607
6
751
147
523
81
347
105
547
98
10
944
911
335
951
910
373
833
621
493
933
644
293
652
362
802
143
735
845
824
616
770
485
349
800
295
100
900
378
449
991
794
496
855
908
996
524
701
426
24
285
555
363
87
756
616
654
289
682
553
303
97
775
578
670
264
403
142
338
25
745
454
262
739
417
80
717
76
457
21
811
489
410
999
961
992
935
166
802
180
33
80
438
47
480
610
822
379
543
340
307
409
370
191
112
4
700
219
500
822
735
966
971
800
35
334
680
829
312
655
554
664
852
551
339
975
93
194
877
908
578
781
468
715
93
426
74
795
321
124
475
968
728
183
205
920
752
274
271
534
543
294
169
271
678
322
711
827
276
280
518
68
906
346
799
636
501
758
235
679
282
447
351
863
327
821
758
231
997
109
32
449
911
923
820
722
537
41
939
950
747
22
887
733
886
885
165
461
997
19
266
53
849
443
15
851
331
744
161
827
594
314
803
514
24
27
248
25
801
84
394
95
294
608
554
348
7
463
941
892
132
918
704
874
27
23
463
903
86
987
824
47
550
415
210
711
766
12
664
826
294
223
994
671
43
347
728
93
306
847
885
111
175
938
473
629
296
56
985
495
371
465
875
262
101
103
171
753
500
723
904
8
648
558
11
253
962
1000
728
289
38
244
256
102
942
479
670
556
592
917
602
738
539
931
250
909
1000
599
634
31
512
215
831
536
909
694
136
335
633
361
695
62
594
292
192
210
867
254
589
124
536
294
751
760
899
181
39
781
66
267
579
804
718
772
988
562
394
164
783
335
256
96
561
253
669
298
327
967
331
938
999
752
918
236
215
332
361
517
69
559
979
481
263
640
607
180
503
765
797
107
652
849
919
819
262
583
685
728
666
152
237
57
673
783
424
456
311
752
318
452
751
603
318
735
719
113
448
246
242
960
547
199
536
158
105
429
206
57
455
947
706
116
830
141
170
712
626
883
325
973
786
667
168
982
860
9
501
738
738
568
210
936
411
823
384
980
459
694
987
631
105
206
807
341
782
113
857
651
205
464
195
981
789
222
417
766
123
387
682
171
899
559
206
563
354
501
608
480
799
80
351
122
242
885
818
264
505
940
192
62
435
215
446
429
4
13
199
557
157
916
102
647
231
710
729
137
646
568
641
517
376
838
415
366
373
976
943
343
738
522
249
724
917
522
375
513
638
476
661
280
593
720
864
674
115
120
126
977
213
102
752
157
392
333
127
634
575
830
869
370
363
846
501
962
557
695
485
105
575
554
484
215
933
372
80
973
456
260
999
279
250
94
101
423
758
632
988
288
410
141
135
45
485
373
843
113
802
768
170
130
760
894
228
287
94
497
870
675
389
995
857
207
72
883
49
300
111
332
14
697
101
185
754
788
758
690
873
260
113
552
649
199
835
315
919
599
206
646
609
758
229
854
20
251
224
828
719
992
72
647
953
396
943
314
86
811
957
400
421
195
708
935
151
485
29
508
892
218
650
404
422
743
668
554
772
815
838
234
805
427
762
738
748
495
979
689
958
429
802
273
326
650
533
434
350
857
295
1
881
214
357
759
934
636
227
766
764
76
235
533
631
9
564
299
260
343
912
276
42
636
40
637
464
768
499
1
49
257
700
360
362
943
349
712
264
119
955
137
666
76
785
706
464
625
136
385
225
440
282
78
468
913
764
28
28
828
962
68
115
332
57
654
138
587
533
143
276
994
384
563
76
70
14
963
66
900
671
502
477
593
877
631
704
305
989
80
55
215
457
854
662
310
819
156
187
935
749
925
70
873
721
705
665
131
959
669
513
702
413
934
409
334
408
739
673
729
480
674
203
648
673
913
489
136
212
308
749
423
58
291
738
123
305
763
587
993
772
520
246
895
420
330
692
576
424
463
130
548
825
334
784
651
692
940
759
846
626
923
666
420
289
443
350
58
305
495
129
152
582
969
386
345
572
533
239
525
482
363
279
387
761
871
38
278
465
817
941
201
252
647
975
762
833
421
211
377
669
489
616
211
597
907
294
178
841
669
421
843
569
988
646
197
748
278
661
86
546
923
987
564
966
665
749
538
687
214
353
866
327
680
561
486
462
585
374
277
795
472
533
59
766
611
205
578
795
877
586
357
73
675
773
32
472
661
184
131
748
128
282
329
636
127
75
848
867
791
142
47
370
875
512
228
169
219
745
341
537
716
12
576
1000
341
778
814
688
22
946
497
354
394
978
788
88
25
512
823
398
281
527
411
874
837
897
843
60
758
497
328
557
208
679
150
576
84
23
865
381
301
757
706
84
40
137
925
253
983
379
944
652
451
437
70
255
429
52
998
324
614
1
481
963
35
396
385
80
264
253
757
58
920
236
727
796
999
676
768
982
539
486
344
584
268
563
7
615
168
627
795
116
358
231
156
213
287
825
706
800
997
374
821
103
135
993
464
924
476
471
643
859
936
351
611
123
441
444
241
965
595
276
10
784
734
969
692
190
862
503
135
265
947
134
516
162
235
967
42
22
564
361
358
897
136
851
881
19
855
774
830
248
116
621
3
35
898
421
228
527
107
123
11
726
384
59
66
786
7
18
343
554
103
391
650
494
97
127
191
956
242
958
133
593
76
470
873
357
904
96
772
182
718
63
967
890
485
641
337
313
442
768
791
946
799
312
876
626
289
738
73
909
110
930
305
831
98
280
881
683
451
922
516
267
882
164
150
896
884
767
964
10
691
690
392
872
587
325
955
303
466
63
408
742
920
204
61
262
666
877
98
314
864
623
404
114
676
756
697
554
476
408
740
457
276
451
17
802
244
80
561
268
687
954
520
77
511
190
673
658
955
418
326
88
339
339
951
611
708
939
458
819
465
551
234
189
547
502
936
795
256
924
566
944
585
641
528
388
782
748
231
535
914
607
254
795
427
497
308
771
17
110
969
528
671
383
681
579
389
920
611
542
928
396
730
639
890
883
943
368
609
3
145
661
604
164
873
853
781
934
582
557
216
744
677
377
76
729
106
980
179
495
724
662
752
974
648
992
196
376
516
527
33
400
902
820
774
538
131
217
136
270
400
959
887
416
413
157
632
735
706
110
1000
76
471
244
21
76
936
677
986
398
337
54
677
17
66
822
700
875
851
559
555
529
731
321
228
88
115
232
307
799
480
690
90
158
91
644
690
300
679
348
898
721
187
922
430
123
538
772
263
229
889
678
918
11
948
911
950
629
802
271
390
762
106
333
558
725
657
523
495
927
121
846
249
760
129
243
371
986
60
575
287
34
542
173
655
415
150
751
417
599
799
231
43
337
77
680
337
339
111
149
311
668
605
642
802
977
367
875
943
936
968
705
119
818
217
362
743
209
726
691
49
275
208
587
99
798
73
789
395
482
547
932
775
656
772
544
792
532
334
281
385
673
197
213
460
164
334
452
941
257
176
731
959
930
634
815
120
909
600
772
191
147
753
226
141
698
997
643
189
192
48
632
404
825
539
994
454
935
492
953
280
683
174
602
858
360
158
119
693
114
860
683
383
677
993
369
401
771
83
512
225
478
709
164
107
760
142
297
15
729
878
352
802
1
889
585
191
663
558
421
984
971
889
656
789
860
42
976
645
767
206
660
163
73
545
787
170
644
273
487
413
605
929
30
550
482
551
592
541
270
788
582
542
833
932
292
591
264
477
486
679
492
104
233
314
474
913
938
275
752
315
59
108
41
244
431
808
779
267
487
268
219
698
892
346
785
76
296
794
833
209
952
886
914
521
956
311
894
649
691
776
25
26
901
830
156
744
481
587
797
91
661
407
685
6
798
110
827
127
367
937
725
270
92
342
656
901
345
629
414
662
110
634
883
44
808
914
170
81
259
368
817
341
862
817
761
525
883
834
313
743
334
48
402
850
572
180
747
326
147
356
393
788
858
590
282
641
241
883
123
305
909
90
865
163
265
568
482
638
102
608
630
809
544
852
976
584
562
202
620
713
46
211
114
884
52
593
25
726
341
279
844
768
820
387
340
354
799
596
104
15
263
658
135
75
501
231
792
85
519
749
353
252
611
816
691
179
370
474
319
104
195
749
158
292
35
82
877
424
724
591
637
594
753
653
340
26
750
929
276
733
241
809
173
104
497
219
220
875
408
877
590
977
343
377
361
573
924
920
478
916
452
148
617
799
526
257
346
20
19
515
21
709
152
385
199
339
895
659
185
988
284
435
535
703
547
265
930
850
104
564
879
975
627
160
138
18
332
925
528
665
605
584
130
283
853
106
439
127
232
593
112
456
499
191
440
796
798
368
492
808
607
829
174
161
447
461
131
324
197
961
468
446
10
221
807
350
910
96
39
186
120
959
466
482
39
284
731
184
582
579
38
747
296
175
686
521
241
726
888
448
157
818
142
609
831
707
197
216
903
85
781
471
560
705
813
132
733
867
792
713
392
56
389
988
540
441
89
901
291
616
847
6
235
647
354
290
899
477
477
630
717
773
825
114
389
552
218
189
860
292
16
903
491
810
913
533
127
843
781
521
913
171
612
969
680
103
418
894
660
326
197
78
88
446
713
623
979
19
897
244
5
529
122
951
922
538
490
982
437
203
506
785
777
455
239
390
442
392
95
724
823
871
869
313
393
838
608
317
190
692
125
53
167
847
711
988
776
702
727
689
859
446
226
352
482
455
761
373
904
579
778
864
237
256
813
144
699
248
800
24
571
746
387
127
110
741
76
582
700
868
425
176
460
336
242
453
386
226
965
302
867
133
925
304
37
110
241
469
54
903
446
20
806
711
780
589
978
108
262
492
662
282
295
791
903
466
567
457
678
282
422
310
778
733
744
327
28
758
603
566
31
572
570
224
419
499
670
266
144
672
373
678
961
709
924
623
621
496
549
693
701
246
766
8
215
319
129
130
320
676
176
624
524
429
311
636
719
670
590
41
320
663
136
550
494
514
988
661
228
645
739
509
534
746
222
451
613
393
841
712
224
198
904
534
787
170
416
36
6
952
400
453
913
743
709
475
267
992
722
204
196
427
21
599
808
557
380
370
251
572
947
1000
381
479
489
921
736
376
994
921
17
17
682
539
630
184
738
533
154
957
632
526
767
642
974
562
790
997
233
638
481
387
502
227
153
697
736
432
484
128
504
699
626
494
403
942
338
291
670
522
915
569
465
781
126
617
503
724
702
577
443
1
209
340
484
568
263
517
135
273
143
867
12
131
798
245
809
251
165
85
310
209
458
421
420
172
820
690
706
207
300
891
881
44
626
198
977
12
680
794
711
993
862
516
679
26
787
885
585
606
862
222
632
841
346
870
617
355
425
955
996
241
697
765
397
422
193
554
611
498
755
533
109
521
122
838
515
179
583
548
255
544
406
177
838
896
567
623
812
104
466
249
477
734
438
649
853
328
868
621
238
295
614
97
938
455
284
51
371
566
617
913
837
95
857
666
669
86
543
564
365
222
585
390
562
92
828
267
397
219
590
286
876
625
792
666
360
591
379
696
190
788
711
473
745
137
466
325
962
617
394
843
450
699
962
667
846
282
503
509
997
791
10
415
885
552
120
943
931
718
152
747
502
758
275
53
944
989
28
635
462
692
447
207
528
127
983
582
230
152
260
580
216
199
471
402
408
106
865
112
693
647
358
977
171
651
758
583
349
261
494
102
880
261
6
581
56
361
157
833
291
998
127
391
238
533
242
968
51
662
117
50
513
502
304
573
392
89
351
117
485
955
822
680
202
36
357
905
460
426
288
561
905
380
694
207
151
543
998
220
823
577
426
779
675
251
645
1
940
587
934
107
386
811
86
450
251
735
35
213
343
682
892
833
119
192
681
543
473
610
552
945
313
60
691
179
722
499
426
114
665
247
276
917
748
905
831
546
496
594
336
969
958
234
867
385
272
978
771
309
931
969
835
167
132
312
296
943
544
516
376
527
238
695
491
601
335
502
683
331
109
120
80
647
919
594
410
609
369
497
680
205
488
186
129
947
592
898
498
786
720
532
453
220
153
279
729
917
630
151
201
826
276
95
622
567
169
590
189
793
702
544
483
367
622
880
547
434
645
380
67
903
110
266
640
412
969
509
133
601
738
33
986
385
760
832
117
977
194
528
760
612
723
18
190
262
856
696
767
169
64
196
171
678
696
714
984
667
808
750
38
889
543
562
37
622
705
678
30
386
493
606
236
864
162
234
573
833
534
529
12
634
879
794
514
639
670
187
892
265
105
162
419
282
106
232
357
589
697
772
903
146
287
569
205
461
405
497
236
898
849
997
278
55
63
5
725
671
777
597
678
812
603
895
594
572
324
718
811
200
78
48
361
285
493
627
902
670
114
913
946
791
125
166
823
455
463
677
995
469
905
989
351
104
598
531
170
111
828
221
228
910
500
488
382
593
932
612
626
598
96
462
204
258
341
525
892
953
990
555
964
249
927
334
666
247
440
776
250
328
140
70
764
642
737
632
805
952
800
388
409
936
429
312
73
608
911
204
700
319
46
410
862
703
791
559
412
13
277
402
875
506
74
568
503
961
745
327
94
918
382
517
932
944
831
387
252
100
713
453
665
772
217
419
892
213
860
835
958
460
56
441
732
796
392
92
317
507
969
736
350
559
18
167
702
693
287
187
400
596
369
366
888
37
201
795
868
300
505
116
49
796
764
624
98
491
704
444
969
662
908
593
577
532
319
271
463
554
915
849
714
452
766
848
886
641
996
666
108
342
943
920
847
488
930
77
44
547
624
443
475
485
918
703
189
420
631
943
867
937
90
472
750
665
844
848
571
468
333
206
567
525
331
371
225
635
372
263
883
352
172
780
702
888
277
703
777
316
756
135
395
278
820
679
504
268
618
823
484
561
361
14
226
52
104
479
314
574
190
170
873
747
428
115
233
57
489
63
121
649
911
552
526
283
361
437
732
978
457
471
275
171
584
746
728
603
566
681
293
748
17
760
162
296
434
424
469
134
849
344
453
276
949
810
152
412
97
125
527
87
617
698
434
62
39
993
269
44
734
624
437
821
515
656
995
806
350
599
984
143
251
699
965
810
821
846
252
622
654
847
146
611
11
842
273
61
740
409
734
381
425
205
407
41
122
88
159
101
853
295
137
165
246
629
581
203
297
585
807
356
281
4
83
684
245
151
159
862
353
95
83
969
599
851
797
854
47
82
686
39
796
31
923
767
352
992
960
580
924
845
970
779
462
110
393
205
892
504
993
73
137
227
993
975
950
61
926
768
522
906
800
781
107
539
82
676
614
251
766
323
251
500
488
272
796
859
271
732
23
382
942
522
128
934
741
79
744
190
883
469
294
760
120
317
942
358
454
708
414
986
174
402
287
893
367
166
117
442
874
627
984
97
424
808
569
433
345
436
914
482
820
184
374
718
113
233
92
689
589
946
532
643
640
959
222
496
791
737
864
117
399
454
422
261
332
101
600
402
950
884
397
364
499
295
35
923
785
731
633
487
598
160
451
542
909
140
390
819
294
440
705
21
404
622
568
513
522
196
190
617
464
400
729
973
79
205
59
27
640
902
831
817
264
494
920
131
277
182
485
576
177
403
409
242
387
282
762
490
544
813
321
824
452
809
879
949
169
449
231
884
879
242
296
445
396
384
763
492
108
739
29
91
177
161
965
137
612
471
232
52
618
150
425
877
267
745
349
466
114
61
90
492
844
429
382
693
436
739
941
93
592
472
85
961
385
650
961
895
178
511
123
755
872
683
65
113
441
852
506
523
545
188
925
188
725
338
843
534
317
367
855
797
762
878
226
969
418
444
198
358
351
649
776
576
819
222
873
982
320
249
180
476
168
953
19
85
507
314
738
941
568
652
912
113
753
373
745
242
834
245
568
87
137
957
253
886
92
205
733
929
957
234
500
827
813
571
153
770
172
692
579
487
668
479
331
703
315
627
130
666
806
620
173
679
105
476
119
672
422
260
215
523
244
246
986
259
722
712
344
245
147
568
739
193
657
412
205
137
581
146
772
541
34
994
698
337
465
611
468
12
870
996
260
836
303
65
891
921
98
114
850
115
4
819
104
625
991
124
810
897
72
105
931
501
921
887
34
683
391
779
204
800
313
64
118
72
121
281
792
967
897
450
412
38
415
373
976
247
646
68
161
632
964
431
959
665
987
404
148
828
598
301
564
716
167
452
525
453
442
992
427
339
871
442
753
409
345
730
226
14
478
406
826
663
600
135
758
57
541
972
205
692
168
547
904
454
377
42
145
338
900
768
792
805
865
222
327
309
507
733
698
225
827
187
985
740
255
897
499
262
598
335
945
564
621
338
721
192
643
407
250
615
410
857
477
245
356
951
311
695
63
588
862
619
375
774
738
42
144
898
590
338
47
784
298
928
244
585
933
318
905
867
658
322
805
644
258
187
253
678
858
841
570
135
717
725
249
517
665
435
686
903
886
978
75
657
260
524
666
184
408
401
69
787
914
531
721
357
939
591
935
460
588
34
183
367
945
461
384
686
635
980
21
594
161
922
830
70
15
668
681
169
743
420
997
132
726
475
739
27
441
890
550
721
342
513
104
203
315
981
123
642
867
680
768
153
820
615
344
909
308
819
326
99
292
230
729
267
652
932
770
695
145
272
554
870
172
660
285
506
334
775
76
265
240
492
38
94
867
121
699
70
62
398
201
709
441
292
971
8
30
851
692
871
482
215
512
163
593
449
373
356
151
17
227
633
849
580
700
350
118
282
447
950
257
852
53
803
141
644
826
926
166
235
241
242
771
280
132
819
79
132
915
567
714
164
291
948
820
816
890
599
671
133
282
180
47
973
593
399
686
123
770
898
769
269
145
626
314
139
569
381
807
183
808
461
167
805
317
712
364
542
777
855
618
558
954
620
134
467
575
127
736
843
890
907
632
698
516
187
736
867
963
337
660
494
993
887
508
757
549
153
90
568
571
294
12
204
440
598
390
770
119
874
601
915
363
95
569
462
481
887
574
474
234
975
468
810
415
493
492
419
528
903
565
431
792
342
83
642
364
396
730
113
290
676
769
422
185
67
601
572
76
198
117
694
126
505
510
431
214
242
781
365
452
926
121
898
777
6
705
778
666
991
231
845
919
869
678
642
157
438
387
241
383
57
502
20
503
419
255
144
181
188
351
195
782
690
915
722
445
456
111
514
518
44
508
995
682
480
755
523
113
639
911
263
914
76
48
990
890
109
368
424
457
493
143
634
96
601
242
648
313
860
856
658
496
141
333
92
421
874
683
405
402
968
417
644
250
1000
853
725
267
726
948
873
480
701
970
881
197
673
91
663
751
466
38
88
998
279
508
232
723
650
938
994
621
887
590
482
933
413
631
710
117
299
30
909
192
254
663
207
471
458
953
508
502
935
761
160
913
609
990
395
742
788
562
587
594
583
996
97
596
698
802
838
716
96
333
716
480
265
483
801
489
223
888
426
442
924
849
372
539
422
256
13
279
40
195
543
608
759
761
409
359
245
838
689
676
241
252
428
885
538
768
875
870
377
826
171
589
919
815
271
754
389
932
787
99
580
350
10
886
696
512
569
459
908
847
70
744
575
110
580
546
839
839
6
381
143
131
263
374
319
76
619
432
52
663
753
517
896
944
896
330
548
554
841
145
713
421
799
841
776
654
791
405
418
152
737
298
493
411
490
146
768
419
801
116
561
234
604
213
940
74
93
490
893
310
727
808
816
720
744
359
715
801
716
652
774
703
430
8
317
576
667
938
737
715
487
932
666
941
252
313
518
49
952
807
542
5
354
376
714
818
105
703
78
633
229
429
683
682
355
872
855
147
636
480
359
886
544
761
953
218
646
714
939
662
5
86
584
598
95
947
697
290
954
85
224
649
873
781
463
371
49
324
372
818
524
460
512
122
196
661
335
502
844
655
910
727
941
232
689
968
457
677
562
56
21
571
305
260
549
852
495
305
907
233
83
264
248
40
150
345
434
527
791
363
327
549
683
848
826
227
663
351
206
922
566
470
725
370
626
534
459
337
998
669
36
507
332
199
270
612
887
926
680
19
357
868
564
51
445
454
579
369
245
18
749
620
640
661
467
384
261
195
296
186
43
954
350
949
18
690
599
820
832
651
697
727
361
210
835
390
971
75
696
746
164
219
763
931
840
125
162
994
918
871
691
547
829
861
919
367
273
711
50
815
668
934
748
589
918
574
294
936
513
871
223
971
435
359
75
126
60
562
26
113
49
589
901
973
200
453
570
924
387
958
744
771
988
286
11
562
662
266
289
35
950
410
979
162
916
436
792
723
989
974
612
473
222
522
756
869
418
559
733
752
985
904
870
647
879
32
238
539
744
79
926
77
181
693
30
175
107
727
682
875
318
998
97
171
726
989
846
190
181
426
542
801
453
113
680
200
750
273
663
521
63
916
892
822
773
439
414
84
201
721
800
10
198
502
818
464
445
698
968
398
895
623
180
952
619
794
755
249
422
101
171
33
760
667
515
978
851
609
112
915
389
303
375
714
948
424
56
814
964
247
814
653
196
198
483
370
673
616
501
183
453
73
701
795
957
323
89
25
251
184
273
623
409
189
930
872
16
862
75
177
937
869
918
272
717
74
784
109
351
765
908
730
729
915
912
637
746
356
436
290
911
195
691
327
347
611
673
57
181
416
407
552
701
427
845
423
111
707
13
974
355
254
555
965
292
499
93
674
424
336
725
271
516
1
520
791
693
252
118
163
19
781
388
773
141
666
637
79
320
992
47
620
35
480
862
576
423
50
323
722
990
806
540
214
396
816
257
155
638
430
969
297
601
583
944
553
802
706
499
216
98
409
307
915
313
39
600
372
978
618
885
963
878
400
197
937
670
490
960
914
629
532
248
915
462
471
626
778
254
792
749
263
778
432
607
543
860
783
639
53
969
790
921
872
949
220
312
908
643
534
724
155
168
699
679
209
800
463
901
50
709
287
4
805
296
181
252
862
524
125
960
214
396
659
353
379
731
456
616
565
448
402
403
33
867
761
311
748
939
529
680
484
882
924
627
530
460
323
390
8
5
607
904
616
333
36
32
293
904
257
25
896
945
14
586
506
748
422
405
359
35
439
113
747
105
300
417
430
468
229
606
254
785
704
682
692
259
919
162
965
44
854
956
260
867
542
817
313
794
692
559
273
35
848
618
358
696
624
552
253
683
376
772
616
299
883
125
313
640
207
950
213
612
933
896
468
211
430
72
210
752
575
89
507
883
641
171
225
566
712
781
201
652
998
149
709
367
918
692
803
764
667
523
489
188
254
218
101
889
679
482
448
184
1000
661
502
983
520
842
447
89
238
865
881
373
992
731
853
870
442
724
194
825
149
90
296
968
527
247
93
620
371
305
506
769
11
167
15
901
851
578
350
214
229
276
505
822
71
846
430
675
763
949
748
253
54
348
858
496
533
580
548
75
450
151
70
856
195
860
251
325
746
243
785
831
811
128
343
716
166
5
489
811
922
238
713
297
45
148
41
658
493
653
821
276
748
455
268
264
371
729
254
276
413
903
674
382
207
381
416
542
81
998
608
899
999
606
339
862
18
403
518
920
694
557
843
238
266
201
150
333
522
131
545
562
738
361
799
728
985
275
455
818
395
246
991
826
676
472
140
587
313
253
193
817
359
106
692
868
700
898
417
230
983
671
8
489
135
943
849
261
555
28
95
623
615
399
834
675
48
161
403
182
187
472
864
691
770
155
422
105
220
796
409
495
871
333
30
815
628
536
714
272
914
774
328
360
583
182
923
896
678
659
960
9
520
130
147
682
639
168
139
322
499
370
327
849
774
857
884
963
199
873
27
562
643
757
201
780
122
495
499
738
911
618
189
915
791
505
642
969
732
30
320
967
991
36
723
238
682
371
373
476
374
68
962
307
159
777
770
253
948
765
357
926
429
611
287
317
284
247
355
254
737
125
396
461
459
127
226
143
174
270
713
726
65
405
270
172
207
875
295
287
817
538
207
583
65
639
775
530
562
781
363
506
392
641
573
341
752
117
528
126
850
346
673
871
663
371
585
676
607
283
695
298
929
334
277
410
861
880
265
357
180
978
734
948
851
148
907
659
839
95
610
635
21
169
962
64
378
945
954
805
255
610
247
632
586
742
173
113
375
703
472
916
648
59
698
297
312
408
631
623
77
488
228
52
636
715
865
911
825
132
644
881
367
289
532
837
90
769
984
79
246
912
475
727
650
759
67
253
884
446
728
497
751
33
642
1
471
248
134
178
873
750
175
667
976
266
641
178
899
441
637
304
998
261
234
43
509
738
897
238
711
868
758
744
844
4
599
892
565
448
124
750
730
464
624
741
681
947
624
413
28
647
506
565
103
203
345
433
905
240
415
387
346
424
933
422
69
684
563
730
901
792
181
840
285
79
159
103
643
385
186
813
707
242
267
855
289
894
61
616
834
9
184
784
369
831
441
829
145
88
197
161
342
182
278
442
700
65
840
45
830
725
642
427
278
396
3
51
101
455
549
542
833
446
522
955
262
837
24
399
328
936
97
778
816
828
904
48
250
355
661
261
519
896
114
611
355
187
563
849
708
468
407
730
439
19
171
603
532
538
799
849
188
879
766
670
750
377
205
596
414
372
844
212
39
555
986
790
222
456
169
932
967
736
421
844
907
929
217
601
80
948
337
572
637
971
856
225
756
290
365
686
215
320
381
742
768
277
595
486
488
902
268
404
726
288
585
530
178
17
258
231
824
814
984
283
208
395
639
182
561
474
249
32
813
719
831
942
383
997
193
584
991
433
644
465
392
631
357
501
89
928
826
670
573
684
443
915
582
432
748
931
200
165
288
176
343
190
361
262
356
707
137
851
952
761
770
335
732
258
176
864
846
519
48
733
147
227
590
767
370
688
150
67
441
52
618
439
9
492
44
877
697
392
344
713
375
254
418
434
939
400
221
709
735
523
574
860
749
794
559
894
135
568
382
192
477
660
468
137
420
809
398
302
959
226
993
269
705
33
512
806
938
35
429
938
89
459
742
355
590
242
60
758
677
997
34
962
855
980
796
31
187
286
183
256
477
15
470
565
727
324
236
799
946
138
753
352
505
792
995
878
757
999
956
118
556
397
476
396
666
349
179
40
759
813
445
772
871
888
572
114
722
49
394
988
284
189
677
978
308
347
554
182
337
381
89
183
874
909
841
423
975
578
946
199
517
62
809
568
789
239
957
665
871
684
7
355
435
926
976
658
267
967
335
102
790
157
357
999
302
863
259
683
509
334
574
865
110
775
22
658
908
921
840
226
903
349
182
714
350
351
732
880
564
427
115
794
569
374
36
102
358
510
335
582
587
771
317
175
54
300
750
215
176
685
952
331
6
164
208
388
15
988
597
858
3
591
958
228
994
413
354
407
934
987
884
593
310
403
99
757
563
373
619
687
314
877
729
566
974
843
916
137
255
380
301
870
485
829
877
923
374
319
323
358
79
546
906
807
993
245
651
682
648
160
510
161
561
378
771
332
614
543
289
333
795
851
421
838
716
673
757
936
376
357
805
324
22
26
827
732
849
181
895
680
454
538
103
978
670
796
540
873
398
966
312
386
568
508
387
159
177
730
521
105
651
838
847
239
452
577
972
352
923
604
588
592
851
635
671
594
157
908
307
541
367
703
84
425
280
497
751
796
337
844
553
537
704
181
246
504
49
632
300
422
279
289
204
80
275
613
124
698
797
356
355
321
282
835
171
220
213
507
696
600
122
506
364
345
17
233
384
129
259
133
386
21
435
526
75
583
821
708
304
576
372
584
430
597
30
784
213
362
288
524
798
903
628
516
510
638
421
834
295
128
323
3
651
357
44
500
776
530
578
510
524
723
666
34
438
175
277
405
783
687
373
838
43
343
90
892
763
763
716
638
996
168
557
871
844
816
829
920
767
794
227
507
371
708
714
587
399
555
371
