欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

快速排序&&选择排序&&冒泡排序

程序员文章站 2022-05-13 19:56:53
...

      先说选择排序与冒泡排序。这两个排序算法效率差不多,只不过选择排序算法是每一趟选出最大或者最小的数依次放在最前面,而冒泡排序一般情况则是每一趟置换出最大数依次到最末尾位置。    

      快速排序,顾名思义是最常用、最快速的排序算法之一。它采用分治的思想:每次一般假定第一位为及基准数,先从右到左(因为要先选出比基准值小的数,便于最后一步与基准值所在位置进行互换)开始比较并移动(下标j--)直到找到比基准值要小的数才停下;然后再从左到右比较并移动(下标i++)直到找到比基准值要大的数才停下,之后将所找到的比基准值小和大的数进行位置互换操作。接下来继续先从右到左按上述操作执行,直到下标i与j重合,将基准值与此时j所在位置进行互换。这样下来,基准值左右两边分别都是小于和大于基准值的数。然后将这左右两边未排序的序列递归调用以上排序方式即可完成所有快速排序算法的操作。      

先上快速排序算法:  

//快速排序
    static void fastSort(int[] arr, int left, int right) {
        if (left >= right) return;
        int i = left;
        int j = right;
        int startValue = arr[left];
        while (i < j) {
            while (i < j && arr[j] > startValue) {
                j--;
            }
            while (i < j && arr[i] <= startValue) {
                i++;
            }
            swap(arr, i, j);
        }
        swap(arr, left, j);
        fastSort(arr, left, j - 1);
        fastSort(arr, j + 1, right);

    }

    static void swap(int[] arr, int index1, int index2) {
        int temp = arr[index1];
        arr[index1] = arr[index2];
        arr[index2] = temp;
    }

接下来是选择和冒泡排序算法:

  //冒泡排序
    static void bubble(int arr[]) {
        for (int i = 0; i < arr.length - 1; i++) {
            for (int j = 0; j < arr.length - i - 1; j++) {
                if (arr[j] > arr[j + 1]) {
                    swap(arr, j, j + 1);
                }
            }
        }
    }

    //选择排序
    static void selectSort(int arr[]){
        for(int i = 0;i < arr.length - 1;i++) {
            for(int j = i+1;j < arr.length;j++) {
                if(arr[j] < arr[i]) swap(arr,i,j);
            }
        }
    }

最后比较一下这三种排序算法耗时:

int arr[] = new int[10000];
        int arr1[] = new int[10000];
        int arr2[] = new int[10000];
        for (int i = 0; i < 10000; i++) {
            arr[i] = (int) (10000 * Math.random());
            arr1[i] = (int) (10000 * Math.random());
            arr2[i] = (int) (10000 * Math.random());

        }


        long start1 = System.currentTimeMillis();
        fastSort(arr, 0, arr.length - 1);
        System.out.println("快速fastSort()用时:" + (System.currentTimeMillis() - start1) + "毫秒!");

        System.out.print(">>>arr2[]: ");
        for (int i = 0; i < arr2.length; i++) {
            System.out.print(arr2[i] + " ");
        }
        System.out.println();


        long start2 = System.currentTimeMillis();
        bubble(arr1);
        System.out.println("冒泡bubble()用时:" + (System.currentTimeMillis() - start2) + "毫秒!");

        long start3 = System.currentTimeMillis();
        selectSort(arr2);
        System.out.println("选择selectSort()用时:" + (System.currentTimeMillis() - start3) + "毫秒!");


        for (int i = 0; i < arr2.length; i++) {
            System.out.print(arr2[i] + " ");
        }
    }

下面是控制台输出结果:

快速fastSort()用时:3毫秒!
>>>arr2[]: 1745 4672 6456 3085 8794 8705 7889 1175 7246 9248 3496 9783 3972 8104 9866 6358 3078 1584 3621 3122 7339 1213 54 310 8258 2985 9429 3146 8399 1502 3525 6380 6174 9579 5122 9294 9499 384 7961 414 615 7787 4195 4635 9988 1458 547 6137 2492 6240 3265 8339 4006 556 5525 7192 1275 5976 9195 6330 2184 9675 5798 2036 7648 3253 9158 2599 34 5376 4498 404 6442 1807 5801 6129 8282 4744 4896 2556 1328 3906 2135 891 2945 4487 9571 5021 5326 2021 3324 8881 5399 1264 2225 9033 3642 5459 5004 8646 5228 3834 8047 395 7844 8791 293 4272 1127 97 1020 1957 2930 1406 122 2294 7624 4623 9081 2435 1274 43 4063 6472 7896 4760 516 7778 10 8612 1276 2921 5462 5891 7499 3787 848 2166 3738 536 16 8943 5175 1213 3867 4339 6399 4173 5177 5723 7176 7025 9294 101 1415 568 8430 167 978 8073 3796 8153 6098 9420 6031 6099 8992 5852 320 9812 6750 4639 8151 4570 3789 3582 2982 3709 3004 3181 2026 6374 8357 9303 1049 8145 9845 1464 3399 7825 4789 1217 8530 5430 6942 1803 9012 382 7302 3962 8393 5063 7451 3837 5434 7197 7981 7051 2943 5056 924 8403 1992 2190 6150 9179 4375 3272 7493 3823 8081 9725 4766 4602 2035 3084 2956 7061 7624 5470 9743 308 5398 218 6924 4709 5956 1541 585 5192 4301 88 8677 1275 6912 1506 3254 4936 453 7482 7880 4712 379 3326 8639 8815 6726 2923 9801 1676 3100 845 2559 7133 3284 2543 7179 7445 7991 6887 5670 508 2040 810 3399 7993 9754 3565 4186 4703 3487 7935 4118 4141 7058 7879 4820 7235 2417 6307 6985 285 4048 3188 9827 4448 1556 2780 1609 2632 6480 9652 560 280 4627 6157 4429 4424 233 9218 430 432 2883 1705 5619 8095 2485 3238 679 8137 1620 7028 7694 6840 8316 3318 4849 261 5693 6148 7947 541 8026 8461 359 4924 5569 1123 9386 3521 2923 4114 8079 4369 7928 3036 7304 4078 9871 1187 3308 9288 7348 6689 1131 8272 7361 5637 4048 3304 8081 5855 3728 2916 8384 1707 4970 8833 7464 8393 2763 5233 7876 4394 7986 8033 4967 3098 1311 9145 5010 9249 2801 5046 3423 2590 7346 652 3109 74 3366 8250 1442 9099 4248 7258 2449 7625 8619 3732 8554 2473 7002 8918 3737 4885 8409 3688 7077 2246 1207 442 2522 7011 8020 5963 7270 8103 4571 7852 7324 6527 7163 3446 4758 5579 3020 3617 6747 6859 1871 4525 1776 6322 6083 8254 3356 9793 156 8317 6250 4770 8692 8242 4589 4941 4866 882 5227 5555 9055 2710 3473 1807 9609 1131 1698 8492 4735 3872 4426 7529 6158 7644 6320 482 1607 8654 1905 5895 4232 99 8069 6157 2814 1480 2196 5705 7055 1539 345 1610 7397 690 1090 9082 8581 167 1551 8050 722 3527 2746 2802 797 1900 1673 4709 1379 7174 7497 8234 1989 7381 8885 2841 1672 5796 8875 7985 9387 9658 2691 5149 1380 6045 2640 9820 2064 1256 2650 7477 6906 5988 3070 957 2511 1835 4181 2104 494 4928 4293 8314 7766 154 5493 4464 6630 4066 6941 2800 3514 6556 2149 7650 5305 478 2889 8231 7042 4671 8300 1520 4266 9361 3351 7955 7454 3565 6095 5742 4919 1999 8125 4788 4042 4029 7315 8628 9023 9440 6236 2323 6220 5241 3727 6072 5826 4306 762 8211 898 479 5205 7452 1793 5728 3126 2509 5727 3135 7127 7809 7576 4853 4609 6658 9078 6709 1072 8153 9365 884 5363 1196 181 5008 5354 8230 4282 119 3716 2788 5309 1263 4400 8578 1955 2944 1006 3649 8406 7370 8501 1223 6931 6247 9755 8961 7066 6964 7965 834 9064 1212 5436 355 7249 8543 8189 682 1533 8946 4599 6062 2642 7349 4673 244 8649 8917 4661 794 7057 7217 9509 3775 8073 7646 3092 970 774 6107 3354 1692 4622 7624 6309 3344 4214 1522 9417 9107 5294 8915 1021 7649 4852 4530 8496 8340 7662 8400 3319 6318 5762 3603 6560 4753 6298 4130 3275 6882 6692 1968 8930 7737 4352 4745 5326 5133 1079 4708 7559 1186 9965 6413 7212 9626 4879 4293 452 305 9633 2274 2748 616 5638 5779 4733 4075 3196 1812 6204 9013 2682 5369 7399 5215 7583 160 8556 3438 1831 8553 268 1982 8972 9754 8394 5973 541 6537 8163 8636 5509 9337 2751 9680 1862 2173 1833 3921 5235 7745 5637 3493 8120 9097 9657 9374 6369 2454 4532 2540 7714 298 4637 1823 9594 5336 7642 4515 934 4807 5718 6892 4504 594 7156 5160 3187 3737 4940 2862 4842 2337 6308 8456 6544 9381 4467 6711 9699 1746 497 9600 2999 3570 9998 6681 302 6302 5252 1369 5327 4008 9600 8198 4558 6038 6303 6935 3967 9798 9464 2490 3988 4260 9541 4736 804 9864 638 9732 206 2726 1139 3483 3254 484 3227 1054 590 3710 605 7886 4558 640 7113 6256 5300 3942 2037 8180 8681 6409 698 6555 275 7868 1364 9059 703 8080 1703 4209 3375 196 9833 6070 6119 6240 6545 3347 3311 184 6531 90 4934 5516 7313 8846 3500 2644 5200 2939 8947 7195 7868 2587 5514 3102 3126 9737 3145 4426 3096 8933 9254 7103 2381 6080 4576 6227 7823 3751 9508 6088 6176 630 4620 8987 4431 3834 1033 4835 5615 6188 3051 6706 689 6034 6815 7908 4613 4863 4786 3642 1829 7971 6661 5078 3254 5389 2719 5618 3383 4627 5753 8176 2367 3214 2545 8671 3804 7677 5337 4345 4583 6405 7965 6264 8415 6888 168 3145 9658 2999 7173 8776 8672 5422 9892 7473 4329 7846 4026 1472 3299 3382 3976 765 9476 9559 9790 9670 304 6430 2371 5433 9869 640 3867 2315 1395 8819 6528 9999 4264 6377 4397 7670 2827 2673 7934 4898 6132 593 2133 7335 9207 7857 3801 9390 7788 8833 3490 7305 9262 9252 2076 4568 3195 2081 1167 7278 5122 805 398 9896 7213 6586 3236 1926 9111 8156 6170 3256 1576 7881 4102 335 4596 4199 7380 6969 362 9595 3228 2330 9896 4409 6330 4725 226 124 23 2892 6787 1263 912 6910 3183 2767 5802 8384 7629 9599 591 4286 2205 7392 6196 786 7624 7251 6728 2464 2400 4242 9932 8663 1242 7784 9412 2162 3066 2941 2369 6069 4334 4678 5423 2683 8367 2309 4688 3096 5953 8788 4501 8593 6928 9056 2146 4285 6409 3425 3556 2044 3112 5952 7272 3611 581 3879 958 5715 5244 2547 6429 7243 8011 736 5582 3827 8581 4039 616 7801 3803 8821 7733 1189 3266 6368 3928 6313 6839 6089 1602 2746 76 8127 5557 589 4362 9324 1419 8584 9206 2372 3745 1218 4422 5956 5927 1844 9885 3917 2579 8901 218 3861 8349 9529 1088 205 5029 9336 2872 3444 1472 8640 6112 6333 8128 4351 1638 8880 23 2615 6303 7324 8695 517 3078 7817 4962 5536 1698 3231 492 8932 3241 1394 6855 4051 8852 5151 6222 2400 9341 8906 7967 9486 8640 2749 259 8712 9985 3950 5233 5092 9286 6363 514 1237 5457 1392 8745 5914 2408 9286 336 542 2093 6987 2909 1209 2346 8308 3837 3235 7252 3986 9921 1900 1549 3108 551 6770 3936 3576 7704 8024 7291 7564 7820 1392 6549 8477 6970 3615 7494 8599 1807 2962 1850 1539 4531 9010 5927 618 532 2853 1593 3673 2533 3018 9559 6137 4829 3635 5906 7954 5744 9930 3331 5690 5628 1765 8912 9223 1549 8811 137 2598 8459 987 622 1041 9806 5055 6264 680 8563 2647 1630 4314 2204 6651 5090 5506 2538 1651 9620 4434 3273 125 4289 2257 4879 9260 9223 6266 7703 3620 4336 5805 351 6442 9232 8831 1103 7074 8575 1071 5560 3992 3717 3994 3866 1953 7626 4268 5642 8122 6043 6029 282 5512 3404 8105 4458 2747 7335 1361 7538 7023 524 6538 9199 2165 3391 347 1773 5962 5368 7159 2792 344 6591 5416 821 4583 5578 1803 15 5536 1803 2420 5788 9864 5263 8464 5713 1417 7825 4508 6132 2271 3684 102 6013 8474 8379 387 5368 1319 7682 8429 5943 1838 9183 1285 7071 364 651 3262 9344 4288 123 3459 3301 5614 3294 524 9482 5627 4049 5584 121 6800 3960 4478 1254 2149 6219 2863 7343 9483 8829 2293 8385 2391 914 2187 2155 1447 4712 1510 1522 7907 4247 5180 8775 8142 9751 3502 5611 252 4694 8477 8780 4641 9779 8524 7470 7900 5356 3056 9267 4071 629 416 6943 9299 4499 6967 8482 4973 9149 1566 7543 780 3369 8301 1072 2561 8206 1212 4976 533 2832 7715 7610 1336 3460 2662 4452 2346 2839 2372 5534 9014 2157 7527 174 5336 1253 5618 1164 4234 6741 7554 2902 8377 1057 9232 4920 3003 8544 7133 4003 430 7470 7595 4418 1344 9333 2074 6874 487 8991 5600 2570 4094 976 2746 9131 3357 8891 4651 351 2337 6021 2140 1489 9974 6185 3579 6369 4411 4446 1974 1695 3466 7606 3818 7905 7959 4352 2396 4440 4682 4593 667 541 2982 6883 3392 642 3395 1831 4986 6063 8366 8146 8477 1988 3878 6361 2152 755 6821 3384 3750 9145 6082 8781 7615 8747 5719 1212 7910 4536 6120 559 890 7564 3777 8149 1312 3077 2261 3999 2326 5530 6041 6252 4648 6770 5152 3851 9468 3154 2149 9109 340 1566 3484 2128 2381 3180 5320 3963 2237 7370 8795 115 9739 6417 2039 253 1692 4618 5642 4126 40 3017 4884 7331 612 3292 5843 4008 4759 1345 3482 6642 4566 2806 7994 5930 2805 9086 1025 6127 1532 3622 5982 3475 8087 3743 6326 7130 4376 4035 2705 3559 4545 2165 3880 6589 7643 7994 7700 6202 5480 1265 6865 9766 1753 2373 9896 9670 6503 4574 578 1309 176 4588 9213 5019 3967 1766 6238 4907 7688 3955 3193 6556 3187 823 7636 4311 277 2691 7402 7245 3308 4974 5583 1012 9802 4956 792 585 8144 9065 7618 6319 8971 4831 9748 2975 4830 2493 2946 8143 4749 6634 7025 3093 4618 8380 5049 5232 755 3477 4284 7320 2655 1108 6952 4153 1756 2446 9444 2716 6085 6875 6588 6781 5831 7321 2552 1588 2300 4428 2232 8573 2293 2228 6397 4167 1681 5602 461 396 5963 2115 562 8410 1671 7838 1606 9193 872 8456 130 8464 1501 3303 148 5251 8976 1088 2769 5809 9428 1779 29 6343 1987 9564 381 9596 6791 6965 7329 1524 6880 9935 4051 5222 5748 8336 5285 9858 8183 5346 3491 2641 15 3209 9089 1833 2629 1364 4696 8461 451 6167 453 3753 4251 9414 2022 8324 9812 5487 4381 7880 517 4232 3398 8619 3529 8727 3118 3583 2572 3741 9879 9024 5829 2104 4743 7290 5202 2232 3259 9926 3044 835 6346 1500 4574 262 7944 1223 8442 64 4279 5635 4364 7163 5803 1545 5413 8548 6415 4007 3339 4555 5211 9405 8355 9729 3893 8666 9997 1769 7988 317 3079 7358 2306 7411 2333 6582 442 6395 1090 5304 4783 9732 3332 7142 7241 7453 4560 3712 1949 5960 5269 3511 9314 5147 1347 6141 6192 7396 8395 9699 9488 4161 1881 4850 230 7690 2110 9601 2088 6976 2261 3861 2415 8251 9196 2734 5194 1234 396 1964 3750 2954 6198 8162 6776 1235 4530 299 4068 9923 5550 7531 8417 7571 5981 1676 7349 656 7515 580 2825 1438 434 1268 8614 9277 2537 9056 3865 2645 4622 839 7384 7174 7085 7416 298 2829 7732 1144 5141 813 8583 1213 6960 7926 9374 9656 6765 2982 7499 6577 9573 6393 8444 3270 8406 261 7189 6674 1913 2234 9716 8122 6748 1967 4580 3552 6541 4317 7514 1185 7132 8370 7276 6275 2804 6050 8276 781 489 8437 5175 8724 8322 1893 6361 5663 1561 9889 7179 2992 2672 9769 9944 4809 3351 6832 6088 6747 4476 868 6304 2584 5275 2751 7262 5475 5610 890 8375 6415 4976 9124 9136 2997 8736 9236 6875 6621 6258 2445 6173 6159 6875 5168 4860 562 8104 4914 7344 2092 6234 2482 4021 5740 2233 6584 5724 8946 5992 6692 4593 9008 9163 9224 7274 3485 1251 1265 3173 1535 5244 4676 9416 1456 7882 1924 5314 1671 5606 2988 2477 9119 456 547 2214 369 505 8080 9583 6844 6986 2677 3338 6306 5010 1232 3095 8165 6675 5174 9320 346 4500 5161 8179 198 9402 3035 1962 1512 933 3954 6578 3819 8143 6891 687 9094 7343 6647 6194 4494 8030 5224 7261 8054 529 4700 4544 7173 8287 7811 3141 7377 4399 6169 6700 1131 5721 9427 6265 3506 8922 1827 771 3163 1002 5329 6632 3523 2159 1010 6539 34 1437 2543 2512 5213 5330 7475 5317 3573 6439 3477 1605 3670 3373 8033 1629 4323 4420 890 3999 6578 5961 9223 9779 2126 2302 5726 6261 2838 6442 9822 920 4563 1366 1856 8495 1663 8652 9444 8682 6631 5651 4233 8699 1816 4070 6007 3969 7568 1607 9496 1260 3116 4276 7355 1995 3209 217 539 8935 4876 6167 4784 7154 4790 5302 9071 125 8415 9901 8767 3796 7585 4216 2699 5813 3295 2019 9638 3521 5274 9637 5535 2971 9431 8714 8519 2048 8455 3680 3876 3794 9715 6708 6254 1263 8178 8028 965 2583 317 1691 623 4527 7917 6294 7361 4623 8304 6793 4626 5829 9868 7338 5939 3886 8713 6037 1087 5871 3977 732 3050 8891 5755 249 1365 670 588 8098 9856 8572 5268 5375 8449 767 124 6517 367 2468 8092 5667 7194 1619 5687 2736 5207 2096 6493 6702 6994 8271 6976 9370 2626 2822 8305 5700 4644 9893 6431 6815 785 8072 5922 9089 7678 2256 992 7085 7839 229 9799 9784 948 8746 5376 8279 8840 5036 8602 9153 1733 2999 5264 897 978 8853 666 1104 1122 8736 1312 9705 1190 600 3899 8281 1981 4895 7364 7368 2668 2718 3783 2818 6247 6637 8783 8563 9263 7990 1627 6607 6838 5313 9282 5773 9340 1557 7715 8551 1949 2982 7173 487 3090 9961 6494 8757 2009 9569 4413 6002 9819 1551 3459 2131 2066 3233 4360 552 4252 5098 5873 6340 4884 7051 6629 1963 3361 5940 1988 1593 2515 7590 9946 7555 7755 1503 5887 2210 6629 3461 6413 5494 4136 531 7631 2439 360 4432 3055 6310 7867 2860 821 1474 6968 4199 9073 5787 7155 9074 2264 5152 3060 2386 9696 2946 2889 1881 850 4264 6666 3875 13 9316 642 3532 5326 1973 2932 6035 4708 8219 3876 6143 3087 5266 2704 6957 2083 5272 9854 4228 4652 7933 1790 255 3265 3820 2305 1302 956 5006 1147 4549 3 1509 7343 4876 3129 1142 796 8187 6953 6707 1683 6688 6880 7894 2714 2308 6843 5996 4663 7497 6171 7339 494 7837 9423 6430 8105 8289 3292 2026 6036 4480 7592 8779 529 2215 5015 3695 6045 2319 6608 472 4756 4112 6963 5743 3615 9088 4778 9444 410 6936 837 6880 2658 8719 6514 2599 5356 6933 1660 5951 5475 9236 1175 5100 2580 1912 4686 381 6213 597 3577 9207 1555 9420 4110 3194 5510 5554 4570 3855 5602 4187 8244 6085 4081 9127 2597 8694 9269 6652 8295 8488 5527 4777 9606 8812 2266 6923 401 5113 1141 7860 7240 8824 8961 1005 3065 6910 1981 9451 1688 7568 4972 8614 4651 2917 5988 6125 8102 7104 4875 4441 8069 2953 414 3776 7970 2220 7551 7177 2314 3630 2344 6064 5357 9176 8202 3157 3005 2624 2577 580 402 4879 8540 3931 6566 8681 650 8299 967 206 9204 9635 5199 7316 1259 4430 5853 3694 896 2456 2305 4660 4874 1229 5460 4288 3278 7066 492 4425 7804 5869 8305 4383 3158 7333 6825 5442 9494 8961 4289 6850 5964 1159 2459 9733 7325 1789 8114 2269 7058 7775 6316 3578 1688 2877 8749 5076 1897 4333 4939 6545 6615 6939 3341 9830 6567 1129 3183 5930 3720 1832 6473 1326 2715 7289 2889 6585 9753 1564 8159 4746 3399 1268 9184 8575 511 5980 6491 4573 8894 2971 6563 7648 6402 174 3320 3470 3950 6868 9393 5958 7418 9243 3871 4842 550 7903 4000 3014 7807 6452 3707 5289 2686 4562 1975 9312 3200 5402 8915 5656 2164 5914 6848 7615 5485 9288 7940 1905 6980 1978 8792 9330 3182 2827 5938 9498 6272 9240 4489 5962 7612 4951 5067 7523 8390 5663 1818 8091 7614 2840 6609 1268 1087 2019 1503 6832 8103 392 3313 4439 5380 8888 384 5255 225 6708 2869 4760 7072 1155 3442 9707 3392 2680 5907 9142 2494 4335 4239 3507 1974 6271 4415 7141 7458 9576 5922 7978 1903 9568 8980 3925 969 6666 7427 8261 4993 3200 5753 6437 7705 6873 2046 3899 1215 6197 6526 8998 5795 9979 7995 6621 1730 1892 7828 7027 8913 2314 3138 309 7931 2931 7440 116 4220 5144 8511 603 4283 996 9216 8151 170 5249 7800 4100 5229 9318 9624 6707 703 2018 2409 9613 8930 8567 1892 415 4856 7900 4289 6450 3122 9200 6164 5516 3308 1553 1149 7178 857 5864 6566 5316 5884 5521 1219 4817 6403 1934 8576 4749 6547 2775 7202 6948 4078 4767 2593 2762 4890 8955 1573 1678 5291 4767 2122 3729 5666 9654 7855 2936 1556 3840 7445 1611 366 4566 5047 5043 3769 1329 8200 3063 7378 2853 4829 9039 507 8015 761 8212 9742 6553 3706 5711 622 1265 8801 307 2038 1364 4731 2793 7917 6919 7967 7954 410 6655 5964 6293 8163 6000 8035 6150 2270 9020 5311 8408 1237 6828 8462 4825 4692 6228 3884 6992 3660 5635 5730 6099 3029 894 2551 4042 9288 1254 3375 3977 3762 5712 8797 3139 8459 1976 8104 2673 8122 4584 3570 8347 8347 5164 7897 2300 5500 6480 242 9484 9798 2697 498 3106 8161 1373 346 1264 8442 7841 3178 2002 1302 67 3227 6250 319 1634 7191 7556 4966 2278 9264 4082 4833 9361 2797 2199 6832 9783 8809 1946 272 214 3276 2824 7421 3983 1484 3746 9693 5720 8803 3513 1718 9713 2997 7928 7423 5017 3611 6581 3762 9643 9120 6434 8980 7581 2321 673 3194 6090 8971 9730 9647 6467 3841 7098 5320 9589 2256 5384 9511 7664 3739 8132 8686 6061 7624 144 5219 3657 8483 3491 6706 6901 1767 7982 1224 1758 7451 3685 2350 8834 1428 9063 5808 315 1095 1469 7440 2870 2965 7104 9640 8375 6184 5096 546 4198 6608 5077 7155 6888 1499 9589 31 7344 5071 1723 3518 2034 9888 4736 1260 3442 8654 3834 2453 3771 5088 1025 9492 8950 1499 1767 2707 5175 4195 7226 2480 7640 6136 8150 3423 666 9195 5836 9311 209 5969 2238 1194 3709 3452 5089 4501 8335 7855 4884 4080 7067 1538 8751 8863 2526 9427 1586 344 1200 3327 7407 1192 5590 8298 3567 2200 8889 5728 7452 7263 6064 2804 9349 7335 6679 7975 6492 5196 8436 6430 1790 3479 6221 8854 6376 8674 9503 575 8036 3797 1094 6786 7559 2082 2692 2791 2350 3387 7214 6139 1015 4049 4683 157 4285 9634 7386 5697 6408 8442 1175 9927 7154 1721 3107 7657 7728 4329 1124 2112 4265 7049 9204 8074 115 8928 1289 1129 2878 4849 9377 2133 4062 78 5434 6181 8344 9762 3253 166 5732 7240 4997 2503 3390 650 8026 2801 4577 2569 598 8134 10 2425 269 6133 1991 6060 6178 3353 3922 1155 6006 343 7185 1312 151 2438 4052 5232 9633 7633 9021 921 365 9886 2009 7873 4768 7893 4989 3027 2233 5751 9003 8719 2617 2995 1066 3038 1865 7240 181 4821 5948 3109 8636 7065 8525 6230 8830 3767 9254 946 7217 6071 3266 4830 5411 4246 8186 2319 4174 2275 3069 3665 8891 1798 3856 3925 5151 1835 2321 11 324 45 79 1741 1421 310 5975 5432 1150 162 4154 5950 2873 9963 1220 5074 1166 3872 4262 762 7837 385 7004 3261 3641 7725 9071 70 3470 6506 3240 2541 7522 8952 7628 2299 2905 477 4037 5831 9202 5650 134 380 7874 6482 1783 3804 8805 6583 2676 5223 8024 9973 1428 2183 8456 8371 1513 3606 628 5373 6792 6066 2488 333 4993 3858 6905 8759 3239 954 2055 9768 3695 5262 3665 4557 3553 2612 9106 2937 1873 9546 1477 7759 6354 426 7185 9531 5794 5381 3090 5700 8880 1395 9011 884 7060 9283 8298 5913 8485 4406 3318 4723 1485 8806 3975 9081 9678 6949 5883 1705 6633 6433 480 8613 6048 8915 2236 1539 3582 5065 8155 870 8897 616 1999 8948 1020 8499 113 2565 6935 4703 7302 2255 2240 2803 40 4347 3859 4094 267 9860 8140 6975 6208 2115 3159 589 6991 2382 1793 3795 5428 65 1980 1308 8009 752 2689 4263 3135 2008 8386 2606 7684 3004 1227 1522 8329 9968 8858 3602 7503 5069 6547 2664 4580 1601 5352 3988 713 3320 3282 9322 798 441 3766 3247 8289 9151 5326 436 8002 5512 8154 954 8668 8375 7190 3107 771 9314 7503 273 6227 687 6048 9921 4605 5722 4436 9334 5960 6993 42 3655 2912 1808 7651 7618 4314 4868 952 2752 9808 119 2450 6999 8645 4901 1792 3471 7472 429 6194 9602 261 3237 2444 7114 9235 2490 8000 7118 8500 8046 8892 3214 2146 3805 4540 8719 5823 230 4166 2093 5200 8952 6269 7239 6360 1113 1558 2698 1948 9468 908 5746 2894 2411 3213 4081 8711 5837 3536 9180 9717 6235 9673 1467 2085 5583 5110 8178 1353 5413 8466 260 1975 4014 3763 4753 9569 6900 2318 3932 8846 6620 5707 1978 3673 3556 76 4152 6415 4663 5077 2297 1532 2050 5940 4085 3494 7975 4559 1653 1283 7180 5066 8241 1188 1491 1127 9037 6205 5378 6151 4779 4168 4535 3742 3645 7691 2661 4070 8667 7220 4392 2326 4264 3804 4823 8158 6584 793 8182 9866 8048 3365 123 4213 6985 1742 9558 1977 8332 8037 7253 829 1203 7996 9255 759 3634 7369 3852 3111 4002 8338 1024 2283 2479 4253 3350 9391 4472 1032 6945 9547 1218 762 399 9010 675 7495 8676 5233 4464 6835 7687 1759 3919 9718 3641 1106 322 6748 9381 2063 1089 2669 7685 3381 5029 864 9001 3500 5898 5369 8223 5907 4180 2589 1976 1729 2496 6854 4401 5498 176 3029 5664 6428 7294 5751 3297 6237 8042 8274 2115 5313 7435 4655 3684 2114 4269 6804 1341 5834 6795 3036 1375 9802 5820 6946 5368 2633 2910 4879 2683 5939 8958 6875 5854 1345 739 9766 5004 5720 38 2086 527 1829 1648 8623 6062 2168 2913 7831 6237 6422 8527 7824 5834 7889 106 6456 8880 1293 424 7880 7669 3670 7389 2112 2980 1485 2610 5414 7641 743 3924 7800 6186 2738 455 9641 3648 6055 2610 2209 6480 5670 8039 7050 8284 2385 7791 6303 2343 404 4865 518 2005 7631 9965 2130 8679 2230 6600 1549 5618 115 9647 8803 3749 1387 8224 6863 3609 9238 5036 3117 4899 2551 499 3035 2342 3322 628 4769 3360 2109 3148 5403 9643 8969 6434 8627 874 3817 639 9951 4802 8779 9942 9031 3447 5916 8985 9380 504 6767 5470 3564 9975 5299 4448 7077 731 3303 8072 6271 6041 6813 7551 5196 1139 3918 1631 2775 5633 8279 8290 5556 943 8813 3291 2266 6079 4325 955 4572 7837 2408 8886 3800 3955 4606 9443 5928 9962 4758 6499 6897 2246 4502 6482 7207 1457 9182 7811 8879 1537 8887 2644 9175 605 2938 9385 3913 503 2042 3555 8953 2108 273 8531 1225 3470 9308 6208 766 7507 9700 904 2446 5325 8562 7757 493 272 9816 9484 541 6546 2093 2716 2721 4591 522 7079 5295 3622 1990 6935 1525 9370 8952 7010 2807 2650 4587 9275 8671 1482 1979 9118 8960 6360 2097 4364 5461 4776 9604 750 9321 7361 1979 2344 6935 3872 6088 4856 437 2878 7158 3991 9626 4276 8144 9874 9992 8736 2658 2135 6599 2821 2041 8514 5768 2899 6749 2741 5967 4973 3941 5128 5900 1295 7194 1583 1607 8014 319 3781 5353 1239 5670 4894 7277 1635 7788 1697 6111 200 5963 4884 7857 9955 4183 5214 1017 204 4013 3542 3913 1490 5216 7896 3742 631 398 605 8304 6108 3562 2962 9833 4693 8349 4103 6036 466 9692 4669 6299 7355 2869 4366 1077 5988 6306 5803 9711 4986 9058 4913 6349 5875 691 922 5257 9493 209 6091 5594 193 1838 7510 1731 2236 8788 9891 8346 547 1665 9670 9906 5476 5857 6824 1694 8379 2175 1532 4250 1648 7046 8262 5071 3400 2881 0 459 3208 5646 129 6769 1188 5343 8997 3752 8361 5921 6367 3382 1469 4149 9862 5405 411 2216 3043 5913 1115 6170 5033 7466 1023 1946 6528 8723 8366 2436 4678 8134 174 3066 1614 69 7320 9459 8414 2738 8053 9086 7995 5406 4194 9350 6769 7807 6695 7236 5998 7192 9392 549 9523 8159 1615 7859 4956 7395 1903 3523 601 9497 6220 5617 138 1411 5048 8255 1634 1456 4272 5597 6620 4609 5097 2865 8861 8574 8172 9904 1001 5211 6790 5196 517 9135 3343 2830 4368 9721 2275 1706 4339 4359 1480 5174 2393 9609 2494 496 7363 2886 7951 812 981 469 2530 7818 2641 8029 1103 1096 8345 7350 4954 9882 32 7743 3773 5170 6931 2481 7682 4324 721 9783 9749 6784 1064 4101 5369 8148 7609 7005 479 699 8742 7596 5867 1486 6225 268 9786 4268 8455 2661 5770 9018 3301 8912 6867 2274 4432 2702 1561 3377 2671 1253 353 5611 6223 5173 5401 7382 634 78 8697 6908 1009 4080 7060 4435 5430 576 4667 8652 9530 8345 6040 8915 7981 688 4217 1937 9050 2253 393 903 3543 6331 2516 6381 9233 6683 1264 2083 6413 6444 2386 4336 9349 2345 4691 2146 2352 5333 2959 4950 7691 8724 4666 7533 5859 2273 8790 6176 6625 4948 3999 6860 1951 820 2218 5318 9138 1286 2006 9856 4598 2799 4256 1199 5316 2495 526 9151 6458 4431 1758 3525 9629 6718 2321 6745 7063 4559 1162 7546 2430 6145 8351 9508 9107 7429 1570 4597 1560 8160 2971 528 4972 4991 2438 1596 2472 8167 8565 5656 8163 6185 3651 5094 7750 7817 3633 7086 6773 3167 8265 7959 9443 4845 867 8288 8653 6930 671 9279 99 3229 4237 7156 412 7298 5473 581 905 4877 6598 6682 4919 4744 4842 3926 7819 6559 1857 5012 4426 3983 4625 1 9119 8293 8221 9204 8994 1826 1979 6761 227 1887 1534 9534 2344 4225 9805 1728 4253 872 253 3687 9794 2 5758 3530 9114 5504 6057 2656 5426 1198 6098 754 4660 9074 6637 2702 8135 2508 7170 8712 5685 4225 9678 199 8704 4780 9766 7203 9227 478 9556 8703 2562 14 4168 4851 7064 6703 781 84 5357 7839 6117 8110 6790 4720 4701 4056 1012 5922 6510 5526 7378 2753 8494 2934 4398 9273 72 331 7628 9952 7977 961 3282 5906 799 6962 8400 5681 8242 49 6687 8814 4428 9592 2020 9799 8657 6242 9328 6725 717 3257 4775 2627 1249 3775 4259 8591 810 662 874 5829 3985 6030 8382 9284 7451 259 8802 7907 2990 5248 7978 6443 8329 3671 3427 525 214 5323 3886 953 5324 3064 9801 4371 5576 4520 8506 5997 4927 1544 7017 5773 5102 7438 9249 2152 7610 2154 3041 7767 9096 8078 5597 8498 6417 3586 3920 1850 6845 8330 9424 2181 7550 3160 3239 9106 6901 8731 707 1406 8224 186 265 1927 4455 812 3305 9320 9565 5268 7633 44 9827 2892 7925 8739 4819 3661 2012 7069 4592 3641 1946 182 5659 3247 3621 6267 4374 240 8231 8182 1844 230 3007 6760 9828 501 7596 3319 2023 8122 5977 3887 9822 756 2063 9951 5940 8124 97 9917 3369 3861 8560 2094 830 1467 8628 3837 9296 4158 5213 2417 7263 6820 330 1422 5214 8715 4875 1808 2225 8337 6008 9289 9774 6701 3042 9483 9699 2424 5213 9166 4764 1209 9810 6081 1518 3837 8983 1064 6045 377 8011 4724 3777 4168 7044 6587 4871 7148 2185 7493 6560 8318 341 6062 3604 9483 5536 7282 7271 7052 2320 5730 2341 5390 4510 7490 325 6203 4854 3690 5503 9581 3163 4520 8499 5621 7202 5806 9872 1114 1945 534 3681 3456 8915 5307 8138 3837 8064 6433 7324 3858 69 2263 4446 3982 7078 7522 3359 8673 4741 1672 988 1744 7850 6817 8842 6233 6121 1359 7158 6175 5530 3458 118 2816 4146 3396 5291 5231 9706 6195 4767 4867 9073 5255 9503 5316 7370 4386 2103 2568 6883 9411 6677 7145 2850 1504 7515 7835 4904 2599 1092 7274 9360 8574 8399 2333 8566 8439 6737 7127 9307 7536 1980 3602 2682 9636 3825 3855 3014 6966 7779 9860 3147 8473 8538 9866 8003 5139 8 6594 7461 6807 7509 366 3481 7881 7656 504 4975 9265 1091 733 7187 1175 2562 8898 247 5873 1911 8076 4245 980 8215 5119 5424 2817 7753 3803 164 5234 4587 3093 33 2537 272 6545 2648 5483 6751 6582 9085 6891 3586 7258 9353 8114 7567 1223 2901 9573 9251 850 1236 7646 7205 9953 4534 6514 6651 1169 3666 7043 4781 4891 3208 5469 324 8680 9914 2500 9883 1268 4667 8501 8252 2670 4204 2678 4249 1496 1823 3576 7627 2325 3937 4840 6382 9957 1611 3978 7130 3503 3277 2846 4375 1596 6450 6758 7239 542 2708 4480 4706 9908 1198 3919 2591 4953 1741 8053 7294 2406 9013 2562 2919 5305 4404 760 9578 4150 2010 2687 1591 5170 9660 3741 4897 2430 5114 3882 3277 8438 1421 1312 2946 8181 4004 4584 4756 3860 5280 4318 2569 2226 561 145 5403 3132 1635 88 9689 6921 1695 8408 6360 9374 7332 3928 5611 6300 9969 3993 9933 5339 491 9637 3512 298 6914 5022 3230 3170 5653 8990 3359 1138 2424 8478 2560 63 8905 2652 8042 2473 6141 2922 7619 6660 5123 7495 6004 4365 9224 9767 6995 7513 1989 7761 8116 9690 7399 6825 9001 5444 7926 53 9103 46 8689 347 4371 4157 3599 4589 6263 1766 1728 4250 9833 5919 9133 7708 781 5106 3042 7751 4093 3653 1698 3067 9386 2206 4221 5122 243 9281 601 1501 6641 1898 2354 3774 1128 2654 9544 2006 635 1960 9638 9373 6679 7897 8194 8799 7352 1892 568 9216 4752 6511 7699 1926 1479 1804 7583 7556 9491 9073 7327 1373 3950 5503 8590 9116 3730 9850 1848 7142 8970 8359 2254 9464 4470 1196 1826 247 5821 3049 9447 3505 2947 7030 1457 2110 3202 8743 1768 5758 3320 7262 1112 2289 6386 1846 520 8663 6488 7488 4229 7029 9970 8853 2049 7605 8086 787 700 3572 1480 4429 7845 3882 2154 968 1403 7704 3620 281 293 9320 4522 9097 1028 4489 5424 2913 7486 8741 2431 7630 8851 4659 5095 862 2994 9017 9403 9008 9593 1620 9796 4480 8975 5884 6902 8038 9018 6520 177 3861 3551 2270 6786 9885 1422 1368 9896 3005 5824 4309 1103 8041 8659 2641 2926 781 4442 3781 8216 9078 2848 346 3904 1810 8112 8166 6826 3530 7417 4 9310 2814 8961 2050 1873 4752 3624 7517 9736 2555 2132 6059 8869 74 2210 9364 6033 5921 7535 2065 5670 1093 2336 3106 4594 5259 2120 5857 3223 2448 2436 5655 9561 4544 3608 987 9294 897 157 9256 2215 4453 9044 15 1718 9042 1010 7660 337 8953 4093 1850 188 542 7908 7445 2805 6467 1470 6403 8101 6141 6210 1931 7197 1224 9398 268 8489 2347 1445 7671 684 2855 3499 9636 566 7107 9348 5969 6977 4851 8017 9149 5897 9307 364 4379 4610 4941 4764 7921 5731 1429 3263 5664 4321 2991 698 6416 3504 7215 5025 4157 5814 4510 7515 409 9055 8659 6628 1993 6676 339 9177 737 3557 9168 6902 185 8714 5624 5754 48 6705 2237 9087 1973 9491 3640 4485 263 171 7453 7248 8446 9338 2573 1459 6956 3862 8191 2202 8869 6604 5829 9819 9373 3988 7814 9084 688 6435 8962 2865 7290 4482 3726 1229 6672 832 8811 2993 8427 5780 1110 7500 9152 286 2925 9822 2630 7494 689 2708 3821 9746 9866 3451 1526 3998 7344 3291 8050 4202 3476 1218 4869 4447 8924 2877 1189 1653 6691 8858 7283 1264 7087 4899 6805 3730 2992 9482 1613 3600 4506 1902 9328 6763 6074 6249 7598 4811 5275 3685 52 8542 827 7146 7080 5460 7856 8937 9970 8561 1201 2765 9442 5870 2394 7513 9387 2025 3062 485 3519 4764 6745 2991 6785 364 2597 946 4651 2995 8048 7665 1886 3568 3385 5223 8130 3908 9175 4625 398 2080 7694 3597 2723 4342 1904 4064 371 8542 105 9312 492 2815 1142 3466 2664 2163 4042 3231 1628 3888 7032 3827 442 974 4298 7779 5498 260 4292 6544 5201 9759 1143 1075 1625 6597 611 8137 9258 3918 4089 4649 6805 1627 8443 2442 7177 2051 5923 648 7081 7529 7033 2426 1089 2523 62 6926 5779 8121 4009 6274 7365 1795 6839 912 1308 9900 8382 4893 4612 4790 6803 5662 961 2422 9288 483 5440 58 1607 3990 9395 7081 7298 8330 6971 5034 5584 9077 3032 5781 7649 6453 7548 9143 3582 2456 4063 3546 7219 274 9599 5035 3168 2767 291 1571 9589 1945 1128 719 1752 1195 9511 9763 5019 6481 788 7880 1756 1968 9636 270 4685 9358 3989 4134 9377 8834 8287 6035 1010 2714 25 9513 5062 900 8056 900 8415 9803 2648 9939 6255 3743 6151 277 1343 9856 9084 2969 5522 4179 9633 3909 8874 7997 4924 3589 9623 9604 9959 4751 7784 7346 4871 308 7636 5292 3044 491 8367 2987 1791 4358 8692 5554 3545 6733 9874 9924 9035 7243 2443 7157 4582 3365 4886 9684 3492 4433 7811 5897 6615 8139 4473 2713 9330 5464 8131 9736 1672 3985 8466 6220 4900 3217 3265 4384 1651 9081 7683 9605 7738 7660 1771 9736 1906 1204 7434 2130 5153 1814 8712 8066 3819 383 4161 9978 348 228 7198 7363 2581 6383 9528 2346 6531 2723 4242 5718 8886 34 8808 8728 3994 8690 4012 5160 5744 9940 2907 2022 7600 9715 4077 5830 4143 8585 5845 4628 4654 792 2717 3908 3744 4352 2046 7168 5614 2914 7901 9172 7343 8499 267 1994 2599 2306 997 602 298 8592 3501 6112 3167 4069 824 924 8637 2438 6687 688 9306 527 6114 3489 2057 9025 6573 6779 4114 7024 6976 7385 524 5504 556 9430 1127 467 8451 9189 5685 1734 3845 4795 3742 8378 1737 2243 807 6412 6772 7430 4718 8732 1178 6872 5444 1306 6602 7400 8198 3349 7597 7420 3557 2626 663 9350 9221 116 1059 4520 6285 1050 139 8197 8183 1823 8654 3488 3085 4424 6364 8577 208 1867 5384 2245 7452 9670 3946 7709 1892 9610 8736 4654 5924 2918 7567 3817 379 667 38 7689 1590 9382 1781 4760 2226 9884 8165 3314 5810 7018 5661 4017 2025 7296 3705 8488 4357 469 6620 3679 3246 9824 4147 9181 6686 4337 248 6596 6240 3995 3200 6807 9556 7291 5497 2322 898 7451 9802 7977 8698 1046 7051 4009 3895 9526 4936 948 4759 732 9220 5911 2992 3660 6814 4704 2209 5672 8192 3619 3371 6926 7525 9024 2451 2100 1974 1703 3433 4443 6733 6477 4817 1841 9867 5896 49 8952 510 9708 1680 3468 5805 9467 5715 8314 5890 9934 6383 4970 2394 5938 2556 6229 4230 5048 5206 9456 4989 2791 676 3922 8959 8211 7064 7898 7646 3308 770 3089 5817 356 7170 5470 5280 6204 3503 2867 6143 2487 3354 468 8870 5191 582 6104 6330 6167 6261 7374 3043 3122 5003 2705 9001 3110 7136 8051 7882 7875 421 319 4019 7263 9400 7618 9273 9610 2121 5154 9899 5278 2741 4017 4655 1553 4526 8175 8717 3775 920 2799 3488 8967 2729 4486 99 4297 7009 1149 4281 3437 7988 6131 2375 9348 2267 7680 2517 2134 9663 1127 1483 5416 7368 7008 6317 4202 8542 3978 720 1385 7196 648 9160 8915 9022 5444 6902 3222 2909 8236 1520 2748 116 1854 1052 8353 7488 5616 5735 5025 7723 6724 4167 5609 3482 8807 956 4275 3147 9950 1175 9160 4163 5373 7509 9956 5314 2363 8663 7318 1788 7227 2500 6691 6643 5908 4451 9612 9206 1381 1012 663 5048 2230 9608 8049 3485 7675 9714 326 7012 4924 5998 928 2804 5009 2231 6068 9212 3245 4932 140 299 89 8106 5981 8642 7535 5017 5328 1083 5225 9687 7392 3709 9142 9796 817 1149 4200 3779 6286 1245 113 8248 3704 9362 7724 7398 9297 6912 428 3747 4017 6269 2512 9457 5382 8954 3044 9565 338 5906 501 2724 6857 7758 9540 1495 6777 9349 7224 2892 1923 6181 1608 697 9714 1192 877 4089 3343 8112 6196 2333 5196 2676 6096 2665 405 5228 4551 8092 386 7681 8962 3598 3835 4389 7945 3186 4970 285 2269 6352 5800 664 5359 900 917 5103 2568 9521 9646 3422 901 290 1489 4122 3020 6092 6528 5454 1217 5101 2898 6237 8568 3675 8573 7604 5689 4511 4514 8205 2468 6522 733 3844 4674 8761 6023 8216 5692 8679 5966 4275 3572 5288 2418 5807 3225 105 896 6007 2991 3416 249 4323 3785 94 1616 4374 7780 8217 999 4631 1990 4836 1752 9452 201 6602 15 1308 4490 8449 7468 5344 5033 1261 1865 5006 4090 9331 6539 2178 6848 501 5538 7206 8392 6145 1147 3299 2263 4599 5384 6082 1968 301 6559 2597 2428 1734 6175 4665 3602 4246 310 9447 3521 9100 3213 5041 2611 7411 9070 1212 5529 7277 858 4778 781 4151 2817 5772 2091 8442 5391 4303 8928 510 8486 9047 6662 1520 600 6430 9621 9147 7722 4967 2794 9848 7000 1757 75 4261 5905 7847 8786 9444 8067 6146 1759 850 2082 9640 9487 8468 9405 8984 5717 5141 1956 7021 529 949 9226 3452 5146 5522 8591 5759 2755 388 1057 2498 9244 5825 7964 2352 7114 1296 2060 6739 4854 5276 9032 5369 2808 9273 2870 2989 4928 1964 440 1469 3959 2701 7351 4637 5334 9163 8547 3562 2560 1643 3163 7577 4027 6330 3885 1062 7998 2041 6540 7902 9114 9137 5731 4702 5914 5779 7182 76 4831 5353 6919 868 1677 9715 1652 6798 6950 5915 3546 2913 6237 9266 6183 4257 1659 3041 6729 9412 4653 4618 2291 9001 4413 9700 6049 1822 31 168 1090 5128 7797 7282 6838 6502 8192 261 4710 3002 9926 809 5953 8560 801 6833 5721 3219 7382 3522 3192 7483 7258 7018 7948 2019 9249 5167 7994 7019 8116 1333 4589 6871 1232 839 3570 4253 5294 5505 2033 3422 1407 9693 3127 5371 6867 1537 265 7541 1620 5386 5313 8031 6704 6097 3268 8657 1055 2562 8545 2843 1722 6816 5320 3104 997 6228 6372 8886 2033 9576 1573 8686 2308 3359 8506 748 1768 2382 3830 4173 9655 8555 4682 7026 830 3903 4905 9932 8993 8105 993 2775 364 7257 7461 8420 7341 9277 846 838 7220 2140 5749 5728 6366 4177 5188 9539 5170 877 1110 7908 3809 12 9151 6693 3162 6486 4676 8279 9261 98 4767 2385 3386 3331 3131 4431 3327 2441 1895 5503 4410 3463 5971 6132 1692 5226 2017 1452 7183 4226 5120 7859 8119 1061 2041 1042 4158 5220 336 2149 2896 4305 7772 2994 4322 5195 6279 2495 5760 8310 9186 5020 9396 1981 9658 6990 4823 1923 2168 961 8982 1025 7344 6434 5515 7081 3853 3914 4944 621 8851 3109 6075 1830 1222 7835 7766 4432 9086 8939 8616 5614 5104 2562 197 4372 9764 4246 7278 6156 4228 9725 5920 9454 382 810 7498 9779 6473 9510 3554 8667 2165 5442 2919 9501 6975 720 8733 8491 858 2782 8966 7731 5217 9119 9550 8116 6792 8546 4606 2914 5783 1498 3142 7968 3097 6907 6318 1953 9888 5432 3676 9613 5475 8245 795 2750 7365 7196 4527 7635 9425 5963 5407 3688 1230 2790 9901 6573 3325 3589 7943 9415 9500 9538 3702 8497 8259 5862 9652 4740 1388 8220 5885 9312 8000 32 8120 991 7538 8212 9104 4380 5035 6064 8991 1672 6446 567 891 6545 1038 6977 8061 6743 1712 6522 9175 2131 2694 3007 7781 7376 7278 1390 1388 3031 6256 5830 4663 5508 285 6279 9940 5442 6752 1534 6647 5034 3724 2620 9351 8344 228 3562 1926 3973 3502 6960 2779 7319 9929 9339 3267 9453 7086 5967 8260 1774 9824 6780 4345 9828 3376 4129 7395 6175 1354 9412 7114 793 5941 9091 1788 8366 1828 1300 1743 4806 4285 2103 4982 560 5340 5498 3133 5670 276 3528 190 1093 9622 2238 548 2605 9395 5885 6578 7522 4726 5558 9369 645 8947 9374 9381 4154 1936 9596 6517 6695 7896 7355 1623 9599 3796 8242 3539 3094 5451 1732 7716 2414 8678 4371 3910 3003 8071 715 1710 5451 5759 7369 3550 4466 7026 3907 5464 1970 8828 156 6100 2483 1170 2191 4525 9117 9809 9417 6961 914 2065 2366 1970 6851 5402 5261 2635 8573 1116 8999 2994 2905 2746 9012 4388 6321 854 8455 5522 6858 2488 336 7746 4527 5027 2562 4611 8925 176 7437 1865 2696 4632 1873 911 1525 9355 6502 5292 5636 9556 989 5976 4239 2277 9140 7133 2966 7961 901 9680 5220 6624 8993 5163 1331 8058 5811 7518 4659 9131 1255 4891 1139 9434 4395 8074 8381 9520 1300 6116 2166 3568 7973 3415 2167 637 1126 5982 4858 5685 531 7689 9878 3189 4832 67 6682 2607 8085 1714 974 5985 6841 5527 5333 3733 7310 3805 5511 5079 9073 2816 3164 4809 5933 9641 7206 7704 5779 5006 9657 6636 9822 6424 7645 9407 7258 6233 1271 3357 4245 9111 7233 5279 6153 3285 510 7475 9265 9000 968 8678 2549 6872 8548 1254 1714 7428 9617 3342 6574 1581 8235 6650 8726 9866 9393 7291 9724 6048 6831 8408 281 8184 5706 9426 8613 7382 306 7502 717 1351 9085 2202 7368 6343 3526 4532 1678 7353 3850 6299 7375 2309 3178 5253 1464 1599 2622 5666 5581 9567 2769 2872 8222 9581 2258 3858 5082 8918 1514 4263 6968 4079 9294 5045 4182 1164 1480 9753 2874 9666 5485 5604 2659 1455 9799 8616 5805 9795 6527 4689 6430 6059 5290 4944 3549 4242 9548 4676 4335 5550 1338 1018 3703 7182 7447 4883 3250 954 9350 7847 6692 8652 680 4464 242 1865 9634 5018 4860 4708 9568 2872 2967 8067 9033 4498 5105 4015 2716 8791 2034 8674 7151 5551 5029 1167 9628 945 1544 5318 5508 399 5034 9497 8109 6659 6503 8402 6457 2799 1362 8663 9537 6602 8336 7957 1202 4162 7512 4767 7582 6575 2206 3100 8752 4376 4007 3298 8478 9782 2343 6644 145 6978 8968 7655 3410 5439 4106 3868 4780 825 4462 8545 6126 2164 3978 6969 8194 2906 6079 2003 1337 7006 1212 9229 3119 9449 5694 6330 2009 3542 7336 5415 8148 4977 9895 711 6125 4920 2230 7436 861 1445 9008 792 5998 263 7979 6775 4733 2126 4212 8980 5735 5314 4226 7735 1667 7376 2679 9754 4926 741 1221 8004 4483 1940 3209 2747 9144 3982 9289 5572 6210 5948 7337 8881 351 3042 5924 3527 5497 4228 3335 7321 2789 3126 4210 6739 1 1119 3116 3534 2440 9532 8803 6980 2076 405 4462 1207 649 2665 8160 5471 3594 2523 3558 3322 4991 3607 4239 4410 9252 3709 5292 133 2961 1118 3385 1487 178 4211 1270 4348 6591 3479 4596 3910 2191 5228 8021 6264 8560 1063 3903 976 5545 6721 345 4148 2898 8047 6050 6701 5483 747 7265 7620 5862 4155 7209 6529 5454 7459 543 4329 5066 9827 4921 4663 7315 3425 8235 2682 7472 724 3990 1013 5362 4410 8219 5902 9295 9957 9523 9311 3524 7279 9184 5199 3435 8940 849 396 7549 8157 9021 2306 2516 273 2507 7211 6536 6501 3095 4184 8105 8545 1029 514 621 7234 7337 5133 9213 7456 8723 6847 4186 5586 3640 4114 5659 4162 8158 2779 6396 1791 7504 7542 4373 4242 3587 1933 3423 5287 394 316 9241 3169 7987 3845 9177 577 1777 378 7567 2713 6955 6162 3893 9382 8299 4555 8735 3143 3149 4204 2400 6253 49 5974 3172 4650 7503 4416 6411 7273 6395 5813 2175 3879 5915 738 7673 4015 6331 4660 1716 3964 2620 5405 1310 7392 807 1268 5783 8978 3967 8212 1193 8546 7000 8957 7365 6186 8802 762 1678 6440 6987 2462 7650 1999 4172 4714 2545 4281 5786 475 6536 38 7561 5577 6474 9438 6213 1674 34 2190 9367 6038 890 3996 533 4501 2645 6072 1836 5383 8528 5599 1350 3472 5307 4786 3152 4013 3528 720 6711 7282 1989 7375 7914 4581 2424 5024 6870 6482 523 872 7688 3783 1846 7958 2687 1010 5759 7346 7862 1313 7269 1218 8118 333 5625 1829 9507 5021 9658 3249 1751 1493 3188 9548 7459 3780 9336 4420 4854 2808 284 3334 8327 2099 8910 27 5905 3527 828 4623 4644 3004 9599 762 4038 2187 4366 3945 3872 8198 7786 2817 6405 8964 2967 9286 3466 7041 1147 2244 6877 9785 7041 3248 5710 8363 6182 745 6067 2470 8168 2376 8546 1631 1481 2525 5135 7688 9516 4575 1087 6506 3576 4364 8322 9986 6951 2995 5046 2298 4693 3547 1693 6681 6405 7298 5775 1353 4268 813 8034 4875 5603 5700 9141 2894 8529 7963 372 9373 731 3683 2928 6336 5014 2279 9079 6774 1122 7779 4004 5594 1335 2399 14 3515 7562 5325 4940 8429 36 2798 3676 8133 2290 3587 6301 7324 3884 6528 7815 521 1279 4147 3323 936 8416 8359 8476 3456 1888 960 8184 7645 1090 2970 6924 4171 1473 2971 1577 5211 8874 5342 2416 6233 5032 4696 9803 3080 8599 3004 3292 4523 2483 661 6084 6340 6929 2268 1320 8568 8652 2104 7320 2882 9267 3114 6786 2012 1560 6831 9993 7754 9443 9872 4266 8502 7097 5627 1429 1256 4519 7340 1556 6747 666 1129 5129 9794 1543 4497 6710 37 8879 7537 1388 1012 5591 457 659 8000 6906 2091 6898 7225 933 9807 5361 845 9541 1691 9559 3683 9658 6981 9948 8898 6593 561 7205 685 4588 1822 9826 2679 5667 7370 1452 1066 5838 977 6207 1304 7944 2685 382 7086 2823 2270 6000 9483 5020 179 6278 3231 6086 1707 4558 5892 7414 7472 7115 3966 5752 5263 6220 8184 7813 5020 3015 7954 5965 87 113 2422 4653 3932 1391 2768 7130 2293 1180 7196 4113 6137 6972 6612 305 965 8890 5211 1109 2775 5441 6088 574 544 8595 7607 2381 9230 1871 1516 8740 6224 2989 8792 7250 7689 7700 3847 3170 9530 3634 2064 4138 637 2428 9684 6132 3701 5019 8778 3430 1181 8769 3425 1460 1050 6099 6359 9772 8593 2451 8075 2875 6929 6790 2910 9382 9993 388 8727 4813 7464 9370 8703 471 1548 3434 5250 81 696 7257 7315 7345 5091 2415 3203 1183 3289 6108 1698 1292 8570 8673 4493 4654 7432 4725 2942 3823 1212 2813 1811 239 5116 5707 2009 364 6805 7877 3365 9240 9401 8314 7212 4981 998 5647 6925 8891 4847 8516 2719 9220 1016 7295 4718 2066 1736 3672 5843 665 8687 2086 3187 4190 1254 1809 3397 9266 186 346 4138 1656 1268 7960 9891 2066 8381 9412 6304 8613 4852 2519 2843 9377 6197 3761 8843 1436 6201 9083 2969 8009 1881 3045 796 2732 1102 1727 9542 9636 9576 4229 3030 9213 1586 4187 3673 4877 1097 6560 1684 264 6927 5907 4807 6192 7313 553 4653 6552 5629 2406 8195 5166 24 4731 5120 507 5550 9934 3617 2266 7747 6313 8664 3015 1814 6873 8139 9677 1288 4567 2973 3152 4655 6845 8156 275 7523 8038 1682 302 1846 988 8526 8340 2263 9363 6351 489 2862 9361 9037 99 5622 3884 3123 1264 4417 3940 999 4664 5765 761 3070 1983 9533 8164 9232 8479 9459 7820 7763 8801 4788 492 7218 8831 304 3812 4074 6241 2884 1935 5694 4544 8052 4325 4754 9645 196 20 7457 4411 4916 49 3790 5365 1434 4148 3666 6474 7257 8589 8082 8022 6082 9810 9390 3722 3560 3572 9442 6672 3756 1618 8702 4298 2083 7221 3470 4202 8129 7615 2076 6810 4092 5135 4295 6818 1566 9819 1365 3815 1069 4470 6730 2927 5134 8470 138 9074 6799 9241 9856 3288 1117 9942 9636 6662 7732 8950 8555 6724 7695 761 3139 2515 7513 9251 2018 8277 7928 2726 4005 1504 4091 5873 758 9100 7711 6555 5152 5621 290 5492 6142 9953 9818 4043 270 1361 1254 9790 8963 2622 3716 1188 9522 6888 4658 1380 6095 6100 3274 7233 5020 2068 2082 2842 6727 6875 7023 7109 3832 6963 2446 2548 2226 5144 8128 7208 8820 6863 917 3515 6125 1309 3691 6982 54 4438 9165 3980 3289 9570 5565 1303 2092 2118 5385 907 9762 7967 7311 1051 4902 257 4976 156 7316 6705 4443 1899 8684 9192 5270 9497 9247 9088 7622 3750 5381 5769 223 3205 6422 1904 937 5787 2144 7424 3452 9430 5103 4606 9929 4589 4525 9411 529 4062 577 9103 6500 5301 9680 3254 3920 7302 3119 4522 358 8280 2337 7020 6475 1638 5298 3760 9150 6210 8825 482 1859 2457 2160 1164 1925 9132 6920 781 2838 4989 8309 3185 3076 7355 1788 6651 798 3792 8410 6326 6422 4701 804 1808 2409 3507 132 9239 1557 7061 2506 578 1835 2068 1067 8290 7131 3698 7472 1359 9371 104 3628 8433 8209 1292 1389 5999 9931 2727 4478 3738 7349 3151 3078 5676 7258 2415 7482 4394 1553 8576 2765 6363 2276 4223 1729 9536 9743 9831 8357 9471 6475 7001 8637 7722 7898 6677 8 5749 3719 6858 4668 9407 1517 933 5738 3031 6394 1564 8670 8233 7544 6030 3381 917 4274 7118 5382 490 405 9011 6647 7967 7020 170 9111 4573 9314 4939 5552 9501 3698 2533 4116 4772 6482 6180 4006 6590 5225 6477 714 6229 8396 1519 9823 9319 8133 2028 8639 410 4795 2565 4930 9917 553 9973 1669 2910 2512 7412 6048 3829 3820 6793 53 7939 3815 4017 8616 9321 5594 223 9757 6322 1403 8249 9241 8713 2891 6659 49 6350 4707 4081 4428 6802 5935 4120 3456 9316 4638 5874 5889 4592 6218 6975 4607 4067 6429 5224 5179 8893 4672 1146 6989 7426 2740 7326 2953 879 8345 1002 9143 9793 1637 4320 606 9207 6496 1643 4317 7788 6636 5578 4569 5759 9481 2807 103 8248 8422 7395 6044 4609 6355 3085 7080 437 424 7038 1440 7303 9569 5673 7994 5783 2864 8626 1291 20 7675 9368 1480 6994 2460 796 7927 721 9424 1010 6871 884 7403 8604 4670 6859 5164 8099 9108 1734 9773 4646 1833 6739 3937 2774 5263 4552 37 6843 7287 117 7172 894 6726 31 784 2850 1883 6116 2359 2400 3545 5572 9331 3563 2485 9058 2636 1693 9981 9192 1365 670 7903 5285 644 9233 2757 5657 257 5719 5491 6561 7587 8065 6074 6674 9205 654 8684 8141 870 1482 9867 9483 5846 2289 8257 2090 6227 543 370 679 1498 5677 2555 8945 2728 2660 4479 4604 9664 3826 4504 3295 1577 4945 1955 8139 958 3747 5639 1374 2080 8554 1988 6244 4105 1262 9952 1252 701 2720 3137 5071 5146 9564 2813 8700 1591 9691 8179 1984 9514 8969 2751 4332 9492 4292 7891 4335 4123 7834 6360 94 8425 4308 273 1318 9116 7087 9106 5699 2034 414 4258 5751 1421 3350 7314 8078 4019 6843 9414 5103 4774 8097 9096 9452 9529 6533 5673 3621 3334 2821 4506 2095 923 6923 9604 9884 8569 2661 7689 385 3804 5158 6256 6617 1531 3463 6297 3221 1709 3863 8090 2109 5194 9717 5953 2394 374 1240 5036 5063 3986 3351 19 5006 4951 1672 2180 7220 173 5830 7465 506 6091 5555 4125 590 9237 8523 4094 5450 3282 9571 7524 8629 8900 8804 4906 1548 6350 1103 5839 3187 8949 1844 7867 5110 8510 3015 2823 1581 1492 551 1864 8446 6874 7502 3760 617 3816 8631 4118 6339 8813 220 5993 6894 8474 4216 4821 3152 5065 8405 2745 5236 7770 4031 9282 8663 3000 9205 6776 9584 2272 560 344 3217 5926 6912 2884 3178 5516 7159 6355 5281 6846 336 786 7374 9537 8603 2463 6981 7556 3997 2395 930 8388 6995 5502 5711 6491 9382 12 4085 9281 5526 5255 2407 1210 4942 4474 4291 3519 5034 7355 9555 3919 6074 4758 2907 1838 823 5611 4542 936 8773 3085 4713 1341 9703 4011 6409 9495 3177 2033 4561 3643 9720 1208 6617 7777 5714 2693 8020 6396 7525 2722 6896 6585 1065 5383 5331 2832 848 8671 9770 3543 7641 6948 517 6474 6048 7279 9839 3235 2808 1171 9991 666 3174 6936 6412 9161 6545 1312 7479 5068 3530 2100 563 5931 4765 6304 4611 3767 7185 797 2217 2583 6004 4630 9016 2149 383 4000 5329 420 7683 2397 4239 2183 5341 9663 1756 1277 665 4644 8337 8264 7368 6670 6906 4605 3307 1391 477 8267 6777 6498 2749 4278 8729 2464 7379 6953 5559 2838 6270 8513 1497 7616 3931 1382 1263 1966 3963 8816 2447 967 4828 483 3057 9136 5437 6331 2849 1289 6549 3420 7426 8761 1735 6512 1625 2154 1527 3909 3464 8659 6435 5507 1832 8474 8838 143 227 1142 135 4143 5130 8452 8252 2449 1111 6215 1398 7934 5423 2472 6969 3353 2698 4660 9748 3980 5415 2950 890 7184 8055 1279 8800 8190 2259 1663 4757 8868 6932 1075 108 8693 1041 3594 7983 4072 7819 3631 824 3861 7286 8796 5533 5327 9337 3477 749 5831 2213 6322 5665 1294 902 6701 6857 2924 6932 6719 8890 8817 5145 6596 5895 6867 4323 2138 4976 9906 7038 3600 8121 3205 9769 5554 7321 8312 7178 7312 7786 5816 4497 3143 6565 2822 9219 854 8438 8910 7697 6325 7730 6943 3872 354 3629 2426 6158 2504 7769 7110 4474 4824 6126 9220 2627 6024 2831 4076 1560 4202 1189 4934 6585 3367 7081 4617 6405 5834 2028 3962 3680 9120 7433 3224 6011 2177 8006 7395 2493 1720 995 5905 4478 4980 8678 1348 9886 524 4602 767 8233 3733 9256 6580 8609 8201 8238 2511 5079 8647 5589 2782 3396 4991 6708 499 9521 940 9229 3450 4263 3846 6383 2532 9323 5711 5688 9740 8199 7968 6355 8997 777 5161 1455 4190 2987 4788 5845 4523 2619 2445 7873 7724 9346 2888 2193 6802 1079 8929 2452 5823 115 902 6263 4716 999 114 707 2275 7688 9914 4615 428 509 8017 4111 1388 3402 3384 257 2569 9197 269 2244 2072 5113 1117 6335 191 2245 8705 9720 9692 1637 6296 9577 9619 5495 2733 991 4084 5298 7117 2848 8853 8899 5235 8603 4631 6275 7034 8629 6673 8317 1288 2995 5808 4965 148 7775 6090 8125 2473 4417 9081 1075 755 382 4302 9589 2048 73 9568 647 8586 8089 3782 2477 8756 2055 8359 4738 3749 9668 1673 9852 9540 4166 3886 5956 7914 4225 7118 8529 3942 8207 8256 1565 747 8853 8684 135 5465 2831 6925 4372 3132 72 6526 251 7650 531 2637 5111 1187 896 6434 5584 5171 863 7001 2522 7617 7850 5422 1639 2697 477 5619 9855 9413 4794 1001 5849 6807 3054 5166 8984 3424 2865 8779 3614 8730 4728 3307 5874 3829 8401 5552 7234 8179 3078 4861 3583 8031 3151 7515 166 1056 282 110 1527 9993 3640 5763 1595 6302 3514 3640 2211 2539 8996 3705 8761 9664 8168 4627 9144 2656 9092 3566 7006 4647 2002 1961 2140 6302 7343 1607 12 3442 786 98 8725 1753 4967 4215 5176 3078 8530 4054 2853 3018 6085 9519 1596 4594 7893 4427 4648 7329 5461 1669 623 5491 8851 5851 7379 3252 3235 7440 1438 8245 6207 4779 380 8417 3493 7297 6616 147 9039 4994 9131 8415 5979 5572 5148 2250 7658 1744 6200 863 2829 6910 2861 7696 6176 7908 9266 1181 4616 8622 2719 2189 1261 8074 4931 9089 2585 1100 9953 1901 166 8948 9533 7353 6378 939 9481 6566 3626 6981 672 6808 9112 3912 5587 8056 1690 6611 5650 4172 4131 7461 6311 7196 3103 5024 5551 1682 269 4827 7520 4098 1289 1827 6168 74 4967 5494 4107 9792 2556 4543 9472 8926 7072 9073 8298 9416 4579 3309 1860 891 3664 2297 7511 9749 5772 687 7876 8851 7731 1251 6736 6355 8607 4986 611 7496 6047 3503 2898 8114 2502 7990 2514 3367 9070 7281 1158 9413 4325 493 2808 9893 7217 7341 5619 2763 7134 1535 221 6415 325 9674 9394 7136 213 9745 2257 2758 9668 9702 1499 9766 6004 7679 4700 3352 4329 1118 534 1711 2022 2568 7585 7420 6293 5004 7601 9947 8328 9350 6315 4284 1079 1388 3443 1245 3657 4412 9169 5283 3258 7887 7238 5645 5782 916 4888 6341 8684 2574 7031 9750 4194 9125 6561 7708 7777 732 4251 2665 5702 7620 514 9893 6699 7631 7281 9814 6019 3803 1426 7321 5753 1990 1539 2428 2928 4595 7369 3721 6839 7251 6034 2977 9117 711 988 5787 4315 341 8852 9311 5266 435 5537 4125 6078 49 6538 2792 6474 1266 6977 3009 4228 9669 4835 8188 7601 351 5841 2979 7126 1076 742 5592 5632 7102 5095 2788 7195 9854 8339 7164 9628 3886 2683 9738 1298 3650 3364 3940 1361 3198 9983 9919 3031 8391 3980 505 2221 2206 9887 2378 8757 9507 7704 7787 4470 8075 693 3738 1730 7826 6963 6761 7439 9960 4557 2295 1141 2271 8220 8317 1752 6070 1676 3112 5410 4014 2159 7087 7158 6710 3942 8138 1581 9245 4861 9487 2062 6676 4269 7872 5138 190 2447 8758 5340 2934 299 3594 7089 6528 4158 2270 3522 5950 3700 1694 7645 1872 1304 8879 8931 5593 8776 4113 8341 2440 2075 6586 6865 4996 6589 1427 6920 7578 4657 3295 2400 8276 3300 7589 1834 4282 3613 5929 9912 517 3966 7863 5682 361 7000 5685 898 909 5465 3968 9430 3402 4176 9694 8177 2438 4795 2952 1745 5168 6757 1866 7064 4039 1438 8823 282 3595 7691 8192 6605 3593 5002 8466 4257 7020 5906 4278 6450 2684 1864 5857 144 7809 6491 5371 7453 6493 7011 1106 4828 5008 8872 1677 6593 4757 9790 3357 3060 8188 7951 4218 9288 2156 4796 9052 8535 7116 5659 9015 4705 9060 1584 9599 441 4416 2885 9871 2130 6010 9432 4962 9814 855 4255 2518 9009 7844 5868 2191 2521 5402 698 5415 3723 5866 155 419 8234 4727 7288 4957 8699 8945 5464 6361 7197 9265 6298 5380 1938 6963 5935 6812 9154 5506 7942 6123 7538 2487 7337 7198 1251 6657 3765 1933 8314 9082 2548 7676 4260 6331 130 3482 6084 7156 5551 829 8957 2393 1780 8760 7724 730 169 7466 6990 635 7922 8040 7555 1045 2239 9549 3071 410 5805 7654 9179 5392 6457 1786 7837 6881 9238 395 2318 2067 1569 5891 3198 7040 2030 2785 2765 4859 161 4056 4535 9126 8791 1991 6022 2944 1724 643 6550 7612 8072 7679 7713 4623 227 3627 2135 8399 5294 6554 6357 5758 9894 9812 6080 1362 5433 9881 6594 6341 5413 342 7953 9906 7920 6742 3440 1077 5267 5531 1003 9673 8716 8321 661 2373 9416 
冒泡bubble()用时:315毫秒!
选择selectSort()用时:307毫秒!
0 1 1 2 3 4 8 8 10 10 11 12 12 12 13 14 14 15 15 15 15 16 19 20 20 23 23 24 25 27 29 31 31 31 32 32 33 34 34 34 34 36 37 37 38 38 38 40 40 42 43 44 45 46 48 49 49 49 49 49 49 52 53 53 54 54 58 62 63 64 65 67 67 69 69 70 72 72 73 74 74 74 75 76 76 76 78 78 79 81 84 87 88 88 89 90 94 94 97 97 98 98 99 99 99 99 101 102 103 104 105 105 106 108 110 113 113 113 114 115 115 115 115 116 116 116 117 118 119 119 121 122 123 123 124 124 125 125 129 130 130 132 133 134 135 135 137 138 138 139 140 143 144 144 145 145 147 148 148 151 154 155 156 156 156 157 157 160 161 162 164 166 166 166 167 167 168 168 169 170 170 171 173 174 174 174 176 176 176 177 178 179 181 181 182 184 185 186 186 188 190 190 191 193 196 196 197 198 199 200 201 204 205 206 206 208 209 209 213 214 214 217 218 218 220 221 223 223 225 226 227 227 227 228 228 229 230 230 230 233 239 240 242 242 243 244 247 247 248 249 249 251 252 253 253 255 257 257 257 259 259 260 260 261 261 261 261 262 263 263 264 265 265 267 267 268 268 268 269 269 269 270 270 272 272 272 273 273 273 273 274 275 275 276 277 277 280 281 281 282 282 282 284 285 285 285 286 290 290 291 293 293 298 298 298 298 299 299 299 301 302 302 304 304 305 305 306 307 308 308 309 310 310 310 315 316 317 317 319 319 319 320 322 324 324 325 325 326 330 331 333 333 335 336 336 336 336 337 338 339 340 341 341 342 343 344 344 344 345 345 346 346 346 346 347 347 348 351 351 351 351 353 354 355 356 358 359 360 361 362 364 364 364 364 364 365 366 366 367 369 370 371 372 374 377 378 379 379 380 380 381 381 382 382 382 382 383 383 384 384 385 385 386 387 388 388 392 393 394 395 395 396 396 396 398 398 398 399 399 401 402 404 404 405 405 405 409 410 410 410 410 411 412 414 414 414 415 416 419 420 421 424 424 426 428 428 429 430 430 432 434 435 436 437 437 440 441 441 442 442 442 451 452 453 453 455 456 457 459 461 466 467 468 469 469 471 472 475 477 477 477 478 478 479 479 480 482 482 483 483 484 485 487 487 489 489 490 491 491 492 492 492 492 493 493 494 494 496 497 498 499 499 501 501 501 503 504 504 505 505 506 507 507 508 509 510 510 510 511 514 514 514 516 517 517 517 517 517 518 520 521 522 523 524 524 524 524 525 526 527 527 528 529 529 529 529 531 531 531 532 533 533 534 534 536 539 541 541 541 541 542 542 542 543 543 544 546 547 547 547 548 549 550 551 551 552 553 553 556 556 559 560 560 560 561 561 562 562 563 566 567 568 568 574 575 576 577 577 578 578 580 580 581 581 582 585 585 588 589 589 590 590 591 593 594 597 598 600 600 601 601 602 603 605 605 605 606 611 611 612 615 616 616 616 617 618 621 621 622 622 623 623 628 628 629 630 631 634 635 635 637 637 638 639 640 640 642 642 643 644 645 647 648 648 649 650 650 651 652 654 656 659 661 661 662 663 663 664 665 665 666 666 666 666 667 667 670 670 671 672 673 675 676 679 679 680 680 682 684 685 687 687 687 688 688 688 689 689 690 691 693 696 697 698 698 698 699 700 701 703 703 707 707 711 711 713 714 715 717 717 719 720 720 720 721 721 722 724 730 731 731 732 732 732 733 733 736 737 738 739 741 742 743 745 747 747 748 749 750 752 754 755 755 755 756 758 759 760 761 761 761 762 762 762 762 762 765 766 767 767 770 771 771 774 777 780 781 781 781 781 781 781 784 785 786 786 786 787 788 792 792 792 793 793 794 795 796 796 796 797 797 798 798 799 801 804 804 805 807 807 809 810 810 810 812 812 813 813 817 820 821 821 823 823 824 824 825 827 828 829 829 830 830 832 834 835 837 838 839 839 845 845 846 848 848 849 850 850 850 854 854 855 857 858 858 861 862 863 863 864 867 868 868 870 870 872 872 872 874 874 877 877 879 882 884 884 884 890 890 890 890 890 891 891 891 894 894 896 896 896 897 897 898 898 898 900 900 900 901 901 902 902 903 904 905 907 908 909 911 912 912 914 914 916 917 917 917 920 920 921 922 923 924 924 928 930 933 933 933 934 936 936 937 939 940 943 945 946 946 948 948 949 952 953 954 954 954 955 956 956 957 958 958 960 961 961 961 965 965 967 967 968 968 969 970 974 974 976 976 977 978 978 980 981 987 987 988 988 988 989 991 991 992 993 995 996 997 997 998 999 999 999 1001 1001 1002 1002 1003 1005 1006 1009 1010 1010 1010 1010 1010 1012 1012 1012 1012 1013 1015 1016 1017 1018 1020 1020 1021 1023 1024 1025 1025 1025 1028 1029 1032 1033 1038 1041 1041 1042 1045 1046 1049 1050 1050 1051 1052 1054 1055 1056 1057 1057 1059 1061 1062 1063 1064 1064 1065 1066 1066 1067 1069 1071 1072 1072 1075 1075 1075 1076 1077 1077 1079 1079 1079 1083 1087 1087 1087 1088 1088 1089 1089 1090 1090 1090 1090 1091 1092 1093 1093 1094 1095 1096 1097 1100 1102 1103 1103 1103 1103 1104 1106 1106 1108 1109 1110 1110 1111 1112 1113 1114 1115 1116 1117 1117 1118 1118 1119 1122 1122 1123 1124 1126 1127 1127 1127 1127 1128 1128 1129 1129 1129 1131 1131 1131 1138 1139 1139 1139 1141 1141 1142 1142 1142 1143 1144 1146 1147 1147 1147 1149 1149 1149 1150 1155 1155 1158 1159 1162 1164 1164 1164 1166 1167 1167 1169 1170 1171 1175 1175 1175 1175 1175 1178 1180 1181 1181 1183 1185 1186 1187 1187 1188 1188 1188 1189 1189 1189 1190 1192 1192 1193 1194 1195 1196 1196 1198 1198 1199 1200 1201 1202 1203 1204 1207 1207 1208 1209 1209 1210 1212 1212 1212 1212 1212 1212 1213 1213 1213 1215 1217 1217 1218 1218 1218 1218 1219 1220 1221 1222 1223 1223 1223 1224 1224 1225 1227 1229 1229 1230 1232 1232 1234 1235 1236 1237 1237 1239 1240 1242 1245 1245 1249 1251 1251 1251 1252 1253 1253 1254 1254 1254 1254 1254 1255 1256 1256 1259 1260 1260 1261 1261 1262 1263 1263 1263 1263 1264 1264 1264 1264 1264 1265 1265 1265 1266 1268 1268 1268 1268 1268 1268 1270 1271 1274 1275 1275 1276 1277 1279 1279 1283 1285 1286 1288 1288 1289 1289 1289 1291 1292 1292 1293 1294 1295 1296 1298 1300 1300 1302 1302 1303 1304 1304 1306 1308 1308 1308 1309 1309 1310 1311 1312 1312 1312 1312 1312 1313 1318 1319 1320 1326 1328 1329 1331 1333 1335 1336 1337 1338 1341 1341 1343 1344 1345 1345 1347 1348 1350 1351 1353 1353 1354 1359 1359 1361 1361 1361 1362 1362 1364 1364 1364 1365 1365 1365 1366 1368 1369 1373 1373 1374 1375 1379 1380 1380 1381 1382 1385 1387 1388 1388 1388 1388 1388 1389 1390 1391 1391 1392 1392 1394 1395 1395 1398 1403 1403 1406 1406 1407 1411 1415 1417 1419 1421 1421 1421 1422 1422 1426 1427 1428 1428 1429 1429 1434 1436 1437 1438 1438 1438 1440 1442 1445 1445 1447 1452 1452 1455 1455 1456 1456 1457 1457 1458 1459 1460 1464 1464 1467 1467 1469 1469 1469 1470 1472 1472 1473 1474 1477 1479 1480 1480 1480 1480 1480 1481 1482 1482 1483 1484 1485 1485 1486 1487 1489 1489 1490 1491 1492 1493 1495 1496 1497 1498 1498 1499 1499 1499 1500 1501 1501 1502 1503 1503 1504 1504 1506 1509 1510 1512 1513 1514 1516 1517 1518 1519 1520 1520 1520 1522 1522 1522 1524 1525 1525 1526 1527 1527 1531 1532 1532 1532 1533 1534 1534 1535 1535 1537 1537 1538 1539 1539 1539 1539 1541 1543 1544 1544 1545 1548 1548 1549 1549 1549 1551 1551 1553 1553 1553 1555 1556 1556 1556 1557 1557 1558 1560 1560 1560 1561 1561 1564 1564 1565 1566 1566 1566 1569 1570 1571 1573 1573 1576 1577 1577 1581 1581 1581 1583 1584 1584 1586 1586 1588 1590 1591 1591 1593 1593 1595 1596 1596 1596 1599 1601 1602 1605 1606 1607 1607 1607 1607 1607 1608 1609 1610 1611 1611 1613 1614 1615 1616 1618 1619 1620 1620 1620 1623 1625 1625 1627 1627 1628 1629 1630 1631 1631 1634 1634 1635 1635 1637 1637 1638 1638 1639 1643 1643 1648 1648 1651 1651 1652 1653 1653 1656 1659 1660 1663 1663 1665 1667 1669 1669 1671 1671 1672 1672 1672 1672 1672 1673 1673 1674 1676 1676 1676 1677 1677 1678 1678 1678 1680 1681 1682 1682 1683 1684 1688 1688 1690 1691 1691 1692 1692 1692 1693 1693 1694 1694 1695 1695 1697 1698 1698 1698 1698 1703 1703 1705 1705 1706 1707 1707 1709 1710 1711 1712 1714 1714 1716 1718 1718 1720 1721 1722 1723 1724 1727 1728 1728 1729 1729 1730 1730 1731 1732 1733 1734 1734 1734 1735 1736 1737 1741 1741 1742 1743 1744 1744 1745 1745 1746 1751 1752 1752 1752 1753 1753 1756 1756 1756 1757 1758 1758 1759 1759 1765 1766 1766 1767 1767 1768 1768 1769 1771 1773 1774 1776 1777 1779 1780 1781 1783 1786 1788 1788 1788 1789 1790 1790 1791 1791 1792 1793 1793 1795 1798 1803 1803 1803 1804 1807 1807 1807 1808 1808 1808 1809 1810 1811 1812 1814 1814 1816 1818 1822 1822 1823 1823 1823 1826 1826 1827 1827 1828 1829 1829 1829 1830 1831 1831 1832 1832 1833 1833 1833 1834 1835 1835 1835 1836 1838 1838 1838 1841 1844 1844 1844 1846 1846 1846 1848 1850 1850 1850 1854 1856 1857 1859 1860 1862 1864 1864 1865 1865 1865 1865 1866 1867 1871 1871 1872 1873 1873 1873 1881 1881 1881 1883 1886 1887 1888 1892 1892 1892 1892 1893 1895 1897 1898 1899 1900 1900 1901 1902 1903 1903 1904 1904 1905 1905 1906 1911 1912 1913 1923 1923 1924 1925 1926 1926 1926 1927 1931 1933 1933 1934 1935 1936 1937 1938 1940 1945 1945 1946 1946 1946 1948 1949 1949 1951 1953 1953 1955 1955 1956 1957 1960 1961 1962 1963 1964 1964 1966 1967 1968 1968 1968 1970 1970 1973 1973 1974 1974 1974 1975 1975 1976 1976 1977 1978 1978 1979 1979 1979 1980 1980 1981 1981 1981 1982 1983 1984 1987 1988 1988 1988 1989 1989 1989 1990 1990 1990 1991 1991 1992 1993 1994 1995 1999 1999 1999 2002 2002 2003 2005 2006 2006 2008 2009 2009 2009 2009 2010 2012 2012 2017 2018 2018 2019 2019 2019 2020 2021 2022 2022 2022 2023 2025 2025 2026 2026 2028 2028 2030 2033 2033 2033 2034 2034 2034 2035 2036 2037 2038 2039 2040 2041 2041 2041 2042 2044 2046 2046 2048 2048 2049 2050 2050 2051 2055 2055 2057 2060 2062 2063 2063 2064 2064 2065 2065 2066 2066 2066 2067 2068 2068 2072 2074 2075 2076 2076 2076 2080 2080 2081 2082 2082 2082 2083 2083 2083 2085 2086 2086 2088 2090 2091 2091 2092 2092 2093 2093 2093 2094 2095 2096 2097 2099 2100 2100 2103 2103 2104 2104 2104 2108 2109 2109 2110 2110 2112 2112 2114 2115 2115 2115 2118 2120 2121 2122 2126 2126 2128 2130 2130 2130 2131 2131 2132 2133 2133 2134 2135 2135 2135 2138 2140 2140 2140 2144 2146 2146 2146 2149 2149 2149 2149 2149 2152 2152 2154 2154 2154 2155 2156 2157 2159 2159 2160 2162 2163 2164 2164 2165 2165 2165 2166 2166 2167 2168 2168 2173 2175 2175 2177 2178 2180 2181 2183 2183 2184 2185 2187 2187 2189 2190 2190 2191 2191 2191 2193 2196 2199 2200 2202 2202 2204 2205 2206 2206 2206 2209 2209 2210 2210 2211 2213 2214 2215 2215 2216 2217 2218 2220 2221 2225 2225 2226 2226 2226 2228 2230 2230 2230 2231 2232 2232 2233 2233 2234 2236 2236 2237 2237 2238 2238 2239 2240 2243 2244 2244 2245 2245 2246 2246 2250 2253 2254 2255 2256 2256 2257 2257 2258 2259 2261 2261 2263 2263 2263 2264 2266 2266 2266 2267 2268 2269 2269 2270 2270 2270 2270 2271 2271 2272 2273 2274 2274 2275 2275 2275 2276 2277 2278 2279 2283 2289 2289 2290 2291 2293 2293 2293 2294 2295 2297 2297 2298 2299 2300 2300 2302 2305 2305 2306 2306 2306 2308 2308 2309 2309 2314 2314 2315 2318 2318 2319 2319 2320 2321 2321 2321 2322 2323 2325 2326 2326 2330 2333 2333 2333 2336 2337 2337 2337 2341 2342 2343 2343 2344 2344 2344 2345 2346 2346 2346 2347 2350 2350 2352 2352 2354 2359 2363 2366 2367 2369 2371 2372 2372 2373 2373 2375 2376 2378 2381 2381 2381 2382 2382 2385 2385 2386 2386 2391 2393 2393 2394 2394 2394 2395 2396 2397 2399 2400 2400 2400 2400 2400 2406 2406 2407 2408 2408 2409 2409 2411 2414 2415 2415 2415 2416 2417 2417 2418 2420 2422 2422 2424 2424 2424 2425 2426 2426 2428 2428 2428 2430 2430 2431 2435 2436 2436 2438 2438 2438 2438 2439 2440 2440 2441 2442 2443 2444 2445 2445 2446 2446 2446 2447 2447 2448 2449 2449 2450 2451 2451 2452 2453 2454 2456 2456 2457 2459 2460 2462 2463 2464 2464 2468 2468 2470 2472 2472 2473 2473 2473 2477 2477 2479 2480 2481 2482 2483 2483 2485 2485 2487 2487 2488 2488 2490 2490 2492 2493 2493 2494 2494 2495 2495 2496 2498 2500 2500 2502 2503 2504 2506 2507 2508 2509 2511 2511 2512 2512 2512 2514 2515 2515 2516 2516 2517 2518 2519 2521 2522 2522 2523 2523 2525 2526 2530 2532 2533 2533 2537 2537 2538 2539 2540 2541 2543 2543 2545 2545 2547 2548 2548 2549 2551 2551 2552 2555 2555 2556 2556 2556 2559 2560 2560 2561 2562 2562 2562 2562 2562 2562 2565 2565 2568 2568 2568 2569 2569 2569 2570 2572 2573 2574 2577 2579 2580 2581 2583 2583 2584 2585 2587 2589 2590 2591 2593 2597 2597 2597 2598 2599 2599 2599 2599 2605 2606 2607 2610 2610 2611 2612 2615 2617 2619 2620 2620 2622 2622 2624 2626 2626 2627 2627 2629 2630 2632 2633 2635 2636 2637 2640 2641 2641 2641 2642 2644 2644 2645 2645 2647 2648 2648 2650 2650 2652 2654 2655 2656 2656 2658 2658 2659 2660 2661 2661 2661 2662 2664 2664 2665 2665 2665 2668 2669 2670 2671 2672 2673 2673 2676 2676 2677 2678 2679 2679 2680 2682 2682 2682 2683 2683 2683 2684 2685 2686 2687 2687 2689 2691 2691 2692 2693 2694 2696 2697 2697 2698 2698 2699 2701 2702 2702 2704 2705 2705 2707 2708 2708 2710 2713 2713 2714 2714 2715 2716 2716 2716 2717 2718 2719 2719 2719 2720 2721 2722 2723 2723 2724 2726 2726 2727 2728 2729 2732 2733 2734 2736 2738 2738 2740 2741 2741 2745 2746 2746 2746 2746 2747 2747 2748 2748 2749 2749 2750 2751 2751 2751 2752 2753 2755 2757 2758 2762 2763 2763 2765 2765 2765 2767 2767 2768 2769 2769 2774 2775 2775 2775 2775 2779 2779 2780 2782 2782 2785 2788 2788 2789 2790 2791 2791 2792 2792 2793 2794 2797 2798 2799 2799 2799 2800 2801 2801 2802 2803 2804 2804 2804 2805 2805 2806 2807 2807 2808 2808 2808 2808 2813 2813 2814 2814 2815 2816 2816 2817 2817 2817 2818 2821 2821 2822 2822 2823 2823 2824 2825 2827 2827 2829 2829 2830 2831 2831 2832 2832 2838 2838 2838 2839 2840 2841 2842 2843 2843 2846 2848 2848 2849 2850 2850 2853 2853 2853 2855 2860 2861 2862 2862 2863 2864 2865 2865 2865 2867 2869 2869 2870 2870 2872 2872 2872 2873 2874 2875 2877 2877 2878 2878 2881 2882 2883 2884 2884 2885 2886 2888 2889 2889 2889 2891 2892 2892 2892 2894 2894 2896 2898 2898 2898 2899 2901 2902 2905 2905 2906 2907 2907 2909 2909 2910 2910 2910 2912 2913 2913 2913 2914 2914 2916 2917 2918 2919 2919 2921 2922 2923 2923 2924 2925 2926 2927 2928 2928 2930 2931 2932 2934 2934 2936 2937 2938 2939 2941 2942 2943 2944 2944 2945 2946 2946 2946 2947 2950 2952 2953 2953 2954 2956 2959 2961 2962 2962 2965 2966 2967 2967 2969 2969 2970 2971 2971 2971 2971 2973 2975 2977 2979 2980 2982 2982 2982 2982 2985 2987 2987 2988 2989 2989 2990 2991 2991 2991 2992 2992 2992 2993 2994 2994 2994 2995 2995 2995 2995 2997 2997 2999 2999 2999 3000 3002 3003 3003 3004 3004 3004 3004 3005 3005 3007 3007 3009 3014 3014 3015 3015 3015 3017 3018 3018 3020 3020 3027 3029 3029 3030 3031 3031 3031 3032 3035 3035 3036 3036 3038 3041 3041 3042 3042 3042 3043 3043 3044 3044 3044 3045 3049 3050 3051 3054 3055 3056 3057 3060 3060 3062 3063 3064 3065 3066 3066 3067 3069 3070 3070 3071 3076 3077 3078 3078 3078 3078 3078 3079 3080 3084 3085 3085 3085 3085 3087 3089 3090 3090 3092 3093 3093 3094 3095 3095 3096 3096 3097 3098 3100 3100 3102 3103 3104 3106 3106 3107 3107 3108 3109 3109 3109 3110 3111 3112 3112 3114 3116 3116 3117 3118 3119 3119 3122 3122 3122 3123 3126 3126 3126 3127 3129 3131 3132 3132 3133 3135 3135 3137 3138 3139 3139 3141 3142 3143 3143 3145 3145 3146 3147 3147 3148 3149 3151 3151 3152 3152 3152 3154 3157 3158 3159 3160 3162 3163 3163 3163 3164 3167 3167 3168 3169 3170 3170 3172 3173 3174 3177 3178 3178 3178 3180 3181 3182 3183 3183 3185 3186 3187 3187 3187 3187 3188 3188 3189 3192 3193 3194 3194 3195 3196 3198 3198 3200 3200 3200 3202 3203 3205 3205 3208 3208 3209 3209 3209 3213 3213 3214 3214 3217 3217 3219 3221 3222 3223 3224 3225 3227 3227 3228 3229 3230 3231 3231 3231 3233 3235 3235 3235 3236 3237 3238 3239 3239 3240 3241 3245 3246 3247 3247 3248 3249 3250 3252 3253 3253 3254 3254 3254 3254 3256 3257 3258 3259 3261 3262 3263 3265 3265 3265 3266 3266 3267 3268 3270 3272 3273 3274 3275 3276 3277 3277 3278 3282 3282 3282 3284 3285 3288 3289 3289 3291 3291 3292 3292 3292 3294 3295 3295 3295 3297 3298 3299 3299 3300 3301 3301 3303 3303 3304 3305 3307 3307 3308 3308 3308 3308 3309 3311 3313 3314 3318 3318 3319 3319 3320 3320 3320 3322 3322 3323 3324 3325 3326 3327 3327 3331 3331 3332 3334 3334 3335 3338 3339 3341 3342 3343 3343 3344 3347 3349 3350 3350 3351 3351 3351 3352 3353 3353 3354 3354 3356 3357 3357 3357 3359 3359 3359 3360 3361 3364 3365 3365 3365 3366 3367 3367 3369 3369 3371 3373 3375 3375 3376 3377 3381 3381 3382 3382 3383 3384 3384 3385 3385 3386 3387 3390 3391 3392 3392 3395 3396 3396 3397 3398 3399 3399 3399 3400 3402 3402 3404 3410 3415 3416 3420 3422 3422 3423 3423 3423 3424 3425 3425 3425 3427 3430 3433 3434 3435 3437 3438 3440 3442 3442 3442 3443 3444 3446 3447 3450 3451 3452 3452 3452 3456 3456 3456 3458 3459 3459 3460 3461 3463 3463 3464 3466 3466 3466 3468 3470 3470 3470 3470 3471 3472 3473 3475 3476 3477 3477 3477 3479 3479 3481 3482 3482 3482 3483 3484 3485 3485 3487 3488 3488 3489 3490 3491 3491 3492 3493 3493 3494 3496 3499 3500 3500 3501 3502 3502 3503 3503 3503 3504 3505 3506 3507 3507 3511 3512 3513 3514 3514 3515 3515 3518 3519 3519 3521 3521 3521 3522 3522 3523 3523 3524 3525 3525 3526 3527 3527 3527 3528 3528 3529 3530 3530 3530 3532 3534 3536 3539 3542 3542 3543 3543 3545 3545 3546 3546 3547 3549 3550 3551 3552 3553 3554 3555 3556 3556 3557 3557 3558 3559 3560 3562 3562 3562 3563 3564 3565 3565 3566 3567 3568 3568 3570 3570 3570 3572 3572 3572 3573 3576 3576 3576 3577 3578 3579 3582 3582 3582 3583 3583 3586 3586 3587 3587 3589 3589 3593 3594 3594 3594 3595 3597 3598 3599 3600 3600 3602 3602 3602 3603 3604 3606 3607 3608 3609 3611 3611 3613 3614 3615 3615 3617 3617 3619 3620 3620 3621 3621 3621 3622 3622 3624 3626 3627 3628 3629 3630 3631 3633 3634 3634 3635 3640 3640 3640 3640 3641 3641 3641 3642 3642 3643 3645 3648 3649 3650 3651 3653 3655 3657 3657 3660 3660 3661 3664 3665 3665 3666 3666 3670 3670 3671 3672 3673 3673 3673 3675 3676 3676 3679 3680 3680 3681 3683 3683 3684 3684 3685 3685 3687 3688 3688 3690 3691 3694 3695 3695 3698 3698 3700 3701 3702 3703 3704 3705 3705 3706 3707 3709 3709 3709 3709 3710 3712 3716 3716 3717 3719 3720 3721 3722 3723 3724 3726 3727 3728 3729 3730 3730 3732 3733 3733 3737 3737 3738 3738 3738 3739 3741 3741 3742 3742 3742 3743 3743 3744 3745 3746 3747 3747 3749 3749 3750 3750 3750 3751 3752 3753 3756 3760 3760 3761 3762 3762 3763 3765 3766 3767 3767 3769 3771 3773 3774 3775 3775 3775 3776 3777 3777 3779 3780 3781 3781 3782 3783 3783 3785 3787 3789 3790 3792 3794 3795 3796 3796 3796 3797 3800 3801 3803 3803 3803 3804 3804 3804 3804 3805 3805 3809 3812 3815 3815 3816 3817 3817 3818 3819 3819 3820 3820 3821 3823 3823 3825 3826 3827 3827 3829 3829 3830 3832 3834 3834 3834 3835 3837 3837 3837 3837 3837 3840 3841 3844 3845 3845 3846 3847 3850 3851 3852 3853 3855 3855 3856 3858 3858 3858 3859 3860 3861 3861 3861 3861 3861 3862 3863 3865 3866 3867 3867 3868 3871 3872 3872 3872 3872 3872 3875 3876 3876 3878 3879 3879 3880 3882 3882 3884 3884 3884 3885 3886 3886 3886 3886 3887 3888 3893 3893 3895 3899 3899 3903 3903 3904 3906 3907 3908 3908 3909 3909 3910 3910 3912 3913 3913 3914 3917 3918 3918 3919 3919 3919 3920 3920 3921 3922 3922 3924 3925 3925 3926 3928 3928 3931 3931 3932 3932 3936 3937 3937 3940 3940 3941 3942 3942 3942 3945 3946 3950 3950 3950 3954 3955 3955 3959 3960 3962 3962 3963 3963 3964 3966 3966 3967 3967 3967 3968 3969 3972 3973 3975 3976 3977 3977 3978 3978 3978 3980 3980 3980 3982 3982 3983 3983 3985 3985 3986 3986 3988 3988 3988 3989 3990 3990 3991 3992 3993 3994 3994 3995 3996 3997 3998 3999 3999 3999 4000 4000 4002 4003 4004 4004 4005 4006 4006 4007 4007 4008 4008 4009 4009 4011 4012 4013 4013 4014 4014 4015 4015 4017 4017 4017 4017 4019 4019 4021 4026 4027 4029 4031 4035 4037 4038 4039 4039 4042 4042 4042 4043 4048 4048 4049 4049 4051 4051 4052 4054 4056 4056 4062 4062 4063 4063 4064 4066 4067 4068 4069 4070 4070 4071 4072 4074 4075 4076 4077 4078 4078 4079 4080 4080 4081 4081 4081 4082 4084 4085 4085 4089 4089 4090 4091 4092 4093 4093 4094 4094 4094 4098 4100 4101 4102 4103 4105 4106 4107 4110 4111 4112 4113 4113 4114 4114 4114 4116 4118 4118 4120 4122 4123 4125 4125 4126 4129 4130 4131 4134 4136 4138 4138 4141 4143 4143 4146 4147 4147 4148 4148 4149 4150 4151 4152 4153 4154 4154 4155 4157 4157 4158 4158 4158 4161 4161 4162 4162 4163 4166 4166 4167 4167 4168 4168 4168 4171 4172 4172 4173 4173 4174 4176 4177 4179 4180 4181 4182 4183 4184 4186 4186 4187 4187 4190 4190 4194 4194 4195 4195 4198 4199 4199 4200 4202 4202 4202 4202 4204 4204 4209 4210 4211 4212 4213 4214 4215 4216 4216 4217 4218 4220 4221 4223 4225 4225 4225 4226 4226 4228 4228 4228 4228 4229 4229 4230 4232 4232 4233 4234 4237 4239 4239 4239 4239 4242 4242 4242 4242 4245 4245 4246 4246 4246 4247 4248 4249 4250 4250 4251 4251 4252 4253 4253 4253 4255 4256 4257 4257 4258 4259 4260 4260 4261 4262 4263 4263 4263 4264 4264 4264 4265 4266 4266 4268 4268 4268 4269 4269 4272 4272 4274 4275 4275 4276 4276 4278 4278 4279 4281 4281 4282 4282 4283 4284 4284 4285 4285 4285 4286 4288 4288 4289 4289 4289 4291 4292 4292 4293 4293 4295 4297 4298 4298 4301 4302 4303 4305 4306 4308 4309 4311 4314 4314 4315 4317 4317 4318 4320 4321 4322 4323 4323 4323 4324 4325 4325 4325 4329 4329 4329 4329 4332 4333 4334 4335 4335 4335 4336 4336 4337 4339 4339 4342 4345 4345 4347 4348 4351 4352 4352 4352 4357 4358 4359 4360 4362 4364 4364 4364 4365 4366 4366 4368 4369 4371 4371 4371 4372 4372 4373 4374 4374 4375 4375 4376 4376 4379 4380 4381 4383 4384 4386 4388 4389 4392 4394 4394 4395 4397 4398 4399 4400 4401 4404 4406 4409 4410 4410 4410 4411 4411 4412 4413 4413 4415 4416 4416 4417 4417 4418 4420 4420 4422 4424 4424 4425 4426 4426 4426 4427 4428 4428 4428 4429 4429 4430 4431 4431 4431 4432 4432 4432 4433 4434 4435 4436 4438 4439 4440 4441 4442 4443 4443 4446 4446 4447 4448 4448 4451 4452 4453 4455 4458 4462 4462 4464 4464 4464 4466 4467 4470 4470 4470 4472 4473 4474 4474 4476 4478 4478 4478 4479 4480 4480 4480 4482 4483 4485 4486 4487 4489 4489 4490 4493 4494 4497 4497 4498 4498 4499 4500 4501 4501 4501 4502 4504 4504 4506 4506 4508 4510 4510 4511 4514 4515 4519 4520 4520 4520 4522 4522 4523 4523 4525 4525 4525 4526 4527 4527 4527 4530 4530 4531 4532 4532 4534 4535 4535 4536 4540 4542 4543 4544 4544 4544 4545 4549 4551 4552 4555 4555 4557 4557 4558 4558 4558 4559 4559 4560 4561 4562 4563 4566 4566 4567 4568 4569 4570 4570 4571 4572 4573 4573 4574 4574 4575 4576 4577 4579 4580 4580 4581 4582 4583 4583 4584 4584 4587 4587 4588 4588 4589 4589 4589 4589 4591 4592 4592 4593 4593 4594 4594 4595 4596 4596 4597 4598 4599 4599 4602 4602 4604 4605 4605 4606 4606 4606 4607 4609 4609 4609 4610 4611 4611 4612 4613 4615 4616 4617 4618 4618 4618 4620 4622 4622 4623 4623 4623 4623 4625 4625 4626 4627 4627 4627 4628 4630 4631 4631 4632 4635 4637 4637 4638 4639 4641 4644 4644 4644 4646 4647 4648 4648 4649 4650 4651 4651 4651 4652 4653 4653 4653 4654 4654 4654 4655 4655 4655 4657 4658 4659 4659 4660 4660 4660 4660 4661 4663 4663 4663 4663 4664 4665 4666 4667 4667 4668 4669 4670 4671 4672 4672 4673 4674 4676 4676 4676 4678 4678 4682 4682 4683 4685 4686 4688 4689 4691 4692 4693 4693 4694 4696 4696 4700 4700 4701 4701 4702 4703 4703 4704 4705 4706 4707 4708 4708 4708 4709 4709 4710 4712 4712 4713 4714 4716 4718 4718 4720 4723 4724 4725 4725 4726 4727 4728 4731 4731 4733 4733 4735 4736 4736 4738 4740 4741 4743 4744 4744 4745 4746 4749 4749 4751 4752 4752 4753 4753 4754 4756 4756 4757 4757 4758 4758 4758 4759 4759 4760 4760 4760 4764 4764 4764 4765 4766 4767 4767 4767 4767 4767 4768 4769 4770 4772 4774 4775 4776 4777 4778 4778 4779 4779 4780 4780 4781 4783 4784 4786 4786 4788 4788 4788 4789 4790 4790 4794 4795 4795 4795 4796 4802 4806 4807 4807 4809 4809 4811 4813 4817 4817 4819 4820 4821 4821 4823 4823 4824 4825 4827 4828 4828 4829 4829 4830 4830 4831 4831 4832 4833 4835 4835 4836 4840 4842 4842 4842 4845 4847 4849 4849 4850 4851 4851 4852 4852 4853 4854 4854 4854 4856 4856 4858 4859 4860 4860 4861 4861 4863 4865 4866 4867 4868 4869 4871 4871 4874 4875 4875 4875 4876 4876 4877 4877 4879 4879 4879 4879 4883 4884 4884 4884 4884 4885 4886 4888 4890 4891 4891 4893 4894 4895 4896 4897 4898 4899 4899 4900 4901 4902 4904 4905 4906 4907 4913 4914 4916 4919 4919 4920 4920 4921 4924 4924 4924 4926 4927 4928 4928 4930 4931 4932 4934 4934 4936 4936 4939 4939 4940 4940 4941 4941 4942 4944 4944 4945 4948 4950 4951 4951 4953 4954 4956 4956 4957 4962 4962 4965 4966 4967 4967 4967 4967 4970 4970 4970 4972 4972 4973 4973 4974 4975 4976 4976 4976 4976 4977 4980 4981 4982 4986 4986 4986 4989 4989 4989 4991 4991 4991 4993 4993 4994 4996 4997 5002 5003 5004 5004 5004 5006 5006 5006 5006 5008 5008 5009 5010 5010 5012 5014 5015 5017 5017 5018 5019 5019 5019 5020 5020 5020 5020 5021 5021 5022 5024 5024 5025 5025 5027 5029 5029 5029 5032 5033 5033 5034 5034 5034 5034 5035 5035 5036 5036 5036 5041 5043 5045 5046 5046 5047 5048 5048 5048 5049 5055 5056 5062 5063 5063 5065 5065 5066 5066 5067 5068 5069 5071 5071 5071 5074 5076 5077 5077 5078 5079 5079 5082 5088 5089 5090 5091 5092 5094 5095 5095 5096 5097 5098 5100 5101 5102 5103 5103 5103 5104 5105 5106 5110 5110 5111 5113 5113 5114 5116 5119 5120 5120 5122 5122 5122 5123 5128 5128 5129 5130 5133 5133 5134 5135 5135 5138 5139 5141 5141 5144 5144 5145 5146 5146 5147 5148 5149 5151 5151 5152 5152 5152 5153 5154 5158 5160 5160 5161 5161 5163 5164 5164 5166 5166 5167 5168 5168 5170 5170 5170 5171 5173 5174 5174 5175 5175 5175 5176 5177 5179 5180 5188 5191 5192 5194 5194 5195 5196 5196 5196 5196 5199 5199 5200 5200 5201 5202 5205 5206 5207 5211 5211 5211 5211 5213 5213 5213 5214 5214 5215 5216 5217 5219 5220 5220 5222 5223 5223 5224 5224 5225 5225 5226 5227 5228 5228 5228 5229 5231 5232 5232 5233 5233 5233 5234 5235 5235 5236 5241 5244 5244 5248 5249 5250 5251 5252 5253 5255 5255 5255 5257 5259 5261 5262 5263 5263 5263 5264 5266 5266 5267 5268 5268 5269 5270 5272 5274 5275 5275 5276 5278 5279 5280 5280 5281 5283 5285 5285 5287 5288 5289 5290 5291 5291 5292 5292 5292 5294 5294 5294 5295 5298 5298 5299 5300 5301 5302 5304 5305 5305 5307 5307 5309 5311 5313 5313 5313 5314 5314 5314 5316 5316 5316 5317 5318 5318 5320 5320 5320 5323 5324 5325 5325 5326 5326 5326 5326 5327 5327 5328 5329 5329 5330 5331 5333 5333 5334 5336 5336 5337 5339 5340 5340 5341 5342 5343 5344 5346 5352 5353 5353 5354 5356 5356 5357 5357 5359 5361 5362 5363 5365 5368 5368 5368 5369 5369 5369 5369 5371 5371 5373 5373 5375 5376 5376 5378 5380 5380 5381 5381 5382 5382 5383 5383 5384 5384 5384 5385 5386 5389 5390 5391 5392 5398 5399 5401 5402 5402 5402 5403 5403 5405 5405 5406 5407 5410 5411 5413 5413 5413 5414 5415 5415 5415 5416 5416 5422 5422 5423 5423 5424 5424 5426 5428 5430 5430 5432 5432 5433 5433 5434 5434 5436 5437 5439 5440 5441 5442 5442 5442 5444 5444 5444 5450 5451 5451 5454 5454 5457 5459 5460 5460 5461 5461 5462 5464 5464 5464 5465 5465 5469 5470 5470 5470 5471 5473 5475 5475 5475 5476 5480 5483 5483 5485 5485 5487 5491 5491 5492 5493 5494 5494 5495 5497 5497 5498 5498 5498 5500 5502 5503 5503 5503 5504 5504 5505 5506 5506 5507 5508 5508 5509 5510 5511 5512 5512 5514 5515 5516 5516 5516 5521 5522 5522 5522 5525 5526 5526 5527 5527 5529 5530 5530 5531 5533 5534 5535 5536 5536 5536 5537 5538 5545 5550 5550 5550 5551 5551 5551 5552 5552 5554 5554 5554 5555 5555 5556 5557 5558 5559 5560 5565 5569 5572 5572 5572 5576 5577 5578 5578 5579 5581 5582 5583 5583 5584 5584 5584 5586 5587 5589 5590 5591 5592 5593 5594 5594 5594 5597 5597 5599 5600 5602 5602 5603 5604 5606 5609 5610 5611 5611 5611 5611 5614 5614 5614 5615 5616 5617 5618 5618 5618 5619 5619 5619 5621 5621 5622 5624 5625 5627 5627 5628 5629 5632 5633 5635 5635 5636 5637 5637 5638 5639 5642 5642 5645 5646 5647 5650 5650 5651 5653 5655 5656 5656 5657 5659 5659 5659 5661 5662 5663 5663 5664 5664 5665 5666 5666 5667 5667 5670 5670 5670 5670 5670 5672 5673 5673 5676 5677 5681 5682 5685 5685 5685 5685 5687 5688 5689 5690 5692 5693 5694 5694 5697 5699 5700 5700 5700 5702 5705 5706 5707 5707 5710 5711 5711 5711 5712 5713 5714 5715 5715 5717 5718 5718 5719 5719 5720 5720 5721 5721 5722 5723 5724 5726 5727 5728 5728 5728 5730 5730 5731 5731 5732 5735 5735 5738 5740 5742 5743 5744 5744 5746 5748 5749 5749 5751 5751 5751 5752 5753 5753 5753 5754 5755 5758 5758 5758 5759 5759 5759 5759 5760 5762 5763 5765 5768 5769 5770 5772 5772 5773 5773 5775 5779 5779 5779 5779 5780 5781 5782 5783 5783 5783 5786 5787 5787 5787 5788 5794 5795 5796 5798 5800 5801 5802 5803 5803 5805 5805 5805 5805 5806 5807 5808 5808 5809 5810 5811 5813 5813 5814 5816 5817 5820 5821 5823 5823 5824 5825 5826 5829 5829 5829 5829 5830 5830 5830 5831 5831 5831 5834 5834 5834 5836 5837 5838 5839 5841 5843 5843 5845 5845 5846 5849 5851 5852 5853 5854 5855 5857 5857 5857 5859 5862 5862 5864 5866 5867 5868 5869 5870 5871 5873 5873 5873 5874 5874 5875 5883 5884 5884 5885 5885 5887 5889 5890 5891 5891 5892 5895 5895 5896 5897 5897 5898 5900 5902 5905 5905 5905 5906 5906 5906 5906 5907 5907 5907 5908 5911 5913 5913 5914 5914 5914 5915 5915 5916 5919 5920 5921 5921 5922 5922 5922 5923 5924 5924 5926 5927 5927 5928 5929 5930 5930 5931 5933 5935 5935 5938 5938 5939 5939 5940 5940 5940 5941 5943 5948 5948 5950 5950 5951 5952 5953 5953 5953 5956 5956 5956 5958 5960 5960 5961 5962 5962 5963 5963 5963 5963 5964 5964 5965 5966 5967 5967 5969 5969 5971 5973 5974 5975 5976 5976 5977 5979 5980 5981 5981 5982 5982 5985 5988 5988 5988 5992 5993 5996 5997 5998 5998 5998 5999 6000 6000 6002 6004 6004 6004 6006 6007 6007 6008 6010 6011 6013 6019 6021 6022 6023 6024 6029 6030 6030 6031 6033 6034 6034 6035 6035 6036 6036 6037 6038 6038 6040 6041 6041 6043 6044 6045 6045 6045 6047 6048 6048 6048 6048 6048 6049 6050 6050 6055 6057 6059 6059 6060 6061 6062 6062 6062 6063 6064 6064 6064 6066 6067 6068 6069 6070 6070 6071 6072 6072 6074 6074 6074 6075 6078 6079 6079 6080 6080 6081 6082 6082 6082 6083 6084 6084 6085 6085 6085 6086 6088 6088 6088 6088 6089 6090 6090 6091 6091 6092 6095 6095 6096 6097 6098 6098 6099 6099 6099 6100 6100 6104 6107 6108 6108 6111 6112 6112 6114 6116 6116 6117 6119 6120 6121 6123 6125 6125 6125 6126 6126 6127 6129 6131 6132 6132 6132 6132 6133 6136 6137 6137 6137 6139 6141 6141 6141 6142 6143 6143 6145 6145 6146 6148 6150 6150 6151 6151 6153 6156 6157 6157 6158 6158 6159 6162 6164 6167 6167 6167 6168 6169 6170 6170 6171 6173 6174 6175 6175 6175 6176 6176 6176 6178 6180 6181 6181 6182 6183 6184 6185 6185 6186 6186 6188 6192 6192 6194 6194 6195 6196 6196 6197 6197 6198 6200 6201 6202 6203 6204 6204 6205 6207 6207 6208 6208 6210 6210 6210 6213 6213 6215 6218 6219 6220 6220 6220 6220 6221 6222 6223 6224 6225 6227 6227 6227 6228 6228 6229 6229 6230 6233 6233 6233 6234 6235 6236 6237 6237 6237 6237 6238 6240 6240 6240 6241 6242 6244 6247 6247 6249 6250 6250 6252 6253 6254 6255 6256 6256 6256 6258 6261 6261 6263 6263 6264 6264 6264 6265 6266 6267 6269 6269 6270 6271 6271 6272 6274 6275 6275 6278 6279 6279 6285 6286 6293 6293 6294 6296 6297 6298 6298 6299 6299 6300 6301 6302 6302 6302 6303 6303 6303 6304 6304 6304 6306 6306 6307 6308 6309 6310 6311 6313 6313 6315 6316 6317 6318 6318 6319 6320 6321 6322 6322 6322 6325 6326 6326 6330 6330 6330 6330 6330 6331 6331 6331 6331 6333 6335 6336 6339 6340 6340 6341 6341 6343 6343 6346 6349 6350 6350 6351 6352 6354 6355 6355 6355 6355 6357 6358 6359 6360 6360 6360 6360 6361 6361 6361 6363 6363 6364 6366 6367 6368 6369 6369 6372 6374 6376 6377 6378 6380 6381 6382 6383 6383 6383 6386 6393 6394 6395 6395 6396 6396 6397 6399 6402 6403 6403 6405 6405 6405 6405 6408 6409 6409 6409 6411 6412 6412 6413 6413 6413 6415 6415 6415 6415 6416 6417 6417 6422 6422 6422 6424 6428 6429 6429 6430 6430 6430 6430 6430 6431 6433 6433 6434 6434 6434 6434 6435 6435 6437 6439 6440 6442 6442 6442 6443 6444 6446 6450 6450 6450 6452 6453 6456 6456 6457 6457 6458 6467 6467 6472 6473 6473 6474 6474 6474 6474 6475 6475 6477 6477 6480 6480 6480 6481 6482 6482 6482 6482 6486 6488 6491 6491 6491 6492 6493 6493 6494 6496 6498 6499 6500 6501 6502 6502 6503 6503 6506 6506 6510 6511 6512 6514 6514 6517 6517 6520 6522 6522 6526 6526 6527 6527 6528 6528 6528 6528 6528 6529 6531 6531 6533 6536 6536 6537 6538 6538 6539 6539 6540 6541 6544 6544 6545 6545 6545 6545 6545 6546 6547 6547 6549 6549 6550 6552 6553 6554 6555 6555 6556 6556 6559 6559 6560 6560 6560 6561 6561 6563 6565 6566 6566 6566 6567 6573 6573 6574 6575 6577 6578 6578 6578 6580 6581 6582 6582 6583 6584 6584 6585 6585 6585 6586 6586 6587 6588 6589 6589 6590 6591 6591 6593 6593 6594 6594 6596 6596 6597 6598 6599 6600 6602 6602 6602 6604 6605 6607 6608 6608 6609 6611 6612 6615 6615 6616 6617 6617 6620 6620 6620 6621 6621 6624 6625 6628 6629 6629 6630 6631 6632 6633 6634 6636 6636 6637 6637 6641 6642 6643 6644 6647 6647 6647 6650 6651 6651 6651 6652 6655 6657 6658 6659 6659 6660 6661 6662 6662 6666 6666 6670 6672 6672 6673 6674 6674 6675 6676 6676 6677 6677 6679 6679 6681 6681 6682 6682 6683 6686 6687 6687 6688 6689 6691 6691 6692 6692 6692 6693 6695 6695 6699 6700 6701 6701 6701 6702 6703 6704 6705 6705 6706 6706 6707 6707 6708 6708 6708 6709 6710 6710 6711 6711 6718 6719 6721 6724 6724 6725 6726 6726 6727 6728 6729 6730 6733 6733 6736 6737 6739 6739 6739 6741 6742 6743 6745 6745 6747 6747 6747 6748 6748 6749 6750 6751 6752 6757 6758 6760 6761 6761 6763 6765 6767 6769 6769 6770 6770 6772 6773 6774 6775 6776 6776 6777 6777 6779 6780 6781 6784 6785 6786 6786 6786 6787 6790 6790 6790 6791 6792 6792 6793 6793 6795 6798 6799 6800 6802 6802 6803 6804 6805 6805 6805 6807 6807 6807 6808 6810 6812 6813 6814 6815 6815 6816 6817 6818 6820 6821 6824 6825 6825 6826 6828 6831 6831 6832 6832 6832 6833 6835 6838 6838 6839 6839 6839 6840 6841 6843 6843 6843 6844 6845 6845 6846 6847 6848 6848 6850 6851 6854 6855 6857 6857 6858 6858 6859 6859 6860 6863 6863 6865 6865 6867 6867 6867 6868 6870 6871 6871 6872 6872 6873 6873 6874 6874 6875 6875 6875 6875 6875 6877 6880 6880 6880 6881 6882 6883 6883 6887 6888 6888 6888 6891 6891 6892 6894 6896 6897 6898 6900 6901 6901 6902 6902 6902 6905 6906 6906 6906 6907 6908 6910 6910 6910 6912 6912 6912 6914 6919 6919 6920 6920 6921 6923 6923 6924 6924 6925 6925 6926 6926 6927 6928 6929 6929 6930 6931 6931 6932 6932 6933 6935 6935 6935 6935 6936 6936 6939 6941 6942 6943 6943 6945 6946 6948 6948 6949 6950 6951 6952 6953 6953 6955 6956 6957 6960 6960 6961 6962 6963 6963 6963 6963 6964 6965 6966 6967 6968 6968 6969 6969 6969 6970 6971 6972 6975 6975 6975 6976 6976 6976 6977 6977 6977 6978 6980 6980 6981 6981 6981 6982 6985 6985 6986 6987 6987 6989 6990 6990 6991 6992 6993 6994 6994 6995 6995 6999 7000 7000 7000 7001 7001 7002 7004 7005 7006 7006 7008 7009 7010 7011 7011 7012 7017 7018 7018 7019 7020 7020 7020 7021 7023 7023 7024 7025 7025 7026 7026 7027 7028 7029 7030 7031 7032 7033 7034 7038 7038 7040 7041 7041 7042 7043 7044 7046 7049 7050 7051 7051 7051 7052 7055 7057 7058 7058 7060 7060 7061 7061 7063 7064 7064 7064 7065 7066 7066 7067 7069 7071 7072 7072 7074 7077 7077 7078 7079 7080 7080 7081 7081 7081 7081 7085 7085 7086 7086 7086 7087 7087 7087 7089 7097 7098 7102 7103 7104 7104 7107 7109 7110 7113 7114 7114 7114 7115 7116 7117 7118 7118 7118 7126 7127 7127 7130 7130 7130 7131 7132 7133 7133 7133 7134 7136 7136 7141 7142 7142 7145 7146 7148 7151 7154 7154 7155 7155 7156 7156 7156 7157 7158 7158 7158 7159 7159 7163 7163 7164 7168 7170 7170 7172 7173 7173 7173 7174 7174 7176 7177 7177 7178 7178 7179 7179 7180 7182 7182 7183 7184 7185 7185 7185 7187 7189 7190 7191 7192 7192 7194 7194 7195 7195 7196 7196 7196 7196 7197 7197 7197 7198 7198 7202 7202 7203 7205 7205 7206 7206 7207 7208 7209 7211 7212 7212 7213 7214 7215 7217 7217 7217 7218 7219 7220 7220 7220 7221 7224 7225 7226 7227 7233 7233 7234 7234 7235 7236 7238 7239 7239 7240 7240 7240 7241 7243 7243 7245 7246 7248 7249 7250 7251 7251 7252 7253 7257 7257 7257 7258 7258 7258 7258 7258 7261 7262 7262 7263 7263 7263 7265 7269 7270 7271 7272 7273 7274 7274 7276 7277 7277 7278 7278 7278 7279 7279 7281 7281 7282 7282 7282 7283 7286 7287 7288 7289 7290 7290 7291 7291 7291 7294 7294 7295 7296 7297 7298 7298 7298 7302 7302 7302 7303 7304 7305 7310 7311 7312 7313 7313 7314 7315 7315 7315 7316 7316 7318 7319 7320 7320 7320 7321 7321 7321 7321 7324 7324 7324 7324 7325 7326 7327 7329 7329 7331 7332 7333 7335 7335 7335 7336 7337 7337 7337 7338 7339 7339 7340 7341 7341 7343 7343 7343 7343 7343 7344 7344 7344 7344 7345 7346 7346 7346 7348 7349 7349 7349 7350 7351 7352 7353 7353 7355 7355 7355 7355 7355 7358 7361 7361 7361 7363 7363 7364 7365 7365 7365 7368 7368 7368 7368 7369 7369 7369 7370 7370 7370 7370 7374 7374 7375 7375 7376 7376 7377 7378 7378 7379 7379 7380 7381 7382 7382 7382 7384 7385 7386 7389 7392 7392 7392 7395 7395 7395 7395 7396 7397 7398 7399 7399 7400 7402 7403 7407 7411 7411 7412 7414 7416 7417 7418 7420 7420 7421 7423 7424 7426 7426 7427 7428 7429 7430 7432 7433 7434 7435 7436 7437 7438 7439 7440 7440 7440 7445 7445 7445 7447 7451 7451 7451 7451 7452 7452 7452 7453 7453 7453 7454 7456 7457 7458 7459 7459 7461 7461 7461 7464 7464 7465 7466 7466 7468 7470 7470 7472 7472 7472 7472 7473 7475 7475 7477 7479 7482 7482 7483 7486 7488 7488 7490 7493 7493 7494 7494 7495 7495 7496 7497 7497 7498 7499 7499 7500 7502 7502 7503 7503 7503 7504 7507 7509 7509 7510 7511 7512 7513 7513 7513 7514 7515 7515 7515 7515 7517 7518 7520 7522 7522 7522 7523 7523 7524 7525 7525 7527 7529 7529 7531 7533 7535 7535 7536 7537 7538 7538 7538 7541 7542 7543 7544 7546 7548 7549 7550 7551 7551 7554 7555 7555 7556 7556 7556 7559 7559 7561 7562 7564 7564 7567 7567 7567 7568 7568 7571 7576 7577 7578 7581 7582 7583 7583 7585 7585 7587 7589 7590 7592 7595 7596 7596 7597 7598 7600 7601 7601 7604 7605 7606 7607 7609 7610 7610 7612 7612 7614 7615 7615 7615 7616 7617 7618 7618 7618 7619 7620 7620 7622 7624 7624 7624 7624 7624 7625 7626 7627 7628 7628 7629 7630 7631 7631 7631 7633 7633 7635 7636 7636 7640 7641 7641 7642 7643 7644 7645 7645 7645 7646 7646 7646 7648 7648 7649 7649 7650 7650 7650 7651 7654 7655 7656 7657 7658 7660 7660 7662 7664 7665 7669 7670 7671 7673 7675 7675 7676 7677 7678 7679 7679 7680 7681 7682 7682 7683 7683 7684 7685 7687 7688 7688 7688 7688 7689 7689 7689 7689 7690 7691 7691 7691 7694 7694 7695 7696 7697 7699 7700 7700 7703 7704 7704 7704 7704 7705 7708 7708 7709 7711 7713 7714 7715 7715 7716 7722 7722 7723 7724 7724 7724 7725 7728 7730 7731 7731 7732 7732 7733 7735 7737 7738 7743 7745 7746 7747 7750 7751 7753 7754 7755 7757 7758 7759 7761 7763 7766 7766 7767 7769 7770 7772 7775 7775 7777 7777 7778 7779 7779 7779 7780 7781 7784 7784 7786 7786 7787 7787 7788 7788 7788 7791 7797 7800 7800 7801 7804 7807 7807 7809 7809 7811 7811 7811 7813 7814 7815 7817 7817 7818 7819 7819 7820 7820 7823 7824 7825 7825 7826 7828 7831 7834 7835 7835 7837 7837 7837 7837 7838 7839 7839 7841 7844 7844 7845 7846 7847 7847 7850 7850 7852 7855 7855 7856 7857 7857 7859 7859 7860 7862 7863 7867 7867 7868 7868 7872 7873 7873 7874 7875 7876 7876 7877 7879 7880 7880 7880 7880 7881 7881 7882 7882 7886 7887 7889 7889 7891 7893 7893 7894 7896 7896 7896 7897 7897 7898 7898 7900 7900 7901 7902 7903 7903 7905 7907 7907 7908 7908 7908 7908 7910 7914 7914 7917 7917 7920 7921 7922 7925 7926 7926 7927 7928 7928 7928 7931 7933 7934 7934 7935 7939 7940 7942 7943 7944 7944 7945 7947 7948 7951 7951 7953 7954 7954 7954 7955 7957 7958 7959 7959 7960 7961 7961 7963 7964 7965 7965 7967 7967 7967 7967 7968 7968 7970 7971 7973 7975 7975 7977 7977 7978 7978 7979 7981 7981 7982 7983 7985 7986 7987 7988 7988 7990 7990 7991 7993 7994 7994 7994 7994 7995 7995 7996 7997 7998 8000 8000 8000 8002 8003 8004 8006 8009 8009 8011 8011 8014 8015 8017 8017 8020 8020 8021 8022 8024 8024 8026 8026 8028 8029 8030 8031 8031 8033 8033 8034 8035 8036 8037 8038 8038 8039 8040 8041 8042 8042 8046 8047 8047 8048 8048 8049 8050 8050 8051 8052 8053 8053 8054 8055 8056 8056 8058 8061 8064 8065 8066 8067 8067 8069 8069 8071 8072 8072 8072 8073 8073 8074 8074 8074 8075 8075 8076 8078 8078 8079 8080 8080 8081 8081 8082 8085 8086 8087 8089 8090 8091 8092 8092 8095 8097 8098 8099 8101 8102 8103 8103 8104 8104 8104 8105 8105 8105 8105 8106 8109 8110 8112 8112 8114 8114 8114 8116 8116 8116 8118 8119 8120 8120 8121 8121 8122 8122 8122 8122 8124 8125 8125 8127 8128 8128 8129 8130 8131 8132 8133 8133 8134 8134 8135 8137 8137 8138 8138 8139 8139 8139 8140 8141 8142 8143 8143 8144 8144 8145 8146 8148 8148 8149 8150 8151 8151 8153 8153 8154 8155 8156 8156 8157 8158 8158 8159 8159 8160 8160 8161 8162 8163 8163 8163 8164 8165 8165 8166 8167 8168 8168 8172 8175 8176 8177 8178 8178 8179 8179 8179 8180 8181 8182 8182 8183 8183 8184 8184 8184 8186 8187 8188 8188 8189 8190 8191 8192 8192 8192 8194 8194 8195 8197 8198 8198 8198 8199 8200 8201 8202 8205 8206 8207 8209 8211 8211 8212 8212 8212 8215 8216 8216 8217 8219 8219 8220 8220 8221 8222 8223 8224 8224 8230 8231 8231 8233 8233 8234 8234 8235 8235 8236 8238 8241 8242 8242 8242 8244 8245 8245 8248 8248 8249 8250 8251 8252 8252 8254 8255 8256 8257 8258 8259 8260 8261 8262 8264 8265 8267 8271 8272 8274 8276 8276 8277 8279 8279 8279 8280 8281 8282 8284 8287 8287 8288 8289 8289 8290 8290 8293 8295 8298 8298 8298 8299 8299 8300 8301 8304 8304 8305 8305 8308 8309 8310 8312 8314 8314 8314 8314 8316 8317 8317 8317 8318 8321 8322 8322 8324 8327 8328 8329 8329 8330 8330 8332 8335 8336 8336 8337 8337 8338 8339 8339 8340 8340 8341 8344 8344 8345 8345 8345 8346 8347 8347 8349 8349 8351 8353 8355 8357 8357 8359 8359 8359 8361 8363 8366 8366 8366 8367 8367 8370 8371 8375 8375 8375 8377 8378 8379 8379 8380 8381 8381 8382 8382 8384 8384 8385 8386 8388 8390 8391 8392 8393 8393 8394 8395 8396 8399 8399 8399 8400 8400 8401 8402 8403 8405 8406 8406 8408 8408 8408 8409 8410 8410 8414 8415 8415 8415 8415 8416 8417 8417 8420 8422 8425 8427 8429 8429 8430 8433 8436 8437 8438 8438 8439 8442 8442 8442 8442 8443 8444 8446 8446 8449 8449 8451 8452 8455 8455 8455 8456 8456 8456 8459 8459 8461 8461 8462 8464 8464 8466 8466 8466 8468 8470 8473 8474 8474 8474 8476 8477 8477 8477 8478 8478 8479 8482 8483 8485 8486 8488 8488 8489 8491 8492 8494 8495 8496 8497 8498 8499 8499 8499 8500 8501 8501 8502 8506 8506 8510 8511 8513 8514 8516 8519 8523 8524 8525 8526 8527 8528 8529 8529 8530 8530 8531 8535 8538 8540 8542 8542 8542 8543 8544 8545 8545 8545 8546 8546 8546 8547 8548 8548 8551 8553 8554 8554 8555 8555 8556 8560 8560 8560 8561 8562 8563 8563 8565 8566 8567 8568 8568 8569 8570 8572 8573 8573 8573 8574 8574 8575 8575 8576 8576 8577 8578 8581 8581 8583 8584 8585 8586 8589 8590 8591 8591 8592 8593 8593 8595 8599 8599 8602 8603 8603 8604 8607 8609 8612 8613 8613 8613 8614 8614 8616 8616 8616 8619 8619 8622 8623 8626 8627 8628 8628 8629 8629 8631 8636 8636 8637 8637 8639 8639 8640 8640 8642 8645 8646 8647 8649 8652 8652 8652 8652 8653 8654 8654 8654 8657 8657 8659 8659 8659 8663 8663 8663 8663 8663 8664 8666 8667 8667 8668 8670 8671 8671 8671 8672 8673 8673 8674 8674 8676 8677 8678 8678 8678 8679 8679 8680 8681 8681 8682 8684 8684 8684 8684 8686 8686 8687 8689 8690 8692 8692 8693 8694 8695 8697 8698 8699 8699 8700 8702 8703 8703 8704 8705 8705 8711 8712 8712 8712 8713 8713 8714 8714 8715 8716 8717 8719 8719 8719 8723 8723 8724 8724 8725 8726 8727 8727 8728 8729 8730 8731 8732 8733 8735 8736 8736 8736 8736 8739 8740 8741 8742 8743 8745 8746 8747 8749 8751 8752 8756 8757 8757 8758 8759 8760 8761 8761 8761 8767 8769 8773 8775 8776 8776 8778 8779 8779 8779 8780 8781 8783 8786 8788 8788 8790 8791 8791 8791 8792 8792 8794 8795 8796 8797 8799 8800 8801 8801 8802 8802 8803 8803 8803 8804 8805 8806 8807 8808 8809 8811 8811 8812 8813 8813 8814 8815 8816 8817 8819 8820 8821 8823 8824 8825 8828 8829 8830 8831 8831 8833 8833 8834 8834 8838 8840 8842 8843 8846 8846 8851 8851 8851 8851 8852 8852 8853 8853 8853 8853 8854 8858 8858 8861 8863 8868 8869 8869 8870 8872 8874 8874 8875 8879 8879 8879 8880 8880 8880 8881 8881 8885 8886 8886 8886 8887 8888 8889 8890 8890 8891 8891 8891 8891 8892 8893 8894 8897 8898 8898 8899 8900 8901 8905 8906 8910 8910 8912 8912 8913 8915 8915 8915 8915 8915 8915 8917 8918 8918 8922 8924 8925 8926 8928 8928 8929 8930 8930 8931 8932 8933 8935 8937 8939 8940 8943 8945 8945 8946 8946 8947 8947 8948 8948 8949 8950 8950 8952 8952 8952 8952 8953 8953 8954 8955 8957 8957 8958 8959 8960 8961 8961 8961 8961 8962 8962 8963 8964 8966 8967 8968 8969 8969 8970 8971 8971 8972 8975 8976 8978 8980 8980 8980 8982 8983 8984 8984 8985 8987 8990 8991 8991 8992 8993 8993 8994 8996 8997 8997 8998 8999 9000 9001 9001 9001 9001 9003 9008 9008 9008 9009 9010 9010 9011 9011 9012 9012 9013 9013 9014 9015 9016 9017 9018 9018 9020 9021 9021 9022 9023 9024 9024 9025 9031 9032 9033 9033 9035 9037 9037 9039 9039 9042 9044 9047 9050 9052 9055 9055 9056 9056 9058 9058 9059 9060 9063 9064 9065 9070 9070 9071 9071 9073 9073 9073 9073 9073 9074 9074 9074 9077 9078 9078 9079 9081 9081 9081 9081 9082 9082 9083 9084 9084 9085 9085 9086 9086 9086 9087 9088 9088 9089 9089 9089 9091 9092 9094 9096 9096 9097 9097 9099 9100 9100 9103 9103 9104 9106 9106 9106 9107 9107 9108 9109 9111 9111 9111 9112 9114 9114 9116 9116 9117 9117 9118 9119 9119 9119 9120 9120 9124 9125 9126 9127 9131 9131 9131 9132 9133 9135 9136 9136 9137 9138 9140 9141 9142 9142 9143 9143 9144 9144 9145 9145 9147 9149 9149 9150 9151 9151 9151 9152 9153 9154 9158 9160 9160 9161 9163 9163 9165 9166 9168 9169 9172 9175 9175 9175 9176 9177 9177 9179 9179 9180 9181 9182 9183 9184 9184 9186 9189 9192 9192 9193 9195 9195 9196 9197 9199 9200 9202 9204 9204 9204 9205 9205 9206 9206 9207 9207 9207 9212 9213 9213 9213 9216 9216 9218 9219 9220 9220 9220 9221 9223 9223 9223 9224 9224 9226 9227 9229 9229 9230 9232 9232 9232 9233 9233 9235 9236 9236 9237 9238 9238 9239 9240 9240 9241 9241 9241 9243 9244 9245 9247 9248 9249 9249 9249 9251 9251 9252 9252 9254 9254 9255 9256 9256 9258 9260 9261 9262 9263 9264 9265 9265 9265 9266 9266 9266 9267 9267 9269 9273 9273 9273 9275 9277 9277 9279 9281 9281 9282 9282 9283 9284 9286 9286 9286 9288 9288 9288 9288 9288 9289 9289 9294 9294 9294 9294 9295 9296 9297 9299 9303 9306 9307 9307 9308 9310 9311 9311 9311 9312 9312 9312 9314 9314 9314 9316 9316 9318 9319 9320 9320 9320 9321 9321 9322 9323 9324 9328 9328 9330 9330 9331 9331 9333 9334 9336 9336 9337 9337 9338 9339 9340 9341 9344 9346 9348 9348 9349 9349 9349 9350 9350 9350 9350 9351 9353 9355 9358 9360 9361 9361 9361 9362 9363 9364 9365 9367 9368 9369 9370 9370 9370 9371 9373 9373 9373 9374 9374 9374 9374 9377 9377 9377 9380 9381 9381 9381 9382 9382 9382 9382 9385 9386 9386 9387 9387 9390 9390 9391 9392 9393 9393 9394 9395 9395 9396 9398 9400 9401 9402 9403 9405 9405 9407 9407 9411 9411 9412 9412 9412 9412 9413 9413 9414 9414 9415 9416 9416 9416 9417 9417 9420 9420 9423 9424 9424 9425 9426 9427 9427 9428 9429 9430 9430 9430 9431 9432 9434 9438 9440 9442 9442 9443 9443 9443 9444 9444 9444 9444 9447 9447 9449 9451 9452 9452 9453 9454 9456 9457 9459 9459 9464 9464 9467 9468 9468 9471 9472 9476 9481 9481 9482 9482 9483 9483 9483 9483 9483 9484 9484 9486 9487 9487 9488 9491 9491 9492 9492 9493 9494 9495 9496 9497 9497 9497 9498 9499 9500 9501 9501 9503 9503 9507 9507 9508 9508 9509 9510 9511 9511 9513 9514 9516 9519 9520 9521 9521 9522 9523 9523 9526 9528 9529 9529 9530 9530 9531 9532 9533 9533 9534 9536 9537 9537 9538 9539 9540 9540 9541 9541 9542 9544 9546 9547 9548 9548 9549 9550 9555 9556 9556 9556 9558 9559 9559 9559 9561 9564 9564 9565 9565 9567 9568 9568 9568 9569 9569 9569 9570 9571 9571 9573 9573 9576 9576 9576 9577 9578 9579 9581 9581 9583 9584 9589 9589 9589 9589 9592 9593 9594 9595 9596 9596 9599 9599 9599 9599 9599 9600 9600 9601 9602 9604 9604 9604 9605 9606 9608 9609 9609 9610 9610 9612 9613 9613 9617 9619 9620 9621 9622 9623 9624 9626 9626 9628 9628 9629 9633 9633 9633 9634 9634 9635 9636 9636 9636 9636 9636 9637 9637 9638 9638 9640 9640 9641 9641 9643 9643 9645 9646 9647 9647 9652 9652 9654 9655 9656 9657 9657 9658 9658 9658 9658 9658 9660 9663 9663 9664 9664 9666 9668 9668 9669 9670 9670 9670 9670 9673 9673 9674 9675 9677 9678 9678 9680 9680 9680 9684 9684 9687 9689 9690 9691 9692 9692 9693 9693 9694 9696 9699 9699 9699 9700 9700 9702 9703 9705 9706 9707 9708 9711 9713 9714 9714 9715 9715 9715 9716 9717 9717 9718 9720 9720 9721 9724 9725 9725 9729 9730 9732 9732 9733 9736 9736 9736 9737 9738 9739 9740 9742 9743 9743 9745 9746 9748 9748 9749 9749 9750 9751 9753 9753 9754 9754 9754 9755 9757 9759 9762 9762 9763 9764 9766 9766 9766 9766 9767 9768 9769 9769 9770 9772 9773 9774 9779 9779 9779 9782 9783 9783 9783 9784 9785 9786 9790 9790 9790 9792 9793 9793 9794 9794 9795 9796 9796 9798 9798 9799 9799 9799 9801 9801 9802 9802 9802 9803 9803 9805 9806 9807 9808 9809 9810 9810 9812 9812 9812 9814 9814 9816 9818 9819 9819 9819 9820 9822 9822 9822 9822 9823 9824 9824 9826 9827 9827 9827 9828 9828 9830 9831 9833 9833 9833 9839 9845 9848 9850 9852 9854 9854 9855 9856 9856 9856 9856 9858 9860 9860 9862 9864 9864 9866 9866 9866 9866 9866 9867 9867 9868 9869 9871 9871 9872 9872 9874 9874 9878 9879 9881 9882 9883 9884 9884 9885 9885 9886 9886 9887 9888 9888 9889 9891 9891 9892 9893 9893 9893 9894 9895 9896 9896 9896 9896 9899 9900 9901 9901 9904 9906 9906 9906 9908 9912 9914 9914 9917 9917 9919 9921 9921 9923 9924 9926 9926 9927 9929 9929 9930 9931 9932 9932 9933 9934 9934 9935 9939 9940 9940 9942 9942 9944 9946 9947 9948 9950 9951 9951 9952 9952 9953 9953 9953 9955 9956 9957 9957 9959 9960 9961 9962 9963 9965 9965 9968 9969 9970 9970 9973 9973 9974 9975 9978 9979 9981 9983 9985 9986 9988 9991 9992 9993 9993 9993 9997 9998 9999 可以

  1. 冒泡bubble()用时:315毫秒!  
  2. 选择selectSort()用时:307毫秒! 
 3.快速fastSort()用时:3毫秒!

可以看到对于排序长度为10000的随机数字序列,快速排序以兰博基尼的排序速度远胜过冒泡和选择排序的拖拉机。

以上为个人总结,有考虑不周的地方欢迎大家进行支教和交流,谢谢!