Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Solution 324059

Submitted on 26 Sep 2013 by James

Correct

57Size
Leading solution size is 37.
This solution is locked. To view this solution, you need to provide a solution of the same size or smaller.

Test Suite

Test
Code Input and Output
1
Pass
 
%%
tic
v=[1 ];
vexp=[1 ];
vout=Sort_CH(v);
assert(isequal(vout,vexp))

                    
2
Pass
 
%%
v=[2 1 ];
vexp=[2 1 ];
vout=Sort_CH(v);
assert(isequal(vout,vexp))

                    
3
Pass
 
%%
v=[1 2 3 ];
vexp=[1 2 3 ];
vout=Sort_CH(v);
assert(isequal(vout,vexp))

                    
4
Pass
 
%%
v=[1 2 3 4 5 ];
vexp=[1 4 3 2 5 ];
vout=Sort_CH(v);
assert(isequal(vout,vexp))

                    
5
Pass
 
%%
v=[5 2 3 4 1 ];
vexp=[1 4 3 2 5 ];
vout=Sort_CH(v);
assert(isequal(vout,vexp))

                    
6
Pass
 
%%
v=[994 994 -981 -975 -971 980 -971 976 -969 -969 968 968 958 -963 -957 948 -955 932 926 -935 924 -931 -923 -917 922 -917 -909 -899 916 914 -899 -877 -871 -871 -867 -847 912 -829 912 -825 -819 -817 910 -811 -805 -803 -801 904 -791 -783 -745 -731 902 -725 -725 -715 900 896 -707 896 -705 -705 -693 -691 882 -687 -685 -683 -671 -663 882 -663 880 880 -651 -651 -637 876 -637 -623 -613 -605 -601 -577 -577 862 -571 -565 856 848 -559 -559 -555 -553 844 -551 840 828 -547 -539 -527 812 -525 806 802 -505 -503 -497 -497 -495 798 -493 -491 -483 -481 798 770 770 -481 770 762 758 -477 -469 -463 -457 756 -455 -451 -441 -439 -431 -429 752 -427 -413 -409 742 -403 726 -391 722 -389 -385 718 -379 -365 -363 -359 712 702 -355 -351 682 -347 682 674 672 -343 672 -325 664 -319 -319 -315 -309 -297 -287 -285 -279 662 658 -277 658 656 650 -275 644 -259 -259 -259 630 -255 -251 -245 -231 -231 -225 -221 -219 -215 628 616 -213 612 -209 -209 598 -207 -203 -193 594 -191 -165 594 574 -163 -137 -129 -129 -119 -119 -119 -113 -111 572 564 560 -101 -99 -93 -91 546 -91 546 -91 542 -67 534 -63 528 -57 -55 -55 -49 -39 -37 522 -35 -31 520 -29 -25 -21 -17 -15 -11 -11 514 510 500 -9 494 -5 15 17 490 23 490 484 33 476 33 47 464 49 59 63 77 462 462 77 460 458 77 77 81 444 444 95 442 97 99 105 105 107 111 113 117 434 424 420 119 133 416 408 394 380 376 135 143 143 376 374 147 368 175 342 338 338 336 185 187 195 195 336 197 197 334 201 326 203 316 312 312 308 308 300 211 286 219 219 237 239 247 249 251 253 259 265 273 284 277 262 258 283 285 287 289 297 248 242 303 305 319 327 335 351 357 385 385 238 232 220 397 399 401 210 403 407 210 210 409 204 411 200 415 425 425 200 429 198 429 198 196 192 190 186 433 435 441 451 463 473 473 182 483 182 495 176 170 154 507 507 150 148 509 529 533 148 130 128 124 112 539 96 551 555 70 561 70 565 577 581 581 585 599 70 609 58 56 611 44 613 44 621 625 625 36 627 28 26 2 627 637 647 651 0 685 689 689 689 0 693 693 693 0 -10 -14 -40 -42 -44 697 -56 705 707 715 -56 -64 715 719 -66 -66 721 729 729 731 741 741 763 763 -74 767 775 811 815 819 827 833 -78 845 845 -80 -82 847 847 847 851 867 -84 869 869 869 871 -86 873 -98 -98 -104 875 875 879 887 911 935 -118 935 -120 949 951 965 973 975 979 -128 -132 -138 -140 -150 -154 -154 -164 -172 -174 -188 -196 -198 -200 -204 -208 -214 -216 -224 -228 -238 -242 -242 -250 -260 -260 -280 -286 -294 -296 -298 -302 -304 -308 -324 -330 -336 -336 -340 -342 -342 -344 -352 -352 -360 -360 -364 -364 -366 -368 -370 -378 -384 -384 -384 -392 -392 -396 -402 -402 -406 -410 -410 -416 -420 -420 -420 -432 -436 -440 -442 -458 -462 -470 -478 -482 -494 -500 -502 -504 -514 -520 -524 -530 -532 -534 -546 -548 -550 -550 -552 -558 -560 -566 -572 -572 -594 -598 -600 -602 -616 -626 -632 -638 -640 -650 -652 -664 -666 -676 -676 -684 -694 -700 -704 -710 -714 -720 -728 -728 -732 -738 -750 -758 -758 -776 -778 -782 -792 -794 -798 -798 -808 -810 -812 -814 -814 -818 -826 -836 -846 -856 -858 -858 -858 -860 -866 -866 -886 -892 -896 -900 -902 -906 -910 -910 -910 -924 -926 -926 -934 -938 -940 -942 -944 -946 -952 -952 -966 -966 -968 -968 -976 ];
vexp=[994 994 -981 -975 -971 980 -971 976 -969 -969 968 968 958 -963 -957 948 -955 932 926 -935 924 -931 -923 -917 922 -917 -909 -899 916 914 -899 -877 -871 -871 -867 -847 912 -829 912 -825 -819 -817 910 -811 -805 -803 -801 904 -791 -783 -745 -731 902 -725 -725 -715 900 896 -707 896 -705 -705 -693 -691 882 -687 -685 -683 -671 -663 882 -663 880 880 -651 -651 -637 876 -637 -623 -613 -605 -601 -577 -577 862 -571 -565 856 848 -559 -559 -555 -553 844 -551 840 828 -547 -539 -527 812 -525 806 802 -505 -503 -497 -497 -495 798 -493 -491 -483 -481 798 770 770 -481 770 762 758 -477 -469 -463 -457 756 -455 -451 -441 -439 -431 -429 752 -427 -413 -409 742 -403 726 -391 722 -389 -385 718 -379 -365 -363 -359 712 702 -355 -351 682 -347 682 674 672 -343 672 -325 664 -319 -319 -315 -309 -297 -287 -285 -279 662 658 -277 658 656 650 -275 644 -259 -259 -259 630 -255 -251 -245 -231 -231 -225 -221 -219 -215 628 616 -213 612 -209 -209 598 -207 -203 -193 594 -191 -165 594 574 -163 -137 -129 -129 -119 -119 -119 -113 -111 572 564 560 -101 -99 -93 -91 546 -91 546 -91 542 -67 534 -63 528 -57 -55 -55 -49 -39 -37 522 -35 -31 520 -29 -25 -21 -17 -15 -11 -11 514 510 500 -9 494 -5 15 17 490 23 490 484 33 476 33 47 464 49 59 63 77 462 462 77 460 458 77 77 81 444 444 95 442 97 99 105 105 107 111 113 117 434 424 420 119 133 416 408 394 380 376 135 143 143 376 374 147 368 175 342 338 338 336 185 187 195 195 336 197 197 334 201 326 203 316 312 312 308 308 300 211 286 219 219 237 239 247 249 251 253 259 265 273 284 277 262 258 283 285 287 289 297 248 242 303 305 319 327 335 351 357 385 385 238 232 220 397 399 401 210 403 407 210 210 409 204 411 200 415 425 425 200 429 198 429 198 196 192 190 186 433 435 441 451 463 473 473 182 483 182 495 176 170 154 507 507 150 148 509 529 533 148 130 128 124 112 539 96 551 555 70 561 70 565 577 581 581 585 599 70 609 58 56 611 44 613 44 621 625 625 36 627 28 26 2 627 637 647 651 0 685 689 689 689 0 693 693 693 0 -10 -14 -40 -42 -44 697 -56 705 707 715 -56 -64 715 719 -66 -66 721 729 729 731 741 741 763 763 -74 767 775 811 815 819 827 833 -78 845 845 -80 -82 847 847 847 851 867 -84 869 869 869 871 -86 873 -98 -98 -104 875 875 879 887 911 935 -118 935 -120 949 951 965 973 975 979 -128 -132 -138 -140 -150 -154 -154 -164 -172 -174 -188 -196 -198 -200 -204 -208 -214 -216 -224 -228 -238 -242 -242 -250 -260 -260 -280 -286 -294 -296 -298 -302 -304 -308 -324 -330 -336 -336 -340 -342 -342 -344 -352 -352 -360 -360 -364 -364 -366 -368 -370 -378 -384 -384 -384 -392 -392 -396 -402 -402 -406 -410 -410 -416 -420 -420 -420 -432 -436 -440 -442 -458 -462 -470 -478 -482 -494 -500 -502 -504 -514 -520 -524 -530 -532 -534 -546 -548 -550 -550 -552 -558 -560 -566 -572 -572 -594 -598 -600 -602 -616 -626 -632 -638 -640 -650 -652 -664 -666 -676 -676 -684 -694 -700 -704 -710 -714 -720 -728 -728 -732 -738 -750 -758 -758 -776 -778 -782 -792 -794 -798 -798 -808 -810 -812 -814 -814 -818 -826 -836 -846 -856 -858 -858 -858 -860 -866 -866 -886 -892 -896 -900 -902 -906 -910 -910 -910 -924 -926 -926 -934 -938 -940 -942 -944 -946 -952 -952 -966 -966 -968 -968 -976 ];
vout=Sort_CH(v);
assert(isequal(vout,vexp))

                    
7
Pass
 
%%
v=[-979 990 -975 -973 -971 -955 990 -953 -943 -937 -925 -921 986 -917 -913 -911 -909 984 -905 -903 -901 -897 -897 -889 -877 -875 980 968 -875 -871 -861 966 -861 -859 -855 948 942 -823 -821 -811 -805 -805 -797 -795 -793 -793 -793 938 -791 936 -781 -779 936 924 -775 -775 -767 924 920 -757 -755 914 -755 -751 -751 -749 906 -749 906 -745 -745 902 -741 902 -737 898 -735 -729 -727 894 882 868 -723 -709 862 858 858 -705 842 842 838 -693 -681 -679 838 -665 -651 -641 -629 -627 836 -627 828 -623 -623 824 -617 -585 -575 -571 -563 816 -561 -561 -559 -559 -549 808 -539 -539 -535 796 -533 -533 -527 792 -525 788 -525 -521 -517 788 -517 -511 -511 -493 756 -491 756 752 -485 -477 736 -465 -455 -453 716 -451 -441 -429 714 712 712 -427 -407 710 -399 -393 -393 -391 -385 -381 710 -379 702 700 698 -371 -371 -371 -359 -349 684 -341 672 -339 -337 -331 -319 652 636 -315 636 -315 -303 630 630 630 -301 -301 -297 -297 630 -297 -295 -291 -287 -281 624 -267 -267 624 -255 624 -247 616 -247 608 -245 -243 -241 -237 -237 -233 -231 -225 -221 -205 -201 604 -193 602 -185 602 600 -175 -167 -167 598 594 594 -163 -143 -143 588 584 -139 582 578 -133 -121 -117 -103 -95 -91 -89 -65 -65 -55 574 -49 572 -45 572 -39 572 -39 -35 -35 570 -31 -23 -19 560 -7 560 548 7 542 7 9 532 11 11 31 33 37 532 55 532 522 71 77 520 506 504 500 85 91 91 496 494 91 490 93 93 95 448 105 448 440 107 109 111 117 436 125 416 125 404 129 133 384 137 139 141 143 378 378 143 374 364 362 360 147 147 151 352 157 352 338 159 169 181 336 187 203 332 205 330 207 207 219 223 326 318 229 308 231 231 298 294 239 292 239 243 253 292 257 259 261 273 286 284 275 281 287 295 295 297 297 299 307 307 311 313 313 282 278 276 272 264 327 250 329 333 248 343 246 343 242 349 351 353 357 359 363 377 379 381 385 242 385 385 240 389 226 226 401 226 403 405 417 419 226 429 429 429 431 222 461 463 216 477 481 483 483 214 495 204 198 188 497 507 507 184 184 517 519 531 182 533 182 535 539 539 545 567 573 587 180 589 595 174 154 595 595 144 597 144 609 623 144 631 637 637 657 142 659 132 663 130 665 665 669 679 689 126 693 124 693 106 697 701 100 707 100 709 715 715 98 721 723 733 88 737 72 66 52 52 50 40 737 749 749 34 755 759 767 34 769 32 771 26 26 26 773 26 779 14 783 8 0 787 791 0 791 793 0 793 0 815 817 819 819 -10 819 819 819 821 821 823 827 -14 827 831 845 -38 859 861 -42 865 873 877 881 891 893 909 -44 -50 911 913 915 921 923 935 945 945 951 -50 -52 -54 953 -64 -66 -68 -80 959 961 -82 -84 -92 967 975 -98 -98 -106 -110 -110 -112 -122 -126 -140 -140 -144 -148 -154 -154 -154 -154 -162 -162 -168 -172 -182 -182 -204 -204 -208 -220 -220 -228 -232 -240 -248 -252 -254 -256 -256 -264 -266 -276 -280 -286 -286 -286 -294 -294 -294 -296 -300 -300 -300 -306 -310 -312 -314 -314 -320 -346 -346 -362 -362 -366 -368 -368 -370 -378 -380 -380 -384 -392 -392 -410 -410 -412 -424 -430 -430 -434 -434 -434 -436 -436 -438 -438 -442 -444 -444 -448 -462 -468 -480 -488 -494 -506 -512 -512 -518 -530 -530 -536 -536 -536 -546 -546 -548 -550 -554 -556 -560 -560 -578 -580 -590 -590 -596 -596 -598 -598 -610 -612 -616 -616 -618 -626 -630 -634 -636 -638 -640 -642 -644 -644 -644 -648 -652 -654 -664 -674 -674 -686 -698 -700 -702 -708 -714 -714 -716 -718 -722 -726 -728 -728 -740 -742 -744 -750 -752 -756 -762 -766 -766 -768 -770 -770 -770 -778 -778 -780 -782 -786 -786 -792 -792 -798 -806 -810 -812 -820 -828 -844 -858 -858 -858 -860 -872 -874 -880 -882 -882 -888 -888 -890 -896 -902 -910 -912 -924 -924 -936 -938 -956 -956 -968 -980 -980 -980 -982 -988 -990 -994 -996 -998 ];
vexp=[-979 990 -975 -973 -971 -955 990 -953 -943 -937 -925 -921 986 -917 -913 -911 -909 984 -905 -903 -901 -897 -897 -889 -877 -875 980 968 -875 -871 -861 966 -861 -859 -855 948 942 -823 -821 -811 -805 -805 -797 -795 -793 -793 -793 938 -791 936 -781 -779 936 924 -775 -775 -767 924 920 -757 -755 914 -755 -751 -751 -749 906 -749 906 -745 -745 902 -741 902 -737 898 -735 -729 -727 894 882 868 -723 -709 862 858 858 -705 842 842 838 -693 -681 -679 838 -665 -651 -641 -629 -627 836 -627 828 -623 -623 824 -617 -585 -575 -571 -563 816 -561 -561 -559 -559 -549 808 -539 -539 -535 796 -533 -533 -527 792 -525 788 -525 -521 -517 788 -517 -511 -511 -493 756 -491 756 752 -485 -477 736 -465 -455 -453 716 -451 -441 -429 714 712 712 -427 -407 710 -399 -393 -393 -391 -385 -381 710 -379 702 700 698 -371 -371 -371 -359 -349 684 -341 672 -339 -337 -331 -319 652 636 -315 636 -315 -303 630 630 630 -301 -301 -297 -297 630 -297 -295 -291 -287 -281 624 -267 -267 624 -255 624 -247 616 -247 608 -245 -243 -241 -237 -237 -233 -231 -225 -221 -205 -201 604 -193 602 -185 602 600 -175 -167 -167 598 594 594 -163 -143 -143 588 584 -139 582 578 -133 -121 -117 -103 -95 -91 -89 -65 -65 -55 574 -49 572 -45 572 -39 572 -39 -35 -35 570 -31 -23 -19 560 -7 560 548 7 542 7 9 532 11 11 31 33 37 532 55 532 522 71 77 520 506 504 500 85 91 91 496 494 91 490 93 93 95 448 105 448 440 107 109 111 117 436 125 416 125 404 129 133 384 137 139 141 143 378 378 143 374 364 362 360 147 147 151 352 157 352 338 159 169 181 336 187 203 332 205 330 207 207 219 223 326 318 229 308 231 231 298 294 239 292 239 243 253 292 257 259 261 273 286 284 275 281 287 295 295 297 297 299 307 307 311 313 313 282 278 276 272 264 327 250 329 333 248 343 246 343 242 349 351 353 357 359 363 377 379 381 385 242 385 385 240 389 226 226 401 226 403 405 417 419 226 429 429 429 431 222 461 463 216 477 481 483 483 214 495 204 198 188 497 507 507 184 184 517 519 531 182 533 182 535 539 539 545 567 573 587 180 589 595 174 154 595 595 144 597 144 609 623 144 631 637 637 657 142 659 132 663 130 665 665 669 679 689 126 693 124 693 106 697 701 100 707 100 709 715 715 98 721 723 733 88 737 72 66 52 52 50 40 737 749 749 34 755 759 767 34 769 32 771 26 26 26 773 26 779 14 783 8 0 787 791 0 791 793 0 793 0 815 817 819 819 -10 819 819 819 821 821 823 827 -14 827 831 845 -38 859 861 -42 865 873 877 881 891 893 909 -44 -50 911 913 915 921 923 935 945 945 951 -50 -52 -54 953 -64 -66 -68 -80 959 961 -82 -84 -92 967 975 -98 -98 -106 -110 -110 -112 -122 -126 -140 -140 -144 -148 -154 -154 -154 -154 -162 -162 -168 -172 -182 -182 -204 -204 -208 -220 -220 -228 -232 -240 -248 -252 -254 -256 -256 -264 -266 -276 -280 -286 -286 -286 -294 -294 -294 -296 -300 -300 -300 -306 -310 -312 -314 -314 -320 -346 -346 -362 -362 -366 -368 -368 -370 -378 -380 -380 -384 -392 -392 -410 -410 -412 -424 -430 -430 -434 -434 -434 -436 -436 -438 -438 -442 -444 -444 -448 -462 -468 -480 -488 -494 -506 -512 -512 -518 -530 -530 -536 -536 -536 -546 -546 -548 -550 -554 -556 -560 -560 -578 -580 -590 -590 -596 -596 -598 -598 -610 -612 -616 -616 -618 -626 -630 -634 -636 -638 -640 -642 -644 -644 -644 -648 -652 -654 -664 -674 -674 -686 -698 -700 -702 -708 -714 -714 -716 -718 -722 -726 -728 -728 -740 -742 -744 -750 -752 -756 -762 -766 -766 -768 -770 -770 -770 -778 -778 -780 -782 -786 -786 -792 -792 -798 -806 -810 -812 -820 -828 -844 -858 -858 -858 -860 -872 -874 -880 -882 -882 -888 -888 -890 -896 -902 -910 -912 -924 -924 -936 -938 -956 -956 -968 -980 -980 -980 -982 -988 -990 -994 -996 -998 ];
vout=Sort_CH(v);
assert(isequal(vout,vexp))

                    
8
Pass
 
%%
v=[-999 968 -991 -983 -977 -975 -973 952 -945 -935 -931 -919 -915 -905 -903 -885 -861 -847 940 -847 -841 938 -825 -821 -811 -809 936 924 902 -791 -779 -771 -767 884 884 880 -757 -735 -735 -717 -717 -715 -715 878 876 -699 -689 -665 -655 -655 -651 -581 -577 -567 -559 -555 -549 -547 -539 858 840 -515 -513 -507 -505 832 804 -477 -473 -467 -457 -443 802 -441 796 -407 -403 -389 792 -385 780 774 -383 -377 -325 -303 770 770 754 -281 742 -257 724 -251 -249 -237 -233 -227 -217 -211 -203 -195 712 704 -179 -177 -147 -119 -99 -77 -57 -49 700 682 670 -49 -39 -35 646 -31 640 -27 624 -5 15 23 31 620 33 588 580 35 53 578 65 560 65 67 71 75 77 79 546 522 506 91 95 103 504 109 117 119 121 478 125 143 145 155 462 163 165 167 175 458 456 454 452 181 189 195 215 229 231 231 257 448 257 448 265 273 432 283 420 325 341 408 343 365 365 397 399 399 411 415 423 423 429 386 435 382 380 437 443 364 364 455 467 364 354 479 330 495 505 505 306 537 539 278 561 563 567 567 573 595 619 258 623 625 647 665 693 699 713 719 721 258 733 737 749 757 819 252 839 238 853 855 224 863 867 871 182 883 893 897 182 182 903 176 150 903 913 136 919 931 933 128 965 967 118 975 993 108 102 98 88 60 42 30 18 14 12 -2 -10 -22 -22 -44 -48 -52 -52 -60 -70 -82 -88 -88 -110 -112 -116 -124 -130 -130 -132 -156 -174 -184 -204 -206 -210 -232 -234 -242 -252 -254 -264 -316 -330 -332 -338 -342 -348 -352 -354 -360 -364 -370 -372 -376 -380 -408 -428 -452 -462 -462 -462 -482 -486 -496 -506 -510 -516 -524 -526 -528 -532 -542 -572 -592 -604 -606 -624 -636 -642 -662 -670 -686 -686 -706 -728 -728 -736 -776 -788 -792 -792 -798 -804 -840 -902 -904 -910 -918 -952 -962 -962 -968 -978 -990 -994 -998 ];
vexp=[-999 968 -991 -983 -977 -975 -973 952 -945 -935 -931 -919 -915 -905 -903 -885 -861 -847 940 -847 -841 938 -825 -821 -811 -809 936 924 902 -791 -779 -771 -767 884 884 880 -757 -735 -735 -717 -717 -715 -715 878 876 -699 -689 -665 -655 -655 -651 -581 -577 -567 -559 -555 -549 -547 -539 858 840 -515 -513 -507 -505 832 804 -477 -473 -467 -457 -443 802 -441 796 -407 -403 -389 792 -385 780 774 -383 -377 -325 -303 770 770 754 -281 742 -257 724 -251 -249 -237 -233 -227 -217 -211 -203 -195 712 704 -179 -177 -147 -119 -99 -77 -57 -49 700 682 670 -49 -39 -35 646 -31 640 -27 624 -5 15 23 31 620 33 588 580 35 53 578 65 560 65 67 71 75 77 79 546 522 506 91 95 103 504 109 117 119 121 478 125 143 145 155 462 163 165 167 175 458 456 454 452 181 189 195 215 229 231 231 257 448 257 448 265 273 432 283 420 325 341 408 343 365 365 397 399 399 411 415 423 423 429 386 435 382 380 437 443 364 364 455 467 364 354 479 330 495 505 505 306 537 539 278 561 563 567 567 573 595 619 258 623 625 647 665 693 699 713 719 721 258 733 737 749 757 819 252 839 238 853 855 224 863 867 871 182 883 893 897 182 182 903 176 150 903 913 136 919 931 933 128 965 967 118 975 993 108 102 98 88 60 42 30 18 14 12 -2 -10 -22 -22 -44 -48 -52 -52 -60 -70 -82 -88 -88 -110 -112 -116 -124 -130 -130 -132 -156 -174 -184 -204 -206 -210 -232 -234 -242 -252 -254 -264 -316 -330 -332 -338 -342 -348 -352 -354 -360 -364 -370 -372 -376 -380 -408 -428 -452 -462 -462 -462 -482 -486 -496 -506 -510 -516 -524 -526 -528 -532 -542 -572 -592 -604 -606 -624 -636 -642 -662 -670 -686 -686 -706 -728 -728 -736 -776 -788 -792 -792 -798 -804 -840 -902 -904 -910 -918 -952 -962 -962 -968 -978 -990 -994 -998 ];
vout=Sort_CH(v);
assert(isequal(vout,vexp))

                    
9
Pass
 
%%
v=[984 -997 -985 980 -983 978 -971 968 966 958 -969 952 -969 950 -963 944 -957 -955 936 -949 936 -949 -941 926 -935 -931 -917 -913 -913 -907 -903 -891 -861 924 922 918 916 912 902 894 -849 -847 -845 884 -837 878 878 -833 -827 876 862 836 834 832 822 822 -817 -809 -805 -803 -797 -791 804 786 784 -785 -773 778 -773 -763 -749 -749 -745 776 -741 -737 770 -737 -737 -735 -735 -731 -725 770 -723 -707 768 768 -707 762 760 -693 -683 -669 -667 750 746 740 -661 -649 -639 -637 -635 -609 730 728 -603 -595 728 -593 -589 -589 -585 -581 -581 728 -577 -567 -561 -547 724 -541 -539 -539 -539 -527 -525 -523 716 -517 -517 -515 714 702 702 676 -513 -487 -475 -471 672 -469 660 -467 652 -467 -467 634 632 -461 -457 -455 624 -455 -453 -451 624 618 -441 618 614 604 -439 -427 -413 -413 -409 -399 600 -399 594 -397 -387 594 -383 586 582 -377 580 580 -365 -359 -343 -337 578 -329 -327 -325 -323 -323 -315 -313 -301 -293 576 -275 576 572 572 572 -275 572 564 -273 -269 -259 560 -249 -249 560 -233 -233 552 -231 550 -219 -215 -215 -203 -197 -191 -189 -171 -169 -169 -163 -161 -159 -157 546 -155 -153 546 -151 -147 540 -147 -143 -143 -133 -131 -109 -109 -105 518 -105 -99 -99 -99 -99 -75 508 -73 -67 -63 -59 -55 508 -51 -39 -35 -35 506 504 -33 500 -21 -7 496 -7 3 7 11 11 486 482 11 13 15 27 33 35 35 37 37 41 53 55 65 65 77 97 101 113 117 121 476 125 129 472 133 135 468 143 143 151 462 151 151 167 462 462 167 167 167 169 462 189 189 191 193 460 193 195 207 215 217 221 225 225 231 239 460 239 249 448 446 253 265 265 273 283 442 297 299 301 440 307 311 436 436 434 319 325 331 428 418 331 416 333 339 339 349 416 349 359 359 363 363 363 377 385 395 399 399 403 407 417 408 423 431 435 402 400 445 451 453 396 465 467 386 374 364 477 481 364 497 507 507 511 360 511 511 523 531 551 569 577 344 583 587 340 589 330 318 316 595 312 609 310 310 609 609 611 611 611 615 619 621 623 631 637 308 284 284 278 272 272 262 254 641 651 667 252 252 244 669 671 683 242 685 242 234 234 689 234 693 228 693 701 713 224 220 214 713 715 721 725 212 733 735 735 735 210 206 206 737 741 741 198 196 745 753 763 767 196 771 196 188 186 184 182 771 182 783 789 803 811 817 817 823 835 837 839 182 839 841 847 849 853 182 853 861 182 180 865 869 873 875 879 180 176 881 881 891 897 176 174 172 172 897 897 911 921 923 160 156 923 152 144 144 931 943 138 134 122 118 114 112 949 112 949 112 949 953 959 959 959 961 961 104 971 92 90 88 975 979 991 993 80 78 72 72 70 70 66 58 46 40 36 28 28 14 10 2 0 0 0 0 0 -2 -10 -22 -28 -32 -40 -40 -44 -54 -54 -66 -76 -78 -82 -84 -94 -110 -126 -134 -140 -146 -148 -154 -154 -162 -166 -168 -174 -182 -182 -184 -196 -196 -202 -202 -204 -206 -206 -208 -216 -220 -220 -232 -234 -242 -244 -254 -270 -286 -286 -288 -292 -294 -300 -306 -314 -322 -328 -336 -336 -340 -352 -360 -366 -368 -368 -374 -378 -392 -396 -396 -396 -396 -404 -404 -408 -416 -420 -422 -422 -424 -424 -426 -426 -432 -434 -436 -440 -440 -442 -444 -448 -448 -450 -460 -462 -464 -472 -474 -476 -480 -494 -494 -504 -506 -514 -516 -520 -520 -542 -542 -562 -564 -564 -572 -572 -572 -574 -584 -590 -590 -594 -600 -608 -616 -616 -616 -618 -622 -624 -626 -628 -654 -656 -664 -664 -676 -680 -682 -686 -700 -700 -702 -704 -704 -712 -722 -728 -728 -728 -730 -742 -742 -758 -768 -770 -778 -780 -780 -780 -782 -782 -784 -784 -786 -790 -792 -792 -812 -816 -818 -822 -834 -856 -858 -858 -866 -870 -870 -876 -880 -884 -886 -894 -902 -916 -916 -918 -918 -924 -924 -926 -926 -928 -936 -940 -948 -952 -952 -956 -962 -966 -966 -968 -976 -988 -988 -990 -992 -998 ];
vexp=[984 -997 -985 980 -983 978 -971 968 966 958 -969 952 -969 950 -963 944 -957 -955 936 -949 936 -949 -941 926 -935 -931 -917 -913 -913 -907 -903 -891 -861 924 922 918 916 912 902 894 -849 -847 -845 884 -837 878 878 -833 -827 876 862 836 834 832 822 822 -817 -809 -805 -803 -797 -791 804 786 784 -785 -773 778 -773 -763 -749 -749 -745 776 -741 -737 770 -737 -737 -735 -735 -731 -725 770 -723 -707 768 768 -707 762 760 -693 -683 -669 -667 750 746 740 -661 -649 -639 -637 -635 -609 730 728 -603 -595 728 -593 -589 -589 -585 -581 -581 728 -577 -567 -561 -547 724 -541 -539 -539 -539 -527 -525 -523 716 -517 -517 -515 714 702 702 676 -513 -487 -475 -471 672 -469 660 -467 652 -467 -467 634 632 -461 -457 -455 624 -455 -453 -451 624 618 -441 618 614 604 -439 -427 -413 -413 -409 -399 600 -399 594 -397 -387 594 -383 586 582 -377 580 580 -365 -359 -343 -337 578 -329 -327 -325 -323 -323 -315 -313 -301 -293 576 -275 576 572 572 572 -275 572 564 -273 -269 -259 560 -249 -249 560 -233 -233 552 -231 550 -219 -215 -215 -203 -197 -191 -189 -171 -169 -169 -163 -161 -159 -157 546 -155 -153 546 -151 -147 540 -147 -143 -143 -133 -131 -109 -109 -105 518 -105 -99 -99 -99 -99 -75 508 -73 -67 -63 -59 -55 508 -51 -39 -35 -35 506 504 -33 500 -21 -7 496 -7 3 7 11 11 486 482 11 13 15 27 33 35 35 37 37 41 53 55 65 65 77 97 101 113 117 121 476 125 129 472 133 135 468 143 143 151 462 151 151 167 462 462 167 167 167 169 462 189 189 191 193 460 193 195 207 215 217 221 225 225 231 239 460 239 249 448 446 253 265 265 273 283 442 297 299 301 440 307 311 436 436 434 319 325 331 428 418 331 416 333 339 339 349 416 349 359 359 363 363 363 377 385 395 399 399 403 407 417 408 423 431 435 402 400 445 451 453 396 465 467 386 374 364 477 481 364 497 507 507 511 360 511 511 523 531 551 569 577 344 583 587 340 589 330 318 316 595 312 609 310 310 609 609 611 611 611 615 619 621 623 631 637 308 284 284 278 272 272 262 254 641 651 667 252 252 244 669 671 683 242 685 242 234 234 689 234 693 228 693 701 713 224 220 214 713 715 721 725 212 733 735 735 735 210 206 206 737 741 741 198 196 745 753 763 767 196 771 196 188 186 184 182 771 182 783 789 803 811 817 817 823 835 837 839 182 839 841 847 849 853 182 853 861 182 180 865 869 873 875 879 180 176 881 881 891 897 176 174 172 172 897 897 911 921 923 160 156 923 152 144 144 931 943 138 134 122 118 114 112 949 112 949 112 949 953 959 959 959 961 961 104 971 92 90 88 975 979 991 993 80 78 72 72 70 70 66 58 46 40 36 28 28 14 10 2 0 0 0 0 0 -2 -10 -22 -28 -32 -40 -40 -44 -54 -54 -66 -76 -78 -82 -84 -94 -110 -126 -134 -140 -146 -148 -154 -154 -162 -166 -168 -174 -182 -182 -184 -196 -196 -202 -202 -204 -206 -206 -208 -216 -220 -220 -232 -234 -242 -244 -254 -270 -286 -286 -288 -292 -294 -300 -306 -314 -322 -328 -336 -336 -340 -352 -360 -366 -368 -368 -374 -378 -392 -396 -396 -396 -396 -404 -404 -408 -416 -420 -422 -422 -424 -424 -426 -426 -432 -434 -436 -440 -440 -442 -444 -448 -448 -450 -460 -462 -464 -472 -474 -476 -480 -494 -494 -504 -506 -514 -516 -520 -520 -542 -542 -562 -564 -564 -572 -572 -572 -574 -584 -590 -590 -594 -600 -608 -616 -616 -616 -618 -622 -624 -626 -628 -654 -656 -664 -664 -676 -680 -682 -686 -700 -700 -702 -704 -704 -712 -722 -728 -728 -728 -730 -742 -742 -758 -768 -770 -778 -780 -780 -780 -782 -782 -784 -784 -786 -790 -792 -792 -812 -816 -818 -822 -834 -856 -858 -858 -866 -870 -870 -876 -880 -884 -886 -894 -902 -916 -916 -918 -918 -924 -924 -926 -926 -928 -936 -940 -948 -952 -952 -956 -962 -966 -966 -968 -976 -988 -988 -990 -992 -998 ];
vout=Sort_CH(v);
assert(isequal(vout,vexp))

                    
10
Pass
 
%%
v=[-891 962 792 -851 784 730 -789 -781 662 662 -765 -737 -713 644 -567 -525 -465 534 -451 526 454 -427 -399 -173 -15 454 -1 77 378 175 202 185 170 275 313 367 82 407 459 473 507 621 691 707 731 805 825 935 981 52 48 46 -10 -66 -162 -168 -192 -196 -218 -232 -262 -280 -288 -332 -358 -402 -438 -448 -490 -502 -516 -572 -590 -598 -832 -834 ];
vexp=[-891 962 792 -851 784 730 -789 -781 662 662 -765 -737 -713 644 -567 -525 -465 534 -451 526 454 -427 -399 -173 -15 454 -1 77 378 175 202 185 170 275 313 367 82 407 459 473 507 621 691 707 731 805 825 935 981 52 48 46 -10 -66 -162 -168 -192 -196 -218 -232 -262 -280 -288 -332 -358 -402 -438 -448 -490 -502 -516 -572 -590 -598 -832 -834 ];
vout=Sort_CH(v);
assert(isequal(vout,vexp))

                    
11
Pass
 
%%
v=[990 988 -999 -995 -993 -993 -991 976 970 958 -989 -973 946 -965 -963 -957 -957 -941 938 -939 -937 -937 -913 -907 -901 938 938 924 -901 -893 924 -891 -889 918 -869 912 910 -869 -869 -845 -827 -811 -793 -741 906 868 -715 -715 844 836 -711 -709 812 -693 -693 -687 -665 808 786 774 -665 -663 -663 -615 -603 -593 -589 770 762 -587 756 -585 -581 -565 -565 -561 -555 -555 -553 -541 706 704 -539 -505 694 -503 -493 -455 -451 672 -427 -399 670 -385 658 -373 -359 656 -339 -335 654 -333 -327 636 -325 -313 -297 -297 -273 616 -263 -253 614 -251 604 590 -219 -209 550 -207 -203 -187 -185 -181 -177 -167 -159 546 -157 -145 -137 544 -135 -105 -77 -71 -67 -65 -41 540 -39 532 528 -37 526 -33 -31 -23 -21 -13 524 11 15 19 520 506 27 37 41 43 494 77 488 89 101 105 127 486 129 131 472 468 458 133 133 139 450 139 171 171 428 175 428 189 203 219 410 237 251 396 255 265 271 273 273 273 293 392 297 376 299 301 315 315 351 373 374 377 377 379 385 387 389 397 407 374 368 409 411 425 433 439 449 451 481 507 535 342 537 553 338 338 575 322 312 577 577 581 583 585 308 306 603 292 264 619 248 242 228 224 623 637 645 220 661 663 208 671 681 204 186 693 693 701 719 721 178 170 737 749 154 763 154 767 154 769 789 154 144 142 130 793 793 795 803 803 805 815 817 819 821 120 823 120 825 86 86 78 74 72 825 62 839 841 861 861 861 873 875 56 875 42 897 935 935 949 12 949 955 955 8 975 979 0 0 0 0 0 -52 -56 -60 -70 -70 -72 -94 -96 -98 -110 -110 -114 -116 -126 -126 -136 -158 -160 -176 -178 -182 -188 -196 -200 -206 -208 -208 -222 -224 -228 -276 -278 -296 -302 -316 -318 -324 -334 -346 -350 -350 -358 -364 -368 -370 -378 -378 -378 -386 -404 -416 -416 -418 -420 -432 -448 -462 -480 -482 -490 -502 -514 -516 -520 -546 -546 -546 -550 -564 -570 -570 -572 -574 -580 -600 -602 -624 -626 -626 -634 -650 -658 -658 -662 -686 -712 -716 -720 -726 -730 -732 -756 -756 -770 -780 -790 -798 -802 -824 -836 -882 -894 -906 -914 -914 -932 -950 -952 -966 -968 -978 -978 -990 -990 ];
vexp=[990 988 -999 -995 -993 -993 -991 976 970 958 -989 -973 946 -965 -963 -957 -957 -941 938 -939 -937 -937 -913 -907 -901 938 938 924 -901 -893 924 -891 -889 918 -869 912 910 -869 -869 -845 -827 -811 -793 -741 906 868 -715 -715 844 836 -711 -709 812 -693 -693 -687 -665 808 786 774 -665 -663 -663 -615 -603 -593 -589 770 762 -587 756 -585 -581 -565 -565 -561 -555 -555 -553 -541 706 704 -539 -505 694 -503 -493 -455 -451 672 -427 -399 670 -385 658 -373 -359 656 -339 -335 654 -333 -327 636 -325 -313 -297 -297 -273 616 -263 -253 614 -251 604 590 -219 -209 550 -207 -203 -187 -185 -181 -177 -167 -159 546 -157 -145 -137 544 -135 -105 -77 -71 -67 -65 -41 540 -39 532 528 -37 526 -33 -31 -23 -21 -13 524 11 15 19 520 506 27 37 41 43 494 77 488 89 101 105 127 486 129 131 472 468 458 133 133 139 450 139 171 171 428 175 428 189 203 219 410 237 251 396 255 265 271 273 273 273 293 392 297 376 299 301 315 315 351 373 374 377 377 379 385 387 389 397 407 374 368 409 411 425 433 439 449 451 481 507 535 342 537 553 338 338 575 322 312 577 577 581 583 585 308 306 603 292 264 619 248 242 228 224 623 637 645 220 661 663 208 671 681 204 186 693 693 701 719 721 178 170 737 749 154 763 154 767 154 769 789 154 144 142 130 793 793 795 803 803 805 815 817 819 821 120 823 120 825 86 86 78 74 72 825 62 839 841 861 861 861 873 875 56 875 42 897 935 935 949 12 949 955 955 8 975 979 0 0 0 0 0 -52 -56 -60 -70 -70 -72 -94 -96 -98 -110 -110 -114 -116 -126 -126 -136 -158 -160 -176 -178 -182 -188 -196 -200 -206 -208 -208 -222 -224 -228 -276 -278 -296 -302 -316 -318 -324 -334 -346 -350 -350 -358 -364 -368 -370 -378 -378 -378 -386 -404 -416 -416 -418 -420 -432 -448 -462 -480 -482 -490 -502 -514 -516 -520 -546 -546 -546 -550 -564 -570 -570 -572 -574 -580 -600 -602 -624 -626 -626 -634 -650 -658 -658 -662 -686 -712 -716 -720 -726 -730 -732 -756 -756 -770 -780 -790 -798 -802 -824 -836 -882 -894 -906 -914 -914 -932 -950 -952 -966 -968 -978 -978 -990 -990 ];
vout=Sort_CH(v);
assert(isequal(vout,vexp))

                    
12
Pass
 
%%
v=[-997 -995 994 -981 -977 -975 -971 988 -969 -931 -929 986 968 -903 -903 956 -897 -895 -887 -883 948 -879 -871 -871 -865 -863 946 -863 -861 -861 944 -853 934 924 -853 914 914 -847 -845 910 -829 898 -819 890 -807 -807 888 880 -803 -797 880 874 868 -793 860 842 -791 -783 840 -771 838 -767 -765 832 826 -763 826 -759 814 -759 -753 -733 812 -733 -729 -727 -727 -723 804 -715 802 -715 -707 798 -693 -671 -669 -669 -665 792 -663 -663 -663 -663 790 -653 -643 -635 -615 778 774 770 752 -611 -587 -579 746 -569 -569 -561 740 -555 -555 -553 -539 740 -537 -523 728 -517 -513 -509 -505 -497 -497 -493 -483 728 -479 -479 -475 -475 -467 722 722 -439 -431 -429 -425 706 -413 -407 704 702 690 678 676 -407 674 -393 -385 -385 672 670 -385 664 -383 -377 -371 -367 -355 -353 -353 -351 -347 658 -345 656 -327 652 -325 -323 650 616 -319 -315 616 604 602 602 -315 596 594 -313 572 572 566 -311 562 -295 -287 -285 -285 -275 -273 -273 -271 -261 -259 -259 -253 -249 550 -239 542 538 530 -233 -231 -231 -231 526 -217 520 -203 518 -189 518 -187 -183 516 -177 510 508 506 -173 -171 -145 506 504 504 -143 -143 494 492 482 -133 -129 478 474 -129 -125 -113 -111 -99 -93 -91 -81 472 -81 -77 -75 -63 -53 -45 -39 468 462 -39 -39 -13 7 9 13 21 23 35 43 452 43 450 49 49 51 55 67 71 448 73 77 77 81 91 446 93 97 101 105 115 119 121 125 428 151 422 151 171 173 181 187 420 189 195 410 400 392 197 207 211 211 392 221 221 376 376 223 225 364 229 231 231 342 235 241 340 241 336 332 245 326 247 253 322 253 312 255 308 261 269 306 279 291 286 309 286 315 323 266 258 323 329 341 343 256 347 357 379 381 385 397 401 403 403 407 421 427 244 427 429 242 429 433 433 238 433 437 441 234 220 208 443 208 196 451 455 459 467 469 186 182 178 469 475 483 483 505 511 513 539 539 557 559 561 565 168 168 567 166 156 575 156 585 593 154 150 593 148 144 136 130 595 597 597 609 613 617 120 633 637 639 647 661 671 118 114 112 679 110 679 679 110 681 683 687 106 98 98 693 693 695 98 76 699 72 699 713 715 721 64 727 62 731 733 62 56 735 739 741 745 52 749 749 52 28 22 20 759 14 759 763 8 763 765 767 8 6 4 0 0 0 0 0 0 767 767 785 791 801 -2 803 805 -8 -22 819 -24 825 833 -40 839 845 -44 847 847 847 -60 847 865 -64 865 871 909 -84 913 913 915 -84 919 -108 923 -110 929 933 933 -112 939 -114 949 963 965 -142 967 969 973 -144 -150 -156 981 983 987 989 993 995 995 -156 -164 -170 -174 -182 -188 -188 -208 -220 -240 -244 -252 -254 -262 -264 -268 -274 -280 -284 -286 -294 -318 -322 -330 -336 -338 -348 -350 -350 -356 -358 -370 -374 -384 -422 -422 -428 -432 -434 -434 -436 -436 -438 -440 -440 -458 -476 -476 -478 -482 -494 -494 -504 -504 -504 -506 -508 -512 -524 -526 -526 -528 -530 -532 -536 -538 -562 -564 -566 -570 -574 -580 -582 -592 -596 -596 -612 -614 -614 -616 -616 -618 -620 -620 -630 -632 -636 -642 -646 -648 -652 -656 -658 -658 -660 -664 -672 -672 -672 -690 -694 -714 -716 -730 -742 -748 -750 -768 -770 -770 -774 -778 -790 -794 -798 -806 -808 -812 -814 -822 -826 -830 -850 -858 -858 -878 -888 -892 -896 -900 -906 -910 -910 -910 -912 -922 -922 -926 -928 -950 -952 -976 -986 -986 ];
vexp=[-997 -995 994 -981 -977 -975 -971 988 -969 -931 -929 986 968 -903 -903 956 -897 -895 -887 -883 948 -879 -871 -871 -865 -863 946 -863 -861 -861 944 -853 934 924 -853 914 914 -847 -845 910 -829 898 -819 890 -807 -807 888 880 -803 -797 880 874 868 -793 860 842 -791 -783 840 -771 838 -767 -765 832 826 -763 826 -759 814 -759 -753 -733 812 -733 -729 -727 -727 -723 804 -715 802 -715 -707 798 -693 -671 -669 -669 -665 792 -663 -663 -663 -663 790 -653 -643 -635 -615 778 774 770 752 -611 -587 -579 746 -569 -569 -561 740 -555 -555 -553 -539 740 -537 -523 728 -517 -513 -509 -505 -497 -497 -493 -483 728 -479 -479 -475 -475 -467 722 722 -439 -431 -429 -425 706 -413 -407 704 702 690 678 676 -407 674 -393 -385 -385 672 670 -385 664 -383 -377 -371 -367 -355 -353 -353 -351 -347 658 -345 656 -327 652 -325 -323 650 616 -319 -315 616 604 602 602 -315 596 594 -313 572 572 566 -311 562 -295 -287 -285 -285 -275 -273 -273 -271 -261 -259 -259 -253 -249 550 -239 542 538 530 -233 -231 -231 -231 526 -217 520 -203 518 -189 518 -187 -183 516 -177 510 508 506 -173 -171 -145 506 504 504 -143 -143 494 492 482 -133 -129 478 474 -129 -125 -113 -111 -99 -93 -91 -81 472 -81 -77 -75 -63 -53 -45 -39 468 462 -39 -39 -13 7 9 13 21 23 35 43 452 43 450 49 49 51 55 67 71 448 73 77 77 81 91 446 93 97 101 105 115 119 121 125 428 151 422 151 171 173 181 187 420 189 195 410 400 392 197 207 211 211 392 221 221 376 376 223 225 364 229 231 231 342 235 241 340 241 336 332 245 326 247 253 322 253 312 255 308 261 269 306 279 291 286 309 286 315 323 266 258 323 329 341 343 256 347 357 379 381 385 397 401 403 403 407 421 427 244 427 429 242 429 433 433 238 433 437 441 234 220 208 443 208 196 451 455 459 467 469 186 182 178 469 475 483 483 505 511 513 539 539 557 559 561 565 168 168 567 166 156 575 156 585 593 154 150 593 148 144 136 130 595 597 597 609 613 617 120 633 637 639 647 661 671 118 114 112 679 110 679 679 110 681 683 687 106 98 98 693 693 695 98 76 699 72 699 713 715 721 64 727 62 731 733 62 56 735 739 741 745 52 749 749 52 28 22 20 759 14 759 763 8 763 765 767 8 6 4 0 0 0 0 0 0 767 767 785 791 801 -2 803 805 -8 -22 819 -24 825 833 -40 839 845 -44 847 847 847 -60 847 865 -64 865 871 909 -84 913 913 915 -84 919 -108 923 -110 929 933 933 -112 939 -114 949 963 965 -142 967 969 973 -144 -150 -156 981 983 987 989 993 995 995 -156 -164 -170 -174 -182 -188 -188 -208 -220 -240 -244 -252 -254 -262 -264 -268 -274 -280 -284 -286 -294 -318 -322 -330 -336 -338 -348 -350 -350 -356 -358 -370 -374 -384 -422 -422 -428 -432 -434 -434 -436 -436 -438 -440 -440 -458 -476 -476 -478 -482 -494 -494 -504 -504 -504 -506 -508 -512 -524 -526 -526 -528 -530 -532 -536 -538 -562 -564 -566 -570 -574 -580 -582 -592 -596 -596 -612 -614 -614 -616 -616 -618 -620 -620 -630 -632 -636 -642 -646 -648 -652 -656 -658 -658 -660 -664 -672 -672 -672 -690 -694 -714 -716 -730 -742 -748 -750 -768 -770 -770 -774 -778 -790 -794 -798 -806 -808 -812 -814 -822 -826 -830 -850 -858 -858 -878 -888 -892 -896 -900 -906 -910 -910 -910 -912 -922 -922 -926 -928 -950 -952 -976 -986 -986 ];
vout=Sort_CH(v);
assert(isequal(vout,vexp))

                    
13
Pass
 
%%
v=[-999 -993 -987 -983 -979 998 -975 -975 -973 994 -953 -951 -949 -947 -943 -935 -925 -923 -919 994 -919 -909 -901 986 970 970 966 -897 962 -897 952 -891 950 -885 938 -885 -877 924 916 -869 916 916 906 906 -855 -847 902 -845 -825 -819 898 -819 -815 -813 -813 -805 -803 -799 -797 892 -793 888 -791 -781 884 -779 878 -777 876 -773 -763 -763 872 870 -759 -757 870 862 -753 -749 -747 858 -745 854 -741 -737 -737 -735 -731 -727 -727 -721 -715 854 -715 -713 836 -711 -709 -709 -699 832 824 -693 -689 -689 822 818 816 -689 -689 -687 -683 -679 -677 812 -671 -671 802 -667 798 798 796 786 -667 -643 784 -637 -637 784 -637 -637 782 774 -635 -627 -615 -611 -609 -595 770 -595 766 -585 760 758 754 -573 -559 -559 -547 -531 744 -517 -517 -515 -511 744 -505 738 -495 -493 738 -455 -455 -439 738 -439 -435 734 -431 734 -429 -423 728 728 728 -411 -407 728 -403 -403 728 -401 706 -401 704 -395 -389 700 -385 700 -375 694 -375 -373 -369 692 -359 -351 -351 -341 -337 -335 -329 -327 -309 -301 -297 -297 -295 -289 686 -285 676 -281 -275 -273 674 670 668 -253 658 -253 -247 656 -241 -237 650 -235 -235 648 -227 644 644 -223 -221 -211 -209 638 626 -195 -189 -175 -169 624 624 622 -163 616 -155 -155 616 602 -143 -143 -137 -115 -99 -99 -95 -91 -89 594 -85 -75 -73 -63 -55 592 -49 592 572 -39 -37 572 570 -33 -23 568 -21 -3 564 -1 564 -1 562 560 558 -1 546 13 13 542 19 27 31 49 532 69 77 83 528 85 91 91 97 101 105 498 119 125 127 498 129 131 137 139 143 145 149 151 165 494 165 169 175 195 201 490 203 209 486 484 211 211 480 217 221 225 476 231 239 239 239 472 464 239 245 253 464 259 462 259 462 273 462 273 279 287 287 291 291 307 311 462 313 317 319 321 325 331 341 343 351 359 365 369 373 375 462 377 448 385 385 448 389 440 391 438 407 411 413 429 435 432 441 441 445 447 432 428 451 451 457 418 459 467 471 416 414 475 386 483 485 495 495 497 499 507 517 382 380 521 525 368 360 356 525 527 336 318 531 531 312 308 292 286 539 268 266 539 559 567 571 264 262 260 571 577 581 585 593 595 252 595 605 609 611 611 611 252 613 248 621 244 242 238 621 623 623 623 234 627 234 627 627 234 639 234 643 645 647 649 649 651 651 226 653 675 679 224 685 689 220 689 689 697 214 705 705 206 707 709 711 715 725 200 735 735 198 737 741 196 196 749 753 196 753 759 194 771 777 777 787 789 178 799 803 811 813 176 174 815 815 158 154 819 827 827 833 841 845 847 847 154 851 851 859 154 861 861 863 867 154 875 154 885 887 891 154 895 154 895 907 909 913 915 154 917 148 921 923 136 931 130 937 130 118 949 957 957 961 112 963 110 110 971 979 102 979 98 98 92 88 985 987 84 84 76 66 56 46 42 42 42 40 28 24 14 0 0 0 0 -2 -6 -26 -26 -26 -34 -34 -42 -42 -42 -44 -52 -58 -92 -94 -98 -100 -108 -110 -120 -126 -126 -134 -142 -144 -146 -150 -154 -154 -154 -154 -156 -156 -158 -174 -176 -182 -196 -228 -252 -252 -260 -264 -266 -266 -278 -278 -282 -286 -290 -296 -304 -310 -312 -316 -320 -326 -330 -334 -340 -342 -346 -348 -352 -362 -364 -374 -378 -382 -386 -388 -390 -392 -396 -404 -406 -406 -412 -414 -418 -426 -428 -432 -438 -442 -450 -462 -464 -468 -468 -472 -476 -486 -490 -492 -518 -520 -526 -526 -532 -532 -534 -546 -546 -546 -546 -548 -550 -560 -566 -572 -578 -580 -596 -596 -598 -614 -616 -620 -622 -640 -660 -664 -670 -672 -676 -686 -696 -698 -698 -702 -708 -726 -728 -728 -742 -750 -752 -754 -754 -764 -770 -770 -780 -784 -788 -792 -794 -806 -806 -818 -820 -822 -822 -824 -830 -852 -862 -864 -868 -868 -868 -872 -878 -896 -902 -906 -910 -910 -914 -922 -924 -924 -924 -924 -926 -936 -936 -938 -940 -956 -958 -962 -968 -988 -994 -994 -994 -994 -1000 ];
vexp=[-999 -993 -987 -983 -979 998 -975 -975 -973 994 -953 -951 -949 -947 -943 -935 -925 -923 -919 994 -919 -909 -901 986 970 970 966 -897 962 -897 952 -891 950 -885 938 -885 -877 924 916 -869 916 916 906 906 -855 -847 902 -845 -825 -819 898 -819 -815 -813 -813 -805 -803 -799 -797 892 -793 888 -791 -781 884 -779 878 -777 876 -773 -763 -763 872 870 -759 -757 870 862 -753 -749 -747 858 -745 854 -741 -737 -737 -735 -731 -727 -727 -721 -715 854 -715 -713 836 -711 -709 -709 -699 832 824 -693 -689 -689 822 818 816 -689 -689 -687 -683 -679 -677 812 -671 -671 802 -667 798 798 796 786 -667 -643 784 -637 -637 784 -637 -637 782 774 -635 -627 -615 -611 -609 -595 770 -595 766 -585 760 758 754 -573 -559 -559 -547 -531 744 -517 -517 -515 -511 744 -505 738 -495 -493 738 -455 -455 -439 738 -439 -435 734 -431 734 -429 -423 728 728 728 -411 -407 728 -403 -403 728 -401 706 -401 704 -395 -389 700 -385 700 -375 694 -375 -373 -369 692 -359 -351 -351 -341 -337 -335 -329 -327 -309 -301 -297 -297 -295 -289 686 -285 676 -281 -275 -273 674 670 668 -253 658 -253 -247 656 -241 -237 650 -235 -235 648 -227 644 644 -223 -221 -211 -209 638 626 -195 -189 -175 -169 624 624 622 -163 616 -155 -155 616 602 -143 -143 -137 -115 -99 -99 -95 -91 -89 594 -85 -75 -73 -63 -55 592 -49 592 572 -39 -37 572 570 -33 -23 568 -21 -3 564 -1 564 -1 562 560 558 -1 546 13 13 542 19 27 31 49 532 69 77 83 528 85 91 91 97 101 105 498 119 125 127 498 129 131 137 139 143 145 149 151 165 494 165 169 175 195 201 490 203 209 486 484 211 211 480 217 221 225 476 231 239 239 239 472 464 239 245 253 464 259 462 259 462 273 462 273 279 287 287 291 291 307 311 462 313 317 319 321 325 331 341 343 351 359 365 369 373 375 462 377 448 385 385 448 389 440 391 438 407 411 413 429 435 432 441 441 445 447 432 428 451 451 457 418 459 467 471 416 414 475 386 483 485 495 495 497 499 507 517 382 380 521 525 368 360 356 525 527 336 318 531 531 312 308 292 286 539 268 266 539 559 567 571 264 262 260 571 577 581 585 593 595 252 595 605 609 611 611 611 252 613 248 621 244 242 238 621 623 623 623 234 627 234 627 627 234 639 234 643 645 647 649 649 651 651 226 653 675 679 224 685 689 220 689 689 697 214 705 705 206 707 709 711 715 725 200 735 735 198 737 741 196 196 749 753 196 753 759 194 771 777 777 787 789 178 799 803 811 813 176 174 815 815 158 154 819 827 827 833 841 845 847 847 154 851 851 859 154 861 861 863 867 154 875 154 885 887 891 154 895 154 895 907 909 913 915 154 917 148 921 923 136 931 130 937 130 118 949 957 957 961 112 963 110 110 971 979 102 979 98 98 92 88 985 987 84 84 76 66 56 46 42 42 42 40 28 24 14 0 0 0 0 -2 -6 -26 -26 -26 -34 -34 -42 -42 -42 -44 -52 -58 -92 -94 -98 -100 -108 -110 -120 -126 -126 -134 -142 -144 -146 -150 -154 -154 -154 -154 -156 -156 -158 -174 -176 -182 -196 -228 -252 -252 -260 -264 -266 -266 -278 -278 -282 -286 -290 -296 -304 -310 -312 -316 -320 -326 -330 -334 -340 -342 -346 -348 -352 -362 -364 -374 -378 -382 -386 -388 -390 -392 -396 -404 -406 -406 -412 -414 -418 -426 -428 -432 -438 -442 -450 -462 -464 -468 -468 -472 -476 -486 -490 -492 -518 -520 -526 -526 -532 -532 -534 -546 -546 -546 -546 -548 -550 -560 -566 -572 -578 -580 -596 -596 -598 -614 -616 -620 -622 -640 -660 -664 -670 -672 -676 -686 -696 -698 -698 -702 -708 -726 -728 -728 -742 -750 -752 -754 -754 -764 -770 -770 -780 -784 -788 -792 -794 -806 -806 -818 -820 -822 -822 -824 -830 -852 -862 -864 -868 -868 -868 -872 -878 -896 -902 -906 -910 -910 -914 -922 -924 -924 -924 -924 -926 -936 -936 -938 -940 -956 -958 -962 -968 -988 -994 -994 -994 -994 -1000 ];
vout=Sort_CH(v);
assert(isequal(vout,vexp))

                    
14
Pass
 
%%
v=[994 -969 988 986 -957 -931 966 -889 -889 -883 -881 -877 -877 960 -873 914 -861 912 -847 -845 -841 -835 900 -805 -803 -793 -793 886 864 -785 -765 -765 -737 -713 -713 -701 -661 -655 -621 840 -619 -615 -599 832 -595 -567 -553 828 -541 -497 -467 -455 -429 -419 -415 -387 794 -377 792 -375 -371 -365 -337 -333 -331 -321 -285 780 -285 762 -271 -263 758 -259 -257 732 728 -249 -235 -231 -231 -189 726 -189 -181 -175 698 -153 -149 696 684 -127 672 -119 -115 652 -115 -113 644 -93 -91 608 -91 602 -77 -49 -45 594 -35 -5 562 -3 11 540 538 518 506 41 43 506 57 111 121 474 123 161 177 191 203 207 217 217 247 259 269 273 468 464 442 297 303 319 321 333 343 349 420 418 353 410 397 406 427 384 427 429 384 455 455 467 378 370 493 505 364 525 364 533 348 336 539 541 583 589 611 330 316 619 627 647 651 681 717 719 308 725 739 757 767 282 777 274 779 797 847 264 262 252 853 873 242 933 947 969 971 979 232 208 182 999 999 174 170 138 132 126 110 108 98 98 70 44 44 22 4 0 0 0 -2 -22 -58 -66 -74 -94 -116 -148 -158 -182 -210 -214 -222 -226 -238 -248 -252 -256 -286 -310 -320 -336 -342 -370 -388 -402 -402 -416 -440 -440 -458 -460 -460 -490 -504 -514 -528 -560 -572 -588 -596 -600 -616 -638 -642 -654 -660 -676 -684 -702 -706 -708 -720 -726 -742 -746 -766 -786 -812 -832 -840 -846 -864 -910 -912 -916 -948 -966 -982 -986 -992 ];
vexp=[994 -969 988 986 -957 -931 966 -889 -889 -883 -881 -877 -877 960 -873 914 -861 912 -847 -845 -841 -835 900 -805 -803 -793 -793 886 864 -785 -765 -765 -737 -713 -713 -701 -661 -655 -621 840 -619 -615 -599 832 -595 -567 -553 828 -541 -497 -467 -455 -429 -419 -415 -387 794 -377 792 -375 -371 -365 -337 -333 -331 -321 -285 780 -285 762 -271 -263 758 -259 -257 732 728 -249 -235 -231 -231 -189 726 -189 -181 -175 698 -153 -149 696 684 -127 672 -119 -115 652 -115 -113 644 -93 -91 608 -91 602 -77 -49 -45 594 -35 -5 562 -3 11 540 538 518 506 41 43 506 57 111 121 474 123 161 177 191 203 207 217 217 247 259 269 273 468 464 442 297 303 319 321 333 343 349 420 418 353 410 397 406 427 384 427 429 384 455 455 467 378 370 493 505 364 525 364 533 348 336 539 541 583 589 611 330 316 619 627 647 651 681 717 719 308 725 739 757 767 282 777 274 779 797 847 264 262 252 853 873 242 933 947 969 971 979 232 208 182 999 999 174 170 138 132 126 110 108 98 98 70 44 44 22 4 0 0 0 -2 -22 -58 -66 -74 -94 -116 -148 -158 -182 -210 -214 -222 -226 -238 -248 -252 -256 -286 -310 -320 -336 -342 -370 -388 -402 -402 -416 -440 -440 -458 -460 -460 -490 -504 -514 -528 -560 -572 -588 -596 -600 -616 -638 -642 -654 -660 -676 -684 -702 -706 -708 -720 -726 -742 -746 -766 -786 -812 -832 -840 -846 -864 -910 -912 -916 -948 -966 -982 -986 -992 ];
vout=Sort_CH(v);
assert(isequal(vout,vexp))

                    
15
Pass
 
%%
v=[-991 -989 998 -987 -983 -973 996 982 980 -971 978 -965 -959 974 -957 -951 -947 966 -941 966 966 962 -931 -931 -909 -903 -895 -893 -889 -885 -883 944 -883 936 -869 912 -845 896 894 -845 -837 -833 -829 886 882 -817 880 -803 872 -791 -791 -777 -769 -765 -759 -753 870 -743 -729 864 -717 864 854 -711 -707 850 -695 -689 -683 840 826 -665 -661 -659 812 798 -659 766 -657 760 -653 -637 756 -631 -627 -621 -611 748 -609 -605 -605 -601 -597 -589 -573 -567 -541 -539 -539 740 730 -539 -535 -507 -483 728 -475 -469 714 -455 -453 710 704 -451 -447 -433 -433 -431 -421 -417 -417 686 -405 682 -403 680 -399 678 -391 672 -387 670 668 -385 660 -381 -381 636 -377 -367 -363 -353 -331 626 618 -325 -303 616 -299 -297 -291 584 -281 -277 578 578 572 570 -245 -243 -239 -231 -223 -221 -209 570 -205 -201 -185 -183 -175 -165 -163 -159 -157 568 -147 564 -139 562 -125 548 -117 544 542 -103 -101 528 -95 524 -95 -79 -71 -71 -61 -49 520 -41 -37 520 518 -33 -27 502 -25 490 -21 482 474 -17 474 -17 -9 -7 -7 7 13 15 446 17 23 446 31 35 440 35 39 45 49 49 426 59 418 406 67 91 404 93 103 388 105 107 113 388 117 119 121 123 131 141 143 143 161 173 173 179 378 195 358 197 203 231 257 356 263 271 273 275 277 287 297 338 301 303 338 305 323 325 336 330 369 381 399 322 308 407 308 413 308 296 419 419 296 425 439 292 445 280 451 451 260 451 453 246 469 469 469 483 246 495 242 501 242 511 517 232 212 529 539 206 180 178 539 178 549 549 553 559 561 561 565 567 573 585 585 595 607 623 633 641 657 683 689 719 727 733 735 741 759 168 779 783 166 164 791 807 817 819 823 861 865 869 869 162 903 907 138 907 913 913 917 923 132 132 941 130 953 957 126 122 965 971 981 985 993 995 104 98 98 94 88 88 86 80 78 76 68 66 66 60 58 52 36 36 22 16 0 0 0 -14 -20 -22 -26 -28 -52 -54 -56 -58 -70 -70 -72 -76 -118 -126 -126 -140 -140 -142 -154 -154 -168 -172 -174 -182 -188 -196 -196 -206 -208 -220 -220 -222 -226 -236 -262 -286 -300 -308 -308 -322 -322 -336 -342 -346 -366 -396 -396 -404 -444 -446 -450 -462 -462 -466 -468 -468 -486 -486 -490 -498 -498 -506 -520 -532 -546 -548 -588 -594 -594 -596 -596 -604 -608 -612 -616 -616 -616 -622 -622 -626 -626 -656 -656 -656 -664 -672 -680 -682 -682 -714 -718 -744 -750 -750 -756 -770 -788 -800 -806 -814 -816 -850 -858 -858 -864 -868 -868 -870 -882 -884 -910 -924 -928 -932 -942 -946 -950 -952 -980 -986 -988 ];
vexp=[-991 -989 998 -987 -983 -973 996 982 980 -971 978 -965 -959 974 -957 -951 -947 966 -941 966 966 962 -931 -931 -909 -903 -895 -893 -889 -885 -883 944 -883 936 -869 912 -845 896 894 -845 -837 -833 -829 886 882 -817 880 -803 872 -791 -791 -777 -769 -765 -759 -753 870 -743 -729 864 -717 864 854 -711 -707 850 -695 -689 -683 840 826 -665 -661 -659 812 798 -659 766 -657 760 -653 -637 756 -631 -627 -621 -611 748 -609 -605 -605 -601 -597 -589 -573 -567 -541 -539 -539 740 730 -539 -535 -507 -483 728 -475 -469 714 -455 -453 710 704 -451 -447 -433 -433 -431 -421 -417 -417 686 -405 682 -403 680 -399 678 -391 672 -387 670 668 -385 660 -381 -381 636 -377 -367 -363 -353 -331 626 618 -325 -303 616 -299 -297 -291 584 -281 -277 578 578 572 570 -245 -243 -239 -231 -223 -221 -209 570 -205 -201 -185 -183 -175 -165 -163 -159 -157 568 -147 564 -139 562 -125 548 -117 544 542 -103 -101 528 -95 524 -95 -79 -71 -71 -61 -49 520 -41 -37 520 518 -33 -27 502 -25 490 -21 482 474 -17 474 -17 -9 -7 -7 7 13 15 446 17 23 446 31 35 440 35 39 45 49 49 426 59 418 406 67 91 404 93 103 388 105 107 113 388 117 119 121 123 131 141 143 143 161 173 173 179 378 195 358 197 203 231 257 356 263 271 273 275 277 287 297 338 301 303 338 305 323 325 336 330 369 381 399 322 308 407 308 413 308 296 419 419 296 425 439 292 445 280 451 451 260 451 453 246 469 469 469 483 246 495 242 501 242 511 517 232 212 529 539 206 180 178 539 178 549 549 553 559 561 561 565 567 573 585 585 595 607 623 633 641 657 683 689 719 727 733 735 741 759 168 779 783 166 164 791 807 817 819 823 861 865 869 869 162 903 907 138 907 913 913 917 923 132 132 941 130 953 957 126 122 965 971 981 985 993 995 104 98 98 94 88 88 86 80 78 76 68 66 66 60 58 52 36 36 22 16 0 0 0 -14 -20 -22 -26 -28 -52 -54 -56 -58 -70 -70 -72 -76 -118 -126 -126 -140 -140 -142 -154 -154 -168 -172 -174 -182 -188 -196 -196 -206 -208 -220 -220 -222 -226 -236 -262 -286 -300 -308 -308 -322 -322 -336 -342 -346 -366 -396 -396 -404 -444 -446 -450 -462 -462 -466 -468 -468 -486 -486 -490 -498 -498 -506 -520 -532 -546 -548 -588 -594 -594 -596 -596 -604 -608 -612 -616 -616 -616 -622 -622 -626 -626 -656 -656 -656 -664 -672 -680 -682 -682 -714 -718 -744 -750 -750 -756 -770 -788 -800 -806 -814 -816 -850 -858 -858 -864 -868 -868 -870 -882 -884 -910 -924 -928 -932 -942 -946 -950 -952 -980 -986 -988 ];
vout=Sort_CH(v);
assert(isequal(vout,vexp))

                    
16
Pass
 
%%
v=[-295 -303 -181 -373 3 955 107 217 -418 89 37 186 29 -19 -459 -780 -990 -971 673 821 820 403 317 -844 104 187 403 910 897 -684 -440 259 555 -773 -28 -509 559 507 546 -394 602 889 -602 -945 717 -503 -931 56 5 -913 965 927 980 926 -255 960 -385 539 546 -187 -504 -138 -673 443 955 913 335 -902 -814 -182 564 -335 676 813 394 945 -234 -181 -445 11 -463 693 -346 -778 -383 -724 747 227 -554 897 -495 -139 623 98 -217 -845 153 461 298 -689 487 -466 698 -159 -569 439 786 80 -751 -366 259 528 955 704 -313 71 468 -9 -341 277 315 966 999 -138 -449 -869 636 951 -266 -417 -127 -429 385 -406 -395 -75 -802 -929 -377 -290 882 -554 -529 233 -979 830 330 -737 845 309 670 -415 341 339 479 -550 -139 -47 -357 627 351 320 39 -291 182 -956 882 455 -308 781 -151 -349 33 -506 149 -325 315 -895 273 943 143 -357 -968 -923 163 526 446 -505 -497 59 -580 -89 -161 -39 777 671 832 -939 -185 263 -473 -321 514 -351 -276 294 231 699 -429 899 29 -678 -402 -958 -88 938 -80 285 -553 203 925 -790 471 -684 271 420 -559 -15 -582 -81 22 600 -903 455 -285 914 -382 -692 319 -986 363 -23 795 253 -257 -467 211 -908 -559 845 -478 687 -515 387 134 931 203 -7 303 572 737 669 945 -547 379 911 -117 882 704 454 -269 -488 756 -567 -125 -59 715 265 147 429 243 574 -197 -523 -462 -987 937 -305 347 394 462 373 517 -673 640 532 -720 32 185 -821 -749 -727 106 308 -572 721 -34 -803 -613 537 836 -489 -658 168 331 -368 871 -602 399 992 729 -325 -173 -765 -793 -901 -728 -109 -705 -40 -825 972 -46 884 76 471 -814 -753 -169 837 -499 381 178 -363 509 -847 -855 359 65 149 -481 -468 89 417 814 -358 -357 5 91 -924 -738 765 -15 -881 -634 -303 -769 -105 225 -245 -109 -437 -165 625 704 964 539 659 -357 -373 889 173 825 -963 -627 -529 -700 537 851 6 273 -637 -840 -576 -343 -992 9 145 551 -447 870 286 88 -850 440 661 -729 -279 556 588 870 -110 -723 429 -759 -616 361 815 60 861 -522 -29 455 -91 -917 -781 -469 -89 406 -231 -569 289 -84 -847 -199 912 64 748 389 781 -224 -525 -504 287 -605 559 722 -775 -879 991 689 721 -504 -362 988 99 949 202 -931 -920 -284 -213 616 581 847 495 363 -418 608 49 -832 157 763 -203 -581 -689 -632 -231 -91 376 -309 -352 672 253 -301 418 885 85 321 812 501 -79 366 -249 -175 65 737 -849 -453 871 -468 868 919 952 425 351 -935 -301 -595 372 -155 -21 913 50 597 548 825 299 465 -501 249 -583 734 -983 -224 19 -218 476 -364 392 211 580 717 557 942 255 972 -88 -420 -763 -438 -721 351 -289 661 -741 904 -949 -954 -103 858 155 -251 -245 429 -149 -752 657 -781 -583 -224 -202 -771 525 442 978 -13 681 430 198 -623 937 -897 -910 -155 708 -383 -800 169 981 -910 7 -896 -544 633 -812 533 462 482 22 -231 251 415 -450 631 -631 234 -23 622 19 -175 -160 -638 868 -112 119 -203 671 520 490 273 -857 -842 -499 721 -77 273 993 181 910 -922 -421 -728 -627 -451 -279 -739 607 -839 -444 -910 56 -740 -715 923 -344 -825 -91 -690 728 -429 -104 393 -270 -788 -585 -507 -44 -663 905 -589 801 -681 473 430 -247 -957 468 676 -726 99 543 -179 314 96 283 -285 -871 15 759 545 510 437 123 -689 171 -335 -580 -403 -154 741 782 -416 857 -307 346 325 -109 -929 -325 -618 -243 -377 -231 370 -197 -598 -668 735 553 -506 -616 -90 119 -235 -853 -248 -313 65 136 -305 -476 -350 459 888 347 651 -737 -775 211 567 809 -411 -634 -178 92 -702 741 449 -703 -608 -438 -199 180 -978 -957 -308 -883 -993 -357 -845 -429 938 -367 679 912 755 233 -589 983 -537 523 975 -775 -754 -855 -676 295 651 -327 624 -514 -572 -906 150 504 24 946 552 834 -256 252 374 882 368 -920 -828 -696 -274 -294 898 -664 616 932 966 -728 86 912 -640 -636 -428 -364 470 -922 570 326 -206 -514 188 96 -412 -472 702 -156 -682 188 -462 560 -350 426 -2 -818 774 0 436 280 712 302 -26 -352 224 -290 -24 -630 -746 -418 692 -294 252 238 178 214 -858 -196 -672 846 968 0 972 312 700 -804 -858 -284 -690 216 -660 -210 504 -280 -822 -138 276 -438 -104 442 240 352 -252 460 -246 -180 66 -574 60 -922 760 -934 -86 -922 -82 -82 374 -84 158 242 216 530 -628 -386 -876 974 630 -528 -682 402 -242 752 -74 -704 98 462 344 252 800 920 -70 -994 -628 -220 852 -768 -282 -890 634 14 -266 848 428 580 -288 308 650 -518 -700 434 -872 -146 -950 500 -132 -254 -810 316 -376 580 630 -300 -688 242 46 -224 38 -716 12 84 642 -766 -992 -730 -568 1000 542 422 190 -744 796 -594 442 -938 616 -512 724 -72 -522 536 224 -804 252 32 704 -892 -728 806 -28 112 592 346 -256 210 -610 -374 872 918 102 -616 668 84 -546 -836 584 456 -810 -380 -910 420 -540 14 -628 -286 -40 -504 -224 686 890 -902 -294 -448 -672 198 ];
vexp=[-993 -987 -983 -979 -971 -963 -957 -957 1000 -949 -945 992 -939 -935 -931 988 980 -931 -929 -929 978 -923 -917 974 972 -913 -903 972 -901 972 968 -897 -895 -883 966 -881 -879 -871 966 964 960 -869 952 -857 -855 -855 -853 946 -849 -847 -847 -845 942 938 -845 938 -839 -825 932 -825 926 920 -821 -803 -793 -781 -781 918 914 912 912 -775 912 -775 910 -775 910 -773 -771 -769 -765 -763 904 898 -759 890 -753 -751 888 -749 -741 -739 -737 884 -737 -729 -727 -723 882 -721 -715 882 882 -705 -703 -689 882 872 -689 870 -689 870 -681 868 -673 -673 868 -663 -637 -631 -627 858 -627 852 -623 -613 848 -605 846 -595 -589 -589 -585 836 -583 -583 834 -581 -569 832 830 820 -569 -567 -559 814 812 -559 -553 -547 806 -537 -529 -529 -525 800 -523 -515 -509 -507 -505 796 -503 -501 786 782 774 -499 760 -499 -497 -495 -489 756 -481 -473 -469 -467 -463 -459 -453 -451 752 -449 -447 748 734 -445 -437 -429 728 -429 -429 -429 -421 -417 724 -415 -411 -403 -395 -385 722 -383 712 708 -383 -377 -377 -373 -373 704 704 704 704 702 700 -367 -363 -357 -357 698 -357 692 -357 686 -357 -351 676 -349 676 672 -343 -341 -335 670 668 650 -335 642 -327 -325 -325 -325 -321 -313 -313 640 -309 -307 636 -305 -305 -303 634 -303 -301 -301 -295 630 -291 -289 -285 -285 -279 -279 -269 630 624 622 -257 616 616 -255 -251 -249 -247 -245 -245 -243 -235 616 -231 -231 608 -231 -231 -217 -213 602 600 -203 -203 -199 592 588 584 580 -199 -197 -197 -187 580 580 574 -185 572 -181 -181 -179 570 -175 564 560 -175 556 -173 552 -169 548 -165 -161 -159 -155 -155 -151 546 -149 -139 546 -139 542 536 532 530 -127 528 -125 -117 -109 -109 -109 526 -105 -103 -91 -91 -91 -89 -89 -81 520 -79 -77 514 510 -75 -59 -47 504 504 -39 -29 -23 500 -23 -21 -19 -15 -15 -13 -9 -7 3 490 482 5 5 7 9 11 15 19 19 29 29 476 33 37 470 39 49 468 468 59 462 65 65 65 71 462 462 460 456 454 85 89 89 446 442 442 442 91 99 99 440 107 119 436 119 434 123 143 145 147 149 149 153 430 155 157 163 430 169 171 428 426 422 173 181 420 185 420 187 203 203 418 211 211 211 217 225 406 402 394 227 231 394 233 392 376 233 374 243 249 251 253 374 372 253 370 255 259 259 263 265 368 271 273 366 273 352 346 273 273 346 277 283 285 344 287 289 330 295 299 303 309 315 315 317 326 320 319 316 321 325 331 335 339 314 341 347 347 312 351 308 351 351 359 361 363 363 308 373 302 379 298 294 286 280 381 276 385 387 252 389 252 252 252 393 242 399 403 403 415 417 242 425 240 429 238 429 429 437 439 443 234 449 455 455 224 224 455 459 216 216 461 465 214 210 471 471 473 202 479 198 487 198 495 501 190 507 188 188 509 186 517 182 180 178 523 525 533 178 537 537 168 539 158 539 543 150 136 134 112 545 551 553 106 104 555 557 102 559 559 567 581 597 607 98 98 623 96 625 627 631 633 651 651 96 92 88 86 657 659 84 661 661 84 80 669 76 671 66 64 671 673 60 679 681 687 689 693 699 60 715 717 56 56 50 717 721 721 46 38 721 729 735 737 737 741 32 741 747 755 759 763 32 765 24 777 22 22 781 781 14 795 801 809 813 14 815 821 825 12 825 6 0 837 845 0 -2 -24 845 847 851 -26 857 861 -28 871 -28 -34 871 -40 885 889 889 897 897 899 905 911 -40 -44 -46 -70 913 913 919 -72 -74 923 -80 -82 925 -82 927 931 937 937 943 -84 945 945 -84 949 951 955 955 955 965 975 981 -86 983 -88 991 993 999 -88 -90 -104 -104 -110 -112 -132 -138 -138 -138 -146 -154 -156 -160 -178 -180 -182 -196 -202 -206 -210 -218 -220 -224 -224 -224 -224 -224 -234 -242 -246 -248 -252 -254 -256 -256 -266 -266 -270 -274 -276 -280 -282 -284 -284 -286 -288 -290 -290 -294 -294 -294 -300 -308 -308 -344 -346 -350 -350 -352 -352 -358 -362 -364 -364 -366 -368 -374 -376 -380 -382 -386 -394 -402 -406 -412 -416 -418 -418 -418 -420 -428 -438 -438 -438 -440 -444 -448 -450 -462 -462 -466 -468 -468 -472 -476 -478 -488 -504 -504 -504 -504 -506 -506 -512 -514 -514 -518 -522 -522 -528 -540 -544 -546 -550 -554 -554 -568 -572 -572 -574 -576 -580 -580 -582 -594 -598 -602 -602 -608 -610 -616 -616 -616 -618 -628 -628 -628 -630 -632 -634 -634 -636 -638 -640 -658 -660 -664 -668 -672 -672 -676 -678 -682 -682 -684 -684 -688 -690 -690 -692 -696 -700 -700 -702 -704 -716 -720 -724 -726 -728 -728 -728 -728 -730 -738 -740 -744 -746 -752 -754 -766 -768 -778 -780 -788 -790 -800 -802 -804 -804 -810 -810 -812 -814 -814 -818 -822 -828 -832 -836 -840 -842 -844 -850 -858 -858 -872 -876 -890 -892 -896 -902 -902 -906 -908 -910 -910 -910 -910 -920 -920 -922 -922 -922 -922 -924 -934 -938 -950 -954 -956 -958 -968 -978 -986 -990 -992 -992 -994 ];
vout=Sort_CH(v);
assert(isequal(vout,vexp))