207397 52118
563
863
686
905
79
379
394
47
195
130
598
554
961
579
927
872
573
140
94
417
159
808
427
662
508
220
413
157
722
771
307
745
191
550
665
444
475
817
437
447
663
49
969
682
80
789
906
89
215
438
758
891
652
413
327
657
803
991
351
684
570
278
364
655
422
886
463
213
909
434
663
638
479
878
893
741
919
58
271
477
913
265
264
850
99
44
209
349
937
229
81
557
712
289
175
219
554
767
208
162
959
52
273
310
171
765
523
567
55
449
112
353
354
520
907
476
200
311
803
326
684
312
853
459
863
779
851
194
948
522
68
460
863
117
986
328
248
837
786
226
864
815
770
999
949
218
816
734
718
226
149
331
381
498
757
820
626
437
186
293
222
547
399
951
86
183
752
765
814
616
145
599
154
458
439
588
645
895
253
662
564
732
848
121
823
58
461
324
317
118
161
522
711
953
659
130
144
541
331
102
705
398
712
133
718
296
636
809
41
119
303
870
722
660
896
601
91
812
396
352
660
642
913
555
414
762
204
260
937
956
622
847
414
239
564
153
672
466
184
99
285
896
284
451
431
175
545
125
206
388
982
633
216
929
376
622
772
40
102
393
195
545
854
805
568
670
44
443
839
154
823
978
56
570
556
196
107
196
95
868
310
459
890
262
747
58
606
919
425
629
113
409
629
426
565
692
108
464
578
524
966
679
533
613
343
990
80
168
105
190
888
584
555
101
538
548
739
43
171
136
720
695
930
362
874
140
791
477
361
244
816
415
396
176
464
816
970
990
293
887
835
695
409
146
656
699
344
48
109
371
55
761
621
255
906
955
42
922
988
676
624
588
290
530
524
82
888
977
760
957
218
83
645
146
683
559
717
373
428
961
697
623
961
794
384
947
707
372
211
123
291
331
976
485
638
109
347
502
286
793
326
351
500
582
183
423
632
243
847
901
854
287
210
625
455
765
245
637
229
405
950
49
166
845
577
674
62
694
410
780
286
448
973
164
760
797
845
571
778
979
831
765
775
248
828
249
71
992
522
586
318
451
726
974
836
839
936
183
714
293
482
840
94
248
132
503
172
646
422
866
465
831
602
83
241
970
955
50
323
940
996
140
173
180
69
926
253
860
868
733
684
211
756
611
778
602
118
467
895
774
536
196
682
900
112
750
236
504
501
481
494
752
238
496
268
995
454
885
331
293
633
861
705
661
190
995
659
841
995
495
654
672
533
556
296
545
743
854
421
754
595
320
568
254
761
269
77
413
402
281
877
453
316
657
340
227
723
736
70
174
963
837
352
409
315
918
294
649
794
759
482
914
164
228
678
309
452
918
641
826
275
346
417
94
199
153
110
813
567
56
272
305
489
649
109
640
341
433
46
367
180
718
933
408
884
49
529
466
868
222
389
236
463
303
683
433
248
179
872
826
477
422
697
641
442
365
584
277
611
86
468
880
426
792
993
507
950
461
325
711
144
961
606
374
273
695
180
150
97
642
494
867
343
450
871
966
235
971
925
255
975
190
694
635
936
982
613
990
70
57
497
786
620
710
375
637
570
763
908
966
399
686
462
451
675
226
168
724
484
142
770
585
682
975
502
717
331
357
264
590
806
725
319
77
291
49
211
821
520
739
880
162
934
248
539
541
925
453
462
62
880
635
131
965
315
570
449
837
95
164
952
829
600
720
900
143
767
399
113
916
243
592
943
805
260
698
555
337
627
830
645
521
459
49
521
183
458
647
656
772
641
177
988
194
988
519
607
455
293
182
161
574
153
49
329
218
283
382
608
96
874
466
465
561
198
607
309
844
822
347
722
52
668
471
222
597
591
192
214
247
604
623
829
112
440
366
354
181
622
225
774
87
223
889
119
434
753
309
435
550
593
181
66
892
418
582
608
620
668
296
793
186
603
40
591
718
342
508
663
101
573
131
679
579
814
701
715
319
962
312
560
533
356
600
527
479
704
614
919
139
66
727
910
260
713
288
410
460
912
786
194
938
453
428
655
760
376
222
135
463
755
736
914
634
653
593
297
610
783
889
387
222
687
828
834
198
483
361
912
946
444
372
49
721
485
236
560
726
631
400
696
123
520
156
822
527
500
922
920
735
241
648
813
927
594
548
602
328
738
394
49
380
841
492
504
285
566
60
594
356
156
165
284
596
373
318
856
788
700
412
903
466
676
557
270
425
380
376
601
48
731
826
362
872
391
170
839
350
184
282
683
731
757
416
978
402
63
316
807
99
792
79
132
633
648
653
581
839
118
913
656
842
774
204
845
557
748
548
102
694
76
567
536
126
231
243
787
449
764
867
133
200
713
177
171
193
796
165
979
587
292
709
567
368
870
250
775
633
474
289
357
450
294
162
540
523
947
163
465
706
996
563
804
77
81
401
561
600
581
199
798
155
729
73
458
635
574
669
292
200
297
343
747
975
224
365
532
515
136
914
394
736
969
756
130
780
749
735
983
512
409
738
367
188
505
462
901
43
272
108
192
92
597
918
405
997
709
811
178
935
230
761
115
981
66
642
648
903
618
281
700
797
520
56
599
412
319
599
991
293
652
621
917
207
556
172
624
902
888
302
898
631
766
176
616
685
708
460
394
378
818
794
938
639
221
783
769
122
581
550
872
935
97
73
801
912
633
612
243
473
309
391
411
813
709
614
206
312
906
299
666
700
773
343
531
319
645
375
615
63
142
418
450
477
739
904
849
930
146
855
322
304
767
393
584
365
551
48
628
364
901
968
555
203
902
729
769
162
181
424
382
980
889
431
723
154
443
357
493
135
580
588
765
520
601
492
558
188
952
703
479
60
522
129
799
940
290
136
94
907
603
948
315
566
547
662
190
166
708
64
219
157
213
907
801
975
127
123
986
565
454
533
745
308
740
318
992
884
812
887
121
276
753
947
138
95
148
238
846
458
260
580
112
650
704
254
44
432
476
224
371
918
988
495
736
201
514
89
929
86
811
323
58
919
775
692
522
733
712
683
970
146
810
331
562
586
180
164
932
274
541
441
490
214
597
549
770
277
944
225
597
721
650
499
979
53
734
868
974
272
409
602
338
602
185
278
218
477
327
838
272
270
312
864
630
75
196
943
969
519
422
969
389
844
357
333
525
265
220
400
308
649
870
712
739
904
552
596
895
485
425
611
166
816
618
820
173
542
402
143
926
78
949
435
630
163
353
705
480
43
697
450
440
502
324
980
938
502
968
708
247
751
607
291
869
858
536
501
78
878
904
588
791
974
453
426
202
706
603
901
50
379
731
60
849
419
653
292
135
232
988
904
574
857
287
539
750
591
266
898
180
124
104
56
493
873
132
953
772
159
724
926
486
715
850
454
138
676
216
334
512
815
811
263
869
489
515
111
450
781
348
267
279
636
856
505
541
781
172
533
214
980
495
136
620
804
767
636
940
853
500
418
678
64
56
226
181
826
254
649
464
594
281
745
541
371
599
546
903
405
553
486
204
135
795
867
103
695
811
431
534
345
978
339
190
268
152
912
921
242
971
51
49
667
277
965
217
794
914
600
70
64
126
307
170
555
500
581
782
246
834
273
761
500
770
498
894
602
443
268
321
564
208
332
770
918
157
441
192
345
513
897
409
987
603
639
180
160
107
861
328
443
912
734
511
575
479
93
254
678
721
299
563
110
554
823
525
449
57
627
42
356
91
441
426
284
206
579
124
509
140
603
407
141
334
165
505
780
89
750
802
262
164
536
518
766
545
431
69
354
70
880
608
417
601
275
707
876
541
240
774
986
877
507
290
295
501
231
848
58
381
574
758
530
55
82
56
476
734
572
941
726
325
591
71
461
522
962
206
449
671
886
780
64
399
512
442
652
670
621
155
851
573
264
868
691
843
344
205
716
305
534
709
161
948
675
280
641
410
408
479
464
472
482
136
877
785
620
828
147
271
856
42
889
576
780
349
914
996
539
289
751
362
585
914
763
996
400
408
83
180
436
900
173
308
247
340
582
256
861
198
334
952
433
191
211
397
151
969
747
565
165
631
840
231
460
248
994
692
117
395
838
73
821
263
886
478
514
552
987
369
180
869
352
681
471
589
823
561
753
473
679
459
851
219
715
313
516
753
462
244
404
550
433
166
223
125
733
758
985
571
150
996
440
221
275
276
302
941
241
969
802
320
422
182
792
211
596
996
389
892
256
375
256
504
496
551
289
856
749
71
640
860
181
667
572
314
325
265
280
263
236
235
545
238
91
330
852
930
804
42
457
431
615
54
506
702
950
999
581
713
108
729
785
910
847
302
79
459
714
706
611
629
206
644
783
384
722
419
587
445
173
945
698
904
619
124
856
60
534
587
751
650
418
268
598
346
50
261
933
819
748
796
599
46
911
731
829
722
88
816
88
893
311
380
424
54
941
323
473
286
237
336
928
53
689
935
723
360
478
540
885
487
921
898
945
50
635
169
449
761
451
674
423
550
837
568
220
355
353
44
453
244
67
651
97
811
672
597
438
49
510
303
249
415
381
264
315
112
180
46
557
743
449
281
80
473
524
829
794
358
869
498
726
299
159
251
958
375
417
312
343
483
919
462
549
440
395
408
539
523
945
119
135
639
914
89
597
682
270
417
996
731
333
315
496
830
328
373
334
630
132
639
991
826
684
703
454
367
44
671
865
265
386
951
124
543
488
335
530
199
742
855
493
282
359
439
51
932
192
191
845
846
669
325
77
302
932
996
91
206
430
73
89
688
472
78
772
96
625
867
878
179
915
420
331
561
637
958
841
476
139
983
618
579
45
875
989
503
302
607
650
878
935
107
928
77
355
340
511
188
66
408
92
670
293
456
493
842
55
385
154
58
608
127
575
972
43
413
442
304
206
621
518
628
816
208
321
123
196
287
479
81
95
92
714
997
994
78
157
482
105
620
139
951
741
245
306
452
556
704
892
310
288
843
297
691
195
743
535
990
462
180
361
182
685
800
367
253
852
332
784
813
874
331
792
445
272
621
543
709
761
779
965
442
806
989
217
624
739
828
223
399
235
878
273
474
119
345
243
843
912
928
518
141
471
483
879
111
471
807
181
460
555
674
548
356
523
602
133
516
635
602
685
662
981
922
863
716
711
94
524
162
786
934
922
727
575
824
891
538
88
126
315
359
982
243
711
615
595
341
716
683
641
333
664
626
594
555
900
410
329
562
895
735
276
821
912
367
487
988
670
194
276
182
467
179
694
161
384
768
676
535
204
141
872
62
981
378
429
364
429
133
419
919
288
480
800
412
338
191
626
240
953
873
605
164
919
105
549
84
323
127
558
458
915
732
237
968
451
811
784
637
343
681
358
772
653
935
459
712
215
369
782
62
867
245
271
988
300
136
142
574
239
119
601
619
800
152
292
88
759
991
97
886
821
539
100
133
377
531
772
497
156
261
745
913
623
683
879
525
294
295
228
950
582
244
108
949
523
290
370
919
180
620
870
739
41
689
82
843
508
79
274
964
699
537
787
270
304
521
249
337
152
671
741
670
575
451
724
684
45
975
876
914
58
826
921
670
443
882
769
693
265
108
969
910
460
557
865
977
231
820
367
853
181
174
187
542
176
429
849
262
674
752
935
305
343
737
766
685
345
177
385
931
813
520
583
121
232
597
374
497
137
695
618
570
164
798
380
992
694
922
800
766
684
906
332
630
658
147
432
973
735
401
637
315
47
320
122
768
418
224
790
928
258
759
789
758
372
113
176
245
235
680
211
796
310
75
983
469
672
941
233
553
551
349
157
410
80
238
83
999
783
476
293
427
310
489
468
710
190
419
75
57
346
380
394
84
889
382
904
420
223
248
903
173
856
985
209
152
344
821
911
255
57
880
640
566
995
348
343
418
377
368
877
884
747
770
389
663
150
311
694
835
479
359
672
385
878
438
804
53
558
651
202
181
426
991
201
648
517
468
304
542
600
898
393
219
320
440
145
435
105
742
823
620
731
444
881
688
675
286
453
689
374
154
517
40
268
406
151
372
789
882
367
218
588
596
46
349
429
472
822
253
788
170
566
851
282
978
621
215
116
478
851
397
536
307
283
304
333
432
559
362
577
686
382
110
62
139
106
584
621
387
844
503
208
701
541
974
259
699
40
301
338
881
653
353
855
315
277
391
297
277
435
76
732
67
702
342
408
831
84
550
801
583
227
492
635
184
688
527
520
851
226
995
414
655
424
881
621
603
281
681
314
283
872
761
953
496
472
869
76
230
767
530
976
264
491
822
891
692
742
387
779
375
933
373
818
881
608
878
71
239
955
322
52
575
894
46
538
632
105
773
57
391
353
278
569
93
687
345
900
406
489
505
76
770
54
512
337
756
478
715
879
136
720
865
465
696
376
639
646
804
883
964
945
595
554
224
282
773
849
726
686
386
113
527
70
854
840
648
337
789
516
949
58
671
41
179
484
401
166
623
190
229
516
813
834
869
110
787
432
625
325
835
978
216
487
663
413
185
699
313
252
705
603
258
422
183
184
959
667
396
919
930
498
387
147
803
541
871
585
385
547
796
925
590
196
331
83
403
259
768
714
547
633
922
576
244
219
46
271
308
461
587
512
58
987
349
313
207
322
314
381
113
263
295
258
875
371
957
381
431
516
780
969
836
955
994
920
283
104
216
179
569
765
757
898
970
341
386
601
483
112
741
881
129
339
937
449
594
131
495
123
430
729
314
489
208
744
329
954
712
728
94
956
728
69
330
929
743
457
254
666
470
41
624
273
721
269
274
819
615
700
769
828
262
512
863
48
606
381
152
961
221
531
369
791
656
343
609
344
701
980
336
966
885
113
844
628
338
540
615
406
492
906
801
818
526
467
390
747
978
850
655
739
810
203
801
305
400
146
559
495
840
404
443
461
888
489
824
704
915
362
348
65
218
464
939
539
247
468
450
174
91
457
700
987
550
490
245
96
737
315
108
537
597
160
509
594
979
736
967
491
689
373
372
256
996
916
287
585
243
884
726
772
375
746
683
910
698
948
483
249
415
975
729
469
359
681
814
717
623
139
310
88
42
510
560
956
751
210
743
252
169
150
906
972
845
931
980
882
725
63
255
229
190
420
951
811
514
325
47
671
419
624
957
709
284
482
818
537
979
636
367
671
636
810
828
718
75
400
700
219
955
988
541
730
878
940
964
413
660
351
352
975
457
176
307
319
797
998
452
248
719
891
998
311
690
618
808
388
217
662
633
674
744
950
734
331
747
190
728
345
833
604
370
419
885
906
434
60
294
230
447
244
633
606
434
900
642
837
442
917
903
103
803
208
494
68
941
913
729
801
607
697
239
473
537
801
540
158
526
940
283
874
984
632
471
883
637
438
441
59
599
262
254
591
559
185
288
812
908
239
326
990
656
776
627
908
239
551
979
534
481
338
330
776
432
544
563
61
839
155
313
709
58
373
793
369
117
148
778
981
153
348
196
950
581
985
758
333
490
952
549
881
399
300
356
111
858
942
733
815
877
143
457
397
414
847
712
777
226
629
279
517
284
149
703
648
660
901
171
726
561
425
563
210
359
428
419
652
413
524
194
961
103
899
956
206
641
446
425
663
652
913
631
678
903
906
280
132
605
614
809
839
574
160
515
782
137
43
76
111
276
49
816
711
339
921
868
398
270
633
414
474
523
555
557
881
411
576
716
529
694
516
153
129
148
176
158
374
118
244
491
791
533
674
495
594
42
490
500
974
885
935
211
720
827
360
197
431
998
130
718
816
604
176
80
453
457
949
280
404
750
572
589
613
203
952
406
70
986
338
859
928
249
687
448
553
915
848
555
671
55
933
202
643
96
758
761
146
55
278
388
46
172
555
492
591
242
387
374
176
104
354
630
141
360
586
878
504
904
270
639
907
272
494
818
61
67
205
797
534
934
188
62
896
161
950
998
660
193
929
224
521
461
915
377
481
563
367
516
694
868
485
822
552
941
755
187
561
232
237
177
773
498
940
776
860
483
166
635
697
464
358
861
997
771
669
661
96
849
334
261
646
146
385
539
55
373
907
322
470
752
429
745
981
731
735
523
608
123
935
370
619
644
166
74
598
688
91
582
601
604
375
908
471
346
530
72
162
109
107
747
821
315
375
130
353
632
77
674
823
221
778
912
670
634
518
70
994
934
904
830
720
724
212
480
877
542
156
321
893
86
324
404
487
65
936
707
904
80
443
661
50
374
283
477
299
693
691
931
143
738
786
620
129
816
562
782
612
634
768
747
87
87
240
340
136
606
624
73
778
612
907
695
971
415
151
159
685
850
278
876
823
597
370
986
63
182
664
935
490
977
628
74
821
304
746
48
293
732
205
667
495
888
617
875
101
203
107
704
542
301
598
910
340
884
935
895
477
356
47
788
823
606
908
380
606
245
562
179
567
147
946
217
287
600
216
909
619
708
156
858
937
369
625
52
943
176
551
229
342
474
946
269
655
199
914
110
401
399
367
229
415
481
123
606
196
518
806
279
420
109
768
317
333
644
561
824
392
634
597
806
643
764
687
969
154
546
578
939
725
647
393
286
322
927
386
235
296
692
567
816
255
678
625
45
720
283
487
501
830
736
235
442
860
275
474
893
737
166
295
245
206
677
910
416
58
438
859
151
337
177
168
861
890
918
597
604
687
868
879
824
813
469
916
264
217
61
957
532
339
827
711
105
384
837
648
280
200
973
772
423
521
993
544
205
780
608
944
95
156
683
722
419
98
980
659
333
386
177
317
809
122
370
465
124
110
593
610
646
894
855
762
63
891
558
335
716
825
280
271
971
728
736
602
329
682
254
929
98
198
619
415
734
384
867
151
803
932
408
296
315
656
882
864
703
579
931
349
287
692
732
749
822
211
578
454
883
417
162
808
665
98
855
814
154
368
323
764
526
338
729
563
731
504
95
973
380
665
624
843
940
814
731
283
498
964
412
205
968
657
496
584
91
809
380
973
809
820
594
632
487
351
429
385
987
619
595
869
866
666
903
785
225
196
469
881
207
49
168
202
144
746
892
199
847
173
225
693
168
119
514
64
797
848
861
558
752
696
623
496
846
621
571
215
107
204
467
406
783
354
992
779
578
545
226
674
324
386
170
68
243
408
394
304
972
933
465
974
950
537
750
750
217
503
414
701
174
329
560
340
171
599
780
141
323
656
202
607
773
180
210
391
821
822
272
506
747
693
536
838
868
241
125
573
115
627
254
186
753
967
620
373
422
543
574
368
44
437
662
668
550
386
652
283
890
370
455
394
371
400
677
826
496
738
753
925
141
584
351
589
152
216
145
207
103
322
606
836
192
728
91
647
203
301
872
721
171
849
734
410
286
588
115
442
154
519
441
973
168
491
545
969
489
708
682
420
431
921
140
793
424
607
414
838
41
727
557
620
762
299
531
458
366
801
590
187
818
47
630
471
993
767
106
234
800
336
212
963
437
589
550
857
860
664
603
564
415
762
914
570
930
467
768
484
47
196
543
42
700
557
72
144
194
393
458
985
411
574
667
208
617
128
577
413
782
54
321
567
231
861
654
325
574
268
93
752
219
90
798
433
94
77
654
54
612
239
169
831
945
154
547
445
235
958
546
849
304
219
600
381
937
45
626
454
126
545
946
839
345
608
492
559
582
258
491
145
728
485
183
460
356
844
935
715
121
259
695
763
737
785
425
712
544
818
752
68
561
973
405
378
641
563
548
940
677
722
344
192
156
572
598
214
736
971
116
542
416
592
580
695
706
197
700
242
932
869
356
174
358
690
425
718
340
695
60
514
444
769
578
645
823
46
812
624
184
218
828
677
341
578
351
591
276
255
175
939
612
79
617
331
641
612
885
171
667
256
79
603
315
623
778
856
595
51
544
416
145
776
480
513
42
756
913
98
284
907
379
600
482
525
945
293
403
297
210
466
499
190
305
549
437
93
297
689
716
750
249
685
492
219
832
302
983
364
729
196
150
318
434
144
191
594
60
839
997
145
115
903
970
141
418
970
568
954
321
484
939
379
489
412
312
177
276
623
86
538
124
44
936
749
313
326
513
918
479
52
215
193
559
376
162
391
244
847
75
707
406
383
57
971
595
259
975
293
222
980
395
580
681
436
392
785
360
779
268
840
165
152
667
258
942
943
258
126
365
678
955
929
500
495
593
322
338
148
964
106
830
960
896
810
845
599
467
56
588
461
428
738
492
830
160
955
174
699
392
624
321
510
313
995
282
381
711
714
980
553
817
347
923
856
561
485
600
923
781
995
102
277
811
543
178
892
415
96
42
89
311
752
57
290
113
43
861
474
735
968
955
923
874
52
822
103
756
571
257
100
483
972
837
687
721
708
604
427
665
672
703
732
679
263
820
890
146
382
283
491
330
425
115
676
683
705
234
988
292
646
485
255
131
759
983
356
322
395
244
969
624
193
198
817
448
904
54
212
858
648
401
238
112
361
903
398
706
666
724
192
889
405
814
692
358
514
907
425
333
47
306
195
167
801
524
622
741
130
50
465
53
958
511
421
838
442
490
735
749
248
621
132
490
349
901
170
375
279
793
274
423
903
324
336
559
641
295
234
646
77
248
667
500
850
185
316
646
341
499
367
246
945
618
81
515
793
736
818
244
608
988
182
589
127
857
433
258
103
750
950
706
396
300
768
77
316
642
183
885
128
912
860
894
820
142
559
610
749
981
998
84
433
652
626
54
344
744
720
67
113
554
166
103
678
517
601
300
349
545
870
781
746
712
215
912
607
904
956
307
169
131
779
934
518
347
860
711
804
721
548
969
782
551
71
618
507
876
933
934
119
102
922
475
241
645
68
948
130
562
267
113
433
935
915
875
248
154
910
500
299
593
560
269
138
323
990
857
447
927
823
894
963
536
741
739
78
979
263
537
141
389
40
719
86
414
740
946
951
435
994
547
590
416
144
206
133
953
49
438
930
654
832
659
911
297
953
97
357
441
652
777
624
488
699
980
364
717
598
906
999
882
315
373
158
590
880
910
769
135
534
111
772
694
897
816
632
226
897
257
831
904
694
485
796
535
359
250
987
463
701
739
104
862
614
418
322
779
446
458
499
490
797
651
609
742
610
174
742
524
321
165
577
299
322
606
96
431
321
132
718
418
143
542
307
380
52
251
536
129
718
580
498
698
49
586
78
478
375
860
453
333
539
765
510
508
568
542
820
349
792
227
377
810
166
585
561
611
505
473
261
172
814
918
606
111
310
471
192
321
886
328
317
515
289
959
626
770
482
829
665
948
283
305
467
162
55
208
131
672
237
861
729
427
469
793
629
238
724
607
92
470
72
502
770
735
934
165
253
544
736
945
874
223
950
453
599
50
838
778
629
755
328
464
218
823
623
939
151
274
392
518
176
573
187
700
457
605
149
731
608
168
674
303
62
99
160
94
130
421
255
940
632
675
961
296
298
582
941
752
343
668
961
888
961
420
208
349
410
365
62
594
283
581
179
556
959
569
87
809
608
694
563
676
815
398
686
561
184
683
867
290
636
391
713
207
79
318
67
975
44
882
82
879
940
443
901
663
183
649
66
430
58
797
973
256
90
698
634
423
120
831
738
779
619
409
632
812
792
993
577
949
346
645
62
375
783
697
871
150
138
296
649
407
841
413
403
527
667
302
267
578
312
431
772
670
291
252
57
958
568
554
89
264
214
291
553
660
504
637
582
99
734
339
126
110
158
267
540
129
619
179
286
949
767
630
388
585
595
404
395
769
788
748
205
612
907
77
450
175
425
956
527
51
298
857
216
289
85
399
191
502
853
746
126
875
508
725
128
171
454
193
892
594
400
241
414
422
412
932
636
187
509
123
554
553
221
858
182
189
63
785
77
722
266
836
650
525
465
70
402
250
680
216
808
619
191
963
569
256
951
210
178
680
616
968
980
44
280
112
817
717
167
409
69
933
443
120
391
269
730
74
302
464
90
489
135
265
680
648
991
231
827
188
561
636
350
655
121
616
819
943
734
867
645
946
508
425
72
365
249
614
843
578
923
69
773
902
810
356
586
390
351
654
453
60
921
51
861
364
246
330
684
668
988
875
990
998
651
356
123
620
116
283
97
427
573
353
331
894
299
745
915
707
821
257
497
500
134
432
203
349
462
189
352
900
258
610
726
887
349
300
469
386
376
795
517
752
637
857
625
700
117
410
842
458
740
728
960
682
701
939
914
966
742
854
127
265
650
455
778
388
237
442
760
46
847
888
715
559
129
103
830
177
538
540
92
585
941
558
907
633
618
594
766
679
410
61
78
990
849
503
591
952
184
557
733
673
835
538
877
667
212
710
617
97
406
155
493
158
814
476
823
532
93
110
151
993
659
947
874
985
48
874
960
929
107
407
535
52
382
251
123
206
230
171
329
483
630
343
844
729
60
439
479
644
289
833
640
377
920
472
598
906
989
221
534
123
609
769
291
885
578
606
993
872
632
151
104
492
308
290
70
629
490
876
451
510
715
209
309
805
152
196
648
556
300
186
509
812
620
404
493
403
710
736
498
880
794
906
98
558
645
58
830
503
308
941
143
518
242
903
697
984
754
746
425
733
557
360
817
456
974
485
950
336
891
844
48
305
312
159
270
352
359
879
440
636
368
899
691
925
88
348
99
522
927
558
73
604
645
761
832
423
231
582
588
665
397
745
868
945
437
448
287
786
646
637
92
346
571
190
734
561
941
536
230
956
907
64
538
469
440
132
474
447
825
685
652
934
940
495
752
798
697
725
92
335
992
61
257
563
950
774
377
828
585
442
974
787
675
612
287
877
479
202
308
510
642
405
275
770
591
40
348
109
905
630
928
196
223
404
834
188
174
194
862
238
413
44
176
782
674
464
859
506
576
266
504
618
99
669
223
478
359
955
208
683
270
763
654
125
424
312
407
923
700
181
586
930
793
362
292
624
959
891
323
59
770
547
198
592
853
283
446
523
918
798
221
155
691
903
982
75
590
206
759
608
932
870
743
515
764
761
751
61
246
715
560
328
208
781
699
108
504
495
421
854
498
195
392
327
726
793
123
728
378
938
117
957
933
641
575
408
451
837
707
523
478
793
540
522
938
970
816
679
737
356
967
944
556
463
843
121
492
688
603
541
354
540
579
108
869
379
643
115
897
49
865
411
384
431
54
114
582
329
735
407
328
980
598
517
570
764
407
716
427
681
129
306
950
749
926
131
649
139
856
127
128
489
764
933
285
213
335
75
627
294
239
940
856
159
354
506
503
598
690
772
395
444
400
682
899
356
62
154
415
181
400
573
569
76
601
908
936
227
587
528
272
114
482
880
591
317
649
673
449
449
601
467
689
673
490
329
91
631
784
162
397
828
110
953
576
119
435
699
402
898
867
964
478
695
234
900
195
182
489
547
980
214
880
303
206
901
356
561
557
434
868
442
43
589
63
392
502
744
705
524
518
501
489
438
425
576
260
117
513
715
102
993
543
558
624
244
606
173
383
970
128
301
546
206
523
284
485
546
711
468
412
838
874
695
179
627
322
326
617
618
306
70
508
165
571
123
714
487
143
709
634
368
132
868
520
573
495
459
745
647
765
587
81
597
931
819
797
380
536
228
883
956
397
656
249
593
530
938
439
147
983
642
248
183
49
523
844
311
683
86
544
293
124
988
903
296
151
882
118
724
46
197
895
438
439
119
45
388
265
346
658
248
597
780
833
127
934
546
808
862
872
800
567
625
757
610
187
132
452
752
667
589
843
651
473
340
450
891
245
530
59
836
473
608
129
472
375
659
430
431
314
887
494
546
510
323
677
921
769
273
913
66
551
923
524
743
550
972
817
866
262
213
873
537
511
634
243
41
665
104
753
339
347
477
433
835
973
686
543
383
95
44
996
808
609
328
300
675
848
119
464
153
832
188
940
503
752
706
937
289
488
142
94
241
268
703
667
635
546
572
708
882
346
297
159
381
809
61
143
545
607
158
955
570
699
887
148
803
545
489
806
529
512
144
177
536
170
962
643
690
668
240
163
575
294
115
52
911
114
408
480
157
901
306
637
193
952
75
691
451
894
231
239
324
146
293
503
109
856
968
519
738
690
283
305
379
60
975
843
213
200
964
596
830
910
915
836
410
263
998
326
979
52
246
486
520
559
585
684
619
719
484
466
657
194
295
564
353
776
929
303
768
699
73
145
915
867
59
495
311
398
58
989
249
794
418
189
332
806
586
706
225
140
717
500
315
411
302
986
753
864
320
566
117
866
613
657
817
61
820
126
794
357
456
887
567
459
373
864
478
133
816
887
444
209
352
782
363
703
254
852
254
202
757
780
849
201
65
67
282
637
761
117
525
808
169
81
263
290
494
595
753
927
190
252
986
362
955
82
288
514
267
283
376
586
495
850
995
122
687
333
421
435
123
854
49
637
745
835
995
717
589
943
679
259
674
672
202
687
485
522
511
873
456
843
640
797
764
258
626
614
567
209
93
444
586
923
363
981
856
712
885
385
517
329
74
392
290
148
711
89
435
951
612
790
850
766
119
964
257
70
943
417
970
107
509
199
357
918
537
916
401
721
982
60
953
205
834
763
906
58
866
838
380
395
975
477
571
520
976
901
616
915
556
638
120
389
338
51
482
991
730
463
602
661
547
632
116
801
232
991
308
179
48
339
770
531
495
824
278
249
797
606
613
51
778
441
752
732
122
552
401
523
54
388
909
718
531
820
167
951
480
739
803
634
565
221
766
420
726
202
882
463
770
122
626
619
829
412
812
133
340
370
446
830
844
869
373
514
674
651
629
319
712
457
834
84
284
690
823
782
499
419
773
799
753
583
927
554
746
388
577
946
331
92
915
252
733
556
546
457
553
986
60
492
196
686
540
247
402
134
227
270
788
930
173
799
293
114
455
478
811
419
156
161
872
790
592
74
198
428
565
505
677
593
579
816
337
653
740
157
967
652
511
66
572
557
50
654
245
759
555
246
592
92
262
158
147
325
75
389
564
533
590
118
89
785
772
783
298
579
724
327
474
452
593
936
95
371
584
709
220
82
909
775
577
942
122
916
985
767
852
609
173
221
320
517
298
655
396
335
242
125
58
251
450
624
855
470
855
858
936
755
453
763
754
630
374
934
703
552
375
655
271
63
520
359
640
594
657
938
405
686
365
166
532
991
683
158
150
612
197
654
223
852
424
141
813
767
194
565
785
132
790
631
761
58
970
454
410
476
665
424
780
671
832
529
40
631
950
833
620
912
364
383
200
599
689
210
908
601
622
798
884
797
670
342
850
420
711
828
583
402
153
942
194
751
669
708
361
947
486
739
530
667
142
183
143
453
712
192
764
519
312
471
478
53
371
287
519
618
151
481
701
720
303
409
877
401
836
726
564
931
771
656
995
932
127
345
413
732
161
927
289
690
621
555
748
904
233
473
460
411
639
800
438
582
400
649
483
842
922
265
653
350
987
530
434
60
683
197
502
572
173
643
620
60
147
276
828
388
862
568
503
339
434
724
104
419
600
673
594
845
315
379
758
711
737
802
255
862
266
816
115
557
75
818
394
781
555
196
294
51
973
420
329
910
680
366
188
799
664
69
92
747
122
170
432
804
444
732
999
216
585
936
75
428
678
457
828
863
223
83
41
610
999
200
955
746
207
557
261
661
502
127
813
185
506
350
603
551
718
99
145
167
900
604
394
299
328
906
196
569
182
491
701
463
514
346
250
147
919
651
652
798
867
529
962
746
800
330
997
605
530
163
764
312
389
318
583
618
151
117
960
355
294
87
175
365
208
213
590
741
966
159
447
351
377
626
874
152
570
470
942
90
825
447
743
479
200
205
556
119
761
223
764
682
799
296
740
778
879
40
446
289
642
79
797
59
685
728
101
102
151
897
804
934
966
399
51
664
903
521
210
226
662
947
707
222
475
683
288
863
180
60
536
200
388
477
923
576
52
364
251
897
471
429
44
944
103
516
218
987
883
208
508
311
261
717
193
780
732
524
537
513
391
69
672
364
167
668
652
589
984
314
820
366
869
636
78
695
685
408
151
293
343
150
434
749
902
752
117
166
841
603
326
364
998
608
986
239
775
227
299
963
296
772
803
163
800
722
186
56
399
764
761
696
832
76
193
926
358
995
571
135
370
874
821
861
241
814
872
290
368
168
911
650
567
200
742
319
738
165
128
428
405
354
942
870
109
272
270
158
673
71
62
107
187
45
603
517
809
292
980
177
437
800
87
984
445
193
809
536
679
798
854
890
376
525
388
379
901
126
927
193
86
880
777
944
219
292
788
212
618
305
282
284
836
702
682
955
723
654
241
85
858
885
233
239
433
317
577
712
536
764
805
417
835
805
51
800
872
282
496
115
818
521
785
427
477
675
201
894
79
983
911
725
693
456
640
487
623
893
282
65
818
818
743
208
426
230
549
345
229
408
203
946
600
811
999
982
966
743
87
215
236
111
799
602
970
734
551
353
370
227
615
651
801
583
969
943
848
640
519
868
787
644
51
633
828
548
836
189
288
893
817
309
233
953
676
910
820
256
45
236
838
203
609
554
684
827
396
596
999
66
437
725
995
730
802
330
732
396
554
291
350
683
488
446
146
813
806
878
933
598
448
660
812
316
84
443
682
778
276
464
90
595
90
970
728
165
414
632
728
297
434
761
694
662
776
798
227
298
238
395
333
951
418
160
319
875
425
832
800
996
449
926
673
380
868
470
304
937
269
535
543
388
388
187
643
400
575
195
447
414
923
813
232
965
886
691
251
950
770
167
626
508
745
588
223
841
896
743
639
242
347
956
419
245
989
89
54
700
310
292
214
730
793
470
986
453
394
645
612
530
888
901
448
447
529
51
435
539
811
633
355
69
215
382
932
442
723
966
518
701
322
55
700
97
585
719
432
138
141
242
271
88
382
117
643
174
421
149
123
884
683
970
269
72
70
372
907
967
513
809
525
989
248
419
184
146
819
65
222
930
150
125
678
141
533
945
643
285
368
139
414
195
160
248
76
969
519
238
230
730
495
373
827
952
558
635
729
960
278
191
328
906
330
515
426
603
936
370
98
542
169
113
509
610
994
815
281
886
968
707
662
503
166
729
862
995
610
877
194
962
197
839
641
544
734
207
81
832
477
596
482
604
210
109
996
543
898
782
125
583
704
949
527
172
838
478
268
168
299
429
820
540
654
901
229
98
498
983
67
558
800
829
127
226
211
979
586
587
755
657
794
424
879
440
240
422
640
940
565
121
46
846
786
558
819
936
940
971
336
984
212
285
782
640
140
896
468
599
905
334
647
441
660
218
136
128
341
307
879
121
719
793
934
572
460
199
191
719
781
181
894
303
989
729
844
457
548
894
89
945
525
806
114
965
79
86
327
834
562
954
574
247
169
845
528
505
943
564
926
244
304
254
635
354
871
696
485
259
623
573
881
58
468
604
200
636
264
729
903
237
912
59
557
254
72
763
134
274
128
488
42
997
573
72
901
885
578
767
749
583
736
116
951
348
334
446
140
637
919
372
441
206
137
535
114
745
967
419
424
115
765
599
511
772
202
541
874
655
975
534
870
414
433
422
829
52
936
968
326
664
409
276
324
722
458
195
327
756
724
120
652
514
255
492
691
773
566
309
312
799
779
817
781
507
819
652
316
468
898
183
959
340
319
395
520
420
381
911
412
639
597
347
392
270
223
659
485
922
389
554
528
842
338
184
621
467
489
390
76
154
877
931
381
670
504
863
328
674
955
229
462
664
816
819
640
563
221
476
790
230
737
725
204
882
811
253
910
991
480
733
938
697
633
586
916
726
55
602
443
202
957
661
73
763
734
359
937
380
131
411
182
239
439
859
359
112
484
690
236
858
679
607
938
766
777
377
90
718
331
139
290
835
441
623
651
164
909
623
57
425
709
486
309
616
427
231
768
88
526
222
178
147
499
744
172
128
71
214
252
492
325
779
917
201
490
747
224
500
724
799
491
757
680
282
293
581
277
911
888
94
222
657
653
103
146
158
538
977
150
135
552
309
353
516
515
69
589
551
823
387
822
845
944
232
335
598
675
87
92
737
447
291
64
41
112
203
785
743
848
755
726
791
653
723
451
768
440
718
485
404
562
387
223
727
140
736
444
371
497
797
242
299
307
460
192
477
173
383
123
521
518
310
555
882
719
740
507
428
871
134
433
434
935
281
998
118
809
939
528
488
371
379
628
57
791
538
571
802
922
873
606
515
435
825
584
487
650
700
410
212
59
959
223
950
951
784
951
382
565
324
765
698
845
276
771
930
388
654
284
300
83
158
990
681
56
54
324
897
884
808
899
833
949
129
805
727
967
382
499
231
793
193
895
657
88
841
294
176
407
896
298
380
158
248
804
659
822
798
710
268
168
271
542
654
784
71
676
918
511
857
919
369
646
513
211
858
198
266
398
201
227
873
595
329
487
467
562
288
240
914
221
592
198
160
428
439
326
977
483
593
962
69
664
138
867
593
302
260
77
216
73
691
298
318
359
508
381
767
741
725
523
856
728
516
944
873
904
964
575
73
597
315
362
558
100
879
353
998
857
401
970
976
451
609
153
840
703
864
865
375
903
314
645
315
300
488
381
466
683
784
484
757
656
262
533
719
811
126
541
569
347
765
852
304
814
771
758
521
518
469
147
105
647
490
781
995
211
615
973
71
361
105
593
384
806
404
237
319
919
328
799
180
402
180
618
874
784
174
284
941
847
240
403
417
657
626
124
401
684
225
155
336
494
289
745
318
768
781
399
502
592
93
302
910
800
621
570
982
556
162
669
165
883
189
76
597
73
60
238
984
216
890
206
258
125
122
126
237
728
797
196
414
229
955
783
346
195
723
733
900
133
623
206
94
282
77
350
353
637
751
535
743
526
521
732
457
546
386
436
75
288
669
749
431
175
845
257
544
326
617
829
786
575
479
518
186
738
943
343
204
876
514
516
299
635
959
288
617
946
440
414
718
363
799
260
931
485
491
485
799
257
373
119
479
250
271
988
652
115
287
213
925
50
173
880
747
614
981
474
913
178
497
344
412
875
483
252
246
634
390
793
889
504
57
654
754
140
46
521
777
955
912
414
101
853
146
833
448
439
538
731
771
922
622
837
803
320
295
304
856
498
481
767
823
53
971
209
320
600
131
335
336
53
616
885
583
155
691
642
994
627
880
173
875
979
385
822
584
416
311
577
256
408
363
713
365
615
461
316
707
756
416
278
389
973
794
464
214
328
126
119
647
619
624
657
353
496
725
225
171
201
590
160
396
145
417
415
192
262
190
58
60
166
468
197
386
112
150
901
151
986
54
274
144
951
747
425
510
103
255
739
692
129
698
806
833
108
131
884
357
220
196
345
881
762
550
219
224
783
73
429
895
407
333
959
755
181
355
714
895
881
872
683
466
808
982
447
499
653
282
400
122
174
515
496
86
188
996
177
150
783
119
859
836
141
282
421
66
677
667
536
197
473
488
504
171
715
517
595
368
598
807
760
553
320
174
777
588
292
96
729
467
556
628
820
49
758
843
240
549
106
462
329
540
410
768
172
360
230
288
88
877
319
896
779
927
64
588
125
250
454
200
711
624
553
907
961
385
986
633
459
493
672
606
552
692
513
802
633
828
627
431
610
828
477
301
339
199
835
456
129
352
126
41
329
458
937
890
305
836
977
176
86
328
934
486
378
90
522
861
877
455
227
421
925
941
79
582
346
115
641
752
961
761
359
568
698
460
879
623
470
473
538
185
382
392
220
605
98
65
512
972
994
512
682
584
409
807
870
592
414
686
40
547
738
513
484
395
966
511
366
829
94
858
736
643
518
335
116
750
558
557
936
748
739
225
624
441
799
862
493
375
996
699
248
764
777
503
59
786
63
111
315
830
155
567
137
149
518
161
348
933
335
774
150
448
253
954
756
241
589
723
669
645
944
398
663
151
229
642
257
600
251
937
417
521
186
412
56
636
351
66
140
841
176
266
636
649
507
945
621
869
73
418
556
469
184
131
147
314
129
728
670
94
569
236
660
43
427
596
984
964
875
549
765
400
378
760
960
129
146
236
913
146
304
253
948
917
712
364
273
723
820
900
228
46
700
935
775
133
887
618
139
580
605
276
672
980
240
419
275
175
946
561
299
918
487
737
539
399
59
793
209
545
318
747
630
336
44
92
170
343
380
626
630
536
543
77
427
726
97
804
72
783
236
378
292
481
509
654
541
490
371
859
839
489
264
311
918
772
69
487
648
682
343
900
222
673
213
827
741
395
898
570
74
791
613
810
841
892
473
520
857
226
431
448
922
551
761
946
796
513
626
307
171
206
899
58
897
297
488
555
199
193
251
344
962
143
289
153
117
973
332
810
508
489
267
606
113
272
834
505
851
770
439
55
829
397
251
68
272
861
960
891
328
836
533
302
889
329
45
313
486
542
201
794
713
797
133
763
424
265
552
602
186
63
660
962
629
153
813
881
970
982
96
826
372
337
329
720
564
93
877
801
924
664
51
710
907
703
819
86
147
280
735
342
460
394
288
933
334
413
524
666
45
991
400
270
649
661
334
465
550
633
112
814
620
505
278
522
880
87
229
339
768
994
256
709
455
451
727
542
385
385
741
331
266
424
640
693
202
210
565
47
161
436
577
98
507
403
261
796
929
986
342
251
681
129
73
860
543
876
897
778
860
928
912
478
117
579
254
971
589
287
939
749
688
592
53
766
380
429
651
943
895
881
647
666
395
896
727
198
583
788
336
97
448
654
897
702
434
332
159
87
326
377
327
868
105
309
89
560
651
873
900
313
197
297
272
918
933
867
996
369
292
641
613
921
269
144
399
289
144
854
404
368
524
244
465
429
640
868
107
406
310
852
427
463
699
762
695
522
621
102
796
732
753
430
919
805
613
430
52
194
159
173
66
604
727
905
956
494
88
735
788
728
692
294
409
484
161
254
828
631
576
618
460
303
213
195
907
863
873
973
888
548
616
524
374
449
565
699
972
941
96
555
797
143
558
618
864
243
133
429
122
199
980
296
609
499
284
124
401
281
253
165
949
533
663
213
91
758
772
239
187
837
566
705
851
624
861
809
758
569
544
797
362
540
261
279
594
762
868
446
354
480
303
80
348
572
699
655
834
948
91
693
240
904
820
168
257
816
271
653
114
978
640
46
380
497
168
935
598
53
550
811
892
721
531
718
567
545
908
561
365
251
685
712
46
360
486
141
938
887
357
201
634
130
541
104
952
649
442
843
87
825
853
99
172
410
488
686
254
390
695
756
682
924
245
875
703
199
920
619
282
544
117
464
756
98
723
920
799
783
376
919
688
864
715
400
888
730
184
459
430
863
338
949
186
370
378
177
108
956
889
897
437
633
431
613
223
278
578
415
701
494
805
669
766
111
89
590
435
923
133
386
946
133
588
368
948
373
464
150
484
664
902
703
682
481
140
707
909
924
227
806
470
730
488
909
501
372
256
355
716
745
212
742
345
544
332
777
861
897
196
748
367
302
930
550
441
360
729
377
960
755
230
480
260
758
552
647
513
729
199
937
654
480
698
524
421
123
652
355
279
706
738
620
436
258
478
523
597
538
848
52
409
227
900
189
196
296
510
303
758
102
88
735
803
224
964
545
867
254
54
479
514
596
98
522
381
873
980
50
786
942
618
705
348
189
950
469
902
682
689
290
577
912
404
853
264
220
205
183
389
954
994
556
346
752
800
358
348
457
747
917
251
165
493
343
949
398
65
939
749
637
895
273
730
898
412
581
636
426
830
929
212
634
261
737
348
800
247
614
665
83
896
392
662
244
811
143
924
414
220
935
291
141
124
815
584
208
361
862
848
74
506
215
144
973
981
686
674
425
745
760
978
964
165
390
311
795
84
321
61
655
153
951
796
549
655
868
395
413
419
672
247
717
100
560
444
965
597
645
480
784
969
543
308
264
261
97
679
895
448
799
524
211
709
438
831
161
273
651
991
835
147
236
416
836
922
92
288
605
121
339
48
786
929
857
583
535
342
557
962
534
257
946
374
857
276
78
286
280
502
718
384
454
786
567
519
982
144
306
729
255
539
778
48
991
369
900
653
670
908
584
491
298
325
972
109
68
931
414
706
128
128
577
461
257
777
864
877
793
400
880
309
163
379
661
903
683
143
541
70
513
374
979
115
649
643
231
446
688
760
875
147
513
604
338
208
649
161
728
802
862
565
209
293
668
961
629
757
768
740
62
765
575
82
905
281
998
945
128
444
346
460
292
623
41
856
454
190
869
752
984
732
539
839
823
254
823
744
557
559
234
397
497
282
638
333
299
532
124
220
230
780
903
375
95
110
180
480
858
579
141
70
364
198
906
644
828
364
854
707
994
882
720
104
880
521
212
278
802
296
594
173
492
853
125
808
786
833
883
173
70
569
61
599
274
579
282
831
533
164
468
423
506
763
86
409
548
57
756
769
803
129
906
400
420
840
856
615
299
443
411
944
983
786
598
291
49
102
940
837
340
150
340
572
871
709
632
315
816
105
439
672
496
596
401
722
397
793
919
495
865
211
918
989
133
865
852
950
560
415
611
87
279
928
228
603
589
987
47
704
648
360
840
841
113
499
381
445
550
889
912
974
370
827
572
637
964
375
774
657
220
248
341
761
488
545
447
103
755
301
960
195
174
655
841
501
698
165
66
638
667
501
676
857
218
315
884
975
380
642
976
493
80
353
209
641
252
990
493
111
882
55
870
801
201
721
434
847
834
848
810
807
931
241
637
464
794
645
385
178
636
421
461
681
173
138
465
948
71
249
675
755
719
271
249
426
645
664
549
650
190
626
197
298
56
930
304
110
74
708
731
350
454
959
917
71
497
286
229
662
317
379
995
801
50
142
65
213
747
137
521
582
389
661
778
576
527
799
617
848
823
608
246
518
807
263
876
848
511
936
102
162
342
969
654
994
135
691
82
854
594
264
898
373
167
464
91
260
403
117
943
964
371
248
661
403
498
975
398
258
490
905
86
756
394
100
507
833
206
187
393
615
413
236
474
484
371
860
931
228
539
227
301
620
990
355
172
897
401
779
896
422
881
205
766
689
313
892
792
963
352
567
511
563
710
386
434
523
214
348
500
954
367
930
64
169
894
855
666
760
857
238
922
855
200
433
474
807
478
944
613
632
723
485
806
571
939
367
686
669
965
301
896
579
596
474
147
355
958
367
570
890
820
357
365
892
348
329
927
107
775
310
66
178
900
250
130
772
434
979
204
572
758
883
339
513
630
54
954
484
906
475
925
159
997
506
527
580
705
828
992
876
913
307
664
81
562
94
329
968
942
482
348
510
684
523
995
528
646
204
465
186
133
816
678
219
503
50
220
148
828
285
453
933
419
64
96
121
593
524
376
230
864
256
618
191
644
376
640
623
428
221
221
401
389
107
63
898
328
831
101
699
656
177
578
256
514
422
856
405
575
439
241
773
498
279
457
478
40
793
898
889
86
561
537
138
722
794
69
860
209
435
650
442
294
297
202
743
153
433
138
807
916
552
663
747
874
848
990
145
675
786
740
884
998
261
559
397
952
922
468
433
413
920
71
326
207
641
616
43
823
714
389
705
370
884
981
61
702
976
183
91
561
289
507
583
708
94
608
524
953
772
784
838
747
760
776
423
328
585
161
152
574
996
45
46
746
976
533
448
188
419
648
627
848
415
80
306
441
693
678
844
227
274
352
996
297
566
766
711
999
613
560
353
661
845
861
163
431
988
990
723
162
847
954
161
53
117
544
914
231
913
340
739
77
596
513
294
583
976
248
114
185
474
975
852
144
98
51
369
489
484
793
534
657
462
713
88
530
563
833
781
271
363
591
518
752
848
978
265
800
268
767
479
254
274
524
727
239
344
866
366
894
914
443
934
997
710
86
700
646
623
656
88
290
202
52
958
809
565
706
257
653
376
594
915
271
451
832
879
635
503
322
552
347
513
996
441
880
729
604
718
245
774
698
118
650
42
45
967
220
832
754
297
522
588
727
142
349
891
564
443
627
338
859
932
407
81
893
286
127
963
835
144
116
966
534
922
611
640
448
523
146
564
284
916
457
624
438
728
393
111
490
912
340
423
334
892
473
134
635
611
480
325
978
589
473
592
555
772
767
765
657
926
41
729
333
536
220
97
638
568
425
708
577
455
758
257
395
653
218
607
49
250
619
418
966
223
165
708
243
145
213
84
461
979
258
444
448
487
124
357
816
128
120
689
763
345
971
205
652
419
719
589
681
898
332
246
515
687
791
232
379
361
786
689
543
301
821
663
506
100
321
849
803
84
663
646
109
326
650
735
696
353
324
189
178
565
335
264
955
270
378
861
961
577
235
218
761
260
141
73
638
65
767
272
568
946
840
59
791
840
750
814
390
623
702
751
895
110
73
535
928
73
332
784
602
738
649
507
464
342
818
973
546
60
970
467
892
635
961
225
294
705
172
521
603
119
995
698
43
746
601
489
559
394
771
483
648
754
254
546
434
977
175
783
217
304
518
329
648
335
107
131
652
556
956
903
753
567
394
170
396
82
463
96
177
282
421
887
49
474
839
158
650
239
408
287
719
785
238
449
413
148
901
513
395
468
94
395
802
923
105
200
472
196
631
646
589
481
515
480
959
798
505
212
401
103
191
312
621
384
299
521
494
978
493
518
561
736
293
800
221
52
463
444
218
941
96
702
306
52
392
520
701
865
122
581
636
729
200
191
888
160
771
936
668
949
727
698
775
607
761
575
600
384
327
796
419
348
591
701
759
867
363
46
666
213
322
759
790
140
607
339
425
622
874
547
158
515
518
442
236
384
287
508
486
86
869
166
874
661
913
157
351
867
429
247
928
470
569
622
832
218
861
816
742
555
221
617
140
477
414
489
211
552
196
88
751
456
126
444
383
625
931
405
349
84
828
428
536
63
466
459
870
318
639
302
412
368
174
694
98
668
517
45
569
483
250
704
220
311
416
534
771
349
610
549
879
865
665
648
986
826
392
746
47
539
653
415
726
653
939
80
972
912
41
485
65
64
536
412
997
475
494
731
448
240
184
949
882
42
251
587
654
692
194
44
302
639
551
701
962
881
402
717
428
908
686
841
788
899
114
40
495
320
726
180
75
105
975
602
253
253
80
334
57
156
52
746
380
394
321
893
381
80
177
548
203
632
196
531
870
107
316
304
805
326
372
703
851
540
594
420
460
796
882
869
855
752
769
967
866
925
790
406
414
341
655
799
595
356
286
743
620
246
839
457
469
711
164
545
396
842
702
523
281
588
49
746
728
229
919
751
43
161
211
676
104
769
549
214
505
700
428
831
664
768
293
617
822
578
241
696
150
494
867
666
506
481
172
714
415
147
260
337
553
174
954
982
227
339
800
763
225
139
43
638
784
78
282
594
293
874
884
561
926
269
981
647
204
623
897
574
220
659
523
946
81
254
642
297
158
883
376
437
258
358
674
543
711
436
272
387
961
553
671
823
468
196
658
720
592
664
91
616
68
610
639
837
765
99
592
951
868
727
272
868
710
927
516
683
321
568
586
808
174
249
314
299
365
869
996
318
408
805
281
352
957
804
262
331
45
230
255
969
681
743
87
609
49
644
803
626
434
619
823
991
979
981
251
128
506
913
64
591
872
920
328
152
552
957
480
653
222
953
209
833
404
136
342
440
300
811
272
909
848
626
329
395
266
711
713
825
564
887
687
202
352
791
703
586
80
379
885
890
45
765
59
901
246
377
954
990
182
275
196
367
911
431
265
524
810
438
700
47
506
680
809
754
386
707
711
963
558
720
113
632
745
314
745
914
925
479
988
902
342
952
573
893
739
546
190
466
222
770
805
66
418
755
496
677
859
741
243
42
924
745
795
649
773
488
43
715
172
158
363
649
873
243
429
488
881
334
194
699
72
750
762
587
508
965
640
325
784
627
622
979
751
932
242
93
849
417
882
427
788
452
552
324
936
583
209
301
575
814
849
494
205
330
179
467
702
424
862
237
326
437
191
207
574
128
252
334
604
903
345
324
825
103
946
840
960
178
958
92
626
154
731
984
489
738
926
617
471
138
538
800
228
256
607
346
115
399
749
565
771
935
730
175
568
207
899
953
96
163
612
701
286
110
316
102
435
915
716
671
417
516
950
477
988
851
618
126
87
448
58
230
360
543
744
712
746
479
179
532
249
168
911
379
990
189
628
827
550
691
845
165
296
81
537
141
927
788
951
940
165
782
832
48
769
401
516
529
908
701
498
759
355
752
810
284
374
152
526
296
703
257
123
874
102
300
755
64
359
83
525
747
518
373
325
68
314
228
248
446
229
200
912
408
697
955
948
259
913
812
328
306
805
200
623
268
498
586
214
864
650
880
312
645
382
400
457
530
174
682
46
543
174
907
911
451
286
761
127
479
948
106
750
314
194
77
942
202
566
595
551
282
912
727
608
770
446
102
560
654
618
351
519
294
936
768
512
94
359
982
212
421
779
152
439
191
733
886
604
168
386
633
434
931
319
44
695
712
851
423
489
565
139
373
838
80
317
907
520
604
303
723
384
741
243
936
864
924
278
332
353
515
433
96
113
829
327
977
337
366
915
520
639
343
343
411
738
155
186
104
604
847
54
405
992
116
727
294
88
768
560
683
456
353
301
363
223
984
861
43
545
353
500
671
776
958
278
645
905
429
325
591
316
874
409
385
616
734
460
368
468
238
369
111
874
630
319
955
198
549
270
366
794
325
529
485
868
782
88
117
779
518
100
503
803
975
991
58
691
818
652
413
292
216
719
181
401
40
879
126
73
811
221
645
950
286
348
486
421
304
90
538
136
116
468
936
46
909
196
243
344
142
964
762
156
466
383
377
124
692
639
250
767
597
131
91
185
922
992
446
105
669
401
914
772
897
97
81
891
837
643
149
669
757
152
565
385
892
434
267
583
965
731
140
368
387
633
117
50
751
946
591
996
183
676
778
647
936
506
799
687
760
88
388
245
963
748
597
189
269
964
190
188
68
678
840
282
149
744
333
196
530
711
853
153
397
597
723
480
520
910
968
589
69
544
792
294
997
248
183
293
140
63
889
250
154
205
997
536
643
558
97
530
632
179
737
516
423
897
940
454
78
992
846
236
891
670
492
70
467
677
791
803
93
716
852
663
73
596
845
80
161
659
402
218
190
192
564
660
800
969
249
902
865
50
598
606
588
69
568
333
240
951
577
824
995
731
254
586
704
305
237
506
994
979
462
326
623
284
956
724
438
305
336
406
943
163
316
190
166
740
677
609
152
765
968
866
128
358
163
729
620
785
378
760
220
662
369
753
114
866
672
722
309
403
462
265
540
615
764
96
763
526
808
541
764
798
397
678
558
827
72
721
323
569
837
447
532
164
744
148
407
691
184
341
101
111
988
632
73
584
326
914
72
976
382
842
644
632
288
119
148
889
794
846
612
872
50
362
605
874
209
435
136
539
311
718
259
736
530
384
468
562
990
921
55
864
472
788
575
357
101
527
305
567
795
654
85
991
84
927
48
637
71
193
695
833
396
144
778
468
987
476
51
464
291
112
225
377
362
184
117
801
89
590
559
448
452
40
516
681
692
356
429
985
927
505
90
406
966
768
138
796
69
414
441
456
180
409
642
385
811
224
959
964
381
502
248
479
833
842
819
256
917
829
258
471
429
60
663
696
764
255
476
51
656
609
718
221
970
146
334
699
376
167
805
427
403
44
200
386
559
348
308
607
731
391
87
913
504
763
928
878
851
992
662
382
52
66
994
301
97
237
490
501
712
500
849
641
313
840
541
689
578
479
357
110
194
157
411
91
387
295
529
131
857
434
339
681
764
188
857
388
790
746
622
949
108
607
518
568
379
291
960
241
359
424
792
290
497
169
595
737
379
652
423
734
338
62
299
878
211
449
486
992
339
158
320
825
366
973
364
365
436
501
692
559
495
664
381
279
218
290
743
944
78
911
795
254
403
783
485
195
423
542
355
411
249
565
433
782
733
44
337
498
884
485
643
810
274
351
934
106
416
932
377
503
161
448
381
45
416
367
584
324
952
155
75
689
874
343
821
765
871
692
591
100
628
625
408
156
650
78
180
489
998
689
859
431
927
162
212
486
324
359
433
383
344
926
52
630
449
993
85
267
867
41
894
523
916
681
778
365
337
121
293
69
830
850
680
790
561
615
477
422
733
862
520
603
559
379
625
948
601
164
384
451
806
915
49
688
572
512
133
807
744
303
412
694
417
833
46
46
122
128
604
555
520
40
233
282
774
105
577
648
707
265
408
672
371
936
460
489
511
65
801
788
251
813
888
140
382
445
476
323
351
218
758
59
653
623
972
739
609
238
846
827
117
719
851
376
997
913
891
222
777
951
431
862
371
513
301
226
548
572
157
871
771
471
357
97
63
932
356
970
385
966
768
522
993
535
364
758
80
457
305
421
814
960
195
173
186
427
536
112
750
815
580
269
486
238
889
751
323
752
527
374
300
842
195
469
251
615
122
397
728
641
700
642
117
328
84
970
815
160
962
45
952
60
816
46
620
367
89
310
896
134
91
840
185
987
640
917
56
756
432
227
773
721
689
315
274
211
921
384
197
621
478
206
958
494
110
42
274
288
61
665
847
718
718
519
53
213
253
173
487
881
715
380
498
316
977
833
291
352
948
622
621
197
468
265
133
659
221
481
445
402
471
940
386
586
560
829
63
530
888
145
268
61
905
918
634
388
890
670
739
180
690
251
427
265
902
971
662
219
51
890
518
108
473
724
446
105
401
125
137
507
698
297
74
76
730
491
259
304
203
714
189
747
564
475
975
298
556
224
759
254
445
856
293
993
838
660
290
983
608
375
637
334
294
690
283
552
980
276
791
313
617
845
240
876
241
972
619
737
238
404
307
257
729
143
634
100
159
351
568
665
859
943
574
522
925
545
42
340
319
548
116
141
370
96
202
662
104
469
581
758
221
183
262
495
363
120
643
52
836
162
879
789
781
748
349
710
732
677
63
70
965
299
284
315
671
256
777
747
499
499
137
382
971
162
441
464
316
644
896
853
338
448
253
508
506
186
855
890
662
430
876
877
618
999
501
72
103
923
994
804
927
446
803
958
938
841
634
813
729
246
727
568
367
477
973
97
632
722
345
360
390
389
621
959
777
317
150
299
637
710
176
513
782
706
136
626
595
472
780
663
111
244
782
445
521
719
88
821
154
488
693
120
62
541
349
240
456
850
509
258
519
572
102
265
464
773
215
806
323
86
345
192
492
947
777
449
43
667
427
237
49
395
226
447
216
98
78
997
379
48
949
632
519
307
612
921
56
445
595
378
134
167
950
820
398
944
56
260
859
714
597
485
240
733
922
676
79
805
979
494
859
378
557
654
748
648
348
141
408
107
617
322
815
881
832
940
692
407
561
712
40
362
142
80
741
986
579
927
322
767
938
56
213
945
802
492
591
453
410
985
483
934
483
374
991
848
281
872
791
174
718
283
344
488
491
598
238
526
249
652
138
832
146
144
868
359
995
277
720
338
461
535
933
104
915
915
719
556
672
787
809
158
584
204
759
611
261
58
715
870
984
978
47
848
48
579
628
63
77
559
200
358
579
445
434
357
701
436
243
571
85
989
105
995
814
110
529
959
127
163
701
981
544
806
871
561
590
103
104
146
637
436
833
307
648
562
333
903
801
318
608
804
268
588
55
224
350
466
115
739
269
536
916
116
629
214
990
917
833
906
150
291
224
564
913
120
625
412
338
436
81
827
107
560
819
554
444
344
305
915
400
57
581
850
178
914
736
787
475
419
900
412
927
657
601
923
724
375
321
901
862
57
77
593
831
91
544
578
868
519
373
745
723
907
225
106
376
388
456
787
568
90
496
563
186
436
247
628
673
416
254
416
775
213
725
655
781
143
409
695
373
769
195
526
162
870
866
435
307
119
245
426
146
668
753
359
196
503
148
451
748
431
757
568
157
318
678
429
139
553
557
681
901
982
340
464
393
363
387
483
986
623
294
51
246
185
330
747
336
165
601
109
907
656
233
938
859
875
643
88
582
955
535
489
481
382
325
348
593
859
332
394
465
229
127
861
115
597
855
723
671
145
660
715
117
469
850
128
87
319
756
83
59
314
389
388
47
121
670
599
976
521
246
446
921
301
678
175
217
630
102
98
524
858
891
127
846
971
894
184
879
539
397
280
92
868
574
298
269
61
524
667
813
186
882
973
622
760
926
837
726
54
351
692
488
604
680
385
948
685
188
802
156
381
474
485
586
577
379
670
427
194
90
803
425
295
614
545
221
104
390
838
809
299
964
714
890
836
842
792
213
772
556
493
792
106
858
623
81
233
59
832
745
717
615
667
904
284
988
595
275
98
916
519
428
291
527
526
123
419
740
138
557
667
269
566
366
533
416
841
431
904
893
178
847
672
373
781
789
226
965
890
844
843
578
155
254
448
542
912
111
780
940
818
905
236
146
809
767
873
695
542
601
75
645
65
147
42
209
637
269
304
511
702
464
692
714
722
161
957
444
456
310
149
308
169
398
652
331
304
587
106
973
717
924
175
225
430
201
939
421
743
605
798
774
369
362
650
69
681
400
463
806
84
610
681
729
90
686
284
457
962
706
548
373
41
811
104
305
681
535
446
366
943
265
421
912
174
512
739
154
566
233
928
420
665
200
210
378
858
418
982
875
219
187
537
635
843
186
258
793
998
566
742
476
424
646
780
831
682
128
610
54
200
916
103
889
609
975
737
991
142
523
790
533
391
291
673
843
936
200
866
381
635
163
606
650
683
804
441
560
478
440
364
600
611
90
146
990
858
469
70
670
430
908
166
120
788
491
607
415
659
233
302
41
49
901
762
360
54
809
466
835
656
528
994
665
868
569
950
199
229
884
931
75
288
196
225
759
812
113
230
92
599
867
63
916
47
780
696
646
371
240
69
810
997
394
431
823
791
364
852
652
587
421
827
441
377
244
453
838
429
907
125
879
269
304
913
437
491
419
785
787
642
968
906
656
890
210
960
229
753
167
916
63
419
244
687
76
415
885
701
831
597
809
202
478
399
470
86
632
775
509
569
491
679
639
215
199
879
752
161
42
226
768
602
998
393
837
91
509
624
475
465
484
389
638
503
266
637
59
561
609
554
939
858
641
190
716
713
578
589
614
224
779
329
319
185
389
817
201
214
440
702
479
332
322
352
363
337
686
898
773
124
946
143
639
149
683
800
503
747
736
526
809
531
538
495
240
608
42
366
741
558
111
106
563
772
841
690
652
677
207
897
610
357
958
437
740
326
745
264
155
613
134
737
97
188
966
357
980
86
190
288
94
607
150
609
396
189
880
741
411
942
500
914
228
182
828
647
318
708
401
206
654
97
862
809
267
205
481
638
369
199
995
881
240
535
517
303
717
330
939
73
888
66
523
88
259
293
873
752
886
931
139
320
61
208
984
319
843
996
347
253
527
418
323
467
618
935
935
793
51
59
897
111
776
63
482
988
725
138
789
651
202
957
512
302
980
387
601
904
854
157
610
968
646
731
879
173
471
53
116
323
506
937
414
106
383
390
940
974
944
446
331
64
175
303
913
983
824
195
778
829
430
729
725
666
163
209
290
211
624
257
791
212
502
309
791
772
102
727
187
404
790
416
104
869
332
215
669
732
716
868
250
962
837
876
104
365
360
604
332
283
376
488
381
971
212
672
912
433
52
100
614
641
391
692
727
273
161
511
699
309
564
817
59
612
727
803
345
204
438
881
993
490
677
694
115
376
733
166
968
848
478
663
498
892
521
723
176
943
470
804
105
438
612
106
705
616
741
269
438
704
511
533
844
742
384
940
150
211
540
256
540
941
70
231
235
343
222
384
998
320
723
323
182
984
308
875
378
136
298
860
890
492
91
199
460
93
659
958
155
51
347
607
998
232
912
48
738
737
382
192
136
899
543
855
77
821
406
979
268
700
449
183
155
160
921
174
519
528
312
149
173
66
449
921
83
658
215
873
54
251
677
52
816
409
989
813
352
989
404
330
322
202
785
163
541
561
40
275
968
499
179
630
912
289
561
245
104
621
679
529
364
943
739
755
376
325
445
396
588
253
87
334
920
402
293
840
809
685
727
81
391
623
377
879
890
426
404
920
279
678
530
132
97
126
635
44
65
900
718
763
399
596
203
676
903
293
94
307
446
698
624
862
316
794
229
127
979
625
542
86
67
70
981
695
602
433
143
371
588
426
553
914
193
951
853
377
567
471
689
735
627
535
744
918
128
940
650
218
574
267
278
724
609
989
925
53
724
334
445
334
85
417
724
455
658
441
655
951
706
727
718
452
467
246
817
217
502
665
309
554
644
314
963
931
46
836
472
684
818
199
194
822
318
274
225
892
675
836
621
631
406
99
350
626
517
784
858
321
749
61
727
301
756
186
518
622
673
519
776
477
797
255
790
609
124
651
516
65
841
579
309
983
704
995
735
608
131
840
596
989
764
138
82
449
473
649
805
207
421
372
843
712
317
911
359
623
614
271
98
196
337
526
536
317
82
719
696
640
146
222
517
520
224
482
751
895
756
717
976
259
427
153
394
82
78
349
774
728
155
183
335
467
315
176
597
674
291
630
465
102
559
413
699
469
278
180
88
669
285
173
805
802
161
60
632
728
90
634
221
282
932
67
469
290
478
164
49
270
307
41
110
973
274
48
119
376
491
392
860
375
154
147
415
542
839
644
86
290
509
432
573
685
310
797
754
399
494
87
744
513
905
168
306
224
241
88
196
153
943
117
102
182
45
702
978
986
769
510
585
452
638
199
224
743
157
100
689
410
759
908
794
795
949
387
631
974
175
513
154
199
513
301
644
646
213
778
187
497
820
249
353
492
575
309
254
730
619
146
290
583
235
927
711
938
543
760
42
877
407
959
375
314
259
963
638
573
172
227
493
673
654
406
60
378
533
438
663
837
867
995
511
190
245
430
344
431
991
805
837
958
290
388
602
613
856
924
712
343
496
41
613
433
705
845
880
437
696
871
445
267
241
927
168
235
964
214
780
539
726
106
117
544
419
653
129
536
280
945
99
172
624
286
887
856
907
952
237
666
979
118
500
167
350
507
407
496
453
963
163
961
208
860
639
740
203
207
656
197
73
985
593
437
996
243
582
537
87
923
89
569
278
795
626
846
709
569
324
886
890
739
894
139
795
506
370
906
971
313
62
972
135
53
70
822
750
310
703
926
899
313
417
915
275
226
966
801
929
51
80
393
75
739
812
566
522
958
842
559
316
568
800
537
270
265
583
830
793
771
727
113
992
106
763
278
262
262
848
402
184
746
933
994
445
239
373
810
255
318
729
661
240
712
482
309
943
459
677
953
972
751
428
739
412
966
329
139
843
888
403
349
114
699
431
145
605
628
906
912
43
490
43
377
328
280
740
391
208
271
790
148
296
546
868
90
508
258
371
46
912
844
247
848
308
215
658
339
268
969
834
539
169
653
71
297
659
567
72
507
403
718
182
760
164
866
326
816
405
689
548
279
841
968
862
738
871
134
471
305
931
928
292
284
147
959
703
97
405
491
860
648
660
984
670
509
745
695
976
475
378
360
57
814
41
570
958
278
547
265
691
585
892
916
742
949
590
641
797
803
316
260
681
769
386
736
479
785
151
95
73
89
601
297
983
681
196
436
651
557
560
737
479
940
569
239
633
602
320
684
672
714
157
230
568
874
716
387
146
851
759
60
910
691
519
282
833
351
383
896
823
256
278
283
722
862
468
219
946
345
430
323
86
333
579
128
227
461
453
974
954
631
353
384
748
778
659
404
337
555
798
46
211
798
325
757
623
183
776
895
110
437
289
133
737
511
171
617
56
651
239
322
828
686
223
342
669
348
74
967
350
405
879
70
192
148
595
149
61
369
261
226
748
340
231
386
402
432
242
933
110
545
532
187
179
132
980
116
313
845
977
584
538
744
676
642
750
299
725
811
828
724
122
922
239
842
747
235
502
236
688
83
84
96
602
451
886
298
316
914
626
186
380
69
312
896
727
420
399
324
695
967
51
910
486
410
241
265
155
860
835
122
156
939
491
872
376
715
446
897
587
455
721
68
572
856
802
163
205
842
42
398
333
153
404
882
573
878
106
157
647
254
215
852
537
121
225
335
312
692
670
116
942
705
238
476
531
636
733
479
476
169
230
731
187
492
246
792
681
680
811
618
620
973
947
848
276
918
923
285
493
863
121
293
180
540
944
312
903
64
202
296
843
233
995
668
253
858
628
665
520
155
131
819
580
815
646
563
272
951
609
357
105
255
864
253
466
365
145
438
696
239
738
985
257
871
504
261
845
724
737
508
257
572
710
812
515
65
195
551
787
548
903
170
759
137
764
546
986
340
791
135
578
901
996
736
694
755
588
990
338
747
320
55
864
499
763
514
301
531
991
114
768
256
76
444
725
181
904
224
195
490
177
231
901
426
599
871
835
966
641
284
962
891
643
629
810
598
549
608
917
499
253
906
256
278
683
77
398
221
985
190
415
721
719
778
681
756
443
290
663
83
599
683
815
509
985
188
677
653
300
943
993
695
512
895
472
414
917
685
960
84
350
711
819
294
880
121
580
791
155
367
609
261
551
385
508
59
171
712
742
854
768
948
519
590
785
661
148
202
68
249
949
207
594
913
123
595
687
525
608
280
493
79
270
231
147
117
633
107
194
756
607
997
916
942
978
995
612
107
693
616
316
728
999
972
460
938
956
419
814
770
995
625
365
272
176
725
770
374
472
704
690
622
766
782
911
112
257
572
385
76
190
922
234
295
839
567
176
241
522
196
809
436
612
907
874
451
217
849
613
210
780
400
771
933
175
892
364
980
821
411
560
750
923
437
788
165
503
836
107
853
334
195
335
196
561
720
990
338
238
285
427
127
141
805
686
919
800
874
491
420
381
599
101
490
656
908
306
796
313
148
585
786
149
217
584
361
991
333
257
583
613
345
238
315
653
724
291
680
827
519
918
64
463
691
800
928
49
314
499
882
616
216
106
888
286
396
421
459
605
798
876
128
235
447
538
50
282
586
265
705
310
807
370
685
396
745
821
970
878
885
611
232
754
429
570
121
522
970
307
723
347
848
881
679
977
79
743
899
271
405
202
180
941
126
507
496
519
827
805
925
434
198
463
54
453
349
527
311
861
223
928
302
822
612
453
773
81
138
415
380
143
378
349
536
731
232
116
105
698
205
613
383
986
133
449
660
913
509
80
704
454
837
333
92
734
66
839
540
522
845
153
59
545
91
88
980
818
953
282
302
762
943
823
854
667
963
546
372
118
885
562
896
747
435
136
742
825
843
126
352
169
923
222
869
817
986
705
746
215
868
44
63
762
910
545
84
705
473
902
794
531
785
836
455
668
248
383
387
478
243
748
477
516
381
548
389
794
484
654
776
179
97
559
470
863
904
733
933
314
273
415
927
998
55
381
555
94
237
414
800
754
709
615
80
48
718
78
45
200
71
259
735
967
71
657
198
798
609
327
773
84
408
65
814
506
552
850
576
732
56
869
348
522
389
65
259
794
745
258
448
486
856
620
670
597
738
238
961
216
457
822
124
811
167
269
146
272
602
756
642
162
88
720
299
139
829
609
871
783
955
993
333
62
609
622
803
257
838
362
99
281
152
555
233
568
637
531
77
76
945
422
174
330
323
319
774
635
818
925
753
838
896
934
927
206
895
977
712
621
152
442
750
946
194
89
189
892
690
890
266
902
906
372
166
831
779
817
588
286
396
509
389
152
233
556
87
189
516
659
656
618
918
438
309
515
538
673
119
482
345
881
541
593
437
464
312
108
458
840
473
138
258
155
648
502
701
875
376
904
758
551
885
608
766
144
372
478
596
139
652
818
946
664
213
771
495
874
911
979
59
180
447
970
429
459
342
151
111
279
815
859
665
358
809
852
711
238
417
507
381
382
140
554
239
106
511
714
965
112
624
938
764
703
44
798
639
691
972
716
246
904
742
997
339
605
641
380
868
154
641
598
902
985
124
56
605
219
125
296
933
207
595
314
507
782
424
143
784
389
301
835
190
551
315
407
920
863
710
792
857
238
795
567
683
977
719
895
668
45
697
72
401
50
589
446
71
969
908
642
430
406
909
684
454
45
228
130
244
899
604
449
874
490
270
45
580
388
397
445
541
614
182
832
943
803
784
979
418
608
725
796
303
76
739
239
979
672
157
929
788
312
605
381
517
470
365
316
521
503
617
76
405
474
709
815
912
773
651
796
400
790
915
862
357
960
987
670
501
903
604
874
653
913
263
320
53
57
206
682
797
169
859
42
132
246
200
498
712
881
892
591
936
295
54
68
108
328
531
556
624
616
329
638
88
667
290
515
606
346
478
759
164
631
327
374
400
213
607
540
550
156
581
729
685
674
190
252
917
742
864
489
325
786
713
261
396
471
865
166
939
634
628
332
592
178
514
710
704
44
671
60
248
640
332
784
606
691
862
482
345
955
973
503
941
646
793
730
360
546
377
572
250
46
997
73
981
733
442
291
421
158
132
422
312
344
679
546
329
609
212
683
452
226
142
470
921
801
792
418
336
781
221
742
432
316
660
695
760
354
172
536
116
797
835
631
898
120
754
840
883
310
263
487
627
650
100
507
132
169
409
489
423
892
398
591
88
590
726
549
321
133
925
934
353
159
692
215
220
739
515
556
932
655
879
248
321
45
461
877
350
945
750
812
884
442
460
641
601
584
377
442
487
103
864
139
115
51
299
188
760
593
93
891
701
604
940
826
75
67
844
933
212
968
738
930
41
389
969
92
223
879
200
171
954
339
334
598
427
610
428
497
943
561
365
508
661
62
933
606
515
660
552
77
465
451
692
621
406
356
654
754
615
903
433
212
349
345
595
373
926
328
877
542
630
327
614
709
179
940
386
503
913
747
688
494
53
243
296
487
633
810
868
805
895
49
884
193
914
796
895
940
216
892
918
221
900
173
705
779
207
573
366
379
807
283
562
674
958
254
108
315
998
963
639
260
802
670
406
268
515
114
109
370
457
853
584
969
776
520
726
117
661
833
619
551
869
213
308
297
911
981
936
278
444
197
726
496
511
883
171
682
698
67
543
528
445
178
128
141
302
780
905
611
908
343
228
128
618
959
801
952
341
927
360
828
873
677
556
823
781
523
527
299
381
197
665
138
319
639
82
895
679
432
450
964
625
722
711
263
248
426
84
271
911
762
146
502
969
169
474
801
896
834
473
315
602
315
165
826
905
352
55
592
464
596
115
660
693
681
908
538
679
499
958
437
467
582
805
58
389
631
402
978
345
116
314
967
416
628
319
74
70
354
378
760
996
766
597
525
391
869
171
310
363
683
115
672
587
345
582
633
386
825
881
483
168
506
588
912
755
40
573
905
935
490
656
913
736
921
673
172
985
407
955
800
359
231
184
342
846
904
178
955
582
884
455
764
383
751
42
125
772
837
289
666
290
700
224
517
925
243
346
333
900
133
54
730
786
893
577
419
948
416
395
123
114
939
549
906
255
465
814
910
375
425
256
460
772
927
608
546
188
259
896
381
813
453
170
453
897
240
952
917
99
278
464
245
976
157
514
952
757
441
842
920
404
890
216
966
267
502
666
293
541
370
902
949
944
231
54
683
460
364
85
799
545
168
426
227
257
975
529
232
195
159
576
43
233
973
494
522
424
204
838
73
284
957
115
214
386
614
284
855
475
604
275
991
161
380
270
963
976
523
225
251
638
384
63
656
460
63
955
48
842
844
44
453
228
311
988
588
361
897
699
584
822
44
590
444
660
876
373
765
507
837
257
569
679
284
125
403
974
452
207
95
970
762
760
241
737
400
523
667
519
278
913
351
588
571
449
231
217
770
433
974
873
252
520
572
671
741
619
179
484
442
71
619
551
259
592
141
745
324
349
426
885
617
343
808
466
811
770
324
876
725
130
256
353
561
190
978
300
678
231
382
232
950
342
334
491
752
815
883
350
531
753
480
823
905
424
786
578
296
955
413
131
664
84
949
915
412
810
649
848
393
254
491
585
171
916
345
880
368
209
978
795
520
618
95
649
580
397
99
821
51
176
105
820
166
154
92
121
246
507
763
134
701
818
169
690
643
645
84
120
745
941
895
972
548
601
763
810
984
734
933
562
668
692
916
886
266
198
625
844
165
250
336
634
631
627
466
136
806
179
616
753
668
252
531
874
866
274
977
221
951
603
434
68
484
538
91
906
745
923
853
387
785
244
391
508
975
702
368
347
901
640
422
634
121
392
93
946
187
100
371
990
90
574
782
206
406
691
50
805
58
832
304
151
917
855
972
809
600
901
354
346
90
818
534
790
308
94
502
402
660
172
264
928
927
699
750
378
339
72
875
393
667
762
76
802
44
944
693
719
602
243
554
704
154
956
619
795
125
309
67
749
437
845
874
354
419
835
758
790
482
449
620
194
607
187
840
413
925
151
448
317
477
343
94
806
908
651
423
556
490
481
60
864
881
731
765
901
55
860
267
835
734
767
321
517
562
261
717
403
396
127
432
383
709
265
704
680
904
831
699
679
655
730
118
252
301
770
746
844
773
125
277
148
52
456
762
832
487
513
950
196
764
477
383
954
189
919
547
355
575
430
83
205
135
847
122
311
514
752
345
192
661
729
139
204
306
310
834
782
864
903
131
402
315
697
787
349
344
603
638
598
447
928
856
349
113
887
683
625
661
584
497
628
742
535
211
570
895
732
894
781
973
157
520
732
347
324
609
817
913
329
421
812
855
435
617
932
219
556
126
514
56
786
666
170
476
512
792
946
180
573
726
722
724
373
733
542
321
240
968
633
315
42
749
309
206
129
998
986
558
248
780
121
602
850
710
285
251
112
869
92
804
247
620
830
885
322
569
575
688
509
713
184
98
392
389
384
366
920
256
581
704
972
309
507
737
90
475
239
604
636
103
83
840
865
382
950
960
149
590
796
123
983
480
485
714
665
473
805
738
275
131
487
299
871
295
236
223
744
918
78
673
181
309
913
972
977
482
398
139
761
647
255
786
860
837
597
289
846
722
118
947
133
595
372
564
138
86
989
352
142
126
282
311
769
141
915
281
883
553
272
787
107
87
754
656
372
812
149
770
83
516
870
706
110
942
933
971
597
645
898
107
813
814
713
487
363
576
669
718
327
579
727
175
176
956
414
207
353
374
598
279
341
517
159
249
90
307
134
353
957
469
360
385
653
898
905
981
470
819
555
68
635
405
53
237
243
895
928
521
446
50
82
913
382
786
108
482
204
367
482
973
828
962
473
300
730
65
988
645
457
903
391
181
917
111
660
74
378
505
776
739
235
517
344
820
692
972
176
227
789
543
162
792
343
220
637
480
698
218
185
445
999
567
202
225
529
576
561
128
457
865
269
100
773
900
266
144
572
747
873
944
853
655
219
289
520
405
164
645
817
629
445
754
57
428
698
435
697
345
385
626
823
252
475
540
148
954
42
518
998
890
748
725
674
463
177
849
743
847
272
664
939
170
178
256
897
634
295
177
587
687
205
466
606
583
669
377
260
344
979
270
786
156
471
611
697
458
293
502
68
967
500
763
426
776
461
819
68
588
610
884
844
251
885
135
733
466
384
204
858
231
604
937
542
653
68
857
462
150
333
478
210
382
580
550
902
308
898
527
827
445
213
266
256
99
194
290
463
47
659
529
770
647
540
101
252
879
185
526
773
571
600
467
862
129
609
121
361
997
171
573
156
928
915
691
315
764
873
63
280
909
562
253
830
676
756
968
297
726
475
590
114
410
999
246
677
194
54
695
724
146
131
658
381
932
502
784
899
374
812
849
235
406
641
603
102
357
284
741
152
674
716
833
424
342
650
710
160
186
803
237
453
137
660
757
153
306
101
186
741
625
414
560
58
206
250
679
584
378
156
123
564
129
200
463
992
351
403
348
457
771
629
713
227
893
806
870
170
940
403
720
316
958
803
699
83
522
822
608
343
775
608
548
914
223
276
503
115
993
289
865
573
817
282
74
447
376
487
148
359
371
793
183
652
374
277
309
116
940
695
555
887
830
176
605
872
45
920
53
864
159
589
967
204
998
40
201
866
168
310
719
73
994
460
485
500
881
507
908
796
763
246
329
300
192
375
835
250
588
377
819
450
157
911
117
145
798
375
710
583
707
863
347
849
151
210
821
66
589
811
513
617
84
75
323
987
806
723
983
767
103
381
756
81
790
642
556
981
605
548
486
827
747
42
751
354
819
810
766
150
223
299
492
593
646
553
608
295
631
480
581
809
393
152
61
174
123
760
758
625
722
891
397
316
554
176
74
660
767
226
50
360
929
445
775
797
670
392
655
563
741
594
675
375
295
316
440
932
138
51
864
422
476
739
917
121
731
303
167
131
335
976
893
464
746
145
410
397
998
742
436
321
917
350
441
436
410
711
640
156
410
908
95
417
648
753
265
174
498
166
217
757
769
458
78
167
56
500
180
319
899
328
360
614
182
509
584
843
833
675
514
524
816
622
745
598
633
557
694
800
622
152
164
657
728
455
535
950
213
589
810
594
791
339
452
134
764
383
655
222
803
48
765
880
581
798
472
633
640
990
166
465
520
75
73
397
518
234
253
915
601
634
647
380
314
235
175
888
516
97
405
714
215
114
675
533
372
348
301
131
749
635
543
750
388
769
362
380
793
174
94
869
470
720
976
436
722
931
998
438
290
625
980
438
572
179
488
783
326
105
166
126
860
392
886
111
931
663
893
979
782
893
622
294
84
784
414
693
289
472
515
684
706
238
900
660
172
438
118
334
660
215
216
656
163
661
508
548
941
599
757
795
708
310
201
867
822
736
137
513
106
490
653
700
892
871
104
188
394
729
796
276
595
134
654
628
767
592
847
631
871
79
91
895
843
572
72
277
42
287
285
357
742
877
744
581
280
505
301
903
902
615
210
890
974
561
43
632
824
214
782
627
889
312
423
888
893
248
233
810
186
975
829
389
697
761
86
414
261
230
103
718
876
751
838
834
611
396
252
439
846
571
595
423
130
587
885
442
726
45
702
525
597
667
728
890
529
443
532
364
786
951
598
257
978
293
555
955
929
903
226
791
192
402
859
390
190
808
925
143
443
698
437
950
737
814
989
843
536
100
690
213
628
677
760
68
623
422
480
240
797
411
677
224
636
599
265
190
876
399
568
981
818
689
847
368
583
410
236
802
383
693
922
334
279
758
551
69
742
594
320
235
791
446
557
501
225
574
317
215
980
321
486
441
175
142
684
651
882
604
971
717
680
572
162
877
382
621
745
514
485
813
195
727
88
594
884
613
945
135
126
755
918
653
758
372
371
725
141
103
353
274
695
954
728
299
909
994
195
654
734
711
551
716
541
837
306
965
491
109
108
634
771
346
460
743
548
371
966
472
398
414
968
512
862
472
704
883
509
230
930
474
167
374
895
236
624
751
216
588
431
685
288
58
858
443
270
194
833
371
882
816
891
862
825
796
551
778
953
844
76
820
248
758
391
669
574
625
880
99
286
691
494
981
772
638
838
386
668
895
292
706
828
50
727
665
994
262
872
676
881
753
299
261
229
253
769
597
800
922
451
972
74
484
435
82
506
391
722
125
662
253
306
671
428
783
349
704
700
428
779
132
675
664
172
976
714
418
683
965
736
270
474
119
516
623
333
394
209
234
280
504
871
530
747
925
738
842
738
556
177
179
237
748
605
642
794
894
642
391
275
628
708
704
565
675
554
237
614
374
743
322
384
72
352
669
937
697
465
676
291
706
956
593
45
173
236
53
478
571
549
288
183
624
635
528
951
635
203
799
264
954
576
785
399
196
359
309
207
265
383
53
365
992
808
49
792
219
472
75
525
64
434
53
967
228
469
511
884
88
53
42
269
764
690
600
337
984
188
947
623
218
164
427
526
560
81
424
720
915
785
899
59
52
788
897
533
424
924
438
601
103
731
305
992
181
984
674
183
525
578
637
416
460
290
725
381
785
352
613
391
861
99
412
616
705
520
767
672
76
66
603
450
946
588
977
324
959
557
350
517
318
604
711
809
251
476
240
234
881
638
936
821
619
796
411
175
917
153
60
407
876
185
962
643
860
583
861
853
562
789
212
786
817
67
373
788
396
796
413
934
70
793
193
407
272
935
188
599
920
468
197
45
360
944
67
165
40
782
514
560
261
572
596
127
181
538
694
189
241
987
933
378
135
709
333
521
772
160
146
328
716
355
860
463
722
834
160
241
610
507
961
381
346
81
733
430
906
603
957
549
630
145
207
501
517
112
849
56
549
185
181
755
182
661
692
950
375
604
726
146
962
41
488
582
346
932
569
890
452
807
209
772
282
725
741
965
840
665
296
314
967
318
853
516
132
53
448
795
698
332
349
721
690
342
532
709
734
391
547
659
186
388
798
993
659
278
592
393
329
128
606
845
680
456
390
335
608
693
269
739
922
158
151
977
291
689
264
857
930
900
244
256
238
268
328
368
577
902
819
881
198
811
855
453
844
326
126
236
367
997
461
48
355
276
928
415
858
925
573
749
708
115
266
596
985
494
863
65
201
181
879
707
492
375
55
279
639
540
966
669
368
701
711
240
268
54
436
855
228
746
396
211
339
243
929
192
752
829
417
883
673
846
808
853
927
825
107
174
715
482
157
560
545
830
178
607
167
220
816
385
547
283
552
511
282
72
351
998
357
54
576
331
863
770
299
700
805
315
684
359
928
802
713
674
455
582
642
998
964
264
939
730
946
801
815
274
116
805
817
140
636
579
252
96
660
962
280
403
90
754
910
606
480
44
234
923
922
671
739
721
204
597
988
89
101
316
270
380
646
900
549
223
817
904
804
123
443
179
292
848
154
492
909
762
671
936
925
111
175
58
718
808
934
840
937
299
646
983
170
401
680
700
878
687
71
642
849
987
688
765
583
509
526
134
94
666
850
781
268
390
571
469
421
176
739
648
592
814
750
450
524
805
822
966
426
559
463
616
150
718
441
99
725
367
81
899
575
392
523
476
237
42
301
448
749
327
811
502
66
884
266
210
351
597
959
565
859
701
922
555
335
640
762
681
751
629
597
579
668
899
933
189
504
811
487
228
145
861
988
210
506
985
567
931
796
225
106
272
542
222
959
948
221
226
562
341
891
109
285
362
549
253
484
371
334
879
716
314
488
491
149
260
118
164
289
513
339
394
910
384
143
555
610
301
645
341
808
477
803
960
164
295
594
905
904
525
345
820
525
614
166
469
905
656
728
660
678
79
533
474
527
163
734
341
298
870
68
994
647
534
196
533
412
892
366
892
239
715
112
518
321
722
79
212
463
571
498
929
975
969
675
362
255
386
892
204
197
836
329
356
686
699
754
800
791
990
393
691
441
667
715
186
227
707
701
222
581
571
128
309
464
798
424
85
197
423
745
58
237
622
680
114
590
578
226
365
759
574
438
248
384
874
557
578
406
907
441
682
649
220
128
60
682
220
287
204
451
40
299
266
334
690
337
925
221
991
263
404
294
993
346
216
488
637
415
418
575
535
254
810
503
948
510
120
450
203
260
904
541
875
121
966
313
442
713
422
204
631
369
239
380
143
515
536
359
945
239
121
546
522
764
560
547
770
804
808
610
995
900
706
50
393
181
84
981
729
651
240
138
940
152
478
187
386
553
985
622
441
426
601
475
672
88
188
898
556
646
982
127
840
188
366
453
127
437
547
155
766
626
795
450
639
946
890
574
639
519
268
958
971
435
925
733
109
397
558
311
945
536
170
683
522
412
683
242
622
818
276
584
918
81
917
236
867
345
344
208
855
369
97
213
557
800
535
586
558
641
697
283
412
732
917
429
830
918
200
462
954
217
56
324
656
107
140
200
546
795
86
479
215
487
670
968
663
497
999
224
691
502
121
305
515
858
191
713
432
515
293
394
294
732
427
62
316
846
676
806
433
659
106
830
913
121
432
455
997
469
634
573
330
477
57
853
162
479
71
980
383
975
61
397
344
988
958
420
351
495
98
306
143
641
40
477
435
450
99
727
381
356
981
324
74
946
514
436
62
452
187
168
428
103
433
714
53
549
206
912
984
179
80
107
410
746
696
328
394
604
193
267
330
69
905
271
990
702
240
152
431
719
879
849
592
86
820
568
846
849
237
695
705
128
574
955
594
238
52
360
301
644
363
113
525
122
142
688
409
351
456
414
922
193
747
684
683
705
335
126
280
847
77
114
115
862
452
992
127
285
761
517
394
404
531
45
272
949
641
981
454
402
112
325
656
760
60
344
891
274
246
470
981
586
185
509
72
534
999
926
672
732
415
797
458
523
444
737
356
125
444
867
227
942
360
389
817
581
911
608
582
784
741
180
483
970
92
542
407
543
141
850
166
985
783
463
854
180
782
819
659
324
704
858
800
85
985
339
840
484
486
298
54
734
525
829
627
258
551
240
404
546
479
318
308
68
622
526
738
324
169
746
975
994
43
751
341
573
434
719
928
983
995
533
843
425
649
715
620
886
973
849
255
832
526
952
451
862
501
925
580
204
266
491
875
361
502
517
960
904
339
388
545
72
120
706
368
192
290
992
90
907
902
590
598
261
174
138
447
456
830
282
972
469
52
287
948
379
544
530
402
302
528
356
375
422
223
738
828
550
729
908
964
759
586
934
428
867
222
367
261
214
972
731
951
556
459
207
57
77
704
667
951
382
417
907
875
385
314
173
645
644
92
467
505
89
600
814
689
842
825
896
178
44
999
750
798
360
365
443
922
838
578
67
662
824
937
604
734
516
348
372
862
849
633
542
366
300
794
950
945
668
490
664
586
67
559
160
917
481
991
361
415
156
766
292
90
780
760
289
341
612
696
418
538
816
843
63
360
176
247
318
931
309
388
252
950
903
336
375
223
369
844
924
982
532
449
795
346
332
459
349
474
823
72
229
159
407
262
99
453
291
339
266
729
922
392
511
839
357
256
705
87
865
965
327
726
558
333
124
687
213
464
236
349
639
269
487
522
974
412
470
711
391
792
790
903
987
617
550
585
386
725
380
593
793
856
607
217
114
259
313
353
348
667
136
966
634
587
639
291
666
766
450
699
805
804
459
839
175
292
62
653
657
788
79
520
88
792
984
966
854
485
663
476
705
758
174
448
977
432
114
889
922
389
641
589
783
857
720
659
542
591
752
970
209
129
356
324
731
448
444
847
701
78
581
339
397
340
997
783
45
998
505
749
577
261
956
434
320
246
184
727
258
588
364
456
224
847
891
250
575
949
753
146
762
593
521
245
556
901
507
352
375
344
983
160
970
582
755
97
107
795
741
436
370
62
154
573
510
844
683
612
594
739
446
111
387
328
901
661
963
372
589
613
166
111
450
837
959
715
120
353
863
800
654
407
484
370
59
522
591
812
850
595
554
511
585
548
441
156
915
795
95
451
906
391
342
922
261
380
247
224
923
961
908
735
213
162
137
140
310
143
327
495
949
87
307
824
565
231
978
185
462
128
246
442
267
252
96
641
191
846
473
415
445
644
546
843
155
991
982
628
247
307
343
536
953
592
181
847
667
646
667
117
75
540
208
761
793
554
544
591
80
926
853
547
97
559
333
335
213
580
41
739
427
318
70
494
935
243
904
983
708
745
49
362
684
420
703
831
394
421
197
90
406
255
240
467
139
421
820
769
309
790
557
146
380
182
483
722
992
460
528
344
216
369
247
271
617
390
661
718
422
491
667
553
739
802
872
669
770
224
301
610
839
692
575
740
762
455
540
700
990
784
287
119
829
167
452
765
94
943
556
457
785
575
389
90
538
662
238
169
210
154
774
485
86
546
374
637
574
780
897
296
487
617
325
845
355
297
276
127
679
860
978
854
446
302
537
470
104
854
628
315
110
532
162
878
805
636
889
269
448
615
78
583
823
364
90
188
749
913
747
972
667
552
456
573
806
332
633
124
152
180
812
612
859
534
742
53
155
73
743
605
287
221
597
537
984
194
52
108
319
943
669
543
793
830
759
365
237
903
71
605
844
316
705
270
793
478
459
58
434
94
245
766
392
955
667
79
461
644
452
52
187
867
163
941
802
837
702
611
671
688
158
441
959
768
150
579
770
247
512
823
867
683
782
378
252
618
808
249
744
853
501
289
641
487
239
989
145
181
671
490
753
110
860
799
996
419
896
672
871
84
901
614
276
635
224
199
782
520
237
936
119
418
390
849
68
549
856
292
282
450
894
52
860
377
935
946
944
105
956
732
809
665
854
649
480
494
882
850
275
422
537
266
894
858
769
472
142
622
612
171
855
519
998
868
711
710
224
636
795
698
69
325
169
852
513
973
286
993
610
566
332
729
337
916
155
760
97
877
807
705
231
420
88
826
106
756
177
280
469
750
943
312
552
958
740
998
410
345
614
556
319
172
900
736
797
586
870
507
941
184
464
794
781
215
541
916
552
235
357
678
352
401
533
633
962
141
710
520
576
543
729
182
890
268
655
627
881
47
410
580
967
183
860
562
942
732
149
263
245
245
576
638
251
476
984
919
266
840
622
172
797
629
648
568
922
99
252
64
518
684
871
672
56
731
746
449
138
559
47
59
166
74
884
73
943
399
494
752
263
92
280
406
332
257
758
796
549
150
275
601
463
693
537
158
538
383
522
260
295
669
984
489
481
895
774
76
908
328
981
840
121
95
382
677
826
925
569
911
307
304
55
850
880
89
48
192
972
783
654
344
460
380
232
244
197
819
967
237
247
802
777
800
410
852
456
944
457
502
186
401
637
804
389
646
750
96
438
782
313
726
429
178
387
379
519
412
660
573
364
194
126
720
212
443
869
376
908
778
685
704
69
732
279
61
325
742
624
766
278
556
725
87
885
938
206
790
354
727
367
777
957
184
905
851
705
527
85
198
582
837
270
980
283
830
194
432
310
448
350
780
167
794
563
330
972
908
997
156
124
442
478
420
759
707
908
278
197
319
478
233
628
259
167
976
694
570
645
55
207
139
524
245
231
940
416
411
722
51
574
950
923
673
389
410
902
71
249
768
596
701
666
551
664
947
929
484
754
109
526
428
192
346
861
874
243
677
65
454
117
249
840
298
956
808
690
434
399
273
415
140
819
97
590
179
588
754
694
997
171
350
297
943
977
644
94
568
210
446
495
710
159
167
573
153
969
516
359
699
577
997
64
827
947
723
745
905
492
689
214
108
352
857
526
629
702
782
885
394
295
741
271
795
322
333
438
627
117
43
661
348
286
81
216
124
500
885
149
966
265
189
87
913
408
883
519
785
329
647
812
355
746
424
696
158
266
660
709
222
367
364
955
480
247
163
84
640
461
677
185
434
694
244
64
426
152
460
614
51
502
230
249
745
666
280
100
247
625
829
879
870
476
755
820
525
187
857
161
656
614
298
833
658
701
399
959
544
150
471
792
305
66
277
925
42
810
268
266
245
500
457
187
501
746
671
527
774
513
251
409
613
905
973
915
690
137
97
208
615
188
451
501
957
731
61
615
923
611
542
929
999
997
526
895
356
721
386
508
993
639
183
293
595
159
413
88
689
728
566
851
555
226
564
653
933
743
481
943
47
562
101
365
169
286
209
892
119
555
56
365
148
246
187
122
208
537
941
799
570
519
513
565
40
802
975
900
617
970
140
523
165
655
50
912
371
944
802
715
710
757
99
76
694
694
400
922
556
646
501
280
195
592
316
584
265
152
69
372
318
719
548
441
379
251
690
328
88
397
175
507
904
603
350
903
103
305
316
534
633
274
323
481
437
923
958
466
67
646
596
94
784
185
936
767
638
637
221
298
73
975
675
101
431
814
89
695
600
121
346
592
502
638
624
225
203
379
161
894
99
899
834
700
197
640
303
40
747
447
146
854
524
252
318
368
380
483
257
640
758
306
539
599
962
532
888
707
464
611
843
301
196
365
525
306
750
506
134
931
221
794
460
312
870
758
55
98
677
560
297
612
176
812
972
362
288
756
55
311
614
334
637
451
812
696
281
517
556
281
653
84
534
110
754
254
857
248
274
514
935
411
527
660
649
533
301
921
687
702
822
520
580
815
527
108
689
762
495
606
542
984
611
812
475
617
508
527
377
694
158
211
624
326
391
875
947
531
985
830
736
712
707
973
953
647
137
487
801
317
280
711
346
151
413
325
384
920
703
185
76
527
304
720
97
91
431
328
625
873
86
857
527
870
57
910
724
189
756
423
939
861
733
951
239
97
289
374
828
445
948
542
383
691
541
854
783
954
319
311
213
76
497
725
536
467
175
183
375
912
918
815
685
943
125
152
262
540
338
440
190
156
44
290
489
210
537
247
335
586
359
334
422
687
912
238
312
762
175
203
772
568
953
294
830
921
901
714
613
484
607
50
745
910
391
263
116
157
487
499
390
254
244
242
674
249
305
718
947
867
581
752
837
419
616
206
137
824
607
546
533
316
352
620
312
645
662
107
525
472
859
610
78
658
253
235
336
219
655
401
692
329
962
258
936
230
723
418
466
751
695
221
778
990
653
791
184
82
609
446
99
601
353
109
537
78
838
44
467
886
748
705
274
281
160
176
944
800
776
217
167
883
348
73
134
184
243
715
482
662
143
700
957
955
331
360
716
120
949
729
401
542
891
512
716
254
426
578
92
43
262
330
305
954
469
428
145
79
296
427
245
59
538
194
450
265
66
848
307
799
622
216
571
302
94
220
576
373
90
285
683
142
759
543
903
973
624
430
309
491
445
657
480
155
990
420
615
318
102
798
235
643
884
782
429
955
560
400
250
526
98
738
901
65
75
521
578
296
314
659
837
514
418
920
833
900
139
328
240
238
905
437
193
570
878
610
788
413
522
550
374
390
677
941
550
617
511
317
631
284
744
931
852
930
216
246
762
114
326
80
776
530
959
254
499
819
986
75
755
442
267
313
828
916
492
162
78
680
950
580
527
43
380
115
213
507
114
595
432
296
193
346
683
572
310
458
930
205
703
389
504
920
47
647
167
774
809
57
749
602
108
299
377
143
718
248
303
92
228
453
812
678
98
500
312
540
264
961
225
269
914
568
780
645
105
717
806
64
375
262
739
351
536
669
731
130
227
964
390
651
485
409
754
544
892
761
630
599
906
613
369
366
695
666
286
966
793
170
548
321
721
659
543
474
297
218
57
462
171
238
558
257
187
459
543
51
456
860
913
119
64
892
401
96
626
669
392
374
185
846
686
261
307
202
53
478
226
808
110
199
541
121
984
41
316
600
277
101
146
950
908
718
163
454
237
977
52
57
922
744
88
604
116
165
949
604
268
480
354
992
742
280
876
144
513
341
197
61
208
246
75
438
177
271
713
219
556
708
581
213
124
451
645
888
564
233
922
993
195
484
169
972
575
782
880
853
71
850
569
550
185
566
923
901
823
728
388
67
487
705
78
542
690
63
992
599
785
761
58
335
65
778
529
602
779
902
242
58
816
980
330
382
435
193
774
240
917
999
562
510
971
783
817
790
815
360
638
389
729
301
299
393
625
628
763
570
676
120
99
879
149
88
210
608
240
107
344
274
674
799
794
62
612
352
684
382
799
955
373
428
498
166
544
972
867
50
996
597
954
438
328
397
876
923
777
240
487
375
257
196
78
885
687
109
484
993
921
245
314
666
878
87
78
652
287
112
544
333
321
985
662
900
721
665
380
258
359
697
791
674
704
477
628
100
560
401
742
728
902
608
340
353
45
858
886
389
950
828
76
48
100
455
744
912
924
158
773
117
532
569
690
684
92
408
681
753
973
600
316
413
202
109
199
139
626
108
711
498
865
488
601
377
959
469
223
46
454
124
230
654
883
711
985
865
216
459
952
710
779
568
462
407
195
194
237
388
285
864
212
851
233
548
488
904
158
496
787
242
223
634
491
927
878
887
937
275
397
865
264
343
579
936
471
949
305
73
712
765
57
167
672
919
454
438
882
948
683
745
862
975
739
273
597
977
336
273
435
470
494
670
390
477
919
173
668
731
720
251
839
146
717
813
398
103
211
605
427
273
77
979
376
771
951
446
170
95
268
549
867
540
628
949
621
118
682
235
971
111
102
776
942
346
813
260
85
450
354
500
473
45
483
919
116
419
436
882
686
518
754
775
900
454
690
679
336
301
351
263
103
206
429
275
469
478
40
592
545
236
923
717
721
881
587
657
390
835
536
255
45
531
749
817
925
913
99
329
388
850
308
925
335
476
821
50
904
339
490
554
742
978
434
66
42
612
952
51
188
765
942
957
137
824
230
52
443
660
994
392
909
683
935
527
329
514
940
333
657
585
154
113
224
665
698
605
516
592
618
485
338
294
778
657
531
814
256
227
125
963
584
563
742
791
911
801
615
808
974
646
487
576
786
219
277
559
601
415
563
811
787
791
213
661
414
945
386
302
94
570
79
313
228
526
925
553
937
771
238
788
299
732
392
813
55
551
891
155
521
333
977
471
164
420
988
781
808
177
874
447
377
398
145
667
683
911
698
323
453
605
202
416
860
644
98
798
436
356
941
146
706
805
753
535
469
975
781
657
586
128
572
217
78
414
989
881
642
679
674
847
494
464
856
789
610
898
518
708
673
842
426
864
153
975
805
370
685
735
323
231
879
635
435
108
504
255
252
550
854
748
893
428
171
747
108
204
577
289
593
78
868
555
590
210
873
205
568
162
803
548
557
354
811
229
844
171
324
462
919
925
429
194
98
552
977
192
971
146
636
481
774
357
777
479
764
613
312
610
166
505
514
754
309
883
357
709
724
850
182
728
196
337
656
524
855
808
470
748
810
839
844
267
904
719
556
790
630
906
338
717
811
399
624
807
903
985
545
459
452
81
380
894
320
562
968
453
884
233
143
419
302
450
54
623
347
424
770
846
942
65
67
275
242
848
51
870
135
559
453
167
348
981
52
60
430
985
428
987
840
751
497
126
100
588
380
599
354
694
357
739
777
109
495
826
288
765
792
573
58
262
66
871
71
490
800
905
231
635
935
162
592
195
343
773
651
93
900
426
759
537
412
868
541
223
676
121
48
184
529
762
516
840
153
745
697
835
714
366
312
908
902
704
836
786
761
429
211
196
402
145
723
637
75
365
979
487
654
65
294
459
950
211
294
237
888
385
595
75
171
144
89
643
272
966
124
769
58
971
820
703
388
234
158
655
350
120
224
307
605
691
149
438
257
371
697
842
209
343
168
57
253
147
449
42
225
519
760
351
121
303
114
730
875
596
347
489
409
385
442
158
430
214
871
559
887
800
335
204
850
389
385
338
470
188
636
567
442
465
200
493
603
147
346
560
876
162
763
322
812
381
713
247
826
569
204
358
434
794
165
412
495
724
115
559
228
864
792
805
639
62
758
552
818
610
339
540
204
929
237
412
859
81
221
461
339
188
177
476
602
761
556
737
642
154
316
57
357
814
921
189
121
889
480
784
881
755
456
900
782
400
722
258
958
648
605
391
316
815
863
165
829
625
549
146
498
234
401
101
839
652
343
909
102
59
547
225
621
669
470
621
173
971
747
238
306
213
321
114
722
593
715
393
392
312
463
308
320
347
199
527
271
843
163
811
786
312
314
95
452
97
104
115
701
977
644
665
265
268
976
91
59
510
261
123
145
683
116
997
743
569
829
537
984
162
86
164
918
168
836
544
548
292
944
954
677
834
204
678
99
907
239
644
177
485
140
701
391
174
794
439
362
340
783
260
229
912
75
273
461
475
468
548
129
407
112
778
623
622
148
982
459
959
997
577
903
787
533
585
591
876
104
200
455
74
333
233
293
844
970
631
442
470
470
867
322
498
120
477
705
176
949
354
414
674
307
743
419
780
442
443
851
447
511
705
79
970
553
495
211
217
158
91
80
690
180
405
929
678
887
838
776
477
665
675
150
129
364
816
834
242
440
254
63
459
611
180
632
395
693
660
452
69
947
620
157
110
117
167
108
450
656
225
242
307
912
339
139
691
951
153
564
670
221
258
594
443
679
665
504
745
131
67
71
921
326
972
49
730
545
588
804
481
238
443
472
157
455
63
840
771
946
252
75
432
848
188
545
859
665
222
144
596
994
792
759
376
531
616
985
828
225
251
694
787
947
935
260
474
817
299
883
218
834
794
167
150
444
429
743
695
87
852
726
103
283
115
588
750
286
137
921
206
89
801
240
836
982
651
250
736
305
894
289
280
164
100
205
355
700
44
380
243
814
600
899
642
115
372
904
714
773
322
70
98
785
163
880
292
190
866
245
253
281
174
529
548
461
385
841
505
579
160
206
510
90
103
343
508
119
134
377
547
408
840
700
868
157
618
856
584
868
79
205
476
993
125
406
621
154
764
298
548
771
871
772
844
859
174
117
883
48
156
493
616
801
197
192
775
728
48
598
725
808
72
244
435
359
877
197
301
708
816
414
660
375
318
788
551
622
80
757
909
814
890
81
739
156
870
736
578
670
146
646
674
780
161
473
715
574
848
758
271
440
690
94
768
938
934
404
789
215
52
237
479
991
661
625
708
110
336
706
614
333
145
220
43
620
640
763
527
928
166
804
200
478
461
141
442
511
995
153
519
789
789
991
666
228
350
871
968
868
693
873
877
166
336
221
524
588
65
872
74
737
902
440
904
443
418
243
913
834
930
392
72
398
832
99
599
531
979
174
665
440
496
715
121
657
145
256
733
333
184
306
423
958
592
56
786
597
987
706
503
635
380
747
388
728
690
833
103
175
81
591
566
141
919
293
723
216
495
891
980
434
810
790
274
508
372
317
164
866
997
697
416
304
742
405
232
194
145
723
977
896
292
848
689
189
911
143
197
618
194
384
878
544
286
859
51
327
659
196
391
423
669
558
149
616
839
225
340
79
747
222
485
912
821
131
878
931
857
577
996
789
929
400
150
304
71
946
215
898
381
909
870
663
255
61
66
545
943
188
423
511
755
811
524
967
288
629
795
544
946
150
108
551
170
97
207
979
663
550
957
381
509
825
88
79
715
611
129
845
469
797
380
490
833
709
888
331
907
243
462
229
793
633
517
363
944
586
564
775
636
734
87
914
618
116
132
40
456
268
84
391
170
170
676
576
337
690
133
209
617
370
759
717
674
399
248
478
482
835
415
263
78
289
772
477
416
776
552
419
548
702
926
699
755
120
166
658
821
266
138
655
755
538
246
836
265
856
288
102
855
994
821
868
856
285
756
996
734
376
916
634
373
483
309
998
570
74
663
851
861
675
573
784
153
278
256
529
856
792
941
673
421
872
500
949
573
612
295
827
527
956
799
666
67
491
919
985
631
122
459
643
697
608
343
525
250
474
894
798
440
668
557
321
654
79
662
468
613
627
913
506
131
309
451
860
331
95
751
813
109
496
933
898
353
114
775
370
749
85
647
487
733
294
182
604
457
999
205
997
691
905
674
930
158
908
233
534
543
958
962
240
788
323
416
835
256
588
954
597
559
105
126
65
855
506
769
562
92
444
301
463
720
183
473
222
397
577
160
259
47
371
428
868
721
284
742
640
715
631
382
155
887
244
171
120
957
218
295
440
558
434
240
215
849
218
637
773
673
257
907
533
107
338
637
844
830
329
419
719
282
864
573
727
505
372
95
165
354
858
412
541
537
299
100
950
694
957
485
422
78
77
317
916
905
720
461
399
387
89
870
277
40
512
213
524
262
466
613
162
969
601
194
687
455
207
205
307
257
909
704
739
366
807
727
463
465
307
314
975
281
756
428
167
934
496
675
336
416
776
122
432
900
468
358
132
550
928
345
300
988
557
278
353
568
378
142
519
938
84
775
517
148
390
216
779
184
599
273
121
111
927
118
912
856
850
573
326
765
583
727
293
518
262
899
881
786
289
511
351
779
615
477
50
668
387
892
141
782
187
422
265
220
174
613
137
877
610
306
180
78
708
227
958
435
294
349
583
934
475
919
662
845
651
667
964
929
723
962
359
126
267
570
953
196
211
229
409
713
95
73
648
490
897
63
777
312
947
447
219
766
921
681
346
651
140
994
802
96
804
631
729
237
268
198
510
119
559
595
328
47
284
623
508
110
739
256
664
318
185
80
475
249
318
484
224
158
303
761
852
788
862
552
469
350
229
380
310
267
206
872
242
123
992
122
450
528
320
897
474
56
149
287
521
170
616
980
959
374
280
958
572
723
330
627
861
221
182
808
992
556
295
199
319
726
745
617
897
894
132
986
307
150
507
865
435
698
657
176
133
365
429
140
676
213
257
948
135
254
48
342
138
410
326
136
481
357
688
409
736
607
160
583
84
484
429
97
389
675
986
239
628
970
233
961
808
668
587
841
592
642
400
169
389
230
731
271
124
199
430
846
309
949
568
609
777
91
463
676
278
970
303
350
560
647
89
701
417
465
953
600
760
687
517
161
569
63
550
703
246
862
702
751
298
841
429
333
278
461
467
583
424
890
619
946
918
235
342
64
514
428
187
517
304
749
925
807
794
147
887
311
797
909
754
52
351
509
942
210
523
989
387
310
57
674
272
782
858
566
681
845
124
131
257
471
931
210
41
356
728
772
921
201
766
104
391
621
847
959
319
753
637
764
835
522
696
225
67
596
950
590
155
175
550
45
397
957
96
873
159
270
823
483
378
233
164
425
69
262
870
350
384
113
554
348
667
659
89
379
993
794
983
66
743
932
895
723
922
428
851
908
747
945
722
945
108
935
901
282
68
145
58
424
650
890
362
126
252
710
779
617
372
74
539
843
306
331
570
635
513
796
962
477
170
885
408
407
686
247
489
49
234
908
364
709
387
491
114
395
377
880
195
989
461
970
959
189
64
289
185
902
852
675
912
607
401
564
638
447
595
370
792
594
471
766
610
231
304
422
895
681
856
421
907
361
661
805
917
953
293
65
555
818
551
264
580
426
792
962
379
603
290
989
197
641
494
967
95
594
726
620
254
130
567
823
448
946
922
64
759
955
789
462
735
283
751
580
956
192
454
886
358
387
474
790
196
862
426
81
76
610
625
110
662
993
865
692
599
380
714
914
534
931
205
232
639
282
811
321
518
715
813
836
296
193
49
495
810
709
259
330
925
386
507
958
727
466
293
363
789
74
886
383
721
94
359
448
299
765
682
74
62
180
933
40
411
703
508
498
411
307
370
441
163
724
202
545
821
921
304
188
180
651
68
361
777
235
340
675
114
773
745
985
254
877
398
624
363
809
113
920
671
233
974
631
354
626
731
344
88
478
974
549
677
715
166
308
283
568
299
897
613
650
453
118
578
750
349
128
60
849
359
694
319
913
300
927
970
194
47
969
839
388
545
706
725
703
995
54
550
774
525
173
223
208
893
762
693
123
89
881
66
358
480
752
472
164
289
793
704
496
811
136
542
697
462
678
693
299
354
87
82
394
989
393
958
709
697
746
147
903
147
305
665
329
676
750
548
937
40
232
763
498
849
354
369
313
160
999
779
117
762
615
775
718
540
200
871
882
122
181
118
301
660
410
129
333
549
62
170
729
542
975
51
492
990
942
648
254
913
197
991
663
623
763
246
393
279
515
267
768
122
463
99
282
633
801
762
108
421
766
867
779
307
625
624
417
133
267
755
895
415
918
201
929
446
888
857
337
182
41
791
829
347
308
433
147
526
707
315
602
443
621
464
907
656
824
351
682
820
810
336
518
401
62
475
191
253
310
635
484
655
508
637
53
119
616
339
223
568
432
813
735
578
960
642
832
173
915
348
907
130
994
516
156
646
332
692
450
751
554
621
324
735
560
749
72
57
446
944
166
871
794
307
224
979
129
308
859
308
327
623
67
206
619
189
811
405
625
208
241
312
64
462
218
207
461
326
647
505
869
963
984
791
143
349
548
378
679
156
295
496
586
366
346
680
963
427
354
988
212
432
361
199
566
369
352
984
321
996
962
778
437
499
442
988
197
931
576
148
319
465
76
194
625
479
940
153
334
258
601
161
331
982
944
345
819
378
516
937
412
182
426
702
606
924
503
291
693
238
700
655
80
370
727
834
619
606
74
398
690
352
541
894
418
972
302
789
894
839
434
647
693
74
254
898
107
822
401
392
742
311
133
876
260
705
483
499
378
670
52
329
381
378
783
891
412
174
668
653
903
102
414
996
856
280
355
579
108
312
672
515
565
788
86
431
114
669
839
702
598
342
271
203
44
532
815
958
282
614
912
572
984
742
147
147
585
369
97
545
918
710
485
993
761
979
845
765
357
898
150
891
904
192
640
788
739
196
572
786
836
462
300
76
637
151
953
637
587
596
415
718
173
471
896
208
643
304
979
262
547
376
825
789
438
560
783
763
174
935
491
939
433
255
730
175
452
61
432
843
62
54
902
262
473
900
785
75
113
146
745
763
900
543
857
475
649
236
711
906
780
877
740
474
144
382
90
415
400
583
265
614
335
155
453
804
877
960
211
739
443
605
516
956
427
784
471
52
479
884
346
466
734
794
452
872
406
450
246
942
976
418
468
497
97
618
396
987
179
207
477
174
429
144
374
414
61
961
433
734
733
656
865
864
712
384
272
178
728
168
561
75
871
128
368
865
184
84
890
353
697
352
562
434
577
848
607
172
856
164
380
603
440
124
159
104
677
74
766
650
768
913
665
49
403
178
449
604
152
62
744
945
847
478
809
540
212
403
602
940
875
107
220
206
638
227
747
927
858
334
950
470
803
478
367
225
704
389
354
146
528
815
291
85
161
820
298
65
699
136
849
766
412
302
497
115
587
810
904
706
228
926
665
268
333
667
705
298
406
550
77
961
184
582
214
171
59
727
423
298
598
715
90
221
339
290
405
538
540
104
198
555
315
62
66
744
323
349
382
415
849
93
552
806
291
168
301
682
783
605
680
941
609
631
268
918
173
506
616
590
143
700
263
41
574
184
93
887
721
969
130
160
933
484
183
568
972
41
597
142
681
371
360
263
466
271
770
159
336
575
238
105
876
700
996
682
844
310
326
163
323
326
634
887
446
316
537
579
632
366
175
824
512
365
252
848
858
571
446
164
116
522
714
370
366
186
115
835
593
723
219
518
333
93
963
588
387
627
651
391
849
291
505
612
593
832
422
238
563
123
383
232
53
676
681
210
324
343
534
464
843
901
817
327
633
149
892
100
862
640
42
972
430
995
481
298
306
90
166
218
419
532
576
830
235
441
680
562
673
149
425
796
447
532
202
180
595
264
247
353
705
334
923
639
340
308
84
108
220
402
380
439
349
374
679
598
847
426
622
554
947
124
920
358
614
502
59
959
658
275
195
983
689
444
890
390
973
977
277
413
204
192
146
329
261
416
751
726
306
811
675
382
680
264
537
725
480
902
794
54
417
723
786
912
159
74
241
327
524
85
600
871
870
936
104
255
928
296
327
703
832
913
780
370
732
369
337
940
286
189
117
684
606
840
216
397
592
289
166
763
535
322
658
852
340
139
422
799
564
958
908
118
246
835
58
817
468
816
569
977
994
91
674
411
559
76
701
365
340
657
459
863
294
165
466
964
805
763
881
512
73
407
326
432
318
618
430
437
263
391
911
595
465
700
308
780
458
825
331
65
430
608
868
223
419
622
764
551
180
593
519
696
660
772
118
826
360
188
947
658
633
385
403
431
67
355
903
723
578
889
997
376
217
960
652
519
156
663
91
520
941
319
180
168
264
202
929
722
783
843
141
580
853
474
993
418
522
92
131
43
677
361
398
985
778
356
965
250
521
762
819
53
961
760
249
948
371
334
292
950
912
798
46
396
167
814
909
355
773
953
634
319
230
77
59
293
917
280
254
767
912
442
52
180
938
45
971
587
414
569
438
227
119
905
860
899
724
473
438
214
503
766
271
240
480
421
136
225
545
427
726
166
85
493
584
581
252
177
454
587
607
176
846
779
104
298
453
585
563
298
164
938
376
436
283
480
516
598
457
64
711
663
556
476
274
774
647
132
836
179
743
892
59
752
131
761
431
361
235
428
199
788
138
717
513
321
549
653
504
566
249
605
84
429
403
148
813
289
111
368
874
986
77
873
223
970
823
594
569
144
173
62
588
370
309
852
173
369
356
781
68
333
836
957
774
378
102
873
446
215
758
438
639
392
478
873
855
983
568
911
406
131
896
960
431
86
195
212
197
866
106
775
793
965
671
589
558
937
491
765
935
170
883
601
449
400
294
371
807
900
614
488
356
417
943
510
235
139
545
672
53
873
53
80
261
749
943
448
810
865
698
863
136
589
80
831
662
873
925
751
279
45
350
71
927
378
494
66
609
630
579
375
504
46
274
583
839
236
188
335
565
360
753
155
843
698
166
398
695
958
920
172
41
722
526
677
171
743
263
963
90
683
812
555
374
943
356
408
951
67
789
970
919
719
926
188
986
566
926
579
258
824
97
614
991
408
660
225
323
508
855
130
525
638
973
391
891
218
57
559
702
838
639
60
664
203
880
718
372
118
258
427
901
374
554
59
675
398
865
696
758
290
921
695
156
605
266
171
183
310
419
604
257
245
871
781
608
121
80
944
180
215
485
746
97
994
921
638
363
42
764
810
974
134
254
745
337
674
889
85
165
961
223
386
416
706
665
201
81
276
235
301
286
833
246
248
488
628
879
648
852
651
620
377
293
642
354
595
126
84
92
168
82
594
703
89
213
915
786
816
754
913
223
475
626
222
338
961
443
426
318
355
91
792
136
659
889
829
421
555
507
985
763
943
179
740
787
913
981
961
656
824
688
370
162
344
828
512
295
417
279
221
754
173
904
319
130
821
178
129
155
606
134
882
810
747
292
510
117
286
359
153
478
671
492
469
619
83
668
510
387
306
584
797
58
634
529
936
418
182
184
799
331
475
332
675
346
992
716
696
59
925
80
89
951
708
590
610
899
376
995
312
698
698
122
509
450
428
944
40
478
783
531
582
135
172
968
720
814
867
322
171
233
729
537
902
564
507
938
980
192
139
405
845
665
207
179
125
195
798
295
823
250
866
635
180
541
820
911
114
276
154
281
745
976
256
486
77
88
781
187
639
904
472
889
318
487
889
981
734
663
823
779
919
638
245
329
903
198
226
492
719
48
516
881
319
745
423
834
994
134
965
479
389
138
99
434
394
726
57
397
972
592
767
997
321
565
854
338
634
61
919
737
84
963
416
494
513
956
885
544
87
650
138
91
700
252
287
649
202
260
469
42
556
381
735
221
54
960
987
525
60
564
150
791
795
849
650
983
548
897
668
512
411
877
136
922
605
474
694
948
252
786
379
128
352
414
126
482
198
675
512
967
523
693
805
578
818
219
666
964
634
664
286
372
487
97
128
985
623
267
958
71
678
507
675
643
868
555
397
257
509
64
376
706
774
289
512
485
116
285
479
78
739
234
970
358
248
838
677
745
369
713
766
972
343
601
88
744
819
44
205
695
273
535
295
267
761
157
298
70
564
150
508
746
150
971
190
127
652
960
770
389
852
270
212
803
57
381
891
431
368
851
139
225
771
553
629
197
988
949
666
943
471
384
573
721
380
991
106
388
170
888
620
250
47
424
674
275
447
945
456
133
898
437
635
825
669
803
309
180
167
594
377
395
389
745
816
200
453
659
805
295
43
764
934
733
543
619
730
445
553
473
225
806
888
172
860
474
871
976
119
596
811
913
308
123
356
865
333
868
679
369
506
936
918
345
348
948
377
410
719
587
56
610
379
237
676
603
273
325
63
742
842
638
111
245
956
638
196
841
184
123
214
112
826
592
802
900
454
897
806
967
804
602
959
843
393
568
737
160
852
829
609
983
749
281
812
330
376
960
452
480
887
948
656
48
286
783
433
316
127
390
189
907
403
378
897
793
982
321
285
935
773
73
389
226
779
255
262
788
64
830
639
958
614
146
449
958
998
226
535
923
149
793
363
106
208
697
636
874
275
663
816
150
573
870
273
136
376
273
805
106
214
636
412
979
915
150
937
387
372
233
572
542
339
687
581
722
733
179
581
893
266
658
789
981
352
496
695
312
464
954
843
561
143
394
106
664
773
253
264
650
579
663
153
304
518
177
790
159
824
230
410
308
498
347
75
254
358
653
719
68
94
460
714
754
730
481
616
150
265
416
931
740
866
979
230
786
516
349
246
627
421
503
743
304
461
252
884
388
988
516
940
87
420
554
661
96
942
547
200
242
510
724
812
863
609
119
978
229
711
249
584
424
505
578
750
135
424
946
593
316
952
420
374
389
193
871
289
291
535
738
461
334
210
231
882
202
920
502
990
473
921
577
873
650
399
231
974
156
363
408
239
236
349
349
374
609
830
813
646
113
961
895
998
239
739
651
206
963
171
78
943
590
311
755
705
844
107
271
432
163
308
852
842
642
713
932
460
529
752
380
899
679
831
979
568
474
494
960
299
943
594
223
914
706
454
617
281
669
404
831
48
107
219
64
145
293
720
989
870
713
287
343
215
837
736
941
178
105
869
276
440
156
994
689
337
407
939
398
445
838
43
49
766
929
376
616
853
687
794
248
935
913
509
449
998
279
810
160
707
337
590
512
95
68
709
663
445
605
726
503
688
712
738
292
960
841
358
42
459
198
196
82
959
893
110
842
373
793
156
469
633
820
873
754
450
766
910
728
723
147
457
120
331
999
911
381
394
543
904
156
276
988
369
58
545
46
946
894
309
192
345
192
298
626
606
688
968
972
208
360
252
296
937
710
109
634
804
474
605
521
787
99
295
910
944
76
875
856
534
75
121
484
820
299
887
73
190
125
729
271
853
961
135
910
791
719
890
896
983
215
190
605
899
193
662
449
710
513
201
267
65
290
341
838
639
591
512
913
872
163
123
174
988
244
625
548
167
592
667
997
857
872
541
972
176
983
835
748
246
94
497
163
835
629
177
597
580
869
483
163
433
270
683
434
95
872
208
653
167
875
145
431
801
407
514
163
49
247
499
756
728
254
581
816
684
896
386
912
314
651
329
183
725
601
894
744
545
167
751
638
714
204
671
876
431
184
873
811
831
746
805
183
157
151
760
317
263
557
42
65
379
134
683
948
69
51
443
517
336
356
274
853
696
811
282
605
555
802
753
572
102
788
814
377
586
760
72
640
708
211
144
652
345
581
525
425
881
388
167
73
817
365
667
864
818
380
219
385
779
662
694
908
647
158
491
634
782
626
322
819
209
77
211
331
764
892
324
437
119
733
713
125
835
384
69
323
466
304
280
198
349
310
707
366
358
411
372
549
787
599
565
491
356
754
686
277
712
497
155
966
102
966
711
496
513
893
630
380
825
640
904
425
626
276
251
938
501
415
371
660
78
817
321
773
885
619
630
264
819
664
382
150
160
771
423
93
962
473
223
949
130
379
163
917
319
875
246
970
142
271
505
834
738
168
357
60
685
222
225
992
180
489
215
524
687
369
667
833
725
550
154
721
918
183
591
762
721
520
140
307
292
559
843
289
172
720
480
927
123
601
138
295
197
902
926
44
177
841
835
228
549
706
303
155
548
77
982
174
447
280
642
222
455
416
540
638
648
107
66
290
784
550
430
294
316
346
683
652
291
238
961
446
740
934
678
832
280
184
434
544
281
219
68
170
953
934
795
468
492
787
429
195
776
740
197
971
886
767
766
666
228
780
410
301
207
493
224
339
358
800
971
630
502
765
486
579
167
122
578
172
168
871
144
133
776
528
820
479
412
609
718
663
81
605
598
709
56
909
879
236
542
771
455
156
925
954
359
651
499
961
954
681
135
142
109
747
243
458
602
841
890
681
518
309
204
655
131
929
108
763
530
261
300
61
874
628
362
919
955
279
844
788
737
560
461
711
555
106
799
107
996
438
429
931
514
735
448
590
892
238
987
718
328
276
892
472
406
996
210
584
408
922
795
766
533
909
400
291
854
753
962
650
87
522
554
665
636
211
866
478
364
626
728
264
449
790
230
294
318
274
491
128
739
223
945
422
982
516
838
889
948
253
721
118
339
426
206
592
530
189
353
163
181
230
579
694
279
986
513
581
657
879
789
514
707
324
272
704
437
926
85
221
640
354
221
918
543
452
795
249
476
230
352
429
711
499
841
645
515
48
551
994
562
927
698
370
596
875
986
862
44
288
732
45
85
859
94
646
112
873
493
323
994
480
232
487
531
269
540
275
485
161
749
262
556
739
484
942
664
104
947
798
101
555
129
182
616
663
532
858
567
620
788
956
571
873
604
817
757
93
880
665
545
782
584
112
741
319
52
153
114
536
590
632
377
82
251
116
421
456
719
793
449
158
762
665
378
751
46
623
233
160
150
287
679
41
300
347
868
932
282
153
302
114
542
460
144
75
762
814
512
203
324
509
930
231
406
303
958
245
153
549
210
587
172
236
428
316
928
985
346
843
581
511
126
514
607
979
819
272
271
288
827
569
390
887
365
793
159
884
777
338
951
521
803
886
693
440
450
677
669
581
542
800
60
906
172
773
289
211
344
924
716
215
723
129
400
929
696
549
143
431
157
381
69
600
475
64
231
87
44
985
622
939
766
461
902
934
264
883
372
886
128
298
614
569
796
124
181
271
600
506
882
622
422
494
203
61
378
862
840
433
303
412
334
811
148
778
590
933
169
794
446
663
921
808
732
582
767
698
362
180
922
165
378
685
180
760
761
728
350
234
99
752
991
513
626
932
969
163
312
653
567
53
809
652
44
603
180
805
221
712
365
487
474
367
162
919
167
662
390
197
40
792
907
490
444
982
649
981
330
595
90
325
700
449
622
313
310
327
334
847
452
891
469
221
766
318
961
364
275
699
53
691
90
223
768
817
547
811
574
619
987
158
815
522
307
674
751
43
919
533
410
463
208
898
803
527
341
253
44
311
734
87
574
973
145
718
42
810
481
859
163
773
881
669
732
983
528
406
271
632
191
113
189
753
243
943
892
587
318
672
444
93
830
141
99
52
536
252
533
880
110
990
432
53
311
688
842
508
596
263
628
436
344
908
867
834
150
352
806
527
769
592
743
717
165
220
312
570
800
416
905
497
519
918
149
871
367
977
668
237
417
761
214
378
91
761
915
120
144
453
120
403
793
235
561
749
228
988
808
533
736
910
369
771
645
869
912
460
806
342
644
895
928
209
99
548
743
901
493
579
450
861
220
224
542
751
747
328
278
721
256
178
556
416
744
544
992
679
973
402
229
428
183
782
802
830
182
394
224
74
81
169
674
616
660
337
507
406
690
301
106
100
295
321
506
653
544
267
453
877
235
467
562
990
56
582
624
773
81
43
421
675
874
662
743
425
891
323
717
765
374
471
769
187
859
243
720
439
579
95
313
566
294
94
355
467
951
189
512
358
62
843
108
873
310
815
816
722
264
814
352
891
195
905
940
927
684
284
886
121
798
523
361
189
321
228
712
637
295
349
231
340
657
255
911
768
739
807
483
392
946
965
994
507
203
662
917
757
189
73
713
697
949
732
50
439
507
338
766
127
92
376
536
411
931
843
448
910
934
212
950
612
439
70
742
720
156
697
242
925
611
282
727
457
471
300
690
702
680
621
530
796
95
149
56
140
625
768
684
848
213
469
915
227
229
475
497
904
609
208
360
435
525
338
169
43
977
970
881
862
283
800
721
697
351
532
167
194
343
738
389
186
762
381
476
596
113
901
577
386
120
460
350
550
794
997
499
357
254
840
444
842
113
598
52
69
437
355
730
780
383
427
87
291
330
130
745
347
470
635
467
576
568
700
398
801
313
707
143
75
597
141
486
862
712
774
209
936
677
58
659
147
496
72
188
929
259
926
200
641
742
905
897
438
200
45
628
777
884
770
681
789
511
89
70
687
894
101
903
145
568
691
608
418
987
826
79
355
739
533
236
287
642
805
477
999
873
450
490
139
408
157
738
460
724
689
635
908
112
924
956
719
235
168
305
564
383
716
483
651
245
729
395
974
388
804
188
50
740
77
905
574
224
457
734
330
338
140
691
547
483
935
355
842
346
663
813
440
137
832
422
923
715
654
312
987
602
415
510
238
769
217
400
251
570
968
96
831
802
431
722
810
220
733
43
272
681
218
44
210
597
342
774
276
399
848
137
805
758
630
667
126
493
70
793
687
620
227
172
67
708
503
634
199
427
260
382
71
129
247
841
133
530
90
405
265
649
361
268
505
764
546
955
572
278
243
234
130
143
827
347
106
803
499
533
679
238
644
929
187
205
791
489
519
809
649
370
216
175
299
41
845
854
966
689
173
333
539
393
149
945
418
256
389
588
249
804
900
403
301
694
644
576
500
967
260
844
499
717
240
704
706
202
994
100
927
516
452
173
815
69
619
618
442
823
945
574
282
323
713
636
388
583
468
650
178
397
504
380
211
173
780
938
390
67
937
73
806
139
459
269
551
684
854
373
96
212
871
957
469
954
842
756
855
841
353
767
925
522
268
675
949
85
62
187
802
874
885
966
179
130
481
823
97
531
279
977
69
298
710
269
813
84
487
895
95
200
676
157
871
625
169
352
589
834
700
56
327
367
202
758
430
497
310
724
238
250
956
582
155
174
710
816
847
993
422
805
509
526
840
742
977
71
975
576
224
981
112
865
111
185
112
793
747
40
755
686
362
760
603
361
239
320
77
451
736
340
560
831
46
81
846
867
777
568
44
426
605
137
873
675
995
852
748
836
861
48
577
140
641
64
419
774
604
319
105
810
184
707
600
100
700
227
982
277
356
201
816
211
486
630
164
778
650
566
721
104
417
528
137
198
271
276
181
326
130
375
128
732
964
388
315
916
755
784
609
266
720
704
990
836
255
127
785
465
800
811
498
728
847
741
921
727
551
750
496
424
758
444
966
857
349
327
996
166
392
215
449
497
740
570
795
507
712
142
897
608
100
835
93
299
620
592
606
436
809
321
436
447
118
476
210
488
428
768
800
402
223
545
997
602
879
120
908
504
760
819
319
538
359
952
199
368
962
356
372
948
83
461
436
502
521
166
351
751
166
666
220
960
813
233
293
718
459
422
734
354
304
758
856
246
422
95
766
724
194
920
673
972
572
867
465
925
330
447
679
742
153
480
190
790
680
213
405
90
161
250
400
992
716
269
921
245
64
325
979
121
332
387
769
658
556
160
323
715
869
570
536
880
424
913
293
408
443
569
487
224
371
408
525
282
414
492
310
255
269
345
154
876
380
781
470
693
437
331
797
796
860
301
936
845
700
491
572
558
174
228
509
781
577
970
816
968
859
363
228
145
497
705
905
136
768
271
537
410
820
251
315
451
746
487
902
263
60
894
442
430
706
569
122
92
958
756
723
641
237
978
289
951
427
258
322
184
648
572
793
455
800
233
334
741
903
254
654
847
852
992
248
816
120
454
974
771
390
255
163
538
422
716
324
284
232
403
698
154
175
333
554
345
382
116
898
537
40
907
725
519
955
517
842
343
420
218
821
778
457
405
773
984
45
559
977
854
596
230
689
786
225
517
805
483
586
610
189
696
692
365
128
431
532
601
464
860
639
652
652
54
522
965
236
902
882
815
805
336
351
233
879
628
370
321
626
161
576
815
93
922
232
993
807
885
442
711
481
858
581
881
987
753
306
723
428
139
618
361
343
934
800
110
211
532
895
858
723
608
166
454
528
712
534
331
187
728
234
745
216
267
116
369
245
624
393
840
234
933
267
391
120
793
640
605
506
928
219
595
811
925
848
689
329
462
943
118
531
885
616
259
365
565
656
668
825
245
480
234
628
413
274
535
201
132
71
342
131
626
473
441
475
912
701
515
736
927
300
559
124
106
719
231
390
57
274
877
678
431
148
241
380
962
158
182
535
344
115
729
378
637
796
876
397
312
925
671
181
256
304
598
993
210
956
77
222
686
185
413
961
971
520
241
617
351
300
959
210
856
517
426
486
678
615
976
452
906
317
494
793
801
593
362
114
305
531
306
476
186
591
356
877
368
621
83
594
801
95
470
868
661
643
529
745
56
756
48
241
65
379
427
307
228
228
368
402
59
172
827
846
935
343
241
177
687
270
512
272
799
467
929
606
373
532
169
902
346
381
82
676
780
328
242
308
330
532
946
768
173
820
539
350
282
385
84
964
608
993
72
316
303
728
196
620
987
502
981
399
128
68
990
667
88
766
805
833
988
672
882
90
587
703
248
223
50
300
654
999
167
698
188
463
596
537
169
368
315
442
309
627
285
653
57
456
100
969
82
972
87
850
404
467
590
117
695
565
246
442
490
767
550
821
589
356
571
920
106
423
263
221
504
497
637
730
257
571
615
296
440
466
252
929
964
114
953
503
241
897
386
683
41
47
170
605
162
479
869
417
829
620
696
761
760
481
622
515
998
464
453
913
997
717
811
454
334
488
869
388
303
812
670
755
799
225
769
434
294
706
878
687
139
994
777
614
138
919
40
513
756
422
953
570
405
888
127
361
964
534
448
792
957
599
132
575
904
909
911
277
69
337
787
732
126
997
591
507
890
714
938
988
885
711
931
698
570
671
957
636
865
524
202
625
454
439
429
231
240
586
140
514
384
546
311
171
690
790
764
558
711
781
93
139
354
857
429
875
156
466
549
763
830
351
81
159
660
737
51
423
475
855
451
656
129
824
93
914
957
784
763
104
847
156
826
420
429
208
429
945
782
930
875
532
348
427
511
827
659
383
984
804
782
618
538
857
584
824
495
829
273
130
450
311
871
233
328
584
244
627
616
139
893
935
931
173
66
655
931
171
875
105
204
406
613
495
758
288
524
55
418
613
85
255
817
259
301
767
250
812
141
429
867
311
165
849
602
554
309
569
177
428
971
779
360
930
571
435
360
260
401
312
610
937
466
487
268
558
668
813
181
176
763
794
573
480
633
223
544
327
476
420
801
346
639
637
288
737
360
972
806
845
713
570
99
168
94
796
676
974
989
458
565
139
631
110
734
713
452
278
326
911
243
736
792
128
350
559
811
271
218
53
285
291
919
142
414
648
317
935
510
104
749
960
467
605
615
81
935
261
91
418
158
289
392
138
754
204
710
901
754
746
815
849
340
288
333
425
483
497
332
104
887
224
41
967
960
595
350
266
130
54
810
58
627
85
567
996
831
775
586
306
605
803
358
145
958
721
720
449
789
662
251
155
669
489
578
251
377
840
523
272
842
234
816
335
552
328
624
856
354
208
971
800
520
497
372
278
788
581
908
669
341
862
843
573
725
879
806
413
840
909
336
828
546
858
184
487
235
737
107
403
146
304
617
72
125
319
169
933
135
186
451
653
375
498
236
358
740
331
802
793
671
636
322
537
689
242
960
651
791
882
925
653
488
983
998
845
544
211
288
132
888
892
564
759
539
167
523
834
72
941
986
737
221
184
618
322
817
978
711
139
870
498
830
589
883
616
298
369
671
84
348
321
554
50
997
693
176
958
644
596
779
112
514
901
526
863
999
940
405
127
207
173
92
131
213
486
290
522
46
425
736
115
543
913
610
288
912
733
279
975
517
872
381
244
203
331
365
371
535
549
939
616
971
412
103
920
181
513
773
161
696
901
808
288
450
323
531
385
45
297
950
267
336
309
380
745
955
467
417
231
54
152
650
419
54
817
837
135
748
66
798
720
806
398
115
251
591
620
251
927
664
245
614
955
669
558
512
394
260
79
481
749
71
446
538
692
981
206
981
48
141
573
543
204
917
392
294
820
185
279
604
286
177
551
945
632
987
248
185
171
605
771
425
366
790
534
664
441
617
464
789
807
880
152
944
51
265
746
158
671
465
453
401
245
53
724
90
897
235
436
866
633
772
302
393
380
118
753
618
821
677
658
970
993
42
130
165
847
650
298
286
639
704
351
469
560
550
998
340
529
473
768
861
53
801
374
797
531
322
253
955
854
735
221
974
602
238
714
134
621
890
199
572
628
746
366
90
556
968
659
146
416
887
549
189
628
125
872
849
143
438
114
975
584
353
768
538
948
415
362
807
968
138
906
685
491
356
751
684
588
684
400
546
750
449
935
847
724
498
642
398
891
537
269
159
372
283
392
366
302
971
923
879
126
116
442
541
382
342
505
887
58
619
673
287
861
458
999
283
381
329
229
597
986
88
877
328
678
737
661
628
476
799
502
666
138
541
890
973
453
961
751
944
498
802
228
213
461
307
387
492
726
831
452
419
636
883
738
49
389
496
523
776
610
75
902
797
441
864
212
657
591
842
783
456
538
962
528
156
868
344
708
435
504
562
191
932
139
883
682
987
940
544
996
721
617
676
178
720
665
991
858
594
182
176
458
851
287
742
42
574
509
214
816
372
62
639
611
694
458
337
305
379
753
924
270
607
316
925
817
99
957
259
57
781
204
879
938
94
744
237
886
514
172
248
599
670
717
971
707
54
600
923
823
136
746
777
475
544
41
541
773
838
97
159
71
373
736
872
243
173
551
778
161
903
367
70
428
200
794
160
365
965
92
550
734
131
611
885
602
479
739
693
185
861
474
859
976
305
946
591
96
61
951
692
375
580
257
843
601
939
481
642
762
639
943
806
519
267
499
309
335
436
318
66
802
981
117
781
805
360
638
389
313
925
460
663
184
674
972
47
108
510
112
78
917
209
84
883
323
270
818
608
448
969
100
607
482
843
844
449
538
353
480
846
163
254
666
749
273
256
988
185
175
391
76
929
854
762
667
635
905
741
343
503
375
310
387
808
183
126
194
907
924
333
529
335
803
598
799
276
832
46
129
975
237
89
278
49
750
779
893
996
544
778
362
605
609
326
340
631
855
307
47
677
116
738
43
865
867
234
167
433
655
879
893
658
638
709
48
631
831
446
771
110
885
190
510
325
520
258
596
228
471
367
486
862
569
534
700
245
424
299
747
218
595
669
929
173
873
211
953
653
331
311
77
368
916
369
417
189
929
441
379
112
55
736
154
256
831
869
443
405
329
925
810
639
936
61
549
881
501
580
197
542
704
365
760
867
495
329
708
716
493
481
721
622
616
365
958
46
817
201
78
787
266
740
639
351
104
317
586
123
851
572
176
850
315
597
196
590
852
160
321
222
989
797
595
668
611
164
178
718
957
294
449
397
174
491
227
466
266
975
153
542
700
353
900
675
623
52
397
242
467
715
49
801
691
320
233
712
518
122
634
906
581
618
56
687
77
766
238
119
325
57
632
230
345
883
473
612
300
74
164
780
282
882
467
444
63
326
395
870
826
74
533
945
78
369
894
172
422
610
573
106
899
677
651
487
343
410
427
630
862
533
710
659
324
665
362
909
95
448
863
521
787
259
950
78
490
550
599
216
574
781
694
879
722
598
996
301
199
146
674
483
365
847
143
501
792
502
305
415
68
116
797
355
610
949
602
694
637
682
583
918
74
885
802
580
324
223
984
551
409
498
987
768
509
305
391
661
816
661
506
114
293
266
976
936
302
363
682
127
947
233
513
790
970
761
267
791
376
958
645
441
115
211
148
524
796
627
843
848
252
676
443
47
738
883
403
549
674
990
389
462
584
992
840
194
432
349
456
145
132
355
42
153
534
386
799
531
198
765
809
789
403
408
740
949
251
639
273
167
177
705
691
679
758
839
631
311
828
446
174
362
927
270
745
663
779
652
737
726
830
531
62
628
736
748
495
352
705
404
880
886
290
845
405
513
594
667
91
104
94
881
943
748
946
135
561
380
88
687
587
90
790
628
780
860
831
638
868
370
716
303
298
851
547
590
200
700
115
180
214
421
412
822
482
631
720
382
931
150
123
560
171
846
469
174
892
224
615
973
269
345
785
832
160
953
415
193
166
239
476
530
511
323
620
457
75
61
632
785
821
437
516
960
785
528
315
865
444
238
147
498
377
497
321
688
142
565
109
178
842
160
230
918
228
291
349
620
195
429
575
843
751
354
225
790
608
931
645
289
387
526
915
447
163
754
621
670
93
540
904
326
308
148
73
151
570
953
57
936
123
985
572
414
909
49
640
770
599
156
520
184
825
481
582
91
588
718
202
457
907
405
110
370
750
262
348
574
317
864
42
880
481
773
337
846
999
656
367
909
519
293
884
622
829
944
614
628
726
348
350
823
756
558
55
476
80
777
847
121
111
317
763
344
831
394
443
154
640
530
373
198
697
527
969
612
401
574
945
221
455
965
555
685
692
708
652
967
113
501
681
721
941
777
266
488
255
348
375
936
544
519
685
242
556
481
733
140
70
833
836
447
614
420
463
882
643
714
119
783
587
421
472
946
757
464
868
253
181
215
483
342
136
214
694
767
835
224
448
116
791
494
802
587
469
281
947
48
722
182
872
808
931
195
571
116
478
136
663
89
588
110
785
331
470
606
377
591
913
607
420
650
192
42
449
684
544
938
478
538
369
203
494
76
615
136
538
298
98
211
116
554
685
899
753
222
932
895
154
924
430
480
990
593
333
41
713
740
743
534
147
723
138
713
733
130
587
489
115
517
185
944
276
185
783
393
628
888
761
138
459
549
759
394
541
316
204
997
177
240
648
460
295
192
261
299
417
498
803
293
104
698
376
73
483
334
224
570
675
801
394
944
94
197
793
812
415
276
122
226
505
374
880
847
184
817
335
555
467
526
885
160
927
754
580
156
117
446
81
828
859
363
804
756
343
164
715
796
79
391
629
232
692
621
349
580
288
832
331
683
350
663
476
325
967
516
55
941
843
846
269
401
238
448
72
73
280
894
831
281
179
242
967
286
909
767
759
246
101
312
609
295
726
747
447
196
859
89
247
732
358
499
730
774
702
448
893
532
221
272
735
702
672
499
889
495
368
989
82
283
398
64
176
45
970
134
931
477
242
397
163
613
94
899
80
565
65
513
647
488
571
796
245
175
932
613
665
982
596
549
940
287
911
704
633
468
411
593
903
903
717
819
259
688
82
859
44
82
431
542
135
828
491
886
678
415
55
436
995
78
40
982
278
199
542
325
605
855
780
872
155
339
189
87
625
646
664
644
752
243
795
527
866
520
385
82
840
146
189
912
797
923
952
545
405
372
654
259
447
128
209
927
77
771
938
246
474
985
508
991
772
455
941
421
902
569
165
419
219
620
330
793
770
130
90
772
841
349
774
121
328
195
565
883
244
334
696
997
207
255
408
73
288
129
251
197
636
168
197
177
225
851
707
935
229
502
811
500
48
945
613
317
590
569
422
969
990
809
371
424
512
616
631
527
128
419
849
502
814
986
897
686
686
373
556
200
56
461
888
318
598
442
920
664
619
388
155
549
177
825
848
195
492
792
142
796
452
264
703
276
271
51
350
269
435
655
238
405
596
874
852
228
685
187
676
366
59
723
156
541
878
863
140
221
721
99
440
290
843
816
639
748
368
301
471
56
928
601
751
228
980
850
100
951
399
495
991
786
95
555
199
617
632
542
473
963
305
847
498
887
509
601
731
312
44
86
144
733
563
963
402
880
149
912
213
649
388
648
245
683
174
952
158
292
940
649
541
198
483
789
302
927
67
278
283
616
650
949
558
665
277
610
834
896
62
223
485
832
44
174
381
649
596
657
552
811
605
941
625
982
703
352
318
553
382
805
924
614
209
754
200
463
822
636
180
460
433
282
363
106
680
607
589
347
167
40
966
583
478
755
739
365
801
974
766
670
582
616
615
319
704
713
330
213
918
774
180
528
657
617
51
931
721
581
268
712
576
411
763
783
863
707
511
469
882
745
830
871
788
626
143
505
774
389
203
475
434
723
962
842
305
315
978
368
973
484
998
933
344
807
293
945
109
992
452
610
432
680
614
451
43
102
491
168
917
266
206
262
190
101
307
700
770
793
977
337
732
699
158
183
636
956
180
579
84
635
370
324
564
971
582
771
874
441
87
492
209
51
308
891
842
743
969
228
490
319
962
674
469
183
492
47
579
155
578
702
240
380
677
843
941
970
817
817
542
372
704
691
105
310
236
533
459
118
886
438
758
55
712
524
751
614
602
829
537
42
171
210
912
373
704
343
454
791
939
215
374
83
439
491
988
367
881
948
96
131
355
190
268
771
745
920
916
382
165
728
319
237
301
841
458
858
715
214
49
397
775
161
160
999
250
945
474
723
449
825
707
842
90
389
707
631
147
591
848
905
385
242
796
740
925
557
775
432
446
821
503
872
364
973
903
710
736
830
91
915
995
216
66
312
351
553
185
780
754
796
667
642
316
163
870
46
608
142
48
125
344
842
306
64
579
114
227
706
903
185
919
918
177
911
481
814
819
789
655
936
566
51
266
249
498
350
862
700
880
946
174
145
807
338
614
955
413
918
64
46
383
144
947
896
271
887
374
90
595
627
105
794
286
493
176
640
491
854
269
442
858
201
442
302
390
263
158
818
543
239
344
932
327
190
528
702
814
604
508
157
890
381
594
276
237
137
487
78
855
772
840
834
583
622
937
645
922
450
529
264
209
394
82
458
293
707
951
200
178
954
990
591
783
954
932
478
296
985
271
545
832
565
411
269
663
761
883
57
232
778
87
918
779
167
48
352
385
991
282
59
709
891
432
480
196
244
619
850
190
976
646
245
106
382
709
229
143
602
773
682
211
775
899
834
958
705
167
647
66
947
548
775
147
530
76
430
364
589
639
678
517
235
748
60
837
346
683
886
491
974
646
517
914
744
572
494
333
972
715
942
221
279
688
318
577
640
802
806
381
318
932
582
183
463
896
603
339
157
419
304
388
873
425
597
326
706
727
99
525
238
543
581
385
821
224
383
995
141
624
125
367
658
382
122
718
578
860
352
196
249
45
218
681
255
169
561
731
327
395
864
858
537
503
662
927
568
904
317
431
954
953
423
218
407
132
760
903
890
113
709
603
517
720
325
389
603
970
637
148
584
284
745
497
955
243
854
665
791
345
837
40
419
744
256
92
707
771
424
421
282
762
351
222
767
680
888
370
767
881
145
243
800
47
674
643
532
744
42
496
200
369
826
834
405
257
663
68
77
970
217
605
521
316
702
540
742
148
751
467
866
347
896
555
903
41
162
380
323
595
307
685
219
818
897
466
469
98
680
722
468
276
457
704
428
288
567
532
724
363
825
571
884
83
628
929
540
195
710
774
618
678
967
973
192
978
936
680
279
995
422
851
855
866
409
561
971
72
779
147
574
65
774
185
719
731
163
491
675
335
611
563
854
643
578
988
216
298
555
986
616
694
127
94
384
928
237
431
60
283
251
913
274
657
756
553
460
552
254
429
922
246
607
825
644
397
735
237
504
369
239
411
704
508
450
786
952
703
657
372
253
229
407
242
335
523
958
153
790
567
591
642
617
266
615
613
724
955
658
174
309
123
714
139
354
837
438
205
919
255
946
478
260
466
969
434
353
798
619
297
271
573
228
262
122
867
816
182
64
217
358
948
856
604
778
520
121
634
759
113
869
774
134
619
443
73
684
463
999
189
946
926
252
845
745
317
551
56
705
353
362
922
275
343
720
429
938
697
504
532
565
345
271
467
40
343
743
50
798
574
224
740
895
521
858
826
373
836
149
646
386
670
56
122
117
989
254
325
454
836
409
710
264
307
766
263
972
505
165
913
554
720
819
934
644
593
495
531
337
379
711
275
837
772
568
536
200
607
442
656
908
285
806
613
919
785
217
530
926
358
754
292
498
887
214
792
946
816
914
408
519
313
663
771
826
379
67
942
368
380
484
904
287
365
535
767
210
196
710
351
597
440
850
50
705
956
666
764
611
264
715
647
729
524
507
421
197
997
762
603
538
606
380
753
389
322
745
759
825
455
861
904
913
719
455
415
953
403
976
956
479
305
138
438
531
937
732
534
407
574
144
405
262
795
178
263
111
273
970
608
462
980
594
137
463
742
881
862
379
261
752
360
625
711
377
266
454
904
842
553
639
672
414
741
410
553
537
832
178
424
758
870
633
76
183
171
619
642
805
833
858
775
983
814
433
181
663
870
933
444
441
345
278
57
543
740
704
443
371
364
139
976
924
800
742
440
198
499
98
70
916
96
133
857
755
257
998
924
765
898
880
784
635
50
149
704
482
992
235
141
416
504
232
757
531
522
228
890
792
980
269
637
998
813
370
219
643
787
968
462
127
454
791
606
589
141
807
839
774
155
558
809
428
796
365
261
776
308
915
59
276
245
248
156
865
835
881
457
334
539
167
941
837
795
687
381
937
831
474
663
842
954
625
989
963
994
140
999
214
474
706
210
666
60
244
550
107
770
480
442
56
608
427
623
396
857
766
306
250
231
369
484
546
401
710
219
231
980
425
707
829
337
494
189
436
570
715
155
639
97
238
388
93
750
351
777
580
849
775
708
289
942
961
936
61
739
730
891
337
771
297
346
377
340
876
863
362
718
339
303
451
862
666
745
821
730
713
991
629
95
207
330
996
902
129
359
934
348
758
760
218
684
68
623
813
999
781
563
761
327
262
247
541
365
240
784
770
513
125
913
788
459
317
679
817
305
323
411
704
338
792
949
635
970
345
413
863
522
632
556
59
264
652
251
678
273
377
291
352
144
521
239
491
912
154
435
69
533
140
784
495
585
901
532
400
706
713
924
690
415
377
427
684
624
184
785
570
104
292
387
375
311
120
300
96
863
411
74
263
607
699
846
697
405
264
899
538
198
107
322
935
583
323
885
575
446
636
436
98
650
935
475
278
423
354
753
746
148
113
358
347
405
771
55
48
61
726
422
574
347
97
348
656
942
840
311
478
810
568
539
736
668
773
885
583
706
923
115
169
677
160
114
346
763
89
582
564
520
500
161
325
534
435
998
91
385
971
858
84
928
733
542
142
744
126
121
284
624
936
904
905
979
220
508
448
967
523
450
296
283
477
593
644
972
878
492
619
216
740
930
780
508
231
281
213
271
436
653
941
601
258
938
109
931
326
253
718
226
827
875
696
889
513
198
440
571
43
228
986
828
975
109
675
650
989
340
901
175
171
106
725
876
840
101
87
628
581
447
619
100
507
402
271
424
652
925
959
130
311
709
273
702
169
620
459
155
569
656
430
987
505
40
821
655
606
511
754
835
381
48
399
269
181
464
558
198
356
879
665
197
237
310
114
207
217
802
338
582
667
532
802
97
237
637
529
429
385
971
221
591
774
45
993
327
582
512
399
522
933
923
979
911
175
956
816
79
205
475
591
147
906
69
463
659
74
707
673
221
337
746
588
172
802
517
585
267
179
201
282
707
585
419
967
428
399
481
178
857
996
324
277
305
217
876
720
675
303
92
249
687
900
320
231
301
730
652
149
238
787
845
100
728
702
504
313
187
742
529
50
272
803
656
351
235
944
868
440
699
697
330
348
844
841
431
150
874
619
246
239
541
48
53
126
64
55
383
944
674
208
351
122
117
693
750
306
888
797
310
80
890
655
425
303
553
836
263
239
915
877
982
730
376
270
970
404
564
417
87
444
341
56
688
431
120
318
102
263
429
970
318
400
46
189
719
858
41
310
120
231
715
423
214
155
419
142
82
815
266
994
346
802
46
245
718
419
595
418
449
803
824
364
795
41
376
523
903
372
492
828
143
827
697
46
772
260
317
995
638
315
501
537
114
486
775
361
580
339
821
514
382
459
206
579
976
590
925
63
228
872
349
397
914
951
989
411
474
48
532
542
305
796
619
141
858
60
774
206
467
448
454
875
354
68
962
107
720
434
105
774
889
181
622
150
337
489
89
385
301
226
346
182
883
304
703
370
588
204
212
703
324
685
134
715
421
441
239
311
452
897
937
503
427
232
695
868
44
145
942
687
788
288
866
679
520
592
965
487
516
932
328
494
554
93
812
388
306
485
884
774
94
927
233
783
487
975
440
568
164
424
499
247
138
734
608
80
487
212
761
154
857
415
473
848
941
93
94
509
700
626
473
427
291
146
323
257
120
141
306
732
729
515
508
71
136
958
537
478
528
528
845
60
624
835
586
312
624
824
782
494
856
431
250
349
161
83
450
994
789
260
145
612
959
661
185
152
149
385
219
299
560
697
457
679
699
197
643
707
543
448
144
649
107
797
179
397
586
188
189
678
447
493
821
315
690
422
345
211
524
109
401
900
643
749
279
56
606
249
125
323
905
288
359
283
54
526
407
710
768
559
625
829
691
928
445
798
113
119
607
922
448
724
277
481
284
995
355
186
615
155
726
798
674
805
925
718
106
760
139
220
479
397
380
673
52
454
459
806
290
968
320
227
504
709
746
252
541
480
539
364
510
465
945
880
445
66
362
344
564
945
566
251
799
242
308
489
189
41
709
918
242
83
737
737
755
714
959
499
771
477
733
845
828
990
691
57
403
350
176
223
65
454
154
553
744
438
320
540
944
248
805
510
50
984
185
436
632
244
188
542
307
216
841
832
322
861
144
895
747
84
476
63
694
844
431
579
921
364
944
938
336
636
753
171
835
371
288
327
896
853
860
218
480
817
906
838
410
112
763
471
775
560
265
211
246
353
859
816
287
974
172
85
523
745
991
597
280
720
961
899
718
953
669
85
543
207
268
270
78
419
517
930
265
721
69
67
581
101
532
325
173
83
310
684
378
810
102
859
626
240
549
238
839
446
358
910
124
780
759
872
400
248
732
210
435
465
310
627
131
742
51
241
850
549
308
478
892
50
323
276
930
679
460
322
834
205
363
921
122
52
741
596
401
317
801
531
527
420
473
593
970
530
411
565
262
843
721
240
392
635
818
295
480
584
873
220
795
421
466
480
733
830
564
913
435
102
157
945
413
136
493
52
397
789
995
408
278
655
733
124
455
635
740
827
479
339
201
910
416
832
432
526
712
936
944
98
201
996
698
886
636
774
705
299
55
283
199
800
856
537
43
730
486
782
309
426
697
918
419
176
217
885
993
711
730
864
882
71
542
119
51
364
673
78
790
530
835
984
891
692
297
390
124
218
514
981
977
811
878
775
408
831
289
847
973
455
107
578
94
566
577
346
119
374
363
754
850
931
577
988
58
168
278
238
247
848
394
42
65
319
377
722
401
144
120
386
90
863
923
896
799
230
65
530
844
810
316
301
291
253
942
313
733
968
563
936
117
143
350
907
368
928
382
222
897
63
858
335
635
520
435
638
625
533
480
598
280
471
309
329
821
146
993
178
410
971
237
238
93
977
647
477
619
348
811
599
484
255
490
585
356
841
703
541
609
818
86
946
675
488
888
118
151
874
974
681
783
585
720
227
49
698
884
350
713
263
160
419
904
773
547
934
661
583
690
216
143
660
179
128
417
916
194
715
238
341
165
143
193
334
348
260
963
853
223
56
974
472
262
366
423
805
730
278
187
861
371
84
77
458
342
574
858
885
577
677
504
931
606
111
630
212
267
422
920
707
980
186
608
914
501
920
265
481
947
168
662
439
210
792
167
622
949
679
564
681
639
355
949
295
453
427
880
223
868
529
170
68
70
709
728
170
813
207
120
527
853
700
480
386
984
588
872
640
917
731
529
571
108
838
88
123
55
319
311
288
885
650
280
431
729
550
486
386
86
73
76
628
784
849
618
721
436
72
661
417
223
856
162
915
214
858
580
591
89
136
118
967
628
126
765
313
691
630
556
57
860
419
422
700
597
88
878
908
131
595
466
569
109
191
148
159
958
704
829
688
748
95
474
260
948
408
148
347
639
78
346
624
339
610
686
517
908
634
880
937
52
396
426
569
259
330
500
892
539
814
667
471
921
149
225
937
967
931
218
248
770
847
899
711
240
866
966
481
427
950
723
539
609
901
503
832
672
224
592
773
669
314
812
930
435
574
478
543
669
87
101
580
87
894
798
235
178
431
129
607
363
323
270
670
563
752
361
238
212
315
945
981
103
678
928
533
643
439
523
564
580
767
445
183
384
259
234
402
864
734
905
694
516
482
905
42
312
630
348
851
194
814
517
450
570
148
151
336
191
859
64
448
827
136
634
587
552
648
488
816
420
264
245
907
313
763
536
978
932
437
185
966
616
631
396
338
556
568
970
319
755
768
718
175
515
520
774
478
607
794
272
100
592
578
765
253
897
409
175
179
249
522
536
234
228
422
206
568
320
701
92
627
743
114
219
678
924
208
759
483
811
449
684
564
695
288
392
114
998
328
774
214
251
371
415
112
625
144
59
578
833
405
105
760
834
327
492
802
241
382
771
199
963
672
221
302
293
580
504
262
308
321
378
387
339
968
120
187
910
569
49
886
197
67
256
83
953
666
547
535
509
360
842
150
753
794
568
605
299
304
50
644
790
691
682
192
874
297
217
689
98
398
324
584
741
945
598
396
643
616
165
841
565
986
593
986
857
64
355
276
116
614
759
831
875
819
287
649
948
168
414
879
282
799
390
67
470
321
572
400
304
212
413
152
890
143
245
560
250
518
101
910
524
972
356
343
229
932
208
880
327
170
162
325
555
335
988
108
288
861
799
181
436
463
197
469
441
311
593
837
136
696
604
646
614
765
810
381
726
508
801
71
725
734
346
707
371
408
172
678
626
372
673
478
976
139
503
431
101
714
663
448
232
675
781
282
537
911
322
739
641
210
717
284
131
717
382
305
461
391
875
135
122
809
68
620
374
322
744
767
103
875
953
94
742
932
779
701
745
924
658
614
89
615
115
118
409
702
630
985
134
940
222
605
563
168
220
729
941
764
815
943
689
414
355
950
102
109
749
547
111
237
272
295
932
744
402
606
614
179
935
460
626
112
503
610
715
752
280
136
889
670
214
862
942
730
771
914
353
748
563
834
448
267
48
325
217
514
411
934
316
119
779
917
944
214
626
874
406
190
382
210
185
946
389
159
901
609
601
665
862
397
214
95
415
392
950
760
174
707
210
883
777
379
421
525
647
426
299
681
620
455
531
620
50
691
382
421
751
624
59
769
132
426
84
505
500
372
396
590
680
105
227
512
131
397
66
492
290
509
840
601
638
343
544
998
325
644
460
771
870
270
537
717
828
727
670
367
205
911
160
250
271
413
352
699
653
862
493
301
97
372
647
753
646
473
247
396
809
956
794
652
882
437
895
103
420
740
167
952
776
341
547
843
892
851
687
365
557
213
174
156
277
86
661
231
751
604
452
555
940
678
590
124
168
914
55
635
851
191
431
974
105
472
795
560
245
895
401
666
507
53
938
224
672
171
237
637
307
700
132
145
78
554
714
370
743
703
802
549
59
120
856
153
904
911
953
591
975
739
381
912
201
228
917
156
502
110
212
476
772
891
398
155
115
825
118
533
529
224
76
272
544
429
628
724
899
919
106
342
751
328
612
991
483
336
109
122
923
524
625
511
154
760
530
351
97
197
730
538
219
672
750
458
53
385
511
807
211
172
778
744
934
720
567
390
413
459
285
516
808
618
668
702
565
587
324
288
870
758
428
484
43
619
396
337
91
740
450
487
592
939
829
471
231
900
330
467
181
961
551
109
485
117
180
380
367
139
855
319
688
675
468
424
615
506
486
433
490
48
815
161
849
813
799
101
564
273
873
894
615
150
405
315
780
131
968
696
767
115
220
40
594
666
801
152
598
646
669
154
455
46
109
367
829
986
628
421
679
164
309
534
466
420
71
208
512
81
860
53
312
542
540
316
573
129
784
996
478
855
496
140
97
112
803
430
151
124
734
941
585
987
211
760
744
523
782
193
468
832
993
733
780
238
966
61
820
496
850
595
234
993
302
183
134
791
648
575
198
408
626
542
633
487
726
279
263
122
482
412
616
365
373
773
878
569
789
602
569
886
548
307
236
428
284
903
622
314
592
266
406
647
542
724
283
694
536
859
140
854
908
919
272
684
160
575
990
559
806
919
396
395
734
472
388
396
136
499
340
178
421
870
146
944
52
463
522
328
268
781
444
727
503
613
685
102
915
963
814
44
145
125
718
535
761
992
762
772
418
159
561
487
875
745
946
852
122
821
49
332
366
42
747
350
622
846
860
82
258
457
120
499
316
119
73
215
486
644
97
66
656
243
601
76
947
647
409
854
946
515
639
272
59
682
102
656
117
939
719
58
584
123
222
513
361
322
984
961
555
873
238
709
385
909
378
702
300
737
944
547
212
389
656
905
431
254
688
60
610
715
717
975
282
52
734
891
921
701
971
759
936
954
615
134
140
548
760
934
694
568
379
573
52
139
239
870
850
630
316
682
934
642
948
778
997
526
525
389
466
135
930
291
149
630
261
479
550
791
888
132
340
298
708
846
267
502
639
220
928
638
498
95
964
929
98
440
401
555
129
528
502
964
621
877
898
919
599
180
175
197
576
452
899
227
790
977
303
580
246
475
462
673
624
861
719
183
677
952
346
968
679
576
439
766
829
220
944
823
989
803
273
386
183
846
221
280
402
278
568
47
707
159
483
592
642
807
745
550
843
813
611
509
972
496
65
321
352
572
866
332
724
890
883
711
204
522
742
282
913
505
107
93
710
387
413
790
279
104
766
317
135
441
895
122
931
576
863
468
904
173
533
267
348
182
856
411
529
933
494
56
117
790
289
162
597
790
721
47
754
752
477
307
50
291
201
411
858
164
503
978
908
411
883
796
118
746
558
76
590
603
209
993
675
891
192
229
847
656
350
577
244
645
418
625
857
703
283
897
629
676
222
910
105
703
254
517
162
508
48
567
841
121
422
449
45
860
723
448
618
273
74
375
725
473
698
871
713
184
172
574
88
987
630
208
232
353
980
389
283
82
588
289
179
199
931
202
471
713
970
191
287
638
205
191
174
92
853
490
150
735
85
580
116
839
861
264
900
201
257
588
188
602
367
307
196
556
458
550
129
585
585
819
319
165
334
865
649
805
364
968
799
109
877
252
100
566
867
752
449
794
116
168
186
975
672
112
999
274
74
340
321
849
214
74
130
791
967
97
442
808
699
958
331
136
619
54
657
292
902
99
283
52
911
928
565
687
453
453
261
945
519
978
720
488
479
226
466
415
577
643
293
528
348
943
657
210
721
89
203
133
505
738
521
915
535
236
669
206
57
697
306
642
787
946
901
445
936
628
227
489
224
528
793
174
640
935
261
66
258
992
501
607
347
391
757
960
50
59
963
160
972
231
85
243
943
176
110
919
422
420
591
221
295
972
230
801
409
547
808
638
888
512
46
845
953
290
994
181
357
364
988
757
229
409
215
704
282
900
737
77
109
72
924
560
381
451
326
726
802
420
861
816
941
506
786
93
864
686
326
63
224
867
348
406
807
988
753
644
517
646
455
275
70
877
111
376
371
851
494
411
518
576
364
989
548
40
708
140
794
430
385
443
527
366
481
262
902
998
418
814
214
735
379
78
780
325
312
54
790
310
272
158
728
966
867
820
76
46
590
757
412
733
612
696
735
981
866
98
753
840
611
702
633
777
955
272
391
838
521
112
363
547
567
513
852
539
413
204
927
804
586
130
996
688
544
371
559
624
866
145
929
328
619
576
501
557
418
68
433
717
744
842
529
102
805
917
81
909
62
75
334
578
211
751
249
435
525
856
734
742
316
613
542
672
868
896
65
117
954
137
824
851
810
852
820
268
996
644
759
332
214
178
961
959
495
150
84
604
584
183
54
722
604
756
865
517
352
612
311
327
612
670
867
819
304
404
298
521
882
813
679
229
52
185
669
550
525
565
609
165
528
457
888
187
755
385
58
85
424
168
145
90
826
684
405
308
323
831
244
941
765
118
420
344
943
866
398
984
891
878
372
45
538
344
920
883
882
736
146
426
396
670
191
882
162
495
309
589
831
144
217
858
921
374
777
146
883
773
733
567
317
229
553
317
221
95
800
413
59
639
361
51
71
141
514
412
67
702
278
448
159
228
970
492
995
453
768
788
735
532
589
583
989
90
212
888
381
175
287
534
330
166
213
905
460
656
367
896
87
317
228
628
243
462
350
825
990
780
338
474
437
451
560
705
144
676
246
470
82
418
782
456
307
978
584
794
187
190
416
353
509
752
177
465
578
242
274
112
275
787
450
81
802
515
953
246
758
207
410
111
43
301
431
428
605
719
872
623
980
163
303
266
210
900
203
286
889
529
726
92
569
686
202
421
231
936
59
633
883
304
781
149
596
855
303
194
696
367
428
589
931
408
102
628
150
764
637
466
727
558
271
982
979
971
82
700
800
562
383
165
112
80
704
801
326
263
949
407
735
354
132
322
847
466
680
613
864
210
62
140
244
874
924
478
980
893
322
515
648
842
167
682
366
229
425
516
342
228
879
858
239
858
563
468
131
139
85
867
793
409
421
580
267
783
906
159
43
862
323
264
267
800
458
459
158
428
333
449
721
319
987
530
409
70
145
223
120
572
468
506
146
507
510
337
225
437
707
985
901
801
485
186
143
451
349
236
723
760
508
440
784
206
839
409
448
434
358
609
352
193
731
535
177
359
46
768
660
380
623
192
114
777
680
791
103
151
317
728
439
616
980
298
696
324
482
904
833
663
664
42
403
61
106
667
764
458
554
563
536
483
87
629
852
865
479
394
969
807
543
827
964
514
443
888
771
694
807
912
753
576
998
432
65
379
796
626
308
53
313
563
470
273
666
770
900
952
689
592
230
252
165
829
949
231
892
636
743
345
824
207
542
648
878
639
783
538
767
522
666
473
213
905
866
891
44
914
310
368
803
391
922
673
424
928
76
787
896
602
275
732
517
366
580
624
118
873
812
596
500
567
271
528
831
644
469
339
330
119
650
273
422
558
856
559
105
872
884
112
486
202
722
204
182
261
910
199
430
75
350
775
356
157
677
734
648
997
995
524
498
99
845
967
270
768
526
547
474
518
399
196
442
237
807
333
749
182
560
997
160
727
870
324
698
82
702
814
931
712
83
725
882
656
245
541
145
715
426
353
212
821
924
141
718
231
525
204
425
646
242
786
770
408
165
820
736
994
348
996
827
210
853
94
476
873
626
431
679
815
733
169
629
673
305
270
335
135
123
228
434
918
244
491
217
713
135
698
915
536
361
972
83
458
931
226
635
383
335
592
818
161
649
98
649
136
820
843
71
410
198
835
462
205
553
712
833
811
940
160
398
925
986
334
583
817
755
899
736
740
921
160
678
318
111
755
592
103
580
419
571
666
56
637
690
955
951
553
852
286
349
400
199
910
124
607
648
505
926
292
490
453
189
497
199
824
245
257
153
132
966
997
960
583
706
949
402
284
126
135
870
740
873
939
232
514
825
595
177
519
364
746
74
319
961
415
779
369
513
494
419
149
312
341
57
915
136
791
729
41
53
916
133
777
109
252
765
231
854
549
916
587
414
425
318
977
539
555
955
537
305
861
942
414
606
647
814
133
359
461
454
773
862
536
776
72
896
528
956
355
815
713
284
205
896
325
503
691
618
718
441
959
400
137
464
849
82
75
290
289
612
620
76
697
799
221
450
313
527
688
240
891
760
455
368
679
666
997
49
682
279
184
703
148
152
412
656
89
624
457
751
581
755
460
670
689
357
881
925
105
250
294
328
62
625
975
110
889
350
771
368
873
311
705
78
580
498
898
305
964
910
631
705
532
179
92
909
166
291
139
816
985
671
310
883
517
787
535
481
491
644
790
442
380
263
163
466
390
266
438
212
706
48
313
432
486
492
161
182
822
502
652
601
883
622
543
323
524
449
113
707
93
716
299
136
42
383
776
135
878
943
451
935
730
206
563
418
286
170
766
902
679
535
101
693
56
985
651
739
503
772
237
363
295
691
58
212
839
191
326
522
860
664
772
857
407
626
432
731
805
66
467
403
219
711
676
365
61
848
941
605
761
412
637
647
592
134
202
635
451
660
504
518
355
412
148
347
288
944
110
806
770
316
984
522
838
581
978
102
852
203
533
197
604
472
666
290
658
449
380
46
741
586
246
741
218
270
268
60
215
722
481
968
436
426
916
246
873
325
638
191
274
183
311
822
973
498
529
575
155
691
407
785
681
112
985
841
750
958
561
241
818
805
795
109
915
199
248
475
806
383
627
507
890
210
373
154
234
202
94
686
954
655
846
469
977
507
841
922
708
432
671
861
753
105
362
469
160
702
624
874
836
387
877
889
592
508
475
523
504
116
995
57
125
639
47
583
923
108
601
119
278
214
541
109
297
173
264
73
652
702
284
583
600
897
446
753
916
56
597
906
155
207
794
153
304
485
937
258
330
808
445
669
177
666
990
570
89
408
297
309
966
776
783
181
670
535
230
525
254
889
367
254
782
890
85
165
237
716
337
76
401
811
322
981
275
704
802
339
767
344
340
917
87
345
548
220
716
989
525
244
372
248
418
898
76
210
814
963
736
46
103
594
300
604
741
342
194
80
103
938
841
939
362
377
332
486
910
256
978
301
254
83
858
313
482
646
52
80
239
871
624
472
388
371
913
620
776
402
356
441
833
581
916
642
161
708
738
710
575
802
301
300
665
41
134
606
293
706
443
748
121
920
969
176
906
668
492
500
436
721
251
367
587
423
494
559
949
962
930
255
130
545
717
322
442
671
674
106
317
348
377
562
401
228
207
486
932
766
83
124
566
924
439
726
545
188
102
370
116
314
57
897
449
705
303
524
365
416
882
269
174
258
281
178
903
517
689
296
781
309
629
716
514
178
470
667
389
655
546
295
960
943
963
478
482
913
993
894
177
784
844
393
849
362
765
473
818
309
907
560
402
563
451
151
254
137
653
720
103
379
603
307
839
611
177
480
974
75
714
316
800
714
539
978
379
442
502
691
267
930
402
590
196
117
845
231
727
246
149
447
575
144
250
976
426
746
427
564
839
565
471
56
88
467
209
108
621
818
995
290
634
270
530
848
767
406
154
496
838
685
115
151
859
113
514
776
78
53
102
279
718
397
115
755
501
487
491
355
432
758
287
932
669
450
745
671
388
451
198
108
503
148
517
54
243
471
408
557
112
754
683
468
558
900
455
58
378
268
136
70
775
653
423
895
152
102
520
393
264
143
420
146
330
784
253
463
236
699
385
564
518
802
110
69
222
436
872
794
691
994
154
224
180
184
386
752
216
369
392
186
976
930
894
546
185
640
336
756
645
565
547
319
300
43
747
811
529
429
92
257
162
359
209
79
112
329
617
973
633
297
733
501
192
549
279
626
376
697
934
278
205
211
648
496
111
719
863
530
325
496
859
954
961
713
649
891
966
520
198
672
129
496
224
304
103
245
674
551
999
926
699
930
294
93
596
877
311
63
750
749
385
769
867
338
219
791
701
325
264
206
571
206
894
381
782
791
161
279
559
507
618
397
944
620
126
783
922
746
778
142
766
794
604
583
724
83
840
575
299
304
51
718
44
451
917
117
749
626
717
594
284
78
128
379
76
452
421
711
273
40
354
910
701
602
108
108
646
375
906
623
692
681
326
133
52
969
625
916
96
67
177
277
59
194
823
531
631
95
399
302
652
618
621
493
497
982
664
712
720
362
251
117
840
71
91
795
345
257
743
635
518
763
152
498
667
909
343
967
60
785
867
263
136
873
587
806
902
648
337
895
337
750
684
130
916
256
607
298
659
945
938
237
418
740
611
652
245
980
673
937
493
327
800
745
116
443
401
353
395
984
295
765
883
150
49
953
350
569
410
741
308
780
707
929
605
194
434
705
631
395
610
561
353
289
600
751
550
376
278
456
989
361
884
485
754
802
891
62
709
481
565
251
711
660
237
59
956
766
131
888
501
297
691
529
47
505
744
917
677
362
929
898
250
196
346
386
939
291
891
278
184
946
573
227
248
406
371
278
997
941
475
717
693
841
886
159
538
339
683
908
995
718
152
923
956
81
632
656
775
844
879
296
77
431
205
698
750
520
310
887
672
682
223
812
235
183
735
231
725
550
59
50
339
387
718
297
699
952
480
397
649
583
194
400
534
336
179
367
91
783
287
798
581
145
262
701
572
64
895
813
48
622
386
973
316
406
401
507
628
928
731
520
470
807
735
301
745
845
317
300
272
967
671
389
519
820
389
240
340
604
56
670
326
903
750
493
942
966
100
643
871
421
429
382
67
268
923
830
493
417
576
638
851
232
353
321
921
993
762
417
187
656
694
252
335
183
409
490
950
97
847
283
703
134
876
880
479
626
737
275
731
973
754
572
964
853
77
940
435
987
51
902
373
791
500
486
542
314
562
59
823
777
351
699
323
381
188
582
233
151
326
893
212
809
496
356
479
861
143
781
305
282
373
205
542
279
906
873
949
788
722
122
229
693
886
726
105
803
551
681
980
727
740
720
768
779
412
786
768
828
352
135
514
121
353
522
326
125
374
712
534
352
638
274
898
653
641
789
118
249
296
961
180
768
806
462
797
862
550
373
360
328
264
779
348
87
946
679
924
320
411
719
163
265
282
48
172
594
870
657
914
115
674
270
225
621
782
537
882
466
76
627
74
498
501
774
785
256
766
345
894
711
601
987
655
357
175
241
270
770
68
961
62
961
316
233
434
338
223
154
852
721
625
439
606
152
214
667
867
634
628
459
72
423
63
485
252
43
549
599
240
570
613
906
643
554
528
373
192
948
510
492
424
562
578
381
750
103
620
50
299
67
948
76
739
70
172
891
435
148
697
196
141
68
276
352
334
636
668
474
375
290
706
558
840
224
449
431
609
173
328
381
347
333
777
210
587
466
717
242
986
166
333
579
148
963
914
697
675
706
395
70
430
397
835
625
490
553
115
474
482
631
764
276
442
443
630
392
219
266
944
597
995
553
951
862
985
130
952
810
708
620
731
181
830
690
565
972
389
325
665
224
333
832
124
482
521
729
867
990
422
555
52
876
876
962
771
412
188
221
198
189
194
321
177
854
558
232
500
477
584
452
522
499
157
557
701
320
340
913
805
642
143
789
380
255
450
83
198
964
530
575
444
750
195
161
118
860
812
943
487
494
101
436
306
109
792
209
321
819
959
327
214
540
592
649
965
220
207
379
221
433
703
114
365
242
770
498
413
433
976
434
160
394
87
623
344
699
288
845
339
623
387
212
111
988
582
802
981
781
390
244
128
234
761
101
880
225
311
703
80
944
789
791
407
972
788
553
939
631
376
90
643
296
266
657
221
261
518
721
123
287
227
334
831
89
68
984
818
327
310
278
518
396
688
41
876
115
432
576
49
251
583
635
476
587
437
583
316
970
163
818
773
232
364
144
426
199
308
40
696
623
69
682
649
599
977
467
610
700
770
75
559
572
113
763
779
272
396
471
181
529
838
255
863
645
178
862
403
561
220
763
41
190
879
429
400
632
263
51
502
192
315
424
370
784
933
60
451
562
826
870
75
582
212
987
316
446
76
457
637
828
566
618
627
476
475
372
53
142
668
721
322
595
989
623
459
916
865
503
43
796
906
152
928
140
727
356
574
609
549
655
323
785
861
158
971
165
138
63
581
733
920
70
575
251
728
525
279
61
624
996
608
520
58
410
77
682
677
925
760
713
671
369
685
900
308
891
899
706
126
413
653
444
900
218
925
129
280
261
329
967
587
458
551
151
410
812
951
371
710
724
999
193
153
865
966
226
118
876
522
504
419
423
762
120
254
631
700
448
42
485
273
271
47
528
760
872
355
631
483
674
719
707
159
370
794
431
337
425
708
270
514
799
176
758
249
436
98
288
89
800
724
946
382
737
500
802
594
994
480
51
406
326
460
92
999
973
878
711
846
671
197
440
849
498
804
802
927
633
999
181
894
772
986
839
242
856
221
923
265
951
353
981
354
833
440
826
685
845
287
740
310
386
748
999
899
950
697
128
135
816
575
483
453
519
678
609
783
384
258
868
494
324
297
898
364
69
974
853
979
425
420
346
76
902
536
889
162
564
666
308
358
767
78
727
184
180
728
522
661
201
284
480
239
734
341
332
432
684
802
829
733
162
213
187
882
207
841
535
762
949
914
678
675
341
559
299
692
991
548
996
599
950
229
938
289
635
252
112
497
532
452
799
199
347
625
48
224
826
684
899
260
545
504
778
69
250
682
135
186
259
980
501
735
606
464
875
741
334
194
180
804
498
920
538
98
290
370
711
987
449
553
508
605
545
154
760
830
165
705
754
273
248
387
588
574
416
252
338
509
651
564
563
809
225
671
634
442
863
585
843
323
320
522
888
963
170
336
48
528
726
851
931
542
187
529
160
929
90
839
342
548
380
365
471
242
296
847
249
700
348
607
139
885
111
379
590
771
163
492
906
518
280
820
430
371
701
347
478
761
982
425
187
109
427
771
315
408
790
272
122
47
989
408
63
915
48
636
967
446
177
586
500
949
377
742
270
242
547
390
237
950
242
763
789
674
503
162
491
921
130
622
558
905
93
687
315
733
821
633
264
943
203
254
782
936
522
45
523
382
974
46
769
955
553
203
551
868
734
506
701
935
414
596
814
94
592
702
461
118
907
298
720
451
252
828
601
43
933
475
747
250
157
286
849
267
492
260
779
639
369
198
576
575
557
404
979
658
857
80
823
186
570
314
570
870
331
226
952
989
888
683
617
61
587
481
899
103
50
491
656
803
596
301
699
65
650
833
729
952
824
162
885
307
849
147
359
463
970
130
247
693
162
639
198
631
555
582
149
401
920
155
101
710
898
654
201
136
861
764
911
202
115
489
104
800
106
597
209
888
441
142
107
973
240
967
534
835
265
698
698
963
437
450
766
956
660
895
875
909
265
545
695
834
649
743
337
443
364
539
374
484
449
416
567
373
245
684
878
455
900
577
242
48
751
860
537
523
379
210
397
201
533
769
249
317
497
699
310
494
386
537
78
659
530
278
923
95
80
77
383
114
555
576
953
79
643
872
678
826
222
810
487
215
442
94
993
229
954
95
939
967
206
729
672
877
314
255
577
205
570
773
796
341
817
557
193
913
73
457
352
746
315
762
447
490
510
715
187
579
162
478
171
412
406
677
325
170
457
196
48
544
888
654
775
472
852
372
385
53
445
537
492
228
323
362
595
512
388
90
744
95
373
486
483
996
254
451
455
168
163
504
246
747
786
945
789
656
175
86
787
804
102
278
410
493
655
149
635
565
368
552
502
840
519
547
805
599
936
81
235
448
246
758
871
387
578
403
578
708
113
304
926
278
408
698
679
192
568
435
510
920
788
840
162
679
680
412
269
208
373
795
161
623
97
937
482
157
505
370
405
139
402
205
671
940
852
95
972
105
506
448
819
245
44
618
317
721
706
792
499
353
208
227
649
686
575
210
181
324
325
920
119
481
918
129
63
211
322
410
516
338
682
386
448
814
375
629
808
123
926
817
999
357
965
892
727
867
770
64
838
101
51
408
751
580
699
654
290
141
280
304
554
792
908
201
800
876
816
946
401
229
143
350
409
889
827
835
305
142
678
310
886
445
102
482
765
311
496
418
834
575
839
199
787
49
220
417
469
191
680
244
723
361
561
91
554
78
942
858
951
230
287
228
833
493
389
555
964
153
917
501
601
417
177
780
879
993
314
179
264
474
363
54
42
732
46
993
635
138
131
696
164
313
668
447
946
474
317
64
761
374
518
764
191
52
954
400
980
651
856
717
871
553
757
967
819
214
571
132
406
665
384
647
733
900
739
478
845
588
820
996
919
551
858
737
897
205
252
840
852
116
606
808
854
590
753
699
126
960
105
908
434
727
386
771
329
179
944
444
462
504
81
258
374
124
48
914
926
411
48
557
412
262
581
61
362
166
165
391
72
134
858
677
927
982
466
702
601
218
946
370
97
732
622
952
518
444
422
172
329
574
91
217
562
394
654
763
379
480
193
248
649
289
798
920
653
657
651
758
893
41
899
987
115
936
721
630
746
197
574
181
244
639
459
680
287
663
598
137
524
205
691
871
599
303
42
507
555
774
289
315
529
247
631
827
97
656
309
843
372
145
655
526
41
897
895
162
649
654
900
994
617
394
627
548
613
137
438
236
386
481
485
516
808
982
666
985
730
575
765
404
86
730
883
509
868
671
356
604
223
627
536
218
88
590
387
920
763
995
951
801
894
787
881
159
393
473
744
482
894
157
561
278
947
375
858
499
847
542
793
617
435
683
259
515
378
473
419
931
900
154
859
876
398
543
700
76
825
261
572
298
474
768
653
818
601
307
691
269
425
307
376
632
928
447
442
370
956
921
128
594
106
64
102
173
831
691
745
256
633
750
549
466
190
284
587
182
594
111
804
198
432
779
173
46
115
896
753
189
353
310
441
856
798
557
300
755
919
182
564
747
455
726
757
117
467
417
337
158
607
924
623
490
904
832
945
723
712
531
307
521
543
270
325
900
561
221
611
166
799
240
743
104
209
264
226
559
896
772
921
274
502
374
844
166
985
494
565
433
788
173
308
435
72
387
803
159
775
401
920
60
541
471
840
169
161
938
502
389
466
45
394
573
987
139
844
256
476
637
230
652
524
152
786
191
157
236
685
93
418
824
908
253
194
829
790
154
946
251
266
65
959
856
795
709
931
49
227
280
127
442
544
332
349
356
298
244
484
87
455
895
43
257
931
581
553
518
842
979
690
790
751
807
741
431
476
824
124
268
148
89
858
329
891
463
526
666
293
869
455
156
738
155
869
555
264
830
728
148
883
792
921
326
764
754
210
166
793
746
735
198
366
52
316
281
256
490
864
798
161
277
502
571
869
240
236
640
466
478
972
203
317
582
232
291
715
429
762
433
80
930
342
744
929
292
425
86
501
306
168
138
250
522
650
822
760
423
491
316
305
402
614
197
563
281
391
559
592
682
158
491
971
854
391
556
962
899
825
588
812
683
505
230
167
66
889
584
919
115
270
109
126
617
789
352
865
483
450
747
792
471
298
447
323
950
105
598
342
63
566
678
877
446
837
379
419
672
763
329
551
505
988
336
67
428
810
677
820
332
748
666
822
925
330
848
714
83
945
75
840
912
92
454
106
879
394
426
877
380
64
451
309
106
63
576
919
434
597
677
469
564
760
665
334
778
604
572
148
585
453
517
215
85
519
160
67
646
431
84
259
455
496
159
118
123
172
65
217
717
127
597
697
507
922
987
426
224
313
642
399
140
325
160
938
777
643
564
61
734
888
182
882
455
687
494
682
377
688
221
542
365
545
778
951
670
858
523
997
606
445
399
444
735
375
460
682
261
613
226
508
930
610
410
275
375
523
731
355
621
104
848
363
871
688
951
103
558
827
762
967
451
834
965
434
232
218
292
348
573
115
618
817
54
168
924
374
855
265
546
209
903
425
359
191
125
645
620
679
682
891
202
161
240
678
879
230
291
42
245
72
778
141
171
898
827
632
267
400
649
761
589
613
924
181
348
747
876
545
284
934
552
303
523
684
584
456
240
47
57
413
976
108
186
925
989
42
55
650
502
175
788
817
158
693
56
432
956
706
911
275
453
597
609
507
43
286
266
351
476
155
261
269
881
98
450
204
492
721
939
548
601
256
802
524
91
356
516
618
193
146
259
47
574
325
973
309
484
401
417
106
809
914
860
176
959
774
57
795
347
868
293
379
264
998
763
241
308
460
565
703
159
943
752
302
533
320
149
416
768
567
890
557
115
548
850
69
94
173
209
336
378
400
168
169
925
996
897
51
159
528
785
789
409
697
919
347
826
166
773
314
208
474
643
231
514
253
255
120
494
939
492
340
691
181
114
282
826
327
798
107
695
62
607
508
844
866
650
265
429
296
116
780
625
328
797
328
364
420
106
377
872
524
116
157
753
241
890
780
549
823
81
605
83
110
342
194
97
192
218
83
848
137
197
433
608
579
59
754
647
462
60
153
171
576
408
621
73
193
385
183
832
259
546
191
976
998
157
41
393
206
290
175
157
152
433
984
223
188
701
165
195
745
620
633
695
40
629
738
343
169
919
858
730
523
366
341
367
291
505
307
916
189
237
301
366
235
521
352
643
982
255
845
651
670
813
396
849
902
320
726
712
965
164
126
651
565
850
939
82
365
762
536
729
737
767
132
760
476
937
276
369
824
428
824
225
857
159
431
836
854
816
623
107
961
482
345
445
728
807
302
939
887
42
144
335
143
186
91
880
381
421
461
943
402
193
337
624
411
309
186
988
54
391
854
328
66
817
639
425
660
951
127
646
460
623
836
391
467
821
874
212
207
44
686
70
599
953
934
379
201
672
313
535
452
227
318
900
970
759
88
191
286
612
516
657
145
303
406
525
335
159
857
193
324
161
830
550
876
775
910
330
612
419
147
478
629
487
481
759
312
496
156
710
948
230
977
690
541
218
711
775
341
549
458
161
554
184
71
817
358
123
192
338
390
884
793
114
618
173
438
278
212
81
478
318
616
132
967
64
170
916
842
776
883
600
887
423
902
856
965
569
525
692
715
955
70
888
663
366
525
747
864
198
711
607
394
175
798
45
333
895
526
926
338
572
343
212
589
73
461
643
463
359
390
337
777
255
717
600
822
450
69
218
68
444
638
627
673
607
720
511
682
179
944
735
547
326
178
663
728
456
864
268
286
652
935
732
206
399
877
485
886
61
165
116
393
619
98
781
972
936
314
460
646
659
885
539
913
684
177
446
183
712
645
306
564
707
355
671
494
986
683
734
962
887
146
841
392
83
530
567
469
659
749
793
867
406
828
847
529
566
498
968
756
310
232
261
702
305
216
231
509
299
797
192
150
979
528
676
406
535
104
214
433
816
306
844
118
256
250
96
700
334
551
143
887
432
267
783
704
978
635
447
457
246
548
838
920
501
502
414
538
693
269
337
510
234
185
992
718
89
745
921
187
517
49
284
564
949
552
300
748
655
896
344
518
461
656
669
807
331
299
663
359
587
581
684
646
430
177
267
271
667
778
48
817
205
426
316
849
184
361
955
883
59
47
763
216
790
696
50
380
594
735
170
431
461
251
191
486
644
48
136
312
448
845
953
799
216
797
311
301
833
231
709
659
43
446
454
461
94
649
909
817
459
631
518
956
601
851
756
198
646
655
353
100
567
898
832
739
535
105
498
219
580
755
638
181
997
845
381
553
53
975
864
678
192
697
44
550
454
395
551
696
800
247
878
828
927
796
452
395
802
288
387
385
535
702
845
463
467
203
980
784
56
573
320
724
760
279
45
501
832
418
884
803
132
800
487
268
815
370
263
536
438
883
774
358
355
478
583
698
432
682
611
838
336
558
647
605
910
245
192
423
474
761
165
689
828
976
507
150
391
757
656
477
504
735
622
964
436
193
683
847
461
718
970
670
775
104
754
360
512
541
121
145
69
111
236
427
108
878
553
213
479
554
610
385
269
774
557
121
273
143
228
389
863
534
278
382
168
242
181
76
949
959
922
346
336
827
681
818
445
215
811
656
792
746
53
383
410
299
492
648
59
161
606
163
580
119
421
686
719
835
746
709
906
938
472
898
96
337
267
111
859
137
174
681
918
512
485
783
807
915
600
630
375
201
53
235
708
161
265
884
573
757
466
665
538
887
554
204
795
294
665
418
364
756
662
56
249
58
216
422
599
475
931
204
381
223
79
919
288
602
647
854
592
659
868
614
687
553
179
675
914
329
534
368
662
849
636
65
910
471
279
774
333
456
742
884
197
918
869
550
233
200
697
898
490
208
615
632
276
412
697
966
91
719
414
915
373
798
530
351
736
969
818
777
597
699
360
350
236
130
310
193
308
735
388
506
813
792
630
210
654
475
169
852
882
839
736
582
387
476
862
723
736
217
398
940
470
886
398
625
545
977
977
186
85
597
347
935
844
103
349
371
134
87
822
858
619
300
725
196
971
73
617
308
434
128
570
582
761
260
407
478
635
595
539
255
263
450
247
870
391
445
170
475
722
637
438
301
455
339
377
957
976
107
104
92
651
482
143
52
445
931
215
838
736
390
521
270
299
822
918
951
930
137
713
387
579
549
780
313
443
793
445
664
607
117
591
828
883
985
278
166
603
924
860
890
493
494
627
625
401
748
498
433
810
367
959
967
568
451
489
882
840
237
791
467
680
188
563
418
104
792
750
775
42
638
200
257
49
277
147
486
218
627
755
762
268
910
263
945
510
625
481
787
410
818
523
191
563
51
581
189
576
481
404
742
329
317
678
659
926
785
616
187
423
352
131
625
305
777
764
381
273
615
689
55
913
299
751
743
757
617
980
180
313
661
596
683
531
259
430
586
410
273
193
909
856
66
427
886
717
420
307
852
93
281
443
300
686
297
57
175
947
142
413
461
109
837
418
326
433
854
731
60
705
991
809
83
472
631
805
820
914
735
191
738
992
62
320
451
142
734
131
641
852
749
420
269
674
879
385
769
349
309
731
965
347
384
480
826
801
593
500
372
90
670
620
838
144
771
79
525
840
179
703
614
276
689
604
135
447
640
670
528
914
698
925
898
645
251
610
43
138
545
523
357
433
983
376
694
358
324
704
162
866
325
112
411
483
78
276
792
403
341
521
678
912
794
834
429
144
914
97
296
120
761
409
688
90
901
848
804
711
80
832
86
488
844
587
492
646
134
960
828
171
119
856
101
616
634
544
520
872
367
374
947
825
396
886
635
367
144
291
108
952
61
544
87
652
376
692
394
611
426
485
869
757
775
909
698
659
157
115
659
563
376
986
591
78
642
539
981
205
929
792
872
491
215
377
678
463
804
835
328
646
858
527
823
290
150
698
642
716
116
310
381
370
318
257
897
117
259
720
235
538
350
189
116
930
136
431
322
103
309
390
419
452
391
491
133
539
807
184
80
554
810
896
97
705
599
904
85
218
728
554
769
816
661
108
556
950
999
154
813
486
99
986
404
337
692
639
822
932
654
537
781
593
494
664
532
726
175
545
636
921
595
753
269
946
212
131
896
143
843
811
876
890
482
186
864
503
728
221
536
784
190
467
94
515
979
175
407
308
961
43
237
169
321
347
569
178
294
42
992
242
192
483
791
81
242
870
611
566
720
667
626
538
527
47
619
475
55
963
144
782
113
908
926
91
537
594
604
355
962
616
952
823
990
775
829
196
705
545
94
669
477
370
572
667
148
828
90
345
962
358
206
156
487
407
361
291
979
588
343
740
923
564
79
813
862
359
679
109
488
577
514
604
474
915
171
317
797
996
403
476
261
109
899
976
944
70
904
371
815
612
272
103
130
205
480
647
337
190
52
930
441
919
371
952
148
680
730
863
210
655
836
909
909
755
70
727
919
50
913
200
235
875
493
70
686
88
695
659
435
179
659
150
199
612
231
100
413
464
629
280
82
329
233
915
904
130
401
809
901
435
171
989
843
510
56
362
928
494
565
860
471
347
984
815
645
545
973
691
331
541
955
124
210
326
92
552
148
618
374
390
666
55
917
525
796
893
597
777
426
247
801
528
837
856
113
303
277
868
920
472
244
452
725
530
330
831
900
191
713
328
811
937
381
430
984
224
371
447
250
79
688
304
910
146
849
902
46
727
301
544
583
986
380
324
555
617
372
790
480
676
939
197
969
614
425
515
662
317
827
969
363
556
623
408
851
333
391
252
978
301
270
398
582
975
138
568
490
997
391
412
366
867
300
172
324
894
945
622
52
616
283
749
100
669
154
972
905
849
729
274
232
461
208
760
76
659
902
170
819
271
398
844
766
466
595
489
128
158
582
815
723
306
753
547
414
459
907
217
597
100
214
953
728
846
549
776
149
276
316
338
733
686
804
886
580
328
886
999
157
438
210
761
639
151
731
557
784
529
313
794
393
238
807
48
206
455
240
568
476
874
886
312
618
703
533
364
500
390
217
674
397
879
998
686
784
473
546
944
167
750
268
550
790
411
727
883
805
702
447
701
123
55
743
413
698
433
475
571
541
997
756
205
806
269
506
865
547
822
323
428
174
996
703
791
553
938
854
248
90
724
171
81
230
346
520
919
420
299
156
678
379
397
206
901
147
648
41
578
509
396
986
199
160
678
299
961
660
725
718
706
495
768
567
267
313
651
556
442
266
988
982
746
244
811
249
428
269
429
118
786
789
377
707
885
230
231
776
500
219
243
858
993
666
834
258
910
824
295
252
57
642
429
178
440
658
838
874
738
238
653
735
585
366
325
154
895
50
423
167
817
393
793
603
899
842
158
428
485
60
769
627
225
863
440
614
382
168
187
284
475
600
41
719
342
42
975
296
908
210
197
296
899
436
101
340
692
523
731
294
679
643
156
199
153
82
129
419
736
152
83
99
905
416
127
718
458
475
663
424
880
910
548
853
411
783
344
229
180
346
987
661
622
43
48
333
152
834
730
517
421
701
45
377
515
119
102
561
522
506
338
461
912
334
138
355
160
832
976
209
505
747
373
875
898
686
186
65
541
565
696
935
272
819
536
304
172
885
244
266
443
658
262
587
480
891
322
53
669
805
432
493
388
873
763
460
857
939
515
517
120
916
75
962
199
938
675
197
260
697
738
958
990
367
835
650
750
616
890
697
345
549
734
713
552
473
549
419
832
657
852
845
201
436
521
868
804
133
564
457
56
586
358
254
554
728
867
619
95
514
810
734
928
199
156
695
871
952
98
853
154
230
795
109
420
394
467
497
717
620
710
739
655
936
539
740
934
223
488
683
278
300
774
721
457
498
226
657
142
948
524
304
874
652
767
323
301
52
389
220
106
222
886
607
600
99
558
519
866
807
979
334
805
976
452
328
496
741
123
273
518
84
187
982
669
890
106
432
887
732
612
421
828
210
64
995
565
263
306
786
484
666
96
545
473
655
245
58
172
993
772
257
94
184
584
660
790
110
989
654
325
91
256
837
980
704
669
471
383
672
463
534
963
622
503
78
252
457
319
381
211
750
350
525
400
446
85
971
177
562
311
46
270
676
569
231
666
777
266
497
683
799
574
98
728
818
548
430
760
478
423
887
999
714
463
547
551
637
106
371
178
971
419
157
141
312
208
959
374
94
569
358
160
569
183
649
846
214
937
247
222
922
582
148
583
209
464
628
292
690
867
300
81
545
187
522
169
352
335
73
344
992
689
295
769
718
950
243
82
882
738
213
827
653
958
479
409
696
709
436
114
153
418
529
104
575
841
493
729
855
296
490
57
757
293
822
997
324
968
500
196
88
894
931
181
391
474
863
990
888
670
228
438
861
938
398
343
415
337
535
594
302
899
134
807
434
152
154
246
761
80
690
282
948
43
639
595
197
387
380
618
418
920
641
706
95
60
265
657
654
405
706
623
355
611
280
230
604
864
209
804
511
121
790
111
533
142
465
425
265
551
481
266
290
50
397
470
599
362
335
677
712
764
118
177
200
663
501
650
401
559
750
426
974
914
837
650
443
498
235
393
922
159
894
838
365
82
820
964
676
262
187
964
874
980
463
55
704
172
227
813
813
514
467
855
750
877
935
280
109
690
283
884
928
958
934
551
326
69
327
322
800
808
134
242
402
726
749
372
757
581
209
137
900
515
508
934
349
92
387
638
773
103
86
951
465
777
866
760
84
681
81
258
948
529
953
625
512
379
331
418
479
860
128
125
44
837
754
590
783
160
720
836
89
721
312
821
872
268
232
629
86
858
368
515
48
646
190
178
883
962
670
357
90
204
200
132
444
548
494
246
403
687
985
624
500
319
166
211
80
452
725
774
958
90
900
73
447
933
788
840
376
47
835
603
662
103
846
604
417
909
736
852
725
477
462
826
295
632
115
291
458
161
251
712
537
352
422
77
189
867
636
693
747
64
505
683
742
301
220
375
74
882
762
204
930
74
102
657
144
655
796
716
799
677
406
765
669
846
335
987
522
333
977
147
633
254
376
870
147
405
44
515
616
691
975
738
903
961
859
787
422
895
145
576
282
318
141
128
957
253
366
863
137
396
64
440
89
331
668
134
135
981
752
584
99
999
753
698
254
532
809
481
282
330
331
374
812
487
94
177
886
906
101
602
306
253
814
735
158
168
580
246
686
189
156
315
62
650
807
181
210
425
369
313
299
820
661
729
195
124
188
742
285
232
401
642
797
653
487
227
867
271
635
925
333
987
40
535
420
886
760
633
108
250
937
656
280
978
430
512
359
355
209
449
239
274
720
789
548
471
416
106
915
917
781
402
593
396
420
142
49
383
629
56
583
440
918
41
782
886
458
631
314
828
831
460
564
72
218
106
939
389
247
926
515
632
210
745
972
355
355
608
884
832
872
55
653
655
618
643
642
793
525
141
726
203
576
792
632
399
376
236
346
826
896
363
989
531
514
124
445
258
631
612
200
851
561
385
413
947
255
138
104
354
270
350
567
486
587
782
125
670
737
867
498
457
808
72
82
516
242
523
548
212
648
698
658
76
776
58
845
907
169
973
570
771
788
70
177
736
627
660
97
988
94
566
207
723
62
512
588
47
393
377
725
923
864
200
221
591
411
481
613
845
163
530
249
692
142
226
760
668
765
154
791
701
67
580
765
710
781
829
331
240
936
720
947
711
809
323
491
444
402
574
765
464
62
538
955
398
630
449
370
637
391
512
540
526
492
917
190
986
843
151
564
228
416
312
830
692
498
203
903
337
789
268
531
63
357
985
570
209
385
801
367
802
140
425
155
812
976
689
792
376
467
922
634
453
208
60
629
479
949
470
293
49
836
801
108
135
248
397
810
654
530
898
82
568
284
540
299
999
896
679
161
255
951
117
649
592
676
342
898
903
387
296
265
207
774
98
461
873
189
996
434
117
724
765
856
590
398
402
547
733
239
76
353
40
267
408
659
73
696
757
954
454
370
72
824
896
703
109
727
902
96
796
722
646
835
348
213
599
188
905
492
864
723
66
616
189
155
778
447
948
268
151
166
160
774
759
589
271
306
812
336
973
209
635
309
730
695
649
702
790
746
746
506
858
850
122
369
854
832
815
42
805
746
836
94
263
615
575
858
329
260
912
317
174
448
855
611
599
566
152
52
138
501
916
316
560
699
728
255
335
698
936
121
261
907
295
326
865
826
534
618
698
614
89
675
173
109
680
566
883
684
127
590
59
40
452
926
94
228
390
51
533
593
232
258
578
961
832
734
902
530
161
344
384
966
488
478
769
198
620
297
696
773
753
101
944
628
416
592
843
73
846
341
69
243
978
519
263
100
901
823
627
217
630
849
493
101
349
416
307
345
982
759
292
97
357
258
282
613
499
856
366
763
650
364
673
258
77
925
194
475
521
202
833
516
867
112
491
730
643
524
845
620
403
881
812
185
270
280
293
446
74
932
833
702
924
849
249
601
964
702
525
298
790
197
115
339
351
700
305
189
517
652
406
761
807
903
194
596
812
538
374
705
599
138
399
247
169
214
194
524
807
578
274
137
842
939
716
978
336
304
269
780
861
193
915
986
461
796
178
63
238
246
460
718
52
191
897
601
810
822
484
530
734
356
619
188
887
578
769
136
810
612
161
844
45
811
358
270
356
873
262
699
325
803
984
958
142
296
76
521
68
110
259
401
253
788
514
391
715
92
187
346
669
841
547
463
50
580
781
320
73
873
158
255
285
42
80
750
312
320
221
827
197
860
852
977
355
956
987
389
161
853
929
187
879
643
424
230
955
260
877
41
234
537
52
979
232
110
565
196
541
317
666
728
512
519
977
767
547
336
69
724
333
528
124
753
256
66
310
86
299
755
936
537
86
759
617
259
375
520
985
780
559
40
43
463
447
324
420
227
322
603
887
541
406
296
554
557
355
659
940
939
942
689
566
879
704
130
372
412
315
189
58
947
663
516
85
428
614
563
261
140
873
296
385
503
83
515
543
877
587
895
284
183
925
59
155
945
312
680
568
95
348
181
281
925
345
166
43
629
368
566
323
535
394
897
778
918
595
208
160
776
582
815
882
284
846
785
73
969
258
675
783
780
933
123
352
679
459
493
210
55
628
148
760
558
76
940
592
586
952
494
407
905
502
728
92
430
995
825
926
138
541
278
569
751
124
575
273
849
877
847
808
878
341
567
460
301
726
682
731
758
263
236
552
857
982
220
692
901
482
671
184
713
575
68
300
516
714
245
68
176
732
778
477
354
338
624
469
509
292
716
750
350
299
694
382
813
530
846
955
515
56
484
837
806
847
232
80
699
276
935
365
390
314
348
910
602
486
578
715
747
339
554
264
757
931
127
793
848
521
913
528
748
221
62
473
372
700
620
495
619
473
526
769
201
462
977
517
420
211
949
841
401
218
120
695
608
352
815
274
841
611
506
723
728
174
86
447
320
855
810
370
64
352
696
836
194
698
259
711
811
802
740
883
895
484
525
711
406
271
740
578
305
782
86
711
413
663
574
636
246
322
558
655
944
558
543
431
806
845
166
864
242
832
754
835
196
118
867
106
847
305
841
172
131
358
784
58
311
329
564
854
228
709
346
617
186
495
495
795
396
656
124
471
771
297
750
808
665
589
649
324
169
298
199
628
794
481
482
361
919
365
590
801
933
209
529
486
764
50
299
857
967
479
172
795
908
516
377
223
461
957
800
386
141
336
359
636
688
337
934
110
847
334
171
126
132
712
807
115
888
682
774
306
462
84
164
541
773
969
842
883
891
847
76
116
590
832
507
469
398
704
690
495
931
585
732
784
937
117
488
462
276
428
561
290
837
656
365
572
278
848
268
490
969
150
726
233
236
136
362
294
781
65
515
866
926
818
898
212
222
858
145
190
566
517
240
85
951
328
882
868
284
632
210
120
316
366
76
401
769
913
400
334
652
773
107
210
807
450
731
710
640
922
458
705
166
559
361
338
715
366
811
150
255
92
554
482
186
682
351
121
415
373
663
330
697
878
936
894
964
51
939
689
410
89
457
151
163
508
828
470
719
114
640
726
929
732
776
282
517
577
339
227
142
889
454
217
486
973
868
920
313
573
600
779
299
464
65
297
705
417
411
419
322
85
286
418
384
332
511
580
893
406
506
150
550
475
400
391
576
866
545
136
987
54
457
988
604
569
422
843
617
822
423
286
660
898
45
285
273
811
81
292
464
820
434
447
59
627
152
894
904
126
966
160
336
42
693
604
631
918
587
96
668
199
645
634
243
577
658
741
360
147
381
624
405
157
152
847
659
498
193
853
504
958
717
353
87
826
608
971
577
735
381
367
622
284
253
994
593
158
927
198
548
333
567
196
330
172
788
703
168
590
451
669
80
99
167
975
675
316
352
640
829
673
858
878
453
675
294
852
486
589
749
631
68
703
558
407
859
942
993
268
866
809
969
159
388
188
40
109
648
590
311
451
816
208
437
723
215
862
896
894
428
119
690
320
231
456
168
395
812
91
47
888
542
549
175
459
568
714
293
859
758
512
963
87
142
406
251
147
958
54
681
288
197
283
257
140
356
193
522
646
134
532
45
987
351
813
798
349
572
650
627
916
554
297
266
590
663
618
413
558
966
695
272
50
320
325
741
126
79
257
479
211
673
62
819
930
522
161
845
698
910
947
821
908
910
58
773
250
980
466
854
976
947
366
399
335
836
158
876
614
249
272
864
634
886
321
981
472
757
640
624
817
904
997
683
267
672
592
62
990
625
157
943
881
149
126
716
574
880
974
139
198
443
258
406
355
442
872
593
643
947
418
512
781
406
640
170
610
548
547
639
768
150
645
357
673
671
993
388
706
303
245
787
594
733
753
767
490
516
666
292
970
58
867
810
206
756
762
74
89
523
150
118
961
725
101
956
810
459
109
918
503
147
937
203
730
642
695
357
150
117
373
313
128
176
133
147
522
541
710
535
78
591
650
752
729
247
709
106
622
569
791
921
330
753
530
95
73
856
652
406
735
517
963
763
245
411
267
501
655
734
911
983
222
580
277
217
263
693
459
753
500
317
947
324
933
318
520
855
232
704
156
889
819
358
328
677
365
71
202
444
445
205
985
650
910
685
480
114
48
183
165
316
654
452
177
94
864
692
238
713
394
326
70
830
308
925
636
589
689
962
313
108
640
517
522
801
53
230
793
169
127
557
172
677
433
309
516
58
125
769
247
327
971
416
195
656
713
81
247
607
326
647
863
621
353
398
787
53
630
816
198
935
93
99
972
909
831
101
939
692
991
820
987
406
161
543
989
475
475
192
107
40
333
242
633
670
648
341
506
531
647
406
432
847
584
751
104
932
763
650
165
509
730
215
534
137
137
445
349
192
644
347
417
919
748
481
551
519
517
583
626
947
938
843
691
428
896
87
102
683
338
982
481
92
856
571
496
676
443
309
89
941
220
299
291
327
280
383
245
718
759
896
408
49
373
773
905
672
344
707
210
206
159
849
347
187
593
891
855
629
897
268
365
804
877
279
58
602
352
794
610
333
425
105
732
371
825
753
962
234
145
409
795
292
775
294
971
445
372
45
935
356
961
335
434
476
938
861
825
611
435
390
73
973
844
171
584
57
812
948
850
321
91
339
322
137
370
827
535
508
796
657
170
785
437
109
950
498
717
408
73
424
680
409
464
51
107
672
117
242
430
768
765
515
889
663
632
844
723
244
406
853
699
299
630
66
86
147
788
133
434
236
747
599
589
266
488
882
532
682
305
307
779
629
261
651
567
413
626
465
605
166
344
446
250
818
856
820
771
227
763
575
240
726
663
515
560
78
791
156
341
74
797
855
707
873
355
310
65
367
66
374
514
597
590
560
128
469
230
361
604
110
613
934
888
774
372
389
452
225
153
455
640
987
360
511
909
870
716
342
461
345
67
163
45
971
936
671
606
927
262
892
623
79
418
976
585
317
365
366
923
390
585
997
314
367
501
525
767
548
762
727
566
323
92
780
302
340
502
301
96
586
570
898
612
92
684
789
415
335
773
739
157
832
777
756
87
354
78
818
190
404
398
233
874
675
779
534
471
425
773
250
957
515
629
60
306
391
197
795
383
519
306
794
784
870
893
755
522
833
828
858
560
751
463
632
224
287
522
432
742
995
181
615
419
752
219
308
884
935
445
897
46
492
458
382
313
457
591
191
263
193
53
871
497
805
719
302
931
444
396
275
170
829
803
726
61
670
688
877
687
260
686
786
344
982
96
888
790
673
833
123
666
370
438
775
96
667
618
943
312
756
851
540
575
659
952
416
517
620
891
709
858
829
667
520
829
848
100
664
551
606
933
402
156
685
579
121
458
945
523
449
549
997
823
73
347
620
717
364
53
171
126
345
686
495
461
215
332
510
996
364
141
433
787
413
360
950
690
692
522
757
739
700
272
761
800
658
455
209
988
280
323
745
757
811
73
517
300
567
347
338
145
731
671
224
946
362
98
766
828
738
395
713
361
436
861
311
312
402
716
495
666
930
189
287
474
579
501
52
959
473
412
640
180
56
621
252
954
618
310
733
713
217
934
411
624
186
371
114
64
733
476
891
119
331
673
453
281
955
432
891
456
133
773
446
773
933
279
859
441
139
85
618
721
121
384
633
86
513
265
974
70
818
611
671
191
632
780
194
386
823
43
783
801
404
105
705
855
402
525
198
823
506
292
503
640
321
680
266
811
298
171
535
537
977
334
657
235
613
262
610
637
158
306
336
524
319
423
622
740
442
575
429
862
289
439
656
148
702
309
242
513
324
54
210
914
401
687
207
851
970
820
853
245
832
191
520
268
934
777
549
778
747
59
695
267
320
804
665
613
638
440
511
649
237
86
373
721
447
472
414
225
175
607
56
469
738
402
331
154
477
730
655
421
278
503
414
943
855
387
634
588
928
569
158
719
525
605
143
497
679
403
349
731
652
145
876
520
461
583
684
82
841
935
391
392
640
595
327
372
502
410
486
442
982
61
64
335
662
49
912
380
648
423
41
880
589
137
523
749
371
244
415
604
266
901
684
180
496
552
139
815
492
983
919
296
285
544
146
923
523
600
572
552
586
586
101
302
240
152
262
231
119
473
755
588
461
661
570
435
230
817
205
125
461
991
500
41
203
980
810
459
919
457
916
731
266
660
190
448
794
662
235
939
964
92
776
804
810
108
930
380
248
186
163
100
943
77
145
808
711
156
808
257
306
901
75
332
570
979
144
47
503
936
361
124
856
247
757
461
554
659
535
668
749
107
672
933
485
153
166
898
76
263
61
230
247
100
208
860
128
426
452
542
996
996
95
805
556
873
450
53
383
540
719
866
744
646
337
562
45
727
228
854
608
665
539
303
67
339
42
920
852
443
457
428
47
573
948
542
788
468
804
992
168
377
96
958
997
243
555
974
419
762
180
502
647
145
319
104
319
603
309
594
416
227
717
445
566
807
981
262
767
473
725
742
644
820
777
768
103
116
185
87
568
520
874
423
446
82
174
379
709
151
352
559
777
542
434
485
261
905
403
916
327
669
297
844
83
483
768
869
241
291
885
778
245
949
412
328
656
857
105
538
449
233
686
183
417
198
111
397
603
569
467
915
257
357
59
188
608
843
656
336
679
889
793
320
900
700
699
57
137
74
501
633
159
258
442
768
919
423
222
786
599
668
210
616
581
157
907
282
791
968
854
314
704
926
360
456
252
487
667
175
500
434
971
303
359
651
50
819
200
317
904
958
549
851
342
676
901
145
296
440
854
282
595
434
785
534
682
403
759
284
899
603
385
923
265
958
363
171
399
859
271
363
213
942
256
823
193
629
299
489
997
863
175
518
721
536
305
464
843
673
255
712
819
707
296
479
191
750
660
886
694
521
231
397
497
559
308
80
949
615
982
946
954
205
412
701
486
69
796
768
671
156
77
589
996
363
842
100
781
159
479
761
91
636
380
53
103
495
535
901
634
487
851
496
990
274
964
739
316
539
799
146
788
205
187
800
193
502
874
583
582
486
463
908
289
313
502
895
442
224
259
619
726
654
678
854
178
633
513
259
921
483
535
407
942
761
396
135
925
701
405
346
71
590
951
457
175
832
555
335
104
984
474
247
158
54
770
258
503
155
863
742
676
826
732
256
185
57
794
682
753
316
463
114
868
565
108
580
59
690
990
82
78
398
76
569
506
908
674
193
127
119
679
300
857
458
382
512
488
401
520
446
626
691
872
66
860
254
249
128
587
794
87
978
468
184
142
453
953
880
834
980
604
748
899
766
205
830
846
837
577
697
845
423
70
862
542
81
489
588
190
592
510
725
706
255
282
490
208
94
501
575
463
273
661
821
515
495
396
366
545
688
459
573
456
629
492
563
751
751
790
176
941
985
422
254
298
339
278
450
331
48
126
503
171
502
701
262
826
632
781
389
616
478
341
597
148
135
738
910
946
877
601
355
57
662
337
370
206
856
799
808
949
618
438
626
623
911
234
660
694
966
216
974
94
296
282
124
761
833
662
468
611
425
342
329
127
607
393
163
798
446
972
217
70
564
234
568
511
287
143
376
439
905
760
41
712
230
750
92
84
521
204
41
201
118
147
233
346
824
586
616
902
475
825
290
200
864
281
899
867
927
912
779
639
961
838
623
980
515
140
206
642
830
946
307
121
769
483
564
251
240
699
485
817
901
384
405
584
668
684
606
708
696
923
586
809
372
255
548
598
410
998
443
424
840
222
488
142
907
226
525
97
330
153
890
432
120
586
876
643
977
379
769
357
166
503
543
546
304
157
574
888
681
182
291
203
920
47
380
735
844
855
47
614
954
243
354
283
320
202
310
693
685
280
980
397
390
359
936
943
856
993
397
939
283
280
375
258
359
411
63
948
475
885
515
495
573
365
373
612
431
879
713
818
81
756
775
93
144
842
132
136
376
402
246
868
777
403
671
790
374
574
98
790
802
48
730
134
911
900
652
874
466
60
755
284
714
330
434
70
267
960
600
703
516
743
232
232
538
477
238
734
528
737
90
584
533
765
419
726
795
607
846
929
340
586
277
143
284
241
616
307
909
936
557
234
738
349
215
877
121
370
702
715
932
489
534
920
871
550
790
913
685
448
74
236
57
713
442
788
800
166
781
571
994
864
763
490
67
114
963
897
83
590
674
943
591
580
300
678
222
944
724
499
504
142
686
753
923
217
94
979
896
854
513
971
765
306
894
429
117
957
914
587
764
738
584
583
112
682
363
640
519
183
195
796
360
330
725
54
754
562
892
910
326
676
812
519
802
736
213
995
847
831
252
659
633
840
494
429
309
423
178
836
61
437
417
403
802
652
162
269
202
375
160
667
809
406
139
956
548
799
965
745
618
611
49
499
348
896
545
722
251
123
577
477
491
177
70
661
630
856
526
582
587
751
624
479
144
152
208
103
255
50
613
523
357
304
916
644
83
246
879
64
458
853
181
840
416
395
792
700
601
482
623
286
815
425
240
664
285
232
425
46
506
954
968
240
569
440
994
922
564
958
356
943
601
902
673
214
629
919
523
951
896
623
530
123
923
384
784
72
939
234
933
906
815
944
190
974
582
836
115
306
808
397
912
944
152
103
275
118
936
874
873
256
618
843
462
601
940
918
406
573
736
405
627
660
89
502
925
896
828
247
344
451
758
728
806
932
721
514
900
978
113
142
302
135
298
884
251
780
873
814
172
364
88
653
257
294
524
782
720
59
869
824
392
55
643
313
366
288
389
242
144
881
527
651
746
871
705
89
987
900
661
351
581
980
245
485
504
426
249
711
457
398
322
812
476
528
862
685
444
685
727
823
672
697
618
822
785
812
413
739
355
795
886
337
968
76
555
383
552
197
795
288
896
398
258
948
403
938
305
882
777
332
562
122
75
954
260
54
447
724
233
646
521
906
673
179
227
979
155
426
810
685
985
43
75
317
491
117
271
851
741
80
64
560
289
510
820
663
194
824
919
111
259
993
84
67
360
472
135
264
354
835
296
313
983
271
580
382
291
284
735
879
85
257
632
699
850
83
364
118
116
798
572
748
352
314
911
512
779
683
385
381
890
156
63
845
882
270
718
199
846
986
793
246
62
509
698
895
574
457
338
546
303
340
231
390
50
510
220
396
239
681
396
521
602
617
731
317
576
265
768
578
48
276
745
490
657
663
279
197
487
969
264
218
259
376
523
210
725
612
929
186
720
412
866
675
334
104
631
297
620
684
515
416
231
294
425
941
120
40
507
675
188
946
62
312
600
375
53
409
885
782
136
371
382
193
77
487
219
436
887
831
647
557
346
894
509
668
843
850
397
294
732
362
533
451
724
201
788
173
852
686
151
473
683
403
132
473
186
816
486
816
85
148
118
232
714
488
815
777
183
717
319
575
349
338
663
410
788
933
794
806
815
461
367
585
865
501
190
522
823
276
506
296
140
374
435
549
172
729
225
277
63
412
559
726
971
622
768
856
239
896
71
689
369
781
406
132
99
816
352
920
377
256
733
346
881
324
266
663
409
640
796
90
915
922
465
408
696
546
967
408
793
100
861
91
335
149
563
980
660
996
192
280
940
870
240
295
280
366
819
764
825
432
637
503
240
222
49
810
963
816
208
580
395
866
251
464
166
887
842
427
800
501
300
259
235
834
69
260
210
825
624
893
304
640
770
730
503
171
555
361
942
511
104
896
63
155
578
359
691
346
944
983
802
663
261
610
955
360
516
419
601
56
878
750
996
324
247
839
760
350
301
489
184
247
959
790
288
63
751
972
140
44
787
201
679
550
356
992
576
468
480
856
786
504
112
221
817
231
723
562
782
679
852
512
351
760
975
620
111
781
208
269
806
362
498
51
361
440
515
680
153
556
216
473
505
121
933
616
477
144
660
877
611
674
311
413
445
545
713
466
770
278
415
343
476
810
168
272
909
482
861
918
925
106
482
69
377
795
842
127
228
497
697
203
491
91
512
979
911
208
566
559
314
484
476
567
920
427
89
103
350
284
821
377
748
718
597
71
65
297
519
322
828
740
692
923
262
201
169
469
239
444
154
744
605
729
837
826
976
325
274
605
950
84
617
562
421
84
450
105
41
981
405
549
598
721
787
238
167
111
914
320
605
201
196
221
880
370
133
606
661
865
879
295
282
609
842
555
346
393
752
745
609
310
222
222
322
920
214
989
569
879
863
384
191
500
266
353
896
447
93
407
651
395
420
573
121
466
873
901
700
80
222
653
385
267
485
877
390
228
96
213
411
583
490
992
693
114
344
902
780
991
333
389
164
916
495
807
988
583
178
595
223
615
453
490
992
294
653
444
492
460
383
594
953
805
86
446
506
548
996
454
435
113
212
373
897
616
998
869
896
283
96
381
769
100
657
999
903
635
474
203
366
107
283
989
889
173
447
892
178
852
845
240
375
462
100
107
499
766
297
996
564
505
576
112
987
830
556
388
884
783
691
244
417
402
561
603
850
794
158
385
508
277
797
423
109
452
246
274
45
190
250
171
146
124
141
795
163
720
526
809
699
469
781
106
797
223
868
829
386
772
963
744
870
572
945
59
755
968
815
668
462
443
286
113
741
660
385
290
435
387
64
590
452
720
206
824
146
207
642
581
154
103
939
729
481
334
766
800
706
538
760
262
635
258
140
817
45
554
721
77
833
503
856
760
390
266
559
50
140
213
100
239
213
788
901
423
600
704
425
558
249
388
891
408
772
112
642
83
770
105
543
853
104
537
155
148
384
978
302
321
466
584
848
360
186
511
217
295
945
962
67
200
932
364
220
581
737
991
53
146
135
644
289
872
370
408
752
502
661
955
674
514
765
779
898
610
380
551
911
917
101
709
840
699
717
386
933
42
226
146
620
655
915
721
490
486
154
667
423
402
925
128
130
748
652
242
565
672
713
947
928
911
322
290
97
203
854
930
340
406
443
119
832
331
950
363
285
655
240
970
741
860
801
223
713
929
667
223
974
196
793
876
521
165
935
131
145
506
307
854
299
103
849
153
917
894
59
348
304
611
744
925
702
684
197
966
440
235
479
145
217
945
107
648
360
821
228
459
812
981
842
760
742
417
664
86
181
763
729
316
800
648
774
268
924
619
343
110
169
72
715
938
740
278
710
693
364
201
647
692
632
593
173
486
370
163
619
72
75
446
415
992
744
764
568
523
312
511
133
417
418
720
50
782
701
423
96
79
739
561
504
938
245
634
400
861
553
839
469
205
534
340
702
690
829
781
569
51
314
160
518
476
543
652
938
163
902
836
883
287
734
899
106
650
555
451
129
666
769
765
328
646
737
682
848
372
840
115
965
807
615
501
85
644
757
937
84
66
822
452
298
986
220
345
397
387
678
889
374
684
552
510
987
965
613
383
441
731
679
591
667
589
504
646
785
532
901
593
894
510
476
573
302
551
496
144
195
791
119
286
454
849
850
420
725
682
409
786
713
691
899
114
196
676
926
503
185
526
762
873
876
406
273
133
306
590
106
656
317
778
973
86
836
978
157
811
595
169
195
211
610
762
998
437
897
414
983
442
898
876
940
418
884
811
720
149
421
757
123
596
550
159
377
279
646
915
114
567
130
988
592
438
983
78
141
362
727
560
173
758
572
81
838
640
991
503
493
536
728
276
182
840
964
120
614
508
401
969
454
913
166
748
110
385
815
813
315
297
627
237
604
69
86
449
204
342
654
549
684
618
195
367
989
297
269
496
520
438
499
564
292
943
868
681
674
282
963
81
766
428
845
332
701
287
308
757
45
843
664
385
417
911
419
332
680
464
907
587
580
999
389
712
888
53
737
65
762
419
468
978
287
262
835
243
763
214
319
712
753
363
655
550
221
578
799
367
193
363
425
120
263
476
467
408
476
117
937
149
835
296
270
414
209
58
510
891
658
911
49
686
90
783
628
531
135
71
680
608
664
372
907
974
808
805
884
793
885
891
985
954
851
376
525
135
817
741
667
841
762
708
248
916
424
690
904
269
971
794
512
699
521
236
485
447
71
136
866
642
819
937
120
589
310
190
144
349
300
749
645
502
627
142
171
688
687
565
49
118
50
950
676
824
108
151
527
585
676
79
558
415
734
963
51
942
119
400
966
534
430
861
921
651
814
922
88
869
877
989
770
44
206
44
800
93
90
607
596
371
412
383
779
679
294
61
210
455
909
543
503
342
763
781
652
450
41
902
301
237
167
397
108
230
411
121
548
366
56
961
942
614
290
701
41
478
104
273
100
873
818
710
199
363
797
574
712
724
699
371
708
743
325
538
286
512
546
315
58
642
64
63
919
75
68
292
836
578
874
542
665
414
380
934
656
781
143
498
103
756
80
678
597
457
79
516
827
596
698
830
527
317
292
510
695
483
126
557
876
919
229
297
262
331
540
751
156
544
212
82
52
51
937
830
723
696
775
89
554
248
438
626
175
979
493
408
722
466
149
351
105
91
204
794
390
377
274
375
906
804
667
252
160
571
581
50
352
822
410
299
551
160
83
704
432
912
959
469
938
907
252
211
298
160
927
854
177
83
961
835
680
72
452
872
489
456
407
364
636
616
771
922
381
435
639
829
530
182
948
416
386
483
986
723
606
470
393
781
217
998
694
611
684
78
136
810
246
944
588
664
347
952
41
846
47
441
606
454
434
852
385
350
728
315
868
150
403
542
132
619
75
315
938
909
854
779
187
588
289
463
469
789
908
178
643
833
894
45
490
621
85
601
784
514
331
140
780
316
498
679
509
419
48
995
557
92
930
905
288
556
846
762
296
255
319
394
770
698
114
641
465
679
192
920
876
457
264
964
656
869
850
429
917
309
338
213
57
56
291
737
351
168
912
545
505
232
772
784
672
420
52
976
681
166
471
854
409
990
850
266
552
994
687
145
592
141
247
368
210
423
404
499
242
603
273
306
233
469
516
581
701
148
272
135
317
313
851
935
357
211
739
368
666
343
426
381
218
751
365
641
940
512
424
813
463
914
199
546
177
721
101
198
350
602
924
201
862
68
254
282
914
420
841
645
115
756
408
627
832
399
893
653
63
677
258
99
687
55
907
498
858
802
993
321
206
207
709
316
452
493
223
899
575
747
271
885
904
952
461
132
950
731
740
339
112
461
786
457
560
752
577
429
336
150
339
589
115
425
268
653
444
778
629
891
809
75
389
526
713
882
930
604
926
741
771
160
974
628
274
114
546
980
614
98
727
486
751
836
104
724
334
408
563
428
957
643
329
373
125
398
577
756
297
126
250
691
622
132
993
134
670
596
820
480
483
961
562
320
794
162
439
170
720
287
194
684
941
409
677
799
112
59
138
394
454
517
518
195
682
320
903
654
746
998
650
133
121
301
853
732
422
987
680
525
529
532
768
748
318
467
990
194
385
977
148
286
941
425
163
392
204
918
858
180
374
177
326
179
248
352
198
315
574
362
254
823
964
193
191
296
547
672
567
388
254
626
796
917
567
102
618
855
124
671
733
309
793
384
763
782
635
979
528
159
691
489
794
709
409
635
526
429
841
335
879
220
527
520
197
616
563
64
527
885
924
283
792
685
83
355
490
535
573
686
330
741
326
615
149
690
508
102
436
764
720
217
908
835
918
690
389
896
863
592
383
460
352
419
662
471
305
839
710
704
918
587
898
819
929
185
800
589
439
756
383
751
672
798
47
836
70
408
432
189
283
222
986
319
271
640
453
623
91
898
663
779
755
471
346
610
143
321
521
792
393
656
375
566
187
608
108
545
653
544
751
578
387
56
923
250
907
550
507
579
722
676
276
411
663
883
658
962
853
325
201
106
890
204
289
700
569
752
47
779
126
644
229
978
337
968
220
387
172
256
611
549
977
964
426
520
262
61
936
465
483
306
152
216
844
272
841
761
887
104
962
444
102
237
403
91
815
627
556
441
571
137
637
227
766
265
63
986
73
796
395
974
291
989
895
889
708
916
787
91
500
529
444
711
165
610
822
521
222
419
340
894
248
265
876
647
86
823
506
42
566
597
326
548
865
950
481
146
563
137
123
586
218
319
560
525
668
761
999
107
764
329
771
440
644
523
773
214
779
723
745
136
398
525
354
798
618
115
901
926
943
184
363
802
326
876
929
147
143
160
980
749
348
332
43
923
229
439
806
659
435
819
774
121
120
897
882
885
417
422
235
689
126
262
692
68
684
609
235
441
194
577
727
689
790
181
531
575
605
864
459
949
688
947
996
995
137
986
896
256
661
229
711
485
970
327
279
354
829
591
698
496
697
445
735
376
362
347
167
957
205
630
759
46
48
515
84
667
491
507
254
714
719
133
301
705
270
615
592
206
909
458
678
973
246
548
728
679
253
901
707
259
776
864
248
539
240
216
444
388
937
192
919
574
476
260
302
153
323
559
550
190
938
668
400
888
82
272
881
777
525
528
698
897
846
960
347
48
58
181
632
47
322
214
635
890
365
658
276
175
434
510
399
200
698
862
397
389
636
747
304
665
737
486
40
258
635
495
571
537
83
862
939
402
418
955
311
391
926
349
945
329
878
257
722
662
308
284
873
629
78
748
224
143
444
595
615
346
671
697
77
883
239
777
531
940
206
188
124
600
298
745
959
643
163
526
836
105
148
955
151
166
266
364
354
993
582
334
743
481
893
737
281
732
474
657
765
582
896
640
166
446
134
73
856
999
864
111
795
576
55
905
576
211
181
597
646
123
530
635
993
823
977
99
174
142
853
430
51
869
279
111
460
401
367
912
662
298
50
502
552
218
184
859
453
829
896
972
157
41
97
608
878
634
337
451
851
109
958
72
589
144
624
572
641
323
491
848
604
893
963
521
314
406
235
563
71
595
928
542
552
582
617
705
784
51
722
138
595
904
658
744
816
544
47
397
556
182
672
167
720
616
592
456
280
201
290
888
714
887
917
633
941
637
362
759
936
405
385
488
108
839
343
391
258
417
601
180
229
162
837
172
868
174
602
126
219
899
454
862
371
214
47
843
517
265
723
736
955
512
629
567
987
577
939
449
259
668
366
827
352
991
709
575
950
844
320
979
786
527
431
168
43
777
324
44
275
829
932
909
337
606
794
997
745
192
713
424
623
177
442
840
196
100
446
265
511
322
694
66
813
685
360
333
586
137
332
880
159
981
87
476
770
635
491
764
280
359
358
112
209
294
713
770
889
681
221
960
918
250
986
291
282
942
148
251
414
616
986
363
82
934
759
601
90
906
171
450
265
872
772
846
342
505
577
72
731
735
768
394
363
476
994
461
809
453
633
451
950
195
765
277
747
878
565
603
575
291
225
289
545
397
944
389
281
363
662
960
994
666
222
94
463
91
924
852
84
888
215
830
923
578
945
67
234
859
371
648
159
813
271
380
738
110
173
430
908
382
951
636
854
317
713
763
134
846
416
870
70
40
363
684
862
118
610
555
990
663
857
179
176
137
148
140
506
820
680
429
136
482
247
125
955
317
415
833
338
123
143
970
753
786
736
796
212
737
58
554
53
396
100
801
202
169
686
855
773
181
759
50
504
538
87
639
384
839
681
682
897
743
689
102
737
884
569
303
955
629
410
458
149
392
254
242
940
622
692
163
768
838
61
377
991
225
658
878
53
167
338
878
750
534
732
173
71
821
306
845
701
542
468
160
531
508
160
89
376
407
952
53
764
778
539
427
794
823
797
462
697
560
179
427
205
646
975
946
691
639
929
225
610
845
412
276
928
92
58
850
667
534
647
163
729
244
103
796
996
675
368
939
378
322
435
426
216
550
229
199
916
475
67
671
509
953
430
671
432
460
955
847
946
513
852
136
732
356
829
394
363
508
131
93
360
906
809
303
459
546
305
347
974
311
568
221
881
176
850
882
65
579
254
719
990
594
916
648
320
580
418
969
423
809
751
378
390
942
711
162
999
625
66
91
816
760
563
503
882
176
965
335
486
209
415
472
582
275
776
433
110
63
252
844
950
341
346
918
69
661
436
772
239
816
474
553
465
347
508
888
442
496
211
373
869
992
384
698
600
813
136
941
641
759
743
287
864
440
512
502
573
884
638
113
740
462
608
734
172
907
629
781
774
608
112
398
561
371
187
904
608
967
482
938
616
242
571
629
304
987
214
75
939
535
347
981
286
97
723
403
855
726
493
200
240
912
934
307
292
749
379
139
840
594
497
665
498
820
476
118
142
604
455
558
360
925
728
754
538
450
303
991
632
549
989
888
297
82
642
839
908
978
49
92
935
285
922
630
651
869
617
858
855
461
216
263
571
316
181
121
636
43
608
990
643
468
48
630
96
483
341
156
244
387
341
162
556
345
449
932
160
123
956
242
354
685
364
431
714
749
212
355
247
736
632
928
358
480
383
949
596
71
881
864
760
637
803
71
261
899
893
640
978
706
905
647
91
105
773
319
832
715
518
605
357
879
528
510
275
848
647
959
512
581
321
400
144
445
943
663
945
644
470
331
93
504
538
257
232
824
435
956
204
131
627
71
256
785
481
678
403
100
102
529
302
77
264
249
841
963
902
840
481
212
621
371
358
382
503
396
60
897
630
976
755
776
633
856
605
645
716
807
476
382
460
337
976
108
961
541
509
372
898
788
520
810
705
574
685
763
802
71
623
498
140
134
623
445
479
300
635
377
838
735
962
459
981
271
126
963
606
657
179
189
231
946
530
931
176
996
78
472
317
481
320
181
980
369
899
536
54
878
372
775
346
624
798
747
422
315
685
280
798
43
262
266
778
78
302
220
69
763
435
555
529
722
366
538
477
739
259
916
262
560
411
264
557
223
137
462
779
289
739
666
968
100
888
766
292
302
896
709
823
347
918
394
492
994
693
252
78
739
307
946
754
336
433
502
907
911
635
349
713
627
980
483
780
755
475
606
57
969
693
90
307
490
365
939
601
207
458
287
559
855
752
753
483
390
870
335
896
832
788
285
759
985
369
204
482
440
831
471
93
742
409
593
570
204
868
463
886
923
623
240
625
492
934
373
803
375
869
746
656
61
502
541
281
674
560
561
134
928
284
749
84
348
212
47
84
649
800
118
283
655
114
166
796
474
208
825
934
433
531
947
968
73
944
315
746
584
815
71
291
487
237
407
126
117
980
45
618
609
901
389
530
979
845
501
920
772
387
926
940
569
372
946
405
462
326
965
583
696
77
924
823
340
100
904
408
609
968
742
167
713
551
754
806
732
173
869
80
60
589
419
865
736
605
322
566
964
782
415
908
422
386
314
399
227
788
611
408
454
200
906
266
659
272
593
863
426
700
477
218
204
304
568
293
588
592
302
275
154
325
672
514
615
140
222
918
921
421
801
664
491
558
499
932
50
667
360
760
622
657
99
183
827
82
805
469
382
492
509
549
175
676
225
178
570
240
100
450
957
218
585
535
585
769
732
825
673
748
65
620
984
370
704
88
731
728
173
948
158
772
308
892
684
403
51
605
669
257
328
81
989
637
353
694
613
992
750
579
263
874
90
387
262
955
281
356
538
994
356
246
641
241
683
439
994
752
505
294
300
56
160
105
701
552
554
893
91
739
619
301
575
615
422
877
149
401
918
924
605
227
740
855
693
146
626
687
152
367
525
738
719
678
568
441
630
727
78
271
605
425
513
973
944
771
638
548
488
178
414
966
432
746
403
497
274
309
594
659
924
584
259
600
254
411
803
864
124
424
814
152
811
818
937
387
764
806
913
548
193
963
628
974
455
391
417
272
468
955
572
258
749
339
601
471
515
170
278
555
903
890
704
350
529
951
498
365
808
790
832
277
558
160
858
344
627
124
730
446
517
843
540
276
537
797
101
271
120
572
430
761
745
963
204
357
520
533
483
779
169
493
758
993
860
247
414
739
895
439
812
531
271
754
956
539
859
87
71
620
205
524
630
795
281
687
391
840
83
728
285
381
748
706
757
210
120
391
349
248
155
830
131
175
906
132
181
195
253
830
323
629
260
516
261
643
949
171
900
540
211
343
183
575
209
237
840
429
953
75
800
530
350
373
974
431
817
206
782
964
774
211
155
701
321
57
821
636
671
192
922
359
547
906
951
59
570
537
876
198
217
282
707
138
591
477
474
875
840
50
564
194
529
982
379
547
206
198
634
269
166
823
532
282
393
151
780
265
718
378
762
612
708
275
286
831
107
809
486
973
386
478
155
194
993
917
216
559
424
418
381
734
303
238
422
612
778
321
742
562
473
535
549
856
678
987
514
534
882
435
599
173
432
934
827
150
960
637
202
724
706
420
285
555
147
881
801
525
977
143
114
81
189
569
847
813
848
120
639
704
669
623
379
104
497
438
687
424
838
871
630
767
395
344
478
889
956
501
678
942
373
431
864
304
574
660
108
378
588
733
846
74
593
223
447
316
417
956
576
583
752
879
505
264
66
375
201
884
268
692
635
670
780
405
183
727
292
411
239
845
769
65
546
673
953
52
535
59
664
863
911
635
566
202
387
958
837
335
70
245
390
508
717
950
491
200
935
669
365
882
291
67
902
985
133
144
471
772
839
747
88
991
521
990
421
415
281
658
925
932
910
552
667
345
287
611
245
532
996
926
137
496
273
676
289
280
704
179
992
644
240
690
816
751
766
450
155
860
417
953
292
68
420
599
825
43
587
396
565
877
720
710
770
147
902
944
65
353
928
532
621
818
90
514
468
690
447
392
512
909
70
586
980
319
144
498
685
637
701
270
637
811
323
230
892
688
257
179
220
796
208
835
590
139
158
678
814
56
157
926
462
490
497
354
393
879
168
306
458
325
115
773
488
556
244
802
491
503
128
420
634
198
811
288
615
924
610
255
308
971
952
162
576
568
352
853
99
488
119
802
192
827
314
747
192
47
758
228
947
398
201
202
203
230
746
152
373
697
507
451
169
737
897
150
568
798
158
702
69
166
239
76
932
869
856
176
567
236
304
823
348
943
484
77
962
631
616
233
583
156
551
878
960
49
526
848
561
567
694
325
98
415
928
529
914
804
239
72
133
553
468
709
42
371
161
158
165
104
948
862
636
504
302
686
797
358
147
217
635
934
179
826
202
119
990
252
850
466
330
744
897
432
173
456
666
862
869
379
378
693
379
231
53
685
376
62
557
464
258
263
952
211
209
259
744
798
435
586
935
475
207
531
174
489
555
672
705
203
562
638
946
777
153
630
164
319
415
581
846
178
160
86
699
903
966
201
474
223
508
830
124
546
138
433
515
468
157
948
520
324
321
847
591
342
141
591
407
571
430
750
643
161
890
910
942
823
679
394
776
143
761
510
202
725
303
224
240
549
731
239
899
830
186
283
565
274
885
634
419
191
520
117
648
251
314
561
621
129
449
638
757
132
254
918
846
146
206
784
616
723
165
260
747
152
412
606
578
449
471
320
428
945
403
288
933
711
399
309
279
185
552
406
500
613
113
85
333
336
556
269
193
224
106
955
940
373
657
75
358
546
877
649
440
782
899
392
84
486
471
316
664
79
477
551
175
840
168
670
49
226
518
343
763
560
892
621
504
241
684
753
525
387
282
786
400
470
423
113
702
851
455
583
597
926
968
443
513
392
452
572
958
671
746
697
977
463
962
866
670
640
656
231
137
876
281
704
123
829
189
306
902
165
652
946
209
956
557
893
511
323
649
224
956
494
723
860
347
326
42
406
347
948
792
780
186
921
172
690
258
517
569
363
974
671
598
286
286
898
62
928
337
858
965
103
787
502
136
49
488
908
804
942
697
353
600
995
67
435
999
421
648
43
802
554
424
357
111
593
146
373
808
886
355
100
567
241
420
588
928
706
700
946
317
535
763
379
793
130
391
449
639
811
597
319
369
502
704
563
756
298
458
872
300
622
389
998
500
438
240
909
200
862
50
873
164
911
179
807
482
94
727
518
738
149
90
835
172
708
105
954
876
520
131
361
810
129
466
625
876
497
584
975
983
915
57
734
821
515
367
559
716
573
448
147
234
601
786
955
340
193
112
553
813
44
89
254
944
766
292
855
651
438
904
131
94
828
860
525
691
949
626
991
52
647
800
735
692
581
69
244
842
742
83
81
139
820
376
105
918
180
69
219
378
445
195
456
295
942
643
986
991
690
523
161
257
407
132
221
718
117
109
259
780
407
721
374
120
150
857
237
232
810
713
534
793
695
569
953
145
989
898
474
206
984
729
455
930
560
939
955
935
198
134
491
536
121
382
251
267
291
752
606
193
673
742
68
849
161
377
876
960
223
789
453
294
261
270
95
727
981
318
726
555
903
655
894
962
440
847
997
109
275
327
920
652
121
500
140
454
327
710
487
587
206
939
774
440
117
567
329
135
919
98
270
141
554
623
541
495
689
351
639
183
943
533
165
288
773
591
235
551
539
765
914
162
638
606
591
771
250
180
481
415
986
47
668
548
371
261
895
393
296
95
259
712
384
414
419
396
533
424
466
279
581
635
359
785
569
224
391
510
778
296
909
186
238
200
429
881
912
676
547
545
472
168
962
863
393
88
801
308
304
550
406
350
989
119
119
722
523
170
767
955
754
648
416
466
420
563
431
388
498
776
930
996
895
628
748
505
91
141
704
618
712
895
340
655
416
46
642
943
418
981
296
613
195
104
119
408
115
631
40
267
99
56
735
855
566
484
765
144
769
253
692
284
708
913
105
165
824
527
483
309
325
350
715
796
257
631
360
196
183
884
58
47
672
989
822
515
233
709
270
374
515
965
47
922
898
810
786
765
699
203
628
47
456
74
59
332
556
354
711
792
390
532
805
755
357
993
571
541
312
914
628
391
685
537
446
452
864
916
43
941
792
63
292
625
786
137
808
860
216
902
724
679
90
927
571
349
445
363
434
845
815
340
298
78
959
325
64
74
165
691
481
276
868
695
528
263
699
975
811
503
873
250
98
68
802
973
446
457
328
285
626
442
957
909
404
932
320
801
785
107
176
333
338
390
89
786
642
977
953
275
847
426
527
289
700
645
650
407
927
818
907
588
833
420
710
132
86
278
782
722
877
727
210
929
593
721
929
364
457
678
764
376
172
625
809
686
341
631
66
474
593
140
944
525
911
617
145
580
809
806
117
698
411
756
438
594
973
595
118
623
137
514
739
426
117
203
652
275
205
678
622
657
372
270
877
485
336
142
197
500
729
650
992
403
608
801
244
468
358
798
430
751
546
747
463
799
193
676
171
843
756
889
832
189
342
977
858
543
433
123
300
140
347
991
205
687
960
620
358
758
675
400
84
263
495
277
774
855
659
256
751
72
965
621
190
444
330
539
622
940
76
514
554
735
675
644
322
401
317
73
484
804
645
651
97
526
497
779
380
508
360
451
669
155
224
713
703
388
166
401
380
248
271
947
662
127
208
531
120
842
841
246
543
584
310
886
628
156
366
810
365
977
944
385
446
778
365
143
303
791
319
915
321
578
753
486
647
640
471
412
972
51
524
511
312
139
795
830
300
159
667
405
906
262
493
165
106
73
290
868
861
265
53
646
979
217
119
966
583
338
936
428
915
626
179
374
112
736
930
62
601
470
849
164
866
292
136
205
982
713
427
997
592
592
574
679
441
539
896
631
680
97
312
476
792
732
184
202
857
65
49
198
555
397
979
343
714
146
552
404
729
270
589
851
191
134
146
402
687
567
481
650
45
48
92
382
669
980
988
322
232
262
709
256
339
806
584
374
429
949
754
770
512
826
755
778
578
587
141
485
609
162
221
68
836
104
623
714
645
427
180
908
963
832
205
756
640
602
397
451
92
76
259
855
119
134
763
655
990
460
392
130
594
925
605
351
275
959
182
950
703
690
694
679
362
345
383
528
999
700
469
40
951
517
798
42
893
802
408
935
68
675
443
712
804
137
608
996
424
710
271
573
841
839
204
57
930
818
130
769
556
797
998
427
744
476
81
50
777
325
611
613
430
539
257
172
283
779
949
673
237
609
452
617
494
164
854
695
942
745
81
736
490
420
136
981
476
401
493
531
947
886
772
993
514
193
99
621
615
646
708
640
430
498
145
177
699
405
102
115
197
851
759
843
463
563
643
398
768
445
154
50
250
693
465
618
303
501
738
593
626
689
540
617
744
844
919
433
608
531
734
884
389
65
589
947
126
89
687
557
875
812
439
570
873
861
543
720
940
109
342
998
272
503
428
535
716
506
498
759
897
790
830
899
262
705
199
971
273
806
985
163
221
670
870
262
771
100
977
426
739
53
209
711
342
317
818
425
217
646
73
373
639
967
831
404
875
574
452
271
628
213
854
596
456
676
509
434
779
177
356
624
156
72
243
872
895
789
97
952
641
579
563
318
254
125
745
252
116
879
185
532
716
86
260
544
169
697
790
168
240
124
226
956
765
784
550
478
863
629
385
800
329
319
387
490
278
953
662
318
445
687
144
651
799
949
704
816
673
511
149
358
977
931
206
825
244
873
662
318
359
91
234
984
926
77
495
250
882
448
639
172
880
808
278
492
193
310
843
750
588
217
339
575
620
375
289
860
111
931
241
390
645
434
613
156
198
333
70
496
141
285
762
701
799
301
463
985
630
403
74
78
319
742
950
91
352
719
735
236
961
89
304
302
417
337
969
229
72
467
95
290
906
964
846
293
353
466
210
279
778
882
547
935
478
843
390
875
149
994
499
421
782
89
244
254
422
256
709
294
236
671
763
733
725
825
861
475
783
816
706
918
531
42
781
514
57
366
642
354
291
490
760
932
431
739
703
307
715
983
971
840
670
674
278
478
426
883
939
610
319
798
275
359
404
403
326
700
48
826
358
824
765
484
705
875
347
499
202
140
889
551
665
664
71
777
261
266
147
793
224
561
163
258
589
712
571
951
953
230
221
675
279
832
767
110
719
903
548
432
689
897
830
791
509
538
748
839
773
661
425
906
263
934
318
609
357
547
57
811
491
428
688
445
711
588
912
900
530
807
518
440
467
610
172
470
115
679
444
91
721
773
424
841
681
190
84
938
696
965
931
777
400
119
411
145
723
999
769
56
683
404
720
50
280
330
849
927
926
280
834
573
643
332
143
553
819
564
118
803
761
716
844
526
734
859
343
621
426
792
183
501
285
988
891
742
973
941
829
569
45
375
778
239
188
360
622
822
716
809
337
229
848
946
964
961
629
313
923
644
770
971
634
406
930
578
306
342
763
528
593
793
495
122
817
647
715
744
859
727
713
399
113
542
960
696
836
709
732
293
822
406
987
297
944
219
170
49
539
503
397
449
656
345
699
628
598
785
442
277
671
431
90
985
370
639
863
280
249
206
571
893
172
871
528
571
738
737
342
785
300
421
265
97
860
422
731
91
931
638
904
356
901
208
769
256
362
344
48
759
854
397
584
401
972
313
498
261
664
621
778
257
982
216
348
288
319
750
879
75
414
395
273
467
641
169
127
987
566
319
536
842
506
45
343
721
345
48
947
888
708
674
263
367
638
218
514
280
791
996
568
636
736
216
878
779
311
222
656
781
458
133
463
178
315
294
279
659
59
941
156
549
888
939
701
272
914
919
462
745
352
348
981
206
565
692
413
357
884
562
481
782
835
94
811
845
287
207
660
824
476
134
204
743
641
592
756
586
313
271
486
946
588
457
804
181
278
166
941
785
866
474
249
605
126
557
759
757
556
141
629
362
590
554
542
125
755
925
353
357
319
628
60
482
316
738
362
237
441
502
710
904
883
957
802
666
393
738
906
737
937
597
265
342
461
507
878
824
980
658
911
814
77
386
743
880
863
213
671
928
756
564
244
388
220
146
68
489
239
912
853
760
131
176
90
210
661
224
798
439
923
794
735
212
115
352
719
156
429
79
97
490
249
989
925
998
896
187
115
667
913
705
305
305
580
286
233
91
308
430
88
45
90
300
234
136
543
646
882
806
854
261
536
942
366
979
121
726
657
188
333
128
488
978
581
42
425
123
163
148
939
734
654
174
476
946
845
216
894
115
482
187
168
705
388
79
225
642
698
60
403
755
350
372
655
594
562
272
411
94
916
303
768
130
508
835
779
205
612
994
41
907
659
130
227
692
737
324
575
683
525
466
222
697
340
827
856
70
655
709
533
374
844
292
74
319
971
268
73
653
288
808
959
839
681
394
551
269
738
795
113
494
563
649
117
41
705
707
758
999
706
768
800
912
766
881
699
571
762
360
93
253
437
969
879
144
706
944
128
539
921
195
728
350
61
462
225
587
918
899
697
811
76
418
125
382
44
465
461
393
605
316
429
445
549
292
78
53
765
389
376
967
466
212
575
183
755
971
566
707
587
991
718
121
530
519
560
371
870
256
632
592
353
376
884
149
210
209
49
555
825
705
657
666
178
211
974
982
580
120
646
951
474
969
684
255
783
628
153
107
86
787
992
351
225
488
514
475
518
990
400
757
600
323
299
934
185
562
507
871
369
550
114
476
272
729
173
902
328
408
766
183
898
668
101
985
429
786
533
700
821
171
446
401
493
661
165
516
259
991
175
90
137
942
655
280
356
986
254
434
460
671
593
977
427
580
884
124
281
256
498
340
277
283
389
696
140
643
185
745
986
902
123
523
891
782
234
973
340
801
483
127
60
807
52
118
865
353
486
648
537
104
67
333
176
874
244
903
103
990
305
158
227
507
256
728
806
272
296
330
413
790
316
504
249
351
803
806
353
828
984
332
828
896
561
182
159
360
89
768
111
657
324
782
310
216
802
856
723
681
385
224
299
111
719
766
432
847
506
950
272
181
468
430
911
906
701
231
771
185
621
574
727
670
182
901
399
508
184
370
848
324
799
755
657
989
711
259
577
710
667
534
380
653
911
361
383
351
97
544
61
401
866
902
677
635
919
737
794
78
178
93
928
236
549
192
941
190
70
220
546
828
89
873
134
999
211
535
260
591
204
449
74
454
63
652
180
177
254
318
787
312
503
498
893
716
622
482
430
634
947
434
131
508
355
243
483
52
62
580
811
307
430
193
70
864
656
741
758
961
765
741
432
362
146
976
654
852
951
902
41
223
256
159
796
333
43
357
382
927
534
820
445
128
68
994
120
108
181
119
460
602
696
302
939
628
254
655
860
634
650
854
980
784
246
652
947
241
907
108
184
846
251
817
596
52
203
505
176
933
663
788
584
111
683
955
268
438
201
805
938
227
277
260
554
932
705
872
266
659
521
838
266
419
132
822
596
831
595
353
185
465
256
378
775
989
649
558
336
707
185
244
843
136
243
481
719
646
868
551
175
373
805
294
730
671
809
714
188
980
795
611
72
778
711
70
541
69
369
580
194
596
405
851
618
393
187
738
145
942
656
696
794
279
640
77
750
408
234
202
509
344
836
142
308
152
715
658
291
526
346
834
493
611
352
983
872
781
797
713
871
889
176
155
60
714
288
685
256
91
879
97
421
941
464
361
477
719
654
952
302
634
889
230
543
101
665
623
313
384
729
980
523
134
762
562
735
847
403
234
428
971
708
819
751
669
618
844
860
276
189
655
371
873
373
283
472
196
329
159
718
182
962
370
278
694
756
337
682
366
517
202
694
158
952
94
857
515
569
562
610
857
890
477
53
216
764
870
122
659
878
502
203
622
382
640
301
298
706
98
276
884
294
574
762
262
659
587
201
543
722
882
124
162
262
954
650
415
474
182
413
493
611
776
994
41
140
257
703
821
887
734
258
316
950
409
258
230
149
688
86
550
84
863
520
58
671
925
139
212
268
736
423
272
538
546
531
373
127
136
155
571
912
555
828
604
916
722
841
619
82
835
817
609
759
736
919
673
147
929
960
540
580
401
358
383
782
497
114
480
782
731
719
371
660
67
73
404
578
327
915
815
435
471
354
885
980
175
842
757
643
607
880
329
329
478
803
497
901
434
364
369
541
514
247
701
870
923
336
622
463
85
280
626
471
137
385
66
618
134
868
722
505
525
183
325
653
987
182
875
829
70
241
98
342
81
453
659
795
391
667
168
466
885
788
868
961
520
806
364
685
701
66
437
755
257
238
254
957
671
79
117
265
582
636
86
669
340
953
474
758
624
254
458
657
507
824
238
956
623
341
836
605
661
71
735
695
844
680
361
864
405
273
979
153
859
874
509
652
543
128
63
232
653
88
932
890
972
527
530
753
815
420
159
248
374
77
352
436
176
877
483
244
144
80
89
666
117
544
599
178
46
173
934
85
309
789
427
256
718
152
540
766
190
835
916
982
768
396
698
758
288
61
561
660
719
612
964
940
706
746
438
344
903
661
689
987
664
254
871
910
356
756
424
821
273
384
949
229
65
966
279
994
712
360
998
532
682
667
146
592
49
41
257
475
638
968
577
771
411
448
743
428
602
324
253
184
705
173
449
804
860
566
901
542
381
626
463
621
826
946
303
834
626
636
776
883
512
866
236
948
958
581
133
787
67
929
824
403
475
643
240
888
448
560
792
729
577
611
171
275
315
283
836
981
988
647
514
111
971
463
365
513
790
953
167
998
234
742
468
935
995
665
151
556
201
864
395
514
625
58
584
605
660
702
664
87
810
229
278
465
652
701
817
558
106
571
639
352
417
105
328
982
326
720
367
169
145
471
235
428
999
48
647
708
332
447
399
158
425
587
288
427
462
831
195
523
676
383
471
911
908
425
61
384
940
48
456
995
650
110
528
678
688
247
171
189
943
486
839
630
287
508
782
136
235
485
695
962
740
486
618
105
116
154
64
101
972
927
152
180
447
432
569
673
92
985
565
64
151
449
914
536
836
623
266
919
165
155
483
919
627
186
143
976
492
242
456
209
107
693
755
107
867
995
139
366
444
180
699
371
371
618
560
235
346
617
385
280
152
962
662
236
999
960
730
964
606
461
253
999
477
769
577
652
947
953
734
472
584
329
944
423
267
829
74
505
606
348
889
341
881
473
616
861
445
660
715
123
498
744
484
882
367
235
577
506
866
856
294
204
627
719
381
502
871
849
425
460
723
318
91
791
970
71
56
928
410
799
452
546
84
871
133
95
290
875
525
568
557
238
42
512
480
866
530
932
62
773
502
864
722
481
662
163
710
227
892
425
50
158
478
928
613
591
710
797
943
661
238
567
467
990
787
838
223
903
379
145
546
787
417
251
168
410
729
244
594
131
308
693
690
711
184
113
667
501
490
311
809
421
906
718
902
249
373
234
746
349
293
710
958
522
426
700
181
560
403
206
176
816
725
899
665
944
159
849
656
255
813
404
737
873
932
998
681
469
713
746
98
115
55
435
953
844
210
209
641
942
256
189
116
425
361
855
671
693
754
50
131
269
718
417
54
107
982
316
333
617
687
603
94
219
873
969
525
494
631
796
770
910
776
458
142
261
360
379
506
880
142
709
274
317
435
238
998
605
294
424
121
338
145
643
108
67
734
916
216
389
815
430
160
431
356
916
234
854
654
940
53
509
854
731
586
961
812
687
485
328
510
829
693
769
969
426
906
86
719
271
854
671
738
182
125
816
954
616
646
778
732
345
721
928
550
678
761
844
126
238
195
532
800
314
929
403
222
558
425
965
755
570
828
720
788
904
406
393
531
722
320
363
827
736
323
244
473
602
830
951
820
799
861
104
601
527
228
215
174
918
88
942
359
334
871
352
858
167
708
216
114
342
838
790
313
363
410
773
533
863
522
450
416
454
107
285
502
264
314
361
352
585
539
979
947
445
546
575
573
259
127
215
255
335
495
883
322
239
849
524
84
667
482
326
906
134
208
251
76
460
896
790
370
818
44
444
438
988
914
294
56
843
843
493
775
530
142
194
391
709
334
403
306
471
493
275
624
931
543
754
196
441
604
528
493
660
73
83
730
697
142
73
712
526
142
279
779
370
905
655
634
140
353
788
833
634
60
684
665
897
899
628
124
417
754
969
920
167
311
246
447
375
446
187
461
961
606
658
679
930
334
318
753
480
65
954
426
655
63
339
449
894
417
559
548
48
165
411
205
573
719
664
698
247
812
829
518
281
302
535
368
849
588
611
892
272
795
912
240
217
679
437
207
413
130
372
804
592
778
517
263
447
719
740
40
143
649
192
708
619
438
110
404
45
871
717
755
87
856
275
598
504
938
220
800
393
51
599
710
887
82
73
949
852
940
455
371
461
242
644
592
188
562
356
832
748
475
244
330
855
753
587
725
638
797
407
153
209
885
363
661
684
111
822
406
418
855
214
874
570
880
481
511
740
226
823
541
610
488
678
730
92
940
421
743
271
702
370
777
987
417
552
988
996
378
354
774
618
184
977
280
368
663
109
970
159
888
681
218
288
46
110
194
262
101
605
728
172
915
70
694
951
507
135
577
273
607
145
710
770
497
842
406
47
747
98
963
442
271
497
720
876
244
799
182
545
427
203
530
127
337
402
399
117
739
673
253
395
262
237
725
164
713
611
891
671
470
952
73
819
935
188
300
675
724
418
434
129
385
85
516
109
477
682
169
776
730
622
515
264
982
272
728
201
490
408
675
628
859
57
627
260
520
629
864
871
699
251
866
545
69
917
491
692
642
659
646
317
813
250
733
373
56
50
216
184
717
657
330
467
552
908
445
194
410
440
154
225
490
716
663
746
817
764
352
104
207
239
139
535
637
40
238
299
633
942
595
524
489
133
92
157
501
697
307
232
228
313
219
555
471
483
361
369
206
448
298
809
241
63
245
765
723
712
390
337
362
482
257
922
216
599
896
666
646
691
370
105
815
743
479
645
212
672
434
948
948
797
447
819
378
158
382
481
559
574
920
389
915
295
487
224
394
786
689
222
179
282
633
300
340
87
395
856
375
988
187
290
890
460
741
225
579
225
630
222
161
234
292
481
870
79
644
65
852
536
660
426
689
609
800
537
965
296
113
651
747
486
397
620
583
100
827
807
262
478
297
926
415
931
738
268
247
866
130
687
686
266
457
691
482
944
336
665
851
119
818
201
185
520
80
723
347
975
185
198
818
157
560
914
696
781
592
350
889
362
115
858
976
753
914
542
765
763
283
539
671
562
885
573
603
964
396
535
626
928
829
899
913
769
779
105
364
624
952
257
929
653
721
495
648
340
864
286
450
109
454
988
644
929
182
958
593
973
781
447
546
408
454
448
354
687
615
338
69
885
847
539
781
198
805
202
510
468
135
292
58
944
874
371
506
237
576
342
210
924
608
991
697
666
249
230
641
945
992
565
963
774
761
440
888
457
978
204
939
889
160
480
852
379
694
612
594
68
269
999
69
731
545
393
486
879
509
936
180
235
198
321
685
589
280
984
740
157
449
643
509
836
399
743
785
694
48
298
349
898
658
631
621
437
339
477
552
129
304
665
102
378
960
44
653
588
538
797
485
791
163
234
78
122
986
625
157
442
163
173
976
439
680
42
147
795
366
345
137
764
417
247
821
458
792
982
884
771
432
294
386
734
493
212
353
176
162
712
997
857
739
466
516
665
844
385
190
859
537
751
207
317
841
724
329
628
148
324
536
84
696
899
124
790
877
44
96
352
864
377
497
420
622
287
290
577
529
458
216
383
940
257
117
244
216
181
173
167
771
254
143
152
49
138
988
774
307
231
41
179
808
375
559
297
392
838
907
576
740
536
402
70
768
452
823
156
125
490
865
385
653
555
677
147
303
888
975
606
380
323
361
564
691
142
493
861
230
83
552
275
55
853
596
237
864
168
232
972
773
995
375
972
556
178
367
622
454
807
923
194
437
345
684
591
324
807
445
619
834
754
178
65
567
299
310
961
701
214
613
726
871
517
47
683
771
402
704
341
441
903
716
168
326
690
510
765
864
348
92
989
136
968
823
848
925
218
269
557
818
687
119
850
118
62
440
552
461
489
808
853
647
210
351
218
497
149
388
299
751
298
848
871
799
897
465
945
397
564
40
483
648
182
580
650
182
114
53
937
222
880
121
946
217
501
448
716
546
541
375
84
90
166
786
500
678
858
424
177
989
434
614
210
939
295
764
592
118
749
216
903
586
792
181
868
743
68
882
458
621
544
908
516
769
60
137
578
867
654
158
752
994
722
986
116
651
168
397
415
709
619
65
244
147
998
915
603
633
440
116
248
75
180
406
208
43
853
434
191
352
812
269
788
523
414
908
400
145
168
928
877
671
198
806
923
307
381
388
598
74
195
921
392
352
293
635
228
350
232
596
295
579
381
232
115
824
311
599
752
594
367
84
952
971
849
107
816
131
451
463
671
109
690
154
344
228
712
885
509
825
931
225
182
421
446
506
447
659
289
688
858
350
144
58
674
189
993
600
872
449
324
117
708
459
440
525
142
60
202
806
882
870
43
897
147
537
992
370
817
345
475
751
925
823
554
974
813
713
890
235
683
446
555
571
87
144
737
291
652
520
841
705
543
560
628
574
285
928
178
823
559
668
350
992
663
606
181
785
225
902
881
567
758
282
628
493
999
890
270
636
730
185
201
589
78
975
291
351
356
239
562
642
814
132
797
340
203
439
66
136
711
361
856
695
309
956
325
764
753
128
144
349
329
434
406
791
523
494
50
352
188
284
465
597
377
43
857
67
308
943
692
512
337
545
527
862
63
261
890
965
156
749
57
159
977
683
537
807
648
331
330
862
856
418
769
165
54
274
82
527
183
831
775
69
689
924
943
539
412
737
788
233
571
427
756
936
671
213
397
389
568
991
818
894
291
518
540
532
42
758
708
701
997
840
44
773
570
505
484
234
133
628
257
244
849
321
78
843
359
553
917
629
452
914
668
704
862
86
721
551
285
255
69
307
299
193
913
128
257
710
705
974
851
940
947
957
377
850
320
268
252
536
830
622
443
467
952
729
124
423
599
502
366
199
136
269
901
456
842
533
355
333
496
244
428
872
415
664
638
260
577
261
239
731
189
274
197
548
674
883
887
642
738
515
903
458
898
103
102
976
835
318
629
495
789
982
251
678
943
869
940
792
701
427
813
936
781
632
862
610
888
918
747
305
806
776
956
468
705
398
996
163
195
859
686
817
929
858
996
720
295
167
205
128
545
604
842
512
326
109
357
721
539
180
687
436
500
936
999
79
214
334
997
73
665
543
797
443
523
213
569
239
165
381
887
666
544
896
283
478
353
422
740
943
820
934
916
913
706
188
908
967
764
901
722
854
897
472
516
781
630
675
108
396
123
695
807
943
946
383
103
572
476
749
180
400
623
655
303
504
308
402
702
765
478
634
301
207
799
124
802
578
301
658
762
767
263
167
125
223
461
145
619
891
524
426
122
119
709
725
969
354
320
622
896
941
278
624
873
674
857
989
428
612
696
744
998
931
946
448
779
324
627
931
965
377
494
515
450
601
499
88
262
155
84
527
360
395
747
299
708
552
542
837
270
356
843
856
954
814
180
760
225
867
442
721
836
236
799
708
758
434
437
267
620
432
670
136
865
962
725
314
529
595
980
279
926
749
345
919
405
380
507
220
631
378
615
342
204
778
572
519
947
606
779
944
515
343
894
405
75
551
382
858
172
167
311
770
855
130
232
628
359
633
198
886
238
428
373
821
507
471
344
46
761
996
957
149
986
549
705
624
578
488
703
886
562
570
656
593
946
98
990
160
475
128
208
759
66
813
263
808
162
271
530
722
823
55
903
135
608
505
122
550
542
632
770
493
863
115
236
627
212
380
59
657
799
466
741
554
432
298
712
644
49
967
482
257
485
359
496
287
239
324
529
208
238
421
251
511
701
169
289
757
819
883
330
970
395
833
82
931
979
172
368
782
684
926
350
398
73
895
82
646
799
696
698
637
602
876
497
698
681
294
716
532
460
896
680
47
568
896
601
654
974
759
535
790
304
687
666
730
683
372
972
598
707
721
67
383
612
163
103
441
706
840
494
84
340
483
197
897
588
275
522
141
841
158
947
525
579
675
172
558
311
269
820
249
614
429
476
82
453
866
47
165
825
760
524
434
951
401
364
429
510
879
361
456
914
621
455
763
263
473
380
974
794
242
496
46
871
431
785
396
964
901
156
989
865
210
53
298
845
782
357
320
981
693
722
831
720
693
538
381
276
934
530
330
585
707
119
641
402
957
391
400
102
476
767
336
964
753
944
630
605
581
560
203
594
958
345
97
144
295
592
969
160
613
493
678
766
193
536
877
163
347
798
466
470
749
53
336
963
269
587
428
610
471
291
873
161
74
321
338
575
115
649
743
386
513
326
818
359
259
796
226
908
351
855
392
85
225
447
690
489
896
475
692
606
446
575
265
437
41
244
511
70
79
778
48
701
403
377
418
651
177
303
746
88
590
508
904
506
547
881
795
641
206
919
405
100
820
186
280
93
773
445
660
618
226
241
792
281
250
70
677
435
394
89
577
474
627
937
935
982
602
239
472
964
42
610
307
169
779
845
49
169
908
274
930
476
87
148
346
618
818
279
609
565
633
509
599
88
899
212
371
748
906
654
136
723
209
832
43
420
654
926
130
741
58
61
710
408
448
679
800
228
98
825
104
362
446
327
870
209
803
334
525
70
315
926
919
222
516
315
764
169
758
545
371
287
478
856
841
336
544
344
500
683
859
404
308
836
813
882
695
364
540
849
456
881
697
440
886
302
417
226
666
934
105
219
960
402
346
641
249
90
404
199
530
496
343
241
985
194
376
910
871
706
67
104
527
769
344
419
738
883
133
663
706
618
813
226
353
884
905
546
97
945
155
848
441
857
971
149
949
513
327
798
323
761
951
504
676
853
794
120
787
215
362
532
993
75
589
922
249
558
45
275
526
974
327
365
232
706
342
252
740
465
440
995
835
840
774
186
902
513
681
973
500
773
384
667
271
139
364
699
459
367
984
577
331
908
453
47
332
709
674
181
963
223
847
235
282
877
506
600
269
188
262
464
488
986
402
986
537
512
411
641
484
319
688
551
369
560
103
779
759
240
277
790
578
634
109
218
98
283
648
138
113
682
425
824
675
289
834
546
310
102
363
141
985
398
682
729
40
496
167
113
976
874
204
621
162
448
928
803
219
450
406
911
643
429
857
840
408
656
155
112
98
915
824
402
269
189
166
174
674
692
411
188
825
197
661
970
214
832
953
478
156
592
181
575
667
100
327
643
373
599
620
916
422
99
272
857
806
301
488
646
456
546
41
725
518
552
736
336
64
639
161
140
938
302
788
592
475
83
593
940
367
300
716
594
778
129
409
438
629
547
844
309
942
221
175
531
111
601
664
236
436
263
108
546
71
258
458
826
243
870
152
949
963
163
627
901
782
186
411
950
931
331
484
136
53
892
516
505
737
678
200
379
730
704
413
119
281
426
106
867
632
773
698
452
183
289
631
838
750
940
203
342
731
468
202
756
61
635
914
137
715
728
406
892
888
503
635
870
564
510
775
454
597
378
577
312
510
283
797
617
853
504
506
161
89
933
908
219
585
190
379
100
650
760
91
804
127
924
385
433
487
297
202
100
155
270
409
326
155
986
665
799
412
169
196
608
471
800
921
491
832
843
40
600
319
256
709
450
232
551
547
307
577
506
198
382
341
388
376
200
105
713
401
581
93
614
867
278
414
371
539
625
383
410
775
85
249
99
115
718
766
598
573
892
952
456
648
816
471
986
733
99
517
708
836
701
753
476
320
103
430
925
569
956
542
557
70
290
901
244
800
933
280
113
456
222
690
840
248
404
607
104
535
716
288
414
873
935
986
944
932
938
58
560
83
145
802
77
448
685
664
304
959
213
748
783
650
166
760
157
788
246
260
987
264
495
459
91
638
784
616
336
541
632
724
653
910
649
919
684
397
256
291
745
163
960
765
533
492
809
489
75
540
283
464
241
969
346
430
40
634
982
466
553
933
788
372
860
812
921
302
224
931
103
776
236
670
964
688
452
845
431
696
627
251
287
82
184
995
319
116
227
491
868
574
112
538
771
534
920
568
789
556
860
278
907
219
307
227
916
166
714
382
386
909
760
583
923
791
460
295
619
590
321
636
460
356
240
816
151
997
237
282
784
836
876
946
731
493
532
978
275
210
303
693
945
942
138
703
69
887
381
347
995
373
48
243
995
301
817
538
594
384
704
108
324
97
970
701
126
482
837
359
461
689
764
619
424
647
299
183
116
551
311
479
879
706
372
486
902
236
660
979
886
910
922
790
245
684
103
553
903
602
59
419
345
455
444
913
949
645
686
556
486
380
482
389
332
338
707
961
71
497
260
90
547
240
509
383
517
119
696
671
866
149
691
142
743
323
317
963
371
134
394
48
699
975
971
204
504
166
905
137
907
797
948
988
672
426
994
407
556
311
65
469
689
692
62
764
963
74
557
897
182
365
351
541
497
749
406
497
119
581
903
456
927
280
354
654
818
178
858
336
112
993
825
271
369
890
968
154
855
326
816
319
996
571
54
124
156
970
211
982
888
387
769
823
889
674
730
201
109
366
717
55
212
648
120
873
375
934
61
862
984
176
212
71
508
773
325
702
279
644
880
645
265
797
70
305
428
79
950
146
54
473
693
143
709
882
807
487
885
544
963
158
361
63
762
149
132
158
288
655
485
599
527
844
709
352
265
794
530
456
628
829
930
597
784
950
880
237
634
882
347
740
41
739
845
860
615
224
953
196
184
194
101
365
843
966
141
923
633
455
327
733
983
749
477
867
706
393
535
598
713
541
600
950
189
776
853
182
706
684
575
407
665
929
346
89
764
538
80
212
161
215
282
694
673
290
42
210
534
908
101
663
72
220
849
172
827
170
604
444
282
733
422
969
898
944
768
834
357
941
561
669
291
41
267
364
646
253
517
400
847
788
570
913
245
927
446
996
785
194
110
350
769
84
659
882
974
894
144
677
260
737
93
478
567
102
781
549
915
839
348
199
880
407
74
450
372
486
249
825
963
990
452
612
723
988
615
880
274
916
684
65
685
596
88
135
218
983
578
550
896
668
630
800
516
152
912
105
971
592
647
692
309
968
312
516
697
716
576
471
498
926
668
135
206
588
881
899
661
129
277
373
576
764
478
404
668
505
668
739
424
303
622
391
155
462
887
319
55
688
956
631
338
352
951
702
208
276
838
260
623
190
72
239
759
444
955
313
581
626
717
77
319
257
696
768
272
158
674
197
985
646
209
215
712
779
435
366
571
835
515
558
847
371
902
156
578
721
569
118
55
472
662
338
590
685
456
496
449
152
451
804
818
193
316
411
239
688
151
891
853
584
584
294
573
803
184
111
231
602
264
311
373
833
385
346
666
803
837
693
157
802
849
213
906
608
683
992
145
754
747
273
644
963
437
912
442
744
479
129
647
399
93
186
138
267
490
851
506
316
475
296
906
333
836
245
145
300
157
431
470
896
373
876
631
964
510
269
966
226
418
412
394
783
444
269
253
531
762
118
412
111
753
896
682
743
627
346
986
376
622
98
806
144
643
301
272
959
726
769
276
91
757
301
610
973
51
871
102
99
598
297
57
183
79
549
327
637
199
666
367
552
290
684
856
172
576
505
206
534
306
908
652
915
626
234
459
741
582
644
863
82
315
197
864
89
220
750
921
49
872
289
95
240
933
741
933
485
243
593
380
846
702
653
775
738
811
390
303
874
98
833
594
905
203
517
319
910
615
981
928
942
113
535
68
795
810
884
646
204
340
50
155
795
819
654
234
993
451
467
484
609
504
381
180
263
557
815
152
394
853
432
726
685
416
228
299
842
399
603
658
185
542
297
474
95
290
861
988
524
576
539
968
711
711
786
366
162
370
125
467
839
879
567
713
375
739
656
896
586
160
406
134
173
992
324
975
897
760
439
197
180
606
45
841
116
486
134
129
994
296
462
660
92
513
669
914
626
918
799
188
552
933
103
497
975
351
476
494
403
361
493
873
260
923
522
874
276
693
572
719
240
292
333
48
618
123
672
166
486
596
977
235
809
41
596
548
702
580
654
105
756
663
345
962
438
379
960
906
590
412
417
51
772
952
102
612
900
169
886
601
301
188
143
369
773
465
662
500
949
397
249
282
824
787
336
674
424
372
548
671
671
777
893
732
986
279
616
605
545
807
335
701
474
211
354
284
123
460
776
255
667
77
641
875
649
702
888
237
535
796
919
73
544
623
706
627
378
175
925
717
599
89
653
303
505
44
84
993
689
918
504
952
892
444
805
248
45
444
314
177
310
161
366
769
99
213
863
972
794
762
400
291
917
639
270
74
805
634
126
631
138
450
911
870
303
744
511
890
239
285
593
514
888
369
851
334
312
252
535
186
506
122
148
596
301
241
379
724
735
529
449
567
98
991
66
107
174
99
245
807
71
850
680
439
105
665
962
666
439
782
791
807
228
230
583
306
150
645
499
247
363
836
914
429
901
555
435
143
730
720
853
372
921
212
215
982
473
408
611
779
471
88
469
735
709
366
961
837
816
894
993
301
898
774
144
644
727
220
344
728
421
869
913
527
587
383
867
225
676
411
612
218
969
719
671
241
648
410
145
486
931
927
55
970
970
213
984
577
967
540
544
731
521
527
56
877
691
719
616
918
722
407
844
538
402
412
610
251
504
504
467
986
709
92
644
315
326
84
594
595
404
343
990
804
471
551
689
246
859
879
632
985
123
133
781
427
362
162
383
608
700
551
497
429
893
425
794
763
191
233
90
771
281
301
700
410
446
830
936
218
735
339
405
387
909
183
832
154
103
354
569
332
582
521
313
161
254
482
523
948
114
901
97
76
442
366
523
398
570
919
534
208
228
990
579
44
207
544
391
427
792
535
625
611
996
884
231
436
942
912
555
916
46
428
996
912
618
80
130
689
192
246
740
658
175
937
497
482
780
622
576
368
255
54
406
553
889
559
988
760
498
908
265
688
721
453
575
243
465
806
557
868
608
360
516
850
129
76
152
150
554
461
292
116
601
672
453
706
518
88
877
940
806
761
195
960
743
760
868
411
639
585
518
636
204
791
41
710
649
910
878
596
618
80
545
59
280
765
958
591
706
458
515
369
704
535
90
200
840
552
633
415
177
807
888
112
633
971
814
611
543
454
76
817
292
877
958
749
317
325
969
685
118
78
42
220
560
369
841
680
377
196
747
818
656
342
869
443
642
805
674
441
254
555
56
461
113
403
742
339
870
764
356
959
439
750
811
45
329
827
115
489
552
414
344
144
142
209
572
933
352
891
133
748
936
604
210
56
395
448
799
618
796
884
866
863
316
856
152
342
247
42
305
623
367
162
899
508
333
527
322
241
131
182
171
861
875
566
872
311
720
46
888
522
533
703
348
803
383
738
598
96
941
55
860
258
144
645
488
996
502
893
938
570
434
975
575
54
721
345
521
119
532
647
976
196
849
996
394
157
494
86
255
721
581
656
117
739
207
114
343
848
75
446
201
693
538
905
160
752
407
273
740
122
202
310
573
345
964
79
917
267
863
939
737
506
64
96
178
116
908
788
785
609
636
125
880
537
375
973
205
897
915
85
542
234
313
640
781
184
976
606
537
147
559
787
814
544
782
469
147
423
937
476
313
854
583
86
640
957
580
703
643
264
46
865
299
948
639
495
865
868
141
539
135
889
621
235
284
404
146
663
680
893
958
426
529
929
529
678
910
629
395
210
219
525
96
305
202
767
811
794
638
479
460
560
603
798
901
275
724
402
654
517
487
278
416
643
864
152
362
889
47
991
933
706
916
415
233
55
810
870
231
164
959
671
487
568
432
600
396
603
257
226
87
787
836
897
399
929
425
385
987
505
362
269
368
659
406
59
965
775
909
821
249
506
978
729
381
248
331
170
263
557
296
585
957
99
797
193
194
950
307
980
252
974
322
201
955
586
844
795
940
767
334
304
225
648
58
831
137
275
786
307
104
422
169
736
677
915
157
470
136
555
99
732
193
749
625
974
539
801
148
441
103
179
907
504
455
443
607
738
450
964
909
441
807
349
669
903
873
613
757
867
377
711
670
348
983
529
700
920
980
379
653
567
222
869
909
650
665
461
333
343
950
685
273
520
127
868
103
668
725
212
69
535
868
839
770
127
652
897
376
894
807
799
173
314
277
279
235
941
569
726
936
590
634
379
622
641
317
553
572
496
617
561
248
652
159
455
886
60
428
404
416
179
994
813
253
846
130
116
571
308
316
543
283
397
578
327
290
534
722
957
563
918
848
602
857
466
902
72
673
71
836
261
374
163
974
669
143
927
52
450
620
411
981
188
828
889
658
751
105
832
75
916
684
557
512
144
389
263
221
929
651
882
966
225
477
971
237
935
193
930
256
212
817
230
856
291
53
173
124
444
322
166
527
960
889
577
117
248
147
726
958
411
91
425
644
640
799
798
649
281
510
524
567
174
425
385
918
668
630
858
474
423
204
362
485
273
918
566
736
915
983
627
358
358
454
795
335
523
893
311
193
610
834
132
877
282
934
736
367
437
58
220
775
217
404
530
93
693
772
310
532
174
833
898
309
690
724
702
618
237
88
788
826
923
840
181
847
712
700
584
309
475
316
744
727
233
348
954
624
929
257
888
947
885
286
723
885
910
680
705
296
53
786
751
605
136
133
569
520
495
223
955
464
685
95
113
949
342
908
382
879
605
692
255
586
287
243
422
530
937
63
72
193
140
279
922
880
846
390
707
394
968
446
412
716
556
202
56
491
755
253
121
353
348
244
207
951
652
570
938
323
361
519
118
412
342
184
107
394
555
336
79
765
947
713
947
413
41
907
179
792
113
953
415
80
486
783
359
331
691
302
933
205
269
649
569
779
461
431
940
371
596
865
747
76
582
921
416
753
693
113
104
651
854
579
46
274
808
189
889
787
603
475
557
903
487
429
760
475
360
275
508
255
611
77
221
271
451
696
195
434
175
410
867
709
877
192
566
780
290
229
219
873
718
183
684
363
467
294
653
537
632
223
171
455
971
833
431
312
723
767
570
928
503
668
225
483
578
231
130
541
983
56
405
676
788
613
82
457
770
787
743
746
593
874
413
650
305
88
796
108
140
164
684
941
155
423
141
652
943
575
206
295
142
611
673
41
794
498
326
419
771
856
894
201
95
103
441
142
118
720
837
481
804
789
906
135
501
196
338
343
383
290
870
991
716
226
810
426
154
792
939
509
726
445
433
491
772
237
376
125
688
809
994
410
161
396
574
486
801
751
397
296
438
863
695
93
564
475
141
779
400
139
290
502
409
890
475
661
750
351
765
450
200
368
348
133
243
509
642
840
901
656
475
376
626
482
67
234
676
345
593
771
237
706
90
471
374
781
702
810
519
744
855
521
667
117
633
106
741
799
739
339
302
812
445
781
371
343
536
190
880
176
438
206
547
174
80
593
656
340
518
359
402
208
581
886
305
62
811
394
621
302
429
717
961
811
303
843
484
934
871
984
777
611
541
958
619
119
77
706
119
545
817
945
229
700
532
861
500
177
506
982
346
835
892
494
868
916
229
268
938
244
188
742
223
692
756
801
229
199
720
279
980
614
215
495
271
272
849
773
252
741
278
952
414
919
216
548
154
228
937
457
302
150
464
546
271
881
465
237
595
945
129
74
435
448
120
426
611
611
899
402
924
935
333
967
417
369
352
799
63
99
882
473
731
140
316
492
775
347
949
977
376
708
124
852
778
722
274
554
168
430
199
73
290
776
342
856
783
441
362
675
959
252
310
514
537
389
964
197
523
166
721
332
129
305
811
165
282
301
207
145
630
248
773
49
904
191
184
131
886
822
783
144
776
571
159
713
737
161
731
346
644
696
74
767
799
479
583
662
564
538
72
744
550
365
291
718
700
668
750
778
672
934
983
732
398
126
158
498
864
376
723
234
50
880
283
363
851
312
674
959
49
661
671
660
553
238
971
759
572
286
59
967
391
999
359
274
628
867
724
253
473
378
251
625
770
339
641
67
87
455
458
284
191
826
789
591
492
764
178
452
771
730
497
999
223
373
280
382
468
817
264
778
349
721
941
138
957
931
152
225
392
559
104
344
675
751
761
150
416
610
536
787
748
388
461
745
140
507
847
128
381
635
986
868
934
234
202
593
139
122
366
367
710
981
943
228
195
417
901
649
287
939
864
698
408
972
738
205
997
166
941
914
241
427
89
133
690
115
953
792
351
837
415
329
639
440
60
641
300
899
289
939
182
552
675
899
755
503
47
91
634
695
115
93
162
878
216
71
162
505
706
528
72
995
717
528
339
888
443
227
340
480
985
885
745
939
867
589
549
332
537
970
580
217
833
994
761
665
634
462
945
161
986
248
41
816
859
138
837
957
894
714
429
758
828
902
293
279
458
678
498
654
414
976
64
554
655
722
475
535
632
753
501
159
755
854
459
957
422
870
944
382
774
431
713
781
862
353
319
141
114
786
92
618
61
616
667
326
893
913
688
94
631
485
134
676
74
408
155
654
99
926
920
190
577
626
181
594
499
321
851
421
512
94
667
195
100
477
486
618
994
452
166
334
998
422
777
597
686
415
434
375
662
981
884
569
157
308
982
777
950
156
226
956
212
314
116
853
840
553
923
645
910
81
310
998
576
791
220
952
101
932
960
108
651
385
547
322
67
602
972
655
971
444
727
331
366
446
785
552
686
42
861
448
872
434
476
728
262
891
192
677
627
520
270
379
72
514
939
291
447
251
525
987
542
603
471
538
983
591
79
658
391
328
437
177
69
969
938
928
964
547
824
435
626
489
873
156
631
58
506
716
183
925
528
142
719
299
495
764
373
410
821
955
668
216
54
522
204
941
510
497
645
886
794
539
115
580
963
949
452
284
793
786
603
815
765
701
427
761
423
404
454
685
492
88
90
859
761
421
397
263
357
473
422
134
755
139
201
125
150
868
538
476
51
980
958
387
867
936
831
624
387
357
635
523
488
721
674
437
78
83
192
918
885
278
221
937
257
767
87
549
428
402
515
859
525
381
445
300
503
114
723
567
167
925
99
637
707
196
169
322
904
847
638
935
584
787
925
405
838
943
231
57
77
575
414
159
145
133
332
709
135
60
235
54
292
679
322
781
962
920
953
436
841
701
953
357
904
291
983
325
591
755
282
372
764
209
912
293
687
865
939
301
897
137
390
681
389
240
230
472
446
838
359
665
504
372
392
898
939
166
365
696
802
110
973
453
454
425
584
559
475
243
229
882
818
795
936
695
279
328
805
428
52
802
652
346
328
879
795
281
394
114
733
943
129
744
652
660
683
91
145
685
683
461
209
662
668
715
799
56
116
715
916
90
842
209
775
188
557
230
489
790
980
326
645
746
158
699
82
815
352
730
534
156
981
696
336
748
242
245
688
699
913
131
310
472
683
806
394
680
586
167
342
151
239
465
654
425
356
407
441
609
49
328
191
505
730
833
42
428
447
970
627
793
869
515
241
409
867
715
552
599
857
114
952
623
593
897
461
109
487
366
289
872
439
83
621
157
562
326
292
902
523
74
218
274
408
715
52
885
225
511
301
197
965
601
596
352
781
328
634
836
257
935
657
85
348
334
180
611
537
979
453
171
90
101
264
365
160
209
987
544
786
271
810
650
739
342
894
161
684
795
253
447
628
819
793
405
429
474
114
124
415
242
63
811
347
381
170
721
253
70
488
558
298
943
578
586
290
372
661
154
550
69
168
326
130
859
562
68
203
300
420
593
411
419
388
492
755
487
963
213
951
484
594
272
605
469
845
814
844
706
947
411
352
960
393
326
659
751
716
835
882
969
639
604
165
445
227
359
585
969
484
110
134
250
639
468
639
430
965
783
340
618
245
145
776
157
899
322
652
715
375
297
196
535
448
684
54
120
634
183
634
386
124
145
588
93
487
812
823
279
118
667
489
893
427
48
320
683
184
78
141
91
538
669
492
416
185
679
414
335
618
671
661
536
505
257
118
73
454
802
931
269
495
435
744
600
218
109
534
439
199
364
380
787
934
199
452
933
451
243
598
252
376
350
585
182
560
475
791
997
845
548
794
906
369
797
60
405
257
916
290
120
500
759
776
124
164
668
459
157
941
255
765
267
525
953
484
510
245
475
889
547
905
628
515
740
101
783
113
718
260
847
582
178
798
400
346
688
153
310
998
146
774
66
397
307
344
413
809
327
741
649
193
121
725
564
465
916
594
137
442
643
896
340
102
53
818
477
592
876
659
863
600
699
62
886
655
41
76
101
937
549
920
933
436
650
661
556
775
694
557
429
784
950
366
151
944
341
591
354
84
210
166
868
537
373
743
267
72
46
336
909
263
952
123
573
720
191
328
913
609
742
490
603
166
599
50
94
64
629
253
694
302
40
874
657
179
303
436
547
135
479
370
247
766
634
821
787
502
925
539
588
912
975
773
660
727
702
772
467
689
739
752
346
308
385
552
863
99
45
644
364
653
295
268
255
994
205
138
655
433
400
541
473
902
547
870
843
145
211
980
999
798
336
961
747
449
810
488
277
848
863
288
412
664
487
146
820
140
481
797
585
719
261
68
481
673
319
397
349
643
549
604
999
520
557
160
95
338
966
718
415
519
136
378
499
265
65
238
473
235
184
638
151
570
991
898
615
378
416
432
635
761
987
831
156
114
411
116
272
685
467
776
189
920
630
598
591
824
183
803
496
980
143
542
823
895
161
219
510
303
684
518
435
283
428
819
532
909
808
341
475
554
263
368
930
538
44
429
877
898
212
930
738
898
893
653
234
156
581
746
128
121
149
240
345
319
43
658
606
426
357
797
759
303
359
86
242
186
545
229
903
701
883
43
101
356
816
343
309
60
618
155
849
470
162
548
793
710
159
619
99
728
349
982
745
295
698
760
985
432
293
243
956
957
609
784
254
960
600
53
910
162
561
453
569
703
460
520
803
724
120
989
230
333
684
517
899
771
45
269
470
395
905
204
523
742
591
710
177
739
747
829
236
765
444
157
572
781
569
416
440
202
465
232
280
650
391
184
316
165
438
997
888
309
316
268
788
392
776
674
816
946
77
884
115
998
511
541
869
61
637
668
221
925
575
375
470
238
280
942
778
539
916
375
721
577
627
505
378
404
837
157
870
70
489
774
797
874
573
321
117
593
534
610
205
353
275
168
948
400
697
929
219
812
175
259
839
593
689
608
273
865
644
744
968
633
200
816
471
95
689
714
872
751
429
697
813
889
304
451
205
943
450
212
860
403
854
536
376
793
908
934
552
439
786
482
946
964
965
412
825
866
218
989
137
356
108
505
320
751
563
687
930
572
626
587
788
641
244
636
796
832
583
459
654
548
724
956
373
658
94
671
971
947
990
176
796
953
366
200
79
251
571
445
545
986
215
619
200
61
698
497
469
986
816
559
362
542
255
786
417
454
309
368
992
601
95
578
314
785
138
214
143
271
153
483
802
126
542
223
350
939
781
197
775
170
777
740
585
40
66
229
55
276
127
886
969
842
98
81
310
844
654
697
719
307
106
896
573
292
567
115
997
149
461
778
58
909
589
866
535
515
424
514
745
936
971
627
281
367
243
449
731
682
409
65
925
802
891
785
892
679
632
791
748
369
303
320
641
680
577
521
599
749
132
612
666
516
423
978
596
70
899
141
384
660
238
716
200
79
469
329
180
79
795
43
879
383
714
525
681
421
399
660
452
365
569
884
713
403
849
364
322
167
280
412
322
53
800
109
217
502
453
712
77
126
548
822
95
485
206
350
939
974
959
349
40
893
874
783
381
131
789
615
784
133
908
550
944
131
713
55
174
101
180
186
591
341
411
185
442
56
322
654
156
480
167
498
115
810
211
670
895
289
537
289
228
246
445
889
446
271
388
726
819
122
846
408
561
939
754
425
143
627
162
74
869
737
185
70
324
668
976
619
675
342
65
230
674
245
698
542
764
854
320
653
896
873
453
370
423
253
736
80
367
470
553
801
795
51
838
775
965
135
747
836
151
572
665
848
672
739
172
106
662
112
620
786
592
922
450
988
69
194
613
833
479
953
721
598
872
940
374
421
106
647
700
573
530
968
730
635
175
838
141
253
502
47
821
304
308
755
570
289
740
697
741
741
957
803
547
422
598
111
993
548
436
161
463
201
461
415
591
693
900
553
694
427
333
685
881
808
372
714
676
784
871
354
170
693
308
695
83
305
836
227
240
309
955
454
595
836
390
658
363
497
802
339
814
886
473
342
139
935
62
334
116
724
362
647
558
64
793
733
609
271
928
943
293
642
622
803
843
415
842
159
962
603
147
420
201
144
346
257
447
953
376
97
482
849
120
907
670
793
878
551
172
230
714
937
649
71
777
312
510
593
830
635
540
913
814
975
79
447
586
578
431
905
490
85
932
96
309
975
964
390
712
251
143
356
350
977
869
370
231
362
111
993
192
159
350
299
109
967
144
248
830
66
298
490
119
335
237
610
885
734
822
479
733
528
432
600
168
505
231
757
891
724
206
876
54
642
73
344
861
252
795
415
503
877
775
858
777
43
680
88
209
112
980
335
151
780
205
506
114
922
780
817
974
807
346
672
165
582
857
701
324
276
983
504
964
144
234
324
848
976
910
228
621
956
927
253
137
810
538
359
258
185
124
697
248
524
247
657
146
118
712
463
712
755
742
329
189
412
624
995
353
977
737
899
330
670
88
515
560
515
192
95
910
914
229
411
67
346
114
729
240
828
859
193
593
661
156
576
415
683
941
124
174
117
263
640
117
355
630
600
899
438
106
249
616
596
44
502
863
568
685
911
361
208
935
974
982
719
517
917
806
366
972
790
292
138
777
271
690
63
754
578
83
678
271
850
765
284
482
933
199
264
715
104
94
60
520
58
509
616
530
869
113
719
884
63
188
114
517
928
502
874
338
263
413
300
88
897
92
797
391
153
70
234
160
845
286
860
306
819
981
482
241
213
956
950
302
616
643
679
402
462
191
515
642
520
826
769
534
776
763
532
801
961
522
176
400
878
802
792
148
185
327
323
452
802
615
212
331
152
946
186
342
531
240
984
493
418
886
505
881
70
580
716
742
774
575
154
262
299
726
842
633
828
991
433
181
403
516
239
330
827
308
88
942
920
293
487
985
63
104
940
851
392
394
795
785
226
649
121
309
448
340
664
330
594
427
79
805
53
314
335
147
489
214
642
699
838
312
60
995
488
894
825
825
546
877
429
351
453
681
745
833
202
373
208
602
857
956
313
899
108
501
995
636
673
535
536
574
723
323
358
808
716
348
629
569
130
466
374
619
75
136
582
697
951
798
814
892
505
788
652
75
233
639
798
188
798
45
384
457
727
408
984
403
508
902
274
543
516
727
445
462
481
487
441
574
495
65
120
363
681
884
547
476
263
724
509
488
209
180
861
570
598
295
687
502
197
352
313
452
388
180
986
134
99
234
916
558
417
273
423
661
557
783
679
246
223
636
737
902
824
227
981
311
691
903
598
346
367
783
739
114
456
208
983
262
301
589
521
706
716
499
196
627
592
97
660
976
598
813
368
106
987
474
938
41
579
281
482
206
919
806
694
376
477
689
740
449
566
508
300
99
75
440
592
104
322
48
405
776
140
742
336
109
946
890
635
672
992
226
589
188
209
969
721
322
802
606
255
499
902
128
909
804
444
971
548
906
663
674
549
579
366
107
815
278
961
621
806
67
742
975
337
745
283
602
444
135
502
745
495
574
655
280
458
303
764
247
601
918
146
847
371
326
642
597
486
162
606
193
86
571
313
630
604
439
476
941
128
312
128
997
173
837
215
889
247
460
609
296
669
86
231
252
709
975
159
858
102
329
741
190
536
584
765
832
358
222
649
953
564
332
294
929
871
841
862
904
758
804
994
470
289
160
520
260
639
624
203
909
633
41
148
418
818
752
403
316
477
655
478
230
968
143
301
614
737
716
821
373
298
543
217
890
997
94
459
538
593
672
300
901
782
900
939
433
666
964
840
630
190
313
966
780
905
874
957
948
507
59
242
711
774
366
517
207
57
89
663
465
541
984
713
764
864
709
927
495
406
965
397
865
951
444
744
106
476
803
761
344
306
359
105
279
195
942
834
474
992
652
938
481
101
83
647
914
445
293
215
637
167
653
490
490
371
644
491
178
405
425
590
870
125
683
669
160
369
516
285
644
965
887
189
404
436
966
342
605
980
106
84
310
484
64
890
678
933
321
929
374
80
473
738
335
251
420
254
260
748
797
726
953
381
828
267
313
955
644
171
647
355
53
824
767
161
54
846
422
647
615
514
482
638
751
361
236
227
972
520
419
497
417
776
526
663
606
694
237
749
635
649
786
938
42
773
138
293
85
526
784
723
699
647
717
176
254
914
576
776
751
55
451
544
50
400
831
540
887
850
391
834
333
934
341
281
481
580
584
308
537
500
141
630
475
691
850
963
192
677
472
545
570
729
787
364
788
743
150
240
972
67
61
465
319
578
388
572
823
734
978
986
405
620
352
111
260
412
907
323
377
292
967
584
445
248
773
952
995
664
457
763
297
742
955
449
573
326
293
341
491
933
353
951
229
158
254
398
420
700
741
917
161
154
256
983
171
895
51
62
939
520
387
624
288
984
481
131
489
770
640
86
101
226
237
822
477
576
63
69
584
266
408
233
899
996
87
683
785
957
90
349
226
566
850
705
204
433
930
750
833
76
783
324
650
684
995
240
597
435
501
669
380
84
916
154
907
416
74
969
512
373
277
957
104
805
798
49
294
655
472
628
263
921
981
179
290
693
844
339
471
738
47
43
217
726
571
877
229
863
58
678
970
603
409
894
332
793
335
400
112
949
422
614
832
732
224
350
723
449
405
45
834
463
341
665
290
464
923
261
102
678
238
972
249
747
125
273
867
169
580
622
124
277
360
100
134
710
130
95
588
753
777
930
122
756
131
785
51
793
101
42
177
50
404
434
698
100
919
981
514
888
783
752
427
678
387
671
356
527
551
951
477
91
925
789
145
761
343
486
694
818
508
406
172
530
204
223
380
953
273
920
370
380
632
351
305
290
679
575
656
291
763
158
329
769
472
903
861
888
930
275
523
380
146
530
179
986
107
754
524
94
490
666
230
163
272
608
828
836
265
376
606
437
641
807
595
348
71
618
164
884
865
217
791
768
759
87
241
736
331
530
879
50
321
651
421
380
76
556
241
556
917
404
187
400
413
185
737
385
861
842
177
414
580
974
679
303
282
243
280
575
626
886
345
801
545
224
91
912
159
570
672
167
163
736
426
447
457
366
60
121
679
738
688
971
939
981
806
145
615
414
734
829
379
344
262
356
670
294
973
347
600
354
429
986
614
799
102
120
714
607
46
329
627
600
206
603
424
487
373
510
788
624
866
672
496
957
67
135
531
871
144
421
801
564
629
697
605
183
992
695
739
603
279
767
726
308
456
845
760
743
701
881
635
501
386
821
977
69
246
563
136
710
76
352
933
755
872
965
183
145
693
350
97
77
816
253
876
259
181
649
596
138
882
650
876
848
764
905
946
380
763
330
774
107
514
80
188
144
53
476
674
617
614
855
389
154
365
325
137
814
164
343
321
278
79
549
350
187
301
788
627
401
901
721
292
478
292
678
145
69
373
289
266
141
362
592
85
406
284
609
766
705
962
255
589
514
926
944
868
308
57
685
670
178
349
659
804
264
226
362
105
55
123
533
349
332
123
163
598
650
677
737
866
127
963
850
569
879
272
380
573
342
552
400
410
368
793
602
100
947
984
978
225
307
376
114
439
903
697
507
812
569
590
185
139
771
721
289
250
468
340
625
584
129
633
331
161
481
41
185
521
135
756
337
902
507
384
993
825
485
648
804
914
610
407
900
713
260
795
834
87
201
127
575
912
294
437
660
877
774
116
606
405
707
378
368
861
745
813
658
673
138
658
290
820
219
974
220
937
366
919
227
65
466
312
754
441
788
223
187
182
159
216
396
149
640
426
220
701
115
853
386
221
259
425
484
375
552
858
234
158
611
941
437
314
832
514
460
243
421
323
410
654
377
686
366
388
118
486
754
320
889
798
685
116
254
740
117
635
263
434
563
715
429
913
519
620
105
82
858
469
437
868
568
878
917
631
621
103
511
545
243
888
84
520
370
998
325
888
864
465
915
586
779
793
483
443
939
917
681
227
251
592
612
341
73
676
212
159
470
438
912
997
196
587
195
290
533
925
725
197
378
337
538
278
730
900
963
856
389
688
307
302
399
815
854
740
53
686
622
233
887
402
219
931
269
901
126
649
250
705
915
140
253
489
682
476
279
724
942
190
514
680
759
92
583
126
195
861
626
615
195
832
928
220
269
521
584
746
91
354
92
378
900
959
857
366
365
129
308
867
219
50
539
981
411
486
532
419
873
248
754
817
285
794
708
456
128
270
166
197
820
399
163
178
750
822
465
652
428
500
735
337
898
823
268
634
934
634
120
580
204
724
655
72
517
42
961
821
396
635
100
236
816
762
444
919
459
539
938
925
738
243
709
296
792
247
468
488
598
693
586
693
541
444
791
536
836
475
720
297
299
190
880
730
316
519
591
808
769
58
422
413
700
813
621
745
798
824
244
227
122
135
610
555
244
861
401
391
588
92
986
794
726
219
143
902
235
803
100
179
946
713
65
350
665
405
383
169
251
53
433
825
116
439
874
251
846
825
815
41
742
110
643
554
630
666
723
225
167
893
49
89
530
254
532
527
274
138
903
585
803
768
447
586
317
619
540
725
941
313
515
778
64
283
656
427
385
103
603
55
432
592
316
479
648
500
687
445
552
785
447
715
685
983
260
565
229
408
114
101
426
482
919
470
726
461
147
754
434
283
47
533
332
887
417
698
525
152
995
495
905
483
980
307
853
502
294
690
898
927
666
801
348
235
410
969
606
857
947
482
903
295
354
249
763
191
698
770
47
310
936
641
697
119
718
147
181
917
775
900
823
61
704
813
176
805
238
987
91
891
844
173
846
396
138
220
729
503
995
853
191
73
768
464
114
845
80
154
738
925
806
780
445
737
817
695
937
370
506
723
793
166
501
487
62
540
813
822
46
599
395
482
587
91
633
590
472
870
67
982
77
105
80
191
599
866
932
264
963
895
615
86
752
788
973
65
395
186
606
62
384
577
325
477
789
86
420
635
987
797
71
512
248
423
940
899
154
75
505
600
244
557
661
573
185
855
812
920
185
829
210
763
279
760
796
776
479
489
760
240
372
187
598
489
87
652
516
258
968
432
500
450
651
57
827
668
432
387
670
145
219
532
890
960
779
882
172
731
80
781
584
873
408
151
955
261
533
673
660
846
343
424
990
845
220
576
178
195
195
556
818
548
848
839
337
310
399
893
532
784
986
671
843
441
611
991
753
438
487
959
681
950
330
101
410
428
50
697
260
488
52
180
89
602
64
492
245
610
424
793
967
263
396
818
405
68
618
630
939
741
904
779
254
406
890
352
100
995
173
885
819
349
377
963
509
345
222
861
566
361
269
240
65
728
914
443
706
275
426
498
731
322
193
517
685
226
425
220
596
476
431
782
405
761
218
984
145
285
107
716
524
124
934
87
921
944
709
493
113
882
710
373
676
369
593
872
691
209
793
94
68
771
432
973
748
487
159
647
895
598
71
223
596
840
923
218
813
228
316
633
96
126
866
44
358
313
328
131
216
95
813
561
686
727
264
972
76
448
357
995
608
610
99
67
104
834
440
482
253
615
52
867
87
273
611
818
540
136
333
769
176
840
694
542
619
183
848
154
133
164
171
439
429
407
195
886
399
378
695
654
518
128
858
859
311
888
890
66
598
145
61
83
791
999
571
254
924
866
151
120
747
859
224
370
242
252
913
418
651
414
936
603
364
895
439
160
403
754
676
82
521
312
328
223
138
764
233
538
412
528
587
271
77
53
716
123
336
421
256
330
628
447
253
279
778
642
69
790
280
716
71
933
419
929
863
471
583
982
962
472
917
667
958
850
96
477
355
937
915
757
227
803
527
968
941
779
419
698
513
441
968
583
899
594
730
331
612
182
826
939
262
885
233
796
838
169
299
754
350
474
465
514
316
990
82
227
818
689
861
360
73
356
856
223
908
100
817
82
337
90
382
77
861
608
412
594
182
257
554
946
788
226
948
277
938
668
394
795
854
975
791
560
274
378
820
506
686
571
127
269
552
105
789
408
389
126
690
656
497
720
420
347
987
78
868
194
531
729
102
704
749
514
258
392
108
294
849
336
443
530
807
944
588
404
833
775
584
191
201
278
571
675
136
98
727
399
463
79
748
947
79
852
589
788
832
935
449
176
436
648
448
244
323
402
990
786
655
114
208
996
674
502
343
272
181
852
658
255
298
296
735
709
866
214
101
743
783
81
667
846
504
155
192
277
253
81
983
837
465
670
101
636
406
748
806
366
756
50
276
395
197
457
580
253
826
673
664
474
921
694
973
682
771
476
903
943
174
791
278
830
571
181
830
900
802
397
261
833
656
438
264
792
173
647
165
130
878
924
848
674
235
282
503
239
133
589
362
207
709
426
193
765
428
191
457
903
316
157
665
998
920
330
534
734
815
822
170
501
608
268
625
177
816
124
291
930
404
276
232
460
48
643
973
757
442
732
195
456
339
417
943
213
823
442
460
792
569
304
585
257
845
524
228
129
954
107
621
877
878
134
379
961
597
475
464
386
685
584
280
99
170
381
640
518
743
162
153
785
345
946
275
719
605
594
924
518
434
416
257
411
373
301
535
743
256
647
811
900
420
114
158
133
270
689
683
100
187
821
684
406
363
908
982
995
174
594
154
287
89
523
524
402
679
236
244
330
546
287
472
415
341
673
458
42
554
555
647
205
913
88
424
423
598
522
721
515
348
81
730
345
354
569
225
625
768
302
556
885
181
239
859
664
292
82
869
145
869
611
490
926
122
156
46
530
955
709
530
305
435
746
223
192
346
217
111
282
490
694
916
861
882
368
270
620
877
559
637
221
193
984
101
733
805
454
805
197
308
172
250
128
455
944
715
388
906
908
320
671
355
292
392
902
73
990
409
871
391
473
997
596
534
389
241
473
948
432
143
883
774
895
657
207
588
396
217
384
928
694
279
579
735
300
451
86
954
824
271
48
506
784
484
325
300
983
808
730
274
953
695
526
127
595
174
728
533
703
601
759
264
907
790
505
515
890
670
53
486
158
289
120
749
464
215
482
563
889
992
840
473
848
406
61
948
692
296
59
75
405
139
979
617
325
644
827
541
127
470
623
352
207
118
536
542
764
743
642
442
740
683
896
327
816
699
88
604
916
400
919
605
720
153
976
552
329
370
821
605
401
670
649
584
832
500
582
930
798
589
851
288
422
502
81
413
192
703
146
605
683
180
673
812
805
372
165
960
818
390
332
799
306
993
854
197
213
222
44
465
343
201
809
522
466
344
60
443
252
841
724
232
151
560
550
777
77
74
643
600
946
831
951
595
929
243
841
398
682
354
190
953
332
724
560
920
970
432
917
986
977
387
728
324
314
146
187
44
182
589
521
796
836
52
214
705
268
79
49
136
901
61
550
657
424
466
270
355
833
594
986
672
590
735
121
461
596
139
175
918
735
74
477
958
922
596
288
304
592
334
955
928
738
475
81
102
641
857
524
800
357
73
857
163
549
100
565
858
728
155
373
958
150
289
548
417
562
867
873
274
581
723
46
129
396
910
244
70
926
403
710
649
126
135
669
712
344
709
77
238
826
457
817
881
976
828
399
726
726
205
692
530
839
998
320
92
939
590
362
529
499
450
244
934
57
691
941
823
997
310
649
103
439
504
165
612
856
619
265
650
525
425
45
355
752
849
565
891
956
443
466
249
646
660
500
860
642
764
333
835
591
894
615
285
388
357
94
589
368
119
860
786
826
630
903
673
590
386
342
973
254
441
500
411
690
864
744
613
869
222
156
190
606
839
779
806
691
371
50
421
713
909
877
79
610
96
261
127
65
111
727
347
115
597
934
436
647
960
524
347
996
83
831
357
692
81
527
677
892
723
949
546
624
435
163
227
993
889
127
775
321
141
531
571
349
406
448
219
964
84
328
790
554
779
693
998
429
67
607
299
406
102
550
704
692
208
305
157
937
896
328
534
191
708
58
271
326
840
593
201
839
863
805
720
473
369
596
464
627
184
457
429
396
834
612
382
759
630
974
463
357
830
60
448
953
166
376
400
584
40
511
522
475
464
210
284
666
958
874
472
408
592
924
314
413
41
767
110
915
956
325
208
854
163
338
544
780
663
256
814
170
335
108
647
169
835
993
995
445
308
663
76
964
231
670
624
969
933
381
134
336
451
577
736
527
313
518
180
749
126
560
297
463
313
527
791
506
833
158
807
716
236
645
199
359
234
468
469
146
637
778
146
768
944
757
959
795
997
133
939
875
41
670
897
100
119
223
438
534
600
155
139
733
288
504
354
322
74
329
208
125
99
574
423
439
105
374
180
457
705
436
783
485
894
585
733
867
857
968
442
415
801
861
232
352
996
750
277
592
750
832
633
499
349
948
392
294
96
643
840
203
531
808
826
222
976
665
814
408
565
363
356
978
602
867
443
715
351
116
251
514
262
664
628
941
387
226
633
844
978
105
265
475
742
908
868
163
155
99
334
710
651
384
255
820
349
68
147
276
918
736
182
340
946
520
409
258
789
975
583
802
640
377
656
767
164
607
903
493
576
509
985
75
510
48
463
110
598
395
90
453
120
115
149
450
889
948
759
381
925
784
150
335
588
587
615
214
400
73
854
359
156
636
253
232
429
932
681
581
591
372
334
239
328
217
918
335
431
471
377
158
537
857
890
212
494
656
841
241
82
123
338
558
667
427
93
439
187
113
670
426
752
837
975
386
754
309
337
154
298
70
830
885
220
215
783
838
771
543
218
532
369
573
644
981
843
930
463
447
886
295
664
99
438
182
425
632
478
169
869
341
997
762
691
540
607
433
730
762
81
510
626
675
792
828
509
711
757
126
685
952
305
638
172
802
253
827
450
971
991
274
422
626
834
259
276
528
816
748
852
293
347
757
259
583
303
796
468
290
337
684
157
479
413
617
310
137
522
779
698
770
346
142
597
927
862
64
442
482
218
948
216
605
95
842
818
251
371
510
745
817
845
358
506
278
703
202
111
148
388
725
473
252
279
100
444
275
563
480
692
181
155
967
299
57
835
626
166
313
218
445
797
543
41
309
929
751
747
917
108
174
48
988
161
184
652
491
881
546
695
178
264
513
86
100
504
519
982
627
927
320
854
324
134
794
600
531
865
470
947
215
274
673
907
310
320
740
295
259
275
585
905
900
841
564
619
445
527
917
175
350
431
829
526
298
345
211
652
686
148
552
208
873
727
832
640
653
766
569
180
849
842
899
649
289
984
211
184
330
817
151
666
132
921
704
434
297
903
710
774
490
46
777
904
780
878
240
875
127
844
397
632
635
958
952
629
676
386
630
204
997
199
994
279
900
49
578
144
821
486
406
673
159
157
63
804
996
854
75
743
767
648
129
547
651
458
945
681
321
795
866
984
52
231
672
266
574
382
604
710
692
622
441
631
751
487
914
492
198
799
634
706
906
983
224
329
650
160
575
132
786
220
527
458
142
713
646
854
511
246
478
413
876
170
392
318
42
455
678
741
891
983
185
907
281
725
240
808
73
226
96
971
44
402
932
310
579
615
459
421
363
370
166
803
811
458
41
556
125
462
832
891
973
753
758
732
372
794
717
299
124
349
247
530
578
718
219
384
92
604
912
609
446
331
172
339
267
474
951
821
244
890
497
273
601
263
110
719
766
992
892
575
909
366
932
622
761
128
192
859
124
701
567
824
645
955
112
102
381
311
857
916
491
154
271
589
660
363
218
399
743
321
562
119
755
369
378
634
452
873
636
373
171
978
136
766
302
888
529
54
62
437
434
293
961
107
112
619
378
579
49
169
837
737
151
239
566
96
932
772
445
228
187
118
389
631
154
817
158
869
453
88
682
706
252
151
590
418
913
529
999
207
814
244
326
530
693
890
246
196
774
682
329
457
648
437
757
79
549
67
279
119
437
580
986
619
173
952
477
951
877
372
552
61
737
549
658
138
777
890
975
934
305
696
863
681
433
629
83
305
428
444
401
758
961
344
108
659
801
314
298
423
160
700
631
152
254
118
72
56
219
356
59
589
256
391
796
840
711
651
718
591
802
617
619
248
767
268
671
154
614
905
972
598
801
937
947
144
999
925
473
870
109
216
496
66
766
953
151
137
657
318
864
204
513
812
957
292
615
376
719
439
293
295
364
923
56
998
486
765
534
166
555
872
502
792
917
155
904
92
556
45
375
644
803
68
542
658
282
136
840
929
757
833
627
760
153
88
448
640
400
112
452
887
424
285
467
742
595
941
623
286
283
221
148
730
648
463
263
286
958
62
453
426
72
383
768
80
483
259
863
241
636
908
370
574
334
651
163
477
721
264
90
725
591
521
106
887
600
49
272
904
812
807
269
605
898
105
514
979
680
96
159
390
459
913
404
850
823
744
95
916
963
171
109
92
46
569
361
123
106
765
197
791
609
202
198
108
70
877
975
958
301
58
290
199
503
911
504
958
752
725
65
784
613
324
900
50
731
139
385
502
706
923
471
883
882
543
710
331
181
254
113
882
174
909
195
294
986
61
408
282
509
742
820
261
636
717
761
804
648
591
77
694
940
54
918
100
411
616
165
336
662
529
199
578
504
804
702
958
374
826
319
673
736
378
168
172
158
382
55
723
298
140
199
827
857
935
554
868
707
508
591
500
968
193
475
475
983
647
226
447
503
413
527
697
948
786
528
388
674
71
588
436
931
836
595
103
850
214
669
398
712
680
680
416
314
112
189
535
880
532
447
507
368
863
273
145
206
859
712
601
65
78
786
42
739
971
806
205
279
681
700
512
275
555
898
509
871
281
62
319
816
66
210
330
67
924
949
574
673
527
629
743
632
910
692
186
55
689
502
447
680
131
588
474
528
693
670
837
229
647
939
731
808
472
129
776
471
903
848
456
585
221
977
955
384
175
752
499
738
309
101
522
291
236
520
183
578
550
265
786
111
165
251
63
952
347
700
131
460
383
55
159
614
472
625
550
350
252
46
340
200
469
651
124
629
716
310
440
530
815
875
385
905
627
735
193
886
630
822
197
421
489
604
353
904
426
146
551
366
891
412
941
258
756
237
877
435
232
483
58
472
264
215
877
246
236
546
890
897
531
452
823
738
43
947
558
363
138
297
365
392
737
981
905
426
906
452
72
304
742
145
708
694
288
42
247
226
607
565
280
211
640
49
305
820
356
550
96
932
421
501
615
841
417
545
757
699
383
621
929
842
369
679
652
726
375
764
449
71
158
92
909
587
409
694
585
480
215
518
820
303
541
593
806
80
271
905
913
485
94
524
969
792
745
652
786
942
623
795
632
497
165
129
664
986
852
838
521
291
477
102
554
65
233
967
591
106
722
601
227
623
256
426
264
937
52
867
672
256
229
166
53
650
829
211
967
780
458
463
397
55
248
558
247
557
391
434
631
600
557
376
628
508
60
175
934
973
806
83
392
216
230
558
891
532
199
747
217
320
872
134
544
842
841
169
868
54
244
866
530
86
48
401
157
496
700
415
744
817
65
206
79
611
491
910
91
283
964
843
552
328
107
865
717
803
424
849
107
787
197
664
855
531
719
802
101
630
984
425
439
218
344
668
484
891
165
41
858
451
629
567
884
57
42
986
203
829
708
621
477
751
997
419
297
720
912
154
606
595
962
135
529
40
109
539
511
965
392
129
277
745
112
748
722
759
928
941
422
935
209
988
966
721
953
471
998
271
163
151
326
399
211
87
557
859
450
570
518
619
303
535
685
904
285
322
861
568
785
72
198
549
592
598
199
338
235
696
411
805
813
805
978
608
571
327
297
568
749
308
448
597
647
264
469
98
815
311
594
468
347
660
685
309
898
529
555
913
394
727
93
183
791
847
203
940
352
786
350
250
704
862
119
356
79
49
450
222
978
367
72
312
263
720
835
597
993
521
43
320
457
492
962
499
907
978
929
441
530
564
844
522
754
278
852
805
827
636
232
444
691
900
100
399
556
300
767
623
829
830
333
253
840
746
90
428
736
532
438
538
723
566
85
626
119
798
196
137
427
526
169
845
360
62
237
405
99
926
899
476
873
850
790
846
805
620
854
220
123
583
62
117
755
315
645
760
498
543
242
730
651
930
984
855
519
520
587
42
119
351
320
981
918
532
491
750
542
155
240
267
845
158
609
740
308
54
594
288
631
965
948
380
559
930
195
403
220
119
247
314
276
220
407
688
439
563
287
914
625
203
190
445
926
456
780
876
706
297
440
60
362
152
755
394
965
128
560
922
646
950
316
788
860
827
696
387
920
958
692
786
188
239
661
782
480
341
499
690
628
517
918
701
900
140
197
526
51
176
366
136
148
961
200
765
641
996
822
228
158
983
58
950
474
73
619
140
550
403
591
905
573
457
867
559
520
350
116
631
141
705
105
341
172
502
758
44
602
565
584
856
993
629
354
947
387
377
177
813
721
553
795
977
53
326
424
532
364
695
764
326
948
893
287
968
783
721
586
620
428
227
506
41
999
674
252
432
775
225
170
555
688
843
55
759
834
582
581
892
741
780
353
761
949
117
87
376
124
348
123
106
192
937
621
870
348
740
238
943
289
130
303
577
584
129
695
271
160
75
900
684
124
347
442
301
851
48
636
594
557
585
671
532
399
653
562
533
138
842
599
159
828
535
973
538
857
216
195
984
589
62
147
778
400
857
186
255
929
145
265
217
717
505
681
456
868
726
819
678
294
864
170
718
949
882
718
948
218
410
319
766
544
690
856
820
766
395
625
293
46
712
399
48
766
125
534
117
485
868
128
63
958
119
324
981
139
323
675
329
459
251
252
530
505
371
867
164
291
245
898
425
827
404
878
522
982
796
41
157
800
358
445
411
210
297
435
327
226
348
524
72
815
708
201
244
751
260
111
835
315
612
481
165
555
397
445
239
764
376
726
926
822
797
191
712
430
471
596
434
555
487
291
257
225
164
292
369
451
734
691
150
439
235
764
611
311
412
919
521
147
501
91
797
81
926
947
870
856
621
911
819
380
728
99
894
728
975
636
353
759
115
296
609
96
429
262
803
235
945
411
878
984
594
711
894
788
862
558
990
646
980
308
566
214
989
196
918
153
811
171
458
618
80
219
342
742
622
838
732
260
505
362
336
206
608
272
424
975
72
335
753
300
494
322
356
787
352
871
584
610
799
771
535
705
319
783
683
330
895
900
682
282
484
786
215
873
330
570
89
806
365
487
291
270
747
79
87
513
906
562
773
447
361
470
695
269
715
95
206
780
136
842
948
848
915
930
478
971
536
188
204
471
729
829
794
166
393
42
581
959
685
631
49
575
559
593
976
263
642
448
895
282
97
540
805
345
612
773
552
499
940
908
221
98
870
176
294
827
335
941
850
376
90
616
335
620
66
253
77
705
151
118
250
914
69
720
532
132
518
797
550
104
425
703
63
587
834
554
744
783
117
547
111
125
686
585
662
991
771
565
857
163
88
432
858
105
507
306
375
723
224
626
368
534
243
567
100
474
605
972
103
142
42
366
958
600
946
662
995
148
414
158
651
882
417
245
150
419
881
453
547
854
828
566
397
493
478
371
949
924
212
657
124
93
950
346
122
929
135
592
137
210
79
943
246
981
57
602
231
350
137
939
157
658
995
461
122
479
329
367
166
826
665
622
768
523
525
987
102
873
149
738
40
896
965
787
622
750
158
62
73
118
843
342
604
168
604
163
942
179
970
729
457
562
953
207
237
966
612
351
94
560
878
944
971
77
451
640
748
463
877
586
701
547
912
364
83
460
443
479
432
741
63
553
80
839
732
220
531
382
168
657
638
296
283
465
549
555
830
743
419
593
595
491
396
423
444
768
494
643
93
795
685
268
598
279
855
852
961
817
766
948
773
257
517
380
457
55
560
305
554
329
869
136
852
117
918
215
771
358
337
557
591
417
247
666
205
65
816
473
266
268
739
80
479
262
715
90
821
495
915
713
597
630
991
551
463
435
264
798
809
356
232
383
675
141
142
960
727
468
412
782
836
932
940
404
942
979
230
456
297
670
393
687
643
895
357
576
433
641
73
773
633
611
462
109
100
589
506
478
165
839
121
969
127
873
715
807
73
473
424
516
621
91
555
254
854
546
344
847
387
938
945
149
139
163
276
949
379
402
837
376
287
372
531
908
118
426
954
437
771
507
193
606
115
296
189
232
381
988
495
232
187
598
410
416
317
347
732
542
764
591
306
824
645
100
56
695
497
968
344
223
248
257
561
545
808
754
296
218
609
690
537
207
123
527
195
329
880
219
824
579
623
502
57
791
60
667
848
725
289
768
243
899
412
365
172
834
317
827
223
858
595
893
240
359
933
761
823
504
868
617
65
705
486
969
888
755
615
755
707
468
733
415
908
575
600
878
113
540
791
787
90
717
233
306
487
775
411
521
65
40
536
57
787
847
207
433
567
419
535
56
215
368
675
431
643
204
769
904
722
90
249
74
68
71
277
412
413
218
92
393
122
344
408
711
284
723
863
753
890
586
123
119
226
221
91
730
640
43
688
325
860
345
193
181
558
977
604
210
418
197
168
456
665
332
988
764
431
691
41
144
97
814
449
813
273
286
838
473
976
43
122
188
213
232
321
935
101
553
812
825
213
770
54
120
308
101
451
486
495
522
642
989
156
445
116
101
773
673
945
988
771
334
244
423
61
700
773
638
982
176
271
129
508
310
730
623
965
798
70
836
451
128
91
56
846
426
964
799
887
934
893
634
463
125
440
964
834
681
868
319
948
381
952
313
880
553
604
654
488
121
551
870
988
561
747
885
224
867
918
360
469
940
978
494
877
359
262
602
361
486
106
980
954
417
251
82
132
432
873
778
646
909
489
427
167
893
342
301
532
733
553
941
189
788
300
165
608
886
496
707
356
732
844
77
112
766
416
596
249
516
825
360
770
448
308
292
811
349
403
972
921
292
966
170
607
928
392
309
961
299
999
791
59
492
700
626
826
810
54
293
136
934
196
762
569
435
328
50
332
47
545
767
376
893
497
363
430
974
759
913
80
613
772
285
400
880
482
309
829
892
618
898
577
147
333
975
961
156
231
211
107
860
576
661
827
830
254
500
331
624
270
873
809
592
819
266
630
650
880
538
850
214
191
699
978
110
368
902
657
127
222
211
94
261
518
230
808
317
759
958
869
240
813
595
376
313
444
409
258
750
364
604
727
252
407
372
583
929
806
666
595
631
291
387
761
430
158
93
781
883
331
120
572
353
386
793
728
325
706
322
470
425
738
709
121
584
339
274
532
934
397
516
833
836
233
768
376
503
316
75
368
771
148
534
924
738
191
133
93
668
535
432
103
158
842
764
517
709
234
147
314
804
793
216
318
531
858
856
451
246
823
54
815
845
713
751
807
118
884
771
545
431
169
447
436
609
697
209
450
726
194
651
471
244
67
504
603
702
515
671
603
600
617
139
191
299
930
649
198
299
824
193
969
967
409
50
64
646
285
280
187
479
601
868
156
480
863
328
805
595
119
975
574
695
673
867
657
464
54
941
262
41
542
595
927
342
459
526
572
935
82
447
640
150
403
916
133
375
157
231
533
205
545
779
76
617
449
554
647
583
621
763
50
813
796
328
577
778
123
811
905
208
372
862
143
548
117
875
779
199
989
927
161
535
711
851
255
534
520
326
856
334
320
935
601
429
413
142
755
815
642
213
569
525
961
562
314
733
855
314
815
117
402
467
483
471
42
939
98
774
142
414
947
497
277
438
505
982
677
647
371
266
513
186
477
163
587
315
772
376
255
866
473
555
551
55
784
486
993
232
313
943
559
427
295
738
467
139
638
443
604
148
852
137
374
395
719
753
448
482
903
645
151
623
911
134
609
484
395
326
508
56
196
604
657
643
102
840
905
303
639
666
595
697
998
750
583
996
935
676
224
556
360
988
700
561
663
540
492
922
362
685
204
324
703
455
851
96
450
486
288
128
486
64
364
999
424
584
657
80
480
632
586
579
994
450
407
849
424
42
884
968
240
836
254
246
402
870
972
327
950
945
816
767
60
321
179
739
867
588
87
183
989
629
323
207
891
816
999
510
399
558
845
170
972
911
834
361
485
519
827
295
726
499
835
570
475
328
76
903
627
571
183
456
494
179
162
891
259
771
536
578
777
573
374
475
868
643
717
447
514
550
56
796
153
938
790
44
381
614
754
484
916
700
164
370
448
485
709
673
497
94
137
423
120
762
158
169
808
158
308
112
788
953
893
294
573
899
314
125
550
266
70
334
194
492
206
840
196
664
959
562
612
796
93
219
938
290
379
236
128
934
736
417
688
159
362
971
45
944
918
900
188
731
221
237
695
86
535
521
318
942
144
176
424
304
610
527
170
971
71
499
292
813
907
356
354
313
642
631
229
353
723
629
394
997
794
453
317
577
94
56
369
749
890
532
264
843
343
708
727
519
409
936
426
713
359
115
883
276
443
167
773
970
360
996
693
252
713
376
357
697
638
43
133
994
275
80
850
689
943
589
853
922
286
890
140
754
230
133
735
232
485
952
908
451
167
732
77
981
985
134
635
600
53
383
112
413
833
901
445
302
276
954
980
616
874
552
695
410
459
947
321
876
350
279
875
249
946
910
342
304
207
417
804
94
482
220
642
497
911
755
712
575
359
138
961
262
904
146
340
227
976
405
127
194
139
398
550
60
522
419
776
566
474
629
886
256
280
635
242
302
650
100
564
916
158
118
643
961
560
637
862
576
921
96
408
204
564
66
307
406
661
373
239
152
153
212
473
672
810
46
871
734
931
877
813
594
620
279
764
470
85
975
741
964
108
727
77
768
847
648
686
590
177
448
613
518
430
606
340
240
485
412
507
66
780
976
837
230
997
382
789
689
376
435
129
915
299
820
729
956
664
759
247
518
867
99
515
764
860
811
478
884
751
587
873
536
584
776
118
601
821
528
904
354
484
89
383
687
601
597
41
802
212
657
597
761
588
82
409
64
982
688
880
262
348
804
79
379
860
474
229
44
511
456
763
583
645
892
935
903
468
833
718
853
848
711
977
718
926
776
343
431
402
746
843
349
272
385
959
852
625
574
754
955
173
308
990
307
823
606
238
869
432
634
463
699
137
830
512
473
944
331
373
393
118
768
313
148
863
898
68
586
47
786
591
253
271
808
357
324
418
659
311
419
575
948
458
866
372
429
458
89
881
749
301
893
532
233
972
253
60
840
704
332
444
319
628
179
746
169
603
238
225
992
745
147
102
82
609
584
282
329
767
212
782
122
673
714
154
943
895
776
594
554
864
119
272
448
988
74
473
613
911
72
310
651
121
586
507
751
709
95
599
492
278
568
379
971
223
516
969
855
186
749
814
182
311
599
971
743
263
149
562
336
794
168
472
286
817
940
71
973
526
782
909
949
464
672
345
339
999
103
791
194
597
641
193
763
376
145
255
89
391
753
807
865
415
286
585
683
470
409
774
690
985
932
179
954
366
460
946
481
52
841
319
163
694
709
824
865
293
903
439
287
797
880
609
784
487
73
207
252
546
727
825
195
922
557
549
530
807
923
526
697
934
694
573
824
553
263
569
700
991
228
88
697
906
919
792
343
699
997
685
144
809
332
41
129
921
129
812
272
359
264
776
564
667
792
903
701
368
441
792
473
342
656
782
481
979
149
222
222
685
967
232
346
315
677
778
678
412
558
240
115
553
318
250
134
909
655
319
92
406
94
166
175
798
420
546
54
642
149
676
205
296
681
500
525
869
903
880
553
718
392
323
964
985
302
455
907
732
54
237
735
813
392
667
718
77
242
143
228
306
707
436
134
763
647
208
756
601
966
623
402
221
269
59
530
893
356
685
631
506
834
243
49
705
292
923
420
814
141
97
646
979
946
228
557
969
498
965
173
500
82
64
838
798
708
494
214
115
999
758
737
668
611
386
226
265
504
400
797
432
463
216
485
128
187
160
81
183
853
96
894
508
913
241
182
318
614
824
392
277
679
377
211
688
770
216
986
288
486
926
197
760
827
318
615
667
748
620
299
224
869
824
106
652
866
295
864
144
838
847
863
215
298
721
442
301
809
397
951
68
217
861
776
196
211
349
714
976
288
547
412
62
426
924
574
413
85
571
685
689
516
143
842
232
374
317
121
314
852
795
490
662
712
918
711
172
458
541
670
678
785
395
669
916
244
790
222
977
993
646
786
509
160
884
380
811
886
134
960
939
893
655
825
151
926
398
344
668
213
866
334
510
408
465
470
387
177
692
893
333
834
686
725
971
137
811
352
865
747
393
54
920
956
908
568
426
107
43
552
396
970
203
227
112
531
589
444
228
847
186
71
805
666
502
126
985
43
431
712
333
267
228
759
827
614
337
769
185
486
740
118
701
836
732
179
916
362
797
268
693
494
82
274
66
920
170
773
229
827
113
273
101
533
165
281
581
662
458
146
404
453
847
340
602
559
906
683
784
174
448
757
489
69
605
780
971
864
163
887
451
824
937
433
779
57
843
201
960
814
739
788
765
626
366
103
231
591
391
833
783
229
526
117
869
407
158
951
613
371
374
991
647
44
482
215
942
575
362
635
753
529
412
997
395
483
497
87
95
900
251
389
925
457
328
49
273
100
349
850
863
166
436
735
919
627
851
901
754
723
416
810
905
948
336
651
211
867
644
187
476
444
762
927
889
954
607
984
916
241
51
161
931
671
797
687
531
275
819
311
578
611
306
507
737
408
125
856
254
79
544
572
776
846
206
429
508
271
778
717
217
730
814
296
554
95
257
635
460
225
381
97
208
179
401
868
602
281
750
780
972
328
324
511
241
196
94
950
491
864
955
564
378
724
660
89
823
645
589
291
386
569
765
535
340
519
361
565
406
307
95
316
946
427
917
222
99
256
176
553
858
81
871
863
922
548
607
49
143
292
241
425
631
928
52
368
956
514
783
810
204
384
637
178
508
631
565
749
880
106
907
92
227
874
359
887
545
415
577
201
311
65
231
191
664
519
773
173
48
127
164
669
251
331
194
601
116
255
486
559
805
348
91
548
44
669
414
682
716
79
138
402
973
107
374
96
614
563
905
221
85
40
415
225
546
420
174
809
53
263
416
424
819
665
591
586
407
367
614
504
843
176
203
995
251
255
292
245
988
807
812
822
987
770
984
334
842
397
262
275
465
551
133
914
283
473
467
193
985
411
583
652
635
239
458
853
306
913
796
219
519
452
876
475
217
59
813
808
873
899
947
196
536
260
781
830
759
762
674
552
353
223
89
806
726
295
491
906
262
48
262
376
854
897
911
703
138
103
194
475
953
76
734
339
237
238
137
265
442
440
191
843
481
176
409
134
94
456
563
899
282
821
771
435
496
527
394
69
398
571
281
567
683
917
550
288
580
641
160
848
65
757
740
829
414
363
303
300
263
886
554
749
481
928
717
658
354
239
363
433
800
408
57
786
542
169
275
456
511
187
456
157
751
535
852
833
568
705
725
347
977
183
870
300
136
301
834
628
809
147
248
898
275
835
214
987
485
313
933
325
544
440
271
104
416
380
283
360
65
430
557
436
835
669
164
642
228
534
535
76
668
742
426
799
207
141
48
948
287
128
885
377
584
913
374
946
469
918
605
701
243
713
907
402
880
875
914
910
300
388
787
948
439
47
855
48
300
702
955
642
151
348
326
713
367
980
863
656
858
982
107
170
423
99
66
848
548
718
134
358
466
703
677
915
984
853
754
269
949
555
48
970
463
479
894
537
234
537
628
686
168
384
653
451
983
715
190
114
336
346
842
83
272
881
533
264
197
995
192
231
99
794
472
458
299
351
894
424
835
413
338
278
769
824
208
665
265
524
947
151
736
351
531
500
250
395
547
333
341
704
756
878
127
230
104
842
928
885
698
801
314
413
156
790
671
314
574
673
65
997
437
445
825
275
428
940
791
804
309
756
914
541
882
562
477
438
542
514
889
648
238
666
313
751
876
245
760
450
501
92
94
792
883
242
538
275
161
159
517
631
929
960
678
911
433
874
374
754
990
670
976
91
509
507
245
175
503
580
603
391
203
720
310
54
254
753
854
253
893
995
566
444
630
924
341
643
457
576
980
894
312
157
715
283
512
211
729
394
369
340
856
263
997
222
661
452
664
171
515
61
492
91
159
751
721
754
805
825
247
540
844
912
680
417
397
336
676
278
539
391
447
426
497
579
628
378
817
118
288
835
575
347
191
873
740
696
588
942
851
613
195
607
520
630
869
940
739
959
268
756
74
877
699
341
978
319
793
500
476
778
533
899
877
997
522
459
917
549
139
439
321
217
994
930
471
266
58
636
606
705
752
669
272
670
215
799
510
952
402
64
672
918
235
411
496
753
232
523
517
429
791
395
762
735
827
503
533
951
636
460
674
844
432
541
875
830
679
900
549
172
832
966
412
176
311
73
112
62
148
869
390
321
747
445
72
763
371
345
628
802
166
830
860
988
471
475
76
464
56
204
889
194
616
238
448
166
354
418
741
689
912
958
797
175
422
252
930
914
852
476
350
505
56
416
859
493
565
830
593
993
457
131
838
370
223
192
371
112
758
897
99
160
881
869
340
529
87
687
404
382
481
375
285
977
485
240
694
571
412
626
521
872
359
905
808
628
409
501
394
456
328
709
992
752
959
351
428
199
622
548
962
815
523
874
883
771
517
855
737
113
843
706
45
682
282
681
930
228
685
207
294
800
754
992
611
802
154
818
573
48
452
956
635
986
697
579
696
569
566
472
83
664
203
562
327
579
949
167
538
650
335
106
255
884
951
748
322
47
344
867
435
84
456
284
940
442
764
226
422
353
794
734
811
805
365
992
313
738
176
68
558
538
110
108
428
930
557
758
218
518
581
204
639
142
498
482
263
340
826
427
327
61
476
349
562
543
216
529
712
116
344
95
470
284
713
467
661
529
110
890
732
702
395
656
314
868
460
507
451
868
437
143
327
187
633
413
229
693
694
935
200
307
535
266
377
865
524
158
104
212
402
662
537
916
425
360
187
374
171
567
734
960
738
615
414
350
721
97
702
98
60
150
492
591
797
230
392
420
336
897
273
890
406
783
370
211
824
370
261
366
197
625
400
987
341
579
323
739
109
68
685
453
377
168
975
343
507
213
346
771
298
748
344
205
50
684
570
114
676
895
869
222
575
456
244
104
408
629
214
310
185
445
646
795
751
772
612
326
125
668
838
620
978
362
51
961
213
444
201
277
617
585
58
153
550
875
851
158
981
452
71
910
281
865
77
318
722
937
210
51
975
749
462
486
72
585
301
747
943
674
478
825
523
728
988
394
595
496
509
772
272
792
447
72
246
778
128
254
336
449
827
115
666
524
440
166
80
329
781
528
279
370
106
317
498
88
272
762
260
906
360
150
458
758
872
463
972
628
373
447
362
667
645
942
579
470
829
745
501
513
397
624
280
279
785
544
701
505
681
149
591
527
476
230
539
889
811
305
313
396
994
940
431
881
290
443
69
962
522
961
572
731
741
466
705
657
609
979
946
574
147
553
554
706
653
423
375
805
193
716
376
675
506
407
447
995
576
167
49
58
50
702
942
730
960
577
598
61
408
600
106
139
130
252
375
732
410
511
375
420
943
830
595
655
687
601
985
713
71
875
802
524
405
643
488
60
821
898
82
125
302
511
571
803
301
526
902
372
957
811
54
352
797
950
943
704
401
74
938
354
937
613
577
972
126
605
423
907
682
136
881
392
496
57
677
239
150
237
300
577
638
668
932
116
460
189
751
546
95
400
162
755
57
361
618
914
853
510
59
559
402
208
430
699
451
524
873
190
345
916
835
279
743
282
250
302
176
514
985
774
478
690
497
171
762
577
819
900
510
425
516
944
958
876
421
942
701
239
917
369
981
670
316
328
152
996
242
436
455
533
149
842
979
724
326
166
804
669
492
341
70
596
861
857
676
429
144
671
113
821
823
139
583
835
187
108
641
670
298
282
727
600
291
75
642
193
688
711
592
786
890
750
329
582
798
343
867
566
117
66
655
48
223
358
829
462
50
90
299
536
936
864
410
90
652
779
163
260
464
805
192
846
293
236
104
231
503
131
80
931
692
464
453
64
843
58
304
566
391
802
984
714
228
82
355
129
996
538
919
152
767
968
444
386
211
258
946
686
384
332
460
190
208
115
361
514
881
464
160
228
506
786
105
690
825
649
334
617
899
238
107
191
124
302
136
914
333
583
65
664
190
909
751
133
746
298
110
355
124
550
623
879
373
765
344
114
197
911
360
978
52
449
276
514
546
380
237
817
870
347
965
408
379
125
808
193
947
392
487
207
497
154
455
992
503
147
985
902
484
728
891
583
529
895
43
254
579
311
101
790
638
940
321
482
150
383
849
811
897
149
129
269
873
546
700
276
963
137
399
518
45
345
264
466
764
969
273
680
887
996
840
826
919
728
366
548
72
123
561
666
704
476
904
505
255
800
902
123
552
908
96
771
275
837
250
290
669
584
449
813
487
550
833
639
737
523
233
889
543
573
168
114
745
478
800
607
855
928
614
744
866
119
639
305
58
204
758
922
677
148
735
41
521
744
807
419
379
576
165
88
732
320
473
927
278
473
933
530
447
277
189
443
634
611
723
842
610
453
149
185
557
976
556
479
217
445
288
530
732
212
534
722
799
200
945
905
238
288
557
334
346
204
781
354
405
175
143
250
672
542
634
613
876
601
190
412
181
503
293
944
523
656
284
998
463
874
604
263
725
286
199
780
819
475
224
997
387
696
683
437
589
886
446
885
661
803
534
82
326
722
627
55
222
91
783
253
439
219
706
360
636
318
307
736
56
548
701
57
821
962
514
787
961
439
665
611
166
734
966
219
774
914
376
445
844
371
599
589
799
374
429
136
131
826
410
821
615
76
664
360
171
42
895
774
845
403
753
258
580
198
467
980
403
982
790
476
994
612
234
612
844
185
116
463
107
283
221
90
297
805
939
302
689
181
112
895
306
812
158
108
659
480
123
156
696
696
348
662
134
131
342
655
76
612
878
673
303
516
470
577
594
192
276
156
858
695
673
811
969
353
763
158
314
101
122
438
782
862
883
510
589
338
629
91
973
361
223
303
649
518
103
796
223
529
377
849
433
606
484
758
658
732
502
703
942
137
805
61
482
440
291
759
501
250
141
828
555
82
810
83
889
546
927
446
60
533
815
73
969
896
898
971
960
66
348
825
214
732
978
497
474
791
940
71
738
603
886
998
708
866
360
529
180
395
290
464
315
362
288
276
69
891
261
212
910
519
226
603
742
130
885
476
843
298
616
672
294
215
783
134
100
687
565
183
505
70
95
256
280
892
394
348
258
974
993
470
974
46
395
793
446
891
990
426
767
904
784
933
255
745
300
879
147
978
369
127
517
840
551
904
348
224
676
204
461
534
484
67
110
795
323
394
358
630
986
900
169
408
658
413
148
120
652
991
88
271
41
885
954
312
968
242
322
509
859
536
827
948
507
931
667
723
732
510
761
824
945
301
867
704
96
524
409
426
261
456
125
916
143
536
645
207
272
162
995
808
967
452
81
364
608
488
250
261
434
699
98
649
769
80
474
834
43
670
142
187
915
871
136
692
322
154
729
178
452
230
402
555
929
774
764
970
113
669
145
733
619
864
158
618
530
162
370
69
946
161
258
290
277
631
857
818
836
489
126
782
258
221
251
434
573
813
594
128
975
394
100
834
212
756
155
538
83
55
342
856
242
664
683
882
171
944
89
302
142
892
665
521
93
512
184
538
898
269
595
836
306
533
51
363
376
74
231
185
825
288
243
49
526
798
175
57
458
710
977
292
370
541
419
258
202
151
841
961
290
175
614
336
978
663
265
887
168
832
211
459
328
749
449
303
260
703
651
903
414
751
485
697
688
43
486
241
749
66
663
859
904
540
780
67
512
516
408
90
718
871
713
662
79
98
764
378
550
463
260
613
901
292
750
981
626
972
298
305
488
322
281
900
705
527
366
104
594
924
470
644
631
403
678
745
449
357
698
97
541
598
677
261
537
984
611
921
929
883
422
627
874
684
137
230
827
449
452
655
660
330
896
175
271
179
849
941
61
404
660
516
953
85
302
119
252
791
415
232
484
68
337
103
286
750
311
337
760
57
924
385
903
55
701
200
153
98
518
640
114
604
136
607
777
161
942
863
758
583
898
394
821
252
66
972
978
280
681
349
751
321
771
288
620
159
491
420
308
185
744
509
549
973
858
455
574
67
136
670
944
180
357
849
460
799
489
854
989
252
434
122
191
551
92
900
211
795
807
779
281
505
303
997
455
623
232
882
445
824
609
694
854
655
779
618
592
881
625
592
690
896
716
821
596
329
710
788
738
936
795
786
725
852
730
959
254
758
96
576
963
218
100
160
275
620
165
518
349
881
393
187
758
789
304
975
614
104
581
412
634
910
293
805
535
920
515
709
256
802
316
945
555
227
46
934
446
726
537
633
993
725
855
828
140
812
44
88
232
782
395
640
215
272
900
984
392
466
42
225
716
124
670
151
380
629
89
535
333
508
488
345
913
155
674
376
503
189
383
200
360
580
867
650
629
823
731
210
952
622
648
149
634
674
966
215
965
417
756
49
509
783
687
393
727
693
637
633
924
739
444
747
792
889
785
277
773
108
480
459
885
552
517
720
79
713
570
467
244
727
593
727
576
589
976
995
563
813
572
949
329
100
821
956
106
327
364
944
473
329
984
265
624
426
231
543
561
239
366
439
580
586
756
299
161
285
435
820
753
929
848
295
50
340
972
639
311
952
743
900
338
140
691
644
382
657
318
376
102
735
465
642
92
943
524
102
47
880
67
892
970
546
716
119
596
794
946
467
950
994
126
404
320
176
901
482
194
848
423
494
574
897
632
167
877
343
209
659
517
590
807
380
548
832
134
588
437
248
264
173
994
225
246
187
556
836
773
969
877
727
489
951
85
411
655
537
288
84
301
186
303
101
107
716
770
68
229
47
867
554
689
630
324
768
193
790
174
522
783
462
637
192
832
533
791
507
853
671
211
509
278
719
843
452
714
953
65
963
879
695
747
713
972
376
287
673
158
172
323
592
645
253
133
357
998
263
579
961
612
481
80
180
87
50
236
817
651
867
208
904
870
94
274
54
688
176
303
363
406
629
73
988
917
525
780
682
751
394
129
138
376
474
562
860
168
713
121
81
50
377
106
351
500
855
606
748
390
742
492
328
869
558
888
455
206
844
124
343
651
75
117
254
774
73
464
211
517
171
602
977
664
314
497
596
349
328
307
762
736
693
362
555
802
588
251
715
631
587
468
829
477
762
642
515
422
620
534
651
584
881
898
194
78
370
415
682
572
515
368
570
783
650
272
736
973
282
178
696
993
238
905
92
101
226
633
320
223
818
412
780
552
430
577
118
833
66
820
830
684
868
321
477
549
672
572
600
457
541
407
57
503
364
792
984
144
713
198
885
219
443
634
401
253
173
415
509
921
159
165
709
499
106
101
604
546
378
302
926
616
598
545
680
561
367
341
840
531
305
742
248
502
176
866
104
64
948
683
210
672
470
605
416
109
403
114
63
356
402
498
569
948
703
243
412
912
78
779
129
50
745
649
498
924
903
736
216
902
878
293
830
51
388
526
619
387
884
48
573
360
899
73
578
602
495
239
221
469
912
202
471
113
822
363
273
115
158
918
394
933
852
641
893
767
962
862
956
134
704
347
356
266
801
433
202
288
226
793
642
889
705
687
234
652
668
138
633
376
570
353
806
322
814
969
424
65
130
241
40
597
516
251
230
610
106
764
753
824
48
179
828
940
375
83
549
784
600
646
58
784
101
844
844
350
477
376
858
609
658
750
712
198
890
655
686
940
559
354
417
332
650
348
687
417
735
275
133
102
837
70
455
309
258
963
542
528
390
191
764
987
335
371
348
337
898
967
970
711
364
376
75
964
233
758
450
713
356
768
209
967
582
890
881
526
94
346
74
194
155
221
806
717
954
757
49
471
201
125
977
989
887
178
391
50
117
293
346
637
662
780
79
166
67
232
909
964
647
178
420
983
755
68
211
238
61
830
650
575
797
76
383
589
145
366
681
198
99
309
489
54
473
108
564
512
830
921
206
859
313
166
964
747
542
646
894
673
774
769
329
360
404
153
641
102
615
759
157
619
212
634
866
567
986
130
550
856
644
622
78
824
355
666
137
294
454
895
668
869
453
717
156
530
185
789
61
183
937
930
607
810
637
677
194
979
640
471
757
254
370
642
90
109
293
932
91
525
910
178
220
879
569
697
934
156
537
299
53
894
658
689
493
855
932
730
345
259
503
187
688
481
426
545
301
218
659
363
125
619
927
600
817
972
542
811
791
715
638
906
677
269
875
410
460
177
429
244
179
415
613
978
421
633
670
986
90
996
70
752
733
224
659
680
967
350
623
795
390
139
211
429
349
210
81
473
471
861
995
118
770
508
298
670
542
615
981
424
127
134
432
709
689
842
981
904
227
319
92
416
655
177
915
855
703
851
589
145
67
969
131
866
422
575
776
255
390
155
887
558
794
851
812
990
534
781
781
538
439
545
428
134
522
802
684
659
756
70
106
209
577
910
899
397
677
348
76
230
851
506
693
886
159
514
122
749
537
54
960
331
957
518
213
163
124
691
440
87
401
321
597
622
84
179
636
690
324
253
755
420
230
870
103
528
330
148
577
95
297
40
958
694
538
746
445
215
413
338
771
350
308
532
55
492
405
640
406
416
436
613
860
520
251
119
775
153
632
698
299
325
183
480
868
958
638
198
822
433
562
587
212
772
485
218
71
150
823
169
401
665
170
364
215
836
378
480
169
299
481
109
353
442
72
310
593
368
617
978
334
574
782
126
935
728
105
489
751
751
859
50
150
446
620
544
464
941
204
411
391
137
771
128
776
976
844
890
845
317
607
347
974
858
491
844
752
626
734
393
406
977
513
963
724
361
571
452
568
82
950
341
449
392
760
361
424
636
72
411
232
671
109
572
573
638
524
109
687
225
751
100
815
803
334
416
573
40
928
812
824
241
234
852
352
524
600
696
998
213
124
282
561
121
715
708
801
584
359
693
826
840
484
670
682
73
946
748
945
603
211
441
440
447
544
453
112
191
372
565
721
332
441
88
622
787
716
785
790
618
969
176
554
142
750
422
464
542
353
82
389
645
268
414
392
130
509
631
338
784
569
591
926
785
503
172
409
42
418
416
867
929
350
166
390
263
388
847
345
142
209
806
435
102
630
384
903
89
773
737
194
420
708
118
909
271
180
533
968
738
63
491
719
94
895
577
543
552
956
581
148
290
717
699
865
242
149
548
318
661
712
898
471
836
226
383
995
250
127
504
682
215
569
717
183
646
346
471
731
292
481
456
77
669
392
490
316
183
815
626
635
648
707
891
146
406
867
808
360
143
470
858
956
118
705
345
210
454
966
914
455
633
388
276
162
903
571
69
193
384
269
596
114
953
121
318
417
711
566
538
643
621
388
828
140
781
760
98
869
706
251
678
860
675
79
649
275
825
853
567
727
254
845
684
508
381
387
664
577
689
562
670
168
607
397
99
866
258
933
768
977
888
98
368
259
164
406
387
64
130
130
697
139
83
231
181
140
806
328
773
690
862
406
55
755
689
476
317
272
360
572
991
881
973
219
942
645
556
198
163
766
196
616
288
930
834
236
209
601
550
858
862
815
297
854
963
460
977
519
505
833
187
661
768
980
752
259
601
685
936
233
786
45
79
588
565
545
787
561
834
273
789
198
420
333
479
969
723
699
591
381
578
101
701
517
53
529
309
675
799
861
884
158
682
699
209
319
83
104
795
843
986
347
826
244
144
534
735
902
798
649
879
991
513
535
336
789
118
275
885
769
530
464
732
726
56
659
80
316
298
860
790
471
81
123
251
586
623
914
377
481
83
714
331
566
255
689
644
822
240
531
761
383
164
220
572
249
355
510
182
821
743
500
276
707
754
510
259
932
439
309
71
123
379
617
125
339
958
526
604
57
383
402
881
151
993
428
591
706
591
530
805
68
85
359
672
673
389
781
904
607
493
470
334
557
586
123
804
872
951
93
424
537
830
873
450
83
452
115
315
878
371
825
84
717
799
125
504
958
771
78
451
73
402
932
136
746
265
679
975
861
436
425
289
110
986
678
943
352
110
397
682
729
891
935
278
772
391
874
771
358
453
579
681
733
925
174
447
90
854
478
59
915
351
978
778
228
587
981
763
535
792
440
116
338
364
176
594
880
591
44
745
503
846
719
77
247
987
691
859
943
329
831
455
615
173
469
556
77
431
658
418
51
860
889
328
84
91
791
398
528
151
672
999
424
834
143
594
193
599
978
638
541
616
379
616
186
586
109
597
143
530
455
336
985
586
384
741
652
855
386
271
110
64
319
889
686
932
253
435
43
685
61
892
524
326
367
303
167
851
275
236
611
474
843
531
626
466
666
49
373
502
335
787
261
845
729
788
910
180
537
834
827
695
484
358
293
196
191
837
621
301
649
546
634
369
497
706
899
660
738
47
911
859
86
908
501
767
501
666
501
236
338
962
83
146
207
534
348
967
641
674
323
383
127
975
876
224
976
869
158
184
748
78
782
215
519
929
371
329
465
407
583
969
856
391
519
394
513
295
863
493
854
90
829
759
561
509
525
757
417
536
863
623
676
518
734
339
449
269
395
364
948
229
359
132
723
301
928
723
642
787
612
378
949
276
576
360
772
134
997
932
819
40
366
233
782
469
840
180
945
784
295
133
227
357
315
315
563
447
490
954
370
376
418
531
868
725
390
969
764
982
869
308
136
214
568
117
512
891
985
524
652
556
693
316
199
532
362
254
308
61
887
728
285
270
595
506
193
62
961
675
592
64
782
742
362
668
905
670
229
976
878
653
165
964
970
205
957
438
235
316
293
180
88
942
998
237
790
255
574
437
81
130
728
509
840
205
930
721
613
481
112
484
45
427
321
342
298
475
706
897
501
996
256
676
861
880
887
680
735
919
812
411
331
331
292
240
232
617
130
656
831
665
380
946
304
171
926
693
837
313
636
281
899
131
69
198
592
169
583
133
994
640
206
319
179
636
929
359
838
841
596
802
265
671
356
975
576
288
129
80
963
248
314
803
348
559
419
389
628
931
334
269
293
456
728
321
299
996
41
579
625
167
786
454
494
886
816
551
123
128
951
240
694
799
820
874
188
791
401
925
866
125
769
416
851
571
888
277
398
725
68
621
232
47
527
519
944
71
610
667
842
377
73
535
414
786
999
632
572
503
590
720
434
206
183
42
590
409
590
571
523
80
908
360
211
267
640
105
864
317
603
667
120
314
937
524
433
499
347
135
433
409
493
551
986
532
349
819
591
908
590
663
75
458
537
385
425
740
779
484
347
720
469
348
847
574
266
93
551
658
90
214
49
800
310
727
567
396
655
411
387
378
640
433
231
59
126
939
594
811
911
790
945
352
86
293
89
493
771
669
219
115
374
537
817
926
823
264
988
413
914
788
225
847
614
195
519
570
79
831
888
489
366
798
306
685
807
447
193
76
752
75
79
402
729
238
59
274
967
452
472
782
476
268
642
187
519
337
643
596
962
334
683
408
330
844
222
148
734
333
457
744
711
128
842
156
362
997
193
124
365
439
789
465
532
245
836
787
695
187
331
344
994
624
614
769
896
603
269
360
142
276
222
933
617
529
61
431
146
534
636
352
483
522
185
313
979
126
255
55
771
967
279
601
645
704
445
537
835
976
982
849
815
327
381
286
120
159
87
725
405
952
226
854
487
669
920
543
684
474
100
763
751
912
498
277
467
426
271
277
445
609
569
527
198
720
632
408
779
43
886
419
344
261
613
387
813
240
479
213
514
509
957
726
879
172
665
782
720
693
87
502
463
445
203
995
372
42
536
518
441
406
905
984
850
399
528
682
569
781
595
303
404
670
700
420
802
541
344
721
57
749
836
760
672
892
762
77
409
225
409
693
321
132
577
637
330
688
474
940
311
392
396
181
456
850
889
230
465
839
413
811
558
95
91
396
477
247
174
914
762
473
464
361
734
388
983
927
563
313
663
277
928
483
122
449
888
711
201
711
194
922
346
119
871
542
622
226
343
510
816
857
505
156
834
837
559
600
334
883
123
593
708
443
142
717
374
936
428
265
871
888
283
372
428
482
741
227
52
982
969
473
221
861
989
982
328
56
934
894
577
140
493
477
508
55
407
594
472
46
479
284
461
946
775
518
710
644
377
627
544
797
147
512
86
881
470
783
452
369
158
97
417
309
564
660
434
320
384
881
906
547
790
661
817
390
839
319
914
224
220
439
163
611
251
185
99
141
757
551
386
364
950
672
320
682
204
798
54
559
851
556
728
792
530
379
723
660
541
747
728
918
59
235
403
961
388
470
614
855
147
355
498
368
156
935
496
774
414
508
950
797
763
192
359
848
371
904
802
877
971
156
607
740
480
496
594
501
823
796
394
446
537
777
437
884
360
220
452
594
176
729
540
692
756
275
692
407
130
297
862
173
329
252
126
769
814
825
864
212
182
862
90
648
378
511
601
502
512
892
732
644
178
424
501
624
326
347
853
761
871
605
661
665
167
283
902
411
73
455
476
400
391
368
367
725
545
216
997
694
528
200
771
144
599
748
232
199
84
575
255
819
851
381
573
659
516
113
300
95
884
339
368
291
511
926
166
45
798
209
52
698
232
257
529
758
76
321
790
451
244
875
939
976
823
129
260
401
472
504
531
920
970
563
779
322
623
247
96
527
709
153
673
245
929
73
449
527
420
196
265
865
603
371
242
803
448
165
961
658
871
960
794
121
661
617
772
247
857
866
976
600
369
803
593
765
110
181
764
102
261
315
527
544
698
611
831
358
517
998
45
239
536
446
134
219
664
588
78
325
662
311
896
264
505
40
459
702
472
56
109
912
336
508
381
597
908
511
935
720
798
691
894
878
620
423
319
931
615
624
993
281
980
650
676
886
150
313
349
923
793
981
363
647
59
634
502
775
45
873
339
201
142
436
492
606
274
823
143
182
794
366
645
357
829
486
528
913
914
329
862
948
131
445
438
393
991
235
759
584
191
503
402
231
122
999
677
318
366
567
843
503
261
564
129
860
794
610
966
574
515
171
342
701
216
315
722
440
878
782
599
962
931
546
946
52
941
376
149
423
513
87
767
597
737
481
358
910
433
957
883
826
113
65
321
682
581
355
867
757
422
607
169
970
617
296
67
736
898
339
779
495
79
666
795
682
818
745
392
595
349
405
59
861
583
435
309
469
736
58
759
530
837
939
652
150
359
388
788
797
615
677
106
847
556
909
463
401
988
78
368
954
746
712
224
556
917
317
646
275
428
48
475
479
683
370
951
98
674
588
596
989
560
786
402
368
182
768
736
748
533
931
714
697
482
589
922
922
408
872
553
425
91
887
682
745
569
821
155
254
424
480
47
621
947
521
915
712
657
267
67
637
887
367
271
981
938
298
366
339
57
763
141
824
391
494
343
779
655
95
123
363
814
457
675
460
566
826
197
253
690
224
796
964
277
626
925
891
535
832
768
115
351
948
441
613
439
838
607
184
403
602
133
832
106
376
678
488
985
273
411
67
910
57
60
631
805
774
563
468
253
42
202
348
711
876
148
889
379
200
115
76
468
464
112
556
651
701
505
516
954
516
676
874
921
383
478
714
403
639
65
537
890
338
428
439
218
647
567
378
768
877
81
964
702
693
956
232
150
517
146
740
55
130
415
515
337
756
884
559
927
346
371
317
207
893
435
279
456
143
424
607
633
465
118
465
289
504
342
105
591
69
568
781
522
959
640
244
718
676
907
996
421
870
275
440
824
487
911
914
900
494
767
800
49
905
659
230
983
283
122
595
73
487
197
96
341
996
416
111
135
291
917
416
147
298
864
905
250
975
413
661
760
375
69
808
555
446
982
246
146
363
723
383
465
114
240
73
116
142
653
603
322
507
747
62
680
185
428
834
524
960
847
658
812
899
339
226
95
73
458
923
726
747
434
169
134
539
762
855
539
329
226
123
799
533
802
170
41
164
447
815
396
261
492
106
287
516
720
173
362
333
774
641
435
358
70
121
811
366
709
510
295
216
407
446
651
582
284
147
127
943
315
203
779
387
769
830
440
701
637
93
392
940
755
522
327
949
863
202
463
467
408
683
95
314
546
629
244
596
683
645
847
644
61
305
832
872
692
363
96
211
723
505
80
783
855
558
860
560
278
556
249
227
608
850
357
413
656
536
932
960
884
717
817
100
714
758
713
580
889
327
140
353
790
423
786
956
954
459
247
980
403
488
993
331
249
239
979
43
537
56
199
467
893
687
65
76
148
873
445
315
966
749
902
644
303
726
200
119
231
191
609
948
452
166
347
738
207
524
295
889
666
760
647
778
325
193
997
819
507
127
914
192
934
397
888
943
53
449
510
608
771
878
618
617
425
892
219
694
140
122
166
589
586
79
318
538
950
738
556
936
588
595
190
527
230
985
300
338
154
332
581
215
787
951
924
755
188
56
930
716
439
811
849
980
845
453
546
863
231
669
942
550
604
295
713
525
628
213
319
403
961
233
281
54
672
962
820
138
545
176
910
265
825
460
301
768
364
697
990
41
146
248
499
663
714
636
906
374
529
297
856
659
856
978
682
374
204
59
61
984
213
442
972
699
131
271
789
950
520
964
858
74
609
734
625
236
644
188
478
87
350
553
916
217
662
282
413
44
627
239
835
438
527
420
209
327
889
47
942
803
108
202
551
197
527
834
532
605
848
830
513
588
973
450
757
369
252
123
162
353
169
753
44
942
975
937
465
992
520
716
716
153
874
646
255
497
99
753
508
271
984
972
206
708
573
336
946
42
85
953
339
802
392
759
811
692
631
72
800
795
622
367
396
705
193
621
900
563
519
799
542
473
230
405
155
126
855
940
739
371
819
808
913
75
301
301
678
161
253
711
670
175
150
891
770
59
564
242
319
228
641
106
723
431
986
331
82
509
594
52
587
378
780
419
455
148
945
529
533
47
701
761
401
754
184
233
243
579
437
580
396
395
105
273
368
422
507
494
66
394
580
528
73
282
468
229
506
306
868
825
985
320
675
438
218
284
422
235
949
645
360
943
677
880
439
747
730
357
106
716
986
555
76
976
825
793
348
407
225
194
311
433
188
684
255
323
509
183
423
908
119
492
104
374
668
649
771
644
773
941
640
586
332
690
657
425
752
835
233
524
901
745
660
919
797
531
945
454
641
418
700
479
480
412
625
294
682
107
962
68
557
606
211
681
443
648
565
693
103
695
539
100
771
926
513
167
299
814
504
794
943
710
584
245
729
297
137
436
162
561
761
661
135
587
936
830
527
452
582
857
439
429
720
389
131
322
353
867
282
614
100
481
801
732
506
222
118
765
648
789
366
864
890
781
506
411
340
434
119
294
177
66
468
628
669
852
418
721
525
303
663
268
936
423
600
461
449
197
513
128
674
302
306
816
849
564
429
628
596
502
188
144
375
239
671
584
299
588
314
465
515
397
941
591
918
639
76
103
259
287
435
960
158
701
191
704
504
383
391
622
931
873
635
280
493
623
434
286
976
488
147
117
925
996
326
246
866
489
520
939
786
85
909
822
441
370
677
702
663
381
65
632
637
383
298
287
890
331
885
458
327
603
804
668
966
90
965
533
263
400
740
59
153
440
178
825
565
513
136
446
662
677
734
591
981
745
313
478
156
134
702
145
608
824
961
453
241
187
974
884
215
793
549
459
213
765
233
677
172
842
58
385
532
301
896
689
381
729
155
651
666
434
927
114
257
199
544
101
494
207
699
263
256
110
327
963
367
943
842
890
804
652
292
506
317
240
983
416
181
979
197
254
778
818
109
455
724
721
284
601
777
635
952
974
351
670
900
783
945
388
392
291
896
506
290
473
439
346
811
378
836
752
155
523
174
336
639
232
953
916
504
331
235
658
432
411
453
976
570
354
626
837
973
407
716
74
538
571
751
93
633
407
977
44
256
557
944
915
204
846
791
274
614
65
992
107
77
637
273
505
549
740
810
679
406
770
532
761
291
775
99
756
888
235
138
907
529
112
899
597
687
915
118
137
813
463
637
725
960
910
885
847
672
73
739
997
386
430
447
501
277
447
441
394
741
727
597
573
56
248
283
806
561
148
617
284
377
864
910
734
448
665
673
686
679
240
914
683
799
992
410
79
853
169
92
277
510
845
656
735
686
103
63
989
438
291
755
110
976
963
952
623
194
241
339
194
517
939
49
334
651
381
340
855
174
733
282
620
469
983
501
714
844
314
390
622
69
837
579
785
863
967
791
923
194
633
341
375
933
134
336
516
952
57
300
607
604
980
609
61
142
68
894
426
797
435
696
611
363
92
672
813
100
558
406
559
711
241
611
528
230
312
712
143
527
270
814
226
824
639
783
71
266
664
904
448
243
647
344
481
465
451
957
260
180
619
490
874
818
965
525
358
547
581
872
70
51
507
899
961
392
171
504
609
930
844
429
952
221
122
418
873
82
876
338
527
967
895
880
508
150
414
539
375
176
474
930
368
78
683
462
845
542
408
442
924
713
240
621
341
949
145
845
107
145
926
394
808
549
735
891
847
890
51
504
991
472
95
113
417
323
398
298
174
321
659
228
67
508
287
324
342
227
775
876
299
46
101
222
362
225
970
489
80
868
302
401
328
607
368
729
817
751
675
728
848
858
674
562
112
902
410
179
943
429
541
650
893
637
558
222
230
753
719
111
203
745
519
430
928
972
994
351
159
504
539
826
916
758
488
521
930
776
90
189
969
125
373
661
328
94
440
442
655
669
438
660
622
993
757
52
895
123
296
591
254
180
837
510
340
641
744
532
321
55
582
737
303
282
54
335
551
799
576
660
239
567
242
193
741
601
521
707
547
134
794
325
549
438
490
738
446
558
92
753
459
620
673
564
457
892
273
133
906
706
79
841
933
711
896
735
949
259
702
40
923
640
618
828
937
194
564
452
204
988
395
51
230
489
501
916
921
897
872
896
599
602
991
594
699
400
143
778
520
505
401
350
221
824
527
906
529
432
369
989
645
282
79
989
334
74
984
984
116
383
455
533
788
956
902
166
418
276
448
433
166
809
193
967
353
191
230
686
457
824
385
773
168
661
486
87
583
346
475
569
638
445
702
400
506
291
506
671
271
574
393
868
720
195
136
346
214
63
957
779
774
758
517
619
495
373
279
660
668
215
773
251
339
791
435
823
828
749
103
305
723
152
228
145
560
690
680
658
609
67
621
452
384
426
332
105
506
259
919
830
922
732
308
124
396
871
87
431
694
404
700
100
843
647
861
293
296
607
98
813
847
839
387
400
608
311
625
772
308
654
698
148
174
800
614
915
676
903
892
182
697
234
794
702
455
365
375
520
770
821
408
453
232
871
574
392
168
441
698
465
294
477
427
60
153
234
74
300
97
611
975
933
330
298
74
628
78
162
633
270
552
723
250
757
400
980
254
619
684
162
102
938
759
241
629
829
670
673
376
815
750
716
322
432
639
883
674
478
424
121
792
896
392
486
138
281
230
536
323
177
98
443
419
112
757
521
197
111
940
909
689
381
302
733
941
98
987
789
714
497
104
973
49
164
964
235
933
950
663
412
830
285
708
241
106
371
247
533
400
656
415
947
179
778
594
270
429
828
757
854
460
355
323
419
850
869
247
684
430
161
429
504
558
469
833
740
821
340
607
955
676
375
99
151
563
616
628
193
659
543
239
603
991
244
386
978
453
377
305
134
772
323
67
738
428
633
306
295
755
122
367
537
275
468
712
650
465
600
467
745
822
722
789
811
596
837
650
876
589
376
781
494
849
995
144
622
95
600
355
788
394
759
884
685
987
896
682
54
928
616
294
518
496
622
98
475
117
901
858
747
918
324
458
169
110
504
555
793
138
616
129
158
683
276
615
550
671
957
170
628
342
688
530
480
99
751
649
819
660
168
997
743
79
623
289
240
553
373
320
677
475
102
827
958
436
869
715
745
200
522
75
279
127
66
573
948
999
526
580
216
204
698
281
904
786
979
89
677
298
561
707
883
458
166
323
411
914
726
341
638
227
379
827
591
596
847
141
462
92
564
414
392
486
417
556
512
165
875
168
784
447
237
376
636
978
549
520
92
269
800
356
318
975
713
572
201
105
224
267
624
311
160
842
257
912
457
664
257
760
74
350
892
279
276
888
81
789
559
344
599
407
791
775
880
636
835
780
921
678
550
398
331
998
157
516
192
576
314
865
921
256
119
728
263
590
356
579
819
497
170
413
346
919
172
176
134
951
102
303
481
216
249
602
767
619
393
399
974
47
837
468
647
799
705
301
464
840
809
583
191
249
611
518
282
989
467
335
523
301
487
94
676
457
213
841
822
445
420
224
170
790
919
283
978
158
205
930
775
755
448
825
985
194
529
454
617
180
953
145
569
207
860
202
540
397
70
537
331
259
325
174
266
668
283
293
40
539
749
217
343
888
956
439
919
112
840
248
221
379
304
763
894
989
927
969
421
217
84
405
733
395
808
453
218
143
806
895
137
531
775
829
944
852
706
112
683
527
891
893
739
251
100
191
395
531
647
153
316
846
998
623
416
855
370
766
484
415
75
789
279
354
566
795
65
289
333
170
801
650
772
663
543
624
649
397
68
77
285
768
583
637
866
699
693
733
165
411
854
836
812
993
310
237
676
321
48
978
487
970
962
934
921
61
371
935
575
202
952
388
147
976
915
380
293
359
155
786
197
671
995
958
905
352
57
651
83
161
354
497
828
872
135
976
210
267
174
288
310
593
674
533
859
273
908
62
690
671
63
234
935
141
940
93
307
230
918
202
572
494
635
862
655
702
103
893
902
386
375
145
127
123
101
144
176
130
670
554
714
623
584
944
173
715
729
50
689
125
729
767
598
745
588
134
683
693
981
879
547
944
785
987
587
795
643
781
651
826
753
314
802
55
478
752
924
189
624
461
219
811
744
427
590
151
931
350
223
755
65
561
302
71
658
795
456
698
791
793
43
165
397
233
789
838
629
653
336
98
272
290
219
535
244
253
550
801
513
707
622
582
397
931
373
640
207
668
969
158
748
300
605
728
739
90
930
759
534
407
362
477
714
693
161
75
744
630
566
382
391
215
424
222
495
239
542
137
674
615
108
836
640
486
808
101
666
371
823
617
71
283
322
592
238
698
280
556
710
397
368
768
462
875
265
591
769
371
680
152
918
828
216
794
505
72
656
683
590
127
906
994
441
395
843
876
306
840
607
899
365
597
965
458
503
333
650
404
785
684
468
956
287
312
283
318
215
524
810
938
468
84
838
848
656
554
698
542
392
643
144
226
505
87
292
727
613
152
692
616
187
485
743
781
933
283
169
64
254
347
984
109
116
555
743
732
458
481
579
57
262
724
850
710
717
467
845
330
934
383
382
609
678
606
107
73
273
665
77
523
582
613
910
875
626
755
765
460
840
66
814
49
99
511
982
910
184
699
147
376
155
514
942
717
203
379
733
160
222
387
599
146
840
678
642
819
281
177
69
492
301
162
209
182
306
606
199
133
188
182
224
217
993
252
471
349
179
116
890
945
547
456
691
892
211
716
542
136
524
797
381
379
786
244
318
979
87
858
771
85
807
244
705
929
88
855
818
897
921
910
666
301
331
593
70
931
556
884
79
907
537
725
355
398
553
962
362
856
954
113
160
692
728
154
756
260
844
613
42
620
493
351
562
171
292
964
52
621
989
777
966
242
100
760
947
535
170
852
585
796
803
878
249
550
322
522
316
578
321
191
396
163
762
151
356
846
141
399
907
559
582
403
119
544
832
556
345
667
85
336
441
83
941
992
647
641
551
668
435
480
516
168
468
755
927
67
832
172
336
858
755
628
755
200
734
280
893
757
476
502
234
359
852
643
70
179
964
514
225
684
340
529
785
941
266
487
882
662
711
138
755
202
284
392
626
684
912
497
375
698
223
317
658
731
76
242
290
767
578
122
303
256
440
386
549
533
674
475
609
497
537
40
401
45
757
592
993
329
277
486
72
581
408
778
336
98
638
646
759
908
283
161
533
601
779
834
721
253
593
601
382
728
890
143
73
417
500
385
41
190
193
768
715
144
788
851
307
233
340
349
890
536
909
374
181
326
119
870
681
306
957
112
498
212
924
874
447
933
688
364
830
837
915
78
356
639
570
853
943
699
685
969
463
586
558
134
77
519
587
206
784
786
106
607
819
366
475
221
120
598
81
923
815
481
80
386
364
43
285
610
297
58
509
268
829
366
549
58
553
390
262
613
544
909
969
960
213
345
672
922
189
513
531
853
726
628
112
969
542
903
64
391
278
953
717
208
547
729
75
241
608
367
373
196
845
522
483
369
303
953
826
630
681
481
455
84
103
932
378
914
978
563
832
585
252
183
297
796
648
509
47
480
717
516
277
792
478
656
191
696
851
280
762
61
943
728
883
972
993
230
705
951
864
351
148
221
986
981
996
539
256
59
277
577
384
315
221
702
497
922
567
471
164
740
667
387
494
810
896
299
759
744
528
903
390
927
643
231
805
288
884
204
865
933
551
805
140
126
526
254
78
807
122
412
103
548
399
261
442
408
980
395
167
491
157
933
982
691
881
690
198
789
254
462
278
256
737
409
801
999
853
798
68
103
356
68
418
666
586
261
925
432
216
142
780
579
217
251
764
187
318
904
815
56
75
990
799
532
369
584
393
322
440
95
65
342
738
737
358
296
432
159
213
156
279
774
700
997
440
49
362
179
418
839
455
872
935
730
627
413
163
910
894
633
352
192
199
221
688
685
894
188
731
287
830
830
890
506
123
887
561
551
643
952
389
301
247
424
246
216
526
879
262
236
178
201
489
968
509
608
155
530
673
243
704
568
378
991
866
244
701
910
739
939
79
728
264
388
931
999
439
270
375
417
556
531
174
179
598
965
115
764
358
220
127
726
957
697
939
871
361
482
759
941
340
213
130
834
561
747
902
462
459
500
864
722
987
225
688
284
891
866
149
736
503
253
317
179
803
48
86
732
972
104
220
690
485
865
603
420
229
265
480
177
538
851
210
52
973
980
837
652
707
532
681
539
603
987
43
830
927
87
579
699
69
372
430
155
139
332
400
711
464
833
824
311
804
305
611
299
355
815
633
771
728
55
251
121
107
192
765
195
250
607
792
814
353
790
287
333
741
967
530
291
762
487
73
462
95
867
50
704
585
146
120
825
121
513
329
521
362
770
433
378
572
483
436
421
57
381
589
820
623
523
603
699
117
709
486
449
166
844
711
304
931
653
987
368
147
809
380
375
106
606
80
983
462
365
230
214
825
994
953
545
586
425
82
556
275
68
480
819
454
522
198
816
321
601
584
490
83
207
970
212
72
457
928
346
915
558
538
983
906
958
880
244
151
681
376
182
578
849
128
753
678
97
713
868
116
897
240
585
197
787
797
229
230
231
649
992
509
188
123
252
234
979
581
787
46
123
428
392
561
886
961
575
909
186
107
841
834
819
106
661
47
960
72
719
270
720
496
205
884
727
361
219
347
505
134
205
613
757
546
148
629
577
448
871
654
847
240
417
306
858
843
650
152
167
195
220
201
983
834
380
895
276
406
149
889
397
153
803
642
510
963
992
988
675
636
169
694
523
931
382
930
496
147
864
417
819
734
759
860
793
103
299
201
701
342
341
999
798
71
804
85
948
905
204
351
271
707
617
93
875
527
77
165
165
308
484
148
634
873
914
889
895
886
342
403
564
949
684
182
824
92
369
857
674
420
530
177
865
55
938
292
632
736
436
589
490
999
390
712
854
852
321
181
535
574
45
634
436
654
65
722
308
50
260
581
851
683
373
67
108
110
545
904
744
133
892
134
696
387
385
150
718
777
479
422
56
819
386
693
292
946
195
846
544
761
359
501
269
116
948
493
797
798
846
243
539
855
46
126
172
833
356
403
675
252
473
916
286
198
483
730
575
443
766
68
256
936
136
235
83
791
53
219
738
597
776
923
891
138
911
345
860
265
919
288
639
263
98
103
158
607
225
251
698
471
518
431
865
814
427
482
664
233
499
730
100
655
587
439
643
887
657
679
888
246
401
42
887
898
760
131
745
983
489
516
300
437
209
305
922
748
614
278
769
458
625
756
400
587
760
363
649
335
197
569
228
723
903
255
203
656
657
853
901
134
226
788
77
83
234
200
123
47
808
757
312
57
991
946
673
694
105
639
613
568
774
700
475
852
954
451
543
450
975
423
79
95
68
958
733
83
67
542
135
140
311
883
753
419
471
856
250
422
294
664
459
642
661
652
661
721
586
105
665
301
781
516
975
979
81
881
823
743
885
609
493
885
677
360
435
928
142
493
410
819
94
673
868
326
818
961
529
794
498
48
263
372
177
272
452
498
371
271
416
689
707
612
896
44
136
565
450
76
838
971
879
335
395
78
780
443
138
64
300
658
721
297
549
251
767
628
751
334
994
239
606
753
993
786
719
128
281
390
536
797
573
392
253
744
592
100
683
516
974
112
772
79
373
690
813
788
627
486
753
386
60
624
999
428
411
361
117
819
630
571
438
325
445
543
421
641
753
598
609
708
420
904
769
601
252
641
367
987
762
249
590
328
654
641
65
550
665
326
467
463
984
556
349
219
524
310
250
647
318
436
234
201
378
889
482
980
917
988
638
913
675
840
878
427
268
322
638
763
403
214
604
340
140
756
595
361
105
915
329
551
77
383
429
348
144
407
999
62
211
255
923
900
179
259
467
171
841
648
556
489
520
121
485
979
803
756
629
66
537
698
955
854
852
622
759
90
615
461
940
487
56
109
759
537
482
617
226
66
918
535
496
484
422
769
177
708
525
370
707
433
913
169
42
414
954
561
904
695
934
246
965
238
408
155
204
995
385
156
51
125
643
927
600
187
63
753
812
882
187
632
980
548
648
527
885
963
256
657
432
449
226
590
276
406
95
260
977
961
476
137
772
553
609
633
296
794
596
331
113
521
670
932
677
734
654
431
435
465
630
383
283
467
795
834
610
155
780
590
610
91
252
106
100
451
324
234
210
311
470
820
213
452
320
619
553
777
297
581
571
539
303
679
142
80
89
62
545
326
50
508
550
403
545
168
542
887
192
852
412
439
626
434
365
491
868
212
510
259
103
485
702
398
879
812
380
577
431
617
498
980
153
472
954
43
203
888
389
519
290
721
399
360
688
218
646
62
536
468
663
931
109
167
800
761
405
631
900
126
957
857
546
310
612
935
580
459
242
109
571
984
963
133
394
429
235
722
554
785
694
576
941
531
765
829
83
708
313
357
366
969
878
135
398
640
859
411
700
657
815
559
179
418
314
903
483
759
637
501
676
975
259
880
490
226
426
663
594
476
836
951
764
567
668
290
875
562
493
203
157
692
767
135
751
489
304
135
873
522
950
867
604
124
511
307
243
337
392
976
947
778
881
87
317
338
963
566
573
468
757
430
417
922
162
523
768
238
539
634
121
432
356
561
954
387
768
84
653
449
373
577
132
196
389
515
98
798
670
998
589
58
625
983
612
160
588
538
761
96
935
753
890
854
130
851
448
383
727
59
829
124
451
648
908
603
83
291
574
663
145
950
650
151
79
567
115
464
566
460
60
169
77
134
815
283
481
134
515
869
780
413
577
539
571
884
136
240
319
552
76
182
637
169
655
413
892
310
68
542
624
155
509
523
593
313
633
581
767
334
84
995
360
637
643
110
408
481
426
457
141
284
59
724
246
400
737
75
177
382
223
327
564
258
713
160
782
511
894
702
901
683
788
471
878
736
349
224
609
663
651
674
418
503
63
577
937
51
838
251
74
364
214
564
618
267
508
217
514
604
959
530
933
203
222
451
541
327
453
572
243
124
256
879
557
716
491
750
157
623
680
497
109
577
605
177
406
797
406
737
177
180
741
580
272
402
990
520
477
545
660
913
322
744
627
525
219
396
55
56
93
129
914
792
792
799
894
953
253
412
997
307
975
804
302
532
371
435
546
763
738
735
926
417
664
200
741
719
602
970
485
47
404
82
365
884
342
968
643
228
399
924
887
919
355
739
221
466
518
660
433
509
297
552
166
427
566
40
689
52
336
978
709
932
303
58
106
191
714
339
972
770
938
702
428
930
317
158
415
959
159
302
638
660
915
218
329
603
306
211
578
658
429
124
317
508
663
237
865
860
405
376
182
148
48
873
812
870
755
454
99
378
496
960
214
952
164
225
362
68
307
785
369
595
207
222
858
768
162
917
848
790
354
639
452
741
819
824
52
696
141
81
256
792
770
207
171
325
462
829
168
612
440
690
290
57
550
157
931
440
92
272
977
376
593
211
77
526
201
984
540
633
747
65
782
859
487
432
947
912
460
421
170
823
479
854
893
976
81
502
638
145
633
530
500
818
934
971
461
318
260
893
956
555
398
759
440
225
316
984
332
57
774
738
240
907
542
387
674
177
910
350
619
631
931
741
51
331
749
664
998
54
845
991
498
794
870
543
829
730
84
354
782
428
502
267
420
218
806
625
944
449
157
855
293
903
630
197
347
368
412
53
792
380
861
423
535
830
117
255
127
994
461
800
254
608
531
547
569
524
931
425
128
944
701
705
396
708
341
923
409
815
156
955
886
251
885
714
399
50
349
761
866
93
966
545
591
864
635
507
223
102
981
757
680
644
824
842
347
425
287
611
988
777
831
447
141
692
661
409
284
651
399
613
871
420
929
514
45
819
197
79
933
570
262
619
652
576
629
937
470
788
646
404
106
972
99
913
781
322
201
377
499
962
536
502
239
233
218
71
132
632
57
982
482
781
546
523
665
703
173
405
851
937
103
268
547
431
977
343
678
77
668
763
894
884
214
442
162
61
376
265
250
380
521
559
421
107
189
359
612
102
851
652
301
175
257
352
538
762
123
348
385
290
210
346
305
199
685
283
110
655
750
805
965
85
163
581
100
439
619
174
60
106
827
134
729
496
382
787
186
86
749
562
751
152
655
264
695
295
372
596
82
125
910
222
157
862
924
742
489
918
161
489
458
414
687
576
511
196
430
898
739
102
344
911
395
195
889
801
245
309
221
161
480
741
471
469
160
712
518
901
977
729
625
456
781
911
368
876
708
610
365
93
764
219
741
123
588
805
46
965
956
106
126
848
404
355
724
790
247
337
550
191
540
131
90
765
325
240
129
54
588
524
683
770
72
658
219
616
44
973
370
283
390
110
617
435
83
707
346
301
157
386
513
149
566
491
118
672
942
46
143
434
244
593
590
376
905
534
956
172
287
375
724
314
379
674
642
534
944
432
402
804
453
523
991
681
69
157
451
458
76
136
125
49
260
309
105
701
865
239
578
93
609
853
298
869
748
78
923
648
687
310
352
801
42
827
875
700
588
642
844
192
427
906
641
659
592
674
597
42
814
683
844
683
437
271
190
178
584
962
736
103
402
279
239
53
437
682
640
781
347
732
456
143
517
583
279
448
996
122
175
211
347
968
358
342
773
811
207
670
553
65
931
611
84
516
422
237
762
983
49
391
238
834
129
465
935
968
311
65
130
802
170
547
185
947
558
421
125
65
293
811
502
557
194
590
592
259
333
375
134
793
242
846
540
213
339
752
955
248
198
74
389
351
542
197
996
816
508
296
290
642
53
424
967
616
359
419
218
895
507
465
440
303
747
235
672
485
938
187
471
366
608
240
363
383
423
129
301
491
408
163
410
537
240
972
251
592
477
65
192
392
912
392
194
718
698
837
695
346
666
282
242
703
482
620
282
518
616
473
946
143
308
485
238
289
969
46
627
123
373
537
364
931
559
658
618
175
756
106
802
113
790
114
100
362
484
857
108
324
847
271
780
166
251
77
919
407
414
411
434
561
783
956
659
935
166
986
521
148
555
572
842
951
817
357
148
581
208
263
770
573
982
944
339
339
350
416
447
281
257
309
279
46
135
982
212
335
382
572
273
993
171
426
407
97
543
356
837
121
321
439
58
689
149
972
956
822
394
51
977
702
908
338
824
128
729
759
45
211
917
434
116
372
642
231
322
850
813
872
915
640
162
749
718
614
169
671
429
146
883
571
347
797
975
52
515
511
74
905
792
183
401
806
916
370
427
327
819
266
602
978
830
54
854
726
156
121
169
581
68
534
426
180
890
683
551
618
830
450
958
939
114
149
979
289
646
46
621
973
765
731
532
477
103
196
632
426
612
991
192
656
583
862
853
798
88
726
427
639
931
593
357
136
646
630
441
700
145
536
425
640
267
847
345
481
618
618
117
334
490
281
579
461
556
220
887
84
801
577
943
709
388
682
586
517
595
389
146
396
323
399
735
924
668
56
832
286
274
322
563
487
476
96
339
783
532
324
566
636
762
750
164
46
241
230
49
998
510
560
744
466
865
616
239
134
464
289
330
280
183
224
759
474
148
114
891
907
41
327
500
323
757
662
467
167
804
50
736
131
563
262
492
531
436
328
977
909
726
84
386
377
448
662
677
363
958
87
332
987
597
881
524
779
140
506
915
468
63
154
977
525
486
538
687
550
396
501
686
822
428
489
625
955
489
831
970
504
97
234
403
70
748
306
981
139
719
67
145
391
168
329
393
570
634
359
143
522
721
862
785
288
160
270
276
803
866
958
90
691
625
570
671
766
955
184
782
776
396
544
92
109
273
712
767
906
801
849
125
359
162
179
68
288
886
249
960
795
379
632
599
605
179
992
339
534
847
302
314
902
184
155
93
578
338
872
192
195
712
82
802
434
253
49
494
550
505
830
964
395
518
673
311
119
725
188
816
484
577
59
190
691
648
216
610
391
172
342
940
404
140
448
336
43
125
365
54
527
582
304
798
245
397
721
582
120
639
828
353
123
712
701
262
316
585
564
329
630
524
810
189
82
760
834
45
136
989
510
569
131
329
977
900
251
513
302
789
575
326
270
265
49
530
677
116
112
61
831
260
743
101
869
901
261
974
176
624
399
731
764
972
393
588
616
307
387
993
438
162
816
776
265
290
62
413
876
329
939
163
404
453
989
89
54
446
186
148
429
128
239
95
157
820
681
744
983
450
971
871
557
626
700
758
395
977
127
853
390
57
722
282
638
530
43
389
924
141
489
812
226
399
884
899
483
254
732
453
861
757
173
666
528
262
596
623
287
779
350
391
493
597
245
223
668
643
448
605
631
357
700
589
64
351
506
393
834
616
173
780
701
677
999
692
632
218
701
276
990
628
387
368
877
661
742
281
980
651
243
444
980
390
353
600
442
970
158
288
657
73
897
652
855
866
769
676
314
172
511
537
505
510
595
722
551
903
224
348
422
157
581
537
229
59
978
553
440
661
660
967
991
796
465
571
846
81
304
583
895
356
381
74
948
840
703
591
157
986
89
899
768
780
236
878
64
160
547
648
943
774
50
268
998
251
505
811
789
253
86
874
921
952
921
733
987
836
114
738
658
206
983
374
57
412
937
504
431
344
622
533
897
530
991
324
308
811
791
809
432
156
970
704
139
661
426
454
500
503
795
263
890
250
299
865
409
346
360
490
258
339
413
615
617
88
363
318
850
602
983
264
600
363
346
348
832
768
186
381
684
805
705
787
91
865
896
253
98
994
972
203
822
251
524
674
519
412
712
997
596
218
920
363
166
58
972
628
355
490
262
637
753
490
661
740
516
474
352
478
760
658
77
333
555
140
122
898
589
905
500
290
798
190
226
451
828
465
550
66
753
849
883
653
765
618
572
781
598
290
494
51
731
502
695
898
139
239
684
697
488
279
782
487
117
576
133
174
228
639
680
840
984
586
465
438
45
687
244
49
507
192
785
303
495
721
136
865
792
952
454
927
986
899
688
893
380
372
153
211
847
265
758
379
413
997
828
580
984
754
812
239
875
210
802
883
279
589
749
328
544
127
876
863
325
505
599
363
642
350
62
630
489
217
250
320
496
707
398
509
405
903
277
934
517
753
308
811
846
862
342
72
204
947
594
621
687
853
763
216
676
839
956
689
362
375
995
875
52
84
884
993
367
675
166
259
622
493
396
229
387
719
492
727
835
132
730
829
172
395
140
394
997
614
593
950
589
650
942
295
641
464
43
890
900
533
159
208
368
972
703
766
731
950
324
266
917
681
859
218
888
700
462
558
783
361
802
451
927
88
62
934
414
452
482
549
125
575
719
719
907
193
940
291
277
435
598
265
373
228
934
453
295
823
523
105
567
738
433
158
557
910
58
689
567
578
77
199
983
788
518
758
255
515
346
716
611
863
781
343
598
873
844
459
930
225
894
754
412
759
777
342
978
937
802
255
742
302
362
879
746
876
332
164
109
131
913
597
468
330
553
707
263
574
966
99
914
415
778
767
84
600
647
696
245
288
104
49
636
183
475
838
587
505
259
289
513
844
639
268
62
130
829
199
421
93
836
219
526
832
781
979
791
226
606
957
778
454
159
930
343
999
83
967
818
496
178
137
57
128
256
133
380
742
865
325
603
282
608
271
258
912
374
512
173
679
217
283
389
319
311
257
141
710
109
352
66
791
647
741
663
530
782
354
611
538
680
772
733
251
668
558
701
313
241
254
933
687
858
673
398
136
693
84
945
774
453
698
433
359
843
540
669
568
286
467
426
136
829
403
885
400
346
213
250
662
262
290
493
80
123
715
942
399
470
465
642
918
117
826
296
913
792
933
776
242
650
843
52
438
543
172
768
924
336
585
47
235
921
706
194
454
990
756
871
427
260
981
460
645
232
752
782
493
778
554
401
493
870
291
225
785
797
658
449
524
363
517
508
989
594
99
418
151
879
978
934
229
540
354
69
434
820
159
787
421
64
955
386
289
123
790
74
113
202
227
475
526
69
755
401
697
952
908
270
727
388
576
47
631
302
851
146
294
100
559
766
149
528
212
577
222
176
343
277
810
290
111
530
286
51
654
870
165
826
215
347
812
73
334
744
540
753
537
744
454
423
810
834
610
500
311
845
578
253
983
822
949
498
110
719
382
659
607
375
607
825
185
607
842
893
727
180
574
320
908
846
573
230
490
349
468
498
454
611
396
967
495
661
149
168
888
286
193
673
632
117
507
567
576
306
980
76
544
747
542
377
258
911
139
212
229
151
956
512
706
379
208
737
935
426
190
806
216
207
346
253
743
588
305
421
372
917
157
869
812
590
157
720
966
342
186
110
342
241
175
54
369
653
612
658
396
376
53
436
637
177
977
503
512
812
475
766
647
811
44
671
526
958
426
780
583
902
558
416
183
714
210
505
618
683
533
788
812
415
649
349
324
794
889
721
883
474
65
985
485
588
423
114
946
537
709
549
960
964
577
722
667
72
395
974
72
40
922
277
755
790
219
349
844
712
887
374
969
783
547
988
409
742
529
609
877
202
466
180
849
414
524
686
910
395
847
363
649
374
956
798
525
126
766
245
75
298
562
191
496
855
921
730
609
133
187
398
838
805
718
552
989
973
242
937
654
414
229
470
644
840
714
399
787
335
352
268
158
302
656
604
223
906
605
194
143
447
412
592
887
733
52
442
44
633
983
395
376
825
594
558
123
833
93
343
193
534
850
223
566
859
495
321
337
628
333
730
371
882
649
503
249
62
571
453
753
867
359
925
714
195
832
633
979
58
990
347
164
940
550
639
561
605
939
389
197
786
412
331
258
388
835
77
931
961
502
778
723
125
639
244
158
898
829
124
990
329
471
205
487
847
686
767
539
343
151
654
327
114
910
62
638
978
46
456
354
208
940
671
367
293
908
782
277
942
216
111
138
818
785
249
224
580
804
788
147
850
714
56
782
86
660
59
404
142
392
288
740
799
193
844
207
989
584
630
830
212
936
372
833
529
405
820
506
340
167
338
873
525
681
920
245
860
759
108
216
104
297
311
345
455
444
865
767
180
65
514
218
647
376
924
100
71
202
640
105
563
951
643
112
596
53
207
613
304
352
253
467
138
671
421
569
478
993
993
421
899
230
894
272
913
392
145
932
505
371
937
971
870
84
43
745
368
710
477
583
195
758
960
675
609
255
979
172
275
943
740
565
164
57
328
406
851
470
770
908
545
691
675
88
873
71
605
938
660
662
918
451
968
171
524
909
822
121
955
816
320
424
666
627
617
655
237
564
433
989
917
999
385
467
538
364
653
882
471
886
345
497
763
383
741
954
189
546
82
488
859
523
576
994
80
896
525
618
70
880
576
563
630
860
275
983
736
403
913
744
731
950
95
330
456
567
382
693
421
410
784
563
54
718
155
414
658
402
316
863
965
509
938
336
651
894
244
864
862
743
660
626
944
881
419
694
385
617
898
208
665
549
41
532
163
983
136
254
398
979
542
615
728
463
939
189
384
470
70
876
768
435
898
704
573
596
210
124
61
79
84
931
817
315
453
178
587
316
746
639
408
895
329
221
294
596
879
317
460
885
214
857
443
359
984
361
920
76
413
85
462
85
364
544
820
777
88
276
168
577
806
572
783
629
933
801
836
491
962
703
582
138
53
334
168
302
482
922
948
631
717
997
668
507
115
777
711
808
99
610
860
727
938
103
208
958
734
542
141
596
367
831
264
586
877
850
571
854
826
423
187
800
156
924
375
611
507
616
105
155
887
92
436
610
178
739
525
782
327
794
327
610
228
516
955
552
390
536
663
319
218
753
832
620
538
297
929
768
399
886
442
742
99
168
153
438
213
190
945
614
734
877
771
613
988
441
375
851
745
545
677
872
806
611
79
67
357
390
50
446
692
100
636
708
718
60
717
648
709
231
47
191
173
797
369
369
617
396
123
207
423
856
956
417
487
132
248
185
419
81
598
99
336
701
622
61
763
531
730
898
86
991
641
766
383
272
541
673
545
232
189
978
506
423
920
138
974
340
393
167
51
737
633
623
631
680
562
204
832
999
480
399
794
299
317
588
673
875
655
396
955
87
848
543
273
699
502
393
172
211
443
534
611
248
280
928
973
801
518
206
118
482
277
974
104
297
261
479
158
862
354
866
977
621
443
482
242
970
949
212
754
648
849
236
403
242
982
946
491
368
395
354
140
113
876
918
839
470
345
686
134
182
794
632
934
509
821
76
137
942
180
725
126
530
85
227
478
389
924
569
944
662
75
91
926
332
180
940
560
939
156
795
91
891
744
558
739
453
929
506
848
760
295
938
52
256
72
704
763
719
85
256
210
987
163
112
507
618
776
892
514
562
616
863
978
779
818
413
905
582
331
516
648
783
70
512
266
277
480
525
308
300
250
883
542
508
417
819
171
114
562
873
872
103
692
717
136
495
232
390
740
635
429
694
839
857
979
517
544
234
790
167
232
115
676
189
49
308
764
76
910
257
795
61
232
599
712
408
405
654
656
981
345
475
626
195
907
846
600
76
177
998
782
985
499
666
86
66
341
711
270
955
526
312
271
715
931
595
864
158
788
791
996
308
586
818
206
720
267
311
161
88
185
149
551
201
831
989
641
669
814
875
997
165
458
877
172
743
705
205
590
397
865
710
843
750
340
456
959
704
453
740
363
811
923
449
775
341
266
196
419
290
599
596
492
238
409
658
146
386
924
610
126
106
168
669
231
438
309
836
773
252
726
914
550
84
144
265
149
393
94
216
548
237
42
295
531
352
680
996
837
389
148
803
679
462
201
224
490
905
650
674
349
677
439
628
939
255
125
430
402
946
855
991
892
774
956
597
157
978
399
597
577
899
792
274
182
856
124
101
288
490
224
455
912
283
904
304
616
83
897
183
520
845
615
439
398
134
184
867
130
151
521
612
186
246
908
352
747
281
612
70
750
306
212
209
169
114
871
631
322
530
893
576
346
422
688
256
808
760
193
920
159
803
506
837
433
424
349
303
675
916
40
575
217
504
62
818
784
400
459
609
315
467
985
633
590
180
345
920
458
434
769
706
975
289
233
743
796
333
144
859
378
373
790
797
797
63
720
248
796
429
629
627
471
802
439
521
525
174
781
242
784
713
649
819
284
686
617
536
243
473
383
301
808
41
971
931
677
254
727
638
736
891
288
745
99
800
801
914
228
629
377
230
936
880
482
119
698
720
779
530
212
985
517
300
753
613
770
898
271
594
858
630
874
566
95
525
733
332
133
544
576
402
626
685
637
734
853
521
162
684
319
469
628
527
649
336
563
398
242
158
956
987
415
938
651
316
772
600
273
800
670
309
165
422
860
954
914
546
588
393
243
241
504
452
128
247
773
685
681
421
363
938
408
888
145
562
151
841
921
43
560
188
463
673
610
489
582
317
662
636
553
521
153
384
672
708
201
397
927
45
193
827
424
528
659
670
657
969
644
947
492
232
469
61
278
505
72
977
545
235
653
114
649
180
677
677
361
654
776
733
54
630
919
122
992
900
550
938
282
588
315
708
506
239
376
169
625
715
566
496
217
368
598
455
480
489
45
587
175
524
534
809
792
453
401
864
907
733
102
893
90
54
590
460
494
357
929
660
133
190
543
322
391
189
839
65
670
831
565
985
980
102
215
352
457
827
113
215
386
801
235
559
265
985
80
576
658
694
259
357
259
674
705
584
806
850
632
920
560
513
759
694
374
656
851
197
504
935
973
560
146
263
40
216
118
663
624
992
654
340
536
592
777
410
671
745
395
778
197
465
110
624
437
824
824
602
745
586
733
875
467
495
816
617
94
962
293
120
73
366
243
622
828
718
300
59
223
827
798
526
475
95
721
964
294
579
80
786
859
469
616
285
284
772
973
210
281
337
660
532
256
155
627
986
260
993
292
514
775
447
47
503
353
125
370
960
943
375
148
132
507
446
119
931
506
173
282
83
501
880
268
410
647
187
312
969
163
273
309
918
412
84
183
491
152
598
70
978
183
419
449
617
572
176
114
846
93
877
530
576
816
615
90
442
813
814
687
201
468
344
848
686
667
672
364
616
147
180
402
526
156
796
163
753
781
264
304
762
251
376
167
282
439
300
718
659
141
481
591
248
838
321
398
385
738
283
394
273
547
675
64
750
463
133
148
489
252
187
212
270
108
140
384
893
613
662
931
213
219
185
694
804
974
574
616
912
715
544
131
297
641
908
280
271
88
373
977
234
811
867
85
191
196
621
710
63
773
49
906
598
928
470
724
878
90
664
940
428
735
453
792
196
942
963
384
457
660
628
314
647
944
320
923
867
980
945
845
966
600
207
56
943
435
91
361
487
299
401
613
182
289
112
678
575
223
835
125
546
987
906
829
168
209
825
214
78
849
954
92
665
68
602
603
984
390
293
884
937
520
981
92
488
309
861
634
979
103
379
429
470
391
969
566
617
958
464
918
376
846
235
62
268
211
793
606
744
606
896
134
547
801
104
248
680
79
89
723
853
785
899
757
50
491
899
191
666
279
418
370
93
325
754
93
588
585
621
734
267
503
556
439
417
636
839
974
826
518
202
304
589
993
776
906
756
110
289
575
46
350
995
423
901
933
42
678
378
663
539
661
709
656
512
823
158
646
996
982
93
533
130
966
434
943
147
551
975
981
360
341
718
972
785
700
138
339
891
666
552
962
659
656
725
416
280
956
695
904
143
691
189
473
413
329
650
85
578
222
309
886
959
826
301
969
748
796
596
229
985
724
677
975
693
208
68
191
872
50
473
952
704
535
929
741
821
445
826
144
581
440
949
816
255
167
325
110
290
816
296
403
205
266
947
722
70
565
834
123
740
410
665
896
498
489
971
64
383
278
849
229
989
887
275
449
312
262
110
64
654
647
649
984
452
248
318
96
355
366
657
630
974
271
496
914
453
99
817
944
700
594
971
891
746
905
780
907
150
991
856
747
310
976
486
429
117
738
73
57
224
989
231
888
671
555
819
156
742
228
749
818
579
385
563
421
296
64
258
917
254
806
195
820
865
102
374
891
862
676
731
129
204
491
744
634
578
947
379
564
732
408
114
330
218
159
601
272
669
248
899
805
382
541
173
54
622
859
849
489
99
240
975
442
603
679
956
644
389
849
202
120
371
257
106
219
933
150
718
931
394
898
788
921
732
667
523
275
235
239
265
627
460
430
720
631
437
451
190
649
549
550
279
420
65
417
988
197
609
214
227
771
976
737
979
542
330
300
162
910
499
690
265
999
270
361
288
752
421
650
195
976
541
898
788
586
555
110
284
129
887
902
436
509
229
953
927
646
408
759
217
681
431
355
870
807
303
870
984
836
65
958
734
405
876
524
384
280
797
209
267
392
823
898
209
996
461
526
225
911
817
506
525
277
47
254
89
269
67
799
785
103
713
261
348
975
113
818
979
461
967
637
926
530
809
947
371
344
479
973
957
263
409
992
60
819
850
292
631
944
415
377
654
921
242
142
74
43
291
983
677
835
442
471
100
197
514
165
887
695
967
586
509
142
140
207
493
574
114
645
768
549
502
536
262
797
979
820
622
721
469
594
684
542
413
814
791
818
329
57
554
353
387
988
292
92
924
941
295
46
170
833
709
676
356
839
494
251
487
651
628
856
574
225
761
440
49
798
628
168
425
941
240
104
261
431
846
808
833
758
340
695
45
79
446
194
389
901
701
468
268
550
134
83
791
785
579
793
838
344
613
987
447
941
725
435
357
806
879
987
648
305
738
72
574
451
789
880
620
375
117
482
449
515
976
234
163
93
568
950
580
728
343
716
349
996
218
220
724
242
121
258
594
659
858
949
632
866
244
449
736
676
366
998
963
776
474
161
581
239
297
194
818
250
995
353
262
722
886
108
730
972
101
307
202
588
757
553
340
140
439
40
332
197
128
855
700
696
486
656
367
301
907
379
397
185
926
601
149
422
565
186
407
421
341
501
768
781
879
626
285
342
935
98
627
792
714
60
451
642
941
238
603
721
261
694
684
385
371
898
974
786
418
825
806
703
40
668
887
108
832
283
871
833
349
958
212
343
663
167
959
384
127
493
218
947
387
74
415
780
689
619
410
743
918
748
806
621
812
175
680
150
668
411
115
149
370
553
148
174
719
831
627
822
628
510
913
125
416
502
396
928
399
693
902
545
891
708
309
45
943
517
930
147
829
562
576
480
694
264
415
913
842
758
737
72
237
459
814
940
138
435
539
652
749
205
679
700
966
886
375
64
753
984
133
84
282
787
973
462
725
540
785
475
480
983
152
493
243
577
480
924
563
827
56
178
328
304
429
630
619
348
268
81
870
266
673
340
950
584
331
164
973
696
776
109
326
596
922
114
276
163
690
312
464
786
948
485
643
207
993
596
354
292
479
592
240
236
590
772
248
216
614
455
508
389
352
158
193
649
353
527
90
224
333
308
126
685
790
208
582
280
95
216
701
88
998
389
868
505
811
517
534
869
674
761
821
669
832
399
397
52
633
482
147
186
480
172
382
395
433
887
111
312
926
125
145
252
268
814
408
363
979
825
765
375
433
93
515
414
716
660
293
148
652
883
688
178
815
603
563
853
932
307
775
370
631
858
374
789
837
253
601
778
856
797
371
460
224
665
53
933
993
811
260
250
91
314
980
740
655
666
710
822
86
969
737
608
839
325
925
819
956
270
954
670
434
723
922
934
990
848
773
184
452
427
82
397
488
252
72
818
616
850
960
920
851
466
991
179
575
374
532
489
735
485
176
305
971
812
506
188
63
762
386
238
41
616
927
702
726
975
474
730
844
936
532
574
917
894
362
153
121
89
681
876
815
55
964
724
673
714
629
704
954
191
130
336
494
919
331
710
82
644
781
773
185
525
856
152
992
833
126
678
872
720
697
860
450
852
438
160
131
206
782
179
417
272
280
795
961
868
813
379
194
257
873
701
647
623
342
316
760
198
751
922
71
372
656
738
272
636
775
112
218
82
245
962
844
491
704
489
656
840
595
154
48
834
363
175
475
938
158
229
241
934
269
668
831
288
735
906
416
987
704
920
999
425
690
146
243
670
258
92
623
149
716
644
470
80
713
931
183
111
326
137
746
334
90
765
836
249
237
338
951
477
877
157
824
42
505
87
812
510
84
124
772
173
365
838
167
636
997
438
807
993
916
705
602
104
950
76
929
459
774
527
366
775
160
265
316
741
827
658
958
822
975
444
92
59
399
734
390
364
172
506
449
626
94
111
994
795
485
443
636
619
897
232
932
699
872
259
891
652
460
592
722
974
171
610
629
816
930
389
699
885
902
684
533
961
862
570
741
134
53
827
338
768
664
655
148
601
418
808
255
510
297
465
210
961
173
530
176
917
162
835
121
397
217
411
906
145
457
532
744
118
686
727
539
249
616
598
351
860
335
990
955
745
931
141
698
615
394
943
753
395
978
838
639
632
905
895
260
187
981
294
917
162
405
425
360
569
554
917
224
89
971
600
316
641
744
769
815
743
388
48
911
565
852
84
322
777
308
114
878
405
808
683
683
783
90
193
854
608
545
377
905
645
186
887
790
411
233
436
776
183
106
627
910
364
991
475
239
140
137
588
642
746
280
629
681
356
800
71
788
821
320
142
168
868
275
207
281
680
774
283
748
837
681
213
997
630
397
507
226
296
630
418
979
527
555
597
538
984
537
974
642
452
391
541
152
373
151
306
424
846
999
518
855
553
168
204
425
497
724
226
148
903
875
900
446
62
291
99
856
483
251
194
986
966
62
154
730
906
556
269
734
403
451
402
448
851
100
840
44
96
484
574
97
572
927
550
974
240
555
446
241
616
87
317
210
837
696
150
970
806
953
493
577
996
752
877
208
766
892
815
282
95
80
367
691
358
255
868
996
283
128
115
163
110
804
844
684
625
814
481
929
45
422
954
186
447
125
554
231
491
86
910
169
439
89
470
937
928
711
273
630
646
911
921
314
698
505
127
497
352
47
169
696
874
610
533
873
282
646
294
318
231
952
482
456
52
523
193
787
477
151
723
252
505
381
358
345
144
211
353
290
870
877
770
843
264
374
504
261
305
390
437
488
736
955
871
438
676
328
64
996
818
487
310
384
572
201
134
99
958
348
155
419
96
45
398
483
265
763
467
656
664
221
99
717
313
933
176
270
127
658
119
85
825
895
378
217
934
795
96
57
346
344
883
361
611
143
293
352
407
939
628
440
495
140
224
311
230
366
73
99
484
833
643
376
826
889
496
972
103
651
113
537
909
603
81
58
598
899
80
563
493
116
101
667
72
741
343
750
997
70
225
820
763
997
894
127
753
636
523
811
390
579
569
333
119
827
450
186
67
532
48
680
731
629
868
840
994
545
781
173
216
378
851
153
58
737
403
612
505
379
688
544
945
53
975
487
737
357
786
298
259
767
772
516
590
426
830
866
313
345
694
207
609
58
450
834
42
89
599
587
112
311
239
816
499
351
82
419
705
642
570
515
317
792
354
845
841
471
782
780
860
630
91
952
768
617
308
994
815
921
207
325
352
840
130
245
281
59
70
502
537
145
570
956
668
142
736
482
244
98
931
927
894
480
730
642
78
425
51
237
634
437
784
572
146
53
77
54
44
336
590
47
547
302
159
488
927
855
229
935
544
972
361
825
460
812
721
766
224
196
908
796
971
758
550
682
695
172
675
203
643
948
392
757
659
230
327
621
154
775
959
758
522
570
65
584
325
517
442
539
118
177
750
56
801
846
163
336
898
566
916
267
959
831
486
553
66
528
164
176
839
811
443
802
485
650
241
415
435
973
434
725
53
785
183
290
612
936
479
352
639
571
228
975
49
421
826
464
678
773
60
333
657
984
503
799
514
739
981
229
82
271
799
783
70
226
958
905
291
682
645
973
874
998
457
374
921
984
395
918
777
356
677
805
225
537
162
595
627
752
971
671
952
189
986
152
797
344
128
829
638
947
558
145
304
84
661
43
670
841
181
58
852
443
844
537
511
912
618
211
488
238
568
598
837
943
573
823
98
516
329
780
685
244
649
647
630
583
912
103
252
396
942
351
659
200
223
440
791
485
549
99
392
980
115
104
715
595
342
594
192
718
266
838
354
232
771
94
847
605
69
561
755
47
132
794
587
834
760
901
692
133
992
264
600
528
924
934
676
753
735
821
227
481
554
549
687
455
243
70
736
177
486
359
511
618
346
71
404
337
987
325
932
300
901
288
751
582
953
370
808
766
898
211
898
125
295
254
334
56
678
311
984
590
403
970
68
753
958
150
875
317
214
116
916
156
915
692
161
951
648
299
660
219
293
105
616
171
309
554
293
240
261
704
131
707
592
260
778
451
798
89
86
400
110
508
731
908
56
305
180
137
677
261
164
633
351
532
933
87
164
653
221
869
405
931
700
484
457
116
641
94
386
177
76
684
796
262
921
898
631
956
702
376
54
695
370
98
685
104
791
433
358
552
690
714
642
442
611
733
309
361
498
226
729
767
616
110
468
375
263
766
47
784
534
504
433
736
744
325
423
66
235
514
246
364
184
282
419
540
111
554
460
724
136
488
959
123
593
121
52
655
810
669
419
139
937
917
247
964
792
974
704
558
502
318
50
488
274
362
933
832
193
324
51
761
991
892
431
457
212
635
768
421
40
445
278
337
524
199
547
620
679
543
429
695
148
855
787
937
899
863
783
185
307
614
959
783
862
452
688
963
838
336
422
295
700
428
289
41
749
318
266
182
892
233
275
934
362
580
811
40
657
487
100
286
793
565
423
650
424
232
577
386
600
264
44
576
633
148
151
996
473
280
506
330
663
240
76
259
204
670
486
477
538
956
351
351
997
307
974
282
612
251
74
982
358
482
276
296
636
525
358
923
694
640
366
646
320
105
782
418
520
549
392
611
170
751
803
645
152
62
983
797
176
944
769
900
690
465
918
645
698
987
111
891
701
91
180
356
731
659
46
272
399
635
490
259
486
488
706
826
704
70
133
136
74
384
834
974
159
484
930
337
210
226
765
894
572
287
425
674
285
299
724
292
684
322
292
149
405
560
993
916
131
564
969
521
770
348
550
537
227
868
171
507
145
800
369
805
493
278
180
897
62
264
320
152
687
780
665
997
650
578
982
698
395
976
986
133
276
634
666
800
569
706
398
322
556
869
187
424
144
810
686
250
643
353
566
968
632
971
738
178
806
809
164
55
987
81
359
749
953
565
812
61
743
424
81
893
678
773
508
639
840
96
142
832
954
338
51
910
136
735
292
153
617
349
890
833
532
667
994
882
503
666
551
208
516
595
142
252
210
797
478
43
482
463
875
848
644
942
62
826
327
312
876
470
67
531
626
321
381
83
587
537
356
711
589
709
361
761
594
540
629
434
443
671
658
473
243
901
413
213
995
781
439
902
560
710
149
198
969
840
732
150
165
647
879
396
730
507
775
438
328
357
343
165
503
71
85
697
328
446
329
523
266
444
425
954
525
61
567
360
454
563
671
987
967
537
183
615
870
876
78
68
249
219
339
318
188
764
51
657
691
886
137
252
765
283
384
621
330
915
880
181
435
308
110
234
646
731
896
381
685
508
888
426
916
573
916
907
971
972
216
203
399
744
805
852
873
738
367
251
201
311
140
754
499
180
699
870
620
133
242
553
604
843
660
682
161
813
92
954
370
618
458
118
124
801
757
258
185
454
965
451
510
618
653
51
868
709
152
721
469
529
797
833
874
948
661
995
276
227
88
482
451
761
402
111
673
404
876
283
480
505
699
317
661
542
615
595
391
67
623
130
328
899
843
409
600
528
819
793
310
629
506
200
389
211
503
823
417
170
452
746
294
286
878
136
590
738
211
745
94
276
691
477
530
328
75
841
358
917
441
455
393
379
783
716
303
643
361
680
477
747
832
348
607
715
913
324
597
817
296
551
974
135
522
343
136
241
401
387
961
351
391
290
73
329
236
554
122
833
647
669
542
765
432
485
550
132
758
771
951
887
556
169
331
785
326
806
701
261
835
342
225
714
284
821
708
402
656
892
114
186
323
925
66
508
996
256
834
616
545
827
273
121
178
496
810
909
399
824
383
900
351
246
730
661
892
765
582
852
535
906
155
107
756
58
142
128
483
676
454
708
926
372
723
385
954
126
324
241
968
914
423
753
833
939
632
744
422
447
663
900
652
558
732
679
53
583
776
935
817
477
768
844
743
494
85
638
42
637
904
511
920
756
431
696
298
249
841
980
591
405
178
557
54
586
922
93
500
784
571
131
594
585
349
716
462
556
98
812
311
927
723
747
928
223
469
543
730
525
792
989
328
444
721
224
287
920
89
809
127
339
680
928
157
154
970
149
569
759
535
558
975
82
339
839
571
213
508
174
376
154
422
955
251
64
446
434
841
422
942
47
268
571
361
283
890
121
842
275
929
163
70
853
245
66
99
729
635
180
142
844
959
94
84
940
756
501
152
475
724
160
84
495
621
887
781
874
497
630
466
539
113
852
106
177
889
391
938
258
567
185
617
634
947
336
175
747
685
944
721
581
218
474
927
893
377
231
338
360
611
867
736
820
223
404
405
665
817
419
276
701
66
717
257
857
591
321
653
251
957
737
739
572
819
239
228
478
415
76
850
847
796
268
987
180
217
476
389
647
286
777
994
356
161
648
226
818
60
584
411
896
686
404
809
870
519
973
641
380
614
259
251
318
218
537
989
77
257
641
51
326
54
788
175
546
163
655
880
743
937
631
428
730
687
758
343
541
904
153
58
623
570
381
655
60
68
433
306
252
902
103
610
452
525
352
728
772
933
377
955
285
222
736
337
940
744
411
769
537
58
696
559
194
873
85
258
963
491
397
543
307
890
405
952
492
581
764
593
886
421
111
355
896
864
295
601
484
592
551
416
394
116
929
570
644
828
129
940
166
753
819
346
913
731
955
162
683
505
906
769
640
864
374
761
751
91
938
56
837
105
71
659
356
929
995
828
586
715
314
270
594
990
157
278
378
964
278
821
927
66
681
738
363
887
190
80
214
76
603
453
533
500
207
133
999
190
554
64
189
864
658
726
681
202
934
723
511
255
809
477
302
445
258
50
106
81
512
643
770
87
739
414
179
460
401
493
846
384
303
336
910
569
184
285
638
435
104
514
740
897
457
611
479
745
303
480
795
658
264
131
554
568
238
974
544
450
504
699
128
316
518
525
654
687
59
241
660
991
200
564
201
136
331
756
657
203
930
554
387
878
559
802
575
110
801
953
536
70
68
830
582
159
315
651
282
764
881
385
884
208
836
974
347
635
347
45
724
257
497
149
828
935
981
90
48
311
740
805
61
656
808
937
606
795
82
360
395
561
827
747
490
321
979
87
533
602
264
168
339
504
214
831
492
787
174
855
393
291
622
737
407
122
523
845
609
239
882
340
509
774
714
294
494
381
935
534
660
822
171
907
756
685
99
256
139
592
725
42
721
457
727
222
439
489
147
239
157
393
652
945
674
65
840
547
972
87
164
155
767
116
829
409
744
779
157
465
671
589
754
449
562
389
961
606
789
738
555
673
598
201
823
830
899
441
820
614
962
231
334
664
841
143
269
751
407
256
167
399
316
83
275
145
385
868
268
887
709
54
523
321
717
436
151
527
961
82
163
936
52
868
840
118
717
633
133
461
785
728
997
811
940
668
463
699
357
100
916
474
983
399
492
204
60
387
983
640
340
99
686
358
980
684
968
257
442
69
640
324
767
950
291
842
420
567
419
523
617
411
957
774
458
714
612
823
856
144
625
396
254
324
717
967
344
701
363
306
769
838
949
997
956
873
110
888
95
79
940
716
272
958
490
977
428
940
503
375
818
698
447
119
190
336
749
403
590
278
233
665
243
252
677
743
381
800
606
443
318
554
928
472
550
556
93
751
271
434
164
607
701
156
105
155
822
103
912
402
471
646
728
197
904
652
337
519
144
816
447
589
132
122
100
501
501
824
349
793
108
139
417
753
797
950
952
465
794
888
180
358
902
913
899
809
49
495
352
88
160
658
335
769
951
544
81
270
358
632
712
109
522
736
114
382
734
882
225
644
887
590
144
706
265
668
787
162
888
579
641
987
224
231
856
336
629
234
714
47
339
314
952
483
397
221
893
537
490
795
160
610
129
559
850
505
237
661
283
445
529
480
326
559
93
843
272
869
248
416
291
107
296
638
706
449
453
104
992
263
936
858
684
651
498
472
820
442
362
442
41
101
262
467
631
716
285
839
324
689
731
68
589
973
946
365
168
237
759
157
929
725
871
112
44
593
264
926
576
58
89
274
147
399
557
627
351
858
172
988
544
593
809
202
516
827
132
116
332
710
498
823
441
265
933
362
763
121
708
150
586
173
941
794
184
718
298
382
756
969
75
604
655
720
339
362
721
137
782
366
41
643
958
970
704
703
380
772
502
475
371
360
776
942
654
839
425
690
984
291
782
815
121
672
385
156
749
842
558
615
830
74
964
588
514
535
692
687
201
257
171
772
79
736
724
913
881
111
349
138
614
871
622
632
69
409
287
930
337
885
429
231
81
136
436
868
286
658
78
790
136
614
301
841
278
769
70
308
901
185
90
867
923
86
660
854
571
649
324
175
997
698
364
647
261
323
934
612
683
723
864
509
222
618
284
385
731
473
172
385
657
599
845
785
423
570
603
76
289
627
665
816
665
155
558
608
894
551
557
906
817
605
78
714
164
356
394
760
569
742
228
784
135
747
338
719
645
736
101
144
805
697
846
93
211
707
90
709
80
422
92
559
504
343
980
659
257
325
644
729
992
267
321
957
698
84
415
964
878
588
777
274
62
367
116
133
143
92
908
216
562
617
875
379
508
970
501
945
914
447
325
566
985
742
278
899
806
557
763
734
851
570
215
715
370
912
433
584
201
813
546
344
749
908
391
304
656
149
227
404
471
717
758
103
348
558
133
684
910
579
305
268
825
786
400
763
670
526
366
586
989
50
882
937
194
962
339
172
699
116
134
884
181
819
551
352
724
750
306
224
360
305
897
671
446
585
854
839
603
75
888
342
833
127
646
153
443
409
500
357
455
440
964
553
845
553
465
578
493
263
539
765
844
534
676
697
298
937
822
891
926
829
836
119
877
448
674
489
727
335
334
705
263
582
284
132
560
452
532
640
825
948
605
462
202
498
731
55
266
467
872
198
868
173
550
266
840
291
471
364
436
444
395
171
340
959
51
606
910
577
710
225
566
505
273
683
629
502
223
630
796
973
331
877
98
929
566
583
925
741
414
805
122
594
782
53
728
162
768
464
824
805
475
394
864
464
183
939
551
614
636
52
55
304
985
541
882
555
791
804
131
371
476
52
453
364
817
339
674
759
886
309
661
994
157
361
545
628
404
611
109
117
134
745
969
306
642
730
452
681
672
891
589
114
580
293
430
161
387
183
496
662
424
968
735
642
954
787
80
741
662
134
534
630
367
913
247
835
448
941
52
328
753
166
415
295
75
917
484
196
852
495
446
448
350
470
732
695
589
163
653
102
422
803
671
66
451
187
379
105
127
256
950
111
882
812
486
175
180
854
682
261
962
749
666
227
115
51
250
368
279
876
827
577
809
376
473
673
788
361
340
199
194
417
204
120
629
270
556
748
373
472
87
759
333
946
880
216
419
699
345
748
316
551
503
347
741
674
569
647
339
72
337
429
889
936
229
316
522
444
215
185
478
616
152
237
731
413
220
119
519
996
65
944
584
395
534
317
273
786
274
891
168
614
241
508
515
145
778
912
171
64
327
117
94
879
712
434
453
447
48
719
741
72
827
769
418
66
371
41
900
336
231
459
88
985
748
814
815
872
254
616
887
423
281
194
803
225
174
231
194
826
649
632
373
258
642
960
166
560
920
503
879
903
170
667
159
116
592
773
343
657
653
926
982
625
574
596
927
938
753
135
608
941
576
949
198
471
124
870
164
765
746
594
463
943
767
516
947
594
409
654
493
592
724
216
46
361
796
567
792
694
953
640
122
862
725
936
85
257
414
802
106
966
389
157
835
158
456
648
878
581
270
327
945
262
566
797
574
634
314
793
373
202
913
414
275
538
808
175
975
806
466
266
478
541
857
228
58
779
725
842
933
258
496
831
939
357
240
202
418
460
792
345
947
980
585
794
544
268
327
607
615
517
704
405
690
45
512
874
959
746
959
596
112
997
673
716
321
216
130
676
161
657
890
984
238
587
572
763
623
965
184
678
278
580
526
946
692
858
870
44
208
977
371
273
343
256
390
366
401
413
885
213
138
595
851
973
713
879
92
634
321
384
174
913
900
882
714
105
887
264
144
438
281
409
550
143
890
801
608
891
770
780
954
809
105
141
139
668
79
591
875
912
836
712
996
462
301
763
236
501
602
824
550
404
703
593
212
121
215
985
845
788
314
154
518
464
242
662
581
307
736
639
533
161
413
680
464
211
317
823
204
390
213
996
285
794
438
41
593
489
816
596
961
258
99
767
839
768
200
96
499
704
182
856
263
436
248
93
136
235
859
591
990
887
292
831
750
405
937
912
459
857
219
769
524
84
408
602
133
345
993
809
277
635
629
244
282
234
732
587
531
96
450
878
711
130
256
470
677
741
562
126
549
361
459
617
705
774
330
454
296
727
124
111
309
62
408
398
893
785
226
904
901
956
602
487
986
411
904
780
521
458
184
367
357
131
967
640
833
368
50
87
370
598
40
873
775
444
627
73
327
900
352
362
667
649
352
362
319
456
250
177
520
523
845
367
909
344
147
107
971
606
755
992
969
782
694
170
733
507
469
420
929
395
536
809
490
338
54
850
251
786
158
596
591
665
167
796
845
979
456
170
83
756
381
119
478
210
396
339
632
386
348
296
976
380
326
689
134
259
313
67
705
719
235
673
917
392
848
256
500
622
714
259
954
582
771
500
938
280
790
798
97
95
736
883
692
280
851
378
588
353
188
47
128
522
141
128
895
111
999
423
941
582
243
575
609
158
48
969
583
491
663
813
198
267
795
636
969
205
873
117
419
325
363
742
393
413
413
500
294
107
636
372
584
598
840
738
678
284
323
604
704
451
976
860
753
67
870
874
857
88
952
887
873
951
185
425
405
96
483
428
643
909
297
876
74
411
43
475
977
695
398
991
977
456
134
670
542
703
978
354
233
391
410
320
415
821
941
939
245
774
612
394
570
626
288
103
589
788
998
211
993
63
58
257
230
477
124
61
885
158
292
641
869
516
694
692
95
781
750
247
311
546
996
744
599
491
268
391
97
952
158
832
801
52
319
817
814
282
426
56
791
491
107
962
185
447
57
722
188
46
887
399
74
854
996
614
839
724
431
681
263
228
888
554
293
842
202
836
112
565
310
632
310
499
121
526
59
277
259
790
932
992
100
875
142
653
422
543
763
806
233
788
271
611
628
853
164
791
69
908
197
776
99
888
454
865
338
803
427
878
490
763
979
260
394
489
309
409
722
947
769
993
676
576
73
71
762
71
493
175
250
670
447
909
865
44
373
582
170
946
660
430
297
863
248
227
786
192
686
693
205
303
818
246
70
147
916
764
909
488
205
197
543
76
98
693
649
130
374
744
81
992
732
572
313
619
967
860
975
190
192
592
697
386
506
157
538
680
90
745
101
858
45
763
538
395
228
968
340
686
485
594
447
736
267
468
679
860
649
922
138
211
938
269
274
51
518
152
318
969
502
554
717
835
826
398
936
500
985
623
396
44
813
846
527
216
687
461
470
150
49
61
422
40
437
438
285
711
111
615
72
625
86
820
92
890
210
928
159
105
939
165
747
873
160
336
314
266
356
933
430
653
555
396
826
398
579
253
469
766
225
105
785
741
570
976
514
278
846
850
585
926
592
214
815
279
604
562
757
720
734
358
834
286
556
165
554
573
497
496
424
927
628
549
838
834
444
771
831
411
182
916
901
355
154
286
716
55
879
532
265
257
800
165
941
740
424
117
679
571
911
147
614
641
934
450
892
548
726
634
686
922
667
422
698
473
653
86
226
626
986
827
762
686
214
372
581
509
166
251
972
905
366
456
645
143
424
594
819
731
890
571
148
393
795
331
83
498
600
967
427
464
955
422
50
917
567
260
455
794
222
935
817
814
91
41
300
841
289
476
364
653
616
512
905
771
310
977
433
355
255
191
762
994
384
916
529
338
210
522
107
496
884
571
666
161
829
973
86
147
724
608
193
908
351
651
406
533
61
150
598
226
260
390
253
854
667
530
398
975
979
862
391
383
396
591
916
257
307
931
500
836
471
481
121
455
897
848
273
457
272
978
771
682
779
775
303
688
460
86
321
106
683
234
273
988
978
786
320
786
872
412
844
918
302
200
58
180
852
263
842
807
751
410
218
640
448
696
534
913
189
514
249
784
270
724
875
646
601
698
460
59
353
615
645
869
830
406
469
509
921
332
924
969
259
743
978
715
631
682
664
290
687
163
892
902
752
688
138
430
791
767
327
517
192
235
242
447
368
503
545
489
612
318
226
807
611
142
209
786
562
757
568
713
958
782
955
858
124
566
232
56
130
759
299
493
139
330
721
504
978
316
227
478
893
599
828
872
780
235
830
678
715
702
112
62
355
944
870
534
258
477
484
567
391
600
362
141
84
908
963
739
326
796
282
398
437
233
381
134
178
586
990
734
566
785
993
877
808
466
101
747
423
232
859
766
110
921
192
448
290
207
79
278
357
154
117
286
235
655
528
358
893
629
117
933
774
626
947
944
767
87
304
882
943
130
273
766
70
336
744
163
700
648
873
874
251
329
80
449
584
731
573
652
495
236
468
123
864
882
214
984
229
392
721
71
112
592
854
593
667
226
69
854
653
464
731
184
895
500
967
659
978
600
953
332
850
67
761
668
303
905
341
984
908
610
691
682
817
196
89
399
320
496
50
917
969
926
434
607
966
172
380
309
796
663
936
490
845
86
81
770
854
296
356
790
916
821
594
629
294
127
296
177
116
877
196
449
84
755
812
656
682
529
518
728
929
751
982
847
523
118
369
418
62
931
802
662
513
290
471
513
587
324
991
595
102
282
839
443
303
872
570
418
972
85
180
265
392
302
889
767
235
542
614
936
998
929
982
241
739
930
903
661
729
387
236
75
902
757
44
921
577
712
161
775
744
243
654
157
789
573
49
241
873
968
610
163
703
939
81
382
344
180
154
380
973
707
623
962
442
859
93
726
854
94
427
667
204
321
909
957
846
550
203
445
301
753
597
593
770
827
167
889
657
437
84
733
114
223
891
450
969
632
121
884
755
757
669
775
82
858
655
105
749
526
595
973
623
69
846
426
167
365
692
757
978
667
570
988
869
196
563
327
530
489
168
41
611
312
54
107
297
982
415
806
670
936
326
791
874
862
845
113
664
815
732
809
944
67
917
614
348
881
919
888
504
276
64
997
765
295
278
387
945
549
310
663
554
844
295
719
789
289
522
356
983
579
139
479
379
598
920
663
914
730
627
852
68
515
424
136
619
252
760
954
115
955
771
840
60
187
79
666
435
45
620
325
528
415
970
171
616
425
125
703
881
201
575
85
639
197
750
295
325
784
499
257
61
809
844
386
323
475
541
454
412
682
471
353
724
427
496
551
416
631
408
499
789
974
708
581
307
146
929
960
43
674
398
263
954
885
783
459
331
816
959
735
143
208
690
518
374
115
460
799
622
694
411
911
823
905
174
523
42
40
840
296
632
962
157
666
831
297
807
44
285
296
392
223
102
118
602
729
896
102
792
936
579
743
926
232
745
466
956
613
998
562
483
823
968
504
708
422
476
908
203
915
238
815
661
400
978
331
237
700
996
432
311
400
99
967
139
621
631
756
292
70
677
884
770
773
660
599
144
748
932
802
766
836
432
691
548
961
182
835
834
542
784
692
817
545
787
151
52
173
904
535
359
662
74
256
690
829
315
594
905
470
966
71
286
244
982
328
268
113
523
531
471
495
419
318
957
421
199
592
407
205
313
948
70
185
301
661
849
123
289
244
186
833
181
830
203
704
563
261
694
387
838
55
913
840
148
303
292
407
291
843
523
812
394
423
454
776
163
461
142
348
70
185
660
948
975
411
896
182
63
163
899
352
753
214
538
867
935
174
811
944
879
655
483
891
807
322
156
218
399
502
776
107
567
760
486
576
668
418
967
713
374
752
490
294
654
72
292
328
861
474
436
748
675
975
85
276
84
351
423
877
116
368
806
325
78
696
897
581
432
630
804
385
624
301
395
145
868
683
694
762
354
648
939
926
414
820
918
64
750
816
859
119
294
564
55
471
236
421
675
790
162
375
716
276
413
450
66
87
99
194
973
55
816
257
792
352
47
166
560
151
336
563
927
124
584
568
95
113
94
950
904
910
942
350
700
142
265
681
874
228
378
425
133
634
799
548
307
345
600
806
882
254
947
580
53
364
598
225
843
355
244
565
336
620
179
331
452
674
91
953
435
828
814
551
564
973
472
885
103
54
670
493
517
686
348
832
401
92
428
477
374
926
435
464
968
116
744
83
396
802
333
813
873
666
703
91
627
689
456
163
284
937
63
458
551
567
256
76
824
988
404
761
69
86
907
723
780
156
864
367
63
40
890
565
414
668
447
170
941
336
712
214
845
279
625
624
212
411
843
64
706
705
886
405
235
614
400
863
742
120
749
437
403
105
175
677
221
151
697
641
295
846
766
398
787
64
917
238
866
942
758
221
383
649
198
518
56
218
326
579
654
767
660
310
530
779
224
335
358
784
670
918
63
345
487
544
459
573
272
746
886
312
280
641
448
355
975
83
178
58
522
691
758
707
266
577
118
679
75
634
827
959
548
678
780
913
854
295
588
739
399
621
395
866
109
507
714
857
762
191
746
765
261
587
130
684
751
279
373
533
128
79
997
426
258
896
931
908
874
137
595
429
675
446
238
746
481
67
505
437
310
461
322
438
888
831
863
303
264
507
575
846
687
659
321
53
342
347
47
338
243
767
840
677
607
156
562
920
187
657
194
903
273
875
265
68
336
330
167
459
529
427
929
227
842
520
876
591
333
534
198
575
863
188
72
806
141
84
490
195
443
140
535
672
998
948
264
861
583
480
283
961
117
45
115
310
731
694
405
237
731
269
402
78
689
783
985
489
960
328
113
540
286
889
786
936
701
843
399
549
665
104
143
307
232
833
630
410
457
790
579
518
551
361
278
700
950
463
857
366
441
134
924
144
328
525
200
751
337
768
468
131
754
87
772
73
993
763
534
425
960
148
816
854
384
586
590
230
388
523
713
386
74
129
614
434
155
528
165
92
567
762
814
140
342
452
411
678
607
602
324
42
527
735
129
252
781
884
658
891
802
103
212
791
654
219
454
760
344
952
133
381
948
918
178
852
43
537
551
517
700
250
470
568
276
758
230
483
62
267
154
366
201
601
464
352
564
86
611
389
652
998
759
917
802
883
290
569
789
321
94
899
162
571
852
249
588
798
742
314
925
943
541
556
666
201
522
826
777
305
919
469
594
79
711
41
542
665
260
774
897
41
340
746
660
371
937
496
804
195
399
309
632
366
348
442
397
687
728
987
338
670
147
697
381
577
387
656
522
854
746
74
270
292
490
459
780
961
751
405
157
163
779
940
184
220
507
107
538
415
702
710
437
552
76
990
832
759
806
240
638
134
804
263
468
974
839
531
239
490
585
775
411
700
725
612
98
885
579
295
577
403
317
893
394
727
398
803
156
204
719
930
997
795
557
149
930
954
964
898
409
331
569
243
293
784
315
183
94
380
971
372
389
824
202
575
178
343
49
132
411
94
234
299
542
781
497
749
572
551
121
377
62
109
841
928
633
965
259
546
242
955
306
422
967
808
135
371
63
885
197
902
570
323
823
523
197
940
459
496
792
250
479
784
214
879
625
446
365
53
496
877
876
981
684
935
878
51
527
92
97
392
827
911
129
776
794
243
843
854
663
203
989
70
774
645
607
987
605
699
613
885
758
128
830
579
458
48
975
750
833
120
173
907
727
740
554
167
282
937
297
414
845
481
187
142
303
98
684
202
349
792
560
561
733
995
716
365
980
611
126
604
590
664
445
815
100
762
255
995
337
976
476
712
190
260
698
290
811
698
60
781
764
691
720
504
292
364
729
856
235
853
774
319
398
186
970
753
828
963
412
942
822
595
834
64
713
723
831
204
844
660
406
444
294
908
802
74
69
394
213
789
937
728
967
241
297
818
659
658
638
98
934
729
924
169
822
925
773
841
615
332
231
651
451
315
101
701
891
257
144
430
926
742
429
383
134
511
621
689
479
283
619
447
917
314
686
409
562
597
697
741
929
519
216
133
442
980
445
547
688
690
277
50
774
910
796
751
955
593
923
837
612
571
488
772
957
501
795
398
312
128
485
882
613
441
573
430
760
299
602
320
707
644
410
906
426
856
948
923
428
47
104
713
409
925
408
494
148
499
202
206
405
846
688
913
452
319
535
488
237
315
480
407
642
107
435
595
540
146
654
302
154
999
989
366
273
605
923
687
351
296
320
924
983
550
449
379
307
520
516
139
505
998
867
752
340
208
518
460
442
72
922
324
179
853
40
971
102
262
741
945
168
258
179
576
344
933
688
104
728
781
221
750
578
344
378
830
538
187
956
612
717
782
384
158
404
385
696
765
71
692
902
346
508
184
310
458
996
568
468
389
881
557
133
381
911
351
256
436
491
379
918
307
333
807
319
109
67
93
707
256
704
112
129
695
567
679
239
416
910
338
872
990
635
314
598
727
533
284
212
76
159
616
240
219
867
730
872
874
424
815
725
108
242
765
186
525
536
846
733
603
715
903
832
582
547
927
380
620
636
899
707
595
874
411
575
742
365
166
289
506
922
837
705
743
494
548
632
400
724
81
262
950
292
672
401
741
89
90
239
355
451
410
852
292
812
817
833
537
345
858
291
316
745
152
932
382
951
80
656
549
140
243
840
465
795
737
246
369
822
940
830
850
300
174
445
630
595
403
796
531
88
737
156
281
894
511
659
938
820
219
890
587
60
553
183
611
324
228
924
872
656
639
406
174
236
273
895
709
591
892
488
878
129
47
613
919
618
580
108
195
698
960
174
842
536
355
900
126
531
43
883
706
70
322
572
59
463
265
440
123
834
67
959
228
915
497
68
75
718
560
905
113
448
40
108
154
233
891
905
294
658
520
446
369
635
718
435
122
998
178
228
658
674
406
820
663
433
948
934
257
50
784
499
484
320
201
769
270
632
850
730
544
454
215
431
50
62
742
96
759
857
188
625
284
946
379
294
995
400
980
295
390
163
400
781
523
281
833
650
782
227
613
664
105
861
198
552
806
65
453
68
111
685
42
630
312
62
100
791
490
871
744
499
817
597
809
836
479
713
417
135
668
572
541
554
949
863
644
285
995
86
863
524
950
579
116
813
730
824
327
855
129
237
735
370
722
810
537
345
490
128
698
560
976
954
401
473
354
297
985
801
871
187
856
902
891
241
966
555
424
967
869
882
377
392
141
79
497
936
783
326
831
790
645
736
898
172
200
351
125
209
184
73
361
920
711
195
506
547
421
948
555
573
862
748
963
744
129
941
258
105
341
543
622
642
649
270
784
111
180
82
660
429
548
994
275
676
584
237
942
653
696
631
622
601
148
698
274
842
376
67
512
385
822
997
734
748
308
570
331
405
634
386
162
796
125
364
521
888
253
704
871
804
954
907
524
199
882
348
387
921
922
157
579
751
731
699
340
487
381
311
246
260
269
816
879
808
669
738
74
108
275
912
139
232
155
444
292
654
901
765
484
89
191
542
223
371
891
531
648
456
211
962
250
963
58
724
209
519
444
601
151
314
105
520
964
599
178
809
581
988
845
274
223
367
549
427
184
856
564
682
292
510
840
560
955
110
614
294
72
150
392
519
258
856
168
446
652
297
72
766
294
649
101
570
132
894
402
784
860
421
92
332
321
177
439
136
579
726
682
748
305
351
465
710
907
656
946
199
178
807
172
78
795
626
918
542
92
652
266
678
921
864
647
427
579
948
708
687
331
878
491
552
980
888
436
937
627
801
524
64
711
981
675
421
211
942
623
510
757
421
615
53
447
609
759
347
639
937
55
818
745
877
545
552
857
426
849
149
627
62
125
170
808
945
739
588
575
792
71
355
947
307
926
673
446
399
430
967
992
73
542
357
184
465
763
810
731
856
178
260
916
139
222
962
560
997
510
300
192
407
941
555
270
703
474
664
129
320
693
848
174
684
847
739
773
231
267
231
505
288
133
960
300
520
394
76
858
319
675
580
761
571
89
387
871
178
836
427
404
158
66
612
741
215
94
268
652
326
329
893
564
470
132
139
174
320
671
671
159
285
619
568
362
240
351
65
710
158
451
232
231
721
628
353
475
601
301
200
820
776
164
166
597
506
527
151
885
853
349
968
660
537
320
226
332
991
542
799
70
75
916
635
351
610
900
604
647
466
363
206
574
67
605
334
493
305
918
354
289
676
468
393
755
74
283
984
442
107
728
341
531
842
479
562
895
509
390
666
140
917
207
865
576
55
666
823
274
792
366
342
558
650
787
660
941
461
253
209
59
209
441
987
307
978
422
421
627
611
569
219
381
640
312
321
427
802
272
376
65
921
645
135
939
315
627
451
266
493
526
654
837
508
539
468
94
553
472
212
741
782
273
161
550
842
350
379
699
329
822
675
264
414
894
526
648
729
395
267
861
559
794
901
789
133
669
561
825
773
138
134
650
643
406
453
827
394
299
61
367
91
942
207
593
863
613
986
138
274
788
323
709
679
668
469
407
62
100
628
316
642
535
548
970
175
281
556
471
175
191
512
393
611
368
549
640
756
490
363
42
587
976
978
102
806
162
699
851
720
245
976
844
472
445
177
996
465
896
441
278
606
331
641
487
892
998
829
814
454
797
318
533
688
820
565
756
133
52
883
716
155
351
254
567
58
235
489
681
132
493
326
716
580
535
468
293
672
58
565
439
94
327
820
476
111
723
878
590
615
239
996
66
827
428
130
730
452
552
55
970
997
662
755
539
410
455
228
314
592
825
266
675
231
337
831
710
817
218
798
380
769
637
869
573
883
615
207
647
621
920
392
225
706
370
730
214
425
83
892
384
742
159
747
468
625
601
534
713
514
470
714
961
475
889
885
81
404
397
160
914
66
367
199
817
89
277
996
616
94
266
662
946
184
877
777
585
140
638
828
345
801
845
392
188
737
954
785
658
623
473
363
704
102
674
117
944
458
414
535
614
756
56
825
613
611
382
266
94
723
102
569
154
273
731
766
479
947
95
500
397
261
148
827
226
714
963
534
544
271
978
407
334
504
824
228
108
466
249
521
939
67
208
930
459
322
834
718
946
49
997
177
792
900
463
437
851
176
541
433
913
940
719
786
672
819
432
215
637
782
992
912
732
871
762
625
193
658
636
120
714
370
982
538
293
240
115
712
213
411
441
671
641
658
732
673
436
841
323
882
931
523
101
964
339
705
202
625
229
827
884
806
302
770
802
759
815
863
899
488
320
210
600
908
45
692
988
524
666
909
288
971
515
99
369
945
515
725
685
410
228
343
83
712
751
463
661
888
204
937
468
231
946
67
414
471
354
328
901
301
394
562
196
369
704
637
394
47
109
219
363
938
887
50
401
67
709
439
77
140
953
265
677
217
183
348
798
278
122
627
506
542
422
738
222
560
858
861
563
770
896
778
62
536
815
879
895
700
76
639
578
371
428
773
562
411
786
280
96
121
600
624
283
845
869
119
419
619
551
943
174
925
695
243
738
833
443
504
640
384
424
420
994
413
106
943
357
215
283
929
580
629
206
633
743
976
976
777
261
815
994
754
645
322
993
827
299
635
654
732
844
184
48
755
212
129
967
401
323
468
427
345
371
112
985
723
828
561
278
978
494
367
331
316
664
363
876
632
450
888
643
400
513
970
57
153
167
878
230
412
928
404
609
762
696
498
607
508
632
880
568
403
575
103
209
876
656
725
514
557
449
269
122
680
54
133
288
829
588
164
297
871
552
965
655
639
965
405
396
319
309
259
989
712
722
378
947
916
423
561
568
698
300
948
810
231
967
459
605
83
495
937
946
883
573
491
178
108
872
549
913
451
507
898
834
861
753
781
136
41
462
232
450
465
104
827
70
573
699
460
256
978
242
939
87
951
365
168
724
204
580
656
865
417
744
269
897
818
849
141
54
720
130
330
118
937
593
279
42
394
108
866
310
338
992
84
866
522
208
529
490
828
260
65
146
356
769
113
905
583
549
263
886
538
68
714
493
115
640
688
339
213
420
452
919
567
942
980
218
948
687
891
651
603
789
380
314
728
950
686
718
763
956
434
516
370
577
668
358
270
841
425
792
296
576
955
81
419
581
187
334
638
466
754
312
996
653
121
56
230
100
978
161
896
773
886
141
44
530
76
989
522
443
192
96
161
82
135
88
63
482
821
337
739
776
258
397
325
658
267
693
214
460
708
706
70
464
56
310
861
339
895
190
824
907
313
720
715
44
497
669
703
563
708
73
490
180
429
893
542
869
646
611
309
829
502
413
654
663
581
810
290
532
430
196
260
49
486
523
298
529
898
433
880
79
241
796
945
500
977
993
309
315
420
169
367
949
780
145
545
243
99
222
172
304
434
88
767
937
298
108
217
728
888
593
379
627
852
481
703
984
141
562
255
545
738
279
125
388
801
992
135
971
85
941
843
505
292
442
471
704
997
170
611
712
731
422
333
164
846
987
706
692
200
142
77
429
621
625
846
339
728
198
795
725
233
65
330
332
121
278
276
770
546
362
668
407
67
266
660
987
126
549
115
853
127
892
682
907
518
667
149
422
490
660
535
157
594
872
396
994
719
75
154
85
207
470
950
480
554
180
379
399
655
627
482
345
682
787
518
128
416
401
379
654
643
62
537
612
428
526
396
153
51
811
885
292
456
537
604
782
483
852
278
544
651
436
623
634
371
511
320
100
278
84
894
457
384
207
693
839
100
983
769
93
460
308
68
177
936
900
215
84
671
834
971
834
142
324
340
254
176
510
345
693
391
638
101
916
943
716
873
699
146
774
467
925
717
736
701
378
910
606
237
964
180
343
581
155
802
591
453
963
972
945
670
380
891
880
479
450
931
308
925
798
689
708
510
165
386
898
745
175
332
848
579
914
534
789
895
109
299
289
543
539
991
865
475
476
704
197
524
461
743
419
298
569
552
158
525
122
605
630
125
686
927
619
772
314
47
527
101
227
713
277
233
588
581
918
268
874
68
151
407
745
493
749
442
250
976
441
148
266
145
940
619
98
159
638
343
98
624
225
578
653
199
175
883
473
281
449
225
337
200
383
477
917
98
615
53
491
369
915
917
239
651
594
731
278
363
537
701
174
660
73
43
474
810
640
643
480
340
134
484
570
453
52
366
965
588
116
944
993
672
204
481
728
252
942
927
791
487
472
130
529
552
305
550
132
813
857
383
401
530
693
573
634
207
140
399
176
50
503
284
582
425
943
857
456
68
560
340
477
42
845
231
560
285
653
978
690
784
381
326
780
991
405
910
157
397
144
786
920
685
196
441
723
598
530
422
440
611
652
150
161
669
123
320
585
544
360
773
56
522
502
719
642
489
712
937
603
136
319
479
334
359
516
849
646
432
480
642
696
388
200
825
165
866
698
797
653
199
838
150
974
485
595
738
263
889
535
243
920
319
469
233
481
527
866
899
637
903
536
136
757
647
503
197
128
697
754
798
745
800
284
711
729
974
659
964
230
434
641
674
847
390
869
736
424
887
665
834
118
50
877
176
77
635
199
312
527
872
45
109
743
54
612
381
374
138
579
907
109
360
330
53
634
712
687
98
593
245
675
195
889
446
763
851
790
163
481
227
864
972
819
664
404
362
678
333
287
100
712
349
492
126
445
306
874
423
481
94
177
127
331
246
53
755
94
300
977
305
875
44
517
342
371
444
478
539
825
434
254
100
270
582
398
673
76
387
913
197
192
645
446
162
629
481
364
901
988
339
537
281
91
249
595
974
873
874
544
101
893
317
973
682
493
976
68
500
240
940
356
298
732
999
293
584
798
418
330
949
610
829
274
617
894
403
589
959
115
625
592
644
456
235
438
195
958
685
370
897
227
767
68
784
506
98
262
179
378
139
168
212
143
90
746
887
448
110
630
81
458
838
382
437
410
835
338
466
275
417
225
54
44
248
474
391
810
916
768
363
665
297
111
215
545
675
587
289
776
117
579
333
306
613
199
476
676
556
608
534
447
318
566
982
848
602
498
128
806
475
83
539
445
215
310
171
549
450
338
450
647
357
875
798
99
357
442
562
466
892
483
249
79
873
713
490
974
581
646
679
607
784
125
739
302
461
940
104
182
686
182
165
559
362
645
411
475
100
690
247
379
441
944
156
710
753
745
534
981
726
187
853
269
253
252
189
585
572
356
893
151
958
542
547
384
525
277
780
119
105
812
152
467
411
478
986
289
40
833
733
621
995
184
691
675
545
46
430
942
619
232
346
607
566
106
382
121
577
347
149
795
65
843
369
224
720
293
203
393
55
285
431
167
69
294
485
455
645
240
810
281
757
343
68
995
925
897
293
817
310
950
91
630
963
94
547
131
249
859
951
762
913
919
126
181
138
318
684
906
546
691
830
123
924
716
484
332
857
602
358
345
828
544
760
490
835
724
575
119
193
184
492
723
711
993
95
891
947
728
59
152
822
51
931
899
508
146
403
630
528
104
160
237
129
919
316
746
856
632
394
420
901
311
122
407
219
857
354
790
462
531
322
124
926
172
689
905
53
408
290
797
190
451
354
876
236
715
648
370
45
101
894
439
145
166
118
267
994
402
101
273
374
837
361
466
967
554
927
260
233
228
727
49
267
92
801
685
165
650
943
123
699
599
458
790
211
52
331
220
516
590
601
501
852
368
205
610
653
789
295
768
191
267
499
95
328
505
200
85
978
198
250
312
567
731
952
700
629
608
738
660
497
744
179
408
462
311
490
863
631
351
641
288
64
730
418
390
482
685
701
895
570
504
299
817
892
824
87
748
463
342
372
96
99
67
653
665
923
709
888
658
303
787
503
356
277
704
387
429
594
455
305
57
362
934
327
939
796
154
546
454
573
366
411
491
159
886
151
309
94
343
759
305
803
583
80
470
809
890
936
973
551
141
336
720
803
321
634
207
167
383
414
792
962
188
428
980
856
151
622
868
652
149
714
772
281
668
901
117
952
823
391
237
866
342
488
402
478
790
617
731
631
901
620
587
580
564
610
625
102
724
336
943
902
200
875
332
915
981
746
166
845
585
933
236
958
831
395
89
361
49
90
420
269
331
150
51
488
632
835
601
214
176
509
697
624
123
50
68
85
811
250
489
772
845
877
986
405
589
364
128
846
516
727
279
646
910
389
544
995
836
639
400
165
622
377
232
52
367
527
621
712
953
344
374
60
881
243
115
593
314
598
447
836
52
219
865
888
738
196
798
545
483
717
267
439
727
448
293
111
584
815
46
925
478
958
852
235
457
242
132
654
853
255
529
379
753
887
146
925
372
904
889
299
613
951
859
976
326
464
278
872
431
207
953
156
442
270
899
766
457
459
515
219
473
164
982
488
427
619
932
118
77
545
126
238
945
831
104
428
922
584
171
71
170
328
891
377
444
959
771
106
148
411
248
698
749
106
915
975
846
419
53
413
379
500
760
322
289
296
667
961
50
293
983
837
359
484
49
703
344
433
824
411
951
503
599
678
761
323
980
257
485
482
492
247
321
633
564
448
800
735
67
397
388
702
620
746
402
142
269
91
836
199
877
441
320
601
891
833
519
226
938
509
219
185
754
818
173
630
226
939
73
877
732
78
562
231
133
206
350
158
684
904
244
947
735
157
365
577
101
606
62
972
160
115
244
511
449
398
852
620
433
594
138
806
595
461
553
924
164
899
156
362
335
121
527
311
983
383
189
297
634
257
181
740
787
199
146
547
357
851
732
983
438
609
462
533
127
624
894
103
450
257
247
457
286
649
55
921
589
240
561
784
441
900
318
342
651
371
368
889
321
204
946
916
775
781
252
763
527
976
691
695
112
253
822
653
419
732
123
985
437
314
520
293
598
332
573
546
138
788
723
236
605
356
789
244
273
195
845
384
678
936
759
943
92
48
241
319
763
288
779
307
177
416
897
766
256
615
567
736
405
345
317
939
945
918
182
842
258
228
760
728
591
368
205
761
946
297
663
364
256
836
881
885
815
371
947
136
104
321
723
536
133
558
917
897
889
334
989
454
175
423
706
695
226
892
56
523
265
875
752
658
932
240
562
129
445
866
161
981
336
662
402
871
211
781
766
964
519
151
342
813
312
978
259
824
435
862
289
237
764
90
876
64
134
543
324
243
808
650
419
620
102
278
472
948
725
936
551
202
548
563
289
562
970
138
319
467
419
661
253
965
665
787
82
988
562
162
68
704
714
974
677
861
225
406
696
781
865
260
526
489
452
760
833
742
147
80
792
681
905
759
115
636
70
275
246
223
270
684
312
172
806
96
104
992
683
672
89
465
430
844
348
504
933
919
605
951
999
131
881
864
604
979
443
282
716
431
433
320
902
841
811
272
477
239
945
688
854
983
143
495
827
688
316
161
899
620
320
406
943
840
399
897
138
871
557
214
314
807
889
833
589
383
397
710
913
469
443
205
374
500
812
765
459
813
314
500
971
106
275
382
668
351
567
335
947
50
625
840
766
835
170
217
263
172
922
875
306
943
994
114
395
947
235
881
553
204
451
455
471
235
752
111
873
86
858
717
441
522
250
164
120
642
421
275
664
234
407
384
593
861
974
871
140
858
342
535
280
193
827
209
716
723
401
193
863
178
917
642
71
199
550
252
228
152
246
662
477
650
653
452
935
854
584
180
562
507
70
503
597
952
730
243
107
686
162
265
607
439
367
154
977
240
108
492
64
174
747
311
95
806
600
279
645
159
106
601
889
627
718
670
200
717
309
343
329
398
56
850
885
349
540
767
364
681
68
115
175
457
350
430
590
920
539
303
763
73
665
66
385
172
299
336
247
639
891
745
647
84
437
898
242
755
701
629
651
285
828
948
159
458
811
541
865
631
413
801
914
262
179
843
364
608
666
339
915
482
311
68
650
420
595
223
450
280
742
607
546
442
526
748
829
52
370
258
322
359
440
77
835
893
897
138
599
388
135
573
506
195
730
968
167
229
203
565
232
245
893
330
488
374
414
544
709
318
938
454
577
67
364
202
563
514
373
451
814
107
96
908
296
260
843
638
591
661
796
248
153
915
255
374
976
549
819
839
711
342
812
93
696
69
503
846
201
796
643
723
739
956
72
568
104
876
746
622
268
454
597
321
356
860
88
879
597
542
937
521
575
182
678
678
899
518
171
389
540
722
132
406
356
471
93
784
217
840
721
411
126
870
457
998
153
91
508
747
56
191
597
121
276
909
454
231
855
228
984
311
766
645
711
123
481
285
461
462
345
614
435
334
886
717
288
690
835
397
117
535
71
602
646
662
843
263
719
268
216
83
818
277
588
751
223
692
709
546
794
100
333
211
644
213
918
155
554
101
44
191
155
662
439
509
802
871
961
343
544
300
824
316
245
108
545
420
964
420
605
657
393
356
626
732
511
463
224
348
843
810
866
107
470
196
236
229
476
723
884
424
433
923
204
460
140
828
544
864
877
506
73
899
523
834
477
951
520
158
268
852
338
584
828
753
584
756
936
378
892
237
355
310
430
195
487
108
351
671
242
92
480
995
260
155
994
896
925
599
294
102
583
148
419
790
61
254
404
531
210
129
826
761
686
732
747
988
532
596
294
416
102
909
413
593
237
618
425
547
912
54
233
935
604
719
991
73
59
304
464
267
720
974
460
593
435
640
338
342
937
747
298
679
341
349
556
255
404
986
414
867
367
372
976
653
553
576
790
444
855
471
976
805
349
102
719
489
510
720
861
902
573
513
637
286
583
81
393
76
615
922
325
825
328
542
968
78
716
579
427
261
215
418
536
424
240
296
788
200
299
647
317
597
46
425
492
861
728
124
526
785
873
605
133
497
828
774
685
772
181
107
713
883
450
913
840
320
196
995
118
893
763
787
537
138
309
470
616
62
413
890
91
876
184
76
639
558
683
883
738
897
647
670
494
698
881
988
324
762
900
682
925
827
731
577
802
927
208
343
895
805
528
145
122
260
294
843
165
263
446
849
571
147
535
999
800
902
944
688
923
725
293
727
68
691
317
573
867
379
568
440
306
900
49
743
396
582
52
926
258
489
614
464
179
561
549
58
779
191
585
862
817
477
349
452
207
295
621
691
919
754
96
450
500
48
241
554
967
467
863
897
464
900
356
626
912
677
493
415
787
679
465
955
766
305
989
660
820
105
361
736
356
340
376
63
769
886
578
348
406
124
106
915
208
429
299
715
663
512
205
176
576
521
993
723
434
738
433
221
892
807
508
270
670
143
654
913
754
993
516
771
84
996
333
964
415
195
588
961
900
712
895
47
358
925
561
997
499
782
76
663
193
345
124
652
742
112
516
956
489
607
819
732
224
756
240
808
872
182
193
501
154
818
575
598
111
159
124
767
703
256
789
192
831
606
186
287
796
322
111
394
730
66
394
730
265
846
771
481
294
225
737
76
200
670
874
851
546
615
643
591
360
153
462
552
123
94
486
83
345
939
89
637
804
356
915
453
854
852
867
897
954
946
888
114
858
76
245
686
100
640
604
99
342
566
565
851
487
405
190
349
459
787
520
505
995
179
854
769
160
712
84
850
884
764
441
633
350
510
96
545
798
412
578
654
127
293
78
658
79
906
501
947
742
773
939
491
479
83
728
125
183
608
804
944
114
708
69
607
520
478
291
216
592
696
632
944
498
590
163
385
670
608
471
241
656
582
636
203
43
929
997
104
409
84
689
309
168
722
527
886
232
517
318
410
877
796
454
498
977
666
788
764
121
992
394
59
661
305
173
405
226
919
897
891
789
399
60
574
174
116
359
636
681
210
827
946
326
273
79
827
254
849
222
902
153
656
369
352
300
70
746
303
993
603
744
576
143
944
521
332
242
896
240
437
552
796
762
919
409
406
278
272
793
504
265
505
249
867
616
865
148
764
405
732
768
970
585
223
664
682
916
613
775
733
828
81
99
561
613
560
119
193
266
401
431
951
741
368
75
952
83
336
318
989
366
715
404
482
928
868
839
783
677
749
845
816
316
680
109
297
280
76
962
848
581
160
523
378
452
718
344
436
618
363
778
454
428
363
200
205
437
866
248
157
505
150
122
910
443
127
347
285
657
536
65
157
70
769
727
77
768
519
303
745
547
561
246
505
895
487
779
273
422
930
65
178
436
454
222
112
570
215
525
470
734
448
534
619
324
594
765
117
328
435
601
617
589
931
547
620
525
402
48
489
157
449
999
860
68
377
206
391
579
541
945
293
177
711
343
375
153
770
514
178
304
538
144
570
164
50
928
498
517
622
604
936
718
741
812
294
674
627
803
866
164
360
305
955
510
513
828
108
115
924
544
656
168
881
915
927
866
879
526
969
866
403
430
840
256
868
81
933
448
562
754
373
365
711
954
956
638
459
56
223
119
182
529
322
858
83
711
616
888
859
359
285
408
698
679
409
976
788
994
382
317
490
795
505
121
44
914
183
261
620
589
207
553
425
647
204
915
269
530
400
787
551
697
770
616
162
253
58
668
554
708
464
355
925
695
673
621
284
949
148
999
65
473
528
402
797
475
176
636
678
615
974
573
756
298
244
990
486
864
772
93
663
46
156
231
158
236
414
605
238
639
790
315
314
966
504
351
490
810
113
611
904
402
599
365
473
417
216
665
623
361
890
945
406
163
657
345
312
44
255
157
575
489
200
371
207
584
498
889
949
51
371
513
721
792
530
79
751
381
307
671
221
233
233
751
778
602
531
414
678
696
114
877
580
733
901
451
278
326
711
792
307
465
175
406
304
938
980
560
298
981
799
941
716
784
551
391
105
309
791
349
539
233
726
377
775
638
296
232
97
379
626
731
133
524
75
579
206
749
600
377
840
878
269
625
214
333
441
578
47
915
83
484
732
427
737
945
583
283
941
487
606
894
152
780
650
624
664
873
753
862
401
339
359
120
459
236
772
271
908
776
52
133
611
830
202
421
962
851
840
390
504
537
657
985
679
49
434
119
687
201
757
865
525
374
111
694
875
485
447
338
759
395
293
555
51
728
742
293
797
762
455
461
271
351
548
84
910
985
148
891
71
509
220
962
194
924
791
739
77
719
490
699
593
381
839
786
449
838
445
695
117
303
497
653
341
468
54
448
757
844
437
484
535
312
66
42
586
346
295
93
875
542
981
708
352
987
168
677
699
358
162
494
289
64
230
350
950
707
451
777
961
360
256
664
487
859
593
792
547
383
467
902
435
845
136
949
464
214
571
553
872
982
650
828
722
769
236
859
633
260
424
365
301
350
268
924
308
922
178
216
293
364
148
112
585
546
954
388
112
728
762
642
739
785
677
297
99
833
391
823
908
978
606
471
821
585
85
783
375
571
147
917
40
704
904
977
232
701
697
377
185
397
616
805
729
50
265
770
809
232
603
204
769
838
601
942
904
409
710
966
446
630
206
100
223
908
480
950
540
113
147
612
985
162
633
816
167
247
544
119
134
138
687
566
472
179
244
322
608
383
383
714
183
131
955
898
802
101
154
176
206
553
91
363
756
73
660
615
947
557
861
456
317
818
519
915
258
615
62
528
481
999
428
145
697
645
315
979
798
843
418
879
812
820
181
641
656
762
487
770
611
224
528
699
691
53
604
90
996
40
267
367
646
376
952
214
919
577
106
261
239
693
321
753
93
797
878
658
137
186
856
339
359
461
946
742
972
931
167
532
843
320
135
882
365
526
535
700
648
322
336
984
315
191
748
858
883
753
374
692
760
790
713
676
912
118
513
861
104
849
353
780
644
247
169
521
180
767
57
964
425
643
982
362
167
633
293
189
992
256
229
53
292
413
868
144
467
176
952
365
83
669
326
272
469
654
535
240
536
778
583
50
425
640
488
450
628
574
258
65
377
918
404
572
665
989
652
435
252
267
811
319
428
91
101
432
934
355
337
764
98
798
426
657
953
166
63
917
634
766
212
177
502
849
313
502
531
50
294
456
770
255
285
391
912
508
433
837
739
836
776
383
640
585
112
672
216
734
724
649
486
850
874
910
203
60
309
183
410
966
844
899
602
242
328
779
688
567
254
508
485
533
696
665
435
560
700
753
519
322
623
72
119
784
517
251
258
421
614
636
320
907
658
665
930
600
53
951
320
545
605
753
841
517
500
468
128
994
698
607
481
696
748
778
281
40
132
444
964
58
735
374
667
157
281
559
68
483
67
696
716
201
998
857
860
466
667
477
591
890
587
450
566
830
330
532
573
794
240
625
467
561
861
490
882
947
123
460
990
357
921
352
290
123
98
90
274
640
784
585
990
270
575
721
672
803
181
958
715
58
649
809
50
119
424
852
764
657
116
365
704
910
395
887
900
675
526
913
339
354
564
638
831
469
374
97
985
918
74
775
850
969
178
281
484
647
62
846
839
337
159
369
66
169
365
518
903
177
356
386
167
423
541
723
936
947
493
926
979
860
42
540
107
319
623
447
217
161
618
927
549
374
551
697
274
425
104
48
380
789
510
975
790
603
365
156
116
723
884
500
493
423
460
908
602
956
933
747
388
49
985
581
592
856
698
110
954
961
791
104
842
135
355
550
676
148
944
441
486
293
382
484
547
543
328
377
897
386
512
889
109
525
138
646
448
858
53
146
171
872
602
872
202
66
430
553
379
651
898
543
477
826
594
90
786
631
346
789
498
166
433
856
621
401
446
229
165
629
454
495
490
109
312
434
228
603
236
431
161
163
380
655
826
69
265
425
440
522
783
548
73
56
199
302
114
616
846
282
237
592
409
338
949
688
571
149
546
65
814
283
299
784
784
920
293
406
472
395
413
571
620
40
359
533
791
577
886
756
79
846
127
660
543
464
785
942
978
684
97
376
687
758
172
551
842
794
900
508
818
679
432
657
225
221
792
63
841
567
674
117
899
648
581
441
353
656
428
166
373
883
454
115
235
792
274
898
115
462
187
784
437
915
564
446
93
173
983
61
166
932
524
646
773
936
443
581
131
166
180
890
700
468
212
211
849
813
289
605
680
264
329
422
255
405
284
517
861
212
261
306
85
589
467
486
614
112
470
82
409
739
863
655
670
695
594
129
607
291
250
320
253
566
150
467
655
198
728
573
685
620
798
150
856
611
687
656
958
114
696
720
251
115
881
714
897
545
480
268
234
953
486
711
705
823
93
203
488
451
915
316
90
428
298
696
84
850
86
54
758
902
894
519
781
650
255
298
919
296
559
662
299
867
871
373
259
185
349
687
128
579
894
621
588
510
50
217
945
138
252
931
283
578
686
539
587
654
550
507
545
466
599
778
920
845
138
150
328
910
92
364
772
941
229
544
543
147
784
736
780
738
915
545
795
718
694
852
686
576
163
242
700
664
778
208
284
785
383
73
196
625
118
833
701
606
470
588
975
884
951
63
461
726
648
939
610
897
455
775
133
63
843
285
758
441
145
62
220
564
999
874
710
517
519
907
243
265
712
663
731
761
944
378
849
449
810
188
899
739
496
113
782
998
848
341
680
56
85
86
766
507
412
680
337
331
68
941
134
178
841
384
558
568
505
559
345
880
979
792
419
188
195
217
804
144
216
951
396
521
240
356
87
717
437
226
712
869
163
266
421
424
621
167
217
371
479
669
960
492
891
254
559
434
287
897
598
485
152
456
232
468
73
417
114
169
224
728
107
422
190
767
185
150
162
737
380
150
732
617
312
387
281
217
117
420
575
293
951
284
722
935
530
233
170
604
644
731
428
256
797
554
453
758
594
944
690
455
86
562
963
830
828
843
353
886
891
884
140
459
759
249
691
41
183
735
80
993
771
172
942
940
835
997
826
713
773
906
191
716
437
380
263
915
851
893
486
945
51
682
982
607
926
330
658
945
817
430
752
505
658
333
213
936
148
636
151
911
799
238
305
926
696
584
851
611
783
103
330
881
265
220
652
825
600
80
220
588
470
509
970
43
454
832
455
231
42
711
813
50
156
485
244
764
488
397
532
757
210
887
156
914
865
241
649
763
677
96
855
289
492
861
774
567
596
763
55
655
47
789
714
685
676
108
375
682
482
880
814
809
446
251
181
68
539
678
188
800
553
326
153
112
837
961
66
330
878
222
272
820
156
169
985
187
918
822
249
169
256
78
371
431
830
50
803
196
479
988
316
549
568
938
360
355
77
473
132
259
742
881
699
188
50
721
396
698
207
257
514
975
970
792
107
542
278
617
209
122
636
329
932
234
929
117
308
741
966
207
183
709
690
621
343
739
929
50
253
955
862
163
184
709
926
594
578
342
823
981
922
843
466
165
462
178
853
50
509
311
568
371
775
48
775
82
43
327
331
577
308
298
591
131
410
850
977
514
355
764
353
687
984
180
865
830
243
65
341
403
155
805
266
198
924
92
332
991
669
960
74
189
227
603
861
138
800
345
558
528
552
269
127
903
755
150
216
695
898
365
285
750
810
681
153
838
538
763
444
918
204
574
527
793
646
926
153
565
609
750
574
570
382
856
964
267
993
936
747
404
677
357
112
914
833
213
219
679
587
616
270
76
397
666
697
534
812
905
244
102
940
144
326
780
555
795
638
861
872
455
871
290
662
346
121
345
572
616
512
943
499
788
702
445
816
123
637
569
594
486
202
483
174
458
773
692
317
991
571
803
369
142
582
919
67
396
122
830
993
948
218
113
878
269
68
865
531
655
499
883
442
736
529
506
817
517
825
961
756
928
217
729
535
530
255
434
500
670
703
245
179
263
720
461
672
943
927
129
763
298
448
314
115
611
401
259
759
721
241
183
647
708
444
347
992
276
301
237
780
417
122
267
674
369
821
52
715
996
757
715
574
219
899
737
213
965
652
836
386
405
442
59
701
515
426
320
629
411
918
499
306
867
968
892
930
869
801
856
739
906
309
515
600
699
693
986
82
747
510
130
312
670
536
607
803
284
229
750
51
260
99
770
712
156
203
428
701
529
365
957
744
853
632
256
822
78
500
90
980
928
245
481
377
894
117
172
843
597
661
187
529
97
899
220
255
802
426
168
43
891
604
195
386
96
467
360
137
894
568
273
335
741
766
204
738
881
583
156
960
477
148
266
93
202
374
690
610
824
976
929
861
796
251
773
533
940
956
872
170
41
292
423
501
696
806
123
644
241
299
421
634
923
698
476
245
650
702
836
124
251
998
310
186
975
168
706
547
232
439
830
816
850
922
477
984
373
547
96
79
549
726
52
217
704
269
505
202
583
900
621
700
350
112
859
408
447
682
757
55
647
876
862
142
473
531
523
699
970
579
647
990
387
124
269
747
841
426
278
385
985
42
941
261
517
394
712
235
310
702
573
163
100
159
740
693
436
895
336
106
591
619
163
495
136
915
394
830
583
79
775
584
813
143
317
173
549
977
166
634
235
481
843
48
468
679
477
255
330
514
249
553
658
708
656
52
147
535
793
176
59
568
198
265
256
365
466
908
966
709
335
515
279
87
916
772
580
836
53
837
739
658
764
650
196
820
185
631
183
308
736
512
166
959
527
397
63
710
508
588
160
205
318
93
276
892
134
896
722
914
287
596
620
460
506
643
597
680
625
732
681
916
926
80
509
728
355
410
957
938
355
207
954
434
614
342
256
545
690
575
405
588
143
782
487
235
283
897
669
201
576
864
208
473
292
474
716
455
452
208
453
523
671
982
824
95
511
596
594
558
296
758
446
746
514
71
483
556
506
549
306
142
439
236
542
494
734
877
717
401
861
103
665
467
495
867
244
777
331
695
61
901
807
392
720
499
260
513
489
543
515
635
851
609
283
226
943
575
118
385
556
940
192
970
575
472
689
206
194
287
244
289
207
207
816
130
785
562
854
121
213
360
929
966
749
243
374
755
875
498
182
152
597
96
686
480
668
550
184
831
367
705
157
240
351
869
834
501
211
229
421
351
836
802
793
852
109
626
73
958
939
625
394
57
700
372
870
427
684
648
651
521
947
752
166
671
840
780
395
542
301
785
497
648
878
816
357
169
947
207
479
171
262
711
964
137
598
754
91
518
841
788
91
139
182
929
340
341
329
70
228
119
784
801
854
245
789
130
556
509
982
778
502
163
931
883
445
48
734
131
239
446
64
601
41
293
360
183
54
428
410
984
161
329
113
89
260
620
539
721
695
618
370
126
446
857
643
987
693
183
383
199
904
493
386
64
207
394
318
246
236
340
45
384
771
691
40
929
588
444
315
945
389
578
643
81
852
169
661
177
767
281
307
92
591
102
159
640
913
362
557
421
426
925
434
592
593
940
58
708
268
999
777
516
873
956
207
406
812
673
121
280
498
848
159
577
176
63
534
387
639
661
953
324
110
183
381
733
218
441
178
669
160
631
971
160
642
961
153
67
941
821
677
134
342
384
793
659
150
173
575
580
351
442
508
909
448
402
519
531
254
968
463
302
792
738
694
929
128
488
571
836
246
894
224
348
881
376
923
237
859
218
809
748
428
578
461
296
981
545
134
563
238
101
877
411
651
69
647
300
674
610
806
219
507
834
228
209
184
542
112
527
887
797
249
200
178
937
730
239
662
291
289
855
369
679
238
603
254
530
444
543
116
550
297
439
549
501
959
465
854
917
886
439
637
924
210
284
214
614
387
616
957
306
446
661
838
700
669
635
598
341
543
756
791
196
885
299
282
978
346
877
199
240
239
732
593
947
52
360
598
102
417
638
754
336
395
139
273
788
185
306
887
858
206
955
178
301
454
230
824
820
167
385
504
901
994
761
699
212
571
102
951
712
658
166
264
613
273
695
203
688
775
614
850
419
679
899
823
430
412
271
784
151
780
999
875
727
470
259
444
793
454
878
643
807
860
832
532
472
184
519
704
985
892
995
809
88
505
373
500
170
106
311
114
757
263
46
816
223
721
168
572
69
415
280
520
835
80
572
100
774
516
879
812
659
201
287
772
887
130
328
91
94
64
880
195
214
711
882
306
353
390
958
100
237
89
210
191
620
464
175
642
156
99
949
313
144
97
708
687
613
836
69
736
960
484
757
336
366
328
558
454
231
204
452
729
868
665
440
790
661
118
993
376
645
946
346
58
734
180
632
652
784
595
994
433
375
415
101
991
535
891
537
500
197
407
964
338
966
296
834
831
901
151
632
567
973
227
940
266
58
973
625
193
287
114
897
913
522
384
982
310
262
342
825
470
950
216
332
163
175
445
530
665
977
702
94
808
389
433
439
208
998
711
673
391
594
211
86
649
963
607
866
40
531
500
625
683
378
173
451
76
880
551
768
924
927
152
73
320
703
691
136
458
316
420
723
261
475
53
122
711
534
967
814
768
930
870
522
256
577
736
319
420
45
831
105
608
199
734
361
584
447
784
229
186
65
354
520
211
688
521
581
511
48
338
985
319
435
424
953
350
523
863
531
164
471
349
749
92
143
574
43
708
254
558
469
669
555
119
212
61
638
70
68
480
277
442
774
182
472
54
632
724
714
124
433
515
280
642
902
365
958
789
783
779
372
660
910
372
728
624
264
591
793
107
616
896
260
374
662
620
137
236
730
46
567
153
981
145
63
333
342
66
247
780
370
553
746
991
986
767
506
880
884
652
921
955
450
219
708
617
858
801
43
648
134
269
304
217
272
964
969
716
494
678
551
53
494
601
323
997
64
991
256
336
140
854
486
467
738
81
218
296
354
409
122
446
684
754
932
366
342
348
47
168
896
112
597
157
244
280
389
413
374
42
734
127
509
139
811
994
574
539
824
673
557
461
450
223
585
307
268
861
885
139
134
904
121
252
749
629
55
711
130
159
636
502
626
323
700
50
716
874
860
833
574
767
901
387
729
73
805
759
44
787
751
325
999
964
778
945
600
626
216
536
97
809
831
536
882
246
431
904
390
193
704
584
891
436
959
753
475
162
594
791
674
309
367
282
432
629
399
397
484
269
428
766
463
365
793
384
770
840
945
447
450
567
334
59
911
890
213
324
727
673
308
208
920
221
858
247
186
389
138
537
939
988
883
526
796
694
127
736
319
908
229
288
313
139
357
627
940
556
350
429
968
63
723
282
644
749
790
142
185
196
438
423
566
227
267
567
463
188
355
884
584
975
739
312
738
931
481
898
220
187
936
941
624
444
807
472
244
770
506
362
255
793
741
128
985
598
241
135
648
511
526
702
335
879
522
484
907
560
633
82
339
707
40
674
386
425
959
925
341
999
395
323
54
768
532
565
748
73
862
309
330
328
305
236
231
183
174
802
147
979
560
199
690
245
796
966
624
480
635
66
769
797
103
857
908
202
913
794
783
997
562
988
298
306
938
184
384
910
788
698
921
451
704
97
204
930
596
92
821
725
392
299
242
743
510
107
980
148
974
99
128
642
81
781
548
842
713
66
601
185
131
687
40
214
258
462
868
419
468
667
805
414
75
208
379
325
873
91
780
125
903
914
87
962
49
698
59
385
660
228
892
765
437
520
545
630
498
354
871
818
595
973
595
897
96
780
508
184
585
379
723
804
620
75
641
445
250
460
241
435
615
664
722
564
46
538
892
738
93
242
63
588
227
680
747
899
988
875
116
54
651
201
246
268
937
983
224
149
787
977
721
791
656
273
924
769
585
829
545
915
48
804
725
880
419
248
754
916
855
790
280
700
476
591
542
984
259
627
530
911
229
84
610
419
338
101
294
426
636
877
528
267
962
212
490
475
180
132
666
948
916
981
759
878
289
77
965
653
553
104
739
637
225
658
738
239
707
222
139
498
330
280
547
234
799
64
700
271
873
399
811
546
223
888
965
966
414
640
57
930
885
803
143
375
215
342
593
416
726
513
78
72
354
687
435
764
295
185
730
985
414
360
67
972
124
575
105
340
953
875
236
92
695
698
203
193
257
664
923
718
317
436
911
551
494
767
478
588
836
799
896
253
448
768
927
531
244
161
624
297
616
241
698
550
967
530
172
455
874
259
253
719
399
389
626
772
529
923
650
627
752
606
335
562
599
211
920
797
165
170
293
266
711
486
983
648
570
159
151
326
132
943
611
382
344
492
833
603
833
424
498
429
387
159
396
971
768
878
272
188
650
820
638
276
643
188
198
804
147
636
863
928
777
251
261
602
968
710
705
534
76
863
372
77
199
575
113
808
846
612
303
977
797
648
533
284
751
103
860
210
621
942
921
235
612
862
617
515
334
945
680
956
220
903
108
449
594
350
191
655
40
171
173
242
407
567
365
823
355
290
483
106
305
918
934
370
801
293
603
939
85
165
231
83
377
58
510
995
56
881
520
338
317
767
450
112
298
46
566
128
332
350
289
154
676
993
132
111
887
243
412
838
791
46
827
365
824
58
846
648
467
157
906
545
527
747
352
862
62
205
751
586
715
476
990
262
488
448
648
375
958
890
49
608
331
411
781
686
245
326
153
975
102
429
775
466
846
496
75
463
335
565
825
409
668
812
770
126
543
644
447
239
934
410
806
998
919
948
141
623
541
134
315
423
258
543
605
574
991
206
501
808
82
342
674
295
400
591
345
83
272
541
716
270
606
806
137
808
611
879
501
563
857
935
898
207
759
279
353
175
867
139
413
239
689
811
822
267
274
229
51
741
827
946
738
548
218
831
936
99
514
402
208
816
841
201
464
673
957
526
321
210
563
741
872
328
793
100
206
607
975
854
225
705
109
581
292
985
307
310
831
143
183
44
55
56
146
458
439
508
870
226
121
201
265
166
994
74
484
175
952
463
172
279
629
893
140
218
723
544
215
472
308
754
551
327
153
854
283
879
361
140
506
457
61
609
561
465
278
683
145
399
723
800
842
340
384
513
334
996
535
619
559
812
765
571
437
947
693
442
514
366
558
870
609
48
556
259
872
53
814
643
116
769
256
634
58
544
546
421
429
900
416
437
633
598
967
660
922
111
57
782
712
811
785
843
939
359
585
678
371
62
558
184
408
138
264
542
608
980
667
602
409
433
574
735
305
762
340
86
461
172
41
103
120
958
404
981
910
643
579
964
708
436
159
775
481
823
130
746
862
999
870
966
519
602
280
84
386
486
518
70
867
43
761
421
480
395
555
624
599
587
867
675
521
496
580
148
532
448
919
399
824
481
886
318
783
116
315
906
124
566
191
377
776
336
285
581
883
519
247
807
681
969
616
323
736
456
852
309
163
713
423
217
423
213
379
915
622
57
384
80
537
575
147
949
56
867
609
418
330
146
579
65
346
655
792
693
92
144
337
736
880
420
47
113
442
987
669
758
908
215
791
900
435
883
767
250
269
231
318
864
954
82
944
639
407
695
439
908
233
458
882
259
141
710
348
450
152
983
297
248
609
169
738
499
544
137
420
778
258
42
635
921
992
684
613
673
346
249
316
185
52
918
946
293
770
228
973
212
478
709
477
947
60
73
525
135
820
159
652
152
124
844
129
312
975
322
703
521
902
211
285
686
911
398
932
726
530
778
919
190
234
561
406
380
489
238
45
978
353
677
887
209
285
995
434
940
618
331
129
989
144
906
966
439
190
576
297
759
480
488
276
165
347
437
262
215
207
942
825
168
526
975
107
333
108
564
258
314
985
436
493
301
45
505
696
101
775
125
251
952
553
748
909
253
789
398
618
243
220
431
778
921
928
275
141
505
642
843
721
239
421
667
593
278
831
497
466
281
437
971
905
320
864
342
506
254
805
46
762
388
203
274
756
652
570
185
148
289
946
76
384
996
140
832
463
585
323
680
692
108
717
921
667
802
324
560
844
109
206
120
810
622
810
840
322
893
831
866
978
837
846
363
705
283
411
395
325
349
366
549
381
415
140
727
830
248
726
570
997
854
801
861
447
873
476
329
257
51
258
899
422
759
312
80
177
462
149
390
193
457
552
976
543
424
959
879
827
546
905
836
482
647
881
127
165
781
162
446
382
719
760
554
417
661
232
772
865
175
70
770
173
986
288
387
138
820
802
566
401
205
68
753
438
361
50
538
411
435
887
138
992
445
889
240
939
154
572
355
756
966
127
582
665
54
380
405
570
914
448
913
659
902
811
752
547
676
267
164
848
960
44
59
592
500
287
51
417
220
337
627
269
959
198
411
63
212
247
935
530
768
874
993
464
409
987
818
636
839
616
177
226
823
865
233
480
264
659
870
158
827
983
203
130
621
189
733
906
819
876
602
252
268
446
250
953
454
689
387
255
985
292
423
800
417
732
250
600
388
398
778
524
47
672
543
131
593
168
746
994
658
436
535
49
95
324
716
274
848
406
135
812
136
373
480
170
707
601
127
692
45
85
898
604
593
721
793
926
832
218
659
680
816
228
52
613
748
560
917
148
397
771
460
199
818
555
895
458
487
330
835
361
45
793
411
207
992
49
759
94
857
283
141
289
946
470
693
422
610
92
436
333
43
956
118
566
557
411
542
746
562
907
773
702
142
547
74
356
861
717
224
947
273
247
485
178
720
901
430
358
94
333
423
200
755
675
440
388
629
515
185
528
200
577
530
670
242
600
276
237
934
430
63
664
560
235
679
815
795
881
536
720
757
380
476
314
773
211
592
54
984
172
957
630
570
213
410
969
869
380
684
188
889
954
676
881
688
877
608
710
786
675
42
200
249
809
921
79
818
290
997
497
639
538
637
179
84
783
881
993
660
679
899
625
192
505
644
125
854
733
828
519
572
792
307
289
637
596
845
985
129
57
843
881
693
62
979
980
868
311
359
595
494
225
410
384
302
187
769
562
658
74
252
43
625
152
295
561
843
830
413
439
621
899
664
614
471
377
316
914
878
48
218
859
207
40
523
778
508
885
40
224
785
349
106
670
537
959
143
984
608
737
292
379
549
252
147
105
211
430
226
406
732
532
428
473
463
302
229
739
301
329
474
745
518
258
586
991
768
819
302
64
699
416
379
444
484
97
852
947
95
50
640
670
296
428
505
903
259
933
178
137
598
647
608
292
541
500
726
253
148
846
628
98
781
383
536
761
522
440
361
918
553
525
610
111
612
376
287
715
700
191
215
760
907
911
149
335
240
869
408
826
848
237
901
511
924
692
498
333
366
908
257
334
951
721
285
320
253
941
936
60
99
671
97
980
444
131
206
340
99
730
731
821
719
637
149
346
75
780
636
766
171
269
983
924
525
179
963
993
553
708
280
613
396
603
715
460
404
337
810
562
694
419
683
748
462
383
931
971
111
835
417
504
983
278
505
705
955
134
679
988
166
733
244
378
524
122
716
649
878
206
660
172
461
996
788
643
898
555
124
919
991
988
758
420
380
357
888
315
90
276
456
245
93
385
589
445
995
303
268
46
296
220
713
183
293
67
182
509
734
156
587
535
677
82
884
179
808
787
134
918
972
313
241
760
653
949
993
388
427
912
330
929
942
59
746
308
819
116
451
966
300
602
917
438
721
508
484
797
265
202
907
208
929
981
948
392
112
283
449
807
846
823
596
454
689
716
658
745
459
358
463
704
798
987
863
410
576
521
164
422
997
833
874
407
558
590
483
326
42
749
953
953
578
537
731
461
280
601
112
75
61
736
207
809
228
511
290
620
495
808
807
353
362
999
643
94
740
65
431
896
567
314
592
915
384
88
92
836
152
476
432
87
76
438
329
227
363
306
574
290
233
282
838
156
766
733
254
244
349
540
993
462
572
907
155
866
742
379
941
178
719
382
239
881
387
841
299
564
589
374
713
385
458
846
949
830
786
898
852
87
88
268
130
989
798
283
544
708
665
914
530
191
48
179
878
467
185
499
891
69
199
758
411
789
105
778
588
61
614
518
764
174
124
587
643
357
537
723
609
796
144
205
750
284
824
71
132
317
267
985
578
533
875
585
982
139
144
57
533
441
708
381
759
992
324
113
175
970
61
57
861
154
224
828
376
184
694
430
228
993
842
372
322
870
954
921
530
478
595
228
844
734
762
181
973
948
819
157
754
830
237
304
604
874
541
255
550
378
451
132
748
288
740
890
545
248
672
585
336
813
731
279
904
554
986
792
850
582
663
681
358
421
477
574
430
991
310
652
941
976
297
198
989
127
955
243
731
624
551
553
593
89
988
50
964
506
201
744
539
795
785
738
332
634
621
922
768
229
616
87
915
365
408
508
140
900
312
368
510
424
52
338
130
629
602
510
757
794
998
436
68
169
685
681
598
47
806
64
494
615
220
984
91
446
89
831
777
206
737
253
333
259
612
220
352
347
677
254
621
239
175
346
610
301
961
665
596
280
177
890
763
765
328
971
228
758
717
232
224
302
446
536
376
218
588
460
954
229
622
563
704
678
546
898
534
653
708
513
711
577
501
136
998
498
864
677
306
346
271
613
295
891
510
948
94
537
277
113
874
265
419
777
347
454
664
485
52
73
605
198
257
738
725
912
305
884
701
730
490
926
165
327
768
159
790
159
556
418
293
719
430
80
149
289
824
658
638
853
590
86
131
967
470
299
867
962
275
90
414
746
176
966
653
731
308
208
562
212
456
632
774
377
992
548
544
981
705
711
392
916
198
910
820
836
533
105
256
870
955
970
508
539
334
991
201
71
827
457
489
368
465
674
268
828
107
361
260
937
506
382
347
696
652
872
774
123
784
781
537
780
816
112
823
451
859
519
552
122
516
470
536
620
550
119
292
585
678
300
521
481
386
957
630
778
350
986
737
710
761
212
234
955
762
95
183
643
810
425
626
885
337
725
327
904
621
295
152
441
243
792
762
564
200
647
723
356
271
184
961
467
131
985
866
694
761
708
308
978
787
346
513
910
139
921
215
956
890
217
526
836
801
842
735
804
523
557
270
232
775
387
934
99
784
462
344
68
107
454
533
622
951
439
245
646
565
821
113
921
635
747
81
49
436
356
670
208
566
446
515
618
987
672
458
232
711
487
664
407
460
279
469
720
219
749
991
339
123
276
942
251
729
183
769
639
781
376
665
176
963
815
982
812
433
931
695
792
246
868
194
685
131
904
313
471
332
914
700
524
317
640
244
618
227
511
137
857
932
280
65
481
616
304
53
217
390
552
493
995
947
639
928
798
644
363
353
768
334
189
111
97
787
831
74
214
205
463
973
606
631
949
779
703
342
403
827
103
123
871
772
994
167
171
679
816
758
315
576
229
374
655
459
570
242
839
713
109
971
870
644
381
953
832
211
224
257
983
847
957
255
348
580
453
794
817
696
944
344
40
509
866
795
311
473
122
588
933
160
920
427
656
968
974
239
989
126
484
481
118
886
347
358
989
894
282
987
292
992
405
471
235
178
251
86
817
382
101
673
691
782
646
496
759
101
242
979
978
543
334
856
364
771
501
281
622
590
911
631
346
245
458
258
473
963
104
987
296
398
390
424
908
134
475
927
934
607
283
717
698
194
753
348
775
812
498
768
109
796
67
681
328
231
819
45
833
785
812
943
621
320
146
178
786
346
252
492
117
660
970
629
736
67
525
597
858
280
192
579
602
110
601
901
972
606
461
204
641
92
102
802
407
90
256
916
256
516
754
197
182
717
945
360
79
136
766
526
106
662
646
234
379
855
670
102
145
565
706
371
238
535
617
346
341
323
276
502
757
736
732
620
126
687
64
730
367
143
84
550
397
283
340
434
45
901
854
441
96
939
322
361
834
440
769
129
104
82
930
920
83
151
730
893
45
495
462
375
210
874
480
245
254
162
415
990
726
472
435
316
927
559
310
971
858
413
327
632
335
754
422
704
558
915
312
214
826
708
198
125
166
412
502
563
682
329
877
291
697
398
133
922
689
86
131
130
269
779
630
372
88
99
987
651
435
138
510
977
373
159
259
164
371
677
372
210
152
430
445
100
627
157
470
570
653
466
517
837
735
815
84
381
478
578
64
233
569
347
605
675
91
783
289
887
966
371
781
433
978
103
274
257
910
57
635
233
153
999
510
954
930
564
648
686
42
854
688
241
936
102
689
294
88
874
936
749
333
879
520
526
573
677
972
317
307
252
955
281
474
790
258
462
363
712
401
114
521
314
211
76
590
739
464
324
624
799
280
267
940
950
267
893
474
83
911
852
957
561
161
974
337
580
891
277
200
50
765
555
383
859
906
749
258
201
520
48
832
302
525
711
822
420
432
66
941
662
287
94
166
612
328
61
979
117
141
514
510
73
859
511
403
169
963
180
372
199
858
295
534
434
102
643
862
75
989
697
926
929
130
326
769
139
542
392
334
205
383
175
512
405
787
657
850
44
245
232
674
516
894
50
749
957
53
286
245
798
649
219
243
795
961
973
209
991
989
973
262
873
641
903
493
535
793
721
135
120
461
388
713
787
55
927
297
404
710
285
76
553
142
909
142
204
509
305
455
578
827
268
991
173
546
326
313
86
919
341
836
561
186
907
650
906
889
493
435
514
329
545
339
821
954
630
681
200
148
767
607
337
419
98
232
409
597
185
400
520
417
224
336
420
699
501
982
51
95
527
831
969
558
249
448
316
579
348
255
706
766
617
930
663
377
507
134
185
211
325
241
727
637
965
669
148
578
747
623
870
500
680
233
40
754
163
550
394
692
716
918
475
841
754
658
421
725
945
204
176
728
954
522
336
407
840
631
651
479
206
276
720
955
894
78
572
406
327
973
513
553
140
524
423
452
489
522
698
400
445
931
454
437
754
547
292
821
86
909
118
175
564
545
288
724
878
291
660
707
394
300
631
433
750
846
95
365
883
756
362
561
611
444
365
944
79
104
460
247
256
840
346
359
632
750
159
907
425
462
333
544
81
707
838
405
452
700
572
127
325
543
205
345
708
895
587
923
950
480
337
568
763
248
49
517
446
350
130
515
736
466
283
702
480
742
899
292
658
580
118
753
114
871
618
953
614
834
184
357
487
863
518
122
505
878
877
578
633
503
158
329
226
205
94
185
401
490
208
688
69
640
811
758
525
984
899
332
450
695
240
835
748
807
580
986
634
375
891
394
48
362
485
758
57
954
418
457
267
536
948
210
692
441
870
337
764
621
945
543
60
811
43
987
930
810
359
891
165
211
295
387
884
615
322
690
960
94
454
454
659
383
243
836
582
191
428
229
606
606
688
937
370
711
52
986
146
122
117
656
680
405
332
391
409
763
790
381
225
79
439
537
45
999
304
963
610
955
117
689
733
951
274
929
161
657
922
207
683
950
545
725
678
650
857
944
900
806
262
105
755
233
116
227
999
561
405
843
586
67
804
230
444
451
276
551
967
63
257
557
185
824
832
759
901
666
338
324
616
497
333
475
328
102
932
846
380
982
56
883
362
941
685
981
657
674
360
792
428
593
71
776
231
778
912
656
575
999
695
95
617
380
109
537
774
199
324
766
528
885
108
486
241
863
920
381
646
775
397
588
979
505
604
459
717
896
124
433
540
902
231
426
926
302
214
486
617
347
735
399
644
949
961
814
555
848
233
186
358
210
896
781
66
835
273
754
121
671
814
567
227
466
537
899
564
968
447
479
810
775
242
683
335
594
206
433
855
476
65
921
855
361
329
473
249
261
838
658
991
288
980
810
638
996
198
549
952
893
900
282
497
236
613
475
456
550
484
885
229
808
456
313
810
263
621
432
664
721
678
332
995
525
52
686
143
643
382
796
986
191
744
417
128
373
208
727
922
130
132
408
437
540
71
922
685
476
468
904
899
871
631
863
704
49
938
67
550
728
568
172
643
851
791
78
482
631
300
115
873
606
73
971
587
160
250
397
116
904
304
156
886
750
445
462
981
612
567
270
759
421
192
819
380
49
827
917
157
173
887
883
749
920
546
183
883
504
832
792
93
323
537
90
707
112
877
514
187
534
447
99
668
640
988
77
367
934
354
967
625
937
829
183
791
967
313
350
573
478
207
425
236
337
227
63
545
274
671
499
823
520
789
355
834
878
982
232
448
863
834
889
131
188
739
359
404
860
659
462
780
853
788
413
600
317
512
898
686
789
541
318
202
325
678
478
438
603
383
611
244
166
495
967
526
821
101
757
231
450
482
684
948
592
419
729
542
542
345
387
740
745
732
310
842
722
687
285
397
433
865
777
546
59
108
521
917
697
484
130
127
283
75
766
701
164
254
513
829
511
442
375
646
212
819
130
376
439
602
302
192
804
802
474
110
224
737
694
232
211
129
651
743
625
771
825
49
956
768
302
452
627
810
846
604
650
58
155
782
946
563
697
711
248
335
362
319
891
264
99
165
107
869
376
288
894
983
701
623
691
708
902
123
614
476
270
259
872
765
481
633
113
731
955
173
899
498
449
917
544
488
618
685
302
203
270
170
636
358
987
905
464
57
739
546
463
651
109
220
923
751
810
858
640
230
204
718
815
328
153
895
543
462
878
373
771
629
189
324
894
866
95
786
941
735
907
120
173
616
318
363
462
190
133
996
312
180
165
798
643
439
52
384
180
441
626
274
335
635
463
677
563
848
508
439
890
574
873
868
839
403
207
427
112
822
176
513
387
206
923
842
719
896
129
280
549
123
747
830
93
347
902
930
851
750
101
460
333
886
894
121
779
576
694
57
942
974
981
652
161
688
911
746
885
994
463
763
571
617
700
498
125
768
832
289
57
751
755
494
317
725
849
453
422
191
464
293
145
596
796
518
384
820
903
769
945
266
610
558
824
563
988
703
336
64
707
428
850
748
670
295
921
890
604
367
833
628
487
714
488
633
478
555
951
915
227
349
881
797
456
172
971
523
705
133
666
357
968
320
778
129
439
426
69
257
629
649
743
116
709
310
918
683
328
407
322
746
726
853
533
892
539
791
535
271
721
601
886
512
377
673
223
351
460
193
404
864
312
460
284
178
186
970
906
709
649
360
770
178
598
287
779
481
703
312
635
377
837
298
65
751
951
849
390
156
207
781
247
565
465
986
987
939
435
929
376
915
149
795
922
228
516
988
169
54
619
919
976
665
515
64
116
795
201
217
343
509
179
493
76
734
478
269
60
808
707
121
492
525
669
930
351
365
64
65
908
653
778
827
611
691
415
668
224
66
476
125
254
425
444
133
790
958
167
461
794
956
652
577
893
912
145
841
512
918
406
411
685
739
268
743
966
862
61
804
971
243
990
412
925
900
187
412
236
504
265
352
73
862
907
809
716
427
90
68
747
249
287
523
404
213
807
483
966
616
925
583
679
232
866
712
43
279
200
456
72
896
656
932
796
284
885
410
701
337
589
270
186
305
53
565
699
250
175
368
955
590
852
116
218
276
495
967
916
172
61
255
985
274
533
747
943
396
676
549
565
409
637
696
805
735
269
873
196
671
955
379
421
565
223
896
720
565
618
663
241
946
180
302
419
798
555
349
96
370
636
365
822
746
422
569
921
235
748
794
130
765
47
92
118
247
170
844
675
747
267
480
556
946
461
847
621
156
378
770
381
982
684
421
883
175
382
972
920
968
757
161
173
861
747
928
266
789
631
128
590
335
720
575
439
966
363
427
670
868
411
68
152
763
559
939
431
106
562
279
754
935
909
958
824
179
666
983
471
456
447
659
43
293
880
277
392
49
589
219
674
256
210
355
370
686
433
254
57
273
582
278
496
806
725
744
960
720
782
111
275
374
158
281
661
188
223
314
51
455
157
952
837
819
519
632
851
79
872
280
705
265
333
817
280
971
180
241
217
103
322
217
255
678
674
372
451
387
912
887
67
973
589
701
681
130
374
825
567
81
533
566
334
298
266
842
795
867
115
202
989
621
396
529
194
148
93
457
437
383
254
848
286
492
859
833
264
300
942
432
58
316
139
689
613
872
429
723
815
231
484
733
628
896
841
403
991
418
742
781
173
577
234
507
510
840
898
827
680
542
181
133
432
569
62
511
584
139
630
675
768
850
150
738
708
154
925
128
654
521
599
42
270
715
105
327
488
94
134
761
740
529
958
545
187
780
371
389
140
909
268
483
993
52
803
978
404
654
963
466
573
235
156
859
450
248
74
415
834
71
427
849
116
410
222
70
642
777
496
716
253
411
761
468
681
388
547
123
196
480
532
705
878
619
229
45
444
372
980
352
612
733
152
561
146
427
453
911
443
472
468
744
457
857
272
915
588
722
794
551
713
232
634
925
568
709
340
759
365
841
657
202
236
239
526
359
179
519
679
540
83
295
592
613
687
99
348
347
665
848
761
706
545
459
743
418
840
116
643
968
912
420
178
143
628
767
299
661
153
638
432
507
732
378
978
622
408
245
993
321
327
171
511
456
394
458
378
599
313
606
977
780
41
433
732
505
512
386
64
132
346
696
735
49
940
318
565
729
76
955
346
769
867
507
645
792
298
127
385
759
770
306
140
320
442
146
542
197
670
848
217
382
653
264
770
941
162
913
929
839
50
181
545
567
992
841
758
573
270
823
660
523
548
703
758
761
169
917
998
529
325
550
180
596
953
941
907
235
139
297
97
337
688
470
919
161
536
924
857
599
328
968
589
486
707
802
612
639
872
590
653
820
214
132
681
352
972
587
463
156
168
756
118
873
777
529
651
794
989
692
901
740
645
976
909
176
496
183
786
310
897
477
718
917
997
602
592
409
683
976
764
830
998
338
101
301
892
177
534
582
584
265
145
825
370
190
441
63
869
53
409
89
632
87
242
537
959
282
684
711
664
688
928
816
364
155
989
861
79
522
129
696
505
184
316
423
331
874
60
215
108
806
761
364
533
233
973
616
226
900
282
559
668
280
427
791
995
898
617
812
858
563
766
972
59
925
986
694
479
438
70
196
962
173
145
440
620
737
763
247
831
618
572
449
458
714
98
323
133
959
183
949
601
631
436
765
188
682
337
778
818
500
559
172
919
875
961
388
734
327
310
296
531
281
708
760
271
415
50
886
401
914
299
502
187
321
540
305
396
349
315
673
391
286
417
150
545
604
521
663
769
781
379
489
972
633
964
621
474
555
332
961
456
678
668
874
188
609
392
702
602
949
408
815
161
47
204
307
282
412
712
909
360
986
378
727
755
344
765
157
98
307
44
569
996
287
476
657
831
40
917
965
582
73
775
275
798
521
338
70
163
877
502
376
533
83
57
700
65
735
249
915
120
485
525
953
660
378
545
571
142
837
164
801
94
231
534
388
501
653
796
430
275
249
373
822
659
815
91
375
184
825
445
419
867
976
308
154
443
525
454
477
307
656
664
734
621
898
295
226
372
346
305
698
742
459
369
438
501
236
848
375
164
92
691
335
592
529
190
196
661
681
195
624
82
348
282
509
135
782
574
982
503
377
611
631
497
379
769
483
764
757
449
935
626
432
66
652
800
683
185
389
918
698
394
574
946
523
367
957
805
813
229
613
435
490
834
124
414
917
190
180
935
290
96
992
334
554
309
825
312
69
254
891
983
738
228
556
692
135
794
66
522
208
612
94
589
650
508
599
246
299
383
479
883
976
437
330
734
343
216
154
280
426
496
580
987
524
812
615
256
254
258
838
546
893
120
136
211
654
546
904
59
710
939
334
833
78
397
437
59
655
530
293
97
228
901
614
817
369
687
148
727
784
227
509
589
918
879
867
566
275
93
252
706
869
768
491
850
767
715
65
147
646
506
267
887
374
90
337
801
92
821
65
53
930
336
758
456
275
714
124
685
132
350
563
152
834
669
394
625
599
962
874
116
422
83
656
210
204
965
357
821
961
579
479
985
484
984
163
240
312
680
393
420
310
180
988
44
495
412
514
360
781
301
247
469
665
452
763
408
515
912
430
814
948
346
530
869
348
817
751
189
933
265
674
894
457
279
203
270
326
327
496
310
170
960
906
710
138
461
625
564
307
540
505
720
372
483
342
299
808
964
46
57
619
260
962
251
285
342
231
311
356
952
905
280
127
168
669
608
578
808
527
867
386
485
759
305
206
621
690
86
661
600
402
605
152
447
920
451
103
846
798
401
877
576
362
373
512
859
97
622
221
499
870
835
798
744
514
962
747
553
325
289
375
337
702
425
152
699
654
827
264
848
118
115
503
874
131
193
932
632
422
922
622
965
311
329
498
146
899
668
662
513
262
403
774
115
867
846
659
709
757
809
991
876
110
552
466
980
500
459
579
952
651
762
64
246
386
537
183
464
434
81
539
395
545
709
752
254
983
532
369
197
231
460
587
646
567
266
944
348
858
226
555
942
727
336
504
567
749
99
487
457
777
853
487
226
606
519
726
945
494
988
222
995
770
170
122
729
776
708
903
974
415
831
677
227
699
237
730
898
607
690
693
181
601
576
696
675
280
870
379
789
379
206
171
935
735
610
107
319
571
414
391
420
432
575
240
722
794
879
331
370
868
808
547
172
585
665
372
669
704
195
665
139
854
470
735
984
853
301
759
978
467
945
238
262
227
254
469
250
894
588
808
62
70
305
465
656
614
533
629
727
355
613
534
260
461
884
737
515
770
85
808
797
508
654
88
769
610
784
167
568
661
718
949
774
277
484
166
119
711
644
120
528
392
921
574
975
897
404
589
616
303
150
917
626
905
799
953
61
246
666
984
238
601
67
291
468
668
870
321
889
267
540
250
542
545
76
967
617
734
44
72
940
217
438
837
379
572
154
210
653
737
739
585
50
133
437
798
281
374
48
962
984
751
374
573
705
78
523
392
769
198
654
105
883
367
234
152
580
827
440
152
748
384
430
337
872
320
438
524
152
496
531
363
549
743
492
130
195
78
654
946
500
186
292
890
883
634
89
506
436
811
106
366
924
259
336
988
970
615
898
559
966
432
850
183
845
143
813
417
377
894
440
653
982
189
149
101
229
925
382
976
913
221
306
594
770
972
973
352
125
791
942
392
253
542
625
688
856
323
768
569
629
142
576
188
744
880
818
998
825
972
508
500
898
622
342
698
516
538
668
466
627
505
732
85
108
397
813
955
965
783
263
294
690
949
551
946
723
173
74
574
580
351
721
936
202
533
655
494
157
667
391
652
461
579
283
54
941
182
249
735
100
195
534
64
819
563
51
660
568
440
126
764
615
87
861
852
645
714
982
99
910
850
413
275
219
647
257
267
673
953
95
762
958
237
513
47
489
660
437
858
892
274
212
939
269
432
46
101
307
679
485
892
422
690
340
360
769
511
581
851
938
748
147
814
415
370
212
267
737
774
383
51
103
786
477
252
320
534
166
837
63
446
729
170
641
511
567
996
555
268
912
707
442
350
324
646
156
176
421
174
578
701
398
671
904
394
855
789
470
455
918
182
524
778
122
705
575
416
445
746
480
989
56
779
218
976
314
425
242
531
220
144
488
464
731
166
605
173
740
695
527
183
205
157
794
904
750
963
780
406
843
688
284
815
251
815
126
595
647
867
307
134
127
667
519
233
258
483
167
87
791
375
709
283
527
180
998
680
701
586
597
716
172
799
641
238
692
317
224
314
524
965
955
106
897
511
950
128
65
433
617
271
431
428
411
775
132
721
500
885
413
119
302
387
539
774
250
514
934
441
798
583
601
910
396
627
569
547
624
241
546
809
997
176
339
478
112
594
986
978
822
812
44
890
233
952
230
609
223
102
64
391
795
999
547
967
151
837
767
628
634
638
578
898
422
593
869
425
528
701
189
930
899
655
679
907
393
354
877
381
261
400
878
777
619
454
202
411
824
544
645
825
133
242
531
54
440
694
351
530
96
93
347
928
609
967
747
296
791
379
737
73
933
396
437
310
717
461
403
827
578
686
611
928
740
605
372
729
199
938
261
926
96
47
901
142
469
513
695
600
410
855
884
938
842
385
364
168
822
766
270
56
99
482
685
339
483
754
278
213
111
870
372
446
88
606
802
359
577
252
488
177
463
392
855
733
385
428
757
88
311
464
926
948
761
94
403
552
125
738
813
796
987
373
489
874
882
396
58
432
539
111
444
401
280
828
350
693
814
231
283
761
877
424
478
54
734
427
87
695
93
139
856
671
380
735
970
519
441
694
271
831
291
225
870
887
412
775
788
78
102
277
921
865
929
253
941
295
570
721
749
723
496
81
297
892
199
913
269
899
115
784
453
938
188
444
916
816
51
961
960
129
225
671
554
332
660
337
417
779
756
481
884
74
985
527
873
676
460
695
604
588
866
172
124
740
915
332
462
506
70
663
633
171
173
448
461
197
956
359
590
897
559
523
233
715
899
805
197
443
572
905
169
827
753
889
703
667
312
605
761
761
536
173
659
639
596
864
395
578
786
205
52
737
113
905
357
532
405
479
212
192
792
404
521
110
409
449
742
665
789
150
111
319
450
66
865
517
331
648
376
317
275
296
990
176
512
358
957
426
830
109
309
802
53
899
670
513
264
192
189
980
294
680
998
385
203
574
773
382
579
113
803
295
865
753
553
516
90
717
249
553
455
226
176
54
786
808
240
623
95
125
475
808
936
298
300
903
216
915
670
863
784
640
884
938
54
373
956
607
86
516
816
747
71
67
228
296
949
740
712
446
266
373
693
499
346
779
94
321
648
524
477
582
548
788
260
486
471
498
376
471
951
204
663
961
343
190
46
462
723
947
993
850
707
678
695
167
454
336
682
501
336
932
671
684
857
281
918
406
409
673
512
54
133
221
655
241
77
319
587
624
358
441
970
972
492
450
248
589
85
391
219
247
647
372
859
122
432
924
767
399
708
542
904
648
40
338
311
325
94
910
753
509
130
985
554
488
294
992
70
925
438
866
927
63
385
936
114
311
803
374
761
427
952
245
688
102
148
208
421
864
455
116
85
419
952
874
689
102
174
174
483
99
851
225
465
763
304
588
274
555
830
185
304
924
536
790
581
951
245
919
431
286
323
841
920
85
986
84
203
629
65
356
986
461
852
739
165
99
212
785
435
326
719
192
932
622
334
262
93
326
975
459
443
440
156
708
886
491
887
706
687
169
710
265
252
877
965
338
128
933
326
528
854
824
686
510
151
539
50
526
426
370
538
953
175
646
684
90
286
165
553
874
316
877
242
859
996
174
524
138
397
491
678
313
495
72
585
904
272
419
845
589
264
999
815
564
175
531
290
914
945
661
694
295
563
769
279
378
178
148
842
667
899
318
914
308
214
102
850
208
107
333
163
232
226
576
373
460
264
256
849
925
854
653
820
376
736
90
127
423
181
827
262
248
236
363
302
747
479
921
263
216
635
646
992
767
219
276
425
135
230
415
857
620
696
905
742
361
785
776
67
387
427
477
925
971
889
119
791
329
141
166
758
849
564
288
889
487
478
381
334
857
201
216
756
818
637
963
322
253
337
552
887
626
729
402
915
435
519
769
277
600
331
864
374
737
602
334
395
899
150
435
540
991
522
167
282
160
217
515
253
373
980
77
243
84
223
282
271
910
965
567
762
192
547
686
538
159
178
219
146
918
812
730
948
611
776
489
361
191
359
525
163
480
71
765
861
936
310
308
543
450
756
661
903
546
482
194
759
596
432
77
950
862
580
881
543
918
932
296
232
45
381
100
822
395
641
137
706
613
173
488
304
413
869
518
820
994
357
446
727
601
586
174
966
856
112
646
196
255
75
295
645
877
969
599
752
323
963
411
193
305
736
41
471
245
992
671
95
778
117
559
380
863
77
109
109
267
435
793
125
503
998
436
831
342
298
128
786
888
378
720
588
973
52
746
750
758
300
774
227
151
459
706
353
375
978
642
892
843
636
291
662
133
609
428
181
307
880
453
358
711
991
128
685
283
734
889
809
571
823
905
848
429
121
71
412
355
541
189
969
867
214
795
865
209
84
358
315
909
708
632
294
981
548
951
445
703
848
708
420
516
547
740
126
934
839
772
295
624
314
406
558
902
819
773
132
527
601
654
654
945
680
962
901
223
934
937
152
47
449
216
920
635
769
860
427
683
927
870
549
427
504
266
64
972
208
72
683
577
421
943
575
818
336
202
773
519
980
96
258
554
486
308
172
945
176
417
895
223
440
360
611
236
847
111
576
733
571
504
300
91
385
502
577
633
751
615
865
533
483
485
125
937
605
561
431
398
568
560
561
53
213
552
305
304
205
733
606
730
110
378
775
148
516
563
226
448
979
311
352
862
398
218
404
419
337
911
948
996
566
353
212
532
236
794
325
448
866
989
287
943
395
722
577
102
845
896
192
141
452
177
263
182
612
906
180
591
347
552
678
664
303
284
948
955
755
287
815
179
364
910
665
573
856
986
515
583
853
736
242
432
523
404
731
80
648
776
971
180
863
797
852
473
340
842
838
702
117
783
890
815
678
189
428
214
994
222
90
722
948
387
206
329
372
407
185
824
413
860
792
460
590
537
764
507
831
460
481
359
554
657
206
117
763
418
413
458
792
108
757
113
188
123
846
765
327
462
954
665
846
308
376
871
867
173
829
688
912
854
858
943
422
188
784
358
434
356
553
331
681
823
399
209
730
733
428
748
851
306
221
169
623
427
300
552
918
987
892
262
732
903
200
395
86
921
249
773
550
114
79
373
279
898
774
927
66
722
778
340
906
406
197
450
131
883
487
228
650
288
315
744
807
404
849
478
167
337
692
895
781
625
742
53
417
160
787
781
729
77
847
214
430
59
219
930
643
134
601
336
574
295
527
79
298
743
463
345
540
852
692
721
280
804
469
509
736
901
620
489
706
514
991
969
949
724
596
114
582
679
444
658
750
420
223
592
285
644
161
603
301
616
296
209
304
916
377
664
830
135
761
942
441
651
421
929
842
608
848
494
956
311
292
875
280
926
892
179
708
503
425
648
715
401
889
393
996
78
451
662
634
414
245
635
340
547
524
850
879
251
675
773
904
129
515
226
73
593
783
330
198
656
786
209
768
534
259
530
739
678
698
586
311
59
683
593
366
555
672
693
380
159
885
739
207
407
907
172
132
498
953
776
780
569
272
742
59
256
655
472
537
361
699
970
732
582
932
801
252
724
258
471
325
137
803
696
867
866
305
530
314
212
247
688
421
637
718
709
566
534
721
92
239
84
288
865
50
478
78
921
702
634
987
529
503
643
358
563
967
683
678
397
993
104
495
237
372
745
661
298
378
819
542
418
882
376
542
415
669
516
687
95
485
813
944
490
260
821
375
661
904
186
978
162
301
539
523
336
56
108
321
493
783
972
576
765
181
740
476
378
92
866
167
853
58
65
650
566
206
868
377
88
285
245
775
790
914
981
935
797
628
858
349
870
97
443
85
63
781
840
470
988
586
265
624
313
319
488
832
526
192
556
293
477
202
217
482
928
964
42
247
893
420
805
813
429
795
428
113
313
492
714
78
407
812
241
796
810
858
183
94
682
286
778
537
217
666
60
662
699
347
581
952
822
184
972
948
756
889
143
683
592
534
243
832
841
807
681
163
529
732
218
380
226
793
135
91
186
292
502
680
696
268
665
393
176
144
833
680
803
588
691
426
481
677
970
509
783
216
343
170
278
732
100
210
981
423
724
698
648
856
844
940
318
590
354
182
764
158
613
763
134
637
949
100
416
50
978
291
563
581
788
143
952
295
849
877
744
994
382
675
713
216
568
79
971
608
217
797
911
664
929
675
819
947
749
517
131
210
662
741
880
388
866
194
688
879
46
81
641
452
709
52
237
993
777
440
656
704
489
382
205
910
51
874
107
842
205
322
354
512
713
232
350
313
371
414
81
510
606
508
977
535
961
346
786
698
776
803
643
704
346
132
978
629
845
428
756
443
609
602
864
695
886
696
852
111
195
914
477
577
128
90
291
577
121
850
712
629
846
43
573
563
149
244
625
380
910
212
663
857
198
542
126
40
849
451
788
724
50
901
178
924
728
344
962
835
483
730
104
583
188
475
108
785
524
357
911
921
637
166
854
830
466
258
490
200
218
961
587
445
188
312
211
847
786
993
88
920
58
406
743
407
581
401
85
600
198
467
293
53
486
500
306
712
926
226
243
939
536
945
876
944
216
130
839
674
874
890
908
893
354
728
768
743
320
157
288
130
714
286
306
307
436
818
851
211
104
717
841
205
648
551
287
877
552
686
882
270
502
911
40
112
533
799
491
138
420
224
124
971
367
295
194
741
589
736
354
948
504
59
962
859
72
904
446
250
516
814
735
661
186
985
167
718
213
688
556
269
305
375
508
136
677
375
81
402
976
609
132
522
868
396
980
538
640
872
851
184
558
630
610
796
979
894
960
471
659
908
893
638
893
791
570
819
445
514
365
47
661
150
509
428
408
51
845
898
464
711
386
740
203
582
330
546
373
164
387
104
431
600
695
429
714
151
515
685
86
146
528
443
141
724
493
570
437
126
418
938
838
314
222
822
603
397
737
645
115
560
568
588
507
665
648
343
672
667
302
742
537
230
964
693
565
372
683
192
520
968
447
607
362
210
839
860
510
64
308
146
632
359
563
221
755
337
565
697
538
956
431
872
868
509
666
466
974
855
583
334
583
389
195
597
350
722
850
255
346
932
610
376
352
414
132
354
417
548
530
915
607
245
444
461
146
517
413
244
177
689
812
936
987
716
371
775
103
159
576
811
286
604
919
658
317
756
655
614
47
820
557
996
333
511
867
276
360
559
64
657
161
646
474
188
382
493
258
620
426
864
353
927
584
406
275
758
68
548
469
349
728
190
198
456
428
762
283
221
107
570
251
905
254
95
553
696
326
576
170
93
491
239
491
90
43
965
325
947
321
331
60
716
337
662
508
780
557
260
497
964
612
335
686
937
974
410
451
792
438
515
808
595
90
399
317
264
650
206
336
592
467
220
635
851
603
344
96
291
837
648
658
281
649
700
316
291
482
841
756
766
463
754
299
996
281
546
101
442
655
535
972
225
715
480
414
400
667
568
972
286
344
928
114
208
116
849
413
119
273
743
948
401
834
676
925
837
238
767
760
638
434
749
891
526
436
936
471
625
213
122
204
391
433
386
416
200
948
320
231
691
752
718
206
667
473
179
188
163
262
182
216
335
631
347
480
844
595
560
863
63
640
290
733
452
724
520
420
445
802
610
487
657
500
443
214
391
75
375
210
70
994
869
982
605
372
663
702
725
853
810
896
896
612
132
586
226
640
953
179
154
764
980
656
686
114
431
288
102
613
457
786
222
767
497
492
620
353
259
45
689
330
563
990
940
84
395
585
374
395
674
282
429
965
224
729
887
122
285
150
191
277
373
939
276
764
843
384
994
698
876
805
887
167
733
959
201
949
791
480
244
873
407
151
957
680
427
233
618
252
853
199
563
303
148
99
720
331
972
650
199
562
207
268
262
873
726
593
112
329
122
636
427
837
135
325
349
555
981
63
671
654
477
676
433
63
637
993
716
702
99
110
313
147
639
466
777
228
650
94
813
893
682
854
795
624
572
135
565
631
600
178
553
513
48
688
226
793
735
47
822
94
270
305
223
906
736
186
818
596
228
705
583
133
949
245
468
562
144
459
532
671
937
815
546
944
429
987
85
106
191
512
793
690
651
957
941
532
711
117
532
175
395
742
457
617
580
999
652
250
632
529
292
226
970
514
534
157
762
52
910
559
592
999
716
315
889
185
940
294
400
829
407
225
987
598
460
138
102
958
123
181
435
86
280
577
675
40
206
217
197
843
578
174
640
695
987
654
105
860
455
811
736
684
228
635
719
420
64
409
600
205
172
133
984
605
289
784
101
617
519
534
218
58
578
132
188
334
884
808
859
90
473
664
657
423
938
909
843
962
122
331
79
480
479
552
100
349
925
879
779
328
671
901
687
932
922
202
477
216
471
959
943
316
567
107
831
541
429
678
512
193
580
238
54
166
443
137
250
777
553
755
947
135
112
428
798
753
848
279
836
404
853
533
502
669
132
198
591
345
725
462
430
271
432
825
994
535
555
350
160
655
943
910
219
454
604
391
761
641
687
665
925
441
866
98
335
980
309
735
428
645
654
272
833
326
764
947
274
758
80
503
345
667
147
625
834
855
418
271
777
663
458
73
240
996
562
86
439
869
312
854
440
616
315
293
413
706
752
592
517
676
132
74
496
851
522
393
903
741
194
189
839
670
780
856
752
960
973
490
443
45
452
224
876
434
369
143
333
175
913
933
950
380
528
849
543
798
264
972
733
399
98
423
830
117
717
752
239
559
682
752
141
695
294
642
707
851
574
627
231
92
137
655
921
236
818
181
780
429
741
817
195
59
253
337
649
894
773
280
680
170
107
815
150
916
864
439
812
43
385
358
314
869
321
741
410
259
88
109
256
192
641
58
983
280
668
427
432
586
394
465
820
562
168
76
568
57
643
517
222
411
630
387
980
700
462
616
102
295
391
805
435
781
82
501
184
300
774
284
819
289
430
838
149
206
382
512
951
574
617
349
167
771
501
336
786
639
369
564
612
684
371
542
244
601
103
498
566
211
625
182
934
590
777
499
57
667
428
456
452
317
363
83
611
217
247
512
844
45
737
90
553
463
350
703
476
50
903
270
570
628
449
461
295
334
346
582
561
95
129
435
594
451
58
284
408
120
983
611
975
739
195
587
343
284
941
92
778
390
482
837
625
904
817
717
645
690
378
537
827
864
316
308
877
147
806
786
73
582
936
516
401
737
230
122
167
545
585
776
608
224
167
162
398
172
136
989
62
199
884
292
70
479
471
212
149
55
706
814
468
456
256
746
562
306
465
958
373
430
775
700
654
634
608
259
660
271
693
118
737
852
912
605
244
260
548
472
625
561
40
317
752
544
694
727
957
492
556
679
393
831
259
480
448
589
337
201
52
649
370
798
450
196
284
608
392
111
832
507
121
444
974
566
245
418
454
73
288
269
418
739
673
521
923
207
118
236
627
526
383
207
702
249
134
536
997
614
429
246
291
853
639
241
49
860
209
332
329
810
675
540
57
880
567
822
493
713
352
229
276
632
96
320
249
853
746
363
876
498
332
929
409
644
567
269
234
647
690
807
550
367
480
847
179
449
413
800
681
974
957
915
615
564
511
48
148
117
208
613
697
140
614
968
664
272
147
489
849
146
241
421
733
997
577
416
544
360
212
69
574
688
970
289
867
908
839
87
905
260
200
911
218
956
69
788
533
825
219
663
641
666
56
608
512
839
117
992
399
600
335
308
508
404
965
729
766
50
239
921
809
265
290
921
744
276
630
768
854
369
736
282
600
367
384
567
239
430
831
842
692
728
141
546
921
874
593
568
318
268
488
473
989
970
721
471
876
739
585
246
853
458
173
481
84
879
249
784
585
582
827
334
640
849
783
63
831
970
391
509
509
366
513
128
96
965
807
872
387
555
362
874
524
147
242
377
77
371
934
230
884
420
165
41
360
851
678
68
600
449
302
936
769
476
512
305
483
960
387
139
924
559
503
713
648
80
848
163
93
782
326
273
299
72
807
54
349
958
440
61
129
273
53
428
243
394
933
95
125
801
768
262
388
845
697
177
733
151
841
274
557
766
582
528
911
671
416
685
524
791
496
876
287
628
698
742
100
798
680
933
974
688
127
415
545
316
949
309
799
747
971
733
940
669
155
759
161
400
380
515
238
48
559
485
764
934
275
935
627
836
212
864
448
254
579
107
643
707
832
95
190
707
648
611
860
202
296
542
772
503
514
911
315
431
156
714
171
499
352
758
218
547
742
422
534
175
154
128
584
983
950
489
541
986
484
182
117
65
717
860
714
492
526
151
66
967
895
633
763
347
896
148
82
863
707
707
894
885
879
660
988
169
307
716
882
715
205
977
699
794
906
187
451
150
625
885
945
429
49
697
270
768
543
254
392
173
718
538
839
425
229
494
370
590
121
420
129
566
196
862
733
871
132
253
69
758
752
908
618
706
945
92
374
324
234
997
750
995
404
747
127
796
276
354
63
743
360
304
996
357
683
85
496
312
932
140
898
454
384
381
503
92
843
227
143
158
158
670
315
766
588
370
618
778
223
178
484
805
139
225
468
959
441
105
52
768
398
48
708
618
705
565
867
582
453
505
560
560
228
61
907
223
85
388
180
105
997
87
79
591
662
412
713
206
842
447
182
560
668
912
640
738
997
171
847
670
698
60
669
196
323
865
500
292
844
902
376
653
280
232
679
593
887
962
576
322
755
270
237
883
655
815
119
772
301
777
692
949
737
984
990
975
425
736
259
357
880
539
473
316
372
817
451
848
941
143
302
92
621
760
639
984
369
116
146
180
590
829
708
138
896
651
154
429
572
708
651
774
172
714
734
721
41
264
769
396
324
874
191
969
547
200
453
964
557
865
963
294
622
202
993
494
416
386
702
967
881
497
933
943
732
685
212
453
982
990
366
526
847
397
619
856
70
837
605
142
933
788
653
839
677
519
963
752
193
541
360
651
936
380
912
149
948
589
457
374
505
515
323
974
145
856
890
942
292
351
344
57
750
543
505
125
214
484
89
477
714
627
200
778
663
551
701
706
127
146
873
783
98
213
436
906
229
195
697
75
80
149
838
173
72
322
518
790
384
966
186
784
120
449
932
763
747
923
703
162
61
722
100
725
669
716
54
865
694
122
464
120
997
773
592
743
738
216
361
47
472
735
997
690
667
573
208
773
377
795
515
278
794
853
476
247
377
92
211
543
189
944
652
907
101
331
172
264
987
865
227
779
498
232
701
727
460
175
738
981
143
265
456
363
601
47
304
314
328
811
208
151
450
320
233
983
988
154
637
101
242
493
611
594
666
750
480
749
327
645
954
159
898
812
285
264
616
177
181
348
809
488
553
329
345
944
609
902
289
740
716
827
515
576
296
104
294
491
962
951
335
803
647
416
571
760
285
718
321
455
925
589
280
49
135
59
282
938
797
104
784
543
195
608
53
64
799
731
575
137
518
439
880
894
155
809
462
104
442
574
236
377
140
49
849
687
522
772
337
765
357
665
187
774
40
160
498
621
633
929
381
112
254
52
431
941
969
347
530
368
248
672
546
401
74
728
336
526
582
903
429
140
793
112
665
770
379
977
963
508
111
759
560
744
681
536
277
378
735
234
996
175
840
705
539
642
115
866
528
848
101
307
482
207
821
547
789
129
826
547
448
633
689
829
42
61
413
124
980
558
472
117
730
943
220
621
517
564
43
957
480
769
979
733
635
540
198
834
126
298
433
332
246
293
785
611
722
845
66
924
620
376
736
498
922
67
658
760
853
862
758
771
825
458
965
121
176
353
255
79
388
324
739
734
418
197
151
114
899
904
130
611
667
739
778
167
987
497
334
150
800
918
732
116
439
72
445
300
277
688
764
907
544
186
297
179
540
414
940
106
891
42
56
152
550
125
53
742
539
591
716
634
488
758
383
743
144
167
417
332
899
976
888
457
130
466
303
880
380
546
496
753
198
630
630
379
769
220
457
332
203
537
904
831
403
467
589
536
265
84
696
644
316
183
622
330
632
808
850
825
290
278
503
908
814
969
208
867
377
577
552
645
170
968
887
140
602
890
425
507
508
624
770
590
978
709
625
730
88
103
965
202
102
810
844
867
316
521
511
511
412
995
158
581
233
522
474
622
232
82
53
640
371
864
300
84
969
775
347
850
871
366
114
107
699
223
599
617
557
762
307
817
282
103
138
413
314
251
372
401
902
265
179
437
195
494
326
875
830
929
137
740
340
798
48
148
272
529
691
976
198
341
377
780
546
509
323
350
925
446
248
427
208
720
661
571
274
964
318
727
604
391
182
211
271
314
729
545
890
276
905
695
781
421
158
317
862
401
505
717
757
448
333
581
360
518
549
98
994
968
407
421
796
859
847
265
787
352
500
604
358
868
211
487
154
654
874
355
169
346
470
714
935
272
187
244
152
591
264
302
546
105
807
626
379
633
178
299
434
228
669
921
670
704
206
215
97
481
517
333
487
298
800
640
596
792
697
183
349
152
143
299
359
587
181
151
841
139
942
753
900
159
400
571
553
978
565
536
730
836
889
764
677
652
518
226
338
503
229
817
451
498
400
514
347
632
804
297
329
704
477
522
625
834
276
415
662
297
238
569
526
374
638
238
369
646
509
228
840
273
356
863
129
424
548
187
76
553
376
772
40
772
212
540
461
558
467
383
289
806
849
839
872
167
953
987
264
560
286
896
904
646
841
712
806
499
580
532
634
927
84
118
869
714
537
77
396
645
603
582
244
586
533
522
862
151
46
733
176
605
762
441
683
164
166
113
735
893
375
273
794
253
635
319
752
827
919
846
130
532
319
816
857
720
575
48
55
346
135
870
517
490
476
136
627
476
632
75
222
111
456
280
687
841
833
932
342
386
154
454
765
461
343
194
42
428
452
139
285
102
618
542
884
544
422
332
178
351
983
738
349
462
869
820
473
705
570
385
338
691
754
823
710
270
126
622
164
713
669
543
511
984
216
751
923
874
598
337
554
93
258
180
996
404
671
579
268
614
123
194
97
907
123
962
587
454
193
965
968
503
245
338
699
298
885
631
517
331
230
187
212
729
47
589
799
239
66
664
179
923
851
415
390
516
273
818
237
465
646
925
63
232
248
522
912
273
503
951
648
732
442
53
386
390
984
206
952
581
655
578
467
618
907
402
909
601
919
517
563
799
219
185
651
574
628
545
171
146
353
630
382
707
906
911
555
555
534
320
950
942
725
296
70
401
341
484
469
521
77
792
354
181
886
587
361
778
809
273
874
468
737
912
506
791
946
305
961
224
379
966
734
880
293
877
279
435
724
432
843
884
236
862
446
673
506
769
990
905
219
617
414
52
152
382
700
156
780
900
430
482
638
885
288
463
526
264
438
411
46
96
399
119
648
762
752
243
103
211
300
960
47
231
687
742
919
59
299
403
971
491
872
908
308
201
934
532
381
581
894
58
147
371
233
869
295
370
393
758
475
228
264
100
314
856
128
732
931
62
806
985
502
424
96
403
714
794
147
224
586
686
372
514
878
513
951
60
257
856
788
472
557
356
968
364
862
335
763
968
714
494
901
166
638
856
50
170
776
74
330
521
884
356
379
861
304
585
840
920
772
120
722
85
334
328
977
924
775
957
471
300
789
900
598
993
45
663
862
692
293
431
332
93
724
556
809
234
705
352
230
829
501
244
55
657
269
122
868
629
898
191
742
637
797
597
440
158
892
504
455
155
203
997
558
926
979
731
344
244
316
486
118
447
453
185
747
183
337
877
704
572
304
912
82
749
252
450
602
829
314
640
903
390
581
355
45
355
856
56
884
57
325
246
313
777
266
725
352
247
887
852
697
107
672
509
506
512
372
401
325
164
902
467
992
584
554
293
66
221
933
209
115
983
691
700
373
483
267
864
512
524
629
371
711
725
148
72
615
797
887
555
181
54
149
81
581
665
664
841
784
263
362
799
615
435
320
146
993
912
692
212
872
652
183
134
91
680
861
819
817
187
948
649
532
419
648
441
71
571
359
768
465
699
818
546
538
966
878
591
579
156
322
261
74
583
561
533
934
331
114
269
42
466
641
455
985
503
176
58
872
833
357
433
973
642
885
360
486
82
230
371
622
342
456
61
419
462
562
865
428
500
537
848
864
200
190
317
311
869
531
752
817
820
800
776
474
319
124
334
474
337
358
588
327
914
536
637
124
722
241
197
649
698
630
342
614
657
55
852
634
521
262
677
571
173
938
413
573
585
795
671
906
433
844
509
497
664
410
426
388
881
207
526
276
823
684
731
408
890
156
549
570
64
342
650
850
579
67
757
352
600
395
480
899
554
369
626
147
563
902
96
914
215
409
711
825
858
146
646
533
279
455
49
207
214
261
384
641
934
574
796
747
657
392
662
722
580
277
187
520
131
131
914
466
564
481
613
890
227
142
964
699
782
920
419
293
305
826
674
144
799
455
245
998
80
397
604
761
424
854
480
881
488
230
754
559
77
176
737
114
351
680
376
269
824
155
363
170
307
854
478
981
477
679
799
298
948
644
746
928
266
102
528
212
464
717
860
275
275
239
95
51
690
118
343
791
384
362
948
653
487
867
755
423
765
722
414
445
868
820
686
965
216
429
662
139
360
533
272
596
665
746
761
896
876
566
378
100
213
508
172
438
795
760
985
908
226
554
155
785
502
780
403
613
180
985
303
77
703
778
780
876
411
471
46
438
677
84
638
409
508
61
904
496
648
919
946
673
797
971
643
523
927
142
967
901
93
269
479
965
200
842
668
712
147
765
250
968
921
179
59
399
329
397
191
810
685
99
514
99
743
911
357
74
675
670
999
993
238
249
243
195
825
400
864
939
887
271
582
946
582
191
656
906
348
619
567
698
806
628
129
655
511
288
199
233
821
217
907
294
296
680
132
40
64
722
454
816
185
716
220
784
563
79
714
838
798
804
564
165
780
754
722
555
339
589
838
963
942
555
897
247
586
589
273
882
63
218
220
695
548
526
701
262
527
941
166
686
863
682
129
845
258
775
866
364
650
732
662
764
637
74
612
899
408
289
648
829
598
562
50
739
840
617
744
799
584
859
319
664
295
784
206
207
988
848
839
743
710
311
533
647
509
173
104
134
165
475
238
117
823
590
411
621
805
872
709
273
283
153
271
777
555
395
252
331
286
708
490
225
602
572
785
246
645
395
570
609
690
321
688
686
992
44
683
426
47
161
933
301
803
472
652
264
255
74
821
200
360
638
147
621
593
391
820
562
761
359
438
319
423
823
716
156
354
638
980
522
123
901
826
838
848
434
855
542
339
975
831
49
459
981
774
687
350
868
128
848
412
713
267
433
70
416
887
627
559
706
590
428
896
280
575
640
526
525
944
978
831
218
184
684
710
482
929
993
707
220
658
127
282
259
317
281
249
241
141
875
945
90
899
702
800
521
405
239
797
567
803
236
277
403
308
311
235
179
994
723
592
993
413
669
506
505
67
993
987
730
635
841
925
727
843
875
867
51
174
907
825
272
392
588
115
59
344
479
386
113
226
889
820
375
577
466
857
234
973
247
625
978
309
70
817
756
430
932
250
69
200
525
572
890
872
354
159
755
734
82
552
817
151
75
596
848
86
409
122
909
220
812
813
324
741
536
857
494
881
706
142
830
661
597
591
670
995
985
947
573
385
711
924
474
460
51
913
799
616
403
908
498
233
462
562
160
923
892
864
376
267
830
94
61
795
245
189
193
921
502
829
838
533
450
764
688
980
728
161
785
730
94
658
61
558
454
424
161
250
594
904
467
958
547
640
746
160
434
627
210
379
474
819
682
515
434
155
171
620
760
970
229
379
863
234
629
754
775
402
288
896
763
64
773
518
746
143
919
58
422
550
124
967
917
438
173
253
710
590
707
527
795
973
747
389
672
762
262
89
373
851
919
777
610
104
376
560
323
135
658
61
110
553
862
576
853
654
792
511
616
414
716
810
314
678
930
603
588
950
831
555
905
777
42
838
760
545
497
764
127
934
357
479
667
116
856
149
726
90
460
274
893
565
748
403
724
396
486
854
586
454
111
298
163
567
402
214
78
891
266
467
97
862
510
200
470
267
642
271
301
190
919
505
217
968
95
384
90
292
799
285
699
570
325
459
805
145
591
694
989
178
91
948
184
556
834
250
109
966
848
93
632
840
244
57
345
567
316
221
923
916
301
677
344
148
187
257
260
749
130
440
283
158
555
202
986
695
688
763
312
333
84
509
637
191
338
996
755
254
175
879
427
521
820
890
850
624
569
854
899
181
527
495
832
358
687
784
388
504
432
802
639
370
405
434
612
395
334
198
306
89
949
710
507
592
450
471
729
171
367
461
967
71
788
121
420
830
157
983
69
622
585
205
770
749
531
337
787
786
413
517
295
113
958
509
223
950
935
713
471
812
119
755
983
196
371
739
544
61
480
786
163
812
655
375
204
959
220
543
798
852
820
522
302
122
609
767
709
182
766
529
218
301
872
740
179
349
899
760
77
69
138
309
278
435
663
812
49
525
315
921
243
933
857
838
788
430
111
513
584
862
200
353
594
673
582
175
968
644
491
347
888
764
688
377
932
208
726
975
873
552
258
274
573
715
409
382
485
96
86
44
339
506
731
141
934
813
749
648
133
640
396
139
923
359
165
581
525
211
651
888
695
298
763
639
925
519
755
687
783
379
157
418
172
101
889
520
324
141
740
657
477
49
446
495
309
240
74
363
807
460
93
206
609
634
416
464
153
859
344
470
842
902
826
928
186
924
631
120
427
836
880
425
230
112
442
590
560
982
761
603
382
149
660
788
667
353
484
93
237
222
335
688
905
95
261
168
257
874
260
807
720
423
912
158
74
862
277
368
176
912
920
67
291
922
704
717
70
520
482
109
684
617
484
233
728
879
663
85
555
689
819
932
101
94
812
856
886
94
66
160
204
679
539
113
910
549
153
750
412
306
788
56
57
190
231
506
622
337
999
555
649
856
303
779
449
240
449
350
638
115
314
458
833
508
353
440
877
694
690
133
807
710
623
247
594
783
856
145
975
746
715
211
378
181
332
760
375
253
177
893
847
490
847
704
93
387
624
514
939
230
132
515
967
922
638
772
858
97
508
801
152
143
711
275
652
92
904
599
600
816
858
486
509
393
752
908
113
580
749
379
609
910
192
119
514
872
867
440
123
787
547
284
654
258
579
810
450
362
494
390
692
129
540
730
608
593
425
164
312
278
501
853
705
694
866
785
487
735
300
239
558
689
935
228
423
721
182
391
205
960
187
271
627
237
457
670
598
152
385
982
397
980
747
477
388
578
484
403
165
432
255
232
818
151
75
736
435
248
508
750
845
569
148
846
798
194
75
294
235
379
342
836
364
423
327
139
518
652
955
66
471
920
910
120
141
404
743
252
100
287
649
394
450
447
496
630
891
92
418
822
898
785
860
586
971
568
586
58
893
501
220
129
659
557
240
286
422
323
703
885
507
957
57
267
517
427
172
225
796
938
784
613
928
51
513
319
209
677
817
713
203
476
695
744
897
862
49
143
284
244
500
589
140
552
804
955
677
324
363
602
659
935
154
330
516
862
541
758
929
442
95
550
988
726
237
687
329
134
236
667
749
175
130
112
136
849
530
315
153
738
189
184
596
343
709
42
295
749
129
624
137
619
484
674
258
253
718
641
897
698
898
682
187
705
610
519
260
898
993
922
100
734
291
801
957
44
301
841
186
316
460
291
690
195
931
120
333
567
402
319
851
809
270
400
960
97
871
793
566
179
824
280
340
821
486
62
76
295
297
819
390
53
477
810
828
979
727
332
820
251
349
903
684
338
204
773
238
634
41
301
620
386
130
481
441
880
933
942
239
89
821
166
984
100
274
315
535
954
757
156
523
983
217
639
747
308
860
185
914
723
767
933
568
691
925
127
57
925
741
886
207
857
231
176
873
480
842
812
425
452
746
296
379
766
706
931
106
60
567
92
41
139
625
141
690
892
530
924
389
761
292
931
939
984
870
708
728
828
834
351
190
973
799
763
75
233
579
326
621
984
464
470
233
192
739
876
501
718
391
444
583
888
435
211
364
167
783
793
586
127
784
880
663
701
943
582
63
553
845
851
292
750
236
447
620
594
158
529
857
788
162
907
195
139
267
506
345
584
968
832
367
184
775
365
909
744
256
555
704
716
387
875
472
559
137
700
490
214
808
128
153
62
854
874
559
104
167
868
973
726
783
867
53
722
403
854
380
882
957
500
429
525
465
219
557
899
356
239
369
452
706
635
628
916
329
367
731
40
464
389
783
773
911
523
946
708
199
685
549
540
685
573
934
374
475
669
675
420
331
888
261
777
845
340
463
192
929
373
593
553
494
591
559
354
93
618
205
643
839
919
251
475
521
739
902
765
650
761
141
981
789
590
919
769
874
339
743
46
274
775
306
694
283
241
625
799
732
178
945
54
540
662
582
103
978
584
257
299
783
294
707
326
762
766
240
84
964
491
772
550
102
839
824
350
218
918
881
813
74
844
468
486
725
377
931
98
388
624
954
785
951
324
119
947
601
246
173
588
460
530
240
591
379
137
55
717
548
311
262
792
297
606
557
970
252
451
896
82
125
267
531
144
769
966
68
60
200
208
189
428
576
727
233
726
995
941
723
281
826
804
950
483
762
956
990
527
242
493
805
93
802
451
905
383
921
975
321
96
147
804
834
816
843
542
262
390
988
137
914
229
644
76
284
600
305
715
197
192
729
559
590
996
74
335
190
733
253
387
158
551
68
868
893
773
171
478
74
46
56
880
313
614
601
303
670
505
932
768
687
877
665
369
636
591
922
67
951
834
609
915
890
567
418
919
50
197
366
707
480
832
685
678
883
144
456
883
774
360
779
56
911
150
107
985
636
423
304
682
310
702
979
337
749
745
965
213
306
724
623
439
101
269
651
887
320
923
377
999
205
131
756
534
849
889
512
875
866
52
422
161
673
782
383
928
217
125
998
481
468
683
807
844
942
768
293
331
861
243
769
910
43
434
639
735
663
346
603
766
799
878
508
106
612
479
166
860
133
67
585
736
543
227
713
486
87
49
88
500
427
412
695
133
510
471
103
537
845
450
139
81
720
58
858
778
462
222
821
335
810
554
650
625
325
733
729
103
654
249
469
77
398
413
130
580
548
240
880
840
517
131
853
460
968
870
99
419
376
351
572
84
474
553
110
279
456
867
263
345
279
721
759
284
172
654
461
444
266
267
551
666
525
597
395
582
661
343
303
114
179
813
792
997
915
258
547
758
453
601
74
586
170
135
745
377
769
396
221
92
953
932
617
969
261
78
969
951
229
880
676
843
159
864
416
883
348
685
572
124
993
364
616
385
810
719
725
156
258
297
91
524
593
682
860
630
596
439
926
488
859
272
698
897
891
996
722
855
970
397
105
806
47
415
159
360
219
272
794
768
735
344
594
249
129
771
495
224
956
822
576
159
586
224
167
622
65
801
728
581
737
179
435
443
146
705
494
664
395
721
150
755
868
115
281
586
83
874
448
941
474
735
639
98
838
718
607
581
589
700
150
112
986
474
942
445
223
451
935
585
944
895
112
265
152
411
495
205
490
69
373
687
766
903
313
797
282
726
512
949
861
40
66
504
272
264
783
421
566
830
211
694
219
234
267
40
962
69
191
855
786
831
45
319
704
755
663
81
616
657
657
820
242
641
366
175
101
944
303
755
255
232
52
384
79
657
478
777
319
826
130
96
568
882
68
413
898
516
607
42
957
331
709
833
455
176
265
211
710
700
88
573
498
647
198
763
310
141
937
455
433
943
494
916
911
823
499
205
960
839
999
659
569
538
441
175
428
383
584
403
175
586
720
877
585
306
592
266
836
177
957
118
136
429
602
977
200
169
841
365
460
586
174
271
657
934
88
902
220
74
713
632
367
974
828
358
58
506
942
128
251
740
816
642
774
695
672
585
107
179
946
553
216
619
104
861
465
869
779
621
963
600
670
784
677
955
884
878
64
411
654
270
320
73
236
644
662
878
929
191
870
754
66
187
990
335
53
777
671
916
648
549
594
921
794
973
634
608
542
601
823
825
723
76
559
554
63
203
823
927
468
47
707
891
776
312
780
424
837
599
559
689
531
754
803
968
863
947
141
206
283
205
912
773
220
709
52
165
285
725
647
777
684
134
380
236
196
252
189
975
156
863
949
989
688
194
277
820
371
119
918
46
697
569
46
435
861
439
690
916
974
345
847
810
344
790
168
652
741
792
313
244
878
238
301
257
852
57
134
905
645
180
881
633
742
737
786
491
584
411
856
100
595
288
966
781
831
812
606
969
952
140
949
267
547
350
642
436
791
898
201
501
881
716
659
886
708
382
660
331
320
296
903
915
61
521
839
508
736
883
700
991
207
845
970
928
468
820
735
132
452
201
299
63
362
821
269
142
109
94
500
386
849
407
200
401
71
536
958
665
999
968
965
466
973
850
513
332
623
649
696
819
277
489
181
608
225
252
206
851
767
181
679
176
951
871
327
80
239
64
974
160
598
563
46
662
508
685
969
812
708
417
250
375
885
657
487
834
674
603
641
942
728
570
497
667
675
99
502
44
409
206
133
718
46
108
88
223
365
909
354
190
838
670
943
563
343
665
146
305
76
633
597
128
591
59
610
639
650
832
776
362
229
751
436
537
515
387
713
297
945
124
633
600
595
851
215
935
783
972
934
398
288
824
266
456
69
293
164
230
433
66
264
698
475
568
585
425
183
596
206
451
220
99
400
455
849
193
174
649
195
654
377
491
825
864
185
207
830
198
932
734
594
86
731
342
342
935
294
187
71
305
863
243
161
326
618
760
253
286
727
933
699
479
254
179
712
426
343
155
567
444
346
263
127
844
932
534
636
319
361
138
310
920
933
598
177
518
980
359
179
815
383
946
604
197
421
694
862
378
695
167
514
656
659
605
743
278
228
624
335
832
366
769
383
357
921
377
832
791
224
236
832
287
618
380
935
308
863
620
931
756
147
727
132
757
575
312
994
125
164
159
540
703
855
476
485
332
801
933
827
737
46
996
549
151
963
798
459
986
669
394
188
357
809
686
505
320
492
48
729
562
62
135
929
481
515
424
213
305
740
814
172
59
264
237
852
932
298
71
159
67
747
110
894
911
639
220
114
890
966
197
423
383
741
834
433
841
841
938
149
583
542
169
677
807
102
434
492
831
188
633
529
777
226
574
450
475
993
207
239
463
111
638
471
462
653
305
915
334
918
353
660
306
457
421
536
888
501
724
621
477
518
72
268
50
844
766
180
812
888
66
103
407
660
443
344
510
78
44
794
243
916
358
302
873
568
443
51
663
397
597
631
474
627
496
608
999
496
553
815
265
913
538
153
270
909
421
901
949
750
847
761
586
798
473
353
104
726
571
492
907
762
669
396
876
61
63
788
664
604
941
583
293
906
620
301
193
244
457
670
939
938
207
938
387
318
202
317
166
570
854
701
302
307
296
53
934
376
452
881
753
568
353
285
814
891
512
579
568
385
372
59
970
368
778
784
145
679
210
263
576
529
850
405
197
136
741
583
709
794
864
736
782
252
349
166
96
523
169
538
608
177
233
700
112
860
433
309
412
84
492
76
415
297
344
143
578
918
309
960
806
874
764
181
508
527
78
666
793
812
923
904
365
199
297
784
636
865
65
300
247
47
596
86
127
620
809
185
243
291
601
901
693
463
585
792
374
329
44
451
95
248
940
393
857
799
646
874
899
291
151
169
488
978
260
734
722
411
150
649
469
733
701
433
59
475
912
622
736
385
726
440
726
609
57
349
865
64
196
913
173
861
60
775
510
986
614
521
122
566
726
100
512
493
477
939
901
642
323
157
62
736
502
733
609
329
117
576
743
101
811
507
447
222
226
701
396
460
248
953
929
249
72
356
890
800
349
690
139
61
737
886
336
898
458
88
704
262
981
498
702
849
283
629
855
197
492
798
990
262
653
454
435
557
442
799
224
419
829
314
655
277
667
383
195
675
262
833
994
179
958
223
788
830
673
435
701
715
281
647
435
385
772
263
963
607
214
816
937
84
314
162
70
870
896
826
682
249
554
595
782
64
255
683
521
333
892
543
452
599
916
240
874
901
704
547
823
625
554
340
93
290
746
436
426
891
686
216
612
882
513
818
554
439
474
95
593
237
390
778
809
433
964
522
454
146
878
494
110
151
474
740
337
763
596
287
812
44
353
465
412
533
221
60
978
101
816
891
67
311
635
539
968
409
952
517
106
785
553
962
332
821
834
705
964
876
392
461
896
238
622
173
498
792
651
993
388
735
761
653
236
859
43
89
532
71
592
914
795
799
441
431
969
96
75
990
330
148
812
887
129
559
622
191
299
354
263
484
398
543
749
147
107
309
665
903
975
85
556
948
147
218
308
972
146
41
80
628
644
95
912
939
581
758
819
759
305
766
736
429
312
839
68
489
70
489
992
144
482
658
293
950
686
488
805
595
56
454
619
502
263
728
91
210
830
339
972
94
506
614
981
93
490
623
134
102
174
559
597
809
52
775
329
836
955
464
985
503
702
362
603
266
204
493
404
755
69
300
692
673
168
239
271
453
926
620
738
491
720
69
892
286
890
678
824
712
94
833
742
839
469
960
575
969
76
635
989
182
953
901
234
172
981
187
789
365
892
691
294
768
481
723
333
670
53
640
227
652
355
140
526
472
382
504
162
264
235
836
578
797
660
455
947
152
48
634
123
698
686
530
567
453
698
255
441
331
247
346
593
367
931
914
994
320
565
784
456
894
873
568
819
294
63
683
400
587
158
357
826
991
765
114
479
560
914
875
243
460
885
711
533
213
832
943
593
610
529
758
508
374
995
378
527
233
965
41
803
534
829
519
582
734
354
259
127
526
590
561
483
455
214
505
514
605
915
468
382
133
556
706
700
145
186
786
91
78
525
158
115
432
632
675
835
857
165
486
293
857
642
718
169
96
558
910
292
553
95
601
922
114
268
359
152
669
451
62
207
358
649
976
772
847
938
259
880
589
644
706
624
640
487
442
763
992
173
774
582
947
609
626
58
647
102
839
681
429
227
970
342
98
760
798
957
648
343
272
490
57
450
994
445
719
538
467
611
469
615
162
86
43
288
300
774
540
438
732
463
990
892
371
423
680
904
393
386
696
678
450
530
914
454
105
438
604
537
670
387
322
486
840
944
139
449
272
398
397
506
369
84
145
642
210
641
657
192
340
543
550
554
542
462
974
654
403
788
261
237
453
79
381
134
755
760
961
131
411
205
891
750
83
764
237
748
923
701
576
317
958
745
107
240
89
365
558
817
889
332
970
640
991
113
951
659
873
271
317
99
715
749
586
206
331
536
713
619
186
706
220
404
554
964
710
225
965
958
67
150
116
991
979
965
831
875
876
538
306
987
86
345
335
794
710
978
213
76
225
475
934
675
511
386
281
723
859
91
563
948
406
547
390
998
898
740
60
765
340
616
442
363
807
754
347
303
535
152
484
470
287
572
578
959
112
504
109
535
658
54
618
581
107
128
966
266
471
122
779
82
732
973
747
391
177
74
155
351
879
440
715
460
81
492
398
132
250
630
567
55
152
270
951
428
70
998
446
220
723
97
622
297
521
394
820
934
454
466
291
207
578
690
314
340
399
130
832
331
313
896
200
618
182
299
815
503
758
55
608
573
988
614
596
441
847
544
662
268
95
713
578
458
211
529
334
379
821
454
427
426
255
931
193
614
398
556
324
217
541
727
434
895
136
873
618
805
263
233
798
510
654
768
703
625
473
814
501
900
669
383
287
861
839
227
580
144
963
596
676
726
128
757
906
370
852
977
364
177
840
340
626
676
323
204
355
85
162
429
550
469
138
707
78
282
946
643
258
102
396
527
661
748
974
220
930
399
924
175
244
524
759
168
972
940
750
134
652
285
436
736
400
476
642
280
963
547
426
361
305
185
817
680
668
182
873
208
613
574
989
486
985
634
774
918
880
69
316
904
56
817
459
399
601
274
310
237
861
628
577
563
975
878
408
898
992
820
313
348
87
451
685
255
452
679
921
694
869
965
98
107
285
180
42
742
288
533
392
892
301
410
985
554
748
564
377
304
700
377
647
739
427
282
693
293
411
705
859
899
678
279
869
191
790
314
121
988
561
923
673
699
653
131
255
467
599
826
725
924
660
276
553
958
149
127
676
830
144
254
52
280
670
868
282
856
671
254
117
89
994
294
189
778
74
807
608
306
766
157
892
108
374
372
563
202
520
789
464
974
350
776
786
520
469
934
216
819
862
151
120
746
661
726
488
912
183
595
176
507
144
369
225
766
863
584
985
251
891
557
793
352
419
578
459
295
613
939
669
359
47
818
802
481
94
616
617
697
774
230
793
138
872
89
357
501
127
310
70
411
85
727
971
713
906
48
633
404
667
654
326
397
987
77
930
346
637
899
235
158
150
643
768
581
814
990
69
814
754
742
772
896
193
528
453
757
969
501
583
911
633
170
728
187
605
644
125
924
629
933
233
758
978
126
279
670
242
501
545
617
991
619
87
609
863
119
543
951
386
662
809
876
707
127
187
349
957
574
681
357
76
911
70
393
254
826
154
97
831
575
698
640
175
227
924
680
306
561
346
661
426
557
165
972
217
376
411
242
739
471
769
611
708
828
191
57
85
845
320
234
506
443
607
312
691
644
183
996
625
745
506
108
884
870
89
746
112
80
303
962
534
967
534
474
822
233
92
329
761
583
423
373
366
822
336
545
672
77
812
739
469
150
818
747
764
646
443
196
530
108
941
40
501
734
737
183
770
231
177
805
899
214
857
435
69
219
275
750
540
277
127
194
102
951
986
226
251
859
194
751
532
406
837
170
131
845
430
186
618
158
562
665
89
456
161
403
467
516
800
372
748
140
243
240
113
370
397
68
939
792
210
894
58
169
630
901
648
268
432
621
255
846
162
896
606
987
764
40
97
62
729
289
159
898
997
78
572
111
684
223
787
486
468
346
212
611
782
541
164
234
950
343
172
228
637
502
539
595
464
672
976
344
900
249
516
630
71
559
366
78
697
443
326
627
894
875
48
713
815
51
437
716
169
253
147
58
88
110
699
603
423
199
190
470
558
977
361
870
961
895
922
74
487
141
346
535
509
961
757
59
604
901
125
607
622
292
717
821
672
511
53
887
454
252
93
85
320
380
325
478
947
509
774
363
51
178
925
115
126
42
503
365
848
781
465
198
318
578
242
647
927
167
849
944
275
966
410
178
154
606
905
636
857
297
887
813
278
798
286
813
255
350
659
71
674
620
744
228
499
452
456
361
130
248
791
575
612
247
659
792
518
874
893
946
626
711
247
682
543
440
131
737
789
950
298
556
84
324
973
890
418
300
873
181
467
772
974
669
807
589
281
938
193
822
959
754
100
207
877
763
963
147
746
448
235
507
327
240
409
714
760
806
69
970
303
572
793
775
774
151
294
444
750
394
211
501
835
481
905
351
383
380
344
241
480
606
990
223
58
236
121
817
516
495
244
463
431
366
363
681
898
838
145
167
742
576
115
834
674
135
875
435
87
730
997
85
378
978
853
279
312
692
506
94
419
159
737
190
345
312
419
545
810
511
871
938
631
373
43
365
816
281
465
618
662
193
672
994
181
298
207
923
222
751
571
111
957
157
600
900
630
957
701
340
536
173
186
640
874
171
220
959
482
944
145
830
526
670
97
894
876
100
146
219
795
81
179
93
613
256
966
327
371
279
564
431
100
926
814
542
432
915
850
883
970
673
980
601
660
105
545
572
565
702
638
977
784
600
515
842
393
445
638
328
721
678
317
912
957
598
195
300
170
815
716
696
664
233
906
424
177
939
897
73
507
234
617
785
89
696
846
499
124
233
399
149
735
476
114
459
353
731
601
97
622
301
801
680
732
952
737
328
54
456
729
307
859
983
200
185
89
928
700
666
504
364
224
380
981
709
663
539
61
332
268
234
260
96
73
160
89
213
351
718
43
217
974
646
775
474
462
468
119
196
238
80
910
768
145
483
809
683
596
136
554
321
445
52
731
782
957
430
598
415
880
238
567
387
157
578
962
681
90
904
278
274
727
463
978
736
756
863
697
143
643
544
227
164
49
395
868
390
857
335
975
218
334
977
765
437
337
808
412
926
727
972
260
350
567
380
175
664
281
483
423
281
711
159
402
463
972
84
601
802
152
165
814
328
252
657
159
852
589
421
539
408
903
231
721
734
945
930
704
355
492
527
146
195
761
47
892
976
938
714
350
619
592
160
201
58
714
554
845
200
224
674
336
924
731
641
966
924
85
695
157
447
954
292
724
304
483
118
601
49
758
875
935
588
809
353
260
354
548
833
533
871
949
358
473
63
163
816
700
477
677
389
467
724
998
472
842
927
744
994
919
147
935
633
872
291
227
960
677
430
684
899
267
538
543
524
125
195
281
384
153
568
311
764
517
859
145
721
123
141
203
982
869
417
84
573
63
622
831
646
668
218
697
801
256
706
273
181
479
410
624
691
92
604
468
123
225
463
826
463
649
851
568
518
519
439
119
600
264
812
717
988
338
314
242
616
952
522
478
537
922
707
803
439
576
227
144
462
546
163
705
421
348
641
148
76
309
271
435
344
810
270
112
923
111
183
206
654
474
125
961
557
754
545
785
494
619
127
534
747
728
873
368
447
676
179
443
374
374
425
730
899
688
845
735
407
195
510
48
235
428
361
620
643
433
864
139
156
549
457
437
858
554
604
532
142
962
790
831
925
298
574
964
411
651
583
443
579
188
860
268
931
731
854
601
178
844
512
949
864
911
578
40
368
247
308
44
420
382
674
471
423
940
554
620
672
882
104
733
779
234
342
472
135
788
630
518
137
938
799
469
357
580
781
654
787
476
728
396
303
541
982
631
129
718
854
370
971
58
766
400
405
663
990
118
502
283
740
725
958
698
917
771
739
815
761
72
522
271
829
417
518
659
825
784
322
646
740
210
418
577
211
167
233
374
580
651
390
454
668
700
558
816
164
348
621
806
140
705
710
378
138
92
95
86
90
681
824
703
551
990
678
978
842
933
326
665
597
506
352
178
906
606
561
829
804
937
111
734
772
476
266
391
725
587
461
627
47
599
280
955
384
100
421
898
762
267
830
343
628
261
173
238
633
232
924
480
619
966
687
452
827
709
670
486
116
866
384
43
829
342
686
769
480
903
183
270
107
941
644
670
297
112
58
132
764
897
819
779
394
601
196
965
66
705
228
898
152
526
643
539
642
658
936
442
591
690
803
703
266
641
74
269
151
664
683
882
262
931
56
610
645
940
805
754
752
314
707
343
620
694
672
994
78
537
912
859
75
644
308
602
46
412
204
227
270
738
679
88
303
842
632
927
131
559
280
231
348
937
950
135
647
954
974
208
711
492
214
370
435
981
370
646
862
611
759
105
52
736
314
604
417
844
863
401
60
398
603
497
711
946
566
931
961
488
138
163
88
666
345
124
995
406
797
627
198
837
385
263
462
977
333
960
450
687
539
264
120
675
69
629
393
119
587
875
982
206
274
905
780
795
704
886
455
48
431
53
727
782
271
702
775
987
917
289
113
843
381
941
521
974
895
429
45
519
424
879
718
336
785
967
814
708
507
999
54
335
929
931
153
983
582
55
557
401
447
680
142
362
167
280
279
740
832
967
419
174
649
431
564
714
909
131
716
808
239
619
358
424
890
974
213
705
295
505
610
100
312
377
838
468
824
992
610
807
898
102
671
709
539
840
57
395
943
869
900
727
127
960
478
846
961
918
520
279
764
800
889
658
100
429
739
895
227
59
763
857
155
270
738
262
865
516
142
261
914
157
740
426
400
735
764
505
422
627
478
434
970
625
856
677
371
459
788
48
753
217
763
120
332
134
405
642
377
367
690
621
439
587
651
441
213
662
229
562
131
577
719
601
547
470
496
374
686
56
181
354
893
141
744
779
982
340
239
641
792
591
504
764
42
352
821
265
123
134
381
659
790
670
578
382
222
487
822
181
88
866
455
753
388
134
43
828
189
662
714
373
631
69
991
98
491
724
894
909
612
815
928
444
209
944
516
895
772
162
161
306
44
806
739
483
137
970
840
268
486
67
938
532
101
943
565
138
714
820
810
280
236
924
170
263
841
466
366
693
849
64
776
539
238
709
103
376
313
284
228
707
952
453
647
765
240
688
950
865
140
84
159
530
316
42
472
156
874
352
810
719
276
899
642
520
353
79
819
595
301
57
575
960
186
481
831
90
161
515
579
751
733
777
768
508
839
395
436
750
621
567
804
698
80
144
768
40
221
718
631
725
891
910
518
763
903
698
41
530
809
718
912
739
559
271
867
775
770
847
796
458
987
370
590
211
184
592
772
395
193
493
354
206
943
68
811
949
751
310
247
913
808
782
753
430
126
280
874
262
870
750
467
472
540
624
289
892
939
894
536
271
480
233
577
44
862
729
966
627
745
293
274
764
210
223
515
481
322
722
824
373
436
206
616
473
49
311
654
183
322
845
364
856
168
992
271
851
828
219
298
595
739
991
277
582
44
332
515
731
695
369
560
184
332
728
493
497
113
665
580
102
74
913
231
786
383
846
655
148
471
116
852
993
239
344
58
469
131
145
237
229
992
499
284
352
394
878
240
430
106
471
405
452
445
507
89
804
325
399
600
305
959
657
500
138
470
524
885
727
942
588
557
134
881
406
785
374
436
611
858
475
346
571
214
508
266
101
142
170
178
671
677
216
230
720
234
238
329
560
616
362
329
223
529
140
200
897
436
132
577
723
220
758
398
199
220
541
256
502
273
54
182
325
399
408
734
430
847
471
811
572
666
938
48
612
234
93
277
167
993
56
869
208
146
484
534
536
996
654
359
751
731
602
307
912
64
271
44
514
408
920
670
891
978
408
398
248
281
326
548
401
557
835
293
965
620
84
171
202
672
137
939
844
245
243
323
692
319
490
733
261
716
593
426
463
152
366
292
762
568
155
643
502
553
480
363
182
820
126
877
852
774
169
989
491
615
924
665
153
470
938
955
140
349
58
762
844
580
504
512
870
969
942
565
617
968
443
974
402
965
182
494
501
842
470
533
378
515
847
360
443
110
160
282
927
398
873
972
544
845
46
642
141
179
541
276
466
154
166
100
450
347
436
522
337
296
94
671
658
55
424
583
303
254
758
143
522
398
609
123
216
273
409
551
976
539
730
292
829
640
515
796
184
609
937
340
665
467
90
943
290
630
635
412
233
294
316
821
831
777
421
653
336
559
147
882
153
314
56
360
396
276
746
130
755
957
651
541
963
816
135
929
624
496
502
944
162
518
341
807
394
395
781
759
362
41
113
309
982
972
459
56
251
324
67
501
566
721
760
657
184
225
128
650
108
464
430
812
721
61
244
863
733
183
250
779
532
496
248
550
830
710
589
677
909
901
175
790
617
897
649
773
646
830
884
582
661
405
162
352
749
632
892
417
923
240
227
187
620
734
762
124
558
955
123
214
343
130
178
986
610
928
984
274
257
998
164
807
307
163
576
210
326
746
433
488
850
906
479
339
922
310
332
980
637
743
755
216
181
472
288
788
895
932
593
615
672
663
334
197
691
506
304
802
943
639
729
61
979
513
150
513
845
159
267
873
708
834
84
410
393
745
152
966
704
663
863
87
282
951
660
175
919
951
46
663
866
999
843
423
875
105
53
835
759
960
896
58
295
406
835
360
93
171
131
871
581
901
681
897
289
721
782
423
875
200
208
483
448
231
983
409
795
687
505
370
73
450
653
554
190
343
140
906
926
320
443
462
106
140
504
418
923
132
477
208
378
557
852
222
720
859
49
230
811
388
475
923
741
938
432
636
434
619
409
669
436
872
699
819
399
794
758
506
121
692
639
350
125
479
434
326
562
972
216
762
693
264
679
891
310
959
262
596
425
729
462
996
183
942
493
814
912
302
956
241
652
825
498
225
764
606
383
218
645
610
66
176
419
159
527
909
520
615
300
305
380
648
122
808
356
243
751
424
937
540
519
947
441
663
175
176
508
214
893
121
333
295
514
937
389
158
939
549
734
208
221
646
139
910
455
784
704
455
155
863
936
221
547
625
326
129
105
671
885
220
781
650
595
445
594
280
506
728
848
161
336
871
307
220
119
732
43
566
132
488
420
330
207
339
403
801
747
537
356
789
114
70
601
149
185
594
410
794
58
500
653
197
416
117
586
863
56
977
397
594
222
678
588
615
165
352
834
462
538
812
257
843
335
455
911
142
643
357
659
601
384
199
974
853
956
485
453
295
343
329
686
66
488
989
785
689
242
937
702
274
208
889
576
884
883
344
289
858
131
358
661
373
70
562
614
676
389
862
176
332
891
487
944
180
342
65
619
734
752
855
904
745
893
965
899
927
470
143
56
193
800
199
573
893
334
156
715
743
658
792
46
96
975
130
137
427
175
692
600
186
424
974
992
598
559
184
329
938
175
943
938
135
627
154
738
519
843
932
211
815
404
587
955
981
823
888
190
739
744
239
476
906
493
893
525
611
194
500
620
161
422
72
70
265
232
540
166
544
61
860
560
809
735
415
299
48
517
564
625
701
609
385
527
983
991
943
273
803
663
291
696
802
940
752
715
967
788
417
799
139
321
677
740
797
982
789
212
346
238
392
348
919
561
724
275
729
442
721
690
831
526
706
190
670
724
901
585
170
680
699
47
570
183
774
448
386
749
756
630
805
176
884
774
317
182
235
997
367
870
894
192
483
166
337
932
267
246
793
237
363
484
402
691
965
227
607
290
804
417
809
568
64
262
618
218
753
175
361
415
555
436
566
831
402
627
629
447
326
911
596
166
420
737
985
197
465
280
625
68
959
478
862
373
677
297
896
353
391
41
909
287
818
381
919
538
464
282
931
495
156
532
392
977
231
153
906
172
657
174
822
607
163
793
315
72
808
579
681
120
731
918
509
817
157
141
230
697
219
738
799
546
495
887
987
192
743
925
953
256
556
701
934
590
352
929
476
833
940
747
265
714
655
688
705
808
953
80
476
316
492
730
379
978
107
257
894
992
249
137
549
535
585
94
663
964
892
713
320
927
56
78
670
810
139
678
104
707
133
927
694
85
115
77
617
212
948
965
470
642
311
439
998
857
972
531
697
629
476
874
336
172
85
687
328
730
731
660
899
856
889
295
491
59
534
890
196
319
816
639
52
117
915
555
853
237
274
673
964
920
530
149
120
970
866
157
761
162
882
356
286
730
123
668
635
211
481
756
833
346
508
728
688
289
296
902
880
381
558
995
738
268
719
227
935
341
252
645
195
989
725
805
46
382
148
451
950
217
793
490
325
726
642
465
693
440
140
990
326
730
951
255
214
863
86
113
991
578
662
304
508
764
713
144
51
233
722
455
616
153
319
335
366
66
347
249
780
741
399
949
605
976
641
888
659
696
992
177
433
758
274
278
489
761
717
907
577
761
894
472
420
627
679
515
615
278
637
94
123
899
478
123
91
990
719
587
144
886
222
744
453
882
691
630
791
738
512
887
156
545
862
179
524
359
98
365
865
517
933
954
790
609
187
170
394
215
813
527
120
858
712
523
717
567
528
770
908
45
849
318
580
670
292
853
541
740
755
395
304
341
41
83
512
996
888
547
669
67
671
56
597
872
944
271
806
207
852
883
976
728
536
187
978
654
838
799
694
614
492
228
108
466
410
67
145
713
977
988
985
699
952
781
614
281
434
82
618
186
981
170
488
284
51
94
82
75
899
174
48
40
897
193
154
148
450
804
859
195
685
83
294
325
963
83
487
605
836
127
486
262
610
451
119
342
456
200
321
905
361
501
423
561
415
350
348
973
505
875
222
279
440
478
694
169
307
443
108
402
108
434
137
800
279
359
700
168
350
516
115
623
691
245
128
601
624
903
323
159
610
925
356
648
551
192
130
671
185
533
360
568
390
456
361
292
540
279
427
234
70
328
415
485
345
879
411
343
732
687
577
625
309
555
355
607
669
338
750
634
618
526
167
938
224
836
418
959
798
636
91
181
168
978
742
485
556
810
820
634
706
794
734
783
129
436
995
797
269
930
400
718
536
673
800
444
702
810
154
430
991
846
296
633
202
825
743
108
621
765
614
681
360
826
193
493
139
621
409
948
756
374
970
87
151
487
530
863
849
411
173
698
759
802
322
92
846
637
939
103
388
793
327
932
919
237
74
626
137
847
81
253
160
708
117
442
773
865
559
764
476
218
494
917
416
727
308
839
582
324
995
918
299
830
256
464
932
359
106
363
164
549
828
747
148
652
928
820
508
384
976
683
535
238
463
715
148
270
673
405
797
910
897
669
456
63
527
976
491
133
511
475
383
558
205
681
291
563
750
716
799
500
421
477
431
407
832
587
553
759
477
777
913
314
295
284
477
627
553
759
136
792
737
558
54
723
459
993
298
714
284
771
840
250
943
532
167
388
807
757
885
452
239
452
961
751
393
516
846
682
614
443
709
960
921
123
289
278
478
605
462
606
220
404
814
419
946
48
983
448
852
963
264
180
74
63
387
513
654
443
623
512
60
941
108
421
279
646
132
70
435
969
435
487
653
573
408
409
549
580
984
237
78
136
346
781
105
909
702
734
590
298
718
92
111
886
627
65
399
67
617
271
150
176
549
984
133
498
263
334
906
381
613
899
174
194
589
929
972
574
633
870
107
367
404
619
327
732
299
264
168
183
744
165
937
204
66
647
805
813
194
796
691
247
251
73
466
113
61
872
262
700
478
125
615
834
692
704
761
565
826
761
810
158
125
956
209
225
114
881
287
389
55
786
941
361
47
167
810
655
610
671
683
699
802
814
142
541
493
561
836
110
427
995
976
49
410
851
166
553
153
643
88
468
587
262
313
904
931
463
255
927
267
625
840
472
593
499
157
153
752
847
275
930
216
480
503
262
544
913
81
310
281
915
253
205
713
484
259
354
888
836
173
716
721
166
559
883
433
895
69
655
326
456
985
89
702
380
615
155
262
202
529
418
663
640
577
816
323
298
687
55
689
47
395
303
111
98
536
521
218
441
773
447
426
714
588
627
722
910
701
974
491
177
140
461
630
288
940
327
812
716
373
311
511
571
373
61
507
436
980
945
600
939
412
408
707
810
987
589
136
656
642
569
315
705
784
370
402
231
653
47
555
519
515
253
427
899
252
107
428
172
543
732
648
159
105
89
949
585
446
550
108
703
462
792
987
215
716
235
493
646
440
527
255
270
798
724
878
718
591
98
344
278
325
966
89
823
41
710
788
51
550
615
140
882
798
131
149
598
463
367
81
923
83
67
613
702
476
541
584
347
682
183
887
338
290
238
284
538
46
783
611
227
622
181
253
894
256
827
555
398
928
308
813
453
236
313
346
540
627
595
40
285
552
135
246
417
869
61
758
167
395
44
357
595
321
278
489
325
985
69
304
675
311
82
728
481
43
324
686
73
199
293
100
284
820
185
258
43
956
812
695
81
478
474
228
498
894
958
832
828
529
93
495
199
565
86
59
993
224
608
77
549
313
637
657
373
573
253
373
939
635
852
911
693
884
225
423
585
424
514
716
345
42
598
332
995
514
141
72
216
565
141
739
89
202
577
974
60
650
154
698
492
42
429
965
334
275
98
666
204
589
693
308
547
971
998
275
912
379
949
558
555
737
747
323
967
472
985
710
925
666
205
603
448
388
994
235
715
350
41
626
742
330
875
134
280
974
945
410
713
259
381
321
296
705
877
477
933
234
591
370
493
287
554
952
640
230
583
293
714
292
666
185
985
310
967
919
488
454
379
195
249
430
382
540
341
48
847
819
982
805
896
577
86
106
414
853
273
862
881
383
758
195
211
780
503
590
139
122
771
501
179
604
149
95
396
310
335
589
554
169
830
342
399
769
457
169
410
137
322
591
897
854
413
330
60
173
323
421
790
593
798
423
617
912
465
978
611
228
214
719
419
719
673
452
990
587
982
550
988
793
376
156
787
291
707
606
155
271
757
47
793
318
438
158
53
252
85
571
278
917
389
971
351
809
933
474
599
330
617
750
862
866
695
803
108
741
173
433
695
371
355
235
424
709
978
161
510
554
382
80
805
491
91
957
107
594
306
278
631
242
727
835
107
57
152
454
369
949
642
712
917
928
774
812
214
898
496
248
982
852
849
514
781
933
634
320
889
87
522
887
411
799
870
974
529
470
649
815
910
709
65
282
878
636
418
612
746
275
864
358
622
640
771
544
511
322
595
972
655
527
80
589
353
643
526
880
989
764
868
474
642
847
338
499
761
234
136
276
79
160
381
604
839
180
174
198
594
189
887
453
716
453
671
548
890
987
681
708
683
880
355
912
678
676
803
782
343
867
576
349
394
396
93
457
706
351
996
561
394
683
537
858
171
252
661
405
803
656
838
349
669
144
399
186
374
302
995
146
244
115
282
737
188
348
812
130
100
492
890
982
418
48
172
384
766
970
504
258
359
72
490
181
627
985
453
915
976
639
264
454
186
93
320
832
820
338
521
900
863
377
862
800
719
762
773
617
300
217
774
990
268
703
584
910
203
353
255
769
639
813
801
838
101
795
270
328
726
56
628
631
46
506
750
419
229
325
353
85
997
250
152
608
320
74
924
915
853
990
396
539
173
81
572
575
965
803
818
643
346
314
179
550
369
897
698
55
495
267
358
734
649
327
765
970
739
568
380
169
237
915
94
265
147
678
418
141
945
633
930
845
223
864
955
523
879
359
831
92
571
178
214
156
65
602
380
717
870
926
696
966
629
327
142
84
631
990
287
689
653
223
897
385
733
829
46
256
269
243
563
755
52
587
95
452
441
73
518
149
109
482
853
835
498
607
436
547
500
449
165
44
764
242
299
794
618
979
611
237
540
563
136
678
658
196
938
600
647
865
926
348
875
329
715
883
82
716
693
185
910
901
310
833
709
783
475
282
438
889
642
509
828
283
391
538
531
324
722
780
528
328
894
295
797
503
697
446
977
461
453
874
132
407
47
447
898
216
986
820
878
422
335
187
855
212
751
885
240
553
200
798
858
880
769
824
53
80
954
137
478
762
154
965
214
513
981
617
261
821
728
59
345
790
192
391
945
717
685
158
557
531
240
277
853
888
297
155
75
177
381
486
286
366
293
778
87
71
266
647
43
621
403
453
517
138
153
199
929
801
656
840
78
624
425
735
543
871
481
153
527
44
204
591
945
361
332
380
43
373
496
452
995
622
955
479
87
691
537
490
345
277
554
422
608
230
203
159
382
511
41
270
640
998
849
950
694
64
280
147
864
219
288
611
154
915
185
57
549
646
46
624
441
108
870
138
859
876
862
725
423
472
632
264
325
288
732
546
262
665
918
749
307
364
60
653
493
731
284
498
172
924
566
520
729
472
590
306
655
924
156
574
229
585
751
330
768
685
212
963
611
831
806
623
326
731
300
441
438
991
373
756
481
506
265
400
967
317
973
143
859
322
946
788
911
443
636
776
499
453
596
699
718
476
847
430
462
668
64
699
71
277
644
570
584
241
497
823
939
581
648
704
720
751
976
812
322
699
738
936
196
581
826
382
477
961
183
159
133
537
415
560
578
463
212
106
484
46
361
380
976
682
180
248
883
407
216
85
95
940
350
560
481
863
805
969
956
226
236
803
814
716
574
503
101
234
281
810
483
100
700
423
572
353
986
545
545
915
537
429
842
515
872
661
767
547
842
145
616
337
616
293
134
420
230
724
793
406
46
407
448
132
671
490
672
938
626
933
474
575
275
627
778
930
788
267
91
844
367
87
311
827
185
575
194
832
189
642
621
478
278
827
131
558
763
543
112
625
854
134
80
48
568
800
455
989
787
655
982
519
297
140
458
271
866
316
904
118
931
822
526
511
188
791
121
463
675
359
643
748
969
630
617
795
197
673
899
945
722
355
680
618
630
186
449
161
672
389
876
326
180
945
708
56
216
740
155
256
52
469
452
492
599
145
406
413
607
512
248
278
923
594
789
930
115
213
502
960
879
877
347
383
121
871
958
549
899
558
809
127
82
913
789
488
251
517
733
883
189
976
953
659
672
215
759
857
260
51
148
411
56
275
186
905
957
567
577
405
127
613
744
371
923
841
958
853
48
81
547
366
315
355
396
176
48
875
614
76
955
229
562
681
826
443
623
215
214
323
883
698
252
297
979
96
138
229
995
168
853
684
655
439
816
975
428
226
486
98
289
926
167
755
241
968
966
758
305
869
486
958
573
227
580
556
81
303
532
249
484
523
521
719
116
812
898
841
667
876
319
979
212
166
229
102
763
212
494
272
207
311
905
345
543
698
702
305
876
817
692
488
151
613
475
437
155
856
764
677
204
420
257
816
226
492
379
174
785
203
470
546
452
750
902
892
817
126
303
732
696
433
443
494
564
742
740
737
640
322
422
464
225
280
671
585
446
494
916
675
752
83
94
361
44
657
75
258
452
275
163
623
674
370
523
635
612
826
848
837
86
397
739
225
621
327
54
877
109
841
81
824
667
883
310
139
261
585
967
694
277
856
857
863
732
78
876
986
83
574
454
875
441
834
853
519
714
231
872
407
371
750
462
514
354
179
594
257
803
580
599
932
572
704
731
655
975
317
388
169
125
454
814
844
329
810
682
89
410
392
61
976
706
380
790
538
339
994
739
334
513
767
397
145
642
920
715
96
473
293
864
350
797
438
622
184
937
610
445
759
653
794
593
910
338
91
60
341
239
809
202
312
946
700
405
342
474
133
133
420
109
815
699
220
243
326
972
959
113
610
365
160
202
998
344
517
819
382
42
584
508
749
804
184
921
356
113
495
625
771
831
946
526
721
458
465
910
194
309
542
132
710
641
917
654
603
113
204
789
130
764
121
937
840
706
485
920
77
304
163
133
479
121
293
275
376
64
539
944
868
311
441
234
710
816
916
56
569
418
372
440
878
274
311
64
467
612
519
245
203
175
874
651
892
468
370
207
275
148
454
45
813
945
996
454
190
858
636
263
720
240
233
185
842
62
428
613
869
40
589
385
223
967
849
617
568
670
430
666
973
303
281
927
300
535
238
961
823
433
627
662
360
861
319
270
429
205
889
114
536
258
261
862
686
689
982
68
619
191
67
716
405
168
712
316
702
810
148
797
643
800
432
315
218
962
75
249
526
878
423
653
364
604
911
886
321
194
135
356
344
750
603
61
554
835
780
849
79
80
734
863
336
510
540
253
140
813
863
266
216
636
691
365
306
324
731
280
236
747
916
79
984
80
729
66
406
431
108
873
455
214
620
216
365
739
51
959
844
344
469
897
942
970
122
96
570
276
458
612
73
84
125
736
998
919
577
811
624
466
62
430
169
543
480
424
359
232
368
253
701
846
891
827
748
867
149
986
771
896
174
818
542
472
858
743
670
44
891
190
579
207
205
200
569
926
40
534
359
864
976
918
555
342
362
998
843
709
371
745
440
342
475
766
914
257
267
356
365
859
253
166
185
518
649
126
415
241
977
851
386
115
500
208
490
857
271
177
616
425
966
916
178
589
405
556
614
483
310
432
638
411
515
788
952
700
599
585
952
664
758
234
685
395
826
281
907
421
976
299
776
439
480
685
618
165
658
131
109
62
726
187
196
912
941
137
674
774
503
157
974
40
281
586
330
336
981
827
529
297
640
810
740
436
573
639
358
480
425
140
224
252
498
471
304
489
944
913
291
114
224
384
221
842
309
337
184
828
110
669
98
554
696
138
81
214
337
719
718
471
511
189
507
749
490
325
112
481
392
844
63
998
913
318
470
996
126
594
176
480
934
533
643
147
336
726
791
785
331
355
546
689
299
688
405
837
402
722
327
439
698
113
977
457
825
281
870
512
422
346
773
656
449
552
453
152
721
195
54
864
329
941
653
477
145
781
659
684
275
367
747
954
746
158
966
515
972
349
478
530
388
208
691
918
631
202
610
709
879
677
745
740
559
321
718
401
727
404
757
959
658
951
101
858
208
632
901
768
522
648
864
494
800
523
614
573
98
711
509
976
365
872
122
957
659
61
815
275
548
629
511
368
772
620
749
58
965
955
428
634
154
709
74
724
909
351
548
167
986
996
745
404
44
755
78
712
880
494
302
708
741
517
746
927
540
342
100
181
375
371
201
972
69
670
971
837
690
689
91
555
253
143
74
857
591
659
212
350
604
424
625
78
386
360
290
82
81
866
761
391
928
963
155
222
673
584
698
460
207
280
428
463
851
220
439
202
545
423
152
300
316
631
927
872
549
925
365
258
543
728
659
751
228
710
934
287
78
60
300
908
900
593
486
43
709
652
415
886
660
785
191
56
583
183
682
323
753
120
273
940
896
876
581
70
595
217
821
799
612
328
518
381
872
845
507
577
847
726
995
981
42
611
879
78
420
187
698
595
491
331
651
356
899
151
577
140
284
738
209
266
154
69
92
181
491
501
984
913
887
737
196
864
409
284
490
705
518
345
266
156
308
421
243
953
788
894
45
771
845
994
440
288
335
878
953
963
67
516
575
755
841
263
732
972
942
179
215
407
802
515
387
952
945
469
677
139
188
963
402
953
729
395
842
200
815
744
463
618
703
530
861
48
763
379
711
116
402
255
96
86
282
527
561
429
555
503
907
678
886
836
500
167
62
444
148
792
343
522
597
686
840
752
187
396
336
666
870
116
450
690
867
92
397
770
285
152
114
863
811
211
377
759
111
227
280
471
522
903
350
903
90
533
402
521
107
490
388
802
919
317
311
277
976
581
592
932
721
746
973
721
366
595
428
61
644
537
658
872
251
463
405
310
866
203
798
541
965
282
382
213
289
905
102
365
42
179
864
536
680
953
870
599
135
57
926
221
756
868
639
343
62
250
952
235
551
809
281
412
765
122
622
975
105
772
535
910
101
656
73
383
673
206
630
431
887
73
675
476
956
919
965
811
77
808
960
188
796
60
165
326
404
512
995
65
325
745
418
361
646
287
913
775
792
299
893
109
742
598
323
447
439
567
412
888
701
703
372
564
708
185
446
749
816
507
321
780
336
486
969
152
899
849
117
340
924
701
650
554
485
267
572
252
451
325
493
128
930
671
588
722
44
562
594
209
788
265
328
517
979
635
967
151
477
591
82
606
167
540
124
411
654
468
529
666
365
773
228
372
543
854
972
195
231
709
718
959
272
220
500
208
798
613
905
970
484
370
599
910
923
779
103
57
777
895
240
863
185
822
952
888
524
602
900
470
704
705
609
416
759
821
674
639
730
592
132
452
242
378
678
104
727
786
275
772
991
871
570
304
612
867
938
390
601
610
581
164
314
592
63
91
277
307
185
259
966
233
686
867
897
489
123
296
882
992
575
849
167
529
322
110
665
580
826
932
757
417
345
399
147
601
922
573
481
809
124
962
614
925
410
208
651
175
574
383
331
811
829
356
49
712
62
512
171
882
946
368
584
741
822
778
398
43
423
210
205
819
661
294
54
651
491
620
81
263
503
525
137
592
141
805
606
208
466
475
297
113
543
474
633
686
273
321
592
227
986
697
917
751
551
47
935
574
476
598
811
330
563
405
592
492
571
543
79
554
205
250
530
982
743
155
951
862
656
687
850
290
49
100
535
830
899
530
404
773
607
634
591
668
927
703
836
154
497
563
383
716
115
550
924
270
448
663
336
944
760
512
509
774
837
910
204
447
654
603
566
661
80
578
699
326
890
918
799
647
507
168
918
422
112
831
690
868
924
237
825
564
443
126
885
54
593
108
258
968
167
365
104
860
293
201
593
421
716
983
80
550
486
749
42
307
309
622
165
304
578
296
900
531
709
372
736
130
218
488
220
640
660
456
787
173
838
451
431
877
317
825
240
467
87
49
215
163
884
71
598
558
309
92
742
556
522
168
226
947
812
341
985
95
67
863
935
539
739
430
931
791
920
762
174
171
520
832
687
330
225
766
624
257
622
611
42
890
129
652
468
719
931
291
989
863
302
60
291
74
469
750
517
823
658
941
159
528
191
350
788
973
368
149
621
461
601
717
182
389
433
354
219
861
901
294
765
989
547
50
538
615
540
568
321
794
421
944
160
887
797
187
887
790
937
814
108
113
513
447
460
505
412
163
385
527
815
615
801
589
647
862
461
637
779
911
418
463
817
745
451
514
876
58
57
484
239
766
263
671
398
490
48
983
591
949
238
95
224
542
454
782
129
530
191
423
904
51
300
921
443
717
48
595
740
85
643
247
583
425
63
190
544
118
712
617
757
888
584
384
846
521
663
91
296
340
47
276
674
858
560
348
312
93
542
193
167
748
44
444
823
107
830
847
996
538
853
993
830
852
160
604
90
830
893
627
563
186
954
902
592
624
895
605
151
343
907
115
726
839
245
445
643
278
268
392
717
816
764
842
503
858
569
759
855
432
196
717
178
264
445
988
433
418
938
569
998
65
415
568
235
871
48
440
238
90
891
879
526
797
927
495
633
565
735
416
393
178
976
889
296
438
539
418
440
52
865
404
342
901
197
530
294
368
954
77
391
712
449
194
259
915
89
998
572
308
591
951
725
264
550
657
782
96
74
915
924
832
683
289
551
341
250
426
810
470
175
579
412
418
265
638
905
911
763
765
138
997
197
444
933
254
356
452
718
917
991
463
987
911
972
776
796
986
941
336
823
163
509
97
390
202
41
574
243
311
807
93
470
947
286
692
337
247
209
292
87
171
54
748
77
897
855
180
99
89
571
502
736
594
266
76
929
708
41
832
133
762
827
857
952
246
494
610
130
581
938
591
836
48
314
555
716
272
277
287
144
291
578
809
897
742
113
925
338
269
949
359
82
399
858
203
815
597
559
396
856
239
151
274
817
636
140
578
978
494
382
309
584
386
806
44
554
847
118
642
926
763
145
242
621
428
997
474
944
675
927
530
157
782
677
351
764
209
792
267
194
581
962
444
759
514
793
151
360
298
888
122
979
160
584
133
352
605
528
989
599
816
375
576
260
617
498
215
46
911
788
220
503
144
827
837
294
252
470
321
147
428
824
145
480
417
283
431
918
212
909
67
331
82
962
414
642
977
42
532
140
477
615
347
173
915
968
359
803
288
84
419
168
403
49
712
157
187
873
823
988
715
574
368
233
270
344
262
524
189
918
546
763
311
171
303
63
479
506
405
149
872
695
807
545
409
416
203
631
491
179
468
561
565
834
318
469
241
514
185
111
181
602
285
860
898
984
156
428
400
52
775
167
586
557
799
624
110
544
278
327
235
975
566
370
830
944
449
262
93
809
965
443
125
681
975
722
61
48
703
442
418
860
640
948
504
442
569
155
983
690
616
798
675
56
834
392
989
344
212
267
414
338
883
936
821
152
56
793
798
320
599
923
254
934
432
842
723
490
921
250
255
349
171
178
607
496
267
936
359
101
812
104
139
589
920
446
637
629
290
159
443
661
660
191
122
643
828
993
83
894
125
156
932
372
452
583
55
660
604
44
721
995
130
140
516
829
801
344
930
962
737
200
98
75
186
923
862
532
65
527
288
347
847
521
934
594
295
117
912
458
174
701
890
223
279
715
476
951
291
560
301
72
845
734
136
765
742
969
178
98
373
77
345
689
391
248
689
253
554
672
219
614
655
113
365
823
867
154
152
69
344
889
973
650
329
438
829
214
375
576
965
82
700
990
703
231
347
830
127
670
263
378
546
653
266
677
104
890
466
218
552
578
992
339
996
303
772
959
351
892
350
305
492
129
959
606
154
399
254
897
649
910
322
654
471
118
373
335
54
954
922
779
63
833
884
285
77
499
112
492
239
922
993
592
850
455
665
937
494
639
420
565
773
203
683
602
861
312
146
109
879
672
891
76
154
49
887
213
689
902
871
416
958
313
397
414
763
478
617
697
341
95
524
282
44
683
372
577
287
629
688
536
836
794
565
106
278
193
968
81
632
384
52
791
951
901
805
646
148
776
777
822
98
142
544
346
565
963
996
656
330
319
763
890
152
992
930
47
114
849
425
189
492
662
900
592
922
818
79
568
298
335
640
185
856
558
877
957
214
90
77
345
196
87
701
110
889
298
563
768
355
905
745
567
787
466
930
816
756
735
883
559
433
423
513
513
510
724
857
516
336
115
864
878
204
213
318
287
857
518
876
868
806
665
165
278
602
366
86
491
570
824
90
209
263
983
823
789
745
822
430
809
533
401
905
641
154
524
430
340
635
456
817
608
548
691
407
332
42
385
503
292
416
889
462
819
105
238
196
396
679
544
198
376
905
489
988
472
710
837
310
269
128
746
674
922
461
671
441
337
926
731
363
497
949
589
156
230
443
584
355
975
849
219
500
346
251
956
279
780
834
79
401
854
791
867
966
337
309
644
500
129
554
886
63
59
921
239
703
648
296
373
847
852
199
341
783
597
456
320
620
327
344
633
158
674
134
728
714
313
581
331
471
669
300
472
140
306
710
599
734
912
679
200
59
718
997
370
812
608
652
703
602
963
585
280
254
660
340
165
795
206
641
890
412
530
956
929
953
539
355
788
883
211
258
80
419
779
543
511
155
555
839
854
341
770
550
455
302
432
493
656
43
697
272
749
582
201
157
590
598
942
432
54
880
378
780
925
717
906
761
148
440
216
724
496
381
80
152
240
910
851
616
447
850
555
97
871
297
621
336
385
593
640
97
218
731
860
639
121
379
339
215
984
535
490
362
221
864
749
141
226
799
659
992
121
149
531
287
925
329
772
760
279
596
933
341
570
830
524
587
728
479
212
616
605
259
205
944
202
506
565
349
724
794
117
118
693
386
883
589
719
544
141
650
156
369
959
682
854
358
196
577
653
631
486
659
278
852
955
632
696
401
814
680
42
516
851
816
49
80
764
722
398
516
656
667
484
211
738
113
103
445
996
905
183
214
148
900
308
459
342
244
235
296
383
670
928
213
376
734
634
726
172
569
872
606
52
501
613
132
733
562
709
930
399
127
666
589
289
382
895
805
162
935
380
417
967
934
753
277
278
808
539
370
498
867
887
739
763
787
572
621
658
438
192
966
271
520
383
951
913
920
85
779
817
734
172
418
988
840
541
934
784
134
807
556
429
508
466
226
954
924
251
157
258
622
527
365
159
558
95
613
771
297
818
816
42
313
402
102
810
171
89
287
191
709
603
859
721
326
406
718
149
727
292
956
743
866
467
926
900
470
55
729
378
212
990
786
705
230
596
719
79
908
363
77
261
682
694
765
206
997
359
591
247
583
181
121
667
993
827
179
736
145
709
761
788
312
222
535
556
758
539
430
168
341
805
55
846
502
480
204
394
981
184
300
45
787
342
692
55
205
270
75
443
338
435
694
296
533
133
53
646
246
499
969
605
202
788
236
420
105
377
676
357
141
488
382
421
550
635
927
628
949
321
543
650
394
665
590
438
227
364
813
446
146
247
967
912
361
390
646
80
445
684
907
888
224
694
282
549
287
617
457
249
846
207
643
760
667
93
266
179
807
55
742
669
59
256
669
257
812
60
690
74
920
898
187
409
115
846
277
831
337
539
787
144
987
595
966
212
242
68
305
387
552
982
182
979
506
437
249
530
903
391
883
353
205
794
983
906
138
841
254
923
957
191
326
560
249
806
967
861
528
532
198
72
804
692
135
129
694
826
553
821
326
958
95
535
840
104
562
620
157
212
864
888
640
747
84
386
648
511
183
984
565
278
873
605
636
999
333
745
488
977
494
75
791
72
792
705
199
999
946
959
718
171
495
857
187
216
648
972
871
325
312
685
838
146
823
484
247
973
445
254
411
151
278
567
266
763
804
52
759
951
758
375
277
208
412
658
274
96
84
61
387
898
832
354
837
687
786
963
738
666
51
305
555
161
730
605
322
467
418
157
463
985
378
468
777
213
163
577
784
976
377
261
407
416
229
265
489
473
316
766
579
258
169
805
574
299
309
685
126
68
100
432
848
88
850
263
192
631
477
843
194
809
887
102
666
677
80
685
92
343
864
597
442
89
251
713
858
725
341
669
266
67
995
101
908
237
778
367
42
412
857
828
260
797
124
619
527
255
407
391
955
770
764
210
974
118
610
695
272
704
88
732
142
893
530
337
153
690
581
750
853
263
50
534
222
917
41
295
826
603
360
343
989
327
836
163
951
466
688
826
651
67
626
589
676
856
88
768
495
283
605
841
44
69
478
934
264
307
734
766
434
675
347
503
665
204
429
364
587
218
441
298
586
59
559
417
145
449
622
90
157
289
609
817
754
163
680
499
299
801
60
938
359
275
939
681
40
46
819
250
975
965
438
418
379
102
121
810
559
778
312
999
638
497
794
813
446
688
428
444
432
431
345
938
167
153
939
833
650
201
294
826
57
612
116
161
990
950
415
284
913
208
59
484
301
810
894
212
951
327
283
511
741
459
127
470
205
914
86
493
353
326
433
625
76
877
123
864
131
878
421
983
209
759
758
58
132
701
130
982
614
134
232
496
607
109
41
944
504
963
981
672
986
855
453
808
885
724
806
570
334
580
312
752
801
737
522
590
498
455
881
860
155
702
459
857
236
309
48
957
944
99
87
476
386
955
993
662
195
927
258
723
818
706
777
638
577
817
926
401
297
791
353
637
728
548
114
794
774
762
867
67
751
548
79
103
894
314
706
390
952
120
533
678
981
770
855
999
910
636
326
145
142
255
504
260
417
256
504
124
96
656
727
954
713
435
820
843
277
172
946
748
70
769
246
487
604
811
479
273
847
868
953
93
481
839
807
696
152
585
918
426
371
447
639
351
948
724
470
267
403
237
755
843
539
62
522
999
523
794
226
607
695
993
574
612
501
929
141
663
158
931
132
885
989
157
434
415
47
994
405
635
984
478
988
201
698
429
505
386
53
766
778
881
202
196
756
386
90
218
268
419
119
763
871
484
943
344
600
561
212
381
735
992
952
654
900
904
505
784
421
196
338
687
647
834
71
198
160
882
694
371
628
320
863
319
992
867
573
793
360
206
760
415
287
785
847
495
215
126
950
556
684
295
317
474
184
302
396
683
552
75
95
540
188
176
786
885
183
734
878
244
929
609
341
396
492
330
101
118
407
913
350
976
751
66
633
82
505
452
490
398
107
188
750
288
361
548
379
492
657
317
712
468
255
607
692
806
325
738
338
61
507
858
990
560
247
42
550
474
202
186
238
172
720
635
349
57
366
307
502
983
996
342
808
717
926
229
959
966
610
458
382
155
579
928
296
833
755
645
140
582
311
182
567
339
611
439
848
705
652
652
808
711
401
53
940
339
643
401
103
842
555
679
967
281
986
865
301
203
667
827
439
495
309
140
622
359
568
199
956
637
245
896
220
328
619
516
453
388
664
288
735
178
558
492
69
625
63
883
377
360
257
389
562
125
590
616
889
49
109
403
388
836
70
749
363
735
520
409
858
968
425
530
104
72
917
958
665
46
529
155
471
862
188
344
301
761
91
628
777
554
776
459
392
504
97
408
404
584
341
382
606
888
846
475
871
469
313
436
409
483
967
729
529
436
882
961
91
51
948
446
730
390
499
232
395
317
525
553
793
843
250
395
915
828
186
53
576
181
842
404
144
878
560
814
693
551
688
767
599
388
678
593
462
349
393
814
980
306
803
110
670
316
955
366
322
982
699
519
435
727
757
513
781
889
100
884
449
623
647
136
560
464
414
73
401
990
578
662
51
254
935
757
590
600
752
248
938
275
955
319
601
836
625
114
616
246
981
517
500
108
455
686
838
917
796
633
819
810
217
289
470
539
390
402
951
259
399
975
779
484
899
222
957
265
398
565
573
399
563
479
702
274
770
214
142
520
80
682
119
621
894
407
899
809
346
315
796
709
102
445
472
623
911
717
568
946
64
68
926
60
156
198
933
662
421
478
620
40
709
392
292
868
583
875
886
840
732
173
543
622
104
494
311
578
470
743
485
180
249
615
631
821
666
831
768
326
136
451
627
115
83
421
778
385
93
174
912
620
441
814
680
312
147
799
115
729
338
759
87
169
877
442
606
262
455
745
168
468
299
658
127
867
583
849
275
831
854
623
803
901
163
650
713
684
626
192
712
590
707
678
772
74
965
865
142
159
790
66
258
442
932
826
743
706
798
493
87
733
195
256
583
736
188
261
234
731
151
496
123
895
487
60
345
228
143
716
338
344
421
77
192
780
418
443
465
94
122
533
365
933
217
65
73
630
491
470
692
348
301
364
981
405
407
994
625
571
173
647
191
920
934
389
679
162
834
229
732
621
926
624
698
745
157
859
944
925
829
664
649
388
620
384
284
964
553
93
94
546
819
167
257
492
225
783
737
993
679
140
123
598
750
554
359
601
752
387
120
690
267
862
268
699
522
464
966
410
825
585
989
957
839
787
149
813
554
734
880
419
72
660
769
152
971
532
624
170
85
74
633
668
613
75
713
975
601
230
479
489
392
821
367
421
282
633
695
731
475
891
476
651
943
133
187
256
589
991
353
284
874
717
657
656
964
83
470
303
457
922
361
920
633
507
494
740
529
714
57
119
853
544
496
314
553
186
755
193
109
585
299
514
988
652
408
858
186
92
230
816
510
147
542
325
791
864
156
211
86
777
573
206
262
264
280
525
462
404
874
620
975
592
83
848
486
570
56
139
156
937
853
85
339
351
726
424
345
919
463
696
367
843
694
953
184
454
278
715
46
387
929
449
334
801
517
299
41
874
805
665
921
409
570
455
940
204
600
569
482
284
789
772
277
662
923
78
759
617
276
695
873
392
498
816
830
307
834
829
456
342
242
407
510
859
860
300
560
647
533
892
119
462
572
920
233
374
325
280
692
434
762
397
220
640
737
984
954
313
104
268
286
95
426
777
155
709
717
769
733
407
710
187
250
633
181
349
816
758
249
60
511
504
155
229
288
111
126
144
749
937
788
521
878
586
74
51
75
125
529
428
489
383
619
677
525
191
152
730
154
887
801
637
60
555
610
471
877
584
668
649
218
494
418
89
135
229
204
52
931
88
770
500
339
632
363
194
98
385
332
144
384
790
321
116
967
467
831
526
971
239
319
61
730
706
498
949
876
144
703
305
980
259
528
730
336
455
442
573
672
876
576
198
66
662
72
460
810
817
298
390
798
204
894
296
550
582
735
139
654
745
464
266
516
197
355
339
135
513
616
150
426
82
984
565
321
742
393
710
542
346
707
424
542
942
360
798
156
351
465
373
352
225
138
954
191
304
638
949
594
597
378
472
472
178
93
121
887
319
124
74
710
416
650
316
484
201
57
488
265
123
354
672
126
590
910
733
228
171
61
787
863
989
413
220
349
434
761
382
74
721
233
456
986
153
325
757
342
977
490
280
792
655
835
262
603
484
630
239
658
530
362
449
384
971
962
529
640
843
784
328
578
359
188
928
231
615
528
770
663
486
212
495
422
841
266
143
190
414
705
351
735
573
518
677
711
326
832
76
512
906
738
63
861
574
565
169
229
696
576
753
236
208
191
372
369
607
55
322
200
351
527
876
141
658
100
313
159
341
364
187
678
524
101
277
924
99
160
315
77
443
788
569
545
59
876
610
559
530
319
307
370
555
343
589
386
151
727
295
272
405
843
714
145
324
328
80
869
851
860
968
892
873
508
309
338
884
935
494
556
117
701
725
175
737
488
694
163
694
424
867
825
744
230
135
184
664
825
399
289
701
458
903
986
966
633
614
921
816
765
900
954
162
638
739
812
135
931
917
325
922
730
366
736
932
980
591
141
274
407
567
668
990
820
492
522
110
71
249
464
850
576
686
422
772
956
666
779
933
761
563
823
827
357
328
621
354
210
515
610
223
783
564
774
664
897
604
619
684
691
846
655
134
604
655
628
733
135
727
296
675
929
242
851
216
496
912
858
40
634
857
219
999
518
533
764
538
314
999
986
243
570
764
768
806
80
261
597
857
153
504
338
41
836
932
991
137
401
775
40
78
819
574
219
972
300
219
291
358
298
171
422
406
979
348
307
187
914
447
783
460
267
951
164
598
496
472
470
325
89
337
442
182
435
143
314
808
245
722
200
690
865
247
286
826
310
585
47
546
557
465
854
969
543
850
649
571
399
590
742
137
200
795
476
499
865
343
406
257
665
419
938
533
934
893
761
469
830
986
72
935
538
213
780
497
488
67
355
433
883
945
354
321
673
713
797
276
346
609
187
903
482
42
536
688
714
610
679
130
265
195
116
374
763
215
515
811
756
338
794
374
206
759
747
910
834
471
721
523
215
963
647
234
100
924
993
383
822
631
386
353
759
704
52
965
557
730
921
237
369
430
783
824
255
237
891
679
299
319
219
114
209
610
84
370
460
716
413
690
760
796
552
853
250
528
682
162
390
61
618
983
801
507
209
976
249
801
431
548
53
236
307
365
484
328
124
512
519
593
587
271
552
667
606
308
615
642
676
68
830
385
420
824
683
404
790
918
342
930
713
185
279
189
976
122
263
119
991
177
532
584
377
400
335
728
667
881
418
179
239
174
740
895
150
734
788
835
603
398
149
902
870
139
775
170
392
907
257
665
91
656
471
729
312
594
898
508
324
725
756
484
991
853
812
905
675
327
514
761
794
438
83
688
596
476
920
98
694
510
620
40
327
391
45
786
786
160
512
129
967
259
101
352
50
511
707
309
560
895
447
670
469
871
233
664
578
657
519
919
254
413
609
899
347
453
488
260
343
723
929
612
861
869
242
387
844
910
984
525
643
674
584
550
766
852
171
128
94
180
687
397
688
306
62
80
671
92
126
642
352
255
791
930
641
345
316
717
342
880
646
782
100
549
501
946
985
153
527
50
228
996
722
593
810
173
584
353
132
925
402
710
803
938
166
415
823
894
852
237
727
464
127
377
71
492
937
735
653
782
337
590
261
96
611
752
685
505
147
510
873
141
872
273
946
288
815
706
461
959
630
125
820
569
529
669
447
126
764
655
863
835
319
750
98
191
748
486
841
598
905
204
640
577
987
716
702
541
513
346
473
701
587
603
849
863
508
996
953
597
67
967
124
657
175
419
736
926
678
280
518
353
570
948
690
253
847
669
635
319
775
459
252
745
394
316
48
853
426
294
333
513
55
543
482
83
243
403
64
63
361
717
388
676
113
323
81
584
803
494
890
710
345
253
875
739
62
686
695
89
310
712
213
634
751
720
226
936
124
401
697
446
498
867
877
541
610
675
396
829
638
196
211
970
175
500
808
507
882
663
669
225
189
556
60
477
795
764
445
994
931
198
710
634
281
185
223
537
99
229
233
390
513
795
510
602
615
58
359
525
714
170
497
86
798
81
456
199
712
987
698
281
52
915
70
310
102
110
337
634
562
138
791
543
912
171
415
394
483
208
279
836
108
821
914
112
374
263
967
249
770
382
59
392
85
117
814
139
867
859
126
942
338
102
978
429
326
293
833
603
905
434
310
855
381
590
969
490
597
516
406
91
743
949
113
67
511
748
592
231
846
225
226
524
901
875
164
780
929
793
74
235
527
173
391
746
584
415
442
799
417
294
383
465
422
342
662
152
934
845
335
477
534
96
763
601
59
641
407
558
219
351
626
663
135
325
995
618
997
64
804
223
961
927
539
781
700
74
188
702
651
566
94
490
793
994
715
832
775
466
76
115
183
299
735
965
802
650
992
625
239
392
464
727
518
709
568
56
988
363
90
972
705
965
351
571
181
336
487
42
72
404
989
360
783
720
832
99
365
105
879
724
969
129
790
142
431
656
243
690
303
318
549
477
543
306
579
128
253
677
874
739
379
629
204
244
515
352
648
67
648
960
823
580
937
382
295
606
948
951
84
129
884
323
235
902
497
93
986
498
947
931
910
651
411
534
85
737
259
91
992
985
118
700
283
422
312
275
939
95
755
329
625
227
572
255
240
223
81
465
674
504
112
401
418
181
652
177
116
984
739
180
417
994
326
995
533
462
232
809
753
158
543
738
752
147
565
551
981
939
916
784
293
182
58
566
223
239
46
758
641
178
776
433
388
131
494
53
142
108
426
114
759
588
218
170
941
929
621
611
332
279
967
661
262
933
645
995
75
504
541
364
203
969
864
599
843
699
169
839
246
434
895
901
827
375
692
302
107
970
309
893
204
907
907
56
251
108
450
483
559
707
566
686
84
686
536
169
646
246
905
364
852
281
865
199
228
385
674
897
914
403
465
547
431
226
953
907
75
223
667
853
799
540
565
57
824
349
52
136
365
293
216
741
759
545
392
840
75
367
265
773
852
478
129
592
877
928
326
229
319
152
472
369
154
338
43
477
59
733
597
245
571
905
843
608
509
711
581
995
274
340
78
719
259
444
754
546
489
83
77
284
541
631
600
534
907
876
480
914
800
662
892
390
895
384
674
700
87
979
518
741
514
696
102
567
617
476
922
454
484
289
847
415
998
676
212
192
665
424
468
78
248
278
952
377
225
319
901
638
920
962
86
59
755
288
174
922
214
584
641
757
339
296
730
413
269
261
546
321
272
591
61
832
312
491
540
569
158
116
602
681
543
632
728
418
217
602
295
556
164
349
255
876
999
396
101
515
869
761
819
933
560
251
107
867
301
991
840
116
66
273
474
133
462
423
630
731
848
432
712
568
220
944
567
853
465
47
774
174
64
444
730
538
168
264
992
799
480
853
688
822
662
109
240
528
375
168
631
229
553
798
725
658
137
929
568
196
386
645
122
769
115
448
535
149
169
624
798
856
742
685
470
878
112
759
779
146
490
242
458
254
255
899
212
251
267
255
951
45
545
527
353
226
517
430
60
290
100
283
625
714
307
845
772
96
250
785
276
354
908
453
717
983
152
705
572
721
296
948
328
856
690
685
216
604
985
53
275
531
983
133
193
622
358
726
598
340
922
981
77
917
746
192
99
74
864
673
46
909
897
877
600
152
727
751
196
120
109
844
182
857
499
453
56
429
268
253
264
507
604
686
478
690
139
747
179
783
699
372
822
843
333
650
671
414
266
817
333
698
914
826
534
499
695
180
585
850
595
595
357
199
894
751
143
400
391
899
731
426
716
455
236
364
132
576
808
679
604
45
171
976
654
806
854
379
641
580
408
229
104
572
584
494
881
399
772
365
460
228
682
619
682
885
228
271
578
797
80
412
468
471
708
376
282
337
307
444
283
616
909
692
894
647
79
391
891
361
125
612
402
796
256
186
334
683
870
639
707
200
554
980
318
843
353
908
129
159
664
252
485
93
440
857
537
819
992
867
40
76
367
810
584
400
771
591
63
604
305
613
329
646
719
121
945
785
106
387
104
311
582
533
137
610
524
723
962
201
252
385
466
143
403
497
415
689
179
629
261
729
999
639
327
469
51
343
749
275
261
168
382
863
495
827
152
356
716
572
892
418
757
368
420
259
850
901
240
185
380
653
273
383
101
662
451
750
882
549
791
841
81
526
407
999
785
885
981
977
426
865
364
245
41
527
511
659
702
181
210
606
533
458
724
270
505
554
84
201
935
518
140
597
268
407
628
104
622
818
762
688
915
558
313
250
771
874
123
649
996
670
600
65
548
901
186
405
929
294
729
517
620
431
780
156
507
334
635
697
102
627
372
257
661
782
384
503
224
899
147
526
707
899
879
324
97
133
727
69
710
102
418
247
216
385
863
786
625
313
440
987
982
94
66
881
861
439
384
772
68
746
828
577
833
915
94
512
854
180
389
881
318
194
781
150
265
570
805
471
832
89
315
983
309
478
895
831
625
509
340
885
365
324
943
771
691
658
693
104
393
419
298
597
955
628
807
418
170
459
642
437
826
565
89
688
973
81
925
212
566
351
805
102
63
762
605
387
68
863
664
409
411
499
807
206
759
240
770
941
850
922
430
256
50
839
843
487
585
721
868
535
84
854
499
919
653
414
479
462
508
304
330
415
311
680
338
479
204
894
573
565
440
157
374
489
479
335
143
334
587
262
775
782
637
958
440
266
616
660
656
211
251
757
231
517
144
622
279
300
678
835
647
98
653
432
81
843
714
353
457
719
722
510
83
821
292
641
417
178
771
223
743
740
605
153
880
491
854
527
812
769
464
601
550
182
492
308
520
665
290
607
466
845
973
332
423
625
278
544
584
988
735
339
568
121
529
622
306
826
771
50
804
59
876
406
803
227
995
40
91
156
989
599
646
705
397
890
509
111
751
506
212
518
563
899
294
968
637
416
984
509
88
673
529
872
275
933
110
622
65
156
380
454
633
60
516
130
603
248
904
989
90
822
526
378
721
612
779
846
255
912
276
181
697
78
209
217
446
352
706
538
976
218
341
734
423
396
939
685
64
381
44
911
740
501
459
901
149
937
903
973
777
630
553
654
531
568
370
867
179
844
873
945
957
719
794
355
938
447
352
948
515
853
652
88
481
517
166
231
552
541
393
164
652
152
284
62
737
671
428
709
693
889
744
615
167
483
197
875
426
723
237
671
297
259
969
676
770
873
672
287
805
652
269
367
555
564
693
789
494
145
185
42
933
857
262
796
994
769
383
658
899
481
609
927
484
909
243
429
287
192
412
585
913
829
983
444
570
348
133
500
565
398
448
272
891
756
917
521
183
221
891
440
698
924
381
571
902
690
377
803
116
487
149
352
882
494
651
255
272
725
650
601
88
634
836
935
878
959
257
187
238
621
128
356
923
406
913
530
424
95
75
179
171
456
645
527
130
943
295
348
270
834
288
97
74
538
604
267
904
72
530
750
884
53
464
727
376
876
762
342
954
799
362
557
67
639
515
421
661
605
128
680
109
296
393
126
393
419
315
748
706
120
225
684
616
231
937
813
717
457
845
766
908
43
976
594
660
466
875
475
747
241
220
935
573
270
100
678
335
494
908
585
140
543
796
825
975
349
723
481
361
132
976
94
63
489
61
482
631
678
760
868
128
571
106
310
409
131
761
253
83
86
371
863
364
434
416
717
605
469
396
861
211
149
253
995
623
980
654
648
679
695
788
488
318
874
372
157
356
885
441
767
319
75
711
656
135
220
606
661
303
419
214
545
999
115
425
187
66
67
818
143
344
121
987
759
160
387
540
173
497
263
636
296
718
953
677
484
601
820
204
328
442
433
570
265
842
727
321
551
387
858
603
806
662
889
498
916
624
513
61
87
791
437
92
632
751
410
854
252
66
732
193
849
843
132
692
494
901
189
726
61
383
776
118
805
60
662
791
668
682
859
813
716
244
770
845
924
225
726
518
638
319
584
713
181
487
467
302
68
670
309
451
877
881
686
661
87
566
474
261
655
445
499
755
457
272
981
534
973
756
208
548
739
874
888
743
431
85
825
379
760
681
71
61
386
978
69
673
386
594
742
796
419
161
697
418
397
379
666
466
746
582
259
74
993
756
678
978
841
769
759
515
481
317
302
607
667
997
582
971
457
975
418
856
178
774
482
76
513
362
320
798
768
104
292
605
650
877
502
627
767
785
311
732
203
69
934
503
886
509
529
317
771
411
711
939
382
744
685
84
250
816
490
193
438
433
508
280
108
988
776
990
907
938
408
755
484
281
824
730
982
82
969
608
379
892
369
595
993
315
455
986
134
273
883
486
42
775
479
539
436
808
76
333
789
468
955
909
198
814
877
790
816
672
602
441
530
741
760
376
723
675
509
165
779
511
399
57
402
794
323
884
626
421
43
372
131
567
808
406
523
196
121
520
578
52
882
63
63
967
881
561
213
233
57
820
793
66
227
858
473
795
138
689
759
382
84
734
757
220
224
126
667
148
409
443
124
715
828
932
353
585
877
604
687
706
96
397
647
646
581
933
866
205
106
366
760
552
962
702
957
290
935
693
285
324
729
977
820
277
192
718
697
309
132
962
466
353
395
377
455
52
601
912
369
810
219
730
57
353
43
846
868
958
899
756
558
154
666
998
856
253
461
235
772
280
233
228
545
710
115
667
643
174
999
870
743
217
947
611
804
363
733
455
576
437
47
395
305
179
71
683
627
125
611
198
153
944
691
899
850
319
947
590
181
836
701
245
234
281
268
312
352
590
113
179
616
935
921
143
79
556
745
541
42
606
342
83
911
891
220
766
627
195
970
247
534
547
788
553
190
130
246
911
481
169
398
414
519
994
664
70
722
711
52
625
408
661
913
661
674
137
743
761
438
383
575
61
878
390
517
624
171
242
923
128
747
150
256
316
106
353
817
695
879
252
291
258
788
418
225
251
889
436
213
847
132
616
448
271
175
130
77
269
503
156
752
485
200
299
676
892
152
497
692
740
474
859
152
654
938
312
802
796
40
159
492
275
669
162
503
891
392
522
210
705
710
876
119
642
222
557
974
769
148
83
216
329
600
527
373
846
327
75
259
125
677
950
874
934
765
272
294
762
305
365
204
991
363
964
937
857
204
578
484
49
225
288
366
629
260
262
774
459
58
927
510
586
576
191
317
864
390
380
535
441
644
962
731
497
707
650
934
886
608
886
487
433
107
433
324
419
394
752
644
243
72
636
111
643
97
96
939
739
440
810
590
991
686
376
631
618
223
686
297
913
401
787
86
706
169
117
643
87
147
462
583
611
73
968
98
371
485
977
326
663
945
688
570
746
155
171
245
639
418
891
948
377
690
838
553
421
303
476
264
892
595
453
265
880
696
48
439
991
485
278
862
861
448
907
812
561
246
651
159
520
727
800
136
201
375
328
450
647
634
62
613
810
730
276
334
761
704
851
317
929
870
378
176
648
790
374
746
304
62
164
471
505
971
276
670
578
170
63
597
200
771
889
340
757
118
449
279
914
508
329
800
919
177
41
990
180
384
319
899
492
278
272
312
950
877
676
443
419
615
358
925
385
395
966
377
779
829
937
528
236
637
541
596
701
840
620
542
957
685
628
132
864
575
199
64
586
203
89
870
407
109
223
99
785
508
42
500
348
376
77
610
457
203
738
957
214
603
177
609
785
567
901
979
336
602
737
742
377
478
365
528
173
763
434
742
943
976
393
299
986
995
609
603
75
926
317
69
374
194
267
757
355
674
831
613
902
441
704
571
257
236
910
960
188
605
592
824
671
292
137
345
214
454
841
863
882
838
116
969
376
691
169
301
588
345
325
944
789
718
565
112
74
654
634
892
584
781
782
752
400
375
367
988
767
96
484
66
935
548
188
262
509
929
771
482
396
657
414
945
128
672
299
332
310
283
599
397
788
553
104
497
812
394
617
960
158
511
812
875
67
271
489
183
982
211
573
714
124
688
947
331
435
610
442
599
961
958
599
874
195
559
63
493
421
615
283
612
797
543
106
638
187
428
353
943
895
136
277
858
268
311
436
186
551
743
615
814
453
131
734
700
80
245
585
706
372
539
632
537
140
972
158
706
419
71
87
457
827
497
139
435
594
478
560
76
41
426
698
791
579
868
631
721
289
58
930
948
458
276
726
101
751
595
676
479
762
768
556
323
444
255
799
981
79
919
67
215
773
654
137
623
964
440
861
365
143
932
914
108
420
999
49
265
128
503
408
113
369
71
826
287
286
419
265
461
71
769
264
146
748
227
797
251
348
589
958
579
403
744
704
177
817
277
183
520
536
998
299
789
967
980
108
133
670
298
220
976
927
142
536
67
564
715
462
134
874
194
712
124
373
513
736
787
166
491
340
733
49
501
473
667
801
441
847
52
777
606
486
845
236
100
502
774
744
327
163
840
632
452
99
807
990
650
663
405
48
453
706
579
820
265
132
963
87
526
836
80
260
779
354
303
763
999
291
915
512
235
97
812
738
134
418
192
234
568
459
776
242
201
100
915
49
836
460
775
702
825
94
751
474
269
300
900
359
638
347
861
584
743
556
477
688
527
368
774
155
443
152
82
330
566
108
943
577
953
140
632
951
283
537
579
868
817
156
378
936
415
918
991
958
652
92
275
601
338
969
758
403
128
150
877
946
153
225
157
226
532
729
825
40
953
372
786
334
239
147
531
261
118
445
378
729
258
909
513
700
265
712
212
495
659
313
257
945
603
526
745
352
211
44
710
871
295
912
259
476
173
251
410
54
847
597
64
77
552
100
416
868
292
970
818
438
997
491
116
638
586
786
959
684
591
715
453
370
558
808
423
198
640
792
102
492
684
241
389
75
320
331
202
949
713
580
195
952
687
644
220
100
564
494
731
141
209
377
91
959
591
489
185
977
849
621
636
653
464
405
840
741
757
214
221
197
769
594
814
110
464
198
327
586
813
231
858
683
511
753
689
544
600
898
58
493
936
289
744
639
814
582
848
368
142
362
98
499
448
764
60
901
684
251
237
229
790
848
514
815
482
279
494
56
268
513
370
971
906
486
567
970
878
517
402
936
377
246
516
578
189
723
509
431
208
614
635
785
920
447
433
374
800
566
286
43
891
877
978
198
272
66
209
929
764
102
198
776
483
207
937
707
718
586
171
558
546
244
966
924
610
919
283
944
659
921
701
547
859
780
255
328
625
294
495
824
584
218
227
135
754
226
699
768
361
655
860
395
165
490
472
111
763
881
645
238
820
620
466
448
923
703
76
863
557
822
988
460
706
654
488
974
358
816
56
656
932
152
813
159
516
780
651
113
82
533
49
40
465
448
335
922
198
161
457
486
466
559
711
281
724
156
571
857
411
393
380
168
607
474
968
765
384
889
665
389
240
616
710
204
975
221
709
425
598
317
309
425
60
891
107
965
861
771
683
315
903
62
714
343
494
73
462
652
764
643
631
765
625
79
584
474
130
96
284
203
892
796
462
315
423
317
573
531
272
108
152
383
492
416
412
96
788
110
771
776
351
362
671
569
554
856
153
579
545
444
210
621
432
980
536
65
711
672
156
169
580
92
991
841
931
649
65
656
95
566
975
871
815
64
579
599
352
319
165
73
687
51
545
634
395
118
343
928
909
130
199
473
486
651
523
379
412
721
770
154
152
534
110
748
49
202
389
855
498
501
910
756
152
539
687
822
525
850
457
611
527
844
308
162
993
955
646
779
402
251
524
710
162
533
768
641
234
73
63
195
783
490
84
702
820
220
155
72
147
224
975
194
725
583
455
821
777
145
838
159
725
267
111
774
273
768
776
406
41
385
416
420
177
479
527
80
50
380
336
777
771
196
194
808
711
149
602
413
256
404
901
346
430
656
553
752
580
550
833
960
765
534
292
198
533
220
335
584
391
745
909
762
363
219
919
684
142
952
975
779
493
648
929
479
260
367
885
123
369
570
141
959
897
944
749
230
447
340
259
383
796
345
161
939
384
466
842
720
549
138
310
836
896
899
448
378
409
158
271
112
348
221
712
264
562
650
789
393
219
933
871
691
78
130
978
893
302
184
636
741
453
534
616
914
450
372
308
718
296
968
182
136
937
896
344
82
648
273
840
389
595
288
741
850
328
785
757
586
309
371
495
736
337
490
541
243
167
722
693
415
373
999
203
638
642
670
689
605
433
868
851
235
189
424
386
517
824
134
109
734
473
722
650
640
474
491
121
360
938
832
497
203
553
201
744
868
849
877
230
52
122
766
633
232
775
296
654
183
619
411
81
905
575
999
888
509
774
671
873
939
967
484
701
151
859
430
519
157
491
353
711
122
759
591
725
234
329
111
809
222
578
554
544
881
306
456
731
282
644
301
439
965
92
638
898
326
202
837
770
464
121
41
493
118
782
714
411
237
415
778
389
229
897
829
650
95
489
162
287
822
512
654
602
525
640
516
689
543
256
437
373
77
418
960
789
40
154
543
950
309
894
479
418
950
630
955
169
856
794
797
633
708
395
245
937
207
784
392
536
706
674
930
570
903
893
866
314
699
738
671
87
894
371
989
931
199
544
500
49
407
337
226
912
116
797
116
440
777
369
889
593
925
185
929
825
205
601
369
525
180
112
780
227
488
844
391
511
557
810
655
94
963
693
689
495
981
743
481
573
697
390
389
284
482
176
968
591
627
497
555
119
559
772
198
705
103
735
96
950
989
293
161
50
122
891
442
103
163
718
681
509
763
627
353
94
301
879
506
236
999
573
233
495
772
739
857
772
834
76
122
867
313
449
208
841
234
741
296
866
633
943
890
923
239
888
363
352
337
287
44
939
679
728
307
51
510
938
876
416
684
444
123
428
176
789
450
825
591
668
118
544
573
239
653
285
828
326
199
581
286
179
646
723
589
77
314
697
350
896
231
291
793
494
910
148
640
605
602
692
615
232
910
690
861
297
180
94
102
153
279
828
498
423
452
171
798
230
47
219
206
962
241
127
844
81
919
795
167
770
908
540
192
630
441
359
666
720
197
155
742
49
243
107
611
621
734
255
105
531
252
389
727
604
389
536
679
846
776
744
833
948
190
560
559
65
592
904
874
602
55
419
566
763
163
647
836
223
775
450
549
485
839
871
990
961
265
780
687
491
42
852
945
349
78
886
68
483
714
592
687
864
744
908
150
921
767
628
132
626
151
251
535
523
784
232
61
260
754
627
723
852
92
268
798
746
210
339
594
510
459
140
858
817
806
303
364
643
274
228
719
165
180
951
349
486
609
125
298
660
906
559
908
178
520
47
687
539
740
683
169
168
712
834
605
412
781
270
376
596
959
963
285
84
784
985
991
305
432
684
324
678
237
890
641
344
86
151
86
213
290
778
582
792
850
634
683
406
510
336
281
926
733
744
436
863
65
419
850
743
543
655
620
71
913
185
841
926
515
83
716
161
199
991
969
919
538
49
370
325
727
948
235
672
610
619
719
44
910
269
347
411
257
827
116
512
122
972
376
384
218
691
915
356
677
524
645
481
780
970
242
459
56
554
899
42
903
204
576
91
321
885
890
692
861
578
859
551
554
710
271
444
58
427
792
671
174
786
817
353
89
717
293
538
152
556
976
936
343
274
263
346
798
96
789
637
242
844
123
845
94
771
622
626
262
294
560
915
474
477
600
624
556
634
854
87
627
352
415
203
999
625
714
101
392
329
341
330
229
275
57
51
629
595
794
800
718
90
854
528
362
506
546
791
301
678
804
486
146
298
391
981
914
852
837
460
903
107
286
911
409
397
447
820
510
86
649
185
713
939
274
42
190
447
396
742
74
412
679
220
728
692
811
398
586
401
914
560
217
193
152
745
823
817
794
320
188
801
198
142
222
63
450
246
510
371
242
546
332
456
645
671
288
708
425
158
553
555
620
367
123
418
773
315
349
129
629
470
535
863
979
585
859
986
71
465
442
350
571
44
574
987
634
618
78
150
555
84
300
282
752
357
943
731
273
370
125
409
232
720
881
695
599
568
934
620
459
655
558
558
620
149
707
108
201
257
41
977
841
900
809
856
106
510
354
360
656
519
769
978
726
495
387
973
470
945
190
885
421
709
912
693
326
509
585
637
489
252
767
549
147
952
407
201
927
297
944
351
71
189
216
446
885
264
471
195
945
258
522
944
331
557
411
404
453
559
274
901
746
810
905
815
845
239
534
355
879
312
87
869
540
906
813
480
530
647
199
519
538
762
521
996
111
508
286
351
564
328
547
42
439
47
148
947
508
346
376
498
916
507
422
774
560
994
923
61
47
185
737
608
493
612
254
613
466
144
399
515
872
982
180
748
399
817
425
76
173
392
466
419
933
786
727
699
293
368
547
986
465
949
968
254
865
67
952
756
731
56
931
952
181
317
434
244
317
572
119
140
573
441
342
145
165
770
408
826
734
839
675
397
950
754
372
868
149
299
689
118
997
811
306
393
722
182
341
428
697
574
975
943
132
430
616
57
108
945
291
334
327
337
809
433
483
564
418
781
541
458
480
42
42
710
198
236
149
434
819
577
956
249
537
842
657
55
408
211
110
793
895
95
206
114
383
835
917
314
556
626
514
452
620
839
131
166
997
856
900
739
492
313
398
708
965
215
661
546
487
935
747
752
41
952
664
545
906
856
849
118
758
514
840
557
914
503
450
960
598
643
658
347
571
51
750
636
254
310
857
875
737
711
978
245
845
693
612
899
751
672
144
432
945
234
750
837
161
700
779
135
41
733
917
704
77
120
122
297
167
820
720
756
608
712
708
300
804
331
437
228
777
540
861
382
760
641
579
41
919
276
919
833
743
462
405
534
104
208
980
255
479
608
386
512
947
454
425
597
997
864
771
349
977
496
791
136
371
142
492
655
957
209
823
541
752
793
241
321
428
142
434
705
491
546
764
237
215
674
327
322
692
252
547
647
187
823
763
812
404
999
498
749
694
636
333
356
523
158
126
67
242
352
474
559
313
741
369
580
747
341
324
550
385
816
93
478
748
668
871
172
189
791
585
744
911
46
40
732
90
534
459
275
429
117
320
752
663
401
829
510
792
361
712
309
908
670
317
640
206
326
974
734
897
163
678
984
722
177
747
570
913
889
303
926
164
249
651
950
117
695
432
731
454
129
369
541
615
624
140
256
703
449
989
839
812
805
532
531
561
960
935
247
258
652
260
448
738
448
688
317
936
998
991
943
979
839
578
746
607
670
227
674
984
714
599
510
561
317
607
214
819
758
156
319
801
576
306
137
157
295
400
684
286
327
723
941
933
658
538
255
346
827
473
661
69
994
964
405
953
558
496
282
498
123
805
609
81
653
296
706
447
530
990
371
242
845
351
435
282
531
298
753
524
543
819
460
775
670
443
206
383
476
289
483
967
969
882
876
724
872
744
676
927
259
630
887
985
97
984
425
685
77
938
906
577
468
692
868
288
303
696
664
887
521
206
343
769
532
886
276
236
987
695
617
730
515
537
954
648
360
112
103
817
927
662
799
157
754
89
937
929
783
879
622
458
569
799
825
378
174
657
915
956
992
885
460
53
268
791
847
281
417
766
628
755
427
851
264
846
346
471
644
777
658
430
42
510
158
576
51
376
974
436
689
846
744
853
609
522
841
658
525
771
64
82
688
605
60
904
692
368
591
988
263
371
423
834
525
606
859
453
680
809
154
243
385
225
885
990
343
321
554
970
929
891
873
466
555
998
631
428
49
499
330
825
487
375
224
530
617
137
571
85
267
426
640
404
284
82
247
408
220
956
211
361
915
669
733
952
163
420
644
342
473
989
757
634
292
102
133
197
519
674
173
381
371
900
518
469
520
643
224
133
291
895
732
368
832
93
499
316
631
165
482
133
532
154
498
277
546
811
134
617
186
590
325
475
600
851
941
658
925
130
99
456
197
301
471
275
856
902
589
597
219
585
947
145
650
257
664
482
111
785
884
301
796
542
761
870
835
630
494
784
91
319
665
806
539
548
899
723
318
793
683
189
958
963
659
526
618
746
187
299
202
192
948
716
350
62
490
160
549
799
773
187
219
700
380
484
77
806
205
373
92
169
388
647
293
265
986
832
752
673
675
969
293
737
228
607
603
443
935
740
863
59
879
258
936
220
785
615
666
585
425
247
857
114
680
740
320
440
234
475
167
831
428
383
714
820
530
983
93
530
352
679
342
445
637
874
433
80
56
134
149
818
363
446
459
891
677
126
343
994
394
223
585
440
858
604
82
822
636
756
336
47
495
113
343
395
837
48
897
265
834
179
395
325
593
897
470
50
782
805
618
964
872
536
998
456
924
269
341
240
830
688
281
270
580
604
468
907
519
435
845
921
717
79
905
516
248
620
574
600
367
858
379
791
91
396
745
898
794
439
354
152
842
66
311
454
784
187
99
977
708
459
495
229
390
319
62
572
355
208
270
133
745
66
983
569
63
126
607
146
781
869
336
843
586
224
843
928
396
170
429
971
457
741
541
751
814
999
227
212
359
262
922
781
516
152
858
288
959
464
635
343
219
238
83
324
887
900
530
824
111
592
783
511
506
715
275
61
482
252
391
474
665
201
668
475
620
399
153
670
661
947
212
197
376
642
70
778
721
896
204
461
140
619
815
452
281
948
518
782
161
303
479
810
769
826
284
491
860
41
550
983
858
997
333
221
547
829
912
683
385
486
64
769
52
703
95
558
90
634
695
473
126
350
389
317
432
299
530
852
43
209
304
105
387
318
123
114
182
260
296
846
392
981
730
307
877
619
242
402
902
422
545
917
692
620
906
581
708
279
899
526
564
278
152
745
80
46
923
514
362
449
448
469
579
816
679
111
64
341
625
673
838
959
41
484
975
916
856
331
450
213
617
846
251
683
648
407
120
247
155
407
482
206
989
616
370
622
46
289
336
65
744
525
445
504
564
619
514
783
51
841
297
442
776
464
172
644
943
734
118
817
842
243
430
666
646
992
371
272
280
614
889
498
149
389
286
655
857
214
587
750
823
424
433
931
613
841
49
441
740
575
252
680
558
741
319
105
853
677
216
979
961
64
905
409
100
179
983
925
364
214
350
768
884
279
612
200
442
66
517
710
147
453
407
997
619
145
495
408
199
183
168
662
410
862
242
239
175
621
584
780
129
586
699
266
775
496
730
127
732
680
691
67
548
216
510
376
613
866
204
510
64
71
170
610
168
743
141
735
727
581
692
344
884
41
339
353
151
620
571
69
204
982
51
128
636
579
166
731
521
649
672
208
175
67
351
191
595
100
417
599
985
489
146
843
374
546
763
462
253
678
587
514
353
232
299
42
81
557
349
682
228
486
280
752
82
999
451
441
295
998
342
579
445
642
91
582
948
465
746
887
415
289
101
832
387
620
478
615
144
993
787
993
889
427
665
845
915
439
658
396
233
576
54
747
649
757
264
551
334
889
310
787
438
774
735
364
723
77
677
602
484
322
782
347
98
536
380
981
455
359
403
45
614
154
223
415
551
507
276
510
213
435
217
138
577
804
320
144
921
453
401
465
319
576
594
738
935
371
496
101
368
953
345
765
852
902
319
865
232
362
659
67
617
550
74
354
602
356
579
194
53
949
88
355
450
895
240
856
207
504
620
543
964
115
918
715
667
445
78
146
506
599
138
734
288
139
919
323
739
310
755
302
585
381
604
464
671
665
173
498
347
534
413
511
897
983
516
568
987
402
445
889
987
842
236
114
989
522
502
159
784
889
703
423
886
330
606
172
203
783
973
296
762
157
689
367
107
932
229
816
600
394
728
555
260
877
298
639
396
774
662
707
608
189
975
173
147
385
713
548
436
918
837
661
831
582
549
363
115
377
507
776
902
997
446
802
811
388
879
137
839
422
562
760
369
92
644
83
538
42
900
81
66
398
874
549
353
895
368
808
144
680
606
383
443
942
264
489
173
341
568
240
921
504
806
255
885
176
181
347
555
341
126
320
740
909
519
240
678
724
459
421
445
607
583
868
895
787
653
185
375
105
950
891
497
567
776
287
229
357
532
55
706
570
241
584
72
300
827
255
483
589
83
595
562
267
949
340
477
430
534
361
492
87
850
840
832
274
754
900
654
835
172
373
500
405
999
923
610
424
681
399
557
932
177
587
284
429
467
677
569
762
253
657
855
882
481
483
984
394
308
982
872
973
176
681
834
458
842
228
74
560
204
909
132
933
667
115
895
273
944
526
290
457
855
660
431
379
483
936
521
132
940
451
527
336
604
117
609
651
731
266
854
989
629
134
891
139
952
782
696
831
100
457
760
249
824
473
660
554
594
517
536
498
765
501
145
531
721
594
956
558
171
737
190
435
953
52
682
239
727
441
379
785
448
655
910
69
353
404
325
81
467
697
851
170
831
229
975
108
712
307
924
469
251
927
708
845
393
510
740
364
616
926
786
484
190
664
377
623
142
842
626
480
626
347
803
435
604
850
753
971
865
391
160
868
66
620
285
925
713
308
292
406
925
560
822
644
593
951
528
108
472
940
674
519
613
628
648
690
976
961
818
412
285
930
829
624
267
780
227
83
417
699
758
920
107
654
270
625
816
513
737
164
665
948
877
284
475
63
990
505
898
449
319
706
290
387
170
516
383
517
131
916
560
934
607
924
962
178
374
634
602
65
455
645
169
308
178
950
716
483
539
534
508
963
534
895
468
468
374
830
989
698
581
82
204
345
491
429
709
546
931
550
770
767
363
359
289
89
936
858
335
831
744
707
64
215
259
657
915
329
748
570
873
580
667
917
913
758
682
260
329
128
261
709
587
162
64
865
588
954
510
399
574
328
409
177
728
841
670
373
599
226
366
683
521
571
61
65
991
317
858
63
449
314
505
800
393
162
542
69
337
525
783
267
974
994
869
218
895
282
694
58
267
977
351
427
431
47
273
504
776
209
498
678
535
72
553
581
135
793
809
782
996
372
375
439
909
458
914
453
350
494
142
689
99
755
742
262
995
208
509
616
512
91
583
725
552
631
750
416
342
222
256
859
309
57
712
709
231
314
451
689
140
755
857
497
693
996
186
744
599
389
650
247
796
99
484
450
291
876
289
532
373
601
839
804
603
497
537
500
358
772
515
532
730
869
199
243
553
515
220
996
726
803
387
913
854
334
209
209
799
754
315
863
197
82
537
290
523
184
182
643
352
748
923
661
728
989
489
648
515
177
202
451
583
762
541
628
208
559
301
368
505
707
811
449
89
424
358
253
304
369
796
631
204
358
575
422
178
352
829
485
709
535
336
656
306
296
838
896
911
270
992
837
281
877
652
62
807
54
967
998
756
614
378
470
389
934
762
429
569
160
513
205
638
507
797
205
294
80
950
165
459
614
535
528
98
755
500
176
258
637
642
860
991
240
611
563
162
926
364
280
702
264
336
806
336
633
205
329
250
521
444
115
792
807
313
496
907
767
684
522
98
545
411
773
813
651
232
540
186
351
833
975
804
461
233
478
398
741
892
523
286
391
997
518
485
629
67
666
789
922
835
348
634
716
593
777
857
587
561
140
103
718
78
206
799
596
172
809
969
744
335
897
451
214
887
249
633
262
883
430
223
502
48
45
125
258
372
302
706
45
851
745
927
726
605
927
853
914
375
502
384
488
668
749
180
206
173
142
928
631
430
505
685
285
982
926
141
186
682
210
701
57
89
152
601
309
905
844
274
880
110
305
101
142
112
888
584
885
785
518
843
900
582
610
43
583
626
954
925
802
550
649
934
802
625
952
388
623
866
446
597
686
983
713
556
570
860
609
961
670
172
832
243
134
192
712
643
465
240
704
98
279
964
844
510
732
777
381
717
126
266
287
289
863
569
956
832
720
82
190
207
827
994
512
282
398
847
777
546
845
831
318
467
513
181
482
545
872
684
291
455
641
171
423
969
840
373
972
193
832
972
900
948
860
911
563
556
47
240
786
406
687
586
397
659
311
923
896
611
960
759
750
497
981
286
310
949
583
619
344
548
817
969
240
642
72
542
286
493
748
237
910
95
352
572
917
539
437
603
880
531
515
288
793
689
384
415
490
238
666
849
703
469
310
935
508
681
373
45
520
847
754
721
482
484
931
646
160
782
484
953
322
752
471
412
728
900
352
473
194
991
234
537
616
463
998
781
488
400
438
243
848
799
83
743
359
177
404
549
583
690
129
615
123
719
637
746
160
438
266
282
486
367
189
921
242
265
259
777
312
173
238
95
823
212
996
891
478
333
840
378
645
323
705
880
185
609
529
619
277
928
870
442
586
688
606
276
457
855
852
190
209
867
470
965
490
806
967
571
870
440
847
524
854
350
566
195
994
814
411
363
337
86
882
894
587
559
940
620
715
725
972
421
212
229
83
135
114
583
960
531
831
941
171
147
231
710
608
121
289
898
943
386
497
718
377
878
990
520
551
591
542
81
580
312
834
404
639
587
716
235
435
219
187
93
806
339
586
533
840
828
670
911
103
97
281
916
110
608
322
683
413
714
502
154
500
40
406
608
122
908
647
749
537
987
747
894
354
180
451
739
971
529
610
750
817
54
47
730
570
583
468
458
275
432
414
387
331
211
774
96
247
490
273
717
869
418
317
783
915
381
869
535
288
120
918
883
615
784
820
336
259
878
539
106
407
470
449
815
379
162
798
975
771
971
368
467
403
937
739
788
408
819
484
436
185
143
278
207
277
766
71
367
483
419
531
187
987
467
542
359
891
371
832
229
117
296
762
146
72
663
106
883
591
788
626
42
235
120
291
864
872
85
266
684
136
67
685
819
508
40
380
433
771
471
754
655
657
437
326
447
90
353
404
92
85
484
375
930
237
476
417
736
803
371
448
521
775
547
191
303
364
843
284
242
913
400
238
105
293
495
445
76
528
611
906
303
547
74
103
348
369
705
634
270
684
886
358
615
995
368
891
400
510
235
951
228
915
738
436
588
520
716
262
969
329
249
557
47
552
860
146
845
376
786
776
245
766
196
625
413
887
999
775
135
362
736
984
41
812
819
545
104
495
716
573
297
237
848
126
670
103
832
603
274
531
59
696
853
772
974
351
212
712
683
793
770
372
873
246
960
671
759
591
265
123
590
173
839
244
152
159
374
252
574
426
610
478
665
777
856
769
666
579
240
158
621
380
975
670
606
151
609
690
371
237
493
604
842
64
962
102
348
40
859
785
190
281
233
782
130
521
676
639
682
354
357
262
777
43
919
68
446
921
76
302
88
921
615
854
419
408
685
889
497
177
513
123
85
527
133
193
64
85
614
729
723
969
103
297
830
560
173
898
650
970
822
845
857
811
164
792
930
455
179
601
740
793
342
517
694
236
340
161
743
746
731
961
398
928
373
87
511
907
654
865
874
206
867
867
292
278
889
231
261
510
84
354
82
923
624
607
453
544
925
797
157
965
239
707
961
507
65
202
530
505
703
372
314
266
646
651
218
264
842
756
160
924
454
826
981
996
802
81
795
225
940
450
247
271
746
254
270
753
846
565
364
293
410
447
317
82
883
57
827
588
300
512
755
553
393
528
334
925
102
926
941
468
238
702
496
523
44
749
347
50
120
459
956
862
812
500
967
523
398
159
976
67
918
726
883
232
200
649
364
75
373
882
969
871
891
429
690
415
391
666
491
551
726
125
114
163
469
369
762
653
304
180
272
481
770
159
279
858
300
121
825
116
198
700
683
875
425
910
212
271
121
710
117
87
871
920
261
88
397
43
611
141
989
709
247
975
242
474
862
709
130
786
801
347
188
666
739
80
708
131
654
45
92
129
780
803
160
198
48
286
844
802
50
41
342
645
298
680
160
222
58
956
338
731
481
449
416
358
401
807
82
287
447
329
888
86
823
231
357
267
554
66
680
654
243
431
314
469
890
312
843
715
326
916
757
177
102
186
860
470
889
397
826
581
576
697
333
974
222
435
447
802
930
322
139
459
762
335
355
846
140
309
443
50
488
203
103
226
560
150
658
330
841
500
960
384
234
514
436
645
706
574
558
110
412
769
691
178
868
976
72
280
886
429
625
200
143
460
981
388
892
701
862
422
417
785
616
770
629
276
982
548
537
598
652
708
832
167
785
794
859
921
75
435
807
860
470
547
369
492
229
842
927
191
642
485
242
102
53
668
168
747
163
392
64
279
347
878
413
403
667
373
407
121
784
324
737
455
236
368
921
137
626
170
480
778
696
313
706
156
292
203
570
563
921
744
767
454
573
74
235
110
209
783
558
715
723
379
313
871
966
471
613
150
146
920
686
926
254
389
582
549
922
136
417
108
488
639
694
205
938
463
693
330
954
134
372
827
821
982
715
762
719
55
691
866
206
749
244
368
753
43
431
279
363
779
572
973
656
964
614
862
754
93
888
738
471
404
300
885
431
320
139
812
172
289
764
501
497
52
693
466
931
883
936
290
509
472
872
237
364
373
523
333
999
653
606
729
653
939
94
761
119
345
521
104
228
877
335
418
550
221
369
208
731
152
870
170
77
128
351
614
159
172
944
202
249
240
955
271
301
659
357
73
541
951
555
935
252
797
673
840
783
176
735
905
397
398
330
965
640
266
921
603
252
608
859
219
904
842
867
206
91
44
449
335
609
320
525
166
881
257
252
876
610
459
174
67
712
133
223
442
982
372
657
391
570
611
635
456
493
728
828
789
924
130
313
465
392
192
952
306
792
507
466
674
61
489
437
496
233
341
420
225
469
501
712
622
902
277
632
151
836
369
754
112
584
136
632
42
902
993
42
932
640
487
103
826
690
282
102
769
808
224
795
521
542
497
420
367
471
940
751
557
64
402
749
238
438
584
890
827
219
200
997
711
849
797
722
843
868
273
353
254
259
974
676
649
419
786
973
316
826
446
201
155
421
651
932
884
767
123
268
169
208
769
849
870
903
952
989
316
394
596
524
909
940
124
706
369
525
760
74
897
166
842
918
209
256
567
568
191
354
713
459
443
168
722
95
83
848
356
330
680
316
326
345
140
693
360
840
534
233
365
532
477
568
148
59
604
726
524
49
60
724
76
972
127
827
871
947
966
729
590
582
499
944
771
631
636
856
258
315
859
968
437
939
739
971
250
711
630
700
636
942
679
384
326
119
756
105
144
687
234
335
623
939
679
203
300
600
539
323
275
645
654
464
357
46
393
233
932
678
715
671
781
998
556
299
720
942
872
575
707
582
890
851
57
531
81
651
107
372
64
448
212
434
548
828
136
306
450
80
574
187
633
213
179
669
392
696
800
242
646
325
919
489
396
997
890
241
61
538
568
846
450
241
568
704
374
904
442
224
632
444
808
360
524
48
718
839
863
798
578
967
914
940
612
224
970
789
126
961
40
911
543
614
967
360
254
747
889
734
364
943
737
623
639
83
401
92
557
376
743
923
692
320
764
248
629
49
602
554
422
877
454
557
336
220
788
126
124
898
322
851
994
845
995
85
713
589
194
630
195
545
958
744
569
695
264
766
514
225
179
128
381
145
382
200
551
68
970
55
525
524
979
113
648
230
738
508
387
355
615
620
305
702
350
621
96
382
586
556
275
937
680
955
454
415
676
983
386
691
749
757
406
280
927
183
936
673
280
597
627
459
610
658
716
483
557
611
553
801
617
777
62
101
914
137
273
659
723
514
246
587
523
294
328
349
890
97
93
566
721
238
341
880
949
430
211
298
593
238
535
518
112
422
706
348
444
108
637
841
298
221
982
521
312
737
277
199
999
498
826
184
826
264
118
41
394
266
596
609
372
410
202
176
415
255
443
540
939
961
505
242
432
717
199
929
711
124
620
188
902
987
717
500
842
491
133
896
900
168
768
313
785
418
157
152
581
100
872
261
673
544
735
651
122
817
623
93
934
778
543
686
895
153
245
439
739
339
65
988
891
810
915
896
839
518
111
857
367
144
661
487
62
987
353
550
453
863
753
604
354
151
511
632
75
754
93
849
966
268
215
404
71
758
747
653
241
331
535
957
241
347
642
78
808
835
762
584
665
158
918
791
413
488
910
708
839
395
679
220
149
788
121
244
759
947
692
912
284
745
937
546
557
581
942
618
892
370
523
499
616
238
657
690
837
706
323
662
188
280
184
988
485
815
272
412
510
678
438
996
77
679
48
797
933
117
676
152
150
429
432
929
144
468
354
479
622
778
790
338
467
866
935
910
292
223
897
179
446
756
903
308
562
52
234
111
562
947
420
312
171
153
916
72
563
194
601
452
560
644
605
430
691
907
79
993
563
782
795
829
652
92
368
781
62
520
948
930
311
48
320
168
767
124
767
901
359
871
860
991
298
685
961
776
729
832
537
207
122
879
83
353
346
464
139
921
411
551
828
757
223
392
988
487
175
911
159
856
246
661
167
293
373
769
741
821
930
511
217
849
975
953
362
81
795
517
919
561
227
497
279
805
217
599
518
940
91
339
715
512
326
94
855
916
369
793
871
194
113
983
236
877
546
863
91
70
302
430
67
472
112
690
59
504
511
885
179
312
956
863
246
287
251
88
109
271
384
698
776
585
291
384
987
431
425
504
795
470
566
914
370
864
212
844
593
972
604
178
153
74
786
378
621
739
399
76
781
673
395
124
966
152
728
77
488
87
607
757
769
490
729
922
893
254
639
650
906
823
108
680
611
388
990
494
514
300
473
555
641
244
687
54
162
715
327
926
943
65
718
396
193
573
626
303
631
876
507
792
110
603
977
458
114
979
444
235
564
787
48
49
260
279
928
971
69
598
933
68
530
902
268
385
237
56
411
795
116
753
364
638
156
426
445
568
694
836
584
472
917
710
374
743
402
247
793
825
264
686
289
818
730
327
623
446
992
255
736
315
717
516
777
82
246
335
450
449
476
609
479
463
238
864
552
729
848
102
450
337
219
222
126
225
105
525
861
65
440
684
752
359
479
250
698
911
346
690
109
233
581
635
321
822
517
144
241
459
758
975
764
51
803
303
965
276
296
291
299
625
624
76
492
272
843
860
402
184
368
406
182
681
165
394
259
357
747
352
484
105
945
419
778
626
248
377
453
796
543
766
66
840
381
984
357
790
165
883
863
407
801
71
479
392
665
414
523
957
221
988
842
487
275
377
413
266
57
606
116
175
571
387
268
98
448
511
993
438
64
856
839
294
651
95
550
320
257
981
595
451
167
907
64
798
410
78
236
505
373
361
658
705
965
130
776
218
794
342
463
426
783
803
719
878
190
381
340
658
385
251
307
480
732
657
589
662
534
586
573
339
442
826
773
515
123
325
347
448
531
95
264
252
198
281
952
953
472
435
882
385
770
799
726
981
115
641
843
556
907
369
873
158
948
301
945
697
387
472
398
554
352
308
135
374
424
69
951
837
228
440
464
576
214
55
673
367
613
806
185
172
452
541
795
260
529
771
65
153
976
916
804
354
480
360
570
948
954
692
130
507
588
680
561
686
661
655
172
597
910
490
939
89
106
485
903
51
576
344
661
935
42
319
578
496
954
627
733
56
664
535
411
397
955
823
825
972
582
301
559
933
572
704
272
451
346
408
469
238
259
716
858
522
562
398
62
420
467
861
533
943
748
461
129
969
194
445
159
860
63
913
502
686
577
858
127
297
860
450
194
786
391
631
48
811
756
320
590
296
100
262
447
327
151
385
150
206
315
802
111
568
998
543
501
468
789
779
548
696
377
775
417
455
404
715
128
589
237
801
99
812
244
979
996
171
391
333
815
842
878
194
357
977
812
206
481
498
805
251
599
860
916
690
219
265
308
348
270
645
251
769
498
702
613
583
982
748
228
801
629
577
691
932
299
221
88
434
71
192
423
647
381
729
232
683
829
796
633
464
70
389
549
263
65
429
767
765
83
788
625
799
524
648
784
786
265
73
294
40
342
51
283
519
708
316
661
864
848
717
898
757
640
960
858
56
283
147
937
789
637
863
817
592
101
346
571
67
505
72
677
130
805
208
987
557
50
391
111
45
611
821
950
914
950
107
388
358
115
180
850
576
802
50
483
323
342
61
80
203
893
537
709
386
702
894
809
495
483
962
92
440
925
848
786
445
392
770
579
365
438
60
999
974
182
987
96
424
140
88
273
780
384
856
703
486
953
450
278
821
562
471
482
632
188
299
801
411
619
413
145
793
94
981
667
797
111
137
128
185
820
288
943
101
205
662
44
83
758
98
111
248
162
549
316
223
116
175
372
495
782
368
101
289
422
274
581
350
919
317
517
893
910
166
529
144
801
647
961
611
670
782
505
979
916
490
839
730
182
877
866
293
315
533
152
862
958
891
837
664
762
826
40
64
605
224
671
393
628
736
585
685
644
443
666
52
492
404
81
220
831
189
646
896
225
313
580
861
525
415
792
303
524
461
715
53
64
61
397
402
503
157
186
120
910
433
961
952
706
501
747
212
754
771
663
659
279
103
264
273
458
629
98
765
814
423
683
863
646
730
750
718
956
796
921
82
109
663
826
921
872
758
959
622
902
302
64
905
946
714
452
186
744
607
586
227
754
755
274
767
403
275
67
492
946
198
887
936
754
648
798
778
233
159
146
208
230
270
622
435
690
194
403
921
873
95
634
45
201
151
305
659
380
517
862
427
770
112
297
409
910
742
164
961
167
401
363
892
305
503
832
720
657
642
485
867
831
742
799
754
365
447
726
750
829
65
379
572
912
722
613
636
925
453
82
448
961
221
556
910
60
885
481
232
254
474
466
817
847
254
294
464
947
969
587
491
513
553
879
795
567
183
144
757
291
834
804
882
121
205
435
565
305
576
343
103
236
806
220
402
412
953
392
201
248
148
390
930
189
680
70
307
58
615
720
510
661
835
94
59
354
224
279
206
311
799
322
435
568
548
146
211
48
101
236
564
891
659
331
146
606
590
387
131
296
968
133
726
409
842
578
947
889
301
341
508
228
59
788
670
559
958
762
311
287
442
607
65
750
842
521
232
491
324
987
220
475
510
913
801
479
77
732
487
729
662
229
412
686
517
990
614
597
328
160
379
703
499
488
523
296
448
408
41
557
618
133
157
609
203
415
942
712
994
968
983
670
670
595
660
861
678
67
232
741
51
790
434
359
118
741
260
447
752
565
857
897
556
557
236
804
792
117
105
849
865
253
645
324
982
838
518
714
784
110
737
199
920
170
951
489
748
677
805
952
222
489
805
483
108
93
255
847
253
136
753
926
125
249
862
378
731
361
350
303
514
360
119
127
267
978
43
562
673
965
878
408
144
371
273
666
612
455
53
429
294
47
167
178
675
131
316
737
862
168
823
376
915
541
689
66
369
900
404
204
824
544
988
165
633
178
982
362
922
608
629
975
936
931
661
125
805
57
305
540
406
840
87
400
749
709
896
584
145
147
193
230
815
352
521
266
681
879
850
540
106
781
298
473
201
282
601
141
330
197
648
78
919
728
572
94
551
764
703
502
296
870
950
263
153
73
819
885
55
140
356
774
938
259
445
863
946
405
202
304
214
461
398
427
367
726
782
295
374
723
982
142
599
833
512
918
377
618
136
688
57
796
446
966
908
515
373
989
441
208
534
56
764
349
840
138
316
581
967
626
862
903
580
173
360
462
150
857
792
851
843
473
62
894
712
881
985
795
232
273
837
705
692
673
233
552
380
636
857
815
417
983
240
350
258
343
672
979
507
443
952
978
618
710
653
823
206
882
607
386
377
163
548
466
639
754
470
306
40
173
503
54
955
429
169
961
135
478
865
79
506
139
790
104
972
95
780
726
803
705
233
884
297
900
420
219
865
608
322
557
556
982
953
459
774
61
587
982
506
356
603
862
441
110
494
886
789
250
677
146
701
801
513
74
977
982
379
459
91
450
184
503
278
657
435
532
929
607
71
338
321
847
819
163
263
732
595
836
850
52
293
686
191
415
82
797
725
806
200
602
379
169
330
316
320
952
163
223
639
425
142
892
980
785
497
974
295
114
526
290
72
112
706
671
727
190
327
325
498
307
373
129
385
804
867
458
349
219
418
998
617
845
591
682
224
852
160
881
230
479
901
504
501
698
87
717
84
402
63
477
513
233
495
630
442
687
980
679
531
279
880
288
368
449
734
519
190
757
391
502
287
729
853
153
315
261
731
242
986
849
72
300
981
951
978
256
207
565
622
691
205
192
653
50
292
384
755
792
785
354
997
744
177
475
708
768
935
762
862
937
947
610
94
76
961
311
147
934
543
103
939
859
589
521
596
559
530
326
525
590
788
439
351
228
726
416
530
389
433
206
667
990
539
392
758
744
622
680
379
560
758
957
922
316
680
644
247
300
717
523
864
612
277
504
491
137
192
538
859
886
724
576
99
45
184
243
899
969
141
202
233
796
911
486
343
188
417
377
634
421
647
170
791
140
312
839
682
550
185
300
184
379
178
167
145
536
109
722
949
492
711
425
62
727
933
515
499
831
835
909
597
276
214
223
686
734
843
444
700
601
54
742
173
403
127
53
543
707
402
144
742
771
273
416
381
498
71
431
124
710
409
102
339
687
723
570
193
802
450
96
75
52
920
777
438
303
497
207
445
788
578
47
868
697
579
310
252
305
405
938
537
939
545
994
338
221
499
987
174
408
980
347
839
984
40
966
835
657
344
284
779
931
69
468
655
783
297
109
225
507
891
784
375
502
777
188
513
983
873
808
661
607
817
425
766
173
839
954
964
233
687
430
244
316
370
268
409
644
998
209
881
350
615
42
530
305
208
716
753
974
685
903
883
458
303
707
859
267
939
318
233
368
609
572
847
895
512
160
582
233
533
732
850
589
663
974
380
518
574
452
973
175
740
642
182
916
980
252
82
121
506
684
471
58
245
556
80
249
937
254
471
860
53
494
223
408
638
142
726
234
109
699
76
599
455
678
889
805
353
307
944
585
450
284
138
675
431
274
677
697
439
102
754
803
239
167
525
281
97
520
800
322
855
810
755
801
115
444
878
80
367
340
271
434
805
119
847
128
979
57
224
600
233
870
245
766
178
410
603
631
834
280
638
506
351
244
634
785
612
383
560
216
754
145
575
642
244
333
790
565
769
664
538
70
783
96
493
662
349
860
58
299
749
704
507
731
457
945
272
861
40
953
705
599
997
517
736
835
478
802
395
392
538
49
771
500
928
767
565
120
580
694
289
556
351
627
202
79
447
718
586
992
438
134
833
852
954
550
965
836
381
497
395
249
437
719
742
479
504
877
946
971
447
796
738
677
829
49
934
202
569
539
246
416
914
75
819
290
48
829
292
739
814
124
954
591
697
605
674
822
556
332
380
995
312
129
360
831
451
823
394
119
385
946
498
926
860
136
926
375
610
572
287
196
306
366
766
465
194
856
818
83
753
503
709
702
356
675
205
306
383
557
381
571
185
66
372
884
271
939
92
82
183
286
358
334
299
541
628
474
966
730
851
588
969
220
498
126
505
553
740
204
985
804
178
782
736
208
473
186
998
116
482
116
363
953
593
294
244
987
886
720
655
360
857
568
446
354
450
800
959
602
461
66
470
856
716
965
939
650
283
980
841
245
127
856
331
711
267
465
412
139
285
162
300
560
202
410
267
858
194
545
487
905
67
134
589
543
925
817
422
797
169
828
753
915
678
306
427
647
520
815
311
450
733
266
905
511
895
183
219
197
434
334
390
163
422
621
872
509
133
366
765
237
670
903
68
842
185
103
90
785
609
414
944
143
918
417
906
104
229
914
901
482
556
325
892
452
562
474
976
99
94
645
111
114
100
626
206
503
600
582
640
722
819
114
810
482
879
595
205
455
91
938
846
870
918
519
365
740
237
250
435
207
916
486
857
956
392
55
61
705
437
786
55
129
548
523
679
964
984
399
62
800
916
811
391
524
838
986
267
742
292
678
543
152
336
730
734
483
793
158
633
797
388
177
302
743
628
860
423
594
171
134
212
146
482
978
769
119
300
378
791
301
180
207
911
91
971
947
927
119
285
501
412
314
232
609
415
992
647
882
737
179
344
223
768
823
971
167
353
77
807
199
762
814
151
564
510
413
419
739
141
325
547
512
829
206
543
283
832
154
623
850
782
814
997
934
75
895
449
80
674
509
217
362
507
62
617
458
970
481
897
157
551
231
820
789
68
188
306
552
854
600
772
608
507
269
78
482
549
799
724
901
175
153
656
306
917
506
293
254
347
382
211
507
512
310
503
875
110
884
279
339
42
521
880
734
871
984
350
366
360
553
729
400
342
53
197
234
157
997
648
524
154
991
323
102
281
340
653
342
639
522
326
482
90
761
512
71
682
714
950
613
335
728
160
827
163
728
365
402
132
508
142
911
736
875
735
860
424
739
666
549
148
969
232
505
80
510
558
588
660
43
579
745
764
129
751
871
690
474
602
318
402
777
826
105
126
82
571
194
346
985
54
626
411
775
201
303
200
889
216
72
713
868
661
682
767
918
292
532
938
349
742
243
977
739
420
271
363
133
820
40
527
697
990
824
666
688
303
422
912
366
543
987
585
683
723
211
503
317
720
738
93
742
452
554
108
551
664
93
470
864
364
795
542
254
294
202
743
955
279
837
443
59
349
423
198
45
290
415
277
860
570
780
921
266
190
853
102
440
400
978
195
137
437
566
388
976
63
923
406
739
829
858
359
112
109
625
735
197
950
963
715
739
58
626
694
438
92
708
263
76
155
648
221
692
629
205
207
970
421
707
896
356
915
298
83
897
577
292
359
840
476
614
599
944
160
82
495
60
805
132
316
974
486
800
94
92
405
907
884
805
748
788
234
200
584
919
335
459
698
155
457
818
168
255
677
739
512
136
815
460
578
199
93
167
684
685
236
48
327
342
893
621
570
852
89
189
974
351
901
183
354
319
423
681
999
456
456
129
200
478
554
319
837
152
723
481
354
614
518
567
630
652
130
349
68
149
843
946
371
887
574
629
147
617
881
599
75
54
311
131
298
735
246
276
579
179
646
321
326
860
883
576
742
471
422
65
623
154
274
83
155
182
136
485
854
457
117
120
613
134
615
189
754
930
362
90
640
770
690
494
795
601
212
341
697
730
822
479
998
449
162
554
912
91
859
986
493
186
668
503
333
159
576
99
556
991
763
844
322
325
295
302
183
325
881
700
591
547
904
847
632
274
169
132
875
756
377
64
587
415
733
423
830
339
461
580
45
826
449
351
384
906
532
922
928
645
57
904
996
580
472
587
727
284
73
791
265
969
935
360
88
876
674
746
272
279
491
506
900
166
264
934
801
138
987
991
998
950
460
236
818
517
605
176
624
440
139
160
159
972
92
240
863
288
564
450
114
782
320
831
771
911
288
962
129
547
367
592
575
227
211
464
775
45
371
550
296
44
717
485
792
578
769
574
537
90
217
530
407
503
45
321
294
194
285
689
392
152
756
384
932
403
312
838
936
71
317
887
637
305
152
53
743
881
833
907
711
698
171
371
536
417
322
964
455
710
993
380
973
431
626
66
121
984
46
988
545
713
601
670
688
525
196
793
970
897
463
182
902
252
644
811
477
807
313
443
492
931
735
161
283
696
246
55
310
362
268
382
401
492
570
273
994
524
803
478
690
232
826
263
142
361
113
434
550
355
306
148
766
398
342
588
874
54
844
970
468
411
638
276
433
994
856
593
757
633
792
381
740
344
277
603
990
411
772
276
998
96
436
969
574
866
869
546
271
440
898
647
440
627
740
659
950
620
331
72
85
401
934
59
567
343
880
726
507
795
893
502
320
489
512
938
543
140
210
398
923
981
394
495
336
54
988
438
269
910
216
446
694
42
403
374
341
610
488
702
144
672
482
562
885
675
660
145
781
234
228
460
371
119
857
737
355
730
552
928
437
664
427
869
838
198
758
108
576
93
248
834
163
981
368
708
505
238
667
852
899
579
718
552
124
927
873
548
560
250
184
244
364
202
878
763
363
346
283
929
884
430
303
121
479
517
95
673
834
67
742
44
349
324
330
394
999
182
314
48
348
448
121
962
967
332
528
450
509
315
952
853
795
194
163
152
742
393
808
409
211
212
251
556
791
179
53
457
893
505
748
100
856
477
103
256
215
778
958
166
65
815
929
120
853
890
250
443
532
938
180
464
714
191
491
964
764
561
738
331
392
358
557
233
485
572
649
693
665
735
162
257
899
135
342
170
356
459
660
745
524
176
187
55
231
509
722
139
755
765
264
653
966
993
187
789
633
866
122
814
674
897
390
805
121
390
832
52
686
798
772
100
250
689
958
201
790
748
435
620
445
942
917
707
326
942
618
305
52
452
237
417
72
157
849
53
565
985
699
816
463
300
276
364
698
371
722
824
210
66
513
530
580
950
86
131
981
442
335
202
418
540
957
740
91
451
488
257
207
431
920
535
378
612
162
307
458
202
614
741
262
567
955
528
226
855
72
800
825
496
787
743
126
252
222
579
406
893
290
121
453
504
159
610
429
933
695
876
100
575
549
899
690
996
429
516
587
811
575
304
691
517
808
582
101
149
364
113
578
97
958
280
394
937
184
57
457
377
793
825
228
736
399
535
927
238
271
802
763
717
123
787
877
747
300
889
784
789
560
468
441
113
586
773
138
807
138
226
451
732
732
203
557
841
345
118
183
417
355
558
773
507
867
48
113
935
55
47
940
821
812
805
531
612
92
67
894
452
336
319
218
194
571
68
48
278
408
153
160
371
156
431
743
248
938
572
729
497
506
798
901
578
757
864
731
482
154
783
273
52
537
543
783
113
176
279
217
272
56
222
233
886
449
819
72
756
933
380
759
444
881
243
765
503
882
137
560
779
114
585
314
308
313
974
533
475
46
468
310
588
612
786
289
456
349
489
849
467
396
124
305
992
959
245
123
44
214
738
531
891
969
915
281
492
97
68
102
675
780
409
92
820
243
542
516
194
768
512
828
314
201
860
763
878
730
566
178
415
499
364
913
585
959
360
625
550
963
552
724
708
127
949
509
166
739
522
994
343
133
545
590
137
99
911
422
66
82
218
329
300
306
525
827
719
947
758
689
307
979
796
974
173
477
565
886
201
602
328
505
496
922
432
146
796
907
678
352
904
214
508
509
755
495
321
656
825
592
148
665
677
516
969
168
545
845
745
951
444
995
692
601
157
275
355
344
604
468
932
318
69
424
961
962
256
230
339
191
574
729
925
78
671
876
459
449
810
406
843
849
407
262
691
546
990
109
647
622
852
458
682
246
406
707
561
613
486
858
853
435
303
981
398
781
44
876
242
149
818
768
327
503
867
113
328
392
172
198
206
324
661
354
681
399
803
131
635
951
421
466
858
906
962
988
133
716
442
918
602
148
783
856
455
440
421
900
319
301
351
175
498
709
458
52
102
115
457
448
791
671
567
450
156
732
412
237
757
596
829
151
994
654
353
983
731
428
926
272
461
434
918
638
190
417
929
158
837
382
579
968
53
998
89
373
557
294
294
465
412
803
248
431
814
770
186
291
515
777
851
513
367
767
920
170
412
325
273
591
497
52
164
250
428
569
257
845
423
241
338
281
608
475
506
393
726
284
755
99
389
104
991
187
143
156
241
574
343
631
543
119
72
790
751
43
929
273
163
594
810
323
418
742
250
765
644
123
584
811
289
793
291
687
952
987
659
271
963
306
110
908
233
224
537
500
626
179
900
335
590
172
174
859
690
864
565
828
485
395
233
627
232
542
58
275
94
493
135
198
645
577
579
928
778
69
46
935
399
562
310
198
596
782
975
973
448
679
851
69
692
538
173
919
203
471
411
426
542
955
176
821
93
524
485
743
666
830
338
639
301
878
141
722
867
962
222
791
313
567
224
437
982
386
559
231
240
612
118
521
995
981
876
145
441
952
827
615
175
881
865
632
857
597
740
719
601
147
40
711
488
386
793
944
238
195
846
296
437
165
103
933
422
509
866
118
812
315
694
225
168
202
314
468
500
985
846
857
565
242
975
530
193
349
467
654
208
456
147
571
603
370
919
908
814
783
411
973
128
716
481
205
964
894
933
622
841
264
149
352
178
864
886
165
745
570
304
768
417
326
84
701
43
158
834
668
629
780
879
740
615
149
988
436
120
361
115
799
667
861
927
717
975
347
647
876
326
708
678
312
699
819
954
100
204
708
240
384
566
874
484
397
346
845
718
469
362
722
188
502
409
292
528
501
425
841
769
163
658
777
690
394
647
564
612
839
554
541
78
300
108
672
50
859
718
539
573
287
744
723
65
498
726
250
544
671
460
785
811
722
499
589
464
719
765
543
992
801
88
580
546
864
247
171
718
626
224
474
818
236
245
100
428
206
265
834
816
483
716
281
152
873
632
888
41
427
635
132
618
292
894
197
440
330
289
117
188
958
433
468
778
646
240
156
772
540
635
177
289
710
287
981
718
483
623
253
435
590
619
902
617
108
239
768
244
190
315
990
64
522
800
556
624
341
232
834
145
914
851
680
309
906
682
847
234
393
631
102
171
549
597
224
445
812
162
598
691
450
128
272
74
802
733
555
258
974
490
654
565
241
557
541
814
417
710
145
545
851
660
89
454
181
943
445
132
976
700
143
280
492
226
117
867
208
912
248
218
285
648
729
599
669
540
915
476
738
211
260
720
978
263
198
431
496
342
681
556
485
658
308
994
387
326
390
969
249
519
683
736
91
754
172
965
682
952
887
191
856
416
841
563
970
704
323
774
375
62
382
819
423
322
100
482
625
634
803
733
86
835
194
600
509
286
990
526
825
124
149
89
165
458
332
222
114
196
647
314
83
731
485
549
90
334
302
535
275
913
887
851
681
199
654
78
260
496
132
278
541
923
646
409
569
158
896
519
213
668
589
476
894
278
432
812
739
456
883
865
272
310
727
491
589
790
478
509
496
593
51
906
134
958
279
773
165
848
898
828
587
177
834
543
45
249
51
172
153
138
986
156
709
882
610
177
99
432
953
525
185
203
787
488
853
784
299
296
101
259
923
870
999
856
223
888
510
197
770
662
599
774
682
910
555
400
374
965
318
879
100
813
440
486
614
246
566
263
435
786
597
753
499
124
239
930
724
743
68
466
932
188
52
355
569
114
676
179
640
285
363
646
820
615
665
212
752
210
158
652
99
767
548
181
185
536
78
965
901
784
423
126
223
651
848
549
921
418
191
711
912
500
506
195
740
375
46
576
158
502
958
417
437
613
614
413
576
321
869
966
893
656
318
229
783
346
632
494
411
903
203
664
110
941
465
956
881
408
193
949
370
340
897
731
610
772
724
264
90
884
242
263
364
440
976
633
693
544
716
417
163
213
359
494
943
512
595
624
254
424
962
867
70
116
886
822
84
656
945
652
600
998
399
421
746
133
707
886
440
196
327
298
572
879
567
613
371
927
895
922
692
59
478
691
797
937
843
629
741
296
646
172
590
117
696
588
698
783
286
423
572
104
256
759
171
836
613
198
378
787
473
387
865
540
863
897
444
617
967
980
820
293
191
821
595
249
575
126
140
851
259
373
345
616
661
684
533
342
42
869
426
736
958
342
130
221
329
202
992
173
164
637
587
613
74
114
221
549
301
214
109
231
775
686
422
484
91
358
912
482
340
810
78
409
524
261
279
407
292
736
702
685
97
436
307
309
829
191
280
562
289
514
117
604
229
374
774
891
395
747
751
51
784
733
350
551
198
620
326
365
672
352
953
411
269
917
304
539
836
387
901
689
119
62
508
477
385
56
55
709
970
962
52
705
113
762
397
579
230
251
946
999
901
248
323
659
949
991
239
806
567
254
401
791
853
940
460
120
551
134
719
559
528
626
76
82
862
844
668
953
952
313
185
64
845
495
648
190
644
95
694
683
730
929
847
917
298
840
174
593
165
785
692
936
749
771
146
321
634
753
243
553
607
739
417
729
255
96
199
118
194
207
237
494
895
341
620
284
186
649
794
360
876
524
92
469
989
669
87
974
318
574
157
565
790
727
878
238
632
79
113
250
862
829
495
834
160
167
335
41
873
317
849
442
355
590
981
745
555
254
291
431
972
57
102
273
112
158
460
119
370
857
391
227
725
94
129
78
214
520
611
450
298
475
259
234
919
687
447
691
830
48
752
394
146
894
415
412
843
675
48
342
523
430
475
81
80
555
812
98
642
226
74
847
712
264
468
784
785
532
74
775
834
497
396
290
43
93
199
195
645
206
499
748
859
106
151
335
514
961
356
729
412
964
348
596
60
870
119
467
140
87
767
62
430
947
504
224
154
971
428
610
126
329
307
992
919
583
78
212
776
784
254
825
530
895
537
826
789
93
743
160
791
242
694
327
387
222
161
645
42
882
969
962
920
273
554
256
147
632
857
264
62
759
266
683
934
679
573
694
996
129
739
645
308
949
616
197
387
400
871
923
307
65
310
209
318
188
810
213
94
308
768
441
419
464
205
987
866
780
226
920
284
535
709
559
787
277
561
162
716
160
117
583
296
907
579
96
782
493
263
91
282
485
237
803
830
306
637
180
65
935
795
859
519
500
223
284
528
581
394
894
41
902
720
413
157
206
882
816
305
198
990
982
350
712
230
279
775
862
463
507
137
665
76
45
963
777
413
529
493
435
330
247
255
90
853
77
740
780
262
535
983
662
717
194
528
63
800
363
809
417
291
459
749
498
485
407
399
190
614
524
942
392
836
976
203
937
635
326
248
297
528
403
634
72
660
245
302
494
221
632
948
93
131
711
537
440
903
42
197
263
200
799
79
349
852
642
65
884
156
545
227
892
182
520
876
650
817
825
377
411
613
536
532
125
538
962
769
391
824
816
444
610
845
418
749
660
169
410
673
235
849
686
802
164
457
859
427
263
353
300
113
621
648
339
650
429
484
731
499
706
794
380
619
617
337
105
63
870
62
786
203
633
885
358
941
685
814
605
511
192
932
285
461
263
76
826
886
322
640
789
925
534
966
555
594
652
88
570
622
958
153
567
174
525
655
463
916
125
946
239
570
235
226
595
432
419
898
291
694
476
461
425
881
322
710
667
250
106
338
548
217
364
43
204
409
610
273
459
976
187
211
306
899
481
340
766
692
800
760
819
313
858
199
142
930
548
204
533
923
612
510
402
934
80
883
310
555
698
599
380
947
712
812
391
524
98
45
789
889
365
510
919
875
865
728
432
271
444
302
650
346
53
864
74
143
517
774
54
280
575
204
377
683
623
749
339
365
51
89
55
146
500
493
901
383
382
227
254
694
669
467
994
503
825
660
312
726
883
978
475
398
973
118
768
52
806
73
654
351
871
868
849
214
724
884
936
466
648
916
627
215
962
936
343
587
878
857
421
209
660
918
620
588
332
176
397
712
931
917
952
623
619
964
594
124
800
521
849
309
454
445
86
659
56
713
659
51
389
284
89
166
184
76
286
778
619
736
823
635
919
904
826
991
176
162
675
182
42
141
873
757
326
344
753
580
244
828
838
747
177
263
503
424
425
429
724
787
449
644
364
71
137
650
410
67
361
210
767
713
292
54
925
849
531
608
130
345
140
756
150
473
943
650
787
321
94
325
894
785
699
686
202
309
434
259
109
264
581
315
572
510
195
435
747
806
375
578
355
955
443
895
722
749
924
239
211
43
143
624
889
564
281
121
57
626
310
429
817
376
203
938
45
635
698
260
299
553
160
374
274
795
235
162
235
803
714
721
121
915
837
885
537
897
673
350
198
939
731
202
551
298
944
103
161
237
968
806
265
444
639
251
613
410
472
317
658
501
201
44
743
720
314
776
761
997
454
838
579
314
863
553
449
73
870
299
487
365
939
711
854
935
230
316
389
604
151
522
354
212
916
398
49
690
333
55
716
492
718
370
521
281
101
453
787
370
305
794
985
459
796
99
105
774
868
52
259
404
435
945
841
726
625
333
690
354
335
536
858
632
662
303
759
470
738
173
283
305
449
904
397
777
147
613
835
269
46
666
670
787
144
542
346
379
174
188
930
163
213
280
233
269
158
43
511
425
936
499
572
127
602
319
102
823
141
204
845
557
889
65
435
598
424
366
853
343
601
611
795
656
301
674
311
360
427
578
548
647
118
941
236
815
851
917
986
813
441
986
698
359
107
355
511
193
477
231
193
79
221
297
979
615
786
507
292
91
884
867
132
807
53
546
209
394
662
555
920
711
548
166
998
472
511
991
147
519
620
908
768
163
323
566
879
784
351
541
342
662
301
562
85
301
79
475
80
979
55
387
137
789
150
608
976
425
212
890
702
51
856
241
301
375
876
871
844
628
613
70
369
733
396
443
337
611
697
495
437
413
144
540
532
815
873
808
443
875
399
981
196
292
862
999
58
996
588
329
538
319
314
210
556
865
653
79
672
152
135
335
749
207
448
648
686
282
804
354
581
757
830
551
58
830
85
864
876
511
621
597
676
834
182
415
210
727
544
843
955
419
260
921
628
431
204
669
472
619
929
670
498
646
766
241
153
496
610
757
757
710
361
788
168
947
775
631
950
395
253
311
738
509
579
445
826
312
912
316
969
774
382
852
192
930
603
307
939
286
576
242
681
302
162
463
208
666
260
466
715
616
329
431
155
998
693
322
583
623
930
852
372
100
396
976
472
151
916
882
196
928
575
122
172
204
327
68
527
196
193
418
173
851
830
505
657
773
960
665
498
440
538
886
265
728
770
791
114
655
233
621
114
458
944
266
490
379
78
542
754
570
578
755
266
283
694
969
714
580
122
161
800
938
329
476
381
504
879
379
559
588
702
900
76
582
402
505
946
839
162
425
268
462
765
161
316
206
145
323
718
904
200
656
223
769
113
251
482
537
447
603
398
716
684
175
490
193
939
816
724
775
649
229
423
772
515
831
740
477
178
641
580
161
587
527
783
582
461
847
877
70
663
286
966
672
382
745
776
491
69
309
904
156
437
573
542
480
243
141
314
750
349
760
966
617
98
942
381
345
736
51
299
204
40
925
176
545
173
831
551
124
994
592
265
873
554
605
550
73
53
306
362
97
313
598
416
131
559
359
207
526
396
961
894
499
428
198
467
895
730
515
413
188
684
982
70
153
785
411
319
994
866
162
173
772
685
754
455
829
902
697
185
523
767
42
779
581
672
367
221
923
462
192
771
160
343
757
895
386
376
477
663
850
288
261
322
120
898
225
771
649
706
675
473
213
407
778
972
494
101
187
153
144
441
527
631
175
573
934
688
510
854
924
718
637
929
111
210
124
973
639
162
154
845
816
196
513
149
183
399
193
800
820
851
109
120
99
276
118
127
80
260
763
801
462
496
571
246
777
967
295
912
220
730
299
319
444
573
53
909
865
90
436
159
315
840
553
109
82
490
318
990
126
195
409
881
82
383
84
625
446
919
735
446
499
565
941
124
885
323
537
291
504
425
484
811
303
824
128
908
40
605
367
395
938
952
603
505
492
180
60
901
866
576
495
303
97
875
389
963
259
528
975
347
634
813
193
502
233
110
390
579
315
655
961
932
500
324
225
754
428
633
670
512
926
774
579
758
96
180
528
892
291
398
710
951
680
987
262
846
697
374
672
301
368
740
314
113
407
936
704
843
976
725
818
291
482
414
351
317
233
643
912
447
915
704
391
428
905
521
632
228
526
443
509
96
721
920
791
978
157
188
724
485
870
447
947
106
829
953
270
123
154
301
828
655
406
66
746
536
365
802
60
719
578
345
942
774
264
189
235
369
833
866
49
982
923
319
362
533
699
910
175
364
417
989
968
183
841
158
140
783
297
157
820
249
717
222
555
620
181
973
200
596
113
101
334
787
458
862
453
917
985
420
386
180
980
68
241
962
412
43
557
598
64
189
963
983
697
794
42
253
723
703
516
683
84
686
694
161
116
675
547
242
951
46
882
240
777
44
995
925
886
759
685
58
549
528
996
953
113
378
830
434
270
164
846
880
434
486
256
203
315
305
109
274
592
516
746
297
236
409
72
117
959
624
454
264
159
943
770
233
741
841
50
246
879
392
317
414
732
475
448
597
664
667
235
114
708
892
138
116
84
707
370
273
761
180
79
63
352
201
953
58
513
562
745
692
65
765
988
52
555
524
255
65
744
289
52
374
260
969
803
209
166
266
758
353
910
414
665
848
220
284
125
828
795
662
170
464
462
964
716
952
644
598
149
753
922
833
163
809
599
356
44
693
922
777
619
789
748
978
729
265
556
46
536
751
43
84
117
830
828
202
278
97
813
922
612
704
502
853
729
500
906
502
750
197
842
809
146
902
345
707
308
978
142
331
906
628
872
55
931
348
380
908
413
616
777
686
479
261
548
363
606
578
75
598
629
629
874
626
210
811
374
432
997
470
964
849
73
106
843
514
679
820
172
145
987
754
440
920
712
414
376
520
120
86
510
616
927
714
494
459
95
134
916
650
597
385
386
821
303
603
989
768
52
269
588
566
369
352
994
52
884
313
979
310
976
809
892
734
733
999
485
812
868
166
538
583
419
138
601
611
732
800
295
772
623
144
848
185
65
407
230
548
775
524
556
897
721
482
846
276
422
54
456
139
609
238
257
874
737
182
150
312
559
847
671
132
86
947
267
180
751
175
804
230
346
548
803
210
445
874
634
999
189
594
869
107
52
187
254
810
418
215
932
686
743
319
629
573
600
678
233
92
391
886
424
779
994
512
68
648
474
185
406
135
464
273
341
962
618
969
220
474
305
502
527
470
743
849
774
264
554
109
939
496
546
846
973
680
823
404
615
100
553
712
327
817
115
348
584
620
634
848
454
191
281
583
803
763
334
997
274
460
204
642
88
182
852
629
447
308
962
862
854
485
665
131
661
85
688
999
734
372
914
603
659
991
983
635
150
602
538
934
295
445
980
539
325
695
411
403
978
912
377
392
844
498
773
222
745
619
525
699
885
986
129
307
745
950
402
909
677
463
615
114
784
385
248
656
431
852
686
257
509
466
377
863
613
483
701
739
616
787
633
285
506
318
68
560
432
735
613
700
776
557
732
147
79
698
150
450
957
98
166
221
317
753
380
495
977
225
330
904
760
937
575
232
445
746
591
332
961
860
249
837
568
472
216
734
456
213
82
800
861
370
568
988
361
208
413
117
112
549
435
504
877
977
712
794
560
314
546
536
156
469
982
75
952
478
642
174
512
123
967
443
45
272
801
931
745
969
239
879
738
941
842
409
637
264
740
551
807
555
381
181
811
245
204
919
384
188
591
347
803
764
845
460
326
965
607
925
895
169
200
718
297
519
65
922
276
917
532
744
156
674
707
792
839
271
341
359
360
266
187
639
486
293
998
328
848
832
773
707
225
490
891
978
78
43
672
95
863
516
947
492
194
579
244
839
513
490
364
551
666
307
630
911
720
625
520
740
491
921
278
367
844
195
467
945
861
68
148
43
546
280
344
494
69
469
218
811
653
270
244
995
914
762
459
265
898
40
421
533
605
301
597
328
117
880
944
386
990
934
129
425
578
302
677
198
648
508
495
46
752
256
856
537
817
296
291
464
374
798
931
310
423
996
560
888
538
764
153
874
509
205
131
569
818
776
531
530
447
481
535
664
743
73
543
360
703
699
475
297
314
217
61
248
712
622
46
866
281
579
256
691
452
243
93
990
326
103
324
749
484
807
317
790
452
251
101
982
863
239
992
893
171
259
115
237
374
122
391
639
940
436
150
955
692
176
280
791
874
738
433
117
996
305
170
834
545
534
299
229
619
506
711
187
42
234
636
460
128
861
883
408
261
653
738
178
586
617
676
523
55
283
41
450
986
294
531
232
59
753
575
951
119
939
864
591
886
584
137
531
326
937
94
206
391
342
366
422
619
289
969
473
329
150
296
910
208
106
761
59
457
583
399
374
117
93
716
818
901
120
336
144
156
879
814
782
917
447
888
804
709
555
824
954
492
700
981
741
707
225
90
777
124
873
498
85
470
483
172
794
407
155
320
100
682
223
820
602
498
319
411
498
324
250
993
922
628
409
419
322
474
192
73
447
472
575
236
558
301
676
959
159
468
743
568
376
909
351
233
88
817
711
985
312
727
115
261
276
977
148
870
792
801
520
42
888
984
706
520
893
695
177
547
565
210
231
755
58
668
885
293
903
63
101
92
439
942
56
704
680
847
605
557
231
589
166
151
308
593
613
532
390
714
944
179
378
654
402
660
267
477
738
337
48
681
89
393
769
199
839
532
266
76
689
882
571
349
654
168
49
727
349
563
678
293
892
589
187
449
976
578
880
880
374
164
551
490
466
893
703
837
387
434
358
819
271
313
403
963
541
81
841
668
739
677
779
219
481
980
970
302
244
164
999
543
609
854
506
706
580
459
796
925
660
50
518
83
814
592
304
145
478
698
970
198
819
685
681
852
78
942
593
752
493
170
361
523
847
866
225
453
665
330
224
963
604
782
217
143
938
110
410
233
452
636
903
470
691
769
856
299
688
670
993
328
257
322
707
55
726
551
947
116
656
44
147
668
656
256
946
332
179
429
670
962
720
762
562
44
170
489
146
670
327
63
360
771
470
976
421
222
812
141
916
919
687
801
687
589
725
676
404
772
723
697
196
652
80
278
827
300
81
169
877
494
374
71
440
55
252
139
126
86
758
541
167
173
151
862
523
294
248
635
446
57
352
265
240
953
166
222
430
849
428
951
627
116
962
723
748
640
460
834
809
302
102
573
338
593
214
172
302
604
241
664
656
54
689
386
470
197
473
777
245
956
889
74
290
999
556
978
82
772
139
459
898
764
729
931
94
620
506
765
945
983
526
909
799
67
439
797
446
71
253
175
692
232
269
835
531
142
554
476
660
148
584
130
865
929
175
354
263
686
395
277
540
710
824
745
326
97
835
585
687
99
682
556
122
245
555
942
995
358
291
770
965
169
80
567
221
613
236
436
666
475
310
250
747
540
247
183
287
714
932
990
452
713
958
465
892
572
677
81
559
414
344
965
728
913
80
577
471
637
64
365
749
845
622
563
116
827
714
823
590
914
566
250
313
936
296
776
237
152
938
610
967
814
218
614
349
57
426
539
665
807
720
105
545
800
894
969
943
213
191
281
419
320
425
373
671
673
573
755
340
892
631
886
77
62
993
530
417
649
363
241
497
753
617
270
985
461
903
72
378
124
883
873
404
750
967
890
110
203
673
65
619
386
668
353
689
384
129
485
153
42
883
465
524
845
704
672
253
250
789
125
439
226
843
523
425
649
876
688
70
153
696
821
278
56
630
217
73
922
297
331
430
730
870
407
767
125
421
714
430
154
294
776
942
641
728
579
680
999
970
774
534
117
329
447
650
820
624
753
768
519
617
988
995
543
70
939
549
611
467
632
64
263
473
359
71
780
401
218
762
933
691
588
904
951
74
815
192
788
961
947
512
588
259
150
506
847
126
618
706
361
646
727
337
707
95
488
615
929
395
500
866
115
237
563
284
596
69
834
183
951
475
121
963
543
958
339
707
530
672
267
232
704
198
893
786
422
74
313
521
384
874
922
425
736
185
549
895
638
466
966
295
605
578
742
528
385
572
546
714
461
283
885
106
222
788
280
776
291
112
737
710
128
804
683
75
786
759
910
714
774
969
641
981
714
902
268
746
567
152
282
353
425
590
687
602
329
798
695
808
925
147
773
856
689
911
211
539
733
871
957
644
573
311
242
777
803
722
604
148
449
614
725
374
579
220
106
345
112
211
788
420
411
694
439
161
799
864
594
75
453
480
981
661
65
145
982
258
388
189
84
831
713
984
875
593
220
40
799
731
145
535
187
643
282
819
865
269
492
257
763
641
773
628
829
848
922
642
266
540
597
964
278
307
728
434
174
805
683
827
267
734
613
985
490
500
45
505
679
270
265
379
602
245
207
531
754
575
525
832
390
407
243
923
893
974
76
278
408
920
925
708
886
115
597
772
963
731
302
633
214
959
268
123
90
336
188
349
798
838
567
301
316
709
493
549
111
356
681
632
475
297
889
549
534
971
434
867
259
631
412
360
92
414
90
236
957
757
250
478
240
113
904
147
884
785
983
801
472
286
201
896
390
539
671
942
730
547
790
658
832
959
932
927
496
553
561
283
92
353
74
64
864
609
571
571
902
337
816
932
717
525
693
279
102
988
976
992
225
847
306
280
522
463
178
308
549
486
901
568
135
90
808
639
363
104
112
477
744
714
137
340
330
891
528
810
885
341
138
304
846
990
523
670
75
411
281
249
737
945
480
720
311
420
600
877
769
779
505
938
516
359
483
64
898
597
926
326
653
899
361
126
151
261
576
593
394
721
797
616
304
454
313
196
459
546
982
503
241
767
962
691
819
641
89
416
497
652
980
614
488
894
900
685
103
319
655
95
214
286
171
516
329
40
601
798
426
402
430
750
918
210
571
405
448
271
147
856
947
210
882
176
62
748
190
576
561
647
191
896
616
142
474
848
183
96
431
127
523
507
264
481
468
807
972
750
200
820
714
996
325
862
778
936
754
113
322
109
944
352
925
524
726
629
439
909
301
706
892
241
904
898
437
829
556
668
539
448
206
175
571
308
636
399
743
752
775
675
113
918
116
56
67
693
448
116
484
137
483
847
296
425
137
282
121
275
521
500
850
265
541
366
828
244
945
876
165
754
972
337
400
576
969
634
278
876
369
497
761
256
359
45
911
710
367
809
612
126
169
249
767
347
789
198
511
42
805
548
365
781
543
600
639
62
122
582
520
317
135
468
69
595
311
675
99
277
152
88
71
536
314
648
506
423
448
665
924
352
337
415
116
222
982
725
204
406
474
220
281
763
208
279
747
319
849
389
227
850
981
430
262
494
787
888
624
983
429
875
178
909
71
362
879
985
722
540
588
221
211
168
796
107
45
182
185
561
737
115
828
758
479
696
761
925
57
386
703
612
897
44
258
49
426
611
394
221
53
694
957
608
116
89
182
878
96
208
242
263
342
373
393
421
323
737
197
389
927
884
75
735
917
419
657
288
874
173
343
642
814
154
610
524
612
732
826
48
709
454
432
141
947
981
865
906
516
522
109
314
506
608
904
527
929
730
486
320
41
269
123
441
829
236
173
101
795
542
248
169
914
264
846
133
798
854
733
860
905
171
934
970
69
801
635
218
389
779
749
727
482
224
522
791
518
138
402
544
481
154
584
322
279
288
721
818
355
839
250
414
379
187
557
507
121
607
342
335
496
827
635
368
344
733
121
379
172
557
595
994
131
177
789
670
225
671
980
149
455
356
186
554
697
684
200
405
934
279
581
44
122
479
102
341
382
169
688
204
280
506
501
879
786
473
625
69
660
210
501
689
315
70
983
180
761
387
215
597
896
651
666
864
690
709
457
316
773
315
247
822
181
863
967
984
833
739
231
247
197
702
759
608
640
244
769
268
660
957
535
909
789
544
788
853
643
170
43
751
243
247
977
698
101
532
437
154
272
404
947
253
296
316
650
711
874
401
114
686
714
870
351
798
396
136
222
436
585
411
714
628
495
281
677
790
180
183
834
311
975
558
782
215
863
989
789
664
562
379
895
182
95
472
997
904
824
190
752
971
83
514
742
486
775
722
152
619
884
436
236
572
543
484
873
573
528
372
51
422
476
650
262
895
920
736
161
117
730
197
939
138
507
773
736
592
249
267
439
95
471
918
230
632
290
576
113
360
735
403
511
969
484
678
780
77
787
156
410
262
746
944
186
786
897
303
104
260
740
214
928
42
175
67
527
644
332
522
329
968
991
282
755
858
698
530
714
954
897
154
961
442
313
390
284
356
737
912
221
642
539
303
926
283
288
665
711
840
936
918
234
156
268
929
469
656
147
67
635
448
934
392
75
665
52
820
103
273
764
773
432
522
809
507
931
186
309
794
778
234
385
117
537
403
779
58
685
777
984
430
202
297
907
933
920
168
872
145
551
755
552
385
59
314
461
359
338
225
217
910
180
263
956
487
317
737
526
53
968
489
733
942
708
617
839
44
325
107
712
255
307
665
285
328
557
847
237
112
455
415
73
313
970
142
332
450
233
455
500
347
692
962
710
691
827
709
200
780
751
253
606
74
505
991
719
636
758
533
955
787
437
904
403
239
327
464
137
354
253
641
506
334
946
504
513
528
760
982
422
951
294
204
114
653
442
451
54
189
593
627
211
234
111
247
514
314
759
142
975
817
794
550
181
218
752
101
833
703
901
178
982
245
899
455
551
179
243
858
103
741
759
477
854
275
866
658
490
226
406
669
282
905
880
935
805
167
172
340
261
107
82
345
543
833
680
293
71
559
78
114
354
215
72
947
965
777
766
787
604
255
376
42
329
632
106
74
105
310
677
626
209
929
610
265
969
390
836
122
367
543
170
988
880
392
866
860
113
904
394
213
734
619
492
548
680
925
571
70
244
145
294
881
384
561
569
350
527
563
976
174
489
639
296
578
855
750
750
169
679
118
605
849
602
734
683
418
445
939
687
760
584
837
226
812
213
274
176
727
203
973
87
219
801
882
286
530
74
118
468
595
828
943
41
58
359
535
777
322
379
428
296
682
166
258
676
711
547
369
439
586
572
828
474
113
533
377
587
266
764
457
138
132
182
685
504
108
543
665
647
432
604
276
469
59
547
659
947
509
508
725
547
547
769
348
304
596
248
528
468
514
942
630
229
564
322
318
433
346
284
275
302
554
966
444
308
711
693
671
375
965
421
429
645
625
849
482
690
870
175
738
922
703
827
587
240
580
245
841
733
832
462
525
109
249
57
140
555
957
956
334
97
903
300
779
575
767
269
741
470
426
199
695
251
370
437
783
762
364
568
177
466
481
296
881
705
540
689
479
146
642
80
322
911
913
866
55
120
224
487
321
896
646
160
254
345
557
424
557
282
686
749
889
995
361
665
574
876
115
202
851
322
294
433
205
193
713
808
615
223
862
366
942
738
170
956
741
742
515
87
603
945
276
443
506
222
385
828
870
214
882
59
972
887
177
956
945
848
699
918
781
814
854
185
253
504
647
731
629
414
640
300
181
916
950
223
764
704
240
686
619
433
802
745
464
640
396
988
475
905
859
613
510
584
792
536
747
441
556
223
758
953
736
651
797
719
576
659
415
292
986
430
545
560
641
783
717
602
182
322
456
875
876
672
578
119
658
150
84
303
436
509
169
784
881
300
930
555
374
697
240
211
993
569
249
214
745
538
315
489
737
774
372
438
598
822
824
104
516
982
473
277
253
53
955
832
299
901
72
228
406
220
796
323
453
668
489
66
491
960
970
945
602
861
951
814
655
314
482
903
242
71
308
874
447
46
568
802
853
467
875
439
306
774
564
875
643
449
485
634
174
307
428
469
750
659
823
640
572
384
401
910
472
568
109
922
399
986
745
47
774
251
588
644
868
622
751
366
195
789
474
302
977
674
257
263
363
305
564
242
379
333
828
262
389
185
519
296
170
868
117
983
389
870
307
650
597
140
144
827
40
279
58
554
993
93
766
571
783
457
498
53
591
135
559
57
861
409
806
570
362
502
531
874
325
606
181
258
655
395
684
680
467
601
592
969
751
902
449
900
756
236
432
229
232
791
542
714
986
414
622
64
903
110
67
220
474
53
187
108
748
525
341
781
822
670
990
447
238
321
754
689
507
771
570
253
798
197
59
702
222
187
105
441
451
639
951
836
497
977
760
387
62
362
195
848
443
878
527
370
241
814
427
520
598
499
992
489
780
676
253
407
368
117
79
498
269
844
111
582
377
334
607
413
63
75
916
625
706
504
300
437
863
672
260
183
463
635
135
738
132
706
306
921
623
263
300
828
393
503
863
749
594
87
472
789
112
806
809
292
816
708
560
763
328
324
816
242
836
122
425
120
412
476
819
132
106
228
59
933
185
934
950
957
64
63
922
422
472
520
137
654
971
515
302
789
82
627
884
328
280
603
852
725
430
814
384
775
937
630
118
563
179
526
736
643
316
412
419
227
748
441
142
239
308
889
144
372
55
856
875
526
101
960
300
959
699
317
702
641
78
91
572
403
830
102
962
638
435
639
166
94
148
509
332
328
694
994
432
633
672
103
82
438
294
357
656
131
217
730
908
411
761
642
579
516
748
131
697
700
926
851
828
724
427
711
892
367
49
482
639
571
578
40
848
711
753
990
659
930
488
98
752
702
331
934
279
488
836
411
109
863
694
908
946
494
106
369
519
50
926
363
883
519
396
540
681
476
303
535
903
956
290
443
636
370
583
462
211
151
105
327
256
390
288
730
88
716
442
998
490
765
822
718
838
44
856
923
179
790
436
652
461
587
713
897
935
85
410
360
80
538
487
675
923
999
313
726
571
633
125
178
800
221
531
813
65
954
983
230
212
894
47
196
920
512
876
264
298
156
106
339
648
279
768
236
781
62
276
171
813
810
494
491
886
803
104
414
489
268
723
589
82
323
627
209
44
345
450
886
438
737
150
770
746
939
297
441
557
197
521
995
370
942
962
964
768
337
641
961
590
757
885
695
772
709
301
273
681
726
754
349
517
750
504
909
117
368
492
476
686
466
285
459
628
270
75
970
572
186
971
222
492
833
238
856
200
374
184
663
939
647
483
977
358
391
888
209
705
522
634
411
527
732
676
226
98
528
454
963
686
210
280
553
635
470
127
287
407
345
345
222
649
628
802
68
108
827
765
877
858
57
88
527
291
865
410
176
234
974
764
744
193
941
56
861
412
500
155
42
173
579
387
805
719
429
933
860
518
600
983
837
975
71
770
789
859
420
200
407
918
244
488
843
660
100
55
891
288
254
45
383
678
817
164
439
51
642
905
48
204
916
997
404
49
360
550
503
257
512
732
997
895
840
335
760
211
189
292
654
898
603
484
792
169
673
340
410
716
825
651
611
162
93
860
918
614
75
989
742
396
203
219
629
553
417
564
410
328
378
516
402
885
652
73
579
451
228
98
123
221
762
642
130
897
996
49
386
132
108
396
591
933
237
701
746
599
442
436
808
232
967
869
724
43
242
195
49
445
160
639
203
270
327
856
378
898
464
674
859
764
262
923
919
685
128
768
639
611
572
523
629
579
453
161
928
861
870
654
86
677
460
422
648
418
148
949
736
101
720
331
780
999
387
825
855
978
945
675
430
236
238
896
40
921
606
505
916
634
544
302
867
292
903
297
131
937
264
821
840
442
984
73
604
293
919
697
69
572
322
547
252
464
207
371
958
579
962
747
158
950
959
638
128
990
633
719
920
100
647
669
861
742
300
531
746
215
974
660
984
452
983
401
805
462
159
995
760
713
462
697
947
909
684
492
866
817
215
442
301
816
158
930
726
665
99
852
406
394
581
311
475
666
373
369
918
117
738
624
985
480
250
257
975
295
546
282
294
145
651
805
289
591
865
244
121
684
858
239
154
699
400
263
502
615
228
526
743
844
961
630
702
285
47
830
282
221
911
357
279
877
678
47
473
942
161
275
427
509
683
580
60
182
923
983
805
721
304
624
887
450
791
68
598
904
640
64
921
589
497
391
463
821
913
954
728
572
775
235
876
565
536
644
882
883
254
105
265
672
735
520
94
173
129
452
369
859
974
712
642
385
703
778
169
148
505
316
550
693
881
376
428
208
496
639
887
901
189
974
632
324
747
518
695
905
864
91
684
681
568
882
907
69
933
470
196
302
945
908
760
509
500
582
72
749
117
191
388
497
893
735
514
510
510
229
937
366
529
705
333
795
224
697
634
752
504
626
893
972
641
232
471
388
127
257
449
261
741
855
202
507
998
115
313
900
476
446
773
449
492
310
612
551
325
602
70
755
307
200
608
364
989
960
397
218
571
405
518
749
349
692
416
830
465
884
564
260
289
375
109
955
108
68
939
930
917
781
399
168
729
670
749
54
558
566
98
358
795
808
309
408
608
278
906
726
504
355
775
931
69
598
386
778
402
370
59
683
832
317
703
81
257
79
986
188
59
859
731
904
947
529
272
830
271
51
170
729
420
506
395
345
992
559
631
552
624
241
675
309
726
47
897
431
587
409
140
163
842
757
891
702
275
790
664
381
726
900
910
706
491
227
828
86
105
364
140
386
141
91
182
171
494
728
895
143
565
439
892
348
177
580
180
218
193
543
457
793
728
841
511
86
798
862
310
181
212
550
407
98
573
282
795
265
686
434
917
953
968
981
214
669
396
565
157
308
361
362
75
356
744
336
425
318
148
295
937
569
345
827
501
814
598
657
904
873
379
162
628
658
668
650
674
499
510
879
313
238
538
106
657
353
291
130
424
649
696
961
513
914
858
872
524
566
922
715
301
251
114
275
984
637
314
263
592
458
349
421
92
458
319
108
893
275
173
665
503
132
481
439
691
686
778
541
862
610
456
621
978
323
948
910
470
665
393
486
62
932
464
340
660
815
228
636
53
746
475
773
979
119
575
309
788
375
911
544
637
688
741
536
311
320
694
957
354
315
159
502
85
949
923
416
286
318
584
892
576
248
149
693
174
506
98
640
531
903
726
523
65
697
621
409
361
344
357
211
398
801
235
687
135
305
606
914
679
446
641
495
840
698
379
176
426
120
880
491
198
755
886
711
219
340
695
770
431
972
653
652
634
869
149
664
266
890
151
497
213
121
787
550
185
513
609
434
272
626
834
789
384
453
597
767
548
337
749
265
676
380
735
757
361
433
833
502
241
377
861
619
790
276
696
751
842
80
997
423
80
889
628
238
805
920
339
641
518
333
415
707
797
451
598
935
659
368
350
240
914
184
749
346
490
249
464
255
655
900
585
304
564
630
72
698
425
233
415
760
326
61
60
598
286
607
74
104
133
956
595
657
774
626
670
446
333
159
188
309
843
589
407
651
316
441
102
792
301
257
359
132
913
988
411
743
557
133
456
207
847
144
544
937
78
161
693
166
957
282
381
544
604
722
752
205
864
63
161
350
671
431
439
164
540
428
817
311
550
805
598
277
631
572
640
679
49
645
905
745
288
318
66
820
690
770
622
517
896
594
260
371
710
782
500
434
897
827
528
788
534
252
638
933
952
700
220
334
163
80
265
422
630
927
354
114
520
243
767
939
987
925
108
573
771
573
49
79
216
166
357
797
586
793
427
524
965
458
425
500
775
875
343
505
951
345
232
372
285
154
720
143
130
952
212
261
120
198
85
794
380
116
286
672
301
107
366
876
475
550
487
891
81
91
956
267
184
593
896
814
585
915
99
862
274
137
418
627
415
424
668
892
934
113
357
390
573
314
808
346
208
683
293
127
161
639
350
209
48
500
88
330
723
509
804
960
219
678
876
168
521
587
51
586
957
620
95
432
883
220
483
711
915
237
349
541
638
970
988
988
305
78
80
376
952
469
364
317
796
48
897
228
628
859
699
299
236
504
679
346
883
366
442
183
997
552
735
107
214
439
60
722
443
439
415
469
599
403
464
87
72
364
779
988
551
423
316
538
551
790
730
626
747
414
386
871
240
746
922
667
491
46
437
307
429
129
210
331
280
209
254
933
699
445
354
751
182
371
773
76
304
699
555
302
510
91
856
180
398
286
560
273
755
469
770
798
966
62
972
56
491
315
290
527
50
864
464
284
85
52
183
629
450
364
617
550
390
606
191
782
781
335
105
710
774
983
766
96
483
223
755
816
312
499
68
985
597
291
238
480
718
211
428
41
754
451
803
113
276
809
542
444
394
703
618
369
625
592
722
670
160
959
581
802
56
357
632
445
143
229
993
968
202
559
818
776
897
727
878
530
784
229
923
266
526
78
744
50
493
264
752
364
890
531
68
944
805
536
661
531
308
52
139
687
413
513
245
956
994
993
573
855
497
577
232
243
170
335
683
197
271
369
835
566
114
529
387
40
777
494
635
601
413
681
397
458
346
120
743
257
542
183
123
609
271
178
958
528
472
295
98
571
528
653
471
178
744
422
798
240
680
434
456
732
297
129
47
745
294
152
310
684
429
816
475
354
655
712
392
789
708
746
90
253
729
403
160
261
651
785
929
971
853
869
661
437
299
905
145
252
980
825
888
676
310
991
550
560
525
492
944
120
42
484
702
672
567
884
512
316
841
210
755
578
220
578
727
422
494
430
270
385
736
591
545
633
334
393
266
904
744
629
713
413
177
151
894
468
833
40
97
685
254
804
484
146
303
597
579
492
462
824
815
268
322
725
517
425
666
530
369
361
891
504
263
667
883
911
681
755
574
929
570
860
950
728
446
704
968
643
805
184
620
273
160
541
370
708
498
807
375
639
850
351
558
338
397
309
767
945
283
402
687
877
178
62
635
780
514
526
56
422
317
153
829
328
208
596
828
79
150
953
199
273
693
130
952
268
602
562
169
621
783
443
491
307
184
812
482
561
837
401
975
649
454
407
192
393
420
221
831
568
110
229
701
392
194
940
670
303
451
710
457
888
517
795
996
164
788
244
964
898
885
152
791
281
948
669
362
846
607
184
480
71
986
236
579
691
761
111
103
640
142
235
231
651
814
825
366
463
883
553
226
995
162
457
400
924
326
425
576
804
553
239
542
255
780
980
446
417
841
133
258
256
981
478
234
133
852
591
577
805
178
480
42
870
332
263
447
337
346
208
536
663
789
953
933
722
284
536
595
197
446
787
147
626
294
734
327
912
695
670
531
275
596
217
314
367
897
471
874
468
944
232
820
558
643
121
549
996
804
219
846
148
226
733
472
447
529
300
478
830
322
163
944
749
396
60
554
195
435
519
478
384
663
212
642
391
414
531
525
281
930
758
763
913
305
814
750
756
341
940
745
477
800
657
225
896
164
881
808
764
889
765
580
630
299
682
845
329
690
689
415
143
229
959
42
59
110
684
480
967
582
191
522
137
527
205
735
658
180
638
300
476
161
197
219
268
295
475
922
600
870
677
243
959
443
605
444
121
141
390
602
103
130
144
806
478
804
250
762
613
831
722
778
436
511
586
231
301
622
238
782
133
660
281
819
667
982
856
762
622
549
267
698
69
956
114
749
174
646
79
833
120
174
830
595
846
963
667
126
857
298
711
757
265
851
411
451
511
693
517
477
653
890
60
981
319
729
695
415
199
798
208
467
213
853
777
658
790
344
199
82
294
316
250
169
771
226
396
628
660
837
666
108
729
574
231
705
140
465
313
829
82
704
784
515
288
162
584
339
918
237
434
115
957
335
594
700
311
498
71
776
764
82
827
327
464
113
957
480
525
74
76
193
889
628
227
781
49
77
972
173
798
724
690
330
729
135
619
994
73
996
439
176
864
549
709
272
890
507
935
764
276
622
883
420
278
416
954
836
253
752
720
82
681
73
911
763
947
979
904
410
994
425
341
794
372
341
55
635
340
898
492
708
313
858
558
846
797
345
501
668
628
423
241
678
503
229
294
287
521
226
940
486
996
234
605
813
889
691
258
628
512
802
465
253
397
530
206
718
207
945
663
219
406
226
63
554
947
95
98
862
344
381
469
253
42
779
395
534
288
298
825
161
401
949
950
351
642
911
231
395
768
51
526
521
704
345
979
604
969
774
782
260
563
630
395
395
762
794
757
48
753
134
712
778
978
895
476
586
718
387
253
226
294
461
294
516
248
117
283
359
434
338
677
127
940
177
678
186
993
893
438
232
409
728
343
829
594
82
95
111
350
608
292
748
120
453
762
878
891
420
782
362
324
169
529
264
825
241
175
335
79
889
487
591
778
91
496
579
823
758
334
49
331
585
153
189
936
107
952
738
104
934
619
643
966
699
392
553
586
520
205
568
714
619
406
40
419
938
393
980
881
605
261
330
910
889
964
567
689
124
97
983
59
623
520
415
611
943
55
330
177
688
144
261
81
687
72
955
301
312
706
126
541
442
716
380
524
569
702
353
335
737
762
886
543
797
248
984
418
960
707
384
679
226
376
953
98
679
258
215
508
176
554
535
409
817
370
692
317
706
359
543
818
984
117
633
523
125
176
852
40
268
789
446
708
555
188
623
952
352
647
88
507
731
243
560
58
582
702
381
939
829
295
410
314
502
858
699
858
88
920
247
533
908
187
826
869
310
478
144
439
401
674
651
475
211
87
160
483
181
987
403
336
586
596
996
735
138
662
740
968
343
617
894
912
717
133
440
203
78
652
516
969
684
225
559
475
933
584
660
765
808
807
157
457
898
612
124
735
769
400
719
629
389
53
402
848
118
594
260
581
141
509
942
264
556
680
361
682
749
706
681
346
497
307
960
590
807
128
74
726
100
787
423
543
507
703
692
72
630
228
876
74
883
239
492
332
545
844
124
649
995
697
706
168
544
884
573
930
160
90
724
200
996
961
402
543
739
48
944
831
688
112
890
697
581
287
470
331
835
606
932
355
591
984
846
800
894
290
310
971
296
115
620
693
138
834
842
504
571
704
488
505
892
468
378
252
396
958
766
674
93
498
154
859
87
350
969
809
410
717
45
133
565
279
81
613
706
212
687
524
190
928
305
264
889
668
681
494
201
528
782
480
622
491
216
45
321
286
599
538
852
283
249
342
798
217
380
802
769
199
699
144
747
365
366
831
354
236
789
193
581
695
126
940
199
535
793
931
758
202
824
160
788
662
127
142
734
970
456
779
608
814
478
396
535
432
670
516
540
731
463
365
947
441
858
513
622
816
976
453
127
383
141
725
100
967
366
181
953
683
489
759
855
896
213
242
259
738
197
839
455
201
912
836
87
605
740
76
296
550
175
365
634
828
485
540
557
553
347
495
728
354
967
386
339
645
942
521
641
168
888
764
158
887
727
161
83
974
238
45
85
372
800
105
112
394
713
472
554
764
637
136
96
949
410
331
311
379
660
541
942
309
593
567
130
604
993
292
329
960
661
195
478
811
146
526
311
120
159
337
674
709
988
618
600
406
520
607
339
500
267
546
809
650
472
417
999
823
292
111
572
950
234
129
337
496
102
463
349
784
240
577
260
319
921
810
794
55
592
590
899
951
850
691
443
628
867
245
340
809
149
782
964
363
467
464
493
95
909
665
910
699
353
144
492
708
396
838
582
136
969
358
176
374
884
515
562
143
716
472
882
557
503
212
741
788
148
716
963
996
270
849
851
57
656
327
107
774
67
145
327
236
683
420
748
560
667
978
63
576
538
383
864
574
562
385
86
671
458
690
687
731
914
797
203
687
356
359
829
497
312
663
238
871
102
854
141
852
461
763
515
898
630
203
469
870
690
917
107
678
466
299
856
552
584
49
547
697
230
450
228
689
126
690
178
56
746
232
77
571
459
206
451
388
731
434
799
364
559
852
835
128
492
101
825
257
423
737
604
990
436
48
422
49
89
538
269
237
265
554
974
899
194
431
738
335
494
792
154
838
743
414
580
290
847
314
91
704
935
85
386
234
437
957
821
181
604
251
863
551
487
54
576
52
86
693
438
649
770
770
977
348
97
111
449
538
795
762
594
736
60
827
395
357
514
499
902
543
835
896
410
311
416
409
269
909
380
695
872
820
441
326
894
140
272
288
809
499
393
348
461
436
49
693
289
354
762
752
254
450
862
834
913
815
224
904
47
857
541
465
170
616
489
511
557
897
937
351
925
868
619
625
660
439
609
133
174
322
947
160
298
128
302
530
187
273
647
366
974
793
303
682
141
291
190
648
230
531
149
869
861
325
269
339
969
435
343
732
511
457
376
666
286
738
917
802
450
975
167
382
107
140
991
772
332
118
710
932
399
628
324
120
60
86
350
818
582
92
858
383
993
620
330
730
733
377
919
535
909
233
960
57
380
762
444
322
621
754
152
562
649
621
748
455
885
174
733
498
546
643
551
645
156
100
493
756
40
504
284
767
523
158
722
737
488
967
544
47
803
609
406
401
182
712
57
639
80
540
393
967
167
620
200
568
698
53
584
737
333
430
172
682
95
862
962
266
216
614
777
883
129
862
594
721
625
178
192
494
943
751
433
175
186
694
793
506
512
133
769
402
994
522
570
274
927
897
425
816
593
575
419
169
613
704
163
86
952
250
88
523
639
546
304
588
249
499
307
774
546
387
683
50
218
653
55
384
815
754
969
750
194
143
349
642
863
895
271
264
574
974
517
896
456
616
793
786
348
183
418
726
904
187
425
613
486
256
174
461
477
416
218
417
703
344
553
622
503
183
859
631
715
207
840
192
89
253
697
526
618
89
776
303
132
421
756
416
513
935
543
889
648
444
412
379
686
71
98
547
65
229
192
749
569
340
612
300
44
170
520
451
931
615
820
827
375
136
201
934
430
252
987
671
295
64
628
975
881
374
42
686
110
858
426
183
111
241
288
928
275
265
417
508
231
154
306
516
755
416
888
490
48
511
606
95
884
999
136
995
248
197
718
152
619
101
364
367
601
648
66
541
226
746
612
147
863
665
731
514
575
909
516
975
571
364
386
399
713
455
999
707
61
973
523
802
481
399
492
665
433
347
835
530
197
759
856
759
667
531
665
785
274
967
377
969
836
550
209
286
250
846
707
968
813
295
817
238
833
779
557
494
555
524
733
297
360
335
444
287
168
263
402
63
770
971
937
367
274
423
204
611
591
701
455
755
718
951
737
57
82
868
269
572
213
51
852
407
102
918
773
505
143
707
969
794
208
379
431
231
178
245
541
847
511
62
533
378
62
728
842
364
804
257
691
942
846
170
198
547
140
64
691
274
122
341
283
403
106
360
695
46
120
972
898
169
645
663
657
534
615
777
294
469
695
184
622
91
180
346
689
379
364
922
826
202
704
258
563
732
596
855
972
94
218
877
985
744
740
46
630
412
559
750
584
354
374
806
742
50
379
895
819
867
473
588
528
422
899
821
86
227
917
856
874
51
836
391
175
578
104
422
791
224
760
644
186
997
786
334
296
339
516
823
81
770
480
319
243
299
176
329
811
792
860
453
746
94
216
235
534
959
103
136
772
322
573
488
818
947
485
238
177
927
327
671
387
405
157
303
809
437
534
75
658
354
521
107
224
183
281
825
769
419
478
549
416
880
137
813
415
666
856
583
481
738
916
354
321
169
196
476
272
77
171
167
332
188
694
506
151
892
562
623
870
404
79
671
839
215
206
60
921
238
340
815
793
800
866
651
633
549
62
249
434
505
586
513
580
460
59
149
345
507
77
287
367
351
818
278
236
455
363
844
648
686
548
822
223
297
203
603
175
115
865
502
873
196
178
298
63
827
329
625
436
95
706
350
264
270
784
879
597
922
228
158
418
447
91
641
333
663
685
823
132
72
962
965
957
840
74
561
716
452
908
897
787
989
864
407
989
270
554
483
465
916
332
189
164
312
871
575
912
122
129
841
191
793
120
735
472
725
635
100
345
591
375
268
378
418
537
975
698
780
828
326
380
681
769
857
306
923
950
768
328
629
607
388
85
538
605
723
283
598
584
214
801
420
757
650
149
246
437
209
876
603
113
808
601
827
171
456
165
631
758
844
467
787
365
351
784
629
365
260
194
545
957
888
783
527
240
242
988
292
411
420
938
597
687
382
786
96
578
614
686
865
543
852
312
482
394
300
289
971
307
68
534
970
79
869
268
878
532
298
438
983
547
865
52
158
44
636
539
151
283
239
717
323
929
589
80
724
83
44
404
465
541
421
332
427
258
499
793
76
313
573
353
921
235
587
827
724
114
857
565
994
683
102
648
569
866
976
335
53
66
646
153
403
825
338
807
444
907
548
811
162
64
346
868
632
761
351
927
666
856
610
592
174
203
61
476
117
230
630
151
761
940
188
633
638
174
114
408
380
445
351
117
297
618
933
484
630
52
677
80
913
845
99
289
990
929
834
949
378
291
869
539
315
875
283
627
509
445
199
524
538
587
763
911
232
814
338
403
635
893
342
889
678
241
569
662
498
683
992
360
284
789
943
864
507
49
635
381
224
363
889
553
260
734
442
680
125
329
759
446
439
654
919
736
916
182
962
609
295
555
507
947
51
696
44
903
873
468
944
908
196
242
406
293
166
687
175
191
697
187
271
110
119
895
823
451
586
209
866
190
180
337
183
211
875
149
176
861
399
627
108
942
496
425
847
218
751
705
98
690
354
72
307
195
158
973
253
415
285
217
323
589
277
95
694
819
463
983
533
742
749
492
273
468
804
132
669
855
298
668
278
489
455
322
167
65
612
779
867
476
894
589
328
343
115
397
846
377
352
450
472
288
822
796
875
61
485
451
209
686
488
578
175
843
818
106
727
172
951
562
777
680
725
312
727
927
388
304
333
155
608
298
585
160
464
300
215
363
912
288
833
316
258
583
527
930
234
593
641
361
491
640
878
727
375
461
275
771
323
430
144
906
746
569
517
724
238
229
183
312
640
414
768
736
353
256
501
56
65
914
704
48
321
870
81
322
128
540
126
604
129
591
489
900
902
709
709
534
666
865
732
977
486
325
531
568
399
969
726
135
919
238
146
297
849
795
339
770
438
250
484
816
909
213
985
885
778
647
738
232
101
280
532
620
200
743
730
850
996
944
173
303
79
783
111
928
269
201
865
320
549
710
340
791
863
752
211
610
82
899
852
363
778
196
833
877
252
896
453
903
166
611
226
776
866
64
294
559
668
899
291
776
807
153
508
522
130
72
706
545
489
701
585
119
328
827
525
887
256
195
314
580
611
708
271
817
974
895
254
996
800
89
639
950
533
893
959
478
988
918
523
822
913
957
486
570
899
499
738
887
700
826
790
55
898
423
926
65
793
443
305
129
428
156
929
480
892
580
860
71
264
658
359
541
548
451
376
595
358
691
527
231
774
897
489
682
837
995
528
392
931
651
110
386
559
751
105
263
804
936
315
585
667
774
913
688
197
668
368
81
335
947
93
773
618
573
920
666
239
647
277
339
457
375
971
104
57
623
479
821
66
212
833
145
655
461
531
974
971
584
803
182
976
72
482
617
678
76
461
578
267
342
774
530
422
548
390
73
68
50
959
562
265
848
951
366
168
213
91
767
653
287
874
447
236
382
569
735
557
961
146
686
998
285
563
61
460
767
326
96
878
591
140
334
525
145
546
135
965
815
440
929
931
805
927
340
185
825
614
603
667
664
695
722
335
967
741
927
721
731
172
481
844
893
92
51
940
136
887
493
827
241
128
801
671
200
604
116
356
526
951
651
423
819
384
378
290
344
809
169
238
357
514
841
951
843
370
648
321
68
272
212
696
128
198
628
982
608
389
565
627
87
329
363
888
926
436
502
951
205
529
450
846
502
766
260
806
746
341
685
378
569
749
245
434
383
853
342
360
557
683
584
118
177
713
309
810
142
400
765
741
881
105
831
611
674
587
761
715
135
183
917
593
156
947
333
713
759
581
136
707
938
855
388
443
322
725
795
462
312
962
314
677
399
944
966
747
376
602
220
407
702
940
190
997
169
735
569
880
276
507
768
620
808
175
270
155
803
766
387
101
164
714
144
206
396
294
621
176
118
531
361
358
748
889
703
118
547
369
170
154
483
744
985
923
707
246
724
226
220
671
980
977
841
131
156
921
347
463
632
933
330
247
519
631
526
363
830
310
899
300
845
793
715
372
402
210
91
910
333
373
921
730
448
204
354
201
461
348
296
166
585
287
204
983
620
236
496
721
294
106
272
879
426
451
360
579
903
325
415
243
120
766
138
661
366
499
217
323
835
987
821
364
324
850
808
583
588
462
664
953
531
158
967
717
383
869
901
661
503
169
692
677
979
617
291
687
798
169
688
593
926
775
845
949
327
178
107
985
208
419
795
269
151
681
216
913
137
325
695
915
255
624
655
167
787
742
779
89
804
885
248
44
810
967
71
303
908
418
442
507
655
569
903
498
748
997
657
219
772
358
408
613
165
127
926
100
493
40
879
901
670
516
353
713
279
395
390
571
120
299
176
755
350
995
477
563
298
437
56
533
730
825
588
698
821
147
211
597
963
209
694
341
825
343
814
176
223
124
885
961
95
918
566
843
544
604
144
728
84
152
615
654
988
197
411
401
448
700
974
876
219
268
590
953
352
729
165
216
440
154
329
307
889
664
487
680
487
433
245
949
924
398
880
622
102
867
677
966
306
773
389
986
215
308
398
326
470
409
482
980
246
732
53
809
652
613
264
745
706
216
257
199
582
148
357
429
731
717
917
73
98
505
209
738
281
681
681
877
670
421
469
751
751
960
539
808
861
497
93
389
722
840
239
493
129
631
760
930
372
927
728
846
235
393
694
660
888
683
737
364
458
442
367
833
580
474
225
128
744
843
402
312
149
146
318
382
728
72
556
493
256
905
138
104
597
465
297
186
532
378
852
104
670
688
931
91
410
957
210
246
410
188
587
907
256
421
583
895
758
239
261
691
703
591
337
878
362
436
421
913
344
747
962
172
839
459
266
677
584
768
612
486
844
65
630
153
302
569
907
872
604
162
527
797
591
396
813
86
608
137
555
960
765
827
137
665
983
833
68
411
605
744
700
74
877
55
956
839
146
80
457
669
187
320
90
191
86
129
854
345
124
364
47
342
415
323
856
634
410
527
266
825
689
67
811
414
826
122
205
381
43
556
275
137
343
327
263
452
629
714
431
558
607
858
856
489
825
955
370
717
925
195
756
472
389
169
144
583
295
989
396
466
553
783
431
402
642
735
846
704
129
739
204
775
936
926
977
733
235
902
597
632
250
185
237
780
179
592
238
606
963
701
603
574
283
253
68
217
460
908
628
121
648
248
122
424
40
296
872
103
744
520
551
939
153
182
287
350
756
957
177
879
324
644
141
847
396
893
818
788
893
777
44
437
366
902
142
118
915
242
455
544
333
587
586
304
826
647
381
211
74
634
400
307
50
917
991
870
751
735
299
861
229
620
960
385
487
931
739
52
673
805
319
61
665
872
316
140
876
903
605
591
116
608
974
986
436
514
807
904
532
757
785
59
905
811
159
722
638
487
585
402
670
894
650
686
101
464
222
519
687
996
638
669
328
558
845
404
734
724
311
498
958
391
389
764
82
639
170
257
432
293
618
169
57
786
331
121
193
933
199
522
340
398
626
128
576
565
644
592
591
257
305
485
147
212
691
680
284
912
953
713
954
974
727
787
678
84
415
774
954
282
744
898
104
427
623
875
299
756
562
530
826
953
361
720
333
851
834
780
257
330
991
510
208
801
373
145
296
263
374
376
780
75
680
256
742
557
190
330
945
75
724
353
945
820
52
472
223
905
247
568
419
454
818
204
437
601
156
753
996
367
980
482
648
126
169
984
745
224
244
936
117
205
969
394
733
200
488
925
757
623
865
294
393
102
492
575
428
523
635
849
58
967
628
496
431
64
395
478
348
229
861
481
65
495
452
296
735
659
606
450
817
829
838
493
218
511
430
953
969
537
938
103
631
464
737
763
206
825
494
420
533
384
203
247
199
644
878
111
949
505
294
337
864
777
205
136
663
431
92
712
809
322
768
526
883
971
602
182
903
671
402
366
293
269
660
453
892
135
751
222
841
158
216
268
931
880
258
362
386
308
818
45
853
92
382
655
860
183
813
238
785
927
310
672
102
473
474
768
146
927
989
423
740
989
664
420
609
216
316
76
208
555
44
649
690
46
985
672
301
380
542
315
229
808
410
770
211
967
389
747
675
732
585
918
330
855
305
384
462
129
296
762
908
72
147
110
484
460
546
413
306
607
907
957
289
335
110
821
891
629
722
796
367
685
388
961
564
959
620
778
679
615
251
373
907
776
259
122
628
423
898
450
635
388
839
448
359
400
928
349
317
860
755
152
512
611
705
896
571
684
724
316
103
660
615
345
980
830
442
487
662
852
418
155
427
890
489
154
555
610
435
304
466
270
181
76
764
446
474
119
484
105
628
741
198
641
993
328
84
173
975
123
501
545
681
464
589
249
453
873
651
848
428
406
926
790
478
444
366
975
112
244
631
984
523
729
258
943
286
799
42
330
766
145
567
605
756
386
444
48
796
972
370
179
490
656
905
968
537
805
422
316
229
145
437
856
586
631
483
152
980
629
552
965
759
404
221
768
821
488
391
612
894
721
699
355
101
413
824
375
152
255
506
372
896
540
336
363
182
147
508
908
400
942
811
193
981
622
184
245
299
354
223
87
825
392
770
541
329
953
910
853
156
365
129
272
419
663
229
232
902
233
366
642
230
743
954
489
51
490
293
468
150
250
358
110
970
830
222
199
747
753
987
962
117
744
944
729
893
174
419
428
918
650
740
685
177
605
259
836
147
830
386
657
686
124
316
564
104
622
146
710
342
553
69
480
506
520
363
485
82
282
416
975
101
373
722
898
279
699
654
640
555
899
168
521
819
438
901
879
763
424
354
437
981
369
217
968
574
604
436
411
298
746
880
826
230
492
695
993
989
501
216
376
145
135
872
273
480
553
742
253
127
627
354
676
130
839
379
54
493
287
817
446
996
571
936
818
679
276
268
459
563
416
793
382
180
681
675
990
580
421
628
589
319
676
861
529
818
318
286
741
494
458
649
521
915
724
518
230
243
204
877
766
918
460
142
90
591
711
303
585
420
400
106
128
483
858
672
988
863
834
529
380
463
418
257
646
489
465
189
69
243
782
193
305
444
513
371
812
975
803
508
795
121
600
895
704
450
919
300
791
595
957
407
256
963
459
811
699
271
873
884
137
660
598
975
728
233
731
337
169
387
348
955
714
382
640
45
851
454
940
317
914
414
287
808
198
708
432
383
496
296
900
230
138
261
864
374
840
202
551
443
156
111
505
471
263
317
940
203
672
210
553
772
612
863
459
555
780
206
320
498
127
889
315
531
521
379
58
426
517
334
516
82
554
816
561
970
600
237
430
809
973
345
929
371
103
716
375
176
634
799
695
633
539
257
262
588
48
494
553
778
397
423
216
252
972
100
231
71
921
557
372
910
112
138
524
761
150
200
81
347
397
706
825
103
970
863
661
792
807
383
496
588
863
124
484
835
51
689
255
136
551
139
687
470
495
116
846
722
164
795
767
420
560
72
706
388
613
637
717
873
298
646
110
522
314
737
555
88
606
720
978
276
922
909
369
662
85
99
238
124
757
887
764
708
559
170
881
547
805
814
475
571
784
992
812
929
710
844
707
330
57
375
84
319
138
94
235
566
197
80
203
410
560
307
646
718
803
863
48
369
945
529
403
53
272
881
936
212
924
137
245
421
534
676
307
647
297
497
868
465
964
685
337
481
587
878
416
105
119
49
495
297
623
276
286
103
102
67
122
236
470
904
852
969
208
896
549
244
786
400
890
361
111
350
835
833
635
989
945
398
351
683
740
846
356
619
364
192
659
888
234
783
111
502
750
122
746
356
115
128
740
687
594
833
399
802
700
200
419
239
809
688
366
464
238
964
551
619
51
286
469
74
267
580
473
317
806
58
758
870
549
466
634
966
643
50
723
809
860
97
906
43
268
850
454
163
259
148
278
625
143
73
981
510
250
361
264
479
750
290
90
104
325
990
405
873
402
72
94
124
670
563
948
472
297
810
514
199
553
457
628
870
208
507
145
621
260
182
798
737
323
379
564
910
965
862
788
620
647
368
396
69
89
889
383
869
309
635
634
658
219
880
87
401
428
621
469
196
460
517
121
707
375
924
582
773
397
885
199
288
237
153
406
261
939
973
711
881
839
215
248
457
454
474
905
93
175
845
132
838
939
82
287
856
981
272
79
375
590
753
854
345
157
611
137
668
678
950
681
589
228
581
669
542
696
309
229
330
380
849
542
145
526
234
367
166
285
360
288
944
375
931
945
702
340
578
407
181
139
848
608
465
101
191
247
223
277
128
396
678
384
370
961
750
502
553
108
238
385
157
437
573
304
413
92
542
673
108
543
60
978
750
292
97
984
952
939
889
490
541
134
860
535
91
494
904
989
376
137
716
769
553
244
718
594
535
615
775
313
363
253
731
389
583
339
910
79
605
895
616
355
923
318
881
135
827
995
948
644
318
421
683
69
595
549
619
838
726
64
481
81
261
997
711
484
351
40
275
425
140
368
639
100
273
344
244
357
248
610
709
797
668
448
653
745
450
626
104
532
673
207
546
673
691
73
115
713
787
399
940
356
313
208
934
74
332
280
136
407
367
981
434
245
901
217
58
632
71
926
628
524
472
658
494
602
659
932
558
281
897
935
406
359
64
883
806
292
174
784
475
907
405
689
330
792
607
880
330
961
948
577
507
811
145
320
136
651
990
341
811
397
789
967
58
801
40
544
148
693
145
631
745
583
143
455
561
535
430
724
841
302
223
853
527
309
191
988
284
452
970
999
65
751
390
690
414
457
547
470
94
666
359
531
334
117
924
98
527
260
543
491
475
320
956
384
883
360
646
720
653
981
854
788
873
964
215
351
365
207
560
329
400
101
759
901
835
572
599
142
240
117
738
462
315
399
593
112
236
908
983
562
201
433
97
408
796
785
897
877
181
812
916
717
805
883
416
972
491
133
576
101
212
482
124
238
354
992
315
59
597
921
584
169
545
419
928
694
371
201
216
734
755
219
917
418
712
538
649
49
929
374
247
133
743
131
753
454
745
571
302
783
653
755
524
853
572
929
129
955
456
866
167
717
685
424
631
95
159
601
506
512
307
522
289
823
816
730
569
608
800
376
822
749
542
893
178
663
584
199
476
977
833
260
742
395
365
146
241
212
293
717
215
639
738
892
217
821
514
356
859
353
749
907
686
509
929
168
396
600
126
243
929
505
811
219
157
473
168
400
293
58
751
761
663
426
662
848
41
396
454
485
592
978
131
825
244
808
241
757
488
342
793
305
768
760
200
593
363
831
638
180
469
587
775
641
507
484
843
83
814
355
755
320
829
308
100
492
68
433
981
329
831
149
631
830
788
458
692
678
201
673
228
733
763
169
586
277
231
922
244
475
588
191
304
250
590
550
557
428
831
195
863
67
677
641
211
717
949
293
70
488
959
594
504
886
331
608
228
627
357
138
493
965
604
168
164
601
749
630
172
569
395
415
901
416
153
959
658
668
211
963
590
87
647
208
318
616
666
515
122
923
182
184
989
633
669
640
943
242
190
131
881
254
102
519
935
411
327
40
297
844
722
474
848
141
263
144
608
101
480
341
302
347
653
513
854
666
623
687
976
452
704
958
687
189
148
402
585
343
120
623
786
589
63
53
946
145
818
691
516
247
736
896
923
460
581
321
117
188
140
717
895
321
814
419
137
928
144
282
230
940
390
630
143
447
277
910
68
908
688
641
517
506
962
777
537
311
82
179
573
608
681
165
735
897
604
460
260
839
50
873
399
325
120
788
377
136
174
636
255
686
637
267
225
353
576
990
570
406
202
360
190
605
986
881
636
432
851
282
159
214
196
839
161
49
933
818
480
973
310
507
447
132
431
334
605
232
917
538
634
875
199
195
630
320
778
312
663
550
140
128
725
671
751
561
410
580
809
759
889
57
519
308
780
730
254
111
822
273
494
506
434
808
294
726
255
544
667
770
577
664
830
303
617
606
299
625
395
936
787
665
244
191
892
78
677
123
54
958
560
589
328
838
999
267
49
48
889
45
864
42
231
696
427
105
889
888
529
666
333
577
317
784
550
475
735
54
123
854
686
916
426
367
387
536
496
209
203
939
301
396
639
728
72
869
163
860
625
620
111
907
670
146
153
93
855
930
951
930
946
982
198
394
749
270
271
180
320
893
700
448
386
703
307
43
321
837
519
921
192
165
495
71
77
488
871
780
754
912
733
475
701
213
303
529
969
973
540
911
643
644
723
593
135
859
839
128
283
707
444
616
591
369
870
823
820
943
775
664
175
811
958
287
644
919
709
458
448
422
591
855
105
646
955
782
632
406
696
836
442
126
118
253
507
279
237
101
821
104
858
602
216
89
892
389
779
209
41
949
130
896
330
570
890
704
797
457
133
232
187
929
865
403
385
86
710
476
708
786
352
237
160
719
425
787
429
133
261
213
912
308
901
998
978
69
778
245
136
655
521
568
185
899
535
475
263
54
382
248
934
509
574
110
426
461
293
994
424
843
765
764
155
247
448
803
150
816
970
662
253
197
206
705
202
588
215
881
801
966
129
606
448
343
542
459
467
75
599
824
873
318
361
869
752
495
438
887
412
482
522
48
221
873
635
841
818
860
524
372
905
764
927
626
607
591
507
968
907
386
499
446
335
259
908
361
751
634
113
510
63
255
971
460
930
248
774
578
378
479
141
234
45
335
433
332
875
560
908
94
323
772
101
797
103
643
87
802
205
131
566
527
428
648
616
640
516
184
312
750
617
194
260
178
239
47
335
652
848
538
802
676
944
171
192
369
857
847
331
217
834
284
577
881
438
200
268
238
68
628
62
385
594
302
493
797
408
815
641
578
499
509
187
560
896
352
820
567
260
301
572
407
149
861
869
369
406
446
644
280
226
998
85
666
517
964
985
348
629
260
592
211
997
992
439
473
449
491
203
488
620
620
93
986
804
517
382
543
608
755
509
86
494
642
627
105
737
667
754
87
587
144
221
807
928
126
484
801
466
746
72
143
449
426
566
910
445
579
574
401
899
89
268
749
832
773
304
511
743
553
985
169
139
663
500
856
410
891
599
372
496
883
560
906
666
526
718
761
214
310
117
937
701
544
713
321
503
871
488
817
446
716
378
807
50
657
714
131
93
392
341
380
214
139
893
376
282
52
455
558
767
998
876
680
214
66
619
402
810
905
130
453
917
446
116
646
424
205
141
207
803
849
915
744
903
249
121
644
925
314
364
960
969
374
849
462
852
565
294
132
456
879
617
304
467
354
595
111
912
685
209
694
567
544
211
706
183
917
81
682
287
976
609
125
205
632
551
382
707
289
504
902
787
427
787
850
702
492
180
829
543
732
427
244
71
125
359
695
941
753
236
809
929
645
751
354
694
529
446
908
873
905
880
378
333
864
463
97
771
64
946
111
371
308
262
568
183
477
817
484
212
575
491
279
380
930
703
790
204
735
660
596
634
343
346
277
129
77
494
66
801
529
403
716
772
966
798
59
832
801
874
176
949
646
515
509
582
569
813
128
472
857
587
918
71
473
977
388
744
647
367
63
406
608
891
766
139
531
706
429
808
202
714
582
554
740
982
742
164
389
829
73
927
361
123
816
84
882
717
497
341
565
991
146
459
885
347
88
813
883
387
952
463
756
692
141
525
456
783
836
217
801
790
946
215
57
68
74
301
432
391
382
225
578
907
586
190
838
935
184
994
321
223
181
919
380
740
667
793
626
541
516
882
379
215
989
928
659
103
180
165
296
195
886
786
942
206
948
963
598
342
136
598
197
392
865
468
449
292
734
655
85
965
959
387
451
520
496
575
266
711
806
439
871
637
958
936
478
222
484
137
40
606
736
428
425
122
415
465
430
538
282
587
832
553
838
393
617
196
856
809
593
640
166
389
415
706
286
426
58
230
989
968
852
67
807
372
90
198
59
413
824
664
438
199
398
646
889
382
953
935
243
444
580
181
775
884
778
441
773
430
910
601
582
883
977
323
521
232
441
993
448
278
998
379
310
115
610
987
511
40
48
404
283
718
274
310
233
758
371
920
317
685
230
162
230
653
677
234
588
579
491
86
548
196
724
543
876
563
697
868
671
889
263
790
774
502
739
98
120
952
388
407
820
420
369
699
943
345
544
435
140
660
816
515
82
660
77
996
604
975
650
468
987
529
632
630
127
997
801
493
297
179
362
884
183
298
534
496
547
589
974
907
91
436
355
555
156
201
162
881
704
688
481
622
820
195
579
328
628
617
154
614
529
147
332
405
818
308
253
857
169
967
754
572
810
981
150
908
842
667
884
963
317
172
54
956
418
454
349
805
729
967
782
57
478
549
316
581
719
829
81
668
418
174
559
852
878
171
391
873
509
151
448
110
369
608
999
241
877
57
241
170
926
119
782
153
979
427
287
305
193
487
710
127
935
884
293
130
330
714
421
381
343
537
696
772
445
758
838
958
925
492
267
170
454
966
662
930
289
894
941
76
387
922
910
246
643
395
831
494
870
308
553
773
214
489
110
96
603
575
584
420
870
529
580
65
818
74
410
358
371
129
51
920
904
898
436
210
465
326
676
898
78
357
361
530
72
922
852
173
396
603
922
602
79
904
563
83
272
319
574
372
237
215
985
350
985
115
510
559
504
493
568
347
454
376
600
994
476
903
959
474
290
346
664
211
930
830
216
255
55
186
603
98
849
838
948
57
707
996
75
906
279
786
340
399
658
541
316
89
376
471
672
945
808
220
468
725
126
919
971
257
285
509
212
56
66
570
730
174
730
653
944
87
235
40
963
629
456
99
197
303
518
291
631
437
617
898
500
257
988
541
850
301
744
423
658
142
91
558
978
307
844
116
983
292
179
494
587
946
291
683
712
977
609
791
926
628
754
829
398
186
484
781
949
817
141
832
63
354
739
226
694
501
564
605
865
544
139
768
286
949
141
338
648
691
318
257
172
272
876
353
469
878
976
193
581
786
806
743
503
222
190
155
713
925
625
413
992
424
626
136
974
132
235
838
661
766
74
251
539
202
632
328
805
448
899
859
338
796
888
541
238
446
995
65
564
799
596
134
345
695
228
984
655
602
640
754
270
733
615
302
994
909
718
483
381
259
694
305
425
195
168
175
634
52
829
975
148
687
377
692
959
751
438
748
822
909
453
618
201
713
701
716
428
772
414
330
258
140
425
958
519
423
619
428
486
541
287
379
638
723
764
643
61
628
581
955
89
86
741
989
700
240
774
236
357
561
318
316
42
426
676
742
939
978
969
815
917
429
68
322
971
689
522
611
913
576
363
377
161
483
255
821
198
197
595
395
844
917
58
454
961
771
800
792
249
935
87
420
411
434
871
941
488
112
450
941
672
195
360
388
505
750
618
199
909
462
203
923
559
905
894
81
793
750
897
182
894
911
201
442
78
134
437
675
330
885
342
684
567
891
696
413
73
118
722
772
295
293
66
78
112
115
448
777
700
276
454
517
228
904
584
524
726
994
597
490
83
985
193
198
753
44
453
516
849
477
930
338
849
315
945
488
704
904
127
838
686
788
110
948
400
739
774
141
790
202
755
791
91
634
587
228
529
891
881
689
173
897
741
140
179
447
980
886
377
973
933
647
59
635
881
644
128
279
676
692
159
698
87
265
657
872
764
946
340
457
394
843
793
316
767
618
747
763
50
497
943
450
667
231
403
424
932
611
547
181
350
997
649
853
582
74
471
703
506
679
134
466
110
950
666
63
320
336
301
353
565
720
530
878
199
542
997
776
449
368
851
873
460
766
150
394
619
674
105
648
505
910
66
524
699
650
115
205
488
194
353
565
913
361
339
106
326
520
970
632
205
651
503
109
168
482
768
495
814
957
411
276
578
748
388
802
397
754
270
147
264
885
658
385
185
217
101
750
608
877
905
625
154
459
647
60
649
819
912
168
222
129
609
210
623
826
576
480
941
269
454
92
591
891
651
813
476
376
666
869
217
888
600
439
994
512
101
644
793
206
912
736
387
624
894
562
467
699
198
655
500
835
370
633
918
163
161
206
509
711
401
51
896
350
810
435
693
74
367
748
754
685
708
584
280
921
62
879
430
182
84
655
736
818
174
791
574
421
448
361
730
222
397
360
536
505
988
58
56
817
68
332
988
851
548
357
437
575
964
519
589
953
398
905
71
216
446
807
218
358
414
327
620
93
166
108
551
632
858
449
63
661
566
752
87
411
298
850
120
353
365
776
418
125
447
327
442
755
294
822
612
586
901
163
251
430
352
92
971
367
543
256
417
342
768
262
469
599
427
772
724
463
663
186
756
565
691
629
797
578
304
350
815
340
298
735
203
299
880
46
560
707
244
431
787
197
776
163
463
850
841
448
622
914
149
621
879
510
742
987
519
201
969
413
928
554
594
996
579
62
941
46
310
140
359
224
635
111
393
912
697
74
282
960
739
708
795
909
63
519
55
86
262
382
972
866
62
183
490
149
57
655
256
482
867
456
752
684
430
478
567
393
754
299
524
797
271
784
846
720
316
924
718
995
710
466
391
125
409
621
269
958
326
614
983
556
778
626
498
936
755
79
436
334
840
842
485
660
941
451
914
474
180
307
941
354
753
793
300
638
347
189
685
523
468
833
768
96
578
68
372
199
186
689
916
889
273
402
797
433
423
397
133
814
133
346
614
354
938
277
960
832
393
718
212
408
528
771
692
909
819
562
871
460
227
693
232
713
81
389
127
490
560
82
421
868
303
310
847
710
282
256
356
690
236
138
241
867
561
814
519
232
55
632
784
870
393
940
440
413
432
728
706
262
912
785
663
750
52
95
508
985
122
82
542
380
566
332
801
497
908
357
685
317
112
686
607
869
522
60
246
181
811
761
765
940
504
808
445
740
713
498
622
350
816
656
675
307
677
840
426
366
648
174
961
592
294
369
664
927
454
226
629
373
715
175
403
831
126
127
407
840
827
491
836
980
172
290
970
505
506
912
691
908
556
652
789
753
875
740
690
303
96
752
820
265
454
182
646
342
679
77
273
850
915
42
966
861
111
728
482
330
237
370
574
575
201
686
493
647
745
248
223
208
634
104
823
345
676
266
102
409
466
843
392
41
839
503
137
522
702
440
789
265
304
213
542
205
341
291
618
790
693
212
97
309
845
753
834
615
164
659
857
368
997
320
213
445
590
544
912
145
187
902
777
939
984
567
556
420
700
691
97
387
928
628
93
214
990
731
295
191
253
532
480
610
654
583
94
857
828
448
958
815
414
825
80
65
767
704
253
167
647
883
296
495
865
948
853
823
596
332
319
832
671
315
537
452
849
510
486
84
713
677
313
637
861
99
407
398
246
422
777
537
461
148
709
342
777
487
597
139
211
566
129
60
957
805
96
959
949
315
382
373
659
164
168
150
366
586
131
684
955
952
568
814
513
734
250
885
707
548
674
727
421
462
577
337
998
526
108
214
903
231
659
879
67
60
417
441
491
952
145
265
310
61
460
805
335
714
393
423
479
68
252
293
964
912
78
199
509
273
278
485
976
420
450
709
652
225
801
407
121
866
505
227
909
873
187
61
274
860
844
74
444
459
257
979
559
855
940
574
512
347
226
209
844
998
437
701
813
541
287
585
813
381
536
108
987
505
122
464
158
647
329
592
213
133
756
951
485
871
486
228
719
776
711
636
775
63
945
442
358
943
884
566
464
778
350
94
93
263
715
103
387
463
64
970
924
844
631
62
813
719
435
845
793
206
582
927
697
170
910
962
414
511
851
218
740
440
478
136
661
888
847
135
901
714
584
640
936
691
806
676
816
442
642
553
626
807
408
425
548
280
519
880
405
875
849
611
308
455
604
747
485
125
316
716
63
963
129
128
261
863
824
501
498
963
365
939
147
957
976
153
870
271
991
77
349
934
330
845
567
558
701
868
493
448
996
684
724
823
135
746
920
149
428
119
874
893
818
537
634
966
191
323
112
493
501
623
704
625
827
664
895
908
491
954
475
49
709
567
948
910
464
450
896
892
313
674
892
310
535
141
569
971
497
781
267
79
304
69
899
348
789
599
766
165
683
872
870
888
863
236
801
823
405
307
274
940
345
387
301
959
803
72
606
53
197
882
311
193
423
736
699
249
578
214
802
730
251
911
776
955
814
334
701
894
831
690
217
401
380
647
126
156
55
220
500
334
577
654
693
249
631
673
880
910
197
611
601
529
879
866
128
947
809
924
320
387
92
602
77
486
75
113
249
759
188
867
339
837
632
982
319
853
182
249
622
787
409
62
927
83
125
562
95
743
91
120
106
830
193
983
850
174
825
815
531
209
911
913
418
640
399
678
790
371
674
286
363
358
424
826
588
45
280
550
724
99
48
629
152
258
889
589
611
472
148
55
620
454
390
163
976
161
242
731
134
308
502
78
326
391
239
655
911
177
143
401
578
341
180
199
167
701
384
77
526
629
896
998
804
80
211
194
948
246
524
910
291
798
443
310
805
648
754
252
475
374
364
796
498
307
179
904
959
561
262
739
364
584
638
936
837
456
544
339
171
434
235
191
532
390
736
715
599
874
449
800
517
390
474
43
503
495
750
313
882
287
314
335
378
588
62
986
968
93
301
774
858
682
703
960
764
860
642
554
657
297
524
864
464
744
456
454
312
937
891
921
219
260
423
83
929
452
193
919
426
263
584
188
334
515
831
214
716
325
237
208
42
378
351
603
861
375
574
909
571
431
128
54
833
559
470
787
552
462
880
283
167
407
634
761
926
630
656
887
919
630
650
102
555
981
832
691
312
73
148
900
266
585
211
51
204
962
84
816
669
991
838
389
516
532
127
646
50
697
457
51
648
441
774
856
452
993
542
319
170
701
207
754
294
579
460
646
55
66
641
241
601
196
558
422
591
945
425
980
972
760
155
922
568
710
517
516
712
699
753
929
698
496
327
52
891
586
607
971
574
501
359
798
213
761
452
322
307
468
565
260
579
768
197
446
570
508
986
988
817
399
186
717
548
379
926
234
183
389
489
779
818
194
102
469
61
248
442
48
732
150
195
782
814
566
66
550
750
349
762
386
917
671
292
623
261
238
832
666
564
887
246
257
346
302
822
487
195
169
77
811
186
711
862
623
524
802
74
822
53
919
373
865
485
42
471
786
485
995
827
137
455
744
161
386
515
828
844
994
152
782
130
341
469
547
49
698
66
73
273
921
449
639
705
45
64
506
370
243
172
174
708
864
116
855
919
436
312
283
410
919
301
789
414
316
246
497
297
974
411
103
609
995
499
169
939
126
449
419
214
145
616
431
610
535
759
586
781
41
160
573
260
277
152
496
78
499
897
819
317
46
964
319
191
235
901
400
955
694
782
589
657
413
619
641
126
650
929
754
789
482
590
627
516
541
762
774
79
341
197
644
141
895
574
57
589
253
514
722
314
264
592
498
270
753
287
591
555
679
101
357
971
967
179
329
878
888
499
700
142
931
530
707
437
345
789
105
86
990
477
230
906
824
920
742
56
106
354
706
60
583
65
992
70
767
313
712
863
530
711
953
973
945
879
269
135
376
489
631
46
955
831
865
604
713
770
785
848
85
585
311
166
104
427
837
590
524
593
669
933
663
812
854
159
836
911
483
539
718
952
718
563
126
995
601
333
730
171
514
701
537
596
861
956
390
441
887
654
619
769
183
692
140
446
307
560
728
127
272
364
381
387
807
61
826
310
790
188
850
473
50
704
607
581
414
713
197
206
153
634
429
53
797
148
201
791
295
820
825
902
837
927
132
731
735
471
855
451
295
880
395
189
214
158
884
340
104
360
425
698
393
488
265
892
97
934
340
472
579
455
222
643
973
416
391
423
454
368
568
996
636
310
250
593
347
902
966
65
511
230
957
876
480
820
107
491
328
319
817
812
274
444
534
547
528
192
231
125
576
959
210
906
172
832
909
759
973
762
330
312
913
532
894
73
60
655
165
377
53
154
633
983
981
553
270
496
778
538
646
503
832
855
704
111
549
188
411
971
593
753
988
591
625
290
68
562
862
918
388
341
754
243
744
111
966
684
268
889
911
854
112
206
486
447
821
596
299
503
497
171
370
109
914
70
194
889
63
453
901
967
166
618
391
907
43
554
655
980
407
389
462
770
797
241
679
976
460
703
103
82
352
876
584
170
692
603
835
616
598
140
59
761
872
190
536
592
401
420
237
159
932
661
621
927
99
132
727
831
618
629
598
245
525
562
86
45
618
408
752
234
260
366
704
370
281
143
877
732
725
222
947
756
399
225
152
177
985
543
726
79
849
238
340
171
803
831
551
902
629
892
845
677
202
599
219
389
815
876
586
99
426
996
91
505
403
714
305
342
944
224
170
362
456
253
484
986
160
935
591
836
547
711
802
517
292
749
938
613
217
334
227
772
57
433
602
796
710
750
362
534
629
453
943
427
233
131
262
678
514
634
625
79
761
320
220
40
861
625
550
595
450
93
425
345
728
918
322
938
833
51
947
464
267
222
950
397
549
721
735
409
398
431
914
865
648
579
896
537
518
943
714
713
516
221
200
311
282
255
424
655
574
592
102
812
106
705
368
935
196
81
398
175
726
729
733
474
974
535
185
542
590
478
134
586
872
102
196
837
596
311
966
315
241
427
369
665
597
244
293
784
818
969
407
993
660
966
493
635
677
128
687
452
134
556
259
622
621
884
536
114
760
173
946
984
370
238
441
131
820
502
660
829
494
557
811
633
450
276
486
94
693
655
739
980
96
320
307
701
684
49
269
162
121
234
723
777
307
571
537
795
94
746
156
307
552
87
542
157
825
51
451
405
273
984
714
493
548
698
577
357
309
457
937
113
397
380
520
312
820
993
328
772
939
439
252
220
570
337
848
465
223
636
276
552
57
877
693
923
748
224
925
556
765
840
636
963
854
165
845
755
40
563
308
983
369
196
904
353
499
643
859
549
711
57
224
981
674
492
264
256
370
106
308
442
386
572
709
51
419
183
377
899
769
774
940
449
815
978
292
984
840
269
381
551
587
248
106
82
362
332
838
607
504
326
762
986
254
549
761
267
182
959
483
465
750
763
510
351
521
669
848
91
136
860
882
557
787
807
742
563
518
401
899
815
971
814
485
209
326
656
757
833
764
620
847
980
511
176
226
581
801
386
484
418
948
914
806
58
617
551
205
417
632
225
245
100
646
863
679
612
129
232
918
491
259
711
120
328
516
432
374
449
442
870
261
430
578
350
261
458
70
235
917
926
434
303
326
612
734
212
333
370
951
567
897
69
82
98
781
569
53
114
784
347
528
817
125
294
842
239
215
942
53
445
833
465
852
813
547
699
417
512
340
348
535
437
843
592
867
112
303
545
938
86
866
958
838
745
871
584
103
865
809
261
673
681
886
382
631
931
243
118
738
928
855
963
779
463
60
688
614
572
118
969
73
987
406
166
568
159
886
188
224
813
859
342
984
730
643
817
853
638
215
776
365
408
467
63
582
544
380
319
391
729
466
366
853
109
364
354
155
73
778
342
527
463
224
991
674
868
715
688
69
200
753
566
598
348
414
902
712
410
302
481
153
669
383
388
896
919
809
425
257
625
165
235
519
766
133
112
438
936
93
791
873
751
928
597
483
928
735
136
995
316
904
205
677
179
854
698
660
790
340
897
881
346
523
667
211
357
169
163
607
181
286
445
692
331
233
252
474
302
684
296
504
420
76
826
696
433
350
820
519
724
903
915
259
481
391
40
977
436
884
785
165
147
639
528
157
768
152
238
488
967
371
603
446
550
41
90
950
597
921
851
740
318
655
629
383
475
476
587
868
441
396
278
785
54
324
992
191
321
266
352
461
990
946
581
563
296
638
788
444
946
318
402
124
171
702
955
317
239
430
527
529
514
527
687
400
929
967
349
104
963
108
561
383
536
692
114
88
84
731
739
622
514
324
943
155
486
938
179
701
663
309
279
799
803
954
629
219
922
780
645
76
403
493
351
119
155
172
637
482
737
718
135
527
149
858
263
159
85
457
72
278
748
110
946
898
132
780
764
389
827
830
658
956
383
643
219
214
786
253
377
550
550
129
410
922
67
721
518
572
146
520
625
564
606
502
936
212
74
665
494
976
638
995
515
364
292
291
915
661
697
105
471
435
205
848
903
785
991
803
614
358
196
441
901
577
553
578
761
781
66
292
59
368
963
793
781
275
49
69
778
427
847
468
798
514
65
683
574
532
363
608
341
402
521
547
129
53
278
979
445
223
796
913
511
310
248
948
743
517
627
126
582
548
898
653
792
420
619
962
772
645
244
155
350
750
127
548
120
166
755
715
754
546
796
445
969
712
460
826
634
973
923
579
605
792
859
183
240
899
275
449
317
342
506
281
586
923
207
891
723
923
217
485
132
520
419
249
495
500
928
933
645
196
98
756
551
623
113
544
599
179
656
696
472
426
331
393
657
188
890
744
934
388
422
359
158
225
948
543
747
44
330
250
354
993
254
637
236
68
804
116
386
351
505
54
56
115
590
341
53
725
617
101
952
58
827
559
478
294
909
172
697
295
114
433
590
872
780
722
685
321
409
991
421
128
638
718
453
940
717
545
576
215
865
359
242
143
555
849
807
212
528
80
406
263
847
791
441
939
542
274
562
904
145
575
536
228
92
938
463
565
109
452
680
743
318
730
510
238
290
136
342
563
925
653
918
50
997
651
227
185
142
322
133
59
862
955
800
576
300
141
598
440
360
823
337
651
860
577
468
746
794
906
687
875
292
850
578
318
817
160
456
994
259
89
825
207
805
697
412
356
144
43
884
141
738
91
894
201
320
521
246
72
746
445
704
675
93
646
399
878
75
928
507
742
314
370
859
485
749
484
604
597
810
797
368
393
885
884
157
158
69
660
666
507
872
963
211
382
522
912
409
769
660
156
496
574
180
155
897
941
653
206
956
483
569
227
147
452
831
997
195
983
407
617
177
309
188
591
501
236
995
443
961
84
591
653
858
148
626
114
380
490
431
764
602
600
733
611
240
842
41
452
770
324
109
440
130
158
517
270
91
949
162
622
192
274
961
899
504
697
530
343
645
721
864
226
219
834
194
384
388
905
121
812
208
59
440
192
101
431
674
319
616
52
205
404
987
244
591
298
281
176
759
991
876
461
795
675
374
917
108
692
305
210
910
333
497
659
306
527
609
496
739
501
138
638
876
747
975
613
951
826
381
337
821
694
105
530
329
554
186
60
971
160
213
81
528
133
845
448
556
52
483
440
499
698
452
550
940
462
88
400
915
409
831
504
669
288
478
873
818
198
801
791
877
368
446
870
339
544
91
711
702
345
88
777
934
997
949
362
155
517
933
240
169
243
540
576
434
81
917
478
437
702
217
994
798
381
968
188
271
171
545
800
405
587
386
830
967
873
922
748
62
682
685
174
153
672
656
603
565
50
286
956
292
252
552
141
938
435
642
558
561
753
630
568
655
577
949
540
553
986
753
103
563
469
58
248
494
813
191
339
424
339
626
161
800
284
931
938
559
526
972
611
59
389
513
144
579
844
176
955
701
718
828
92
872
732
930
543
649
537
295
576
669
79
280
815
821
170
360
180
363
257
106
342
599
717
856
245
580
803
661
535
685
188
265
507
165
437
66
996
896
412
609
757
263
285
191
467
492
874
890
762
831
182
349
561
478
87
200
589
537
748
194
55
755
690
925
88
372
143
768
454
595
302
550
994
311
142
772
597
467
45
803
792
345
652
62
340
337
638
915
678
989
214
519
344
409
862
177
572
632
896
234
60
730
955
193
230
958
688
298
183
553
901
71
984
207
389
363
471
653
392
88
450
290
40
271
437
398
757
714
749
82
899
593
544
281
81
361
957
786
113
709
212
85
841
734
660
69
923
808
844
493
76
375
965
637
806
639
480
216
260
305
789
244
823
479
429
215
385
385
829
731
861
485
295
996
805
837
824
944
891
495
432
939
896
397
997
684
666
261
587
820
338
203
287
285
615
645
519
187
275
323
136
703
798
290
561
254
225
386
680
843
302
804
136
308
926
306
293
612
638
48
299
760
320
956
223
968
164
603
350
604
958
637
723
886
275
390
404
265
142
622
344
298
238
684
196
61
850
568
681
801
353
542
414
804
62
490
461
905
428
816
705
41
50
531
674
657
766
855
261
627
320
194
320
146
142
332
632
680
407
842
964
767
128
501
86
87
655
215
159
515
936
354
874
620
53
262
262
123
165
632
264
143
926
481
645
946
773
161
103
118
493
766
833
944
984
942
790
691
456
659
716
859
417
393
107
221
54
697
437
994
416
281
938
780
898
116
122
550
698
153
932
231
756
784
636
92
630
423
546
450
591
876
304
362
494
76
375
498
359
161
909
759
212
709
80
290
60
386
446
148
311
107
390
915
989
159
234
205
559
307
201
547
99
621
590
383
329
101
576
559
568
651
908
821
41
199
202
119
335
522
879
283
390
337
206
42
175
991
557
972
864
606
521
496
662
650
923
437
825
805
470
350
366
626
178
399
234
207
557
299
390
854
617
141
722
707
321
98
763
945
678
338
482
212
526
642
315
462
144
301
324
712
150
996
832
386
496
691
863
395
207
669
813
434
915
608
854
109
552
719
96
986
560
677
533
73
825
79
800
820
112
994
84
651
898
226
757
452
116
891
955
143
55
946
140
259
228
759
955
775
740
740
395
323
897
460
533
323
457
87
838
863
866
243
248
89
657
62
267
613
805
635
270
685
924
995
281
278
682
857
595
826
578
162
196
235
904
777
182
996
695
752
286
239
330
994
400
642
628
739
985
344
389
188
73
205
465
494
712
609
903
661
90
708
362
658
894
474
869
865
348
909
755
174
983
460
659
822
559
324
236
365
290
94
284
151
154
867
307
229
386
323
977
235
282
853
281
201
337
639
479
78
485
320
277
422
51
841
481
195
89
958
894
399
680
132
461
517
656
717
624
342
113
940
641
320
770
554
330
999
481
456
256
917
767
852
481
530
867
923
184
731
768
632
953
770
190
540
601
774
795
760
226
127
169
71
167
368
538
145
244
236
693
566
129
654
697
346
90
694
617
317
341
571
160
651
764
714
903
790
743
226
798
405
295
486
607
170
784
122
183
287
199
294
417
730
556
206
817
70
192
915
159
541
92
446
693
350
216
968
303
678
863
407
357
892
381
755
62
588
818
79
247
232
565
454
326
860
305
609
950
479
861
636
315
505
170
345
578
688
477
899
699
555
362
539
874
777
564
937
223
503
819
949
690
86
720
686
175
439
62
176
708
539
636
498
622
105
555
844
167
649
117
689
873
744
725
517
251
420
230
980
327
313
392
132
385
63
936
788
68
706
969
926
642
487
815
762
585
977
744
621
487
233
894
769
234
676
571
268
112
692
554
814
723
516
493
327
975
838
867
533
108
567
489
446
710
394
186
492
287
350
473
452
438
428
570
693
417
540
230
472
101
94
225
483
439
441
859
522
47
232
444
254
202
750
725
267
734
319
551
983
153
538
865
254
654
740
362
335
346
637
564
511
711
847
77
378
385
855
708
974
712
957
119
951
60
723
954
749
366
102
990
972
698
831
184
600
912
824
890
72
351
727
207
736
479
317
588
166
623
166
93
937
276
928
586
182
687
155
371
630
990
334
603
478
482
803
528
592
488
778
491
837
404
598
236
213
983
457
110
51
602
966
775
729
53
258
115
830
874
395
64
415
667
830
268
648
706
909
722
194
500
49
633
197
716
785
383
879
344
428
733
775
275
969
955
830
700
186
751
938
462
882
43
513
251
403
132
800
93
979
157
679
809
326
497
360
381
376
701
850
121
524
51
292
219
70
419
128
942
622
278
141
647
851
537
102
956
99
60
945
116
43
706
808
613
715
755
705
982
476
910
812
860
295
378
620
182
233
980
417
510
113
651
689
698
232
461
454
459
362
318
586
54
719
710
450
740
870
351
582
723
650
778
765
742
317
585
233
654
768
799
918
66
391
588
758
297
113
267
73
72
400
751
613
916
995
417
148
588
342
872
450
974
697
404
238
985
774
696
995
845
671
817
668
607
650
888
982
460
526
961
593
619
354
692
271
48
526
644
726
311
712
265
952
594
368
901
802
982
780
727
188
49
699
334
782
247
524
378
982
813
966
317
699
57
737
697
825
929
46
820
629
208
89
524
141
115
103
61
331
829
53
66
691
788
634
622
489
281
424
476
678
924
790
130
177
58
280
899
967
394
619
688
76
222
901
123
610
74
579
767
870
845
296
971
918
156
152
865
89
304
269
989
144
254
895
983
974
975
370
690
565
898
760
88
900
192
697
420
337
517
883
823
551
53
884
775
546
521
103
910
953
521
603
844
65
883
53
354
290
359
282
613
285
663
146
190
945
823
467
836
734
440
478
72
958
601
586
372
658
360
128
420
208
881
450
660
619
339
708
203
149
599
111
119
472
780
239
899
202
885
678
487
605
810
74
390
791
705
630
802
248
918
792
163
481
57
247
633
741
147
652
464
258
51
877
382
741
244
830
464
565
308
639
570
150
310
48
675
573
400
840
413
475
899
50
326
381
710
716
470
903
582
285
626
284
886
108
187
211
765
408
869
922
867
711
248
876
419
213
73
660
643
224
188
721
518
72
187
648
503
637
290
651
523
217
822
557
839
693
698
859
302
768
929
168
979
767
929
303
535
153
458
692
471
615
826
989
393
688
232
352
690
605
368
680
747
258
237
711
358
480
810
276
545
875
643
591
188
733
101
96
181
253
917
533
765
919
314
106
430
387
414
505
127
303
867
913
65
219
834
297
110
892
678
368
213
322
264
337
357
404
290
752
878
594
940
96
132
770
259
128
524
604
358
554
207
86
267
534
357
759
669
624
634
785
415
913
323
241
148
687
656
410
837
86
166
432
835
973
367
755
796
552
91
998
149
214
43
460
362
552
520
819
846
66
282
502
239
893
971
834
97
737
654
178
499
46
549
934
766
652
464
472
210
666
666
258
691
961
540
105
879
547
41
936
191
416
98
385
531
290
923
821
83
441
229
217
409
730
190
649
323
587
735
64
43
582
444
194
921
781
485
266
577
513
301
590
161
418
736
950
443
542
694
556
621
260
669
629
983
930
491
743
510
298
111
124
638
314
841
339
959
519
103
170
725
691
975
628
471
528
837
152
607
897
519
917
225
886
595
293
81
985
411
945
132
910
187
808
546
767
818
946
80
252
922
128
763
886
54
711
428
348
508
671
261
138
297
840
487
918
763
267
994
822
939
66
48
507
832
379
94
558
54
831
93
976
322
668
523
65
383
819
988
177
98
603
131
691
156
223
257
684
792
480
814
351
196
469
721
819
953
846
806
909
177
699
676
646
828
83
802
835
510
759
224
79
967
608
861
209
837
640
981
315
70
428
299
883
663
802
789
876
795
871
638
450
879
358
614
763
439
680
881
305
591
855
897
919
399
189
719
706
533
320
465
867
840
414
628
630
566
646
391
219
435
932
342
335
923
370
432
922
163
167
894
881
156
585
765
696
745
172
343
795
422
528
48
997
881
127
266
74
595
791
849
674
330
371
312
653
406
189
528
255
527
759
592
571
773
908
631
758
819
211
844
614
985
352
827
65
138
508
559
638
303
71
224
371
521
422
945
88
786
739
154
365
452
826
434
188
964
863
478
153
914
416
308
69
188
45
741
669
239
925
583
989
554
152
882
600
222
223
130
782
434
541
561
470
596
245
561
965
611
161
497
185
648
889
947
999
455
893
54
418
386
692
691
614
676
598
381
205
436
384
973
373
574
728
310
517
725
832
641
258
357
745
361
226
739
965
754
256
202
162
273
301
754
250
694
157
478
89
987
231
937
124
75
618
706
934
953
425
946
562
725
166
706
449
188
140
709
242
353
763
707
917
954
401
375
251
513
143
233
449
339
620
787
904
945
858
980
544
867
562
569
779
641
800
618
527
44
85
171
93
824
54
745
928
609
434
181
865
405
658
576
737
42
789
848
160
360
197
378
915
878
644
760
107
204
821
772
741
601
931
902
381
388
732
412
166
613
425
780
131
553
894
228
929
836
742
542
204
517
712
535
41
327
274
127
955
846
79
513
492
664
196
177
303
324
802
690
768
824
107
634
678
411
494
142
619
756
387
830
632
720
748
175
852
263
936
435
873
406
61
570
945
808
674
699
919
475
913
514
240
518
120
146
509
181
471
530
164
206
171
824
744
322
499
796
742
278
510
706
145
190
251
224
365
828
720
478
692
491
148
464
457
449
988
524
487
918
839
312
657
864
771
836
638
490
793
636
571
566
540
92
441
413
639
821
417
631
46
762
939
521
988
953
753
663
777
645
429
289
480
214
428
299
183
59
289
728
411
999
168
87
998
948
207
497
133
48
932
213
779
609
185
739
206
968
388
932
655
620
452
410
313
100
903
611
792
404
363
512
547
702
954
521
681
433
801
165
975
341
672
408
748
931
681
830
618
54
335
589
807
69
613
818
299
686
118
628
415
182
692
252
997
308
219
412
456
256
491
921
403
691
263
67
42
969
225
96
319
230
868
637
609
60
906
55
865
598
443
361
953
441
427
762
619
191
203
883
481
835
602
109
804
656
44
69
470
689
742
716
299
773
919
331
860
694
972
362
471
243
58
763
395
622
235
553
678
648
974
561
671
609
521
898
707
788
388
409
59
788
795
408
251
948
891
781
263
180
948
634
130
649
48
144
407
390
287
98
586
225
910
871
162
618
53
255
493
983
857
898
560
438
418
875
177
147
265
589
488
736
230
972
110
716
965
619
795
583
971
556
992
413
368
259
284
289
61
710
233
941
811
332
324
562
192
833
57
864
916
536
264
145
548
838
190
232
437
413
566
682
602
593
85
358
326
449
485
264
780
142
781
272
51
697
923
823
341
64
873
613
479
677
836
367
914
745
826
863
154
513
320
864
919
417
159
767
741
273
736
363
247
544
516
527
705
140
556
394
81
731
741
284
833
712
656
361
536
204
875
696
115
961
69
305
993
336
77
843
367
254
199
438
657
317
985
165
568
801
808
506
115
627
611
485
929
874
978
566
833
548
817
857
516
177
135
835
828
97
300
475
158
214
249
426
397
219
114
154
926
308
528
757
589
933
860
69
145
453
245
670
424
164
386
46
711
204
298
804
85
874
616
902
947
535
866
88
787
423
235
708
460
431
522
940
565
540
477
793
761
80
350
628
222
242
237
686
297
829
162
396
337
452
275
839
829
615
866
363
158
353
357
389
608
420
158
720
446
514
138
383
977
485
304
492
364
876
807
315
344
613
849
498
292
900
487
839
670
930
271
248
485
53
396
928
672
191
678
655
408
556
921
78
434
395
103
479
506
346
512
452
863
950
765
290
344
58
240
406
458
484
441
407
284
704
71
857
221
642
768
868
192
266
672
177
188
601
426
83
931
82
590
77
638
639
212
78
980
137
892
420
393
758
597
113
415
306
289
40
238
670
465
416
71
106
662
556
120
218
115
433
459
270
796
274
72
559
94
538
470
912
477
91
863
728
868
324
175
339
372
565
417
635
366
118
676
373
210
149
253
820
394
219
892
926
319
835
680
294
418
297
945
159
559
887
704
150
195
433
959
919
929
562
99
512
326
778
688
409
374
969
927
808
709
104
135
625
588
638
449
358
525
72
478
982
608
423
514
800
177
230
867
854
973
734
514
915
205
752
47
826
277
408
242
432
99
252
263
352
656
254
143
787
706
993
609
723
588
219
635
541
173
907
784
921
40
631
99
462
840
457
183
401
203
910
783
128
554
214
424
684
83
178
314
551
661
911
965
780
428
962
989
832
968
616
846
204
135
89
45
98
821
222
642
430
598
882
927
966
638
881
575
895
739
162
927
668
623
727
146
491
222
981
380
428
59
879
970
134
126
321
273
587
725
152
454
533
769
848
291
443
905
619
393
847
691
337
983
381
313
677
932
643
715
297
833
824
694
928
871
62
759
752
504
396
63
86
451
367
896
468
315
237
493
107
709
157
601
169
771
866
470
869
264
906
151
780
282
102
401
593
764
183
392
754
804
316
368
471
326
759
819
627
749
343
541
497
720
851
367
617
419
46
759
78
279
928
415
184
84
153
340
358
158
503
763
938
500
724
264
375
969
810
793
457
48
498
781
947
53
583
440
375
338
238
978
258
658
73
93
232
760
745
380
211
886
943
424
862
330
245
633
84
196
428
966
802
536
699
955
488
568
69
796
203
987
377
344
547
678
99
532
227
556
54
643
201
807
957
963
226
526
827
823
108
924
319
887
870
705
742
663
65
737
578
943
243
214
307
402
728
622
228
783
833
483
666
732
653
587
144
889
310
451
235
922
568
567
982
608
620
266
718
58
892
913
336
943
625
581
331
898
375
167
791
419
548
92
390
909
962
45
241
718
912
331
751
934
449
121
563
256
972
589
133
380
376
79
861
650
525
878
396
910
130
371
837
180
432
314
989
974
922
979
665
713
224
274
495
293
914
358
531
107
608
785
437
102
502
495
246
712
388
691
453
361
758
165
277
986
729
61
306
818
899
499
777
980
723
478
971
148
820
941
972
736
154
281
147
392
419
932
314
324
491
290
219
902
958
653
540
516
705
701
581
726
410
311
76
241
641
89
75
184
533
396
252
609
669
783
564
458
422
280
765
483
633
890
80
236
337
763
870
368
532
403
705
319
521
936
890
927
497
518
516
60
41
893
43
73
873
334
382
251
675
127
172
722
915
192
353
463
419
346
436
597
306
480
366
917
103
112
605
804
602
959
401
675
649
819
893
124
105
122
156
526
110
67
763
79
446
106
280
517
626
185
898
959
59
635
310
417
468
925
526
342
206
616
468
252
829
712
294
812
648
700
961
74
90
560
288
415
680
867
423
392
780
873
683
405
416
618
271
363
134
776
616
861
122
481
413
131
137
366
969
757
217
887
658
898
951
553
270
123
79
109
590
974
98
596
728
331
542
888
591
143
732
342
228
532
378
603
650
823
976
932
124
635
962
659
342
672
341
616
775
555
119
915
499
782
783
569
698
510
79
643
641
655
140
253
586
532
674
716
674
976
712
665
849
916
366
529
964
237
246
776
374
817
439
62
936
73
913
568
954
220
653
585
527
993
913
677
768
604
446
594
998
429
708
184
583
756
352
943
779
864
541
416
704
805
519
698
635
366
495
376
888
890
881
748
637
495
979
271
167
268
763
973
257
416
233
232
654
949
832
188
72
865
452
984
691
421
821
803
270
864
873
887
868
445
87
908
545
142
715
902
421
329
234
957
965
598
172
901
556
232
839
118
311
528
630
935
663
611
735
88
284
954
628
828
153
52
831
208
985
646
253
216
68
770
962
750
101
875
172
627
582
574
678
224
114
143
927
727
854
533
194
486
610
789
706
451
706
918
324
339
530
590
923
140
208
616
383
305
750
408
495
655
135
751
767
572
688
885
911
603
133
52
315
117
152
122
414
426
428
331
415
209
199
801
175
603
614
975
775
294
570
414
532
629
233
340
133
604
861
538
191
548
505
602
921
566
47
133
396
658
187
301
297
958
727
410
888
92
883
670
352
64
987
969
233
152
785
205
743
747
105
176
242
981
294
500
661
681
99
932
838
126
871
110
704
788
483
588
621
156
666
600
963
513
239
799
334
111
262
548
709
499
416
469
932
374
50
479
317
670
500
314
178
873
175
760
273
96
567
742
398
906
842
647
891
107
986
801
765
978
404
352
766
214
592
257
387
872
391
833
366
550
848
422
926
91
87
774
508
146
426
151
716
903
393
285
573
653
189
786
64
854
788
144
401
46
311
279
209
650
837
705
821
201
443
575
114
417
172
582
992
798
971
641
728
408
110
231
697
971
556
137
128
249
490
833
836
849
849
193
372
562
668
287
859
743
276
600
285
546
124
167
324
782
914
711
482
847
134
320
308
710
123
730
457
869
868
186
692
159
964
978
474
303
640
758
713
947
662
748
546
125
709
724
235
407
410
312
131
520
348
962
792
60
173
612
79
973
181
787
160
971
570
509
493
43
275
235
191
579
59
416
756
425
513
256
714
600
880
832
152
488
97
142
409
908
595
452
99
339
606
775
174
660
780
956
522
219
765
755
695
314
340
577
899
604
519
551
683
423
273
665
334
85
302
649
843
748
225
83
123
806
63
552
854
226
250
515
396
857
787
795
436
155
199
486
773
124
241
360
483
876
246
312
983
397
169
549
620
723
397
181
292
987
294
271
927
78
849
298
894
407
175
72
320
185
661
378
722
666
222
363
227
980
599
793
873
226
971
902
666
60
965
423
807
356
245
669
602
894
574
616
493
662
669
512
871
508
531
500
968
493
770
160
234
803
662
464
123
334
333
254
520
319
838
301
60
829
794
512
346
822
522
502
465
753
793
971
45
548
374
480
141
227
677
579
461
567
928
748
969
752
146
570
300
735
86
297
254
256
501
735
655
705
615
332
716
692
743
442
996
631
60
671
976
727
543
584
121
929
889
746
358
230
275
991
228
739
687
358
121
277
416
927
617
501
956
532
722
296
689
209
726
840
969
270
757
125
967
891
444
219
815
253
351
233
88
650
385
152
984
393
790
404
877
809
161
763
429
464
556
417
299
366
808
523
521
992
433
642
616
904
797
76
680
524
654
822
222
116
163
119
105
737
517
243
818
867
206
778
108
582
331
345
223
649
942
201
988
991
909
85
408
692
341
898
978
50
189
771
270
804
777
887
461
287
703
833
300
52
972
200
604
839
937
202
847
566
117
492
927
799
736
190
895
504
263
460
882
280
566
131
703
653
675
384
481
736
821
390
370
637
959
122
621
910
482
445
103
609
876
820
204
787
776
925
864
487
742
739
557
318
960
873
681
901
501
618
724
109
280
871
319
323
844
136
457
650
61
249
41
445
508
412
764
638
109
286
665
408
698
155
536
454
508
776
297
999
465
458
381
472
623
399
228
888
851
208
99
512
610
806
697
405
95
306
331
121
752
662
395
977
977
663
47
581
309
154
331
891
880
309
697
876
845
814
304
933
177
885
416
788
941
258
519
146
133
598
632
454
329
720
701
688
842
390
991
632
83
614
475
976
113
328
476
685
382
385
880
190
463
953
921
226
979
371
978
953
879
140
318
783
683
282
56
882
180
400
684
240
178
621
145
945
662
350
431
632
331
304
587
605
306
982
871
711
951
464
858
754
817
655
465
746
667
353
709
766
409
951
947
980
540
340
871
367
45
941
341
956
929
56
489
631
959
190
487
745
302
86
482
890
635
269
588
676
658
789
684
70
678
767
146
921
397
942
153
443
376
910
830
511
886
972
207
448
311
714
683
673
371
393
620
626
659
930
676
399
615
898
308
434
243
753
67
992
576
885
316
472
378
170
909
780
914
842
124
608
131
343
689
329
777
223
352
949
787
262
789
539
466
361
456
196
681
549
542
591
253
264
604
93
119
698
158
825
506
309
577
292
665
270
547
739
503
898
440
310
213
122
749
407
142
765
333
613
391
729
497
979
773
821
457
372
572
66
91
855
501
684
189
138
448
892
634
156
131
257
98
762
271
956
920
431
431
261
713
133
252
756
289
623
196
633
687
400
803
212
588
951
703
476
73
554
134
308
682
268
761
265
575
273
659
187
240
114
586
83
317
505
827
811
208
459
441
478
871
413
451
266
232
141
471
491
243
891
106
461
743
983
525
981
893
325
939
442
284
575
836
148
965
926
172
460
45
543
96
523
712
647
964
414
620
640
596
348
556
94
289
731
572
511
729
684
717
593
310
46
489
80
344
871
187
979
885
707
767
499
493
951
861
605
808
855
868
492
437
715
551
847
829
275
266
58
124
975
816
213
991
813
720
843
249
168
703
954
760
698
663
69
105
182
751
61
673
901
356
643
201
156
484
203
875
676
579
285
840
814
559
134
733
656
763
521
999
911
664
615
779
518
472
726
874
773
300
214
613
746
198
331
203
117
399
689
680
849
525
177
209
254
280
75
966
415
45
41
494
553
182
316
603
131
337
118
57
252
389
98
590
220
166
42
86
295
566
787
118
94
175
277
956
802
109
103
734
599
782
723
979
467
77
340
517
86
579
854
515
379
425
353
449
685
57
357
251
442
275
549
755
748
305
715
750
771
208
214
343
107
715
787
74
858
560
974
385
75
957
989
331
362
207
366
151
903
893
569
897
465
157
571
335
348
398
158
770
217
649
775
907
294
534
90
254
913
592
460
497
330
969
673
972
993
445
842
642
439
109
382
299
331
222
189
682
163
560
811
418
438
277
891
244
693
628
722
48
429
801
698
744
464
321
445
267
728
995
166
733
395
79
564
336
112
119
239
896
448
515
722
225
862
978
733
435
616
568
338
806
71
681
104
746
968
48
501
724
353
708
901
994
445
839
732
99
739
73
532
994
737
338
906
780
576
568
459
229
906
944
826
513
632
988
712
345
493
311
172
953
173
362
509
697
925
125
407
996
495
257
371
797
889
985
122
305
333
120
327
394
930
407
119
815
956
825
989
729
342
195
618
729
575
870
886
490
907
926
262
578
469
543
420
829
600
308
684
416
748
95
185
105
812
149
778
489
829
153
61
62
890
308
566
116
895
441
50
552
614
878
914
661
823
450
426
679
747
947
72
327
520
414
269
574
642
59
996
112
522
115
152
341
822
281
320
832
800
363
966
75
489
989
372
650
640
669
172
666
414
595
157
110
555
952
368
555
626
147
855
321
839
88
650
811
658
209
226
507
977
902
387
811
495
133
410
870
697
356
197
440
531
909
242
884
97
203
486
782
89
68
148
718
788
530
419
627
639
748
994
513
270
762
528
757
738
638
478
653
388
147
338
73
375
642
466
362
834
808
278
141
711
452
666
206
959
864
721
471
979
859
920
314
490
645
92
134
67
762
435
204
615
800
168
502
458
342
755
988
246
43
468
359
116
625
720
184
479
889
185
718
746
160
795
767
672
387
356
930
144
832
192
383
299
330
864
94
46
233
449
321
790
268
242
597
369
493
853
754
824
995
109
160
145
889
929
416
270
172
403
182
161
422
290
804
476
364
586
874
273
701
535
549
594
878
702
979
194
817
879
401
389
766
528
470
806
452
704
723
244
220
43
875
855
242
126
495
141
580
745
838
874
913
106
61
644
681
164
589
782
332
294
701
372
537
887
457
693
227
81
690
820
153
837
978
132
575
269
957
857
253
523
465
355
537
962
97
205
835
724
641
308
107
991
869
478
451
516
769
904
285
518
126
801
541
717
444
676
828
572
742
749
54
283
633
512
991
822
853
62
522
523
898
809
714
296
893
855
298
45
488
738
359
435
615
943
559
198
208
430
574
847
416
723
519
808
944
667
155
786
567
175
832
150
267
483
209
680
835
321
358
923
142
697
517
225
491
921
656
441
687
526
392
400
157
791
182
456
973
90
469
716
844
614
982
764
720
280
364
690
494
991
241
252
375
798
518
416
518
872
366
182
620
249
802
329
690
503
987
669
893
786
166
716
160
593
416
599
851
463
730
381
248
961
893
983
485
855
494
242
527
493
150
566
480
900
675
538
174
614
111
490
67
456
940
536
867
721
780
785
616
41
132
982
178
117
749
807
217
124
992
335
615
353
409
80
614
530
225
467
410
279
183
525
445
895
673
863
899
739
531
681
738
509
874
543
100
443
284
182
484
971
441
875
693
265
399
758
475
777
453
967
99
814
50
671
797
820
793
734
953
534
76
620
525
166
893
81
774
322
912
961
598
841
853
761
159
385
464
224
520
74
919
508
447
182
370
226
541
194
237
791
323
227
434
884
506
883
231
143
996
980
846
767
969
624
269
374
231
670
166
458
250
415
571
357
526
879
285
291
344
142
462
414
477
70
508
369
541
422
931
426
928
63
132
943
630
369
452
149
356
104
980
513
721
533
207
636
611
462
170
156
913
181
789
849
858
437
705
66
776
632
113
250
624
535
884
570
953
633
945
67
529
947
378
387
468
845
271
928
88
983
532
888
179
845
869
690
48
508
786
60
341
512
288
188
922
284
236
872
416
795
168
347
637
671
383
76
552
335
965
180
424
115
260
212
185
955
705
745
979
431
87
59
840
172
235
972
205
598
191
252
131
784
279
576
939
452
854
548
108
427
80
115
131
298
480
867
524
673
978
936
609
681
926
379
408
342
492
412
560
66
433
333
893
112
973
802
493
929
723
663
439
957
309
700
845
417
92
273
673
845
111
41
795
311
727
412
370
212
518
99
670
681
47
404
762
247
267
227
388
746
534
433
400
171
936
319
186
812
726
360
869
712
952
600
495
120
111
724
310
473
324
603
639
684
980
254
884
859
935
90
898
146
776
693
75
770
505
521
890
170
334
955
892
543
195
264
115
565
345
329
660
702
147
887
306
678
314
244
636
62
887
130
208
70
185
769
449
171
174
203
541
573
940
693
94
256
443
629
445
379
719
902
640
513
546
62
128
304
192
835
595
257
888
744
790
158
172
498
840
117
921
546
883
962
979
272
767
503
901
661
341
909
383
356
64
781
122
946
858
327
460
466
465
853
252
273
760
171
521
274
425
887
871
340
40
746
464
338
857
52
719
791
255
991
822
205
895
579
769
378
370
786
125
828
473
776
539
698
800
532
175
879
560
286
485
702
700
949
167
285
831
464
646
428
749
938
678
598
522
334
203
123
561
954
226
190
747
967
358
324
343
898
447
561
876
192
532
282
556
851
294
384
856
673
71
784
290
866
882
67
975
858
613
67
580
176
954
115
854
974
139
535
496
843
106
120
103
487
203
542
94
241
365
795
559
729
395
317
650
619
260
903
42
124
497
95
296
328
350
319
877
534
799
663
680
740
982
494
813
620
459
336
592
690
887
891
427
812
872
352
368
160
365
211
682
698
685
871
162
847
996
872
729
763
581
415
674
669
946
190
202
770
184
794
834
743
685
830
668
137
60
945
500
834
962
758
574
570
497
56
948
432
569
59
868
651
347
46
476
928
644
394
217
110
535
275
586
166
634
824
145
690
448
412
749
575
442
111
946
666
921
823
660
120
634
392
345
895
509
133
274
713
592
214
900
448
91
287
961
195
485
530
328
974
868
779
699
329
104
983
226
134
738
550
324
194
498
230
951
651
609
513
646
606
863
958
312
288
130
535
388
410
212
132
95
596
423
289
617
50
188
702
317
636
530
416
243
349
770
463
833
309
933
741
742
522
373
340
998
463
188
703
921
584
162
958
50
805
650
375
577
871
611
559
251
670
460
346
839
414
392
404
193
330
82
506
154
456
539
592
793
469
465
680
370
782
194
276
793
176
91
742
732
154
485
151
395
96
271
947
382
746
273
898
535
520
781
861
278
252
952
275
189
907
68
469
100
204
875
606
593
115
973
773
215
827
101
954
823
313
384
442
522
956
482
870
93
235
41
495
691
46
147
257
383
780
900
546
421
957
366
771
730
836
67
888
337
518
40
945
993
129
533
180
906
225
427
620
626
809
134
269
753
136
258
206
729
908
290
945
889
500
123
390
721
863
669
429
288
77
705
416
105
79
674
223
639
76
602
824
930
450
898
433
233
885
395
853
591
294
380
443
158
404
188
57
869
396
878
676
986
579
518
103
327
292
69
40
273
916
195
859
939
165
347
525
152
890
554
896
481
906
570
194
883
696
129
687
842
767
976
472
347
782
232
615
353
672
716
689
583
881
690
744
940
731
963
386
453
898
284
956
389
928
899
298
558
926
953
459
765
142
53
173
527
547
712
155
822
775
787
297
209
67
225
552
310
806
844
317
767
650
767
555
301
605
322
956
274
898
873
746
40
530
57
82
854
968
436
440
703
574
827
706
433
351
441
303
388
737
117
808
454
286
974
807
843
159
607
837
722
574
850
917
500
773
442
444
386
658
684
824
365
511
209
724
717
589
958
83
383
618
207
306
488
562
286
660
669
449
935
43
379
597
112
377
628
984
387
646
393
970
722
952
582
829
237
388
190
657
937
273
737
267
279
972
430
945
282
617
850
939
992
190
113
627
330
923
67
437
264
705
422
571
862
153
719
411
126
124
62
571
708
430
42
619
81
550
381
211
729
556
427
680
903
266
676
617
270
815
590
56
652
980
949
46
437
524
677
119
390
55
245
528
794
240
837
102
898
708
626
57
946
190
716
154
632
510
769
675
772
250
770
847
203
146
142
316
885
260
87
924
642
997
449
396
917
56
101
767
219
135
537
823
214
913
333
834
667
144
852
474
396
685
210
525
572
362
994
845
497
623
132
472
790
609
412
597
665
242
142
850
617
638
391
843
139
518
476
140
282
371
570
550
347
992
222
71
722
209
276
999
895
133
752
280
789
144
852
288
522
935
195
563
319
791
976
269
957
415
160
559
345
791
725
471
701
625
485
382
631
86
425
455
226
637
303
225
416
58
729
217
551
124
351
440
794
367
406
286
668
839
330
556
370
499
817
242
251
843
356
172
873
650
518
480
810
895
753
177
115
79
88
996
735
568
896
690
790
390
958
320
622
176
339
550
994
141
116
890
178
607
428
285
393
308
338
720
826
818
291
206
312
394
909
617
901
373
877
873
79
695
857
813
490
256
853
660
687
685
766
606
671
248
268
676
947
803
401
155
811
45
722
729
294
42
61
307
845
541
364
465
417
76
224
330
163
666
458
651
776
113
235
145
963
332
848
887
778
863
376
399
431
616
735
52
56
721
889
355
180
681
474
45
929
817
231
818
711
580
532
910
875
477
545
53
782
372
378
510
261
228
339
393
916
745
768
172
383
975
334
848
107
807
773
369
546
61
941
289
883
601
597
46
201
587
764
878
180
61
694
786
628
44
577
867
494
60
544
201
707
775
414
372
692
765
416
870
479
368
364
47
706
336
723
258
179
907
715
65
464
928
569
436
559
868
194
117
913
390
873
76
807
401
94
441
448
551
606
194
411
207
871
379
930
84
866
459
725
652
777
352
714
443
500
283
212
978
707
557
990
309
938
780
536
287
393
392
768
107
262
236
576
285
96
278
360
907
133
828
802
232
761
865
805
573
173
654
348
905
292
439
92
160
783
501
296
544
412
211
823
863
163
258
212
134
92
966
930
960
704
849
593
388
290
585
402
610
641
660
570
637
137
93
392
886
70
897
338
519
470
579
74
710
524
840
297
760
515
959
538
77
104
909
409
494
593
564
700
322
431
72
999
347
640
825
933
540
559
202
135
696
104
837
661
666
869
742
790
147
789
788
958
597
124
84
932
427
112
993
761
177
636
556
392
775
281
638
900
856
69
924
96
197
292
707
313
561
717
262
819
256
459
798
218
734
933
655
505
897
186
170
475
473
545
143
646
414
273
912
452
977
238
847
125
586
858
795
86
272
265
769
671
344
871
425
476
362
555
985
288
93
448
439
342
716
931
55
151
733
365
796
206
175
933
818
350
437
48
804
652
878
955
537
817
868
469
960
500
909
149
193
641
646
932
972
267
365
981
336
793
468
863
337
920
143
404
332
550
433
985
912
821
179
880
949
815
337
420
507
397
74
96
89
135
715
147
569
237
766
759
243
819
556
503
111
472
662
619
857
901
743
391
818
849
891
380
472
722
629
337
992
850
454
717
948
44
337
844
577
848
191
380
375
403
928
98
689
866
543
635
819
790
92
955
85
930
356
219
691
467
758
649
767
399
698
432
550
444
578
872
181
118
932
78
173
867
917
869
193
263
285
261
340
486
427
559
104
674
860
278
788
216
883
562
543
324
379
215
743
859
849
394
349
221
59
386
548
805
168
299
151
296
136
186
372
509
458
130
277
685
947
492
79
126
948
665
786
732
604
703
956
633
984
327
974
778
261
649
657
230
534
148
610
140
566
370
339
553
813
679
988
878
948
486
439
353
198
362
456
390
908
860
157
851
975
987
517
717
284
540
44
498
316
428
834
936
593
139
819
736
843
58
443
320
43
211
842
846
631
466
341
155
614
611
944
367
916
139
680
884
730
634
56
482
793
301
258
66
901
706
613
944
85
249
350
785
949
422
608
758
486
929
666
360
397
683
244
230
574
108
538
785
690
628
132
707
560
147
853
164
442
818
534
736
497
74
831
410
693
631
279
968
690
992
543
688
325
847
270
446
593
500
541
859
998
499
653
433
290
993
923
141
501
531
49
965
413
852
489
254
874
118
760
249
309
375
304
683
148
705
701
169
232
207
982
103
346
479
847
438
300
765
156
350
179
895
966
967
621
502
895
578
364
168
270
796
509
588
647
382
445
567
612
934
760
694
136
110
889
74
129
518
433
882
538
538
718
826
977
764
414
874
204
452
584
447
650
496
733
153
570
414
397
712
218
946
522
259
540
752
450
869
795
573
669
421
824
593
601
54
704
685
911
106
332
359
558
225
733
820
325
431
316
856
814
564
179
594
129
897
541
585
454
139
150
513
860
480
405
703
937
589
272
607
85
146
870
245
389
261
243
704
360
724
945
864
918
667
389
884
747
796
151
803
781
433
659
739
249
289
125
553
683
98
831
601
965
853
302
429
407
713
509
543
588
275
670
62
696
148
426
888
267
543
813
876
580
512
623
713
362
498
324
483
104
177
723
541
130
119
544
60
756
979
295
659
815
719
412
508
508
49
727
643
256
195
306
413
184
441
776
874
658
196
827
58
313
55
592
709
422
210
651
603
61
55
921
607
58
858
423
803
615
187
246
776
165
340
889
371
444
398
474
715
412
101
225
955
717
528
914
43
632
877
823
936
258
391
579
59
259
169
418
400
489
155
569
508
273
903
152
56
783
405
218
362
872
221
41
947
444
869
800
374
57
589
652
694
46
992
291
555
514
581
363
824
786
95
786
336
533
278
169
813
479
361
469
393
662
470
164
759
488
613
792
554
194
146
246
407
738
721
692
764
40
750
445
848
492
172
211
469
575
358
596
792
123
816
403
669
616
733
115
291
309
781
997
720
287
607
761
746
972
665
872
240
725
871
833
842
766
942
485
738
695
370
922
406
743
615
89
345
413
957
219
740
210
73
816
292
664
44
882
177
519
624
452
64
524
668
479
822
404
115
641
533
857
307
251
126
665
546
576
290
937
998
691
55
42
46
520
245
857
600
189
630
958
669
806
313
201
500
819
784
376
673
869
281
687
907
149
782
651
360
422
895
984
736
755
312
283
312
866
73
705
247
103
424
603
129
783
555
867
547
155
624
633
308
408
451
367
172
406
559
746
140
927
920
679
700
840
531
537
594
344
375
506
326
115
483
436
232
962
229
759
256
555
327
583
748
574
411
312
593
598
668
780
267
777
856
749
819
683
597
470
494
576
958
449
695
860
393
694
545
883
687
210
705
210
894
772
145
116
93
556
247
447
196
798
423
416
434
378
306
516
283
397
133
241
617
701
643
136
105
592
308
277
542
208
544
510
670
149
671
213
162
236
536
326
902
177
146
882
781
948
811
228
547
182
746
266
141
108
546
580
583
434
168
692
564
726
926
593
518
107
568
882
259
184
284
363
868
629
158
471
200
606
614
392
800
247
355
131
906
753
415
972
880
335
476
126
513
992
289
176
571
715
437
953
321
185
323
100
353
510
296
946
66
300
957
914
53
156
935
800
129
352
970
792
511
560
988
803
901
824
404
449
169
464
623
572
194
119
49
879
406
931
999
372
120
253
677
178
933
48
479
322
273
934
202
854
797
416
743
938
73
590
482
533
732
915
684
946
290
159
628
264
503
849
224
237
673
789
589
683
453
960
527
646
282
273
369
862
678
648
538
637
265
56
506
379
115
473
95
144
591
347
895
652
518
637
53
707
104
44
522
94
210
673
359
639
269
45
588
795
897
980
285
457
228
880
156
64
901
548
110
273
422
256
582
916
675
341
528
273
736
197
862
129
176
899
493
539
587
726
745
182
481
985
349
617
535
85
868
217
963
387
850
348
693
257
572
950
677
459
632
511
671
958
420
584
487
132
609
581
395
265
912
823
174
971
432
992
631
980
559
710
324
501
740
885
85
491
206
465
137
353
987
390
462
130
222
646
305
102
487
840
812
195
857
556
447
736
574
187
683
977
811
122
216
998
581
238
896
635
198
459
484
933
78
289
92
836
665
219
83
637
901
102
183
450
114
317
450
569
740
269
469
946
328
536
720
440
771
269
374
461
173
162
649
771
590
911
479
682
851
80
192
709
452
94
733
328
113
409
104
609
718
286
82
279
303
165
241
143
479
331
604
448
482
47
192
958
255
41
741
797
926
440
71
510
109
730
894
131
598
249
297
300
114
395
786
260
445
195
830
768
878
424
390
48
969
123
488
404
49
986
986
491
675
136
865
325
464
244
925
600
534
553
968
487
876
525
785
273
198
527
483
597
964
50
392
683
937
217
433
607
445
554
396
118
369
98
804
725
170
197
745
367
611
270
501
211
482
610
116
910
616
333
177
627
895
413
52
295
682
755
618
305
150
956
851
105
46
593
803
377
786
746
185
623
591
128
222
152
754
455
112
489
454
835
125
935
370
289
874
801
499
48
127
991
174
972
938
307
824
183
191
162
427
89
450
86
850
411
875
674
573
129
235
923
589
846
727
974
76
67
924
429
826
806
342
479
400
950
379
426
423
376
657
891
612
676
282
81
158
347
663
111
892
952
280
850
793
223
735
747
509
460
457
563
259
69
767
671
966
443
576
591
108
704
310
701
210
742
55
210
348
801
62
830
654
875
388
290
273
489
803
190
987
994
956
44
599
765
700
481
794
699
232
122
799
107
763
480
389
488
632
454
925
954
511
452
927
884
365
816
880
720
74
495
209
642
201
235
995
977
346
821
617
391
670
210
528
343
245
932
914
717
770
761
174
896
279
496
804
182
507
823
156
565
588
502
664
373
520
664
814
927
930
590
331
208
257
729
92
845
848
46
467
788
959
938
187
830
504
767
233
145
659
507
541
551
286
720
290
676
392
923
492
646
472
614
333
851
521
646
334
383
817
810
202
290
567
731
370
525
94
904
176
732
726
985
895
145
200
908
525
332
912
92
639
990
253
490
544
150
826
468
967
846
380
407
64
429
733
908
499
80
431
247
391
498
898
892
755
446
591
767
537
411
364
301
576
532
786
914
521
249
467
910
402
507
152
636
193
611
740
956
546
840
169
498
40
49
522
457
837
70
472
904
338
702
876
232
59
238
235
684
776
146
955
580
586
474
799
450
582
856
668
896
923
908
186
901
984
867
363
194
180
465
780
931
426
577
230
553
477
642
262
906
813
841
638
129
211
752
902
195
195
794
608
711
270
919
217
594
659
230
356
462
222
352
506
159
837
42
64
260
910
211
254
221
697
579
284
406
686
145
974
187
669
885
249
598
566
870
623
327
373
130
698
53
324
931
848
88
931
510
675
77
262
935
285
583
107
890
789
252
935
534
988
302
838
546
927
113
324
716
236
150
834
975
647
263
837
569
597
872
937
305
510
306
566
442
524
162
294
215
785
564
444
203
475
457
248
933
730
784
74
907
819
327
61
606
270
799
620
54
578
805
382
237
959
887
962
688
506
743
285
812
607
242
296
713
998
506
328
786
950
653
276
441
519
371
103
440
349
704
390
796
540
676
150
265
315
195
146
202
410
566
116
756
798
935
814
196
814
741
371
354
581
629
87
114
628
492
878
836
950
632
676
59
985
117
364
112
64
836
572
651
522
919
610
393
367
920
516
710
300
343
438
953
720
978
533
474
560
472
931
203
237
317
152
674
832
872
683
54
420
896
630
55
317
142
714
427
523
894
304
158
369
169
919
945
544
533
451
542
952
823
831
391
141
466
550
949
676
545
960
901
728
193
996
388
941
772
112
683
371
353
65
566
172
865
655
990
934
876
863
351
265
632
292
772
795
651
458
206
535
803
472
308
868
457
748
604
136
721
933
644
354
340
552
763
280
998
638
619
394
847
281
973
287
207
836
806
268
417
116
179
93
695
333
174
240
399
343
397
163
776
554
297
447
989
767
320
809
670
738
859
858
104
210
580
65
474
901
319
142
616
798
982
46
364
738
525
506
681
903
771
254
305
455
745
599
275
555
949
499
620
324
634
916
650
535
734
582
918
676
88
403
500
488
360
416
323
428
59
586
669
139
611
980
885
594
899
928
219
991
985
331
685
293
434
516
144
73
655
685
610
435
87
417
862
448
543
76
436
929
930
120
896
365
571
145
973
696
485
147
143
444
242
870
154
655
749
731
141
546
786
378
641
401
361
959
821
498
361
597
304
627
113
946
428
975
583
755
308
400
520
722
467
482
897
442
41
842
937
836
258
65
967
639
183
945
716
329
103
579
565
313
759
963
267
53
148
880
117
844
613
67
860
122
934
365
81
462
240
127
903
647
244
766
837
73
513
380
931
158
260
662
468
411
984
687
878
768
495
873
373
675
582
384
369
62
492
647
430
318
58
744
912
401
149
187
721
322
879
205
903
892
793
717
650
847
924
625
712
214
868
808
520
457
490
273
109
647
480
228
73
929
148
403
761
948
632
826
221
915
155
545
916
582
227
976
197
569
923
675
562
299
598
721
289
969
832
899
495
119
755
529
369
404
330
587
427
385
940
270
337
926
864
955
535
239
843
583
45
503
611
156
592
59
899
823
545
92
251
513
676
696
64
103
126
532
861
222
740
524
784
989
702
764
330
279
463
398
500
914
394
686
660
939
505
651
43
948
349
449
816
409
282
128
744
481
153
287
50
166
776
839
732
423
550
786
789
255
882
603
905
423
90
136
79
375
173
597
590
583
897
582
323
785
714
830
932
431
756
255
66
446
232
686
741
289
400
423
99
526
744
438
223
406
730
758
551
904
253
916
478
709
334
868
545
654
250
682
685
541
990
103
426
257
951
825
308
963
696
981
201
454
243
41
966
773
488
945
335
866
604
615
153
484
123
532
51
382
527
386
166
121
477
836
886
159
421
390
197
245
484
475
325
660
428
911
922
464
149
188
889
835
416
332
182
410
521
154
354
534
818
831
857
144
455
538
411
211
214
616
617
397
653
646
955
785
257
732
865
899
182
126
758
884
930
987
492
447
661
373
388
86
839
757
598
806
525
68
683
41
974
519
70
739
403
236
437
810
256
222
486
436
264
864
427
332
644
854
960
424
407
183
842
64
662
801
846
138
403
962
231
495
409
877
84
731
460
910
657
333
457
969
132
203
362
302
190
439
479
987
693
570
789
655
813
224
311
405
572
872
819
51
804
390
105
528
176
362
261
437
226
106
737
506
747
931
61
381
57
133
52
868
204
263
503
808
968
738
479
802
872
525
609
420
791
129
70
995
908
165
707
737
752
388
784
180
947
235
161
150
532
484
450
499
81
94
298
437
563
651
705
185
129
846
135
326
889
692
650
260
765
632
937
726
257
963
499
109
952
120
116
531
600
282
933
157
729
665
934
671
192
279
374
742
78
823
158
878
461
800
677
945
925
214
94
305
980
218
280
186
456
423
714
363
974
648
627
202
746
344
720
217
473
354
352
539
490
187
431
354
532
523
317
665
154
808
523
886
440
255
58
726
305
226
975
206
588
819
138
429
623
535
236
859
515
817
238
969
144
332
323
468
344
657
600
565
75
113
781
575
910
606
181
256
184
207
230
807
251
739
757
687
545
423
62
924
924
224
611
916
299
549
739
422
339
842
283
515
295
997
126
114
113
699
945
328
323
296
523
827
289
918
474
238
599
616
569
470
256
512
116
883
415
665
119
790
932
986
853
731
461
849
563
251
702
790
852
233
466
785
87
644
88
934
318
444
903
443
427
403
890
956
510
974
262
629
141
865
87
601
131
958
610
265
500
803
297
644
439
367
353
722
194
492
460
532
411
414
974
489
543
781
847
497
832
638
103
62
533
258
818
254
621
266
44
960
399
814
780
990
316
556
101
258
902
462
627
483
566
487
369
664
177
656
300
810
552
303
437
250
578
521
147
784
479
545
42
78
454
69
819
655
589
544
783
574
737
460
300
343
915
608
246
354
899
506
771
944
865
661
796
932
227
897
325
365
362
667
805
620
762
712
699
266
293
148
60
993
260
948
620
592
769
284
725
804
574
771
285
685
888
556
165
998
158
721
477
811
793
244
828
848
417
284
864
52
386
385
651
910
481
453
203
458
111
395
662
554
299
577
507
188
321
193
933
257
500
499
290
833
71
388
228
536
358
655
236
863
507
411
103
955
189
184
790
535
955
420
949
321
846
74
621
665
79
696
52
624
302
45
488
562
553
293
428
785
743
914
585
337
139
586
318
636
836
787
724
490
182
820
606
749
320
702
376
702
947
122
687
330
941
348
788
759
648
617
788
394
50
525
266
877
53
76
42
861
517
379
730
463
897
702
71
608
684
125
444
399
167
733
207
324
904
738
273
122
60
276
700
598
848
186
351
912
706
144
277
993
427
853
233
551
450
66
543
665
211
554
377
878
982
332
141
267
666
366
556
154
277
412
812
845
497
738
838
232
163
216
577
302
860
229
946
546
775
768
389
904
628
884
101
696
366
136
671
297
555
295
612
951
531
729
736
48
908
269
755
263
161
425
560
278
555
548
976
712
301
298
181
354
381
62
475
780
859
715
89
151
686
832
394
954
222
875
115
693
290
80
68
447
747
615
403
488
964
339
809
512
768
56
817
802
181
841
88
66
862
968
913
132
549
437
382
159
92
391
576
356
794
721
384
992
126
583
970
559
867
589
802
977
56
317
508
467
795
642
436
233
545
561
815
150
470
543
616
538
612
662
395
473
182
921
916
862
595
496
160
257
425
776
642
719
237
513
894
82
705
435
810
228
123
400
488
477
819
58
667
100
879
241
298
520
72
417
704
752
631
818
335
273
95
546
844
969
550
315
83
264
217
832
653
613
998
454
582
962
548
333
471
121
149
868
632
314
981
930
339
948
573
477
371
482
615
282
77
843
452
793
831
914
433
266
48
934
266
654
720
151
800
569
381
471
156
543
917
431
892
827
125
46
453
502
363
531
537
241
284
252
194
415
728
807
611
63
905
120
997
300
768
666
542
954
762
227
759
115
513
668
60
945
646
903
573
638
917
225
151
61
806
722
209
741
874
979
129
893
701
695
375
157
852
142
339
58
203
951
515
484
485
760
866
603
920
769
817
122
865
417
430
399
75
306
400
313
539
148
734
113
767
628
694
158
183
973
346
533
482
797
94
810
74
150
49
913
994
956
71
138
159
748
417
725
435
299
643
348
564
127
866
985
114
41
698
283
919
905
744
595
256
326
911
129
501
709
472
476
548
51
194
268
78
98
499
337
429
354
211
303
867
435
72
125
501
552
819
780
437
592
386
580
433
94
593
542
272
677
315
100
66
320
539
537
818
364
722
825
768
784
312
339
787
885
778
649
616
124
418
760
701
430
848
272
409
462
641
323
175
400
866
872
779
176
813
687
527
315
70
745
200
397
155
311
981
602
571
189
53
797
411
217
892
275
852
996
295
974
289
562
494
910
530
140
685
912
483
976
434
46
309
292
560
563
261
168
754
273
893
696
237
201
245
896
127
886
121
571
853
740
238
93
818
561
620
114
796
262
231
867
687
367
432
592
652
959
367
316
280
312
420
594
155
950
353
861
929
200
907
672
824
646
437
945
78
105
437
269
448
475
63
820
758
766
137
121
223
420
501
644
994
92
466
532
386
732
505
743
929
314
362
602
932
693
426
589
864
987
930
694
984
785
129
800
641
740
903
63
411
942
238
941
49
434
655
716
919
905
834
732
860
550
613
870
294
670
446
223
750
68
593
343
146
486
61
403
542
264
211
162
489
611
419
531
339
455
139
106
850
633
902
703
738
93
883
778
85
417
919
261
816
355
463
746
103
764
570
446
798
428
412
237
910
203
157
863
945
546
403
991
298
411
828
455
100
389
136
949
809
327
948
413
160
388
452
934
234
183
109
287
287
635
748
202
226
874
263
862
201
704
844
668
515
503
292
645
818
222
788
175
216
468
684
206
212
325
876
991
347
609
207
996
234
69
545
842
372
191
965
977
971
791
531
375
873
928
200
73
506
415
754
430
563
98
436
141
97
699
376
62
135
648
842
342
101
991
489
293
814
794
430
461
534
917
879
852
847
779
844
687
867
774
58
425
389
52
957
824
877
119
793
128
854
667
325
322
61
175
168
122
410
895
628
463
307
358
538
851
87
299
225
963
212
816
925
605
760
155
780
91
121
537
908
210
55
849
328
80
431
895
423
436
590
332
50
329
114
281
420
657
363
498
725
854
130
249
614
965
907
823
361
567
775
781
386
363
211
479
349
553
659
746
533
258
599
590
904
619
933
800
447
463
304
417
285
294
561
508
435
765
705
639
735
499
182
872
296
542
393
439
471
961
617
835
867
227
462
628
70
442
414
799
675
520
826
388
565
660
819
662
312
945
693
646
250
859
843
905
285
830
513
853
981
485
485
842
561
290
518
632
464
532
294
474
985
505
110
947
539
391
683
285
792
128
667
418
284
671
970
695
243
798
639
368
698
612
586
314
792
569
396
658
747
525
408
99
621
713
304
769
635
167
989
390
356
153
545
555
178
825
167
516
828
149
980
138
518
386
984
728
344
250
320
351
977
510
921
810
783
987
82
632
713
600
749
331
666
436
107
879
196
120
580
769
362
392
258
573
996
775
169
234
141
901
144
625
505
880
971
600
248
899
256
834
202
762
581
83
461
823
105
512
815
732
202
155
77
985
809
299
167
184
216
723
314
137
910
99
323
471
968
946
742
708
765
543
540
157
76
900
94
875
44
867
251
190
919
416
433
959
616
990
565
53
603
656
712
958
924
103
952
483
485
940
241
107
679
40
855
476
736
769
883
961
763
689
759
759
604
369
430
609
225
606
49
411
388
553
587
509
137
199
256
720
355
844
930
444
368
612
144
922
909
755
777
883
755
383
252
341
638
384
812
92
988
331
190
643
374
992
199
857
77
796
475
714
861
102
84
192
740
246
507
802
338
659
604
725
671
558
891
980
439
417
888
721
258
439
730
301
564
138
50
341
978
708
949
947
465
809
741
334
841
167
463
212
691
218
224
997
212
771
235
241
401
127
351
352
614
297
401
190
684
915
114
336
677
481
213
891
651
271
60
440
553
699
872
789
146
844
127
465
614
226
577
223
398
999
169
214
409
255
86
721
642
331
170
998
523
854
594
219
88
658
282
231
286
682
553
367
761
829
693
346
441
317
209
156
842
884
85
784
687
218
648
443
225
997
703
916
994
646
55
51
96
72
59
140
293
361
309
537
942
810
811
93
749
488
47
584
628
182
515
84
304
546
94
824
870
743
979
616
279
761
463
40
790
498
463
886
183
489
625
430
199
916
958
555
223
536
587
678
664
292
129
996
47
648
788
560
402
62
390
580
496
419
346
60
889
635
357
918
509
765
77
127
528
754
808
818
190
156
404
593
429
761
813
902
688
806
565
289
842
752
768
757
370
658
315
87
993
99
201
938
967
926
546
992
225
503
974
968
389
932
318
471
357
714
532
89
390
934
396
783
407
753
664
270
754
788
352
927
563
635
151
281
826
770
317
436
798
575
976
640
884
848
997
934
620
417
131
993
399
138
862
818
69
776
78
752
800
349
539
920
825
746
913
469
984
671
494
119
614
744
195
828
535
985
78
93
791
360
341
525
711
963
657
697
552
393
921
659
790
555
87
863
536
654
150
161
806
928
145
378
615
58
468
208
182
727
976
420
42
690
917
400
913
640
318
800
251
743
518
435
995
828
681
995
604
71
562
978
454
322
101
559
59
981
923
861
964
922
708
490
572
669
323
524
338
990
161
756
773
325
53
121
454
266
954
908
376
93
97
411
391
208
93
247
571
807
677
443
464
856
602
332
492
788
617
998
262
890
723
518
227
673
345
942
872
520
919
215
480
728
403
602
189
593
992
996
365
185
960
419
338
694
738
872
774
646
732
868
280
934
139
745
98
383
589
817
132
525
868
91
445
59
61
261
378
184
360
932
354
772
355
80
68
276
786
83
420
876
557
384
575
282
957
387
258
741
956
70
544
384
839
604
175
548
802
854
893
629
211
162
91
376
418
112
769
325
980
657
959
641
602
350
174
603
225
87
910
440
514
422
365
487
441
816
410
183
734
164
593
690
356
558
196
916
745
727
526
985
996
146
335
781
263
283
66
330
441
695
967
285
717
782
123
633
357
873
752
112
506
184
988
752
154
769
141
134
965
727
314
813
918
177
932
222
335
595
787
576
581
828
139
964
374
84
533
647
362
271
565
871
638
832
400
251
394
411
974
589
300
528
141
941
959
396
524
758
826
600
591
299
213
996
954
774
591
852
170
936
886
300
627
574
751
386
447
923
552
943
175
77
147
609
456
417
926
804
902
337
887
545
272
291
781
612
681
757
46
591
821
591
690
956
949
800
988
544
835
898
132
589
890
307
821
398
459
111
390
151
387
760
365
213
913
332
991
536
428
161
550
616
267
493
505
96
52
463
584
681
497
704
678
373
251
279
820
966
437
685
990
985
948
999
534
946
789
920
924
947
817
642
393
926
501
161
664
827
55
255
465
733
233
632
770
687
193
395
958
509
306
528
804
602
529
559
596
324
892
213
961
247
504
929
591
886
249
772
922
744
851
760
765
806
690
731
249
761
575
134
839
96
758
69
968
966
641
474
775
836
413
703
543
634
429
278
136
672
890
418
844
948
400
995
587
217
471
398
874
82
166
537
533
425
943
175
663
810
944
901
671
90
606
641
473
785
382
536
93
834
508
215
922
280
211
783
86
881
70
889
486
770
890
750
689
576
924
676
463
523
495
448
218
460
202
320
183
458
404
986
301
607
358
505
585
762
452
885
64
798
470
701
241
823
235
544
915
721
236
744
344
86
948
686
89
630
935
521
267
163
363
324
517
305
887
724
278
80
743
743
576
621
536
271
804
917
728
645
708
784
863
980
686
452
329
320
804
561
605
365
838
158
972
863
835
176
393
703
421
745
235
78
218
317
753
666
852
322
553
837
855
660
762
477
910
853
662
126
925
731
539
926
446
427
55
835
840
333
772
109
122
626
956
837
149
281
890
769
970
137
750
548
413
214
815
878
111
743
341
880
66
424
669
944
133
682
402
937
451
341
556
755
308
535
472
148
389
576
897
836
260
648
407
823
169
442
397
431
653
776
156
692
648
850
394
503
706
537
570
767
673
43
627
679
352
775
128
438
216
154
470
643
126
824
314
767
157
602
81
948
45
660
572
601
357
854
720
852
430
273
296
907
62
674
718
923
810
725
827
669
460
648
601
461
527
862
621
457
654
103
796
489
373
473
801
599
255
604
991
575
532
276
553
932
617
475
529
658
293
62
468
115
73
592
551
186
541
896
223
189
228
695
312
879
896
708
762
72
279
50
155
939
413
860
474
663
253
620
842
328
586
911
184
401
145
714
647
976
531
658
759
158
513
890
995
468
72
980
782
804
916
531
511
472
89
318
698
981
624
719
550
858
773
263
371
82
403
691
684
558
976
432
807
244
976
558
163
146
860
80
980
207
228
778
982
276
665
356
984
786
675
541
195
216
249
863
184
572
262
496
713
895
511
658
299
833
681
323
673
189
755
400
211
277
647
892
968
554
54
260
75
880
364
676
534
908
977
312
596
296
534
828
644
558
759
630
175
548
374
206
612
281
320
863
117
783
73
721
883
526
448
690
946
444
858
756
343
678
523
909
393
304
738
399
208
964
47
91
614
145
908
950
793
345
238
56
513
851
657
621
525
885
677
69
357
444
955
312
375
384
363
468
297
912
898
901
488
343
395
267
639
546
841
839
148
753
566
371
659
298
86
194
366
569
100
386
206
506
60
207
883
534
70
510
600
636
818
758
209
849
392
120
511
284
772
539
824
840
69
204
57
414
310
549
890
946
394
652
982
906
363
397
370
371
819
642
376
66
517
733
909
843
368
516
511
614
411
291
68
424
923
350
290
395
322
950
807
316
274
787
693
296
916
945
497
642
590
426
83
283
327
980
281
165
114
945
929
860
163
366
966
100
501
913
681
400
992
573
964
512
891
940
181
825
384
734
123
534
936
434
697
577
718
359
97
60
456
355
377
338
776
793
886
667
461
795
564
469
484
465
383
788
673
200
938
761
917
387
558
943
856
856
91
674
962
338
963
182
247
951
822
669
282
874
88
721
506
828
636
576
962
966
234
632
537
814
842
376
412
598
904
920
390
914
820
648
971
903
853
352
107
388
431
876
700
161
132
967
775
819
920
366
733
571
597
299
957
896
400
921
302
588
203
147
928
974
636
740
721
259
360
936
904
318
875
101
271
505
714
914
55
188
706
203
748
997
644
112
316
154
484
210
340
204
483
77
922
143
927
869
312
887
821
201
731
453
359
251
390
843
538
683
267
679
621
816
441
623
508
418
323
797
205
662
741
229
71
653
311
280
773
101
476
305
148
47
698
359
124
84
758
386
405
976
240
677
627
651
684
325
245
726
260
154
652
854
523
901
939
566
386
62
236
667
321
770
995
137
985
828
91
227
737
393
355
846
731
929
500
478
514
403
690
781
793
762
207
812
954
272
487
659
177
245
815
299
606
414
59
663
648
127
155
63
412
349
300
228
404
186
136
390
80
310
469
565
382
636
922
84
880
64
589
313
91
482
631
411
949
423
336
928
874
407
882
501
551
559
605
868
247
573
742
894
141
418
500
797
306
290
971
199
646
998
909
811
255
685
922
760
601
261
135
607
501
595
612
971
946
712
111
829
731
887
495
758
980
865
965
605
858
51
355
366
406
367
843
501
536
742
640
966
428
542
827
65
721
522
760
425
194
117
710
428
998
739
224
96
425
929
650
571
567
93
855
847
159
71
268
482
726
441
875
980
415
392
891
649
72
339
563
135
889
325
605
305
651
523
265
429
41
904
961
494
899
251
335
591
302
676
966
698
860
585
344
477
339
58
918
300
528
834
353
438
556
934
518
913
912
612
360
422
244
67
995
339
239
348
354
688
236
622
248
245
776
64
76
158
195
95
711
997
262
633
556
209
392
685
841
988
936
362
356
275
426
43
347
348
487
187
685
402
278
994
865
572
866
891
956
422
752
416
498
969
78
763
848
914
419
337
285
876
253
101
789
365
799
129
334
926
101
453
849
346
405
990
281
817
603
51
664
55
817
507
506
657
530
893
387
316
757
389
241
424
664
262
341
741
333
448
671
952
936
490
743
732
776
819
867
402
528
439
610
254
495
834
101
829
426
147
411
110
796
208
697
95
262
282
186
836
845
853
620
488
134
436
288
809
404
484
595
612
781
621
330
169
833
711
249
539
157
526
153
84
712
979
595
145
837
899
664
953
872
541
725
912
488
297
110
734
751
993
205
886
850
55
336
945
289
991
928
704
971
357
482
707
234
679
405
765
742
541
930
598
49
377
551
954
799
435
83
977
568
735
291
411
575
125
708
968
866
208
189
282
815
160
132
399
926
446
93
402
178
912
485
897
499
264
953
499
374
41
382
384
267
747
760
100
313
669
758
254
387
492
122
420
89
962
504
734
936
279
865
735
231
446
819
227
841
582
462
173
749
614
251
322
842
506
676
868
613
140
76
478
83
802
769
340
784
223
161
327
761
349
183
974
922
714
580
328
568
578
357
686
63
435
966
200
107
316
963
114
875
362
982
193
99
321
601
338
474
309
396
344
714
347
314
100
764
731
752
49
347
512
666
379
232
161
210
630
839
682
558
805
772
621
55
810
568
139
677
93
512
286
705
332
148
654
960
808
248
524
875
273
117
540
168
664
948
582
638
753
762
755
252
56
792
179
788
964
760
329
947
311
625
249
391
830
308
215
49
490
724
680
376
109
786
586
467
996
474
829
141
92
331
887
475
654
752
337
839
93
832
944
881
609
330
56
751
443
426
981
309
900
591
835
199
117
787
66
218
670
219
71
364
682
486
419
515
210
657
655
152
82
144
179
774
438
809
985
805
537
608
227
105
711
872
238
160
902
206
268
785
163
730
995
619
285
516
354
79
697
409
548
560
203
175
436
759
515
348
443
242
626
212
957
115
322
498
390
832
352
954
74
892
314
475
990
64
237
195
176
975
480
204
854
568
736
497
911
377
894
701
95
166
349
118
562
398
124
713
353
898
671
778
813
674
811
188
291
514
416
351
584
967
501
138
726
51
76
229
886
318
850
329
364
832
255
40
709
984
127
317
356
296
935
692
520
544
809
565
662
468
403
487
81
549
160
703
153
347
582
118
631
643
133
303
493
895
301
412
60
485
271
715
295
828
877
41
841
239
667
953
735
727
842
696
214
676
302
943
812
762
688
365
426
834
89
547
274
246
871
170
405
448
451
937
417
450
624
635
499
735
244
117
182
496
668
100
438
562
519
856
281
673
163
540
844
189
184
306
340
731
677
137
787
671
781
254
540
397
267
307
940
639
891
677
161
982
914
40
595
154
908
75
350
45
309
960
106
509
729
338
112
926
521
379
745
158
307
494
865
637
726
95
164
689
916
967
512
691
105
899
706
436
185
118
76
973
361
743
162
69
297
489
761
304
185
717
294
317
737
304
159
667
868
629
300
399
897
671
839
305
711
321
134
114
96
724
358
403
763
80
64
880
324
396
832
722
47
150
737
173
616
538
494
433
321
309
645
663
847
383
302
348
788
643
513
91
205
252
936
350
122
843
417
367
256
243
119
392
279
966
784
528
802
180
742
777
542
84
453
286
294
570
82
853
974
534
60
785
293
91
421
633
452
785
890
219
782
926
914
104
145
475
122
75
245
855
566
819
577
620
329
509
427
599
448
512
362
453
903
468
392
740
861
347
972
724
459
987
865
305
215
837
135
359
305
916
698
460
328
252
586
795
347
288
874
74
574
428
979
697
981
896
923
803
543
53
201
776
716
779
501
964
656
702
307
281
43
91
351
81
351
693
101
291
862
379
500
900
776
76
778
920
416
718
583
721
943
277
276
85
646
198
782
366
144
287
976
361
470
221
66
259
155
631
740
497
57
728
148
893
318
293
519
738
287
944
948
434
868
393
55
561
330
181
641
812
51
393
265
544
526
842
504
611
673
45
266
196
672
496
881
225
411
216
235
757
333
745
762
333
471
998
461
453
514
998
910
310
55
123
71
567
94
751
418
43
801
882
736
879
692
212
966
710
256
71
243
569
744
190
856
417
277
361
107
945
442
707
694
322
147
438
828
890
292
51
675
627
917
353
935
80
437
625
198
507
42
123
69
589
677
919
109
301
649
182
383
265
141
750
298
419
268
674
561
197
118
161
835
324
728
552
876
120
181
173
190
676
732
954
270
389
180
347
777
376
339
155
305
501
326
398
834
366
950
373
101
619
245
873
166
928
42
191
128
101
40
98
106
222
700
356
825
463
276
284
574
647
814
811
761
607
635
950
743
134
929
848
135
573
443
233
608
526
46
482
834
655
112
609
559
298
748
65
448
792
159
80
341
385
998
669
983
99
766
157
815
851
602
290
669
996
394
781
390
450
837
405
220
132
887
934
813
318
107
743
256
677
268
768
903
672
135
876
117
146
65
75
250
523
312
608
162
72
178
98
165
409
307
375
358
481
731
765
519
175
527
681
392
823
388
595
331
99
87
341
970
133
531
254
386
330
158
91
838
260
396
901
350
298
401
837
242
205
526
632
618
103
630
614
476
713
489
597
142
985
323
957
672
810
53
533
931
964
908
202
856
469
341
508
761
99
531
736
313
766
409
466
184
546
158
871
671
236
366
322
312
900
254
604
798
258
899
574
891
977
388
383
168
388
144
261
287
731
574
691
936
932
354
411
962
462
557
309
539
209
457
665
786
288
134
675
227
497
433
641
87
986
137
114
260
727
722
169
979
504
341
939
194
970
319
403
333
972
972
804
954
898
170
49
558
614
764
523
878
585
650
823
146
465
730
920
67
750
560
281
77
106
624
619
873
442
196
870
45
967
242
346
334
77
903
543
363
347
42
923
922
515
257
335
519
773
129
106
835
545
626
966
763
547
868
133
310
323
827
428
630
364
52
450
210
538
506
125
172
580
802
789
73
238
811
613
69
137
374
760
585
237
983
692
753
179
837
687
61
755
103
576
752
862
738
243
693
355
995
838
273
558
630
893
285
607
556
293
913
580
690
711
348
521
252
140
957
690
579
608
757
292
786
888
77
695
563
860
51
372
661
582
707
755
367
987
811
741
347
638
771
95
165
151
855
190
302
939
271
722
657
151
995
434
369
795
615
594
726
204
276
184
807
642
857
55
748
730
681
876
687
241
76
419
570
203
279
633
534
621
424
434
751
748
460
903
742
526
340
911
123
653
358
467
566
629
69
393
320
378
137
830
109
785
745
809
567
681
498
90
959
327
450
745
953
304
323
122
365
156
622
836
663
719
617
716
120
979
868
374
40
905
601
276
481
687
823
144
990
641
971
202
71
786
477
127
637
81
174
606
314
921
576
930
202
544
460
485
419
494
377
624
99
170
835
675
588
989
686
245
53
823
224
48
970
977
335
963
570
471
331
973
468
212
607
900
285
136
827
954
106
360
177
738
838
199
453
347
859
174
970
590
333
828
375
351
70
627
261
528
724
733
44
255
973
645
719
982
185
481
751
159
513
783
853
671
678
331
564
915
841
641
953
596
256
362
237
851
469
355
214
533
207
374
698
199
761
145
508
306
74
208
657
650
666
878
45
884
771
144
842
836
482
826
865
931
576
277
620
694
978
948
477
520
539
713
183
426
283
777
163
372
778
819
845
971
376
763
416
143
464
669
320
906
992
937
970
265
597
100
847
719
392
258
306
836
60
83
560
941
834
518
199
177
461
384
766
539
188
46
289
567
505
477
287
366
969
770
989
589
527
418
115
256
671
897
463
210
100
664
765
49
297
173
502
661
156
510
710
246
196
994
864
512
340
975
495
118
320
939
369
620
95
278
950
529
587
319
284
427
429
505
129
489
429
849
451
724
386
837
808
723
260
255
295
882
898
893
454
96
235
652
223
779
253
656
216
310
344
877
90
948
835
308
631
459
461
694
308
590
232
239
298
94
426
881
176
622
132
186
774
473
187
563
786
542
147
599
975
710
835
297
510
912
580
662
851
314
602
175
174
619
205
41
266
386
507
208
730
77
700
170
53
334
344
926
467
919
208
433
76
700
184
946
909
327
85
317
871
518
500
462
69
663
862
743
615
680
136
65
96
941
841
572
417
111
593
939
891
52
984
685
836
151
940
434
333
214
956
586
938
388
197
121
506
905
508
765
289
646
718
940
118
61
200
985
773
659
56
345
147
318
265
94
290
108
994
492
773
988
196
960
411
721
512
192
287
549
849
804
340
493
527
624
455
267
344
240
273
43
786
140
201
883
411
402
912
392
652
671
488
727
279
867
194
114
165
677
735
396
174
804
127
740
681
618
204
529
516
404
746
674
49
494
156
455
100
827
582
446
902
391
731
139
864
316
199
631
829
461
452
437
574
336
630
793
898
225
980
291
148
677
258
393
404
546
857
870
76
937
61
833
574
823
798
498
937
538
225
843
881
56
741
436
561
386
726
842
499
526
378
228
569
210
189
819
924
354
986
426
416
849
714
679
85
339
628
957
568
259
770
612
959
572
490
837
636
456
900
718
70
893
227
458
692
736
497
816
826
54
647
460
220
193
966
941
435
875
842
74
226
955
218
848
355
349
407
401
331
569
866
352
381
940
304
880
178
923
602
850
414
815
837
691
572
816
941
278
922
809
611
589
450
170
990
161
733
394
727
690
378
564
100
64
441
383
990
298
707
920
650
989
712
500
507
192
999
509
794
270
964
995
365
604
100
335
296
790
609
845
70
78
520
996
94
889
860
737
690
795
659
533
222
833
987
473
511
842
599
315
123
852
587
418
673
527
629
545
852
962
977
377
53
791
202
316
205
546
846
932
443
409
363
362
788
563
713
250
985
496
248
129
815
984
83
83
292
786
666
208
264
122
400
84
385
951
897
508
123
277
447
620
605
778
932
750
611
824
551
156
973
994
306
240
304
181
339
66
160
70
855
408
90
318
294
963
472
770
723
114
194
686
327
975
494
62
101
643
553
881
523
513
394
76
576
891
316
241
315
513
385
266
515
87
137
481
702
89
568
919
992
760
709
126
896
487
624
157
741
829
480
595
930
156
524
770
476
463
345
134
375
375
469
296
677
212
305
123
648
86
166
831
171
666
110
531
549
354
594
400
476
622
340
898
869
201
339
273
799
417
139
556
680
334
878
75
886
956
714
457
706
119
346
925
207
371
747
804
857
403
577
394
602
107
360
69
88
888
843
638
79
815
545
964
662
697
616
993
792
932
620
771
79
568
301
321
801
393
319
601
95
394
148
820
220
451
328
244
690
632
864
637
347
89
93
648
226
685
331
831
641
291
518
946
137
987
685
546
589
814
642
966
421
720
353
633
529
932
62
155
307
956
592
874
102
752
216
819
558
132
158
72
610
44
801
454
245
356
496
349
363
443
462
250
547
870
184
794
629
198
532
943
728
577
968
823
637
753
285
684
893
585
448
550
769
812
569
255
364
563
651
346
130
691
723
634
619
779
912
229
585
514
734
600
538
445
293
86
186
255
896
192
74
398
928
380
848
637
263
582
276
503
159
709
705
978
43
303
434
436
334
71
231
991
468
511
692
179
376
636
306
591
466
970
604
443
162
806
128
347
491
843
823
48
636
653
894
732
990
867
190
406
735
109
306
472
358
111
819
539
804
868
829
864
889
547
541
203
345
345
227
433
110
691
366
963
185
127
485
50
945
269
277
924
826
715
687
752
904
764
831
460
997
789
817
544
840
801
787
53
388
656
900
269
573
974
519
224
107
351
786
447
526
347
921
784
667
559
840
245
768
579
967
385
62
997
340
125
80
625
76
260
204
251
204
878
970
450
525
583
433
899
378
609
222
67
447
984
926
969
735
452
478
821
636
234
925
169
207
80
996
443
967
72
884
948
314
711
266
751
433
281
576
579
895
910
820
826
701
42
162
711
755
294
164
338
66
747
357
856
229
983
578
832
454
627
594
683
521
962
190
452
223
127
309
196
306
654
470
920
194
286
714
112
581
809
170
334
612
925
178
517
652
825
952
672
683
176
928
168
755
729
115
747
510
900
465
134
495
518
903
958
76
709
670
79
960
222
123
254
882
84
358
421
773
379
107
334
569
325
489
812
482
558
673
234
797
579
471
754
812
717
771
627
713
206
294
207
223
539
795
865
725
690
286
584
262
209
600
330
962
842
53
928
857
418
821
288
633
57
669
313
241
376
448
868
980
829
550
828
421
262
806
271
794
804
270
929
945
451
628
457
466
410
370
467
496
655
579
267
926
675
340
285
730
872
962
43
452
100
920
248
813
649
176
831
109
462
783
990
363
973
614
208
137
589
576
629
903
811
667
640
265
932
656
445
279
238
669
124
920
323
909
635
445
440
240
726
518
223
570
589
308
752
953
420
957
651
556
502
802
391
331
310
468
660
761
637
789
83
530
478
703
790
472
684
764
655
386
436
427
61
904
642
953
220
81
968
671
238
284
942
502
504
715
329
123
413
853
415
167
821
844
334
248
520
411
924
587
333
716
895
234
448
46
282
242
374
796
718
48
650
389
898
252
669
700
171
768
794
479
710
700
436
443
340
267
268
569
764
633
968
527
581
137
612
534
492
781
133
613
198
121
699
241
820
543
950
853
276
191
96
348
300
483
471
785
815
45
643
970
710
942
879
744
612
872
905
171
435
956
53
63
686
902
760
56
414
875
588
135
499
184
523
671
745
626
634
867
923
388
569
261
298
127
734
419
998
978
215
340
989
105
177
413
999
373
922
125
314
732
843
128
126
645
984
406
641
493
761
188
112
704
588
972
191
925
179
632
268
414
95
120
187
102
228
62
358
90
409
685
487
852
195
541
743
511
753
531
878
468
303
370
968
705
480
870
837
244
366
124
860
718
392
211
497
566
598
964
610
307
587
874
469
193
82
726
744
351
539
690
114
669
224
619
791
538
645
436
933
466
375
803
986
223
662
459
220
835
954
714
655
582
65
64
782
355
885
443
860
182
893
143
850
63
434
220
152
70
671
787
324
666
40
295
397
280
538
654
350
400
660
725
499
937
325
152
399
835
360
735
132
868
630
974
681
375
994
388
271
438
268
124
502
366
614
770
346
400
778
273
859
886
62
150
865
79
739
743
933
307
949
296
119
419
260
575
777
425
608
715
667
194
173
920
459
104
302
372
820
249
537
663
895
344
105
616
116
679
220
180
381
579
987
824
712
736
951
316
464
357
834
431
355
282
521
435
398
795
569
673
826
670
347
155
459
506
601
338
814
310
536
122
640
352
899
112
734
624
81
412
466
961
148
777
740
311
648
724
365
605
512
211
641
774
503
95
891
670
951
390
464
191
292
954
386
771
512
632
714
895
415
567
118
347
694
326
476
563
809
416
643
703
545
283
834
498
500
540
444
135
160
547
201
350
488
974
448
721
713
866
761
882
694
252
558
307
994
609
241
545
508
957
694
442
824
57
527
665
87
948
691
908
656
229
701
987
82
380
488
981
783
491
679
392
142
645
341
302
998
868
62
128
501
939
474
696
286
694
799
410
857
797
565
106
672
319
499
308
955
482
676
287
723
426
110
360
989
434
992
429
753
812
112
267
832
784
273
447
377
461
933
724
404
922
770
89
527
196
585
247
349
206
447
640
725
853
821
848
813
941
456
257
439
382
622
606
67
628
356
128
726
396
542
181
711
588
223
454
313
303
495
160
179
769
700
546
186
198
280
857
971
537
260
718
486
131
221
627
488
551
142
140
786
619
998
837
420
90
831
359
811
320
145
47
619
239
675
647
269
298
814
295
641
774
665
91
86
220
218
664
673
466
773
636
713
850
625
959
231
320
444
371
715
193
575
822
523
743
929
88
775
129
974
158
704
356
674
320
414
797
872
928
882
672
141
152
932
46
344
92
168
430
143
128
92
963
853
443
494
336
463
115
900
105
973
493
350
450
496
772
581
574
573
601
176
302
277
152
80
629
559
643
979
900
268
671
778
632
395
909
225
378
68
62
831
852
570
312
107
475
215
391
529
246
459
948
609
328
874
43
530
424
849
689
493
389
831
397
874
533
846
838
522
235
839
505
369
90
867
267
940
442
184
322
76
480
609
391
784
463
832
592
268
444
368
733
596
99
959
810
554
301
232
310
89
733
411
669
136
671
953
411
252
569
996
552
547
938
613
392
900
61
687
337
936
894
894
671
971
119
669
363
845
660
485
252
875
196
209
83
925
889
131
149
567
563
833
758
709
598
478
105
71
637
129
435
268
748
427
66
731
147
212
636
674
104
265
201
458
854
974
895
652
443
361
824
884
231
276
916
291
908
378
272
952
592
40
103
545
83
398
152
723
135
536
97
664
451
64
52
363
680
175
981
281
879
426
740
627
508
798
351
414
264
736
107
744
897
151
602
573
861
125
479
979
555
112
404
622
830
726
536
920
715
812
731
363
112
672
80
40
266
162
561
674
362
281
413
572
569
692
49
328
221
156
616
352
874
719
633
811
340
535
128
188
652
663
427
132
270
235
344
269
740
978
727
779
245
673
957
307
57
680
668
829
816
825
956
530
765
741
253
724
455
419
801
910
426
622
880
302
517
203
869
475
111
383
774
237
676
658
483
395
121
393
234
795
365
758
176
991
300
79
473
852
113
840
969
79
603
252
397
61
553
639
894
888
645
581
49
242
514
211
842
227
115
144
296
53
703
121
392
863
826
661
515
220
792
219
64
303
618
731
487
87
854
942
873
933
865
273
834
888
434
409
540
905
512
542
854
885
470
870
621
604
526
573
662
318
166
994
293
753
912
473
487
514
237
448
772
609
554
636
311
490
535
326
562
748
237
694
461
975
325
263
755
792
423
998
353
243
76
74
395
317
707
109
587
958
764
217
205
827
144
809
970
388
659
227
480
194
407
339
900
340
334
972
48
628
903
937
436
924
276
687
843
390
539
891
81
540
542
476
523
966
122
530
285
774
424
60
191
90
136
279
169
597
448
183
619
51
449
541
553
670
656
573
348
662
438
301
207
590
304
689
118
182
549
884
345
107
90
948
63
388
666
625
585
441
607
164
819
530
837
191
765
242
916
161
962
248
79
835
453
732
211
660
76
603
987
936
377
117
239
540
396
991
624
335
170
815
484
182
330
127
186
763
766
94
629
579
660
324
275
801
492
549
500
795
746
636
68
877
408
157
53
129
398
862
462
522
83
210
443
792
596
560
254
478
510
536
785
928
724
426
800
888
224
530
550
48
232
980
936
512
64
427
385
821
562
199
309
196
345
910
928
254
301
480
830
181
580
661
899
319
313
759
498
872
522
963
978
610
591
390
865
85
976
150
948
389
465
850
943
288
326
334
969
67
835
237
985
221
597
404
933
807
450
135
741
807
795
869
784
898
164
726
995
689
112
80
188
598
212
853
891
148
639
743
230
494
735
302
328
416
597
449
208
991
996
416
497
65
842
661
390
107
928
732
555
239
908
147
675
648
572
674
953
846
724
877
860
724
42
623
259
422
497
875
232
777
76
355
162
453
488
432
477
711
770
834
200
304
847
296
694
850
799
204
215
304
665
459
704
704
984
187
509
754
820
502
444
940
581
183
624
519
348
868
67
553
679
342
236
474
955
399
437
571
821
910
152
58
338
575
227
920
562
554
841
635
714
539
115
616
133
343
444
106
556
756
966
444
544
608
851
565
100
327
337
235
866
923
984
572
976
955
172
745
56
256
490
559
517
451
434
519
404
86
456
153
405
150
962
929
593
676
357
498
658
103
375
67
578
136
668
130
980
247
182
408
984
768
335
499
350
66
861
450
788
344
175
112
213
773
960
558
723
809
839
738
924
245
956
389
48
993
435
903
318
287
128
305
717
588
904
367
150
992
794
894
62
534
955
147
690
788
869
930
134
688
478
72
127
219
208
558
405
393
701
524
776
809
701
752
535
678
180
710
449
376
245
401
974
965
972
816
751
580
256
499
378
352
605
782
564
858
509
979
290
710
241
883
868
603
778
107
60
770
698
300
65
272
535
714
64
801
272
926
385
259
529
149
749
825
608
715
787
707
541
919
46
894
255
425
847
970
689
653
885
746
694
80
110
808
247
101
728
289
658
600
423
340
671
521
845
811
622
694
817
808
509
486
982
124
892
167
157
76
560
181
676
546
971
738
577
78
732
815
694
362
656
918
483
684
164
799
749
304
870
149
349
44
88
911
974
766
697
188
282
391
341
353
810
775
684
264
821
935
988
688
544
570
287
756
185
923
71
179
737
259
402
83
907
368
44
841
990
47
648
68
477
652
329
288
299
975
261
180
783
868
336
716
244
532
497
867
238
291
703
563
196
209
556
896
947
302
414
813
911
569
306
240
866
647
624
878
978
45
63
983
980
52
769
809
288
785
694
970
540
267
540
549
521
840
79
452
55
356
200
798
612
431
145
77
824
281
68
483
335
244
306
790
256
465
248
405
133
693
865
278
874
656
309
585
965
452
738
969
739
193
543
473
337
262
844
957
940
499
389
623
148
278
612
502
577
514
77
814
154
883
420
863
244
866
633
140
981
189
507
764
890
504
773
316
574
418
979
931
259
705
989
609
952
286
137
582
298
265
153
295
511
628
334
229
917
344
192
186
208
660
814
137
823
969
286
453
958
982
803
86
255
412
227
553
905
683
397
723
352
781
711
315
852
478
974
467
718
957
581
749
130
166
110
62
275
696
909
392
749
871
133
402
407
722
930
282
287
120
819
510
806
425
251
238
750
234
640
281
814
107
315
227
146
139
214
351
749
398
517
113
970
688
189
751
368
211
201
185
385
588
220
572
494
45
121
800
233
926
995
536
983
203
823
622
738
422
760
895
477
757
492
781
955
204
927
955
562
92
882
947
363
380
504
438
213
233
285
782
508
495
161
83
800
557
124
658
80
540
959
756
964
158
525
46
773
380
480
170
466
968
387
582
684
278
662
343
357
406
372
472
830
229
395
759
763
185
835
739
247
864
875
95
702
864
966
694
339
961
350
197
437
780
300
188
182
582
292
843
142
272
400
226
982
330
931
908
432
799
955
400
513
482
114
174
538
995
860
949
837
155
408
63
421
872
287
375
91
280
156
619
928
358
390
786
71
411
45
835
970
828
696
288
823
893
321
712
683
897
801
400
631
759
969
440
552
558
307
590
620
693
558
700
579
876
744
695
258
332
134
101
620
730
182
234
185
111
961
185
954
671
237
996
619
966
575
712
867
514
620
590
383
401
364
705
614
197
892
70
798
326
655
208
355
785
196
689
781
348
414
713
191
463
619
475
710
93
867
54
799
532
418
335
498
244
59
633
396
885
311
440
595
386
529
213
518
566
304
127
330
525
678
607
364
564
792
161
778
760
50
398
670
377
181
327
478
66
870
308
873
953
236
626
699
928
656
809
681
585
867
221
158
964
932
894
212
924
159
789
400
269
544
980
310
290
510
371
600
918
876
736
323
225
478
830
498
749
149
594
625
644
150
81
598
265
696
895
302
231
824
87
686
319
992
237
85
603
377
621
531
463
117
873
978
407
229
450
337
336
458
714
352
731
706
855
379
595
425
60
293
673
533
134
389
61
825
159
718
921
674
540
206
349
401
172
120
447
662
138
367
367
147
582
861
834
435
473
340
249
866
683
206
882
368
842
960
628
902
662
766
252
785
595
189
735
858
801
252
643
697
181
462
173
194
985
277
703
132
392
351
805
837
483
422
272
594
492
388
303
110
683
203
310
103
881
304
688
358
49
219
378
749
186
734
80
411
905
934
582
854
157
446
173
139
962
398
751
229
367
742
732
162
960
198
139
391
572
526
925
913
707
779
320
991
701
259
834
129
362
255
482
689
132
162
771
877
850
757
370
153
544
682
942
905
497
163
917
699
935
673
709
212
274
435
346
771
559
908
316
589
207
325
813
935
272
54
487
818
498
738
231
341
739
820
820
102
336
76
586
914
735
907
467
139
671
254
573
105
449
416
524
691
840
419
674
643
437
812
884
711
228
594
710
216
254
364
392
869
639
285
891
168
747
746
265
154
61
895
464
488
523
381
333
911
723
522
294
318
932
443
545
667
635
680
763
570
112
347
164
533
706
328
597
463
605
136
875
235
637
242
145
960
492
192
208
318
313
781
729
90
57
208
415
990
761
785
999
123
556
758
256
414
224
723
680
412
268
887
515
280
495
65
557
851
74
553
788
736
127
836
749
711
563
324
448
534
944
323
529
939
182
627
983
590
764
599
991
183
71
343
239
278
336
120
167
486
155
50
139
800
162
618
847
234
812
941
742
636
787
817
238
643
235
560
61
765
728
265
973
63
929
493
300
498
308
236
851
717
978
378
162
209
844
351
311
148
801
663
349
819
816
828
377
277
740
481
308
611
905
758
609
203
176
305
952
640
290
921
707
689
122
602
67
854
900
541
293
206
668
69
223
586
685
431
487
452
535
799
402
94
270
416
281
328
797
894
101
222
101
126
171
786
990
333
392
770
191
808
313
754
344
946
717
320
169
236
499
301
990
635
187
468
790
365
261
251
266
152
41
724
712
866
468
185
534
513
779
197
436
311
122
258
961
623
422
979
873
600
491
139
932
953
861
810
634
497
152
243
751
282
48
413
233
222
553
542
523
190
657
821
901
64
59
830
356
844
122
918
864
379
500
410
912
240
235
598
674
402
74
135
679
356
157
134
944
987
591
669
476
631
478
947
170
919
511
113
541
534
492
579
211
137
825
554
968
838
951
321
162
506
623
451
969
849
492
459
170
155
988
505
486
472
115
924
714
274
183
747
831
422
720
67
438
914
429
594
491
271
318
516
909
752
311
83
749
854
562
127
587
753
218
381
378
954
155
820
363
294
495
205
551
747
743
496
503
199
730
68
259
653
49
777
259
409
170
82
168
697
899
597
139
198
230
699
81
74
627
926
263
610
302
864
192
358
401
915
696
317
703
812
728
682
887
498
877
369
704
89
239
763
148
333
598
130
661
286
367
173
827
856
595
373
957
536
300
207
129
278
396
874
410
682
370
511
892
81
450
924
728
425
443
669
119
233
259
658
876
989
405
287
843
887
317
203
467
449
841
210
921
230
930
633
634
181
779
519
750
377
773
143
908
362
779
128
510
216
897
892
722
359
976
761
233
328
656
555
363
867
76
76
639
723
444
636
73
153
426
908
372
228
308
745
243
883
933
119
102
867
905
748
110
95
627
622
584
101
698
245
205
89
956
91
222
882
544
58
50
984
338
858
734
418
462
365
811
865
773
803
427
572
644
145
715
834
538
887
435
547
203
925
997
657
273
752
739
770
430
445
508
628
267
568
238
580
491
439
315
44
942
771
969
197
542
460
735
862
649
390
884
872
702
946
105
229
975
301
387
183
111
239
990
209
191
620
728
757
386
977
230
324
635
606
879
781
622
616
468
896
377
511
688
288
344
165
625
634
259
438
769
157
944
697
892
915
768
420
137
912
109
261
277
429
541
71
114
276
388
683
85
816
611
926
351
350
785
650
370
737
877
161
930
541
287
146
132
266
832
297
436
967
241
476
428
883
452
700
999
219
995
158
443
412
124
365
166
479
191
615
584
711
457
118
517
557
497
602
81
78
43
296
654
338
396
813
68
282
970
875
340
656
849
469
416
566
789
548
225
847
915
379
647
308
387
297
867
969
295
948
749
208
392
230
290
840
298
215
462
640
944
457
634
570
236
334
679
200
193
54
362
946
714
609
757
773
717
387
959
915
951
577
260
669
61
172
990
320
176
756
377
84
110
680
308
415
693
778
270
567
514
291
564
525
813
822
221
59
873
293
894
347
805
142
958
429
904
87
814
500
600
324
949
924
485
273
683
998
612
371
835
264
687
54
384
153
348
506
698
552
774
215
638
672
200
182
323
553
662
487
995
129
899
171
350
311
742
307
599
758
352
715
800
766
318
138
466
371
458
756
241
167
251
94
505
501
396
521
270
950
407
886
335
118
479
53
941
503
976
331
793
801
754
377
105
356
105
524
520
368
554
567
754
814
484
365
354
364
313
825
642
885
228
741
54
382
307
332
137
768
669
362
549
947
813
56
572
642
990
437
278
791
998
174
479
613
552
218
414
139
159
433
152
932
867
728
891
480
121
548
291
476
67
165
189
349
435
859
826
155
666
599
846
95
845
936
345
73
651
802
584
996
177
514
950
446
70
583
913
254
680
788
655
486
216
602
921
250
574
756
42
149
796
263
332
868
743
471
793
140
819
407
136
496
619
839
91
731
890
742
620
170
306
258
503
96
987
577
61
894
494
876
77
914
168
595
45
884
720
696
817
203
447
961
202
509
173
848
603
401
605
995
150
69
84
196
927
180
233
732
789
395
646
944
43
412
423
761
577
727
256
723
842
419
134
119
520
115
495
600
712
219
196
336
897
834
731
450
992
692
420
643
234
90
867
443
395
335
385
939
604
306
76
222
554
84
816
206
836
855
66
709
69
875
504
756
261
304
214
541
925
297
883
211
181
601
576
821
640
947
889
796
53
248
65
131
645
379
323
277
991
873
91
454
992
416
252
922
47
838
911
630
621
992
738
231
738
190
120
748
495
161
237
357
905
700
586
688
130
827
176
590
236
242
521
720
755
213
546
809
395
296
387
963
312
790
737
90
409
476
410
157
750
209
543
959
810
731
952
194
897
151
236
206
172
144
174
921
120
111
945
545
207
465
245
991
930
167
253
187
360
412
256
331
238
385
594
784
626
654
708
588
562
712
617
81
483
272
440
995
521
641
543
824
743
74
973
730
289
80
786
266
775
68
970
773
436
282
84
575
541
987
855
645
439
813
92
266
821
316
653
833
555
681
635
218
144
818
842
360
226
948
444
700
51
300
317
787
888
141
813
708
63
62
227
812
200
564
314
904
555
514
351
598
151
897
169
639
861
373
535
892
945
283
598
675
963
281
343
328
737
425
807
309
407
398
839
369
611
457
888
977
842
280
404
318
48
309
232
932
701
367
254
241
771
584
577
728
431
147
714
895
684
81
212
777
384
191
894
956
966
524
447
552
372
309
183
833
988
859
208
286
888
84
368
636
210
418
725
709
396
469
834
677
801
464
311
171
916
756
927
353
855
66
417
78
795
74
657
539
144
348
85
312
716
746
42
774
179
874
86
437
920
679
131
819
259
867
715
587
736
290
316
531
786
231
719
673
501
997
361
598
431
425
839
611
304
59
102
765
48
934
453
211
293
441
508
100
54
400
699
697
826
262
892
94
841
51
313
468
225
120
883
348
62
963
332
944
292
766
155
385
961
196
745
829
358
707
484
55
112
844
463
579
477
228
205
47
366
745
977
502
195
96
188
751
159
49
473
676
934
877
64
165
966
572
170
282
989
925
400
964
973
307
357
874
698
924
408
473
143
802
294
699
688
54
270
812
68
755
532
708
279
235
310
430
908
948
589
634
338
576
369
735
588
331
45
262
300
151
516
215
221
992
271
86
685
425
867
343
800
603
308
543
390
278
275
272
95
860
848
723
546
835
198
979
514
443
288
787
164
357
914
919
719
974
766
997
597
333
455
383
62
374
857
992
738
274
942
621
659
855
270
221
675
607
322
672
591
297
69
632
76
399
568
415
111
738
833
917
664
385
622
860
866
742
891
669
224
136
699
51
510
603
487
333
280
630
156
682
785
758
331
844
399
520
971
890
812
907
791
461
608
200
128
721
562
299
503
574
423
690
232
694
964
480
414
450
716
916
953
160
609
517
739
898
745
514
756
406
794
584
297
374
182
909
890
469
775
714
335
578
739
102
328
71
85
741
153
987
882
167
742
71
77
526
229
495
208
883
407
776
126
239
187
664
620
102
427
793
215
586
432
611
718
294
231
296
542
338
155
492
119
282
731
116
884
548
988
541
924
894
944
734
480
875
339
818
556
725
737
222
780
576
512
647
960
631
420
436
763
935
561
746
465
87
352
252
998
162
868
247
487
98
758
744
238
220
933
464
666
458
473
617
464
419
185
722
126
801
783
851
148
96
913
521
935
808
783
850
115
822
225
482
666
85
228
277
540
325
637
408
747
931
937
416
620
196
605
889
698
234
425
915
652
921
787
893
146
515
385
231
579
177
414
402
843
641
751
59
434
157
85
505
561
44
503
138
689
70
741
607
536
835
124
249
416
721
542
460
885
799
467
64
944
774
969
633
61
436
696
525
468
196
54
211
102
340
975
747
571
605
464
431
326
320
748
713
185
840
218
538
486
87
514
328
715
947
961
773
596
912
149
291
692
137
51
260
336
92
330
857
583
610
149
355
421
517
625
834
289
146
332
408
834
828
942
600
979
414
612
407
655
78
355
238
941
200
567
177
43
754
938
930
445
364
872
769
857
537
788
995
951
387
614
321
322
822
173
518
248
813
767
781
201
815
639
588
467
542
273
780
113
561
77
516
897
770
406
152
246
197
168
83
364
901
268
488
905
121
810
231
658
799
466
61
464
286
664
330
633
616
846
875
803
98
89
104
454
905
697
832
289
634
442
678
85
322
383
302
489
640
697
511
898
76
724
180
137
239
400
914
790
727
405
68
417
335
634
117
417
127
244
651
283
125
784
513
379
709
791
272
916
854
541
822
902
839
151
740
200
613
771
788
157
583
132
276
628
615
843
440
907
46
348
711
235
515
372
515
180
897
681
693
335
645
900
72
933
58
408
390
807
987
952
612
391
937
547
169
491
848
216
129
836
613
529
846
833
146
588
762
865
972
745
385
771
888
960
659
400
396
502
194
706
797
210
871
206
753
630
915
807
671
126
564
141
821
886
111
666
630
708
544
545
807
50
236
431
557
477
455
991
263
447
342
342
353
882
266
389
898
884
749
61
142
692
977
771
166
548
571
523
760
253
277
413
417
527
572
936
341
381
969
306
390
280
368
159
936
224
655
899
86
507
440
747
556
904
777
422
444
565
759
331
640
125
731
832
508
267
769
277
671
479
513
257
579
369
271
296
790
385
494
354
543
129
619
626
230
851
896
353
772
887
671
947
754
264
157
908
781
898
122
574
735
622
928
944
229
424
163
705
241
847
827
940
163
263
619
706
194
535
754
267
967
445
191
704
494
998
883
226
466
882
141
903
147
796
272
759
128
672
176
581
142
116
188
339
413
52
40
972
889
504
367
876
586
491
642
460
853
125
494
259
363
817
741
690
713
526
261
84
283
784
311
264
201
868
145
534
381
659
395
720
267
521
807
688
417
848
41
749
587
727
835
786
737
633
430
336
691
258
788
308
298
289
820
486
905
320
321
935
755
669
718
834
758
543
474
104
306
568
561
591
728
820
557
976
699
882
266
984
684
132
217
693
417
703
618
212
655
63
210
370
808
658
196
577
553
473
317
222
425
955
883
172
390
856
451
519
460
149
167
756
947
432
536
393
722
678
525
120
967
143
103
571
990
770
957
662
231
282
992
788
772
457
307
457
805
254
211
410
166
831
666
198
755
635
348
541
209
578
195
269
168
520
732
146
987
152
471
423
609
201
60
363
337
600
771
434
132
558
519
995
344
423
280
587
692
893
900
853
671
968
506
251
791
673
582
633
416
793
695
236
800
575
438
227
117
988
596
236
521
642
148
873
682
586
905
765
762
264
491
200
935
740
692
60
795
799
503
961
182
730
670
880
987
511
208
591
429
787
437
612
404
490
967
806
395
558
985
193
253
303
215
408
417
643
390
50
543
990
682
691
170
376
327
396
378
182
539
198
648
104
664
372
397
675
339
473
966
420
688
509
838
346
342
334
723
281
819
511
622
185
51
969
720
146
204
585
181
887
291
294
811
385
49
65
292
535
951
186
733
737
626
175
929
538
804
281
832
252
61
95
871
766
217
922
159
283
739
240
583
723
766
973
966
486
680
199
108
707
564
272
491
817
970
789
209
956
440
788
767
613
986
854
636
354
614
311
162
118
417
418
377
680
345
988
491
397
871
718
353
245
786
994
484
718
772
963
144
158
142
937
265
111
169
335
313
207
459
120
177
734
730
784
805
837
631
247
509
404
671
772
876
789
48
633
304
879
481
805
96
930
441
428
856
935
597
660
119
628
56
589
419
634
202
970
951
450
316
250
209
612
369
962
591
132
912
274
620
180
708
639
880
426
623
514
665
557
214
221
703
400
404
773
105
189
862
441
362
199
119
95
270
475
482
209
709
964
981
470
556
802
563
646
276
707
187
120
783
218
365
140
847
167
273
752
125
427
100
862
185
299
380
451
860
744
319
572
775
516
510
532
928
269
178
104
315
914
148
511
163
156
365
141
139
554
613
92
551
378
981
867
41
900
752
456
667
956
659
117
173
647
685
908
789
151
790
363
358
641
457
953
121
832
874
674
152
896
165
111
871
517
429
685
193
559
541
678
231
939
488
366
428
274
379
138
632
595
986
551
728
195
286
122
855
561
600
227
697
260
426
979
850
263
927
243
612
320
703
729
655
427
411
233
886
635
835
465
613
72
199
255
718
539
782
576
838
962
499
493
357
302
698
567
473
665
769
204
134
906
308
792
461
998
46
910
644
698
715
775
322
908
144
780
471
106
484
174
89
688
418
712
355
317
939
662
732
483
287
385
981
599
754
181
809
788
871
586
221
800
50
553
973
693
455
583
102
595
274
682
67
538
890
161
759
339
328
665
333
979
400
142
279
281
145
970
592
959
220
694
197
374
484
435
155
882
529
272
770
293
260
209
996
301
117
580
489
307
84
598
185
801
880
273
104
467
995
728
685
538
632
661
519
340
720
236
530
957
141
459
804
274
603
637
960
147
761
128
466
156
319
813
82
223
476
464
118
727
130
298
568
552
431
904
243
999
754
149
975
818
552
526
554
662
553
361
469
87
311
536
129
326
312
55
600
149
731
980
861
917
688
724
983
759
490
254
985
850
636
676
529
856
114
810
641
758
67
599
821
869
186
165
95
533
328
757
424
662
593
88
747
241
871
614
680
155
170
430
411
773
930
153
672
829
256
596
155
211
367
589
462
363
476
120
511
212
769
638
715
319
579
561
93
333
125
220
332
496
512
887
839
795
610
825
870
851
681
464
939
699
280
561
503
612
939
207
583
267
273
601
425
268
705
781
438
541
324
446
973
324
299
386
550
381
250
719
868
692
741
891
322
317
880
926
285
447
934
477
712
850
471
708
506
423
377
243
299
908
321
43
616
697
459
546
409
377
382
567
484
640
874
562
352
460
862
52
106
518
174
385
767
845
360
504
919
596
348
617
644
241
105
40
556
338
647
508
850
721
56
688
935
154
245
64
264
242
168
992
135
776
950
302
912
428
841
388
364
479
770
469
533
793
546
112
404
82
850
410
501
533
81
266
903
661
490
487
253
120
190
643
864
247
950
943
975
373
783
513
647
79
465
697
760
799
481
426
683
678
468
337
517
440
519
895
447
682
681
676
84
444
739
172
590
940
142
772
861
145
630
992
976
956
810
513
766
896
179
859
504
747
190
181
427
879
193
533
317
123
656
830
917
389
999
672
198
983
861
399
475
76
521
96
409
860
174
267
669
72
968
179
757
983
605
322
241
351
958
601
722
669
565
239
548
747
782
866
576
64
572
617
735
250
919
844
839
177
312
224
994
431
651
935
322
349
344
468
730
335
414
176
779
860
227
60
708
131
996
341
339
678
363
105
111
963
468
135
511
920
225
468
830
985
969
494
597
260
998
523
639
108
967
531
446
200
776
281
197
835
237
353
182
69
499
682
55
575
480
322
929
736
644
215
684
797
351
703
472
63
428
537
830
212
596
375
282
681
552
350
602
862
931
563
549
762
400
461
257
496
636
314
757
731
678
823
661
151
416
761
867
780
563
72
493
530
110
462
882
942
513
945
828
855
960
298
426
553
758
952
816
957
495
502
308
234
120
914
333
526
928
367
205
555
92
224
359
356
765
349
307
530
941
551
460
86
672
719
516
142
322
433
924
359
267
902
333
303
664
46
805
361
481
333
860
465
643
807
886
563
836
587
655
901
133
326
206
722
402
603
560
484
629
772
668
704
931
782
458
515
207
281
715
330
402
830
680
201
122
316
455
681
170
490
53
542
827
625
799
821
338
105
830
741
223
301
519
937
435
840
631
438
814
194
241
892
238
655
992
321
203
458
148
135
549
699
943
554
873
336
252
754
934
989
630
444
409
503
230
755
477
301
773
600
528
42
188
684
51
812
981
237
224
813
673
975
211
54
638
922
84
187
800
320
974
938
572
969
402
803
386
399
170
963
890
781
911
116
724
74
643
354
88
636
255
674
564
886
930
202
984
491
162
667
167
511
750
549
444
890
78
362
110
548
529
773
646
516
508
353
682
951
460
46
591
412
133
845
397
474
942
130
722
874
841
551
55
431
827
238
355
589
478
494
436
587
930
658
411
509
531
312
493
139
799
556
185
699
161
684
113
568
50
914
55
353
286
744
848
838
802
467
573
343
744
207
194
949
763
551
962
265
828
317
672
184
133
398
261
800
390
726
53
178
460
309
290
459
585
784
251
252
408
107
882
536
695
688
344
352
430
215
119
879
232
974
466
651
320
958
918
163
326
674
746
519
661
82
204
113
985
118
143
41
339
841
677
196
222
191
147
618
426
819
93
953
308
630
421
880
799
542
545
137
488
572
254
147
734
846
136
861
367
992
369
886
968
301
794
695
668
169
48
602
862
135
799
227
794
342
315
191
165
175
441
619
555
487
430
578
381
450
901
601
768
477
714
292
111
966
934
812
873
288
638
773
390
851
193
240
930
693
911
972
304
629
726
735
659
477
768
290
496
506
910
529
973
296
386
564
125
837
109
761
856
144
286
911
652
542
364
144
547
702
457
547
517
429
514
966
845
220
295
388
81
635
831
957
477
216
713
197
437
302
527
393
492
215
997
599
628
629
915
828
611
605
366
564
119
823
535
969
659
296
95
838
486
201
944
289
159
613
649
831
222
184
355
809
578
974
784
906
664
943
849
441
720
385
899
262
102
376
316
859
208
175
175
176
215
113
973
921
522
971
286
208
790
455
83
444
535
688
66
295
622
444
292
873
291
313
212
950
725
762
735
152
987
433
990
663
677
164
805
850
350
664
891
954
95
601
870
192
445
431
772
553
987
849
621
673
509
161
813
676
97
531
977
49
583
923
956
905
368
884
74
498
470
186
142
457
561
335
485
279
953
541
593
186
364
994
797
413
779
724
681
107
467
964
101
182
346
166
331
174
609
931
939
58
485
270
704
419
822
995
460
755
339
312
499
693
697
681
279
67
68
809
519
744
823
412
796
700
618
82
85
837
797
545
154
220
982
824
542
849
508
206
132
92
746
919
316
840
172
832
454
633
836
705
88
408
957
956
931
560
434
819
135
112
860
758
518
391
835
829
576
56
274
520
88
568
632
99
536
997
968
926
701
237
60
324
439
236
91
245
786
631
240
796
513
947
701
407
118
437
359
185
394
783
758
909
689
942
836
132
759
780
695
341
220
157
105
619
863
979
702
860
379
801
123
217
735
85
660
370
40
478
881
367
383
106
88
787
201
239
514
973
245
865
309
70
695
753
402
143
296
883
733
597
528
305
477
850
681
287
895
946
186
617
87
696
354
493
315
264
930
320
665
506
855
713
641
752
973
278
460
524
121
748
549
773
218
803
294
127
790
342
520
740
596
311
992
803
237
274
165
157
706
865
890
599
926
180
875
989
93
507
97
819
691
400
690
357
720
573
838
368
625
393
889
952
262
143
416
766
946
146
384
83
961
503
161
55
835
618
55
488
290
382
183
223
646
578
920
42
627
944
63
639
810
173
353
507
699
335
976
145
382
142
885
245
592
482
614
212
623
324
492
626
718
820
44
845
531
487
85
976
72
849
242
276
500
75
523
285
621
365
634
633
61
205
46
70
399
695
705
882
706
728
932
249
372
647
924
329
867
900
187
910
118
872
125
331
680
605
844
161
715
570
272
975
609
511
137
751
374
155
378
343
473
969
190
949
787
554
886
669
156
803
682
253
402
437
652
217
998
428
43
871
812
883
314
815
968
301
930
150
110
852
933
923
939
294
950
857
652
287
168
924
966
441
200
406
954
896
367
759
547
958
808
476
704
107
858
161
422
641
691
94
572
104
435
297
599
857
947
940
610
180
297
938
805
498
690
885
522
375
436
719
59
926
235
262
551
515
916
670
258
289
398
203
75
897
531
702
111
212
419
894
651
877
622
534
139
730
518
705
647
504
387
111
746
622
417
743
387
986
563
775
964
828
962
707
654
183
42
756
262
740
733
685
332
103
870
547
780
465
245
178
730
988
979
217
945
816
184
466
461
618
152
543
509
936
497
980
665
296
162
739
476
160
622
673
420
892
567
976
772
394
241
548
581
576
120
56
401
601
237
182
778
398
731
156
276
737
909
758
549
575
265
815
247
491
531
544
734
513
673
410
859
709
374
767
315
182
375
904
477
414
208
980
486
287
49
529
635
781
975
775
56
217
270
825
772
475
929
630
511
124
151
213
583
814
640
89
886
571
113
423
614
887
815
50
855
982
437
962
478
194
140
267
732
376
941
399
949
108
681
116
665
485
427
723
444
675
609
52
560
334
73
721
564
303
806
87
457
663
942
383
477
498
561
620
724
871
813
277
683
794
953
90
100
333
321
754
835
110
323
45
510
855
930
655
218
506
71
792
192
756
501
134
883
704
564
201
363
166
414
286
97
770
747
388
438
94
240
182
571
654
703
275
487
389
258
293
252
950
996
578
255
54
892
871
225
310
480
861
903
670
541
970
351
817
646
563
810
104
168
359
509
647
139
976
355
109
892
176
578
221
90
512
576
50
688
979
356
414
498
830
118
988
751
504
43
243
477
852
969
980
567
654
881
665
863
800
362
48
281
779
896
576
652
362
765
403
826
505
446
875
435
805
838
263
240
585
585
98
297
108
702
957
177
474
534
908
715
870
92
963
257
931
299
126
440
422
325
706
152
177
743
73
134
203
576
671
151
202
551
804
935
493
830
815
59
593
566
538
526
817
923
295
166
687
370
722
669
890
147
288
326
706
212
323
132
344
997
778
396
298
936
98
343
373
183
550
435
298
854
617
504
321
737
74
612
717
521
755
292
106
686
246
856
407
323
813
334
550
170
892
514
562
507
647
279
600
700
245
434
858
120
827
391
539
121
140
137
638
131
641
883
235
683
90
383
647
871
521
846
809
669
714
56
194
777
354
389
742
675
129
807
825
384
291
906
605
987
364
621
813
663
751
475
592
914
372
72
461
424
987
810
172
939
99
891
259
915
716
540
249
374
797
817
258
372
762
175
850
577
796
805
937
368
203
469
974
218
216
958
231
731
291
749
414
985
731
712
394
472
682
843
147
64
795
769
866
552
323
372
346
380
109
895
843
511
147
773
607
568
334
134
351
543
782
445
171
654
292
367
75
953
970
181
810
581
692
74
718
309
144
899
119
561
934
536
685
201
139
240
340
794
473
971
178
592
673
125
661
610
266
882
110
344
608
98
902
452
586
767
991
282
97
971
792
68
52
125
858
619
323
984
829
514
694
485
374
307
513
487
386
670
460
209
243
68
59
968
320
830
788
354
840
274
134
746
243
231
49
243
289
589
343
480
891
129
783
115
626
529
992
785
235
942
181
605
381
565
661
210
957
443
258
703
972
967
471
447
349
526
635
116
908
573
650
499
327
988
282
832
494
919
44
292
752
665
489
247
506
431
244
675
636
851
480
377
448
727
859
572
193
450
623
271
888
144
931
987
359
869
189
118
92
601
776
542
741
429
588
966
366
569
226
556
132
858
320
210
300
496
347
227
551
697
808
700
516
736
859
640
884
580
651
901
488
737
945
682
505
46
674
604
887
218
297
268
967
297
469
304
63
979
845
390
850
973
553
576
546
877
820
314
813
69
770
607
426
335
197
139
559
976
658
70
449
957
825
566
277
85
313
949
859
420
463
699
228
647
946
523
444
905
824
596
42
773
459
458
654
287
625
148
62
824
495
505
60
793
409
600
837
221
517
73
152
104
171
914
129
48
654
166
398
577
986
985
427
413
596
212
376
390
724
43
853
478
819
296
843
601
424
503
192
684
922
832
690
577
933
395
342
324
985
752
823
200
590
337
360
975
374
995
932
521
956
626
660
355
831
767
982
519
954
341
987
429
56
835
858
197
62
836
289
577
491
510
769
473
950
504
984
802
720
409
161
581
497
195
971
70
429
639
889
713
207
693
259
704
252
794
130
723
432
242
79
300
465
601
249
232
374
196
559
630
400
312
266
741
831
220
288
474
255
560
965
975
102
676
235
601
650
668
823
240
761
617
498
621
173
803
498
445
481
792
385
596
753
676
895
546
187
521
365
73
339
198
376
651
597
996
287
228
282
408
568
673
157
221
865
263
829
596
626
380
651
758
217
413
444
979
910
47
439
185
133
459
551
186
961
293
168
783
48
487
419
681
985
213
533
849
442
860
55
609
222
269
747
388
107
367
844
244
609
975
776
300
145
395
311
116
90
335
455
320
982
421
264
674
632
267
517
533
880
855
241
553
686
747
980
845
836
343
82
311
183
326
134
662
718
778
721
731
752
828
706
56
542
423
820
228
802
692
497
314
943
998
259
99
91
999
307
791
901
726
126
759
924
57
43
675
560
407
958
855
645
532
339
971
378
485
815
924
192
775
302
506
662
326
869
837
728
52
425
607
772
891
358
207
136
582
106
655
996
364
845
388
816
619
772
95
358
514
41
923
427
527
271
342
235
877
194
87
586
763
165
102
230
626
333
681
411
956
164
512
464
42
722
497
986
921
655
750
801
656
191
309
724
186
287
263
245
67
499
941
668
985
969
292
823
160
153
357
823
974
675
137
841
570
782
429
787
183
124
500
709
961
344
722
169
582
56
626
589
877
359
889
682
711
541
689
666
652
953
703
595
229
730
902
506
151
452
529
86
98
356
477
315
755
220
124
677
549
860
683
318
710
229
633
560
484
815
583
347
568
256
430
300
304
572
917
499
612
972
430
523
54
307
811
750
922
974
569
449
505
676
286
788
720
945
217
871
687
566
451
726
945
210
918
643
226
146
564
981
937
317
204
822
855
143
667
815
719
614
242
92
580
117
134
546
414
800
483
199
381
725
72
673
106
472
914
285
150
399
490
125
164
332
91
190
727
202
630
997
775
159
115
162
774
270
441
109
736
553
242
745
56
824
626
730
728
184
267
852
938
991
355
724
549
214
163
878
554
936
185
732
660
413
299
939
807
167
374
347
76
63
389
325
794
162
658
837
556
780
958
913
653
507
355
311
313
528
915
172
43
460
125
905
839
58
781
507
316
711
237
370
459
994
255
115
576
73
169
309
519
460
774
705
78
960
310
101
833
607
882
288
358
821
866
888
929
377
757
343
583
714
767
599
512
646
478
143
220
892
195
279
669
627
872
947
467
132
154
565
939
79
452
915
158
828
307
150
595
292
480
164
289
73
475
219
336
661
228
179
574
749
745
217
79
703
641
146
534
367
778
926
634
973
859
649
531
614
337
262
77
477
289
644
875
519
82
468
510
240
343
216
852
542
387
460
778
952
78
633
881
729
700
541
111
945
249
939
533
761
924
966
974
844
769
407
308
634
805
318
557
681
96
513
496
552
638
878
272
744
764
826
182
491
618
535
836
148
173
905
625
329
473
504
299
852
731
340
536
957
46
87
751
620
518
798
454
311
735
279
115
394
76
370
594
977
161
231
439
581
798
955
409
316
44
408
927
99
616
907
695
450
814
822
982
873
518
120
480
959
84
876
827
508
611
493
48
62
392
566
190
799
554
889
592
714
509
927
626
264
968
390
50
554
62
837
756
361
413
127
464
744
388
843
971
493
160
67
48
694
937
523
404
858
393
921
850
529
192
527
188
795
943
957
204
622
554
823
289
443
694
384
849
812
251
251
513
170
88
890
549
288
586
709
57
246
384
795
636
918
364
100
717
998
576
613
425
162
492
106
198
441
841
792
224
537
296
408
948
211
276
715
881
556
954
656
793
105
520
420
149
775
766
662
801
268
630
298
247
69
105
151
134
342
419
209
942
125
759
479
668
650
820
802
950
574
517
584
199
199
497
758
762
975
858
162
630
659
899
207
551
126
206
913
575
321
318
76
142
564
747
962
669
538
430
568
260
332
901
880
377
851
991
635
517
661
147
237
758
488
175
427
258
107
576
348
80
389
711
137
367
238
173
161
369
201
436
940
518
540
46
288
523
978
763
331
393
840
59
418
987
695
569
199
947
864
628
151
489
350
349
373
252
506
348
545
549
956
523
344
490
111
979
975
53
384
273
91
389
167
859
666
442
77
848
519
376
222
698
275
513
367
625
859
270
371
764
325
535
430
206
245
513
803
916
832
407
620
810
640
474
605
922
758
207
957
982
735
186
283
365
915
545
64
695
247
337
871
375
76
682
419
406
750
772
881
335
106
914
360
162
163
334
153
443
935
867
68
730
995
124
631
720
84
632
955
99
754
720
403
280
331
953
275
781
839
452
586
916
812
394
953
188
78
909
527
457
566
433
359
475
731
561
705
653
953
398
836
40
428
143
110
452
515
993
514
627
294
170
972
156
296
799
316
671
510
716
457
874
666
464
205
985
70
361
922
153
806
153
157
763
617
538
539
247
711
589
42
312
62
838
578
389
261
678
653
392
177
569
937
686
314
322
761
292
535
837
915
869
724
810
684
838
212
591
841
881
562
401
805
553
372
450
611
764
466
619
211
356
763
201
324
228
186
400
552
607
718
148
594
776
136
583
235
723
494
712
656
135
410
202
438
218
791
931
51
586
216
130
685
198
167
595
930
497
566
599
54
824
474
347
457
773
498
419
210
401
653
581
781
609
417
962
693
912
46
106
988
88
443
963
806
687
955
570
819
968
975
349
133
580
273
393
157
855
791
417
887
492
773
206
544
275
910
136
79
480
873
888
735
673
152
133
951
667
764
346
262
59
98
120
164
850
979
931
380
500
346
325
509
535
524
680
856
789
47
567
557
581
628
307
262
600
126
552
174
527
482
235
987
895
149
399
172
109
718
126
732
736
663
537
704
117
514
534
890
973
535
660
659
485
125
222
440
581
520
443
711
633
732
50
169
514
227
431
883
555
547
471
890
494
160
498
94
334
864
489
496
257
544
544
695
341
332
621
368
181
975
557
360
207
73
299
78
209
580
850
640
163
575
907
572
156
458
711
986
421
411
933
244
711
368
473
404
941
312
189
653
445
866
133
167
675
943
612
903
326
205
179
660
111
572
685
240
901
421
214
883
328
263
244
137
724
449
690
106
327
828
241
231
57
238
549
263
290
797
433
749
754
721
228
429
869
331
894
415
901
530
231
473
592
768
602
888
725
887
122
975
924
494
957
544
81
520
908
720
719
796
799
126
852
812
175
172
604
416
412
571
828
448
276
127
706
104
541
351
333
176
769
205
62
594
479
670
703
711
364
559
508
202
890
920
148
461
268
902
198
534
437
824
199
182
246
463
300
675
408
712
845
161
44
837
888
720
918
661
412
737
459
435
959
720
385
716
485
165
638
92
681
629
992
565
985
133
659
449
352
767
671
342
881
886
902
211
917
796
176
645
310
924
156
47
78
584
379
649
868
337
937
458
848
367
552
400
604
622
483
348
378
152
533
743
754
869
512
660
46
357
799
698
382
987
215
97
332
595
407
96
923
328
178
756
550
605
59
727
580
855
301
285
711
577
264
368
601
852
125
230
687
677
235
443
124
298
955
283
611
472
291
478
814
157
133
152
550
368
135
603
323
410
941
731
946
549
414
662
770
350
55
862
706
555
769
626
624
954
267
965
503
471
504
548
139
506
689
890
931
832
185
230
101
444
868
92
242
712
80
368
489
777
361
703
493
785
805
328
735
944
471
681
488
944
515
965
199
427
676
218
436
744
706
474
652
81
369
559
751
921
163
214
558
920
40
593
809
494
697
344
748
348
156
498
407
340
602
975
934
795
706
476
942
317
539
906
771
109
96
985
815
869
194
438
787
200
473
151
906
991
219
453
814
787
112
157
907
549
277
149
786
595
822
471
790
672
361
756
152
817
562
152
165
521
223
272
176
659
572
322
515
87
710
334
52
148
949
62
610
704
990
166
847
974
355
318
717
161
257
688
166
536
387
851
76
733
727
567
169
620
338
63
771
669
880
427
69
378
901
358
674
997
387
152
728
115
90
150
555
187
297
761
444
335
150
649
435
521
306
727
389
188
221
827
342
376
217
831
483
149
675
86
379
768
345
390
742
51
56
991
568
540
436
711
477
470
272
949
801
269
539
935
676
643
683
654
552
707
500
621
596
613
952
549
197
805
345
747
833
520
240
874
196
985
784
641
906
523
516
626
776
679
348
328
763
742
87
735
90
894
168
442
586
743
882
121
768
600
414
888
255
260
987
975
888
667
275
195
808
139
877
102
495
248
212
99
101
376
503
542
901
444
498
605
824
362
783
517
233
856
186
420
212
852
398
465
333
131
157
290
180
575
281
306
532
601
866
54
329
196
64
243
956
943
147
962
560
230
702
605
514
164
381
443
468
934
255
158
312
292
42
488
658
645
959
467
124
617
609
192
483
673
112
953
368
626
499
921
920
814
78
596
319
631
552
774
900
884
738
761
888
45
205
814
630
64
280
352
516
911
981
75
720
821
913
831
823
51
812
88
460
848
970
280
168
895
63
996
478
574
203
411
781
463
257
856
843
817
381
232
154
387
330
202
642
100
54
425
370
748
395
475
156
178
399
803
369
767
74
901
240
410
332
102
997
657
860
708
85
772
636
756
87
979
728
826
163
215
48
553
741
853
48
940
432
348
570
855
388
567
924
322
164
180
100
968
577
177
519
548
300
154
660
657
251
383
958
58
921
473
539
290
507
301
194
645
129
391
296
959
589
155
290
929
909
855
136
895
947
59
664
833
733
69
335
859
873
41
565
111
732
281
520
507
287
952
713
388
646
387
849
56
948
831
987
147
417
807
847
825
991
813
313
833
512
451
962
630
548
95
805
593
542
413
340
374
112
918
811
379
661
95
763
399
94
330
853
942
96
396
132
597
131
704
962
46
481
697
153
372
128
154
578
646
572
849
80
759
286
727
857
999
990
202
157
658
909
658
308
699
899
493
698
884
512
798
647
327
364
133
817
458
730
468
199
241
586
764
898
567
512
942
759
51
758
405
80
237
455
800
680
441
800
313
616
157
502
85
186
847
109
747
224
997
585
797
157
85
680
854
555
523
865
374
868
289
533
856
884
570
274
355
170
41
949
982
145
357
60
999
932
103
933
437
599
130
574
668
646
417
358
125
482
856
875
839
107
73
66
963
966
591
479
437
73
482
290
275
693
84
328
343
592
254
243
165
549
466
901
600
885
950
107
978
428
349
721
821
804
986
942
573
416
496
456
776
437
481
881
871
422
335
643
726
913
359
720
61
902
424
64
350
883
82
674
230
894
346
139
543
896
473
634
148
367
634
947
368
428
763
171
737
216
471
745
634
716
935
710
521
179
349
629
103
418
310
326
42
950
927
215
686
931
79
254
933
564
647
579
452
404
639
331
215
512
916
564
53
262
911
635
963
803
487
51
218
617
500
201
648
730
490
68
364
850
868
46
217
88
318
193
157
770
283
751
97
213
847
691
499
134
590
670
478
363
682
694
528
236
119
715
61
886
211
402
432
194
535
590
40
812
882
904
826
588
902
399
761
136
685
682
110
430
99
898
872
578
734
476
235
540
805
231
334
650
619
878
80
597
479
872
724
996
54
230
56
320
858
672
78
279
718
336
74
695
463
829
275
456
292
870
261
155
827
485
228
170
427
693
227
682
986
71
163
517
399
685
883
799
510
289
389
886
451
858
700
790
376
473
879
908
932
272
434
703
988
424
767
706
722
371
757
67
762
54
248
740
680
291
378
654
635
374
889
757
236
318
165
575
873
483
830
554
973
520
476
693
908
226
570
76
861
646
883
322
446
491
706
865
598
301
444
737
193
338
659
741
739
470
211
135
869
655
722
388
210
892
409
511
872
389
218
137
782
687
570
691
778
476
384
459
859
957
163
537
92
823
432
592
156
457
168
378
258
408
588
955
169
285
253
40
464
842
571
715
690
871
551
757
64
127
590
292
560
60
66
776
253
599
765
816
774
571
964
508
454
780
764
901
151
598
754
182
936
714
133
343
215
716
689
351
741
557
156
632
46
91
638
179
901
312
605
160
711
623
496
588
240
358
112
318
420
672
894
119
993
853
249
665
117
185
809
900
103
534
313
528
910
156
614
894
397
739
146
484
562
736
703
91
816
419
194
481
393
288
48
103
610
43
810
371
991
464
267
764
527
251
716
70
971
252
171
936
421
992
519
341
829
180
897
435
308
865
905
427
868
997
178
245
973
94
117
556
339
75
929
265
206
206
104
671
199
968
206
772
930
674
717
961
812
83
713
423
386
146
724
780
371
561
535
329
903
978
521
109
432
40
633
878
298
528
917
696
242
463
561
543
112
187
49
706
164
402
268
817
125
606
308
445
180
417
724
898
743
273
663
61
672
326
941
203
408
637
503
966
713
850
576
428
287
438
801
989
581
611
149
409
494
594
616
859
240
515
610
364
579
81
93
377
447
131
887
806
473
268
980
477
420
613
652
809
918
251
240
82
784
356
642
344
148
328
540
782
446
764
361
150
741
779
100
867
239
175
779
696
464
92
368
802
73
214
774
148
376
351
183
270
981
645
405
982
751
985
360
291
617
846
851
552
745
206
885
853
381
185
60
719
460
65
382
499
400
415
396
790
572
216
409
744
488
804
945
125
44
516
863
638
685
647
751
662
931
769
67
684
723
560
303
835
365
354
202
226
371
926
543
763
187
629
485
782
655
864
112
289
986
268
48
522
927
633
201
354
74
83
683
682
160
111
513
861
683
432
445
622
889
232
722
624
862
284
376
228
359
748
632
648
380
528
249
230
660
783
919
867
209
97
43
747
396
264
701
882
43
800
507
204
464
43
341
348
824
462
357
596
313
373
722
343
279
280
926
493
494
571
923
538
139
774
607
49
726
573
576
110
801
346
784
269
251
833
967
227
217
821
589
753
959
868
489
170
715
422
563
427
784
907
243
661
589
821
139
845
547
590
382
656
518
147
499
375
709
131
254
950
708
720
362
635
667
278
865
143
470
990
256
773
203
998
672
285
489
498
472
926
617
712
998
561
464
810
210
992
549
585
525
525
608
88
875
116
915
256
246
188
588
505
127
366
782
508
926
40
489
230
155
447
199
943
494
471
796
625
577
82
750
753
634
378
566
639
900
73
600
664
705
669
448
254
311
904
592
334
436
396
986
932
576
612
332
812
162
547
237
489
463
905
780
83
306
887
966
635
177
257
709
864
539
624
169
612
300
292
779
151
303
777
841
530
800
833
203
160
969
891
111
996
607
907
464
924
216
522
994
422
192
197
92
499
656
929
923
202
415
77
711
186
758
398
481
432
718
660
391
235
192
797
343
199
512
827
147
758
759
421
408
614
463
193
310
367
137
514
488
352
790
522
672
358
521
484
714
467
786
422
760
613
577
152
903
473
346
513
843
204
148
491
361
178
432
84
356
560
916
73
803
567
191
750
255
985
526
203
268
131
160
376
402
361
908
225
470
538
590
619
745
143
337
900
255
801
714
671
441
149
113
647
631
160
353
428
120
432
745
54
215
693
962
443
589
262
158
294
89
750
961
411
488
846
59
504
560
146
844
161
651
449
188
296
933
848
866
922
648
167
686
308
117
321
286
869
410
96
792
58
263
330
554
652
78
961
238
745
160
912
877
198
371
650
348
844
445
472
171
694
846
953
920
654
706
409
707
176
854
622
126
881
557
488
736
623
105
922
274
843
527
618
783
658
867
765
276
72
58
340
638
786
176
256
987
639
956
786
893
346
92
697
206
233
402
852
540
110
406
410
756
539
67
777
590
177
130
45
300
355
850
671
930
492
567
564
440
391
663
831
552
808
741
786
305
664
712
794
907
308
272
757
895
464
798
481
215
411
265
454
423
801
256
220
112
424
485
192
471
334
505
387
311
716
696
139
352
810
260
309
647
711
611
384
591
627
635
151
813
640
816
483
275
133
311
584
492
706
952
213
178
902
961
135
410
77
816
253
224
385
182
604
542
467
511
575
752
181
548
257
339
262
62
59
508
995
401
260
706
339
828
357
677
376
200
979
845
759
568
376
47
745
550
46
708
495
458
237
359
604
155
142
291
389
388
469
906
651
855
754
191
47
452
610
646
167
658
410
821
556
951
408
627
814
412
133
944
756
467
786
481
311
685
135
608
960
195
872
323
536
961
461
48
538
144
183
386
268
551
447
230
139
386
245
569
305
536
147
234
335
784
781
137
231
888
621
370
331
132
880
698
367
282
459
879
402
804
286
143
684
484
358
317
480
464
629
46
423
55
424
347
398
153
872
238
457
115
100
884
123
304
63
300
342
140
788
769
565
333
435
413
268
338
767
738
512
173
818
273
851
302
714
942
44
335
175
580
508
441
908
172
690
615
438
206
887
915
122
997
142
61
77
993
723
580
539
986
637
562
701
94
480
774
458
385
548
869
238
47
888
49
113
959
910
362
643
257
373
307
161
938
692
891
938
449
515
833
670
693
515
520
518
645
402
824
880
683
856
901
561
703
387
671
581
499
72
912
597
643
193
928
769
656
414
133
932
57
475
480
714
779
610
463
235
950
48
669
382
856
54
635
732
477
181
773
171
677
123
341
725
292
749
120
216
474
339
845
228
178
398
128
370
494
221
156
177
451
669
557
784
524
779
460
250
603
244
595
206
49
479
199
42
306
724
573
404
961
261
717
457
715
377
42
708
434
898
752
605
168
840
540
622
896
753
805
85
747
655
117
775
387
106
844
146
986
869
992
304
691
863
662
742
848
580
290
114
598
620
651
430
635
43
228
430
46
171
920
739
723
862
99
650
858
538
770
76
433
722
937
605
356
644
933
745
307
848
783
722
897
593
696
683
982
798
940
993
478
646
632
560
305
88
537
372
640
630
504
455
379
263
454
491
683
712
52
548
845
528
288
291
179
342
844
486
419
85
876
649
835
71
148
561
347
156
225
906
564
514
663
707
423
687
328
691
509
565
162
464
327
489
529
600
974
421
570
712
84
268
197
869
411
451
509
665
628
930
809
130
757
211
472
495
449
176
949
203
824
814
775
183
823
788
431
602
912
250
170
356
727
138
65
308
542
869
538
937
422
679
448
764
406
882
432
210
709
287
99
62
509
386
489
297
935
616
393
547
81
899
472
587
176
698
962
120
244
813
769
223
727
728
174
758
559
948
978
424
750
922
361
963
478
914
682
398
534
250
503
142
904
892
374
283
750
173
51
649
774
936
781
960
465
563
73
933
342
346
810
923
365
97
862
770
937
411
977
786
458
490
557
366
46
683
182
926
90
870
402
473
243
282
472
539
460
528
921
66
751
505
613
512
103
394
503
390
43
930
855
200
678
82
226
177
378
120
104
157
98
40
940
484
722
575
535
156
66
219
973
490
46
207
116
108
100
257
261
125
273
286
707
647
996
73
876
440
980
711
358
196
599
612
177
73
392
540
252
160
83
259
974
619
487
213
418
410
687
353
690
262
134
681
770
101
392
775
564
321
145
372
579
711
840
245
86
491
569
469
587
711
105
377
100
155
643
253
324
719
256
251
629
350
390
48
617
514
837
239
126
733
863
162
202
894
49
515
950
49
599
702
299
241
667
378
701
118
897
703
329
437
943
695
550
207
154
468
442
738
81
169
783
561
212
402
115
187
435
178
762
105
808
709
849
914
821
871
401
731
450
82
935
757
846
852
535
246
329
933
161
922
250
644
445
354
685
757
518
188
775
255
136
219
960
634
623
208
625
161
460
295
821
359
101
914
189
521
811
385
323
454
358
386
143
143
199
893
474
154
656
381
656
259
420
79
919
422
772
143
103
949
885
589
828
881
148
937
519
892
689
810
347
514
635
304
294
253
242
810
953
484
469
757
159
727
681
804
506
286
763
131
598
859
148
230
54
226
389
696
339
922
457
258
832
741
936
297
472
254
896
262
730
971
346
57
502
806
627
66
558
360
894
480
445
470
469
756
506
926
853
710
402
314
759
80
679
99
119
289
99
458
421
845
43
605
837
377
62
980
787
607
868
816
93
728
164
283
952
593
997
728
128
729
535
318
895
903
748
715
245
899
952
299
653
872
244
357
614
86
596
326
775
172
406
139
484
92
405
605
930
333
860
372
141
447
282
970
686
414
942
298
304
507
663
319
680
557
659
59
217
366
920
918
262
472
498
138
88
919
406
707
765
692
61
914
171
53
810
77
746
954
642
673
299
128
781
486
776
409
157
487
804
723
271
212
446
733
957
241
203
865
782
389
510
414
944
78
530
788
717
956
58
490
61
330
871
839
827
276
734
758
410
583
261
356
215
159
212
260
505
452
567
793
956
628
497
236
904
59
290
589
974
470
227
254
64
217
848
885
818
810
999
918
41
765
478
712
94
841
879
76
295
902
149
451
47
315
626
245
307
420
266
221
420
947
633
815
363
135
381
629
539
602
862
311
326
250
899
610
337
925
887
981
363
995
627
551
665
753
135
313
760
287
805
432
200
207
713
125
370
209
168
808
952
551
803
937
207
73
209
296
333
987
509
363
712
940
756
113
241
867
849
193
570
904
427
273
151
269
391
299
925
124
342
827
844
278
93
58
250
557
995
111
303
249
158
220
255
133
500
722
997
622
250
80
91
108
997
99
324
980
509
494
258
553
318
324
71
535
972
508
746
242
920
777
204
198
638
707
902
865
445
771
135
973
986
326
348
998
988
789
43
468
159
435
96
384
169
551
537
736
854
986
353
730
582
752
893
652
710
275
146
460
597
195
301
570
182
965
845
971
86
741
145
104
152
815
166
859
916
582
826
430
898
264
169
706
543
326
950
190
825
817
703
193
616
394
303
948
460
404
962
364
426
412
620
102
732
427
170
592
137
325
984
484
556
667
487
836
795
468
354
366
483
923
798
862
261
906
440
357
583
101
419
986
553
144
732
517
729
892
602
514
71
616
586
361
672
551
731
637
87
215
639
646
333
460
711
389
141
178
909
809
970
346
716
808
563
186
464
97
854
632
237
998
501
918
715
535
389
679
650
114
61
802
860
408
86
872
906
835
586
874
413
424
761
531
493
120
786
503
533
705
558
258
853
601
305
969
70
904
389
504
498
744
596
779
862
168
570
937
787
546
397
877
347
197
376
811
883
648
395
634
823
108
717
729
203
596
599
927
562
466
541
505
192
783
655
972
960
45
658
950
423
805
831
877
827
655
214
431
584
783
885
633
92
342
719
275
725
576
131
540
716
97
798
60
699
601
376
698
730
785
461
195
380
849
971
361
690
857
910
702
857
877
378
700
840
75
944
583
561
291
791
232
312
586
271
235
483
907
575
488
978
415
758
167
713
862
855
480
898
242
475
396
908
963
909
123
166
535
121
447
256
430
129
145
67
918
167
495
84
996
847
56
366
411
484
589
105
677
530
333
905
671
692
963
717
176
127
125
120
586
568
636
776
320
681
556
50
515
299
496
429
864
590
665
867
289
958
390
933
61
754
782
551
392
763
829
778
400
702
968
855
330
444
735
667
720
864
697
185
958
915
522
382
548
269
580
283
228
511
721
995
48
379
765
898
428
107
79
744
382
318
103
208
438
680
616
776
500
905
280
845
589
85
308
185
339
60
821
950
981
991
464
292
61
122
656
157
697
832
992
789
507
776
354
388
257
252
393
537
277
253
130
424
332
531
511
169
344
372
50
114
325
272
100
418
659
909
308
772
343
520
694
639
541
104
740
308
445
369
356
323
203
512
766
68
73
625
571
99
423
295
857
695
714
78
905
438
156
281
280
768
846
650
516
624
124
439
563
295
270
425
434
558
135
567
357
838
571
94
798
232
900
325
320
337
854
974
563
239
472
601
226
699
349
941
300
311
396
942
67
962
169
504
469
384
868
851
519
64
601
890
156
146
361
608
672
762
788
583
282
77
463
441
217
207
515
228
644
537
102
41
928
418
675
598
791
559
307
928
624
869
168
177
199
201
453
216
976
941
637
407
364
974
348
383
947
100
644
244
317
819
669
936
418
549
513
131
229
658
123
307
235
132
767
282
649
164
68
457
712
745
875
850
509
64
993
351
120
562
591
656
522
119
173
988
928
118
531
415
367
827
745
705
57
267
177
633
553
83
682
358
122
485
660
998
442
467
392
774
871
872
996
304
363
523
476
773
336
608
268
689
176
815
530
309
787
326
804
801
808
81
561
615
221
313
563
480
988
689
949
411
484
473
903
707
889
553
419
979
53
648
980
50
825
587
207
287
143
711
875
976
542
728
830
306
368
751
95
102
175
77
284
493
710
660
399
555
312
156
52
126
579
507
200
282
375
516
258
726
136
133
622
496
575
52
562
539
277
690
762
963
581
273
752
919
791
394
438
209
954
841
224
228
682
702
713
860
576
985
449
902
881
680
843
577
687
237
197
706
509
170
957
96
817
952
812
205
649
314
268
893
104
385
640
101
736
419
887
659
833
689
604
438
282
474
852
511
249
855
137
93
631
691
823
150
550
284
71
605
707
127
84
873
447
658
754
300
207
893
442
562
506
566
898
341
610
881
972
841
450
679
285
687
138
445
624
675
610
623
644
222
942
486
783
874
204
568
464
596
397
411
220
392
348
138
401
90
876
210
841
151
879
397
965
242
266
724
815
219
988
54
583
216
970
781
832
997
422
695
750
169
462
99
880
301
504
317
909
304
209
422
63
577
247
667
995
814
131
823
610
253
392
63
615
512
237
60
663
121
102
270
655
546
813
685
939
924
742
515
730
906
919
840
716
677
431
831
242
755
572
456
632
358
861
522
842
458
510
245
810
610
612
614
714
883
776
485
67
475
453
718
250
229
532
851
409
42
166
176
549
664
731
239
956
695
934
879
288
844
109
726
659
789
244
506
610
803
79
287
925
740
448
763
450
256
907
135
129
432
858
377
381
986
121
101
685
848
912
58
680
835
711
167
174
631
224
273
191
554
572
313
525
777
118
471
232
823
285
52
833
128
293
708
291
57
138
915
565
668
103
469
772
326
980
666
530
295
823
639
421
654
702
507
725
714
232
241
172
567
771
304
429
138
581
605
675
959
425
980
378
439
307
61
299
340
794
136
732
789
194
266
131
202
667
219
51
482
997
487
462
404
226
503
898
357
272
965
939
854
219
593
320
397
107
506
873
703
373
115
500
170
43
350
681
377
845
735
340
982
444
270
936
216
518
698
663
952
908
838
582
456
452
167
446
243
386
782
142
163
356
818
982
686
342
291
542
901
418
216
95
190
524
366
458
841
346
469
483
564
47
465
254
878
70
565
960
557
295
198
595
100
448
611
720
293
160
790
978
979
370
289
656
344
864
980
331
446
169
902
756
664
937
984
993
694
421
922
845
711
311
322
329
910
465
531
440
529
168
641
51
763
252
533
359
126
335
829
113
540
905
472
911
324
452
167
604
104
665
718
257
668
92
827
843
547
763
887
422
110
274
494
751
705
836
359
90
276
797
245
228
711
299
522
701
885
808
753
729
579
961
394
287
768
853
894
145
869
270
616
351
718
783
876
942
471
444
859
735
530
657
417
624
540
742
840
53
382
105
997
919
40
970
632
508
790
769
318
587
861
376
270
231
217
939
239
782
935
452
916
119
450
446
950
506
885
435
414
353
693
76
179
882
847
894
586
452
173
123
448
849
728
869
53
300
413
521
121
155
724
420
953
540
294
189
497
815
965
721
449
81
968
459
632
134
579
339
429
564
787
809
778
176
734
356
120
795
150
996
876
225
861
191
41
243
616
752
473
205
937
308
752
361
388
832
246
638
676
958
360
142
634
592
64
277
546
856
216
124
850
263
437
586
918
939
514
403
689
628
803
295
86
137
701
401
715
560
669
97
396
428
268
89
116
182
78
414
617
406
336
405
705
287
737
297
226
549
817
190
461
580
705
473
774
929
822
842
254
756
932
834
735
650
351
273
761
528
176
371
53
982
404
967
186
897
526
839
807
449
711
897
512
347
557
968
204
382
670
960
468
498
382
85
937
498
947
514
994
333
258
565
634
648
548
154
986
863
246
638
635
418
89
489
373
106
883
837
464
607
505
717
735
299
211
197
927
463
297
964
776
892
850
880
615
726
998
121
508
750
519
612
667
957
398
826
126
100
92
481
796
971
177
999
847
55
499
480
111
404
444
236
541
998
301
134
529
150
513
295
185
291
182
292
559
557
234
919
430
741
168
919
941
377
104
920
455
106
816
233
174
610
269
845
933
920
141
809
414
666
854
570
519
464
660
138
990
52
709
124
788
183
187
795
377
125
322
224
710
929
978
150
830
254
781
263
715
819
662
462
656
334
941
986
225
908
806
406
618
569
882
333
40
235
950
285
623
858
618
400
104
925
189
169
617
647
548
211
991
756
760
81
852
101
93
975
844
881
719
273
478
413
978
736
740
229
132
892
332
538
640
172
545
631
518
153
674
739
106
526
427
173
961
661
845
606
373
250
226
853
611
90
280
320
763
591
973
499
682
557
856
829
90
906
942
943
695
463
464
78
166
601
75
820
435
390
568
63
758
821
716
121
436
288
584
857
463
574
664
80
403
195
319
715
507
506
687
940
391
469
536
887
267
315
206
219
311
608
615
131
409
732
865
589
294
65
459
397
828
155
333
633
218
714
252
648
183
644
372
726
882
960
789
553
592
593
777
383
879
453
621
317
711
491
702
720
405
555
444
477
774
403
144
659
54
410
192
779
300
625
563
773
426
70
737
147
612
271
48
170
732
600
221
162
951
364
867
136
859
211
926
998
394
690
992
269
660
665
392
103
343
308
898
882
375
634
209
845
474
652
53
709
354
757
697
876
447
745
517
899
961
940
823
132
113
464
178
91
934
144
957
469
785
86
315
190
581
312
669
327
164
343
708
724
54
631
767
201
545
67
788
557
946
912
781
706
712
711
784
872
139
211
768
864
312
378
539
986
119
607
690
500
559
504
374
904
713
624
882
355
54
879
579
836
662
551
79
653
472
115
884
130
413
74
858
93
798
359
757
383
750
374
218
601
450
624
497
639
888
218
842
41
622
701
633
126
375
383
251
882
450
333
480
513
957
557
967
968
940
967
347
440
346
956
538
441
383
928
280
748
899
280
371
932
880
896
141
589
700
51
485
701
683
724
939
66
930
533
416
717
931
432
105
493
725
667
146
925
387
195
227
68
228
917
986
62
848
812
375
639
575
858
273
243
107
102
299
835
134
89
137
442
256
523
353
388
625
674
715
135
649
61
300
291
105
994
967
505
155
367
694
456
877
127
240
63
869
754
656
141
125
835
247
316
640
337
584
652
328
227
861
86
922
408
151
988
458
616
79
281
731
780
523
475
638
894
79
763
801
395
737
736
817
55
183
667
841
933
212
542
77
422
717
186
559
956
965
987
885
691
225
771
686
816
641
612
594
695
460
597
123
481
491
788
171
831
726
189
498
309
95
586
999
451
299
416
212
496
553
518
382
896
569
73
903
285
961
710
231
649
635
48
883
651
659
241
877
445
189
58
669
773
903
279
41
63
110
419
822
117
124
61
225
244
919
676
169
954
373
477
967
274
991
299
303
615
187
563
263
752
398
613
532
822
91
497
515
641
251
606
348
795
824
292
919
208
141
225
868
654
830
706
447
191
361
83
376
422
166
472
883
393
106
592
826
350
222
107
598
53
533
196
960
355
69
381
755
529
744
273
577
585
946
666
954
396
575
980
192
753
207
696
908
303
146
500
660
263
236
481
711
567
999
190
829
944
877
989
296
723
332
669
949
582
620
400
475
162
127
447
780
560
226
279
212
801
860
888
526
886
891
730
666
98
610
175
367
335
317
204
949
615
333
172
431
382
847
506
377
555
854
896
733
221
625
618
420
339
721
910
890
660
898
957
437
948
670
350
698
879
448
921
100
669
470
161
298
881
332
887
959
762
517
228
813
698
747
721
92
275
175
109
955
62
169
764
224
629
319
750
231
896
201
909
949
415
947
677
875
893
189
599
978
210
914
734
435
551
619
667
973
991
154
929
166
897
924
541
768
184
636
146
945
250
895
99
617
510
247
682
762
326
671
415
514
909
328
110
703
205
402
991
337
730
702
421
931
317
291
842
231
706
562
283
309
928
67
524
988
620
534
536
933
867
746
764
482
358
681
120
825
316
800
332
556
594
348
106
980
967
790
660
995
190
353
890
590
425
749
52
805
247
63
866
736
560
377
901
972
677
879
555
120
525
378
269
635
920
397
370
734
235
330
93
881
493
671
781
65
832
735
780
660
647
402
150
414
422
622
971
885
369
212
407
489
668
930
762
290
380
358
234
434
770
484
921
709
246
723
565
94
537
941
621
906
541
162
928
112
789
939
820
807
961
666
103
216
953
52
626
453
370
702
80
848
461
666
779
980
270
423
168
886
994
321
759
627
951
57
334
579
107
824
231
100
675
448
56
103
606
742
441
108
276
488
597
297
433
584
167
157
628
993
983
155
64
760
494
775
357
998
556
709
340
670
738
228
625
515
751
138
293
993
728
333
166
577
298
244
632
836
495
347
522
758
341
188
275
271
105
224
293
931
624
592
896
201
743
232
786
912
94
732
262
984
832
116
434
626
97
195
622
627
276
97
699
831
175
547
981
988
717
290
844
913
928
607
661
660
137
388
839
926
939
54
445
334
552
379
509
374
565
418
298
982
227
140
761
165
630
331
271
570
794
421
174
991
237
657
353
727
957
40
323
185
51
624
85
366
404
600
408
648
596
687
442
648
525
166
706
466
528
329
981
596
257
225
808
588
605
149
742
73
362
434
69
986
379
147
359
468
354
854
898
512
393
795
504
249
463
827
678
354
175
504
146
116
917
187
244
365
697
261
686
274
385
136
293
997
156
591
916
394
321
902
644
729
63
676
784
55
884
650
824
868
621
550
177
265
222
641
272
555
875
726
304
982
598
404
695
682
802
122
706
99
468
662
317
261
630
949
390
379
615
819
595
701
221
434
533
588
688
450
152
425
945
918
133
836
248
830
758
413
923
97
420
636
157
432
995
847
320
897
494
501
748
125
256
823
894
511
519
520
997
767
938
142
773
717
975
253
111
657
316
219
515
702
836
348
926
226
134
423
249
668
994
703
299
258
823
982
978
167
977
665
150
329
937
209
636
57
726
859
892
88
53
708
474
344
525
769
461
853
601
750
896
596
990
562
981
443
144
455
60
181
565
628
762
856
598
244
57
457
689
116
59
889
579
951
290
233
290
688
312
573
779
397
486
644
272
865
213
941
616
960
401
856
634
137
966
507
424
857
345
811
304
928
804
398
63
376
597
841
810
200
672
831
515
301
780
604
316
286
190
793
772
529
948
265
475
553
533
722
602
891
283
251
809
886
634
415
263
653
707
344
662
225
675
679
510
966
385
756
395
576
68
221
465
608
498
368
827
322
487
765
146
527
590
715
349
500
682
727
226
700
445
129
712
691
482
749
991
710
43
830
576
280
719
506
182
112
876
889
526
409
769
956
188
410
961
233
565
461
263
358
250
682
797
493
45
325
394
901
923
720
875
595
559
48
147
167
991
801
136
166
647
614
307
937
747
577
663
96
955
505
143
321
70
980
82
916
606
209
814
486
93
522
502
177
961
444
874
393
738
195
108
801
608
423
206
537
46
731
736
465
299
466
690
968
626
233
295
909
803
978
244
419
531
817
320
128
923
809
62
764
353
278
242
374
413
547
66
247
235
218
282
134
272
753
963
158
302
219
286
168
803
738
165
392
612
294
540
499
422
409
724
179
601
749
224
411
115
353
541
852
685
337
967
913
348
47
570
695
572
980
922
212
885
993
797
97
420
637
332
159
829
879
280
391
107
774
895
733
278
498
213
193
150
435
343
718
111
507
354
70
155
759
807
580
67
116
359
273
242
207
537
483
604
936
233
433
854
363
133
208
440
86
343
894
781
800
570
367
717
639
71
240
184
721
471
919
278
527
739
832
450
132
659
472
306
210
770
521
57
55
374
520
146
413
705
535
932
451
481
42
952
958
581
576
617
268
92
716
87
746
352
439
792
370
337
833
374
706
237
830
265
659
704
52
583
701
641
300
499
164
722
391
150
40
182
49
653
340
746
998
63
993
838
82
765
225
229
901
227
363
514
144
452
788
179
504
896
245
442
199
479
136
481
69
72
624
684
994
366
579
322
987
833
63
101
205
559
545
918
131
565
744
937
896
458
960
855
303
893
951
486
780
919
963
748
624
527
358
398
313
511
453
398
504
565
304
523
881
84
775
160
649
700
587
696
147
707
803
246
60
280
983
327
981
579
839
256
50
308
682
587
367
108
819
638
547
887
49
277
426
73
870
923
683
780
455
662
629
382
714
519
466
549
184
905
812
726
141
972
220
717
40
975
417
478
208
72
406
754
317
195
803
589
114
120
698
192
72
910
662
581
745
589
591
307
616
806
129
100
52
112
740
846
183
573
555
760
499
942
387
192
183
401
200
910
675
133
153
429
682
503
76
443
938
813
595
753
269
236
841
831
419
164
691
654
479
114
230
179
675
617
682
624
151
653
73
535
91
294
95
606
193
410
731
435
74
424
169
645
589
420
790
954
502
854
323
879
207
759
303
839
952
525
529
427
433
610
817
895
536
730
714
499
387
755
810
251
321
115
859
777
531
83
997
217
864
733
215
913
600
661
83
801
815
633
292
54
283
889
401
695
139
49
65
148
167
872
675
376
336
178
220
967
484
849
696
571
898
748
861
226
159
124
498
748
302
686
95
541
974
722
846
511
210
656
757
682
675
149
297
833
162
832
547
811
334
152
619
406
163
45
572
823
567
142
486
74
122
579
455
919
849
521
855
504
311
687
972
329
713
716
343
201
845
849
593
239
316
148
205
671
597
438
707
919
715
429
525
738
931
893
627
638
747
200
164
697
748
717
703
665
300
940
957
727
731
415
951
464
201
295
985
821
105
54
240
514
362
866
388
990
967
794
875
983
465
425
99
225
581
907
897
581
104
678
281
170
760
233
286
253
122
208
340
985
442
864
453
650
615
651
799
346
299
191
968
398
285
850
618
991
406
467
768
618
862
851
962
48
871
817
846
411
202
419
161
736
668
712
655
87
262
528
404
966
532
702
995
900
417
610
530
165
483
369
430
739
367
464
972
151
411
306
795
104
141
806
888
867
618
214
422
403
830
391
990
636
81
507
602
278
126
251
470
242
608
722
499
220
968
558
288
518
945
508
514
931
44
639
105
973
141
655
194
900
697
436
582
405
162
428
248
792
662
67
455
219
161
636
139
618
825
991
785
557
529
721
522
345
770
567
945
765
92
782
814
433
465
911
837
946
85
688
340
464
728
517
773
699
636
220
734
118
998
743
107
577
364
465
635
795
589
910
498
642
826
160
128
748
61
859
586
980
208
695
62
999
125
72
994
228
351
680
547
274
81
147
806
856
954
79
355
290
507
330
127
348
43
596
584
257
427
425
355
878
864
825
941
387
419
982
968
721
180
222
736
794
300
913
730
199
173
528
792
489
838
470
733
420
893
251
365
629
506
116
519
200
513
327
564
280
813
891
502
884
339
716
332
279
940
838
546
223
56
69
391
556
782
509
883
756
952
112
368
905
667
66
688
928
967
169
313
146
57
204
297
782
548
368
578
167
313
193
647
352
358
286
692
703
85
887
683
979
781
241
557
509
594
389
184
469
836
521
791
583
600
537
328
670
179
593
825
429
482
50
171
793
634
938
250
878
43
309
567
855
683
73
917
833
678
348
625
431
445
489
896
436
846
667
897
223
214
137
62
129
659
818
576
270
777
635
584
648
725
397
679
865
400
365
119
128
407
281
605
108
459
149
795
124
337
112
61
844
638
338
980
181
235
397
679
819
543
961
806
909
725
888
590
890
936
56
767
221
95
861
197
714
924
202
376
862
197
151
454
829
114
557
977
982
596
716
540
871
83
175
433
862
810
315
926
266
515
276
112
57
662
742
721
229
59
540
746
624
435
331
882
537
200
721
172
252
70
966
766
114
199
993
944
769
961
336
671
44
542
620
124
185
847
392
394
938
979
614
271
375
477
678
684
470
479
441
84
882
688
325
133
58
962
886
415
694
150
790
610
916
196
663
770
143
890
116
738
447
522
887
66
638
132
390
129
812
363
111
802
208
809
162
452
147
510
758
764
738
705
474
675
836
276
110
989
358
306
919
881
199
62
386
260
586
229
166
963
667
882
446
729
97
326
624
788
555
983
163
251
87
882
72
318
945
280
833
247
352
688
297
425
981
186
250
924
821
526
962
303
545
129
583
705
370
250
760
634
882
281
564
906
892
179
370
907
991
255
382
133
428
798
67
408
91
354
683
142
942
63
730
513
196
360
100
919
633
681
410
271
814
285
159
990
858
901
520
135
744
588
873
489
103
721
156
186
252
487
473
857
392
573
702
302
532
321
492
696
740
339
845
501
160
281
750
718
295
350
266
395
941
773
284
264
948
96
394
696
697
419
280
957
375
379
536
441
844
858
481
272
50
803
880
761
97
826
538
930
653
378
922
907
470
357
590
466
768
424
849
863
331
122
796
830
509
231
506
524
353
920
142
614
195
195
395
831
274
593
393
701
413
72
947
703
195
511
265
246
810
487
40
529
80
100
163
188
113
514
293
921
151
44
493
346
686
911
942
53
245
503
719
354
678
511
549
283
320
90
370
964
601
551
326
676
193
355
593
698
588
941
673
931
992
830
65
762
920
453
638
51
686
186
597
279
601
231
925
586
757
354
413
339
125
297
814
512
802
643
945
839
151
976
822
649
131
755
770
215
648
925
832
245
132
451
539
749
161
403
675
693
174
286
553
909
874
816
673
649
257
987
833
726
479
233
445
981
270
272
841
466
737
408
551
80
69
53
45
385
465
395
99
992
405
920
140
774
274
444
767
755
209
321
71
606
870
366
605
520
947
688
405
756
113
242
705
249
496
256
293
102
467
748
518
738
258
192
802
45
496
374
163
462
656
400
403
504
982
825
617
572
144
196
936
84
758
217
439
625
574
714
941
266
995
484
74
851
188
375
961
200
223
780
980
418
83
861
251
791
445
893
583
876
807
807
704
165
885
521
339
545
786
243
689
613
965
683
294
893
417
317
883
850
176
906
385
343
760
54
715
183
830
675
773
525
980
988
889
59
351
772
683
332
199
925
243
865
119
411
725
822
859
179
780
55
739
477
325
557
161
706
576
566
266
578
986
56
73
738
692
363
527
397
661
614
613
776
270
963
769
463
470
750
641
909
196
311
485
363
239
254
165
720
873
452
605
692
229
406
164
862
638
933
613
171
393
287
652
893
810
341
137
390
310
590
356
161
618
427
164
784
763
173
886
535
237
827
522
84
290
991
699
238
593
801
787
546
442
234
574
206
668
972
588
325
815
711
971
479
40
814
365
615
474
966
818
833
315
64
789
87
561
962
237
570
170
89
369
542
251
96
797
381
881
345
759
98
336
347
310
672
628
742
685
993
445
337
971
71
440
967
874
267
488
899
124
788
721
627
527
498
134
533
693
304
749
403
977
492
125
412
840
896
227
181
832
882
622
495
829
246
401
167
335
347
715
992
804
88
710
612
547
683
757
59
981
933
310
733
259
857
963
299
968
229
768
429
486
550
647
730
507
97
94
135
929
981
603
151
50
721
361
171
59
727
273
705
956
279
648
435
750
497
871
603
516
365
781
397
777
590
903
443
633
302
141
510
775
969
772
514
776
242
749
517
84
854
434
949
161
728
438
719
906
688
561
693
220
463
582
185
710
168
179
836
463
176
562
540
134
535
750
602
789
99
742
666
763
291
773
940
377
140
558
765
338
988
82
315
446
718
100
56
214
926
905
171
737
607
967
637
46
324
488
973
121
798
908
507
45
777
144
636
811
41
476
670
383
204
399
61
213
947
101
827
867
336
557
326
483
803
945
292
678
947
289
662
524
304
940
837
520
210
990
839
476
297
468
257
569
274
733
612
104
659
69
102
178
126
148
767
459
667
334
691
676
427
875
362
606
709
855
149
536
253
237
440
49
164
719
91
96
919
695
597
947
981
511
123
884
687
366
744
586
371
898
689
976
803
810
988
434
55
515
407
718
449
449
783
351
232
76
426
557
84
999
475
904
777
728
817
394
104
921
790
707
748
644
774
439
60
850
450
417
93
390
825
801
711
330
653
158
560
368
317
337
843
938
83
647
195
936
980
418
431
349
422
394
61
256
312
76
710
948
520
946
890
968
169
700
620
105
216
275
115
189
796
349
732
284
423
740
373
285
584
81
161
424
783
308
784
333
758
431
782
703
643
141
906
631
961
779
66
459
87
558
502
344
714
228
976
178
809
379
977
528
278
62
485
714
131
611
297
985
527
140
678
697
259
885
968
486
907
393
40
327
428
807
686
198
610
234
463
413
896
620
604
658
324
61
679
762
518
482
638
101
460
393
386
144
811
97
781
419
697
993
422
541
80
875
700
282
708
968
369
424
146
353
649
506
603
712
661
42
568
170
432
366
279
249
722
242
875
784
946
722
634
244
325
886
886
115
278
517
839
467
467
988
912
684
227
464
206
263
332
144
356
937
461
766
681
904
88
81
337
912
451
90
733
748
476
691
930
664
60
861
652
641
939
454
113
264
552
725
813
777
82
871
133
96
233
458
396
466
224
395
468
486
768
548
363
759
894
815
520
176
416
52
598
644
450
547
914
386
552
210
569
480
669
696
649
912
202
959
567
777
543
818
538
606
737
445
998
919
865
479
471
482
132
529
296
150
742
662
543
659
655
497
461
895
750
392
332
578
787
417
941
636
312
298
628
173
83
747
683
865
423
503
40
449
342
429
906
682
545
870
934
773
505
435
202
841
491
681
846
673
755
337
688
232
248
404
43
557
513
142
912
822
580
802
930
431
543
752
94
433
214
379
543
716
911
910
804
74
697
466
763
197
245
860
771
718
525
753
679
842
949
268
862
331
225
564
636
122
180
935
191
472
315
723
293
139
600
518
957
265
372
632
87
89
221
518
486
921
220
700
983
98
569
696
709
459
843
949
705
129
202
749
411
752
861
694
341
74
210
468
640
106
449
560
331
213
324
874
878
711
740
985
233
901
893
416
321
661
984
116
875
882
302
301
941
572
611
502
563
103
659
145
636
456
707
638
927
308
530
622
712
850
612
247
614
899
874
402
167
715
696
802
589
261
276
980
534
270
426
614
850
799
58
847
620
696
145
991
605
894
520
682
906
345
215
976
140
907
529
980
113
605
611
749
782
416
513
326
995
643
99
274
401
914
97
695
663
352
149
615
101
356
926
717
762
133
408
53
867
225
289
545
182
736
734
570
819
222
163
478
523
976
815
829
443
79
352
412
393
540
110
441
289
393
298
717
284
957
766
478
415
225
88
455
499
518
344
728
957
414
171
754
153
71
275
257
696
601
964
193
730
279
877
161
540
115
687
447
879
294
649
732
247
317
592
833
205
861
509
145
581
687
878
251
859
674
87
820
591
548
178
556
531
399
758
788
123
574
846
604
436
878
105
349
528
188
193
836
197
301
155
752
503
921
643
864
621
40
955
276
786
595
237
694
635
853
619
637
623
506
317
205
146
104
968
163
886
982
536
106
202
809
649
881
914
187
857
683
571
769
110
750
948
956
307
964
599
962
568
806
546
563
316
476
790
749
916
233
655
655
641
812
447
996
209
370
791
608
446
863
148
798
403
163
248
362
229
67
986
723
204
619
51
224
704
951
602
285
333
972
440
986
585
973
916
191
128
528
238
946
732
783
732
637
901
386
214
432
421
192
421
518
999
760
586
413
736
51
593
798
373
280
620
88
47
519
929
827
798
591
357
883
547
184
212
379
409
845
617
267
426
136
243
706
209
774
236
698
557
294
670
288
736
440
841
173
674
676
395
845
707
613
839
97
751
127
898
631
238
127
721
146
491
806
68
385
164
219
995
829
749
520
175
349
932
647
109
285
723
703
843
140
59
391
416
821
988
708
878
188
541
276
957
181
686
908
54
188
293
848
271
108
152
413
671
65
225
433
437
406
582
916
887
526
226
474
722
338
530
226
136
507
433
208
715
476
855
678
768
826
368
623
249
561
195
872
249
306
484
163
329
614
986
280
121
962
312
740
981
794
626
524
464
779
631
332
313
308
376
541
888
141
678
885
756
909
526
670
295
282
842
358
486
440
960
865
820
939
268
671
314
167
938
549
383
185
576
103
755
863
659
258
865
770
407
332
89
145
955
459
919
175
366
685
928
574
980
387
873
506
252
489
823
869
722
524
572
933
823
107
629
837
311
540
153
237
669
276
259
370
79
860
804
319
844
134
395
78
827
718
840
986
580
669
943
262
976
145
67
908
849
554
289
464
357
557
783
458
479
441
849
450
394
613
909
393
218
939
386
813
434
615
53
555
660
343
940
210
320
880
865
46
402
287
344
738
874
198
853
705
723
256
288
930
296
521
235
770
250
674
793
282
103
55
658
684
85
910
812
142
138
403
393
885
773
401
315
879
394
659
97
745
473
836
398
194
237
996
788
187
584
422
983
912
955
106
498
237
471
791
287
562
198
655
487
441
819
666
188
364
104
773
625
363
316
187
55
520
637
740
217
539
505
719
962
203
458
980
951
997
565
87
678
252
647
497
323
663
915
953
760
782
846
98
151
244
498
161
325
300
514
258
303
301
229
49
923
481
277
51
883
193
398
545
429
734
83
96
827
880
448
593
905
960
720
376
610
190
808
210
405
810
222
483
703
407
752
373
110
560
187
337
795
224
557
232
389
141
80
160
217
678
822
738
278
59
855
733
782
230
442
902
446
683
378
959
950
696
940
171
244
234
878
230
328
362
455
442
180
467
773
363
307
749
425
997
172
525
313
782
361
261
608
414
818
934
579
773
785
231
232
255
272
956
105
924
711
690
123
899
388
243
309
402
861
853
229
261
485
938
828
704
670
594
702
73
993
73
292
282
244
318
267
749
402
332
351
300
182
80
530
599
644
164
503
617
218
226
746
476
630
657
561
952
312
710
211
332
681
952
529
560
478
256
573
682
353
615
955
127
129
498
529
427
328
425
822
62
432
355
551
963
962
974
730
839
219
842
238
345
67
231
739
139
762
203
680
791
444
176
630
693
761
682
871
959
270
984
799
65
298
372
996
934
637
307
322
868
231
374
619
731
700
630
478
982
574
92
105
599
768
127
704
789
528
295
279
968
945
670
117
66
837
827
160
710
842
294
477
639
473
248
730
529
41
615
979
855
523
466
715
740
317
602
702
436
67
885
99
744
704
931
201
820
178
941
421
714
758
964
591
640
275
231
301
544
437
476
589
103
669
586
679
736
117
506
165
852
53
717
912
725
885
898
974
499
784
585
155
911
804
758
978
255
138
783
615
963
578
310
247
282
839
385
342
115
387
304
366
171
574
765
462
119
172
337
679
364
66
169
800
583
269
673
671
367
742
275
310
782
848
191
333
307
924
747
717
394
558
82
79
673
629
565
647
737
345
694
948
990
69
136
509
287
149
121
79
731
766
538
330
76
867
461
76
165
267
43
398
267
794
445
361
59
127
260
113
221
180
620
890
145
897
769
871
584
797
527
657
173
975
755
276
480
66
686
837
573
931
586
271
399
807
799
335
405
912
75
602
802
454
964
48
996
202
809
373
231
593
241
503
376
797
748
219
175
706
702
888
745
994
317
779
539
924
438
939
635
568
673
556
55
638
871
213
500
502
117
189
179
328
880
262
653
446
299
297
746
149
134
123
666
897
848
490
336
100
671
247
758
556
965
396
638
104
226
806
647
280
698
685
620
924
123
275
475
804
287
288
446
836
231
794
915
462
719
715
989
207
206
704
688
596
968
485
94
470
753
566
562
248
78
472
613
644
537
743
168
901
467
240
780
720
638
592
244
534
636
914
877
631
993
955
285
756
624
878
626
848
723
421
710
975
630
480
454
152
632
334
198
715
842
589
365
699
635
622
241
285
815
443
575
495
609
204
855
645
732
944
423
482
186
986
857
768
784
400
551
924
226
934
274
60
394
569
812
290
398
144
51
302
321
811
398
938
102
433
550
76
251
810
897
997
304
757
992
400
902
754
974
631
288
142
228
813
868
434
586
768
221
231
500
397
491
954
118
113
576
535
160
459
430
780
228
813
511
848
397
612
979
201
377
666
558
633
623
302
659
530
359
939
307
469
718
949
953
546
860
539
564
750
539
572
473
980
560
239
479
876
423
720
301
931
284
654
532
161
209
742
831
272
379
645
543
591
555
490
807
850
596
433
872
501
541
154
916
244
416
781
890
758
168
189
360
765
958
893
361
783
967
710
766
208
684
107
922
378
378
149
340
735
477
825
443
878
216
191
985
189
670
607
66
395
837
589
292
386
418
205
915
760
288
929
915
746
780
817
333
859
48
349
757
752
509
358
604
930
397
705
854
301
926
953
569
139
435
670
602
529
234
825
131
789
306
67
979
40
593
321
618
570
106
225
890
158
429
46
222
587
117
573
57
657
471
518
593
415
327
896
633
880
496
537
99
792
372
664
276
968
714
773
155
901
954
706
814
73
880
467
594
648
923
566
246
460
827
655
406
111
244
434
591
521
426
972
242
565
282
681
170
849
399
770
422
367
529
668
565
718
847
313
326
176
758
403
237
910
161
269
269
613
91
997
179
701
640
476
655
757
467
973
649
850
794
351
816
75
274
621
189
391
855
386
902
518
471
665
729
85
889
167
360
514
44
602
212
374
724
220
84
244
295
292
809
981
904
798
447
883
609
312
923
360
223
919
90
122
213
508
538
192
893
713
238
784
298
330
665
545
736
783
218
358
986
379
721
272
65
970
949
944
463
247
501
42
328
521
880
528
942
287
211
101
994
899
926
724
723
772
124
393
943
457
135
843
609
932
187
220
557
762
553
165
129
855
313
918
327
790
939
872
562
680
50
139
515
428
797
241
235
477
126
632
241
677
468
600
149
475
583
334
309
866
537
962
69
340
334
720
370
787
93
518
105
404
970
667
196
456
956
137
310
290
160
748
606
433
845
930
650
291
538
123
101
117
88
705
961
400
83
877
958
480
747
490
551
426
478
211
785
873
703
768
923
399
195
560
44
466
274
268
814
858
529
684
961
916
231
696
561
465
653
945
887
420
333
302
362
972
124
596
598
447
102
383
764
619
220
821
111
662
502
526
102
318
369
223
73
481
918
60
454
114
161
869
82
993
252
802
322
106
239
443
457
890
603
979
528
654
102
784
941
924
196
246
583
171
977
114
480
346
359
220
755
392
363
509
717
452
766
930
874
526
186
286
437
71
173
682
57
858
987
813
620
331
370
914
681
785
732
616
439
210
433
640
551
155
285
370
429
338
395
948
852
448
340
347
954
482
851
134
668
729
208
748
89
256
982
321
984
778
694
248
65
793
982
174
997
967
240
454
557
426
334
708
163
804
539
438
846
191
776
303
990
725
995
381
203
367
895
918
282
842
511
831
584
414
968
164
868
190
257
865
401
446
783
604
545
457
766
694
931
414
423
740
944
951
342
485
268
220
549
513
481
249
534
825
952
948
640
216
892
693
218
989
50
450
164
793
956
731
292
181
384
943
492
253
895
149
87
656
171
455
864
567
156
430
909
498
528
81
724
924
670
790
120
513
855
769
112
657
71
476
772
208
647
941
655
222
643
336
716
343
357
244
535
65
920
656
662
208
124
336
335
697
580
997
361
269
291
136
142
65
608
291
757
185
383
389
879
830
799
635
284
503
846
625
727
87
865
644
119
226
632
457
495
308
180
212
535
508
154
874
154
957
107
910
226
639
48
718
120
823
811
618
817
671
745
865
245
396
266
442
60
574
712
372
328
419
314
525
910
599
830
213
293
491
159
320
753
145
880
193
297
998
607
407
312
407
371
172
220
891
815
911
849
946
724
120
183
543
128
152
852
899
790
184
670
345
313
641
422
77
842
992
871
934
233
119
57
143
207
463
708
443
82
349
51
224
539
822
217
943
380
425
258
724
996
968
888
826
398
423
563
634
279
663
190
429
461
972
514
583
241
148
605
631
419
842
379
966
619
352
562
902
445
837
511
462
980
412
675
222
97
473
146
930
335
759
511
171
263
808
867
519
643
582
474
571
689
168
317
83
803
379
341
862
505
200
503
688
322
156
604
228
132
331
686
806
137
632
289
114
124
657
464
74
340
811
795
845
281
297
541
279
145
456
949
889
707
601
505
411
919
704
167
461
103
822
85
777
95
77
582
578
662
669
508
953
66
94
80
49
596
548
67
785
514
350
441
616
815
347
49
683
401
144
445
200
796
423
416
423
890
465
650
293
466
553
467
240
683
804
981
412
162
857
100
220
789
977
420
869
731
305
741
979
490
861
775
587
964
256
955
112
720
371
70
486
234
248
912
216
444
264
72
561
288
747
362
153
494
917
805
267
662
353
717
502
170
193
630
725
42
205
620
738
221
441
721
492
51
452
693
833
739
161
708
556
335
972
133
736
385
79
780
661
631
526
555
108
908
804
807
834
831
904
923
142
908
103
857
367
522
771
298
670
560
792
900
827
389
691
227
484
193
752
759
748
779
845
131
138
819
867
152
112
239
988
551
857
984
582
605
289
61
612
714
470
560
861
91
581
589
473
298
824
882
927
210
625
381
575
117
266
944
465
470
228
871
419
369
854
763
301
753
777
485
871
247
782
273
545
373
492
905
920
335
180
928
858
493
437
362
434
615
44
789
989
861
836
223
131
386
245
735
699
407
535
437
923
970
984
570
110
167
848
701
369
75
711
141
225
820
146
738
684
231
46
302
675
304
307
750
255
772
97
427
816
316
777
240
88
619
226
377
171
436
494
163
103
614
224
808
316
624
953
921
446
996
254
394
658
343
387
450
320
353
786
215
679
346
366
158
437
280
228
547
628
394
883
326
711
807
277
760
490
43
767
385
575
564
275
79
512
543
511
434
92
754
312
478
615
775
123
61
349
60
573
628
909
44
773
665
337
694
331
795
786
446
392
808
61
550
685
364
819
128
948
421
623
712
838
674
426
325
542
607
775
522
939
801
137
308
414
813
170
69
922
972
77
509
743
345
761
492
959
227
369
724
969
607
604
663
430
706
686
763
697
734
949
130
927
427
633
496
450
482
48
923
127
773
267
856
670
309
344
263
357
289
299
695
819
331
928
434
728
401
805
42
208
251
826
922
395
261
521
958
121
875
194
56
601
219
155
119
125
735
195
960
803
794
954
932
497
153
682
222
701
736
768
687
768
871
806
517
195
620
849
819
522
411
328
878
644
411
426
898
691
929
429
685
682
776
125
654
248
350
123
435
587
847
121
828
304
390
434
258
560
191
630
72
729
962
725
786
772
927
390
476
928
125
764
627
894
322
784
618
506
159
251
190
842
832
597
660
632
617
374
316
427
832
947
506
839
169
901
699
324
79
430
99
559
330
112
613
209
933
77
141
823
172
820
511
830
966
775
975
165
120
991
388
885
378
72
371
235
269
59
109
918
982
371
357
788
708
66
211
870
868
755
428
265
625
842
395
73
900
847
763
626
391
800
78
220
318
521
894
960
518
403
412
765
55
447
444
485
799
163
597
281
993
104
799
385
463
758
314
584
632
933
872
594
513
773
576
745
615
224
553
844
665
293
524
474
867
520
94
533
41
298
240
890
325
602
797
830
823
377
793
364
279
215
986
663
135
760
589
110
813
141
472
55
361
612
916
761
979
901
783
776
542
207
778
891
60
109
592
549
802
995
483
749
866
937
789
113
374
797
103
808
403
665
563
551
280
598
386
149
890
793
385
962
750
235
895
569
77
383
720
61
281
868
884
961
929
84
95
786
634
136
535
188
211
57
329
490
157
234
658
913
224
53
570
371
254
623
418
229
104
877
165
961
171
362
429
135
547
956
109
817
830
86
665
158
491
245
718
632
638
89
302
251
871
317
940
578
285
871
557
75
829
859
626
583
880
46
397
674
533
357
994
765
104
942
63
749
608
345
732
53
120
419
275
79
938
175
246
337
885
656
229
392
862
638
320
828
812
519
398
529
742
833
552
46
269
201
277
757
942
250
576
974
282
126
292
170
238
719
430
582
325
347
342
88
911
231
819
310
322
581
833
397
75
851
439
719
581
674
302
189
442
809
170
161
307
278
500
943
236
753
588
581
373
272
238
279
852
782
870
83
295
407
877
916
724
781
773
971
474
708
957
638
627
845
557
944
771
230
702
335
313
346
746
365
131
95
299
415
91
815
575
494
108
40
300
494
649
361
940
215
742
325
241
55
958
61
120
773
117
158
709
681
429
363
332
593
677
896
723
212
979
324
964
433
731
921
363
682
369
114
312
628
848
148
730
54
600
976
911
117
882
327
220
640
201
920
107
146
557
500
944
967
549
475
467
644
875
123
545
603
108
774
940
40
133
764
488
108
337
624
412
558
63
750
563
264
373
322
578
468
465
51
775
508
943
966
892
959
490
724
207
254
184
160
107
950
211
813
726
608
258
562
254
875
704
879
186
229
889
507
719
535
258
446
783
611
329
125
122
808
170
204
568
202
511
602
272
291
890
435
325
327
359
781
385
548
377
230
64
821
155
231
147
603
157
863
129
150
188
835
739
944
431
379
211
298
494
62
827
230
56
515
420
412
655
158
559
820
797
256
551
487
902
206
76
408
97
474
909
969
517
843
312
97
445
806
615
42
504
978
988
785
790
274
867
690
688
248
920
323
446
511
257
302
743
516
809
559
683
950
111
171
976
823
661
823
835
768
652
489
382
147
517
520
784
262
516
601
203
790
986
568
972
497
534
919
339
777
475
89
843
556
509
207
43
323
58
878
366
73
565
536
506
545
432
484
528
262
145
877
602
183
226
833
598
828
407
333
968
864
704
230
498
437
964
912
456
956
647
167
312
46
368
924
917
795
74
355
733
764
250
895
461
731
802
346
804
250
224
770
416
329
971
258
693
498
491
290
543
760
919
685
560
811
354
318
347
151
811
562
876
907
199
802
623
776
276
545
88
766
282
51
686
385
666
204
739
410
615
425
594
948
578
953
601
336
356
788
586
470
671
775
683
760
337
713
474
649
200
941
365
360
322
303
618
44
580
250
199
281
785
606
378
419
336
638
579
794
399
709
659
168
123
605
880
941
714
717
600
469
143
60
881
868
554
566
88
506
535
168
213
754
689
313
235
561
787
441
195
337
479
708
908
787
349
521
139
359
352
468
425
958
147
627
765
451
162
875
688
324
764
664
119
520
143
578
509
404
75
900
454
957
660
698
775
605
267
43
61
568
910
614
811
160
685
413
561
509
375
431
259
261
445
690
936
214
244
323
45
241
467
919
737
367
921
279
385
478
864
174
206
152
969
632
917
654
587
243
121
676
724
132
793
657
688
572
135
899
702
279
883
568
834
101
753
970
905
899
108
389
262
392
698
242
982
553
183
114
461
455
595
908
359
364
821
476
990
956
499
317
334
732
750
625
478
785
331
77
961
338
261
433
717
552
734
210
776
588
389
352
250
921
705
917
339
436
863
55
923
921
48
515
387
815
521
584
87
760
125
517
348
916
552
63
966
459
933
348
679
283
505
68
274
448
572
620
412
400
814
218
876
403
99
548
916
202
232
129
895
936
273
474
425
889
703
275
346
261
954
927
846
413
653
358
970
41
754
642
778
752
813
127
861
315
944
718
426
535
290
112
940
394
893
120
88
43
572
596
867
760
778
400
51
215
899
614
465
705
153
484
741
675
862
644
927
80
173
629
46
418
857
473
567
375
165
569
960
567
836
964
420
352
475
452
582
231
876
965
973
680
63
141
966
314
374
79
237
807
640
547
464
672
799
881
751
872
157
588
92
599
40
352
745
835
974
141
537
154
415
97
752
206
894
704
915
103
710
120
70
938
981
448
114
703
385
607
232
179
250
405
827
125
138
877
203
914
342
118
834
200
965
792
532
416
352
281
586
188
600
759
758
410
88
417
930
385
201
554
943
559
520
838
894
352
474
319
907
710
987
736
216
722
511
326
372
120
958
115
216
666
719
484
716
664
678
458
789
688
450
320
880
721
342
518
689
793
474
326
68
810
372
998
384
482
555
320
789
460
728
614
417
594
385
257
432
678
215
174
519
523
860
210
776
315
489
813
687
435
814
270
315
949
744
844
226
205
870
854
59
818
495
112
935
987
51
370
373
679
812
878
767
316
862
433
780
147
845
730
421
704
661
937
574
536
474
132
560
896
491
446
614
787
410
385
388
539
192
398
199
588
641
436
683
445
299
721
83
73
563
908
463
889
234
55
559
385
751
168
692
57
244
70
819
823
748
85
67
882
423
752
956
327
348
996
566
235
355
216
280
166
278
206
347
201
834
144
855
542
338
869
458
641
372
178
194
105
751
133
151
238
304
102
943
354
327
502
788
301
900
812
762
602
616
427
358
728
693
784
271
839
858
821
822
151
288
525
626
440
408
605
534
126
681
468
586
219
798
601
748
463
136
123
637
156
690
447
502
672
243
180
673
834
699
664
757
496
325
620
634
966
255
183
151
488
911
224
391
338
224
665
529
224
80
71
245
567
507
47
550
334
766
991
279
539
727
972
524
845
402
582
213
551
766
700
186
964
720
363
300
42
882
915
316
887
361
903
503
415
144
959
523
780
334
748
326
646
212
481
831
781
525
267
519
772
910
747
975
211
350
753
584
601
43
542
855
680
978
637
277
803
83
389
124
838
379
777
344
433
359
463
179
977
545
456
730
358
111
44
917
551
703
147
941
921
470
892
154
616
948
450
548
629
218
114
557
736
208
871
675
206
592
107
401
112
111
734
127
72
552
721
282
121
977
102
955
409
461
365
122
678
463
643
944
361
238
591
579
993
986
176
627
363
638
589
205
179
912
234
570
796
927
908
286
362
538
252
103
514
717
554
641
597
905
746
960
293
688
505
143
197
152
695
110
821
874
249
112
194
130
914
386
357
295
811
439
374
124
834
761
324
986
780
965
469
532
924
887
566
533
168
571
629
462
791
149
402
842
613
525
176
821
97
603
907
137
128
889
400
906
655
79
426
992
630
513
841
368
232
882
895
783
910
808
151
341
827
62
270
65
429
161
144
388
843
330
243
322
118
899
783
47
607
882
949
385
184
231
739
838
507
240
851
353
718
860
825
432
973
136
510
906
266
939
425
485
519
399
670
989
971
549
362
358
443
706
48
145
621
370
650
742
144
757
537
539
884
820
156
367
948
930
606
89
119
236
685
596
303
132
610
881
819
395
820
789
316
378
159
143
591
892
696
52
601
478
320
875
590
197
564
153
366
874
328
64
578
999
363
661
170
464
308
79
383
823
127
494
321
507
325
872
315
471
900
313
995
88
912
113
547
229
684
335
717
230
880
526
377
123
349
652
264
403
552
771
518
756
204
428
441
386
376
854
707
430
95
458
492
800
738
951
616
729
980
161
861
667
90
907
365
547
751
831
474
545
96
376
867
98
819
712
383
420
829
879
727
57
191
798
923
760
641
545
875
602
740
610
120
721
746
941
752
919
205
332
912
476
537
373
168
824
388
99
479
334
899
556
471
972
905
298
472
533
44
270
63
819
799
211
158
475
266
148
508
232
680
102
819
326
473
970
271
243
418
824
192
494
998
102
890
42
623
48
972
341
764
778
767
242
381
615
356
579
907
774
727
485
329
867
668
945
787
108
170
784
502
891
42
945
192
390
544
661
308
836
78
964
391
796
237
534
898
363
735
614
873
903
200
757
160
466
964
392
993
134
205
474
706
114
361
341
43
541
219
834
347
752
762
909
982
919
346
183
737
474
413
589
628
494
595
443
957
118
685
836
550
667
635
739
794
379
413
496
245
191
277
757
494
95
543
554
805
426
711
886
219
822
403
357
334
349
246
123
119
787
118
419
546
261
195
709
200
127
723
947
177
170
550
334
238
128
203
516
301
166
520
868
474
834
486
786
436
521
373
240
824
570
438
221
568
714
791
221
486
523
164
47
298
301
428
202
560
572
56
200
827
192
488
935
213
91
547
660
679
938
500
430
621
141
477
152
466
334
232
845
282
998
481
894
171
80
982
375
340
61
800
933
501
105
132
229
928
966
504
233
518
833
240
205
911
984
686
390
497
106
232
174
296
907
425
242
439
276
439
396
990
632
261
741
317
760
362
86
243
618
741
221
109
817
917
949
218
105
961
123
46
577
843
702
112
820
788
853
167
147
377
801
772
204
766
822
555
159
607
590
482
352
751
888
819
809
648
894
453
237
439
350
811
257
46
844
925
482
951
429
85
659
393
332
48
268
135
715
689
222
92
369
628
75
68
421
326
731
555
542
719
224
479
668
172
869
593
72
396
173
160
145
735
148
97
800
755
910
615
772
943
212
721
71
523
828
110
279
130
462
664
628
155
981
825
521
267
832
130
982
622
426
707
364
894
363
606
320
388
685
815
678
399
257
448
387
626
628
523
497
580
159
183
987
958
962
159
175
844
842
434
127
292
578
831
177
932
439
966
217
318
696
659
457
360
950
755
218
585
675
955
161
698
570
830
232
126
566
955
456
432
812
944
159
306
140
66
962
214
655
651
824
496
301
172
219
428
229
48
943
778
809
966
770
178
741
475
644
191
768
159
187
653
989
444
893
250
858
190
373
996
254
83
350
305
509
923
285
524
56
142
851
173
552
501
466
505
238
857
803
282
336
221
588
685
75
630
401
535
174
944
557
998
290
571
802
469
699
361
303
986
687
549
88
647
821
254
83
165
633
547
468
768
595
686
542
61
444
531
349
662
151
196
363
915
375
71
224
896
330
854
775
743
944
411
94
854
808
156
638
922
990
755
814
806
605
317
316
838
267
719
647
275
396
375
66
857
827
140
274
379
410
247
416
473
650
897
393
920
904
831
976
78
755
574
303
378
100
703
738
830
747
909
384
92
412
155
804
993
588
71
834
461
343
937
726
967
209
138
73
899
118
375
435
78
380
965
583
538
313
177
264
850
255
377
761
997
251
567
225
230
156
638
958
963
222
209
359
102
378
476
831
262
345
729
731
779
231
164
100
798
404
475
542
371
423
337
53
870
865
689
386
148
821
848
257
667
233
376
572
400
236
691
980
385
481
976
611
929
345
173
53
817
910
350
847
487
680
306
419
320
688
629
648
592
567
297
476
765
105
516
81
277
769
498
812
764
190
276
80
132
498
782
458
194
912
638
493
498
497
576
480
746
291
277
298
963
767
385
836
594
362
140
72
521
746
731
344
749
175
922
747
54
744
834
439
432
980
246
673
983
258
243
48
463
124
772
680
825
881
270
993
845
818
284
961
786
766
302
975
548
404
964
630
713
726
621
179
620
326
126
140
774
563
176
321
742
448
604
485
410
387
250
78
352
798
127
44
524
884
589
258
210
149
702
88
980
860
410
202
792
264
946
715
296
164
141
575
402
594
615
645
747
865
252
761
289
387
263
996
787
436
642
61
694
253
696
482
325
179
459
159
387
669
313
655
179
533
331
935
534
478
229
148
558
881
607
389
484
830
550
479
918
365
673
406
194
299
486
457
542
423
471
686
232
73
976
185
561
976
225
960
311
307
752
632
581
488
160
448
225
761
358
925
103
453
515
292
736
919
637
797
420
806
394
189
713
501
786
282
454
529
773
632
272
964
72
892
405
505
100
907
802
741
297
235
447
973
812
509
137
723
475
558
995
788
648
711
711
164
813
820
727
601
224
281
913
531
492
999
434
665
72
231
710
261
418
756
50
389
719
778
188
620
68
325
354
162
377
724
188
154
196
118
732
409
261
811
704
647
860
818
474
115
272
421
751
781
732
829
418
802
363
502
898
694
342
614
871
257
880
867
411
324
251
345
450
476
824
149
631
336
253
112
213
930
535
438
993
644
373
285
817
126
171
781
173
810
835
626
511
553
498
318
313
210
396
572
108
783
788
424
467
123
847
458
635
561
828
826
463
847
803
286
71
389
381
578
43
570
398
48
316
148
731
287
533
49
109
569
171
452
50
929
784
970
625
560
219
448
961
812
246
55
691
301
851
990
921
194
342
364
375
945
145
119
268
960
945
556
169
165
555
148
569
963
106
388
575
911
551
611
937
802
677
256
321
756
648
776
488
91
402
922
804
960
751
423
829
398
993
666
157
930
775
960
882
147
211
894
440
884
993
46
725
494
314
828
635
811
651
528
947
172
238
162
359
295
93
356
668
318
171
495
101
691
835
810
942
548
691
329
929
337
363
614
644
571
494
946
811
263
948
310
648
971
930
905
277
934
275
545
908
238
209
750
431
419
507
685
886
448
974
93
788
493
519
813
694
55
449
658
695
288
985
772
989
239
260
535
581
906
932
55
355
813
508
681
653
211
793
732
468
947
526
212
910
879
647
540
938
537
254
439
399
388
181
834
641
861
798
974
881
858
725
882
212
802
219
998
132
898
603
434
617
389
567
654
225
539
903
456
941
380
563
936
619
375
411
879
151
535
300
903
446
504
841
833
696
983
611
274
936
956
322
513
734
609
189
759
133
426
635
938
561
156
959
208
254
870
138
192
997
609
132
500
321
938
257
931
496
779
864
477
451
529
258
816
40
178
179
596
922
252
323
193
579
310
580
928
981
414
538
422
71
294
241
701
525
487
947
481
63
137
625
388
510
728
704
738
649
423
684
245
89
631
671
860
790
563
705
40
196
897
60
868
814
634
366
428
844
770
895
213
787
258
881
72
665
803
227
126
100
337
825
600
478
544
589
674
668
266
283
503
858
743
481
764
917
652
576
305
373
454
464
63
588
445
534
897
380
47
139
888
249
115
419
968
138
659
943
959
577
536
133
514
254
293
731
835
532
428
204
300
439
189
630
504
808
754
503
74
97
946
83
610
746
211
473
460
639
816
795
907
736
144
178
669
367
502
105
946
191
771
800
389
940
407
951
824
797
883
674
718
712
205
629
615
259
772
84
627
651
507
680
692
796
277
420
77
932
980
784
557
771
944
980
595
756
167
867
891
852
270
53
564
562
315
518
551
208
631
893
106
329
898
938
87
682
618
238
516
452
244
684
994
178
644
242
279
292
540
447
782
969
417
341
798
521
345
132
939
612
308
164
859
905
581
558
621
146
144
811
499
686
366
547
136
898
67
301
182
543
364
901
594
947
494
885
180
447
881
368
576
262
906
939
669
144
445
979
641
768
964
541
213
815
563
342
740
655
773
574
840
744
319
402
809
282
919
857
104
479
952
51
696
224
868
321
111
272
948
499
250
885
962
202
269
995
875
228
77
605
128
355
721
598
471
236
176
367
792
689
703
177
697
545
502
926
813
543
171
354
906
207
686
829
993
636
61
942
969
84
398
950
811
914
250
381
608
362
782
484
447
969
706
910
610
757
55
648
217
84
955
121
817
568
241
819
291
351
246
548
863
283
972
732
964
493
84
531
811
187
461
254
429
606
897
381
516
768
674
266
469
947
647
879
874
690
371
623
656
81
252
252
607
790
723
118
149
76
360
181
578
615
110
599
772
861
677
770
559
167
462
54
975
920
879
873
658
990
640
926
252
475
475
143
921
883
408
946
406
247
176
355
366
724
722
153
990
240
568
357
853
547
337
462
165
658
594
961
949
716
135
65
899
735
721
92
127
680
600
718
95
680
210
959
991
476
891
487
100
829
597
981
486
609
287
484
704
401
349
809
359
626
188
847
963
220
933
147
106
879
728
53
995
152
434
320
357
271
917
121
936
120
977
840
802
796
916
994
470
169
515
146
539
509
134
536
976
776
185
485
386
712
391
229
801
370
141
454
107
122
468
477
428
722
746
307
365
471
720
996
67
292
396
468
231
395
995
75
701
143
546
438
610
765
457
379
628
316
976
558
431
852
424
187
880
171
897
74
280
402
233
127
362
418
143
862
473
632
274
442
418
760
597
988
206
199
673
834
284
215
587
203
993
299
180
726
111
636
812
688
709
289
750
660
67
526
641
807
365
615
63
125
634
734
440
609
154
144
430
340
606
522
618
909
267
387
184
136
355
311
264
124
298
694
971
154
141
544
850
346
126
980
427
870
233
266
507
609
342
956
49
587
509
587
985
234
519
261
69
627
502
874
516
778
216
279
290
520
426
701
605
289
345
525
357
83
658
94
841
712
132
555
817
295
913
930
912
596
225
866
431
345
617
303
491
726
601
136
499
980
83
754
49
313
396
870
734
439
599
102
955
785
738
854
951
774
353
604
135
866
821
906
957
521
320
218
793
989
270
706
245
270
982
383
831
912
854
333
83
361
884
628
746
863
416
727
347
266
279
291
420
926
73
573
546
856
709
158
762
130
784
372
324
992
610
868
203
807
994
681
258
161
700
723
82
261
695
755
572
125
783
263
981
702
116
497
608
467
612
167
880
633
667
569
615
421
344
777
846
506
985
437
159
537
583
736
870
160
235
958
759
252
204
519
552
590
955
591
865
692
399
915
911
522
890
294
371
895
989
400
49
902
447
610
639
904
88
253
739
734
339
692
359
221
635
697
362
603
868
459
250
483
355
661
59
102
101
70
107
901
354
696
314
733
247
273
129
44
725
986
611
550
810
300
323
830
103
441
271
654
811
232
731
629
81
748
400
229
750
739
344
694
880
788
885
618
981
592
200
63
522
627
170
140
53
335
332
273
367
204
215
147
886
166
189
674
374
341
133
725
42
941
626
284
800
917
67
134
971
63
479
883
321
120
356
371
546
55
647
843
377
200
764
130
585
962
538
847
694
511
837
882
590
60
629
365
777
298
465
572
149
664
572
574
601
948
305
916
340
802
608
393
589
633
460
345
609
946
810
918
522
431
377
261
379
761
683
684
985
956
277
321
248
863
467
530
867
78
565
950
385
846
418
628
979
979
447
696
433
490
402
641
765
871
160
870
956
771
455
240
983
60
890
549
171
569
200
562
710
505
913
44
276
479
82
559
688
267
661
578
978
183
212
254
792
296
808
435
399
152
646
116
734
331
317
724
84
569
441
787
588
699
450
763
979
523
429
295
957
878
587
383
205
434
186
727
327
313
749
761
712
719
909
868
881
667
416
336
882
104
401
190
775
266
694
561
704
713
556
322
993
387
83
725
164
380
518
681
486
499
182
510
732
60
748
802
377
90
574
350
298
421
693
331
40
777
336
638
207
806
773
812
873
598
198
222
420
724
678
972
282
413
180
591
995
425
724
948
431
928
154
132
970
970
214
191
177
246
307
311
148
349
93
637
61
287
273
331
942
508
387
216
117
160
71
704
440
515
65
913
123
408
576
110
553
607
931
658
65
870
372
512
983
258
202
699
487
722
682
344
266
984
809
61
459
527
231
677
959
460
350
530
161
384
134
81
551
952
834
54
668
243
180
161
488
109
77
727
134
820
753
136
798
958
729
768
948
702
163
536
999
628
965
70
896
917
993
777
912
638
845
911
529
837
454
498
207
464
48
683
290
850
967
573
78
838
376
474
104
524
379
123
352
896
954
332
250
867
66
120
886
639
491
848
163
76
420
128
624
382
97
744
163
328
588
554
615
183
117
230
580
328
881
891
353
220
302
642
388
969
819
756
703
708
52
454
106
612
619
746
380
407
354
98
269
124
701
478
260
483
597
140
866
953
695
765
237
778
938
379
816
146
909
883
576
364
556
633
85
907
993
806
43
829
114
484
267
259
768
49
848
772
602
637
532
699
828
509
208
219
589
866
249
706
314
508
371
348
57
231
309
381
130
153
812
258
286
421
227
53
634
465
185
733
810
848
614
261
524
642
604
69
792
393
113
624
606
928
504
569
315
554
144
187
434
660
186
820
269
950
266
960
317
750
335
837
470
993
948
929
328
98
138
199
329
596
701
630
436
536
739
99
662
870
609
675
599
938
899
62
748
930
113
643
77
331
473
590
565
842
617
240
354
471
551
969
73
143
492
179
542
510
428
813
79
355
699
670
920
958
919
902
479
791
999
195
842
511
911
946
709
901
463
688
331
704
907
870
530
170
596
487
515
155
655
871
923
733
368
950
435
54
678
113
989
392
807
143
212
984
449
49
247
642
845
351
102
929
276
594
961
386
192
88
678
590
765
253
159
167
741
940
92
603
44
597
436
753
612
374
327
190
170
465
76
973
292
618
480
329
652
738
792
899
543
611
157
832
775
46
753
349
57
961
381
624
276
222
966
516
171
967
593
768
450
537
325
455
51
668
540
582
955
263
554
443
779
332
313
331
800
359
814
760
267
375
476
277
843
304
51
71
492
684
650
224
597
341
241
643
71
943
212
213
247
982
314
954
90
910
351
465
239
645
793
573
775
99
995
997
819
703
843
344
732
964
736
839
247
723
522
835
639
123
880
387
834
189
788
494
791
204
988
431
116
288
646
947
520
306
873
577
564
318
839
674
259
91
512
516
388
232
688
816
108
230
613
163
243
697
908
291
318
913
591
487
53
616
505
121
517
807
703
723
749
653
884
677
67
122
78
955
510
643
42
681
769
541
854
850
592
494
376
952
987
234
51
917
381
426
488
256
771
745
526
534
141
888
436
604
347
358
289
516
942
941
628
565
105
313
636
620
113
291
134
853
151
720
95
919
427
95
754
863
578
230
947
332
758
470
749
544
687
717
143
541
929
545
732
48
305
543
349
839
331
214
420
843
458
758
998
581
504
920
750
411
956
171
198
252
102
456
143
848
92
309
716
72
789
824
886
662
567
885
263
394
106
232
753
506
971
776
269
174
619
794
871
43
744
994
392
138
121
972
191
515
738
403
620
711
419
300
514
307
787
470
818
722
900
535
303
895
927
197
306
492
569
107
610
986
330
800
960
434
945
384
892
800
193
247
860
948
238
909
173
101
200
750
207
536
660
280
835
985
733
328
293
59
57
42
883
424
206
741
803
477
356
93
92
481
42
280
354
348
811
611
348
573
706
369
591
195
136
532
875
694
135
794
998
818
283
508
99
651
562
177
740
363
414
747
820
957
744
841
124
204
142
340
474
428
550
549
435
70
111
955
504
407
456
276
86
793
486
196
751
796
996
351
560
752
598
932
823
800
637
288
851
610
61
765
546
213
937
528
576
777
509
659
846
822
435
907
478
259
110
45
819
409
488
839
817
629
58
588
292
198
519
564
907
489
105
510
584
334
481
711
670
111
284
426
964
281
153
865
165
406
987
914
381
510
171
298
196
407
304
56
88
860
869
384
432
408
315
362
306
693
987
801
257
248
529
777
500
628
399
684
151
544
570
282
700
252
442
961
289
222
958
81
336
232
44
764
636
167
670
550
724
891
160
327
861
611
611
612
341
718
910
699
318
217
988
351
148
484
866
48
775
824
71
757
66
414
235
965
419
685
908
226
270
388
914
748
300
971
714
321
639
692
133
213
223
570
753
991
866
439
245
863
273
925
248
58
634
638
140
309
399
579
308
986
391
321
628
41
635
624
768
813
745
617
833
347
985
153
631
656
683
606
417
400
571
863
45
829
188
561
171
505
686
266
529
114
683
203
754
690
139
99
621
858
680
523
241
529
853
670
412
199
570
879
64
792
480
826
871
904
652
330
705
660
456
540
182
253
735
698
905
892
678
750
71
510
380
223
783
918
956
620
578
251
792
925
905
458
657
307
594
775
116
977
529
84
161
911
611
617
161
933
129
951
343
956
532
342
921
320
853
424
957
373
369
587
993
915
298
302
725
680
971
156
555
402
885
205
904
720
154
882
330
667
896
998
854
280
709
642
479
126
265
380
62
661
113
334
725
807
210
92
989
924
955
283
306
920
810
480
741
988
175
347
470
172
856
576
577
687
789
806
208
279
740
792
104
877
96
888
565
853
858
350
816
204
567
583
177
616
296
231
970
179
875
145
320
429
808
344
236
493
135
923
670
784
168
488
998
931
647
661
320
867
321
424
687
266
993
593
828
457
335
833
300
48
715
109
515
227
870
977
56
776
428
624
813
411
572
893
894
732
386
960
211
732
921
132
205
653
357
629
473
674
144
165
700
383
677
968
454
53
353
463
652
553
279
991
849
152
672
654
454
685
945
248
148
113
76
260
965
460
841
473
229
488
789
534
224
533
521
661
224
889
601
671
520
289
426
509
804
230
975
859
210
222
71
323
332
194
827
246
805
173
955
638
636
513
158
867
719
964
691
171
165
900
92
862
797
672
103
621
579
820
871
842
482
676
442
631
555
172
714
806
622
984
831
889
254
108
739
596
95
103
279
337
703
231
293
825
405
638
313
882
918
778
581
215
606
499
712
345
366
704
621
242
598
911
241
874
424
755
666
88
484
94
120
814
319
499
748
104
315
744
73
259
674
370
785
351
959
657
796
131
158
416
785
250
220
590
350
937
864
97
52
491
293
430
970
243
735
159
491
588
204
528
108
372
460
270
983
79
719
755
323
713
279
812
345
309
105
954
958
551
482
557
827
299
965
556
837
859
776
963
983
349
732
767
781
497
642
698
198
639
282
510
123
590
87
85
865
331
214
498
440
222
185
65
692
257
357
613
419
969
191
977
975
998
179
394
985
153
231
272
857
971
946
830
681
410
549
741
647
645
920
597
220
724
56
243
288
355
248
757
306
522
842
335
292
144
807
954
687
293
706
306
345
414
324
435
752
362
886
434
548
714
406
415
971
953
740
322
626
254
457
72
167
847
626
107
889
291
217
53
275
439
586
883
923
859
520
668
633
920
417
984
759
474
389
766
686
280
193
499
129
514
394
397
476
372
628
800
694
635
308
632
343
700
811
503
50
573
616
332
913
681
96
676
888
543
443
423
406
670
471
653
83
985
668
965
128
431
140
59
490
437
944
881
632
73
846
459
807
173
478
374
324
726
515
784
82
674
929
859
839
533
840
809
234
706
838
526
456
201
855
158
96
280
970
636
721
544
531
405
740
653
137
83
166
408
711
409
455
61
766
873
742
619
102
230
954
965
154
376
239
585
809
168
226
470
446
193
533
611
569
956
727
899
361
855
665
366
459
875
317
388
335
945
332
358
583
759
797
871
826
722
216
727
205
686
977
516
80
404
491
89
52
736
234
223
382
447
443
616
415
473
718
740
99
514
857
641
579
787
105
345
466
953
798
131
848
514
588
931
365
277
956
152
543
920
946
499
439
116
194
78
183
839
676
807
780
739
899
239
691
292
387
775
700
788
309
698
267
611
120
907
674
984
342
367
786
332
330
619
98
404
536
100
529
621
458
990
940
826
775
975
125
57
257
804
187
857
750
304
434
212
454
954
306
365
169
627
448
603
166
481
767
188
326
257
111
412
383
378
76
708
381
248
662
723
994
871
640
807
601
136
143
162
965
597
93
183
537
385
984
217
299
764
282
373
804
189
769
565
987
790
68
212
421
341
898
599
989
989
947
257
803
575
322
532
555
745
853
598
316
650
953
49
196
465
974
799
156
459
60
932
911
759
356
413
684
353
908
997
285
364
301
798
206
576
239
974
734
297
305
539
102
213
866
533
744
845
56
305
155
654
791
229
604
602
402
69
620
833
887
512
978
152
487
225
726
647
164
526
844
586
347
635
653
594
390
460
634
404
185
982
57
769
199
333
70
244
122
356
735
248
440
478
71
759
64
616
220
66
214
418
621
759
615
876
648
769
966
685
181
203
239
501
984
332
493
766
93
958
387
174
863
178
359
693
292
724
889
606
151
807
329
674
353
433
552
97
584
765
842
81
382
922
249
769
876
396
736
980
956
65
55
948
241
641
889
605
785
724
862
707
776
124
691
416
785
671
510
814
337
649
183
363
289
921
839
351
789
363
101
476
836
160
459
687
531
385
211
481
616
247
711
596
581
126
429
888
853
475
305
927
556
301
499
902
430
912
104
664
860
671
443
866
345
64
952
40
198
742
296
977
803
591
175
419
913
163
102
159
126
412
415
973
189
632
395
837
508
949
261
100
43
731
916
716
285
861
218
677
600
800
215
464
332
488
936
658
952
664
712
699
172
403
616
239
791
631
164
853
968
552
577
188
805
296
515
615
477
56
691
890
219
771
123
217
887
142
394
385
985
536
285
616
316
216
590
508
199
103
491
890
906
496
199
723
198
562
121
906
295
939
266
383
45
137
851
202
257
235
843
614
800
906
236
743
678
610
241
915
790
246
253
758
606
947
360
226
96
570
509
441
575
168
668
786
165
111
613
136
862
590
255
115
53
978
696
946
994
169
550
102
169
424
588
173
473
116
385
116
378
987
66
239
210
128
469
264
707
171
843
764
358
657
659
389
167
536
464
628
764
672
742
157
378
887
703
214
141
190
238
829
525
600
987
535
517
424
405
50
493
175
241
60
458
340
964
750
133
474
448
503
309
297
776
610
794
943
282
530
805
734
600
83
949
821
113
90
290
172
496
432
651
675
416
645
723
218
168
153
186
517
842
866
780
77
860
780
409
851
363
887
909
179
329
825
307
980
725
762
166
158
791
493
672
269
411
588
90
589
140
726
245
534
66
131
641
239
335
440
587
679
117
780
406
212
223
53
76
140
455
212
344
546
355
87
233
499
738
545
216
606
737
728
344
369
781
810
117
141
859
705
805
622
394
929
549
654
450
287
140
122
668
787
990
639
798
739
732
682
426
968
344
331
645
745
168
187
822
246
881
722
397
977
191
482
272
856
340
225
526
173
935
881
207
898
180
214
668
436
477
241
885
410
554
106
123
268
275
58
782
715
532
632
599
252
306
984
132
79
577
434
94
837
890
657
104
146
523
318
94
889
982
298
726
506
600
480
395
693
858
733
962
497
627
707
746
457
875
344
83
633
297
152
382
758
98
959
878
251
866
454
645
612
582
71
318
61
582
698
927
811
635
997
708
819
477
149
299
609
572
658
733
530
769
568
454
900
784
900
402
641
122
710
684
551
706
292
771
226
548
901
721
480
594
919
266
802
796
788
845
199
648
326
832
830
237
774
764
745
678
849
943
956
831
669
75
49
871
914
727
634
198
652
115
520
416
444
644
608
547
483
968
664
601
469
746
243
427
782
406
548
188
365
303
780
797
291
718
350
269
235
838
255
202
63
515
967
560
576
716
82
789
663
66
272
396
680
713
984
864
213
808
97
237
181
594
460
175
755
707
377
286
140
936
482
142
481
761
858
328
855
760
655
181
485
638
667
787
383
225
638
204
460
420
554
739
816
884
874
118
360
688
300
881
846
140
764
227
443
569
587
946
376
241
141
975
875
191
83
834
916
695
896
339
809
451
244
513
445
123
46
455
355
788
279
275
289
233
574
54
765
774
483
560
378
323
738
179
682
100
103
552
580
65
268
322
859
92
509
949
596
767
95
144
957
182
196
701
420
821
71
167
939
549
761
488
346
961
501
348
59
876
904
484
55
816
387
995
865
329
800
866
422
582
172
290
920
116
537
512
746
229
883
290
353
617
889
285
728
502
296
787
711
516
183
118
430
566
155
450
819
411
155
860
369
358
610
209
126
66
134
701
133
916
138
926
714
186
232
55
205
867
793
218
349
688
539
419
161
652
796
150
421
543
925
346
109
852
758
163
673
420
315
856
474
785
382
705
127
895
697
418
885
303
164
751
792
697
810
739
140
824
227
316
667
290
301
817
827
202
528
245
729
404
367
252
280
854
570
429
772
613
83
114
523
975
122
114
208
242
242
871
597
237
233
529
242
875
164
512
380
45
540
997
415
814
287
357
605
634
755
319
762
523
171
845
514
319
368
972
273
688
240
629
623
855
762
525
708
145
583
848
942
265
248
631
825
753
586
648
288
971
132
584
903
341
411
938
452
466
126
45
338
764
645
363
939
794
655
555
340
650
986
147
123
711
533
517
823
556
623
170
247
202
935
77
931
985
760
273
296
50
398
708
707
536
275
915
44
557
673
388
558
855
652
657
253
394
52
258
326
758
768
855
560
690
197
979
492
272
546
869
246
58
222
625
379
689
812
156
494
795
147
344
646
589
136
253
742
579
407
848
475
548
500
216
218
456
837
77
687
314
333
113
717
967
157
959
722
928
509
763
989
165
262
387
353
655
994
76
151
397
131
822
446
428
691
231
350
192
86
750
317
151
598
645
996
567
951
153
866
592
792
968
653
461
417
756
802
229
377
73
463
657
576
71
313
816
645
447
581
580
661
819
649
363
220
131
263
138
775
158
77
938
361
469
181
315
750
136
134
535
157
82
407
713
761
673
492
845
783
882
281
338
443
119
621
568
917
968
610
763
930
767
504
808
908
519
186
974
642
222
568
234
540
870
414
201
236
142
376
791
392
894
465
258
632
79
135
654
257
402
334
127
521
619
488
718
826
189
854
715
287
892
57
571
361
366
383
726
712
532
515
661
914
56
883
123
539
771
755
962
887
133
658
756
324
356
555
797
826
487
693
743
166
429
578
840
60
360
441
822
997
675
601
961
681
966
170
66
316
942
74
604
357
309
983
893
239
721
805
65
367
475
79
856
640
702
750
856
603
711
814
301
655
197
464
886
242
617
464
991
70
687
736
306
538
240
43
624
141
384
415
935
799
772
539
898
859
919
103
727
748
451
58
47
645
160
414
209
583
626
226
198
411
134
548
939
989
185
52
686
46
369
452
165
655
102
557
415
862
245
910
829
495
90
47
344
794
59
486
455
217
578
198
333
721
753
376
663
363
485
232
291
711
452
961
510
274
78
206
964
71
146
276
195
543
124
83
912
276
68
263
831
504
154
782
934
440
742
966
164
432
773
391
591
447
150
915
244
222
327
998
913
160
94
344
764
626
925
828
524
495
627
933
719
683
887
609
638
895
649
598
670
904
260
616
202
848
362
382
494
984
444
636
648
820
702
785
909
574
69
593
786
588
167
344
641
130
921
206
709
156
746
988
451
616
185
639
994
462
635
249
866
243
897
446
993
904
652
500
555
341
521
764
642
775
622
143
625
747
83
175
452
221
888
883
59
894
826
992
52
155
66
546
278
763
451
98
880
87
925
698
516
917
912
199
489
733
385
95
743
507
109
218
48
997
547
78
317
60
232
723
58
495
788
752
237
217
969
247
575
509
804
686
219
296
78
743
424
497
686
152
514
333
287
139
739
325
678
308
327
760
576
143
346
214
869
56
188
115
121
333
944
952
486
133
114
634
691
432
332
917
284
959
328
313
299
808
313
211
602
256
571
50
207
275
242
764
470
789
376
609
251
691
585
829
759
889
630
196
580
953
384
362
544
744
322
944
385
693
634
588
590
323
509
583
72
42
612
145
943
634
860
278
48
565
613
320
827
830
198
193
211
80
590
932
368
193
463
413
518
599
563
322
170
187
410
606
921
944
214
613
627
789
839
895
788
55
619
280
470
216
671
399
939
277
153
830
684
274
146
567
629
152
164
275
329
453
569
266
708
101
646
909
746
431
545
380
695
429
689
389
674
822
632
94
578
88
118
216
47
555
925
692
517
622
660
458
116
851
137
886
410
573
938
254
744
782
551
996
453
995
752
635
337
232
643
620
291
270
328
836
566
74
646
681
812
768
643
399
634
76
243
894
924
144
315
946
70
670
76
715
533
211
848
444
381
870
256
801
63
369
846
307
221
710
242
580
334
690
225
337
920
209
661
798
982
538
267
767
997
245
468
514
736
928
884
601
741
619
965
552
140
219
863
937
701
107
881
312
353
551
393
603
94
999
565
952
503
140
220
905
231
899
448
857
529
136
284
198
48
725
512
908
736
327
642
99
498
818
981
686
121
755
532
246
201
56
679
157
267
926
796
264
463
599
876
381
590
825
132
184
878
533
374
428
365
603
355
200
408
653
128
181
392
836
96
41
486
191
897
346
678
115
601
321
795
957
660
190
877
100
206
262
235
987
739
279
758
479
483
93
421
354
863
599
801
738
193
268
867
233
874
265
622
348
470
590
518
937
131
995
821
272
824
974
989
897
812
104
118
381
557
731
428
48
866
790
859
132
609
280
789
371
807
600
672
923
208
601
404
629
465
193
838
643
69
647
600
180
474
660
192
274
311
291
556
571
295
625
947
100
186
538
597
823
947
641
734
494
972
993
759
248
165
900
470
56
172
263
346
325
678
597
177
240
66
486
416
532
660
726
551
131
776
650
184
983
708
383
819
398
753
815
438
621
749
437
708
78
892
506
365
717
460
493
621
218
529
853
383
624
825
672
133
364
702
854
291
950
820
316
765
177
254
448
845
127
298
500
468
727
541
307
865
751
796
133
348
132
196
367
935
553
744
555
395
930
484
667
480
319
873
323
283
725
359
392
402
291
276
225
526
703
556
905
639
783
910
535
960
677
528
664
983
464
512
960
361
165
211
719
749
909
820
43
666
187
335
687
962
994
452
932
705
285
279
159
533
98
144
822
946
711
806
660
686
924
524
903
242
427
209
893
656
828
363
618
319
666
418
695
254
601
890
381
175
317
590
612
344
375
400
457
255
973
346
158
839
357
364
782
363
187
350
376
750
681
67
414
747
913
270
839
643
862
731
417
139
383
408
809
173
496
719
348
95
849
888
217
815
102
470
937
55
523
645
515
976
440
974
664
889
366
200
241
332
781
351
352
69
152
502
715
719
122
257
142
253
118
347
303
221
863
947
416
749
469
474
612
457
668
941
138
128
755
391
428
506
927
791
323
426
307
928
446
568
796
920
538
888
461
669
697
123
707
817
216
884
557
587
640
355
205
666
924
211
519
919
783
171
477
524
267
545
195
83
358
732
834
604
944
412
868
105
475
402
903
846
286
870
537
716
49
644
82
396
52
687
391
869
415
844
404
591
959
457
548
532
969
348
642
242
312
48
613
357
251
190
950
651
344
42
229
948
631
183
676
70
878
997
547
544
127
539
551
87
67
840
687
708
504
704
127
136
496
606
344
665
777
547
580
432
722
999
584
133
464
529
144
840
107
844
903
551
282
663
151
748
461
998
611
701
799
478
992
703
596
282
221
634
398
469
550
325
943
108
730
246
88
184
617
666
153
244
900
394
423
192
668
351
184
681
236
297
467
891
404
64
201
478
676
710
550
100
640
87
633
770
977
748
278
141
135
119
630
344
678
212
751
275
904
411
239
93
487
794
657
926
691
339
516
751
516
396
154
214
318
54
280
163
897
784
138
518
673
501
764
392
927
64
829
969
505
673
908
553
259
895
56
644
465
128
955
760
842
830
282
687
742
635
626
974
104
74
516
115
156
922
343
532
515
288
580
547
800
583
47
886
141
389
645
491
82
316
976
123
233
705
788
556
642
954
95
660
517
673
895
434
54
457
49
546
245
744
356
721
99
930
409
728
860
189
485
858
410
792
882
406
312
136
527
678
993
474
44
359
901
928
477
446
126
334
514
900
278
507
853
760
402
780
215
604
982
79
484
980
937
934
330
634
867
117
956
167
756
299
96
537
483
465
938
344
142
132
492
823
152
586
207
498
566
267
886
226
556
663
417
645
84
91
512
477
925
911
775
201
658
129
512
861
834
504
466
46
935
528
653
474
81
196
551
473
798
543
799
144
542
743
124
169
329
53
992
444
986
875
400
159
328
327
243
820
159
498
589
64
482
358
795
827
647
91
989
47
504
878
932
572
815
215
454
398
938
508
677
882
736
926
288
256
370
434
333
164
363
582
906
828
291
963
985
869
429
841
840
804
955
691
288
355
508
150
436
431
996
760
976
814
139
456
705
265
124
675
246
471
998
66
897
911
48
405
524
248
870
306
668
814
449
875
437
598
399
68
955
205
610
546
753
938
798
225
155
275
517
881
157
796
96
862
237
289
143
559
721
58
380
823
365
128
75
995
66
299
585
864
526
787
682
288
503
724
485
897
859
966
326
645
861
132
705
682
325
299
463
329
434
673
218
592
877
657
805
813
556
970
899
53
836
331
110
354
155
148
260
753
816
64
558
905
47
127
85
870
296
277
995
788
500
112
321
850
703
799
602
211
905
489
957
195
692
141
778
636
880
286
889
427
520
900
148
765
547
851
641
963
323
951
773
707
776
319
398
368
501
362
50
220
662
347
607
348
608
855
335
956
544
953
87
203
744
737
336
694
298
520
286
765
881
786
131
905
311
703
479
756
746
191
931
887
711
787
397
306
97
183
592
902
521
580
289
198
490
184
397
340
789
89
655
730
845
506
944
651
539
163
897
941
687
349
908
926
588
47
610
907
594
940
885
193
833
235
498
904
214
896
893
221
181
159
754
94
820
446
946
756
248
836
992
301
237
356
725
715
460
488
201
131
264
913
596
304
647
405
113
763
706
894
160
322
573
883
390
704
723
343
660
946
169
969
625
550
920
138
592
284
193
525
254
419
798
700
299
722
263
698
644
980
848
357
749
661
555
426
569
858
627
961
541
101
590
80
608
781
484
95
647
761
295
572
662
341
557
179
553
835
430
873
309
246
170
893
396
734
784
649
433
119
490
735
592
760
529
774
712
625
384
687
714
890
80
469
870
240
233
177
520
665
136
641
198
312
993
649
366
90
421
353
218
793
435
834
354
669
644
187
860
74
658
256
790
935
564
812
713
871
421
375
108
358
652
762
447
54
716
801
561
86
978
916
920
645
381
235
121
380
126
100
407
758
374
479
592
565
93
864
432
165
620
804
498
99
213
745
655
547
637
950
321
293
60
587
311
724
337
313
673
637
983
565
41
856
860
747
292
281
510
558
568
695
373
407
289
207
791
981
779
788
840
787
219
277
573
806
492
556
100
379
666
249
969
446
757
342
552
733
672
810
351
169
319
802
327
390
460
467
623
612
395
68
910
931
350
597
350
664
378
921
981
103
260
643
879
587
250
615
516
710
897
135
983
181
340
842
113
408
888
851
211
867
643
395
834
886
893
262
577
295
638
62
47
326
710
585
916
167
167
444
469
912
167
381
133
103
327
462
117
786
950
872
259
568
501
507
78
681
851
704
805
749
674
911
447
876
986
229
835
978
492
713
694
72
449
721
976
700
444
387
429
735
737
709
916
697
287
713
324
168
754
803
433
987
830
711
605
612
976
698
878
779
186
281
469
98
483
959
884
298
548
931
162
82
288
979
767
600
849
755
875
727
357
83
497
587
524
576
634
997
646
899
823
749
618
519
425
972
401
628
352
816
123
561
472
337
409
478
705
867
377
252
929
666
650
783
998
292
725
159
168
796
885
871
924
231
68
902
76
556
645
142
49
108
445
629
809
270
409
235
424
351
987
146
657
564
826
972
137
48
491
379
179
525
916
888
119
300
939
315
581
451
717
897
295
814
130
376
627
400
249
421
757
660
918
671
600
221
92
423
623
532
72
617
529
99
726
819
109
820
256
742
731
867
41
668
606
227
78
713
360
404
522
716
681
844
226
119
869
924
73
251
254
579
656
228
718
484
214
757
678
72
953
364
887
54
85
350
471
872
63
730
536
961
520
991
999
954
129
612
320
59
762
570
228
735
661
87
614
457
632
251
396
482
543
674
173
540
75
912
243
906
286
816
381
315
854
926
774
711
732
709
827
610
406
749
717
481
410
199
754
817
266
280
929
384
715
400
555
357
222
800
208
44
679
701
656
237
512
811
780
490
722
658
224
592
684
349
879
618
288
534
673
601
250
795
468
957
75
433
721
90
700
770
375
290
552
624
50
782
779
69
824
923
658
930
473
282
192
519
88
474
340
836
451
930
486
347
758
644
875
57
183
854
810
636
631
556
89
244
922
811
532
735
395
817
915
695
988
869
201
847
390
568
482
683
386
312
891
531
599
424
826
933
551
241
719
426
763
178
72
232
645
757
825
104
240
771
767
535
233
926
576
145
249
225
920
646
539
358
471
831
330
614
387
972
102
541
153
288
308
817
974
704
413
780
54
298
623
847
423
641
833
195
186
243
932
854
505
183
383
706
522
372
770
136
455
346
911
188
772
129
169
288
285
776
944
966
52
261
775
793
642
270
609
180
252
653
732
432
385
63
55
666
671
706
101
133
112
244
422
84
399
97
540
921
802
69
994
700
787
365
281
233
177
389
787
43
345
274
369
674
410
972
460
925
369
820
354
931
201
113
944
896
429
455
103
695
168
603
200
706
905
287
374
417
467
944
737
507
900
305
892
756
761
703
216
876
913
673
692
444
461
151
174
236
564
887
806
81
118
161
607
515
216
134
497
344
627
909
668
385
266
567
157
766
689
577
704
846
598
757
262
636
113
395
491
874
385
739
493
862
159
338
129
196
637
469
779
269
254
517
837
121
837
190
992
262
105
116
88
273
156
805
969
704
843
559
163
306
190
623
267
351
582
693
471
346
351
802
773
85
233
209
93
858
333
712
634
503
849
849
873
791
974
641
67
207
212
467
887
970
780
508
434
228
498
489
511
208
162
190
408
228
50
328
187
145
832
43
90
546
105
826
127
681
537
197
917
692
179
928
77
199
341
837
641
186
477
277
204
413
361
748
495
597
835
177
571
344
128
578
292
755
486
296
827
761
757
162
921
337
397
113
447
271
835
897
789
526
988
575
400
735
341
843
377
482
901
827
965
71
468
53
280
568
658
282
775
829
981
100
803
454
139
493
695
532
724
697
288
259
752
354
423
71
466
274
826
380
210
667
970
592
45
338
350
858
171
964
989
716
124
964
451
977
647
497
819
987
844
667
384
59
872
292
241
239
426
868
387
469
876
87
305
329
701
58
614
138
369
469
369
601
337
938
306
327
288
298
418
270
329
661
511
278
691
617
864
702
564
53
748
848
644
787
322
489
599
289
289
742
843
497
251
927
299
568
49
992
685
220
406
682
559
988
378
207
921
714
584
822
537
330
401
84
234
945
213
117
419
536
469
436
885
941
897
436
561
664
980
207
73
760
464
676
892
583
181
751
101
321
918
979
906
279
224
703
474
967
367
145
903
154
188
867
184
902
281
604
91
516
372
203
130
742
346
668
643
542
117
306
442
775
910
643
217
600
411
455
707
296
56
945
722
513
623
873
387
582
852
649
936
41
810
370
764
794
422
771
797
859
299
150
327
167
82
48
75
326
516
544
731
152
843
859
896
770
520
703
475
686
644
468
752
62
325
780
946
960
196
793
219
56
157
867
571
489
555
658
651
674
186
450
461
327
789
168
382
697
770
269
435
298
602
820
656
957
745
826
918
433
331
74
542
589
588
848
52
854
197
300
632
78
461
661
869
125
40
877
786
122
836
426
802
837
551
49
398
803
85
521
447
865
988
355
724
285
732
560
