module OW_prime

use OW_exec_time

implicit none

contains

subroutine owprime(seed)

integer						:: prime(1000),seed,i,a
real						:: time,a0

prime = (/2,  3,     5,      7    , 11    , 13    , 17     ,19    , 23    , 29 ,&
     31,    37,     41,     43    , 47    , 53    , 59    ,61   ,  67   ,  71 ,&
     73,    79 ,    83 ,    89    , 97    ,101    ,103    ,107    ,109    ,113 ,&
    127,    131,    137,    139   , 149   , 151   , 157    ,163   , 167   , 173 ,&
    179,    181,    191,    193   , 197   , 199   , 211    ,223   , 227   , 229 ,&
    233,    239,    241,    251   , 257   , 263   , 269    ,271   , 277   , 281 ,&
    283,    293,    307,    311   , 313   , 317   , 331    ,337   , 347   , 349 ,&
    353,    359,    367,    373   , 379   , 383   , 389    ,397   , 401   , 409 ,&
    419,    421,    431,    433   , 439   , 443   , 449    ,457   , 461   , 463 ,&
    467,    479,    487,    491   , 499   , 503   , 509    ,521   , 523   , 541 ,&
    547,    557,    563,    569   , 571   , 577   , 587    ,593   , 599   , 601 ,&
    607,    613,    617,    619   , 631   , 641   , 643    ,647   , 653   , 659 ,&
    661,    673,    677,    683   , 691   , 701   , 709    ,719   , 727   , 733 ,&
    739,    743,    751,    757   , 761   , 769   , 773    ,787   , 797   , 809 ,&
    811,    821,    823,    827   , 829   , 839   , 853    ,857   , 859   , 863 ,&
    877,    881,    883,    887   , 907   , 911   , 919    ,929   , 937   , 941 ,&
    947,    953,    967,    971   , 977   , 983   , 991    ,997   ,1009   ,1013 ,&
   1019,   1021,   1031,   1033   ,1039   ,1049   ,1051   ,1061   ,1063   ,1069 ,&
   1087,   1091,   1093,   1097   ,1103   ,1109   ,1117   ,1123   ,1129   ,1151 ,&
   1153,   1163,   1171,   1181   ,1187   ,1193   ,1201   ,1213   ,1217   ,1223 ,&
   1229,   1231,   1237,   1249   ,1259   ,1277   ,1279   ,1283   ,1289   ,1291 ,&
   1297,   1301,   1303,   1307   ,1319   ,1321   ,1327   ,1361   ,1367   ,1373 ,&
   1381,   1399,   1409,   1423   ,1427   ,1429   ,1433   ,1439   ,1447   ,1451 ,&
   1453,   1459,   1471,   1481   ,1483   ,1487   ,1489   ,1493   ,1499   ,1511 ,&
   1523,   1531,   1543,   1549   ,1553   ,1559   ,1567   ,1571   ,1579   ,1583 ,&
   1597,   1601,   1607,   1609   ,1613   ,1619   ,1621   ,1627   ,1637   ,1657 ,&
   1663,   1667,   1669,   1693   ,1697   ,1699   ,1709   ,1721   ,1723   ,1733 ,&
   1741,   1747,   1753,   1759   ,1777   ,1783   ,1787   ,1789   ,1801   ,1811 ,&
   1823,   1831 ,  1847 ,  1861   ,1867   ,1871   ,1873   ,1877   ,1879   ,1889 ,&
   1901,   1907 ,  1913 ,  1931   ,1933   ,1949   ,1951   ,1973   ,1979   ,1987 ,&
   1993,   1997,   1999,   2003   ,2011   ,2017   ,2027   ,2029   ,2039   ,2053 ,&
   2063,   2069,   2081,   2083   ,2087   ,2089   ,2099   ,2111   ,2113   ,2129 ,&
   2131,   2137,   2141,   2143   ,2153   ,2161   ,2179   ,2203   ,2207   ,2213 ,&
   2221,   2237,   2239,   2243   ,2251   ,2267   ,2269   ,2273   ,2281   ,2287 ,&
   2293,   2297,   2309,   2311   ,2333   ,2339   ,2341   ,2347   ,2351   ,2357 ,&
   2371,   2377,   2381,   2383   ,2389   ,2393   ,2399   ,2411   ,2417   ,2423 ,&
   2437,   2441,   2447,   2459   ,2467   ,2473   ,2477   ,2503   ,2521   ,2531 ,&
   2539,   2543,   2549,   2551   ,2557   ,2579   ,2591   ,2593   ,2609   ,2617 ,&
   2621,   2633,   2647,   2657   ,2659   ,2663   ,2671   ,2677   ,2683   ,2687 ,&
   2689,   2693,   2699,   2707   ,2711   ,2713   ,2719   ,2729   ,2731   ,2741 ,&
   2749,   2753,   2767,   2777   ,2789   ,2791   ,2797   ,2801   ,2803   ,2819 ,&
   2833,   2837,   2843,   2851   ,2857   ,2861   ,2879   ,2887   ,2897   ,2903 ,&
   2909,   2917,   2927,   2939   ,2953   ,2957   ,2963   ,2969   ,2971   ,2999 ,&
   3001,   3011,   3019,   3023   ,3037   ,3041   ,3049   ,3061   ,3067   ,3079 ,&
   3083,   3089,   3109,   3119   ,3121   ,3137   ,3163   ,3167   ,3169   ,3181 ,&
   3187,   3191,   3203,   3209   ,3217   ,3221   ,3229   ,3251   ,3253   ,3257 ,&
   3259,   3271,   3299,   3301   ,3307   ,3313   ,3319   ,3323   ,3329   ,3331 ,&
   3343,   3347,   3359,   3361   ,3371   ,3373   ,3389   ,3391   ,3407   ,3413 ,&
   3433,   3449,   3457,   3461   ,3463   ,3467   ,3469   ,3491   ,3499   ,3511 ,&
   3517,   3527,   3529,   3533   ,3539   ,3541   ,3547   ,3557   ,3559   ,3571 ,&
   3581,   3583,   3593,   3607   ,3613   ,3617   ,3623   ,3631   ,3637   ,3643 ,&
   3659,   3671,   3673,   3677   ,3691   ,3697   ,3701   ,3709   ,3719   ,3727 ,&
   3733,   3739,   3761,   3767   ,3769   ,3779   ,3793   ,3797   ,3803   ,3821 ,&
   3823,   3833,   3847,   3851   ,3853   ,3863   ,3877   ,3881   ,3889   ,3907 ,&
   3911,   3917,   3919,   3923   ,3929   ,3931   ,3943   ,3947   ,3967   ,3989 ,&
   4001,   4003,   4007,   4013   ,4019   ,4021   ,4027   ,4049   ,4051   ,4057 ,&
   4073,   4079,   4091,   4093   ,4099   ,4111   ,4127   ,4129   ,4133   ,4139 ,&
   4153,   4157,   4159,   4177   ,4201   ,4211   ,4217   ,4219   ,4229   ,4231 ,&
   4241,   4243,   4253,   4259   ,4261   ,4271   ,4273   ,4283   ,4289   ,4297 ,&
   4327,   4337,   4339,   4349   ,4357   ,4363   ,4373   ,4391   ,4397   ,4409 ,&
   4421,   4423,   4441,   4447   ,4451   ,4457   ,4463   ,4481   ,4483   ,4493 ,&
   4507,   4513 ,  4517,   4519   ,4523   ,4547   ,4549   ,4561   ,4567   ,4583 ,&
   4591,   4597 ,  4603 ,  4621   ,4637   ,4639   ,4643   ,4649   ,4651   ,4657 ,&
   4663,   4673 ,  4679 ,  4691   ,4703   ,4721   ,4723   ,4729   ,4733   ,4751 ,&
   4759,   4783,   4787,   4789   ,4793   ,4799   ,4801   ,4813   ,4817   ,4831 ,&
   4861,   4871,   4877,   4889   ,4903   ,4909   ,4919   ,4931   ,4933   ,4937 ,&
   4943,   4951,   4957,   4967   ,4969   ,4973   ,4987   ,4993   ,4999   ,5003 ,&
   5009,   5011,   5021,   5023   ,5039   ,5051   ,5059   ,5077   ,5081   ,5087 ,&
   5099,   5101,   5107,   5113   ,5119   ,5147   ,5153   ,5167   ,5171   ,5179 ,&
   5189,   5197,   5209,   5227   ,5231   ,5233   ,5237   ,5261   ,5273   ,5279 ,&
   5281,   5297,   5303,   5309   ,5323   ,5333   ,5347   ,5351   ,5381   ,5387 ,&
   5393,   5399,   5407,   5413   ,5417   ,5419   ,5431   ,5437   ,5441   ,5443 ,&
   5449,   5471,   5477,   5479   ,5483   ,5501   ,5503   ,5507   ,5519   ,5521 ,&
   5527,   5531,   5557,   5563   ,5569   ,5573   ,5581   ,5591   ,5623   ,5639 ,&
   5641,   5647,   5651,   5653   ,5657   ,5659   ,5669   ,5683   ,5689   ,5693 ,&
   5701,   5711,   5717,   5737   ,5741   ,5743   ,5749   ,5779   ,5783   ,5791 ,&
   5801,   5807,   5813,   5821   ,5827   ,5839   ,5843   ,5849   ,5851   ,5857 ,&
   5861,   5867,   5869,   5879   ,5881   ,5897   ,5903   ,5923   ,5927   ,5939 ,&
   5953,   5981,   5987,   6007   ,6011   ,6029   ,6037   ,6043   ,6047   ,6053 ,&
   6067,   6073,   6079,   6089   ,6091   ,6101   ,6113   ,6121   ,6131   ,6133 ,&
   6143,   6151,   6163,   6173   ,6197   ,6199   ,6203   ,6211   ,6217   ,6221 ,&
   6229,   6247,   6257,   6263   ,6269   ,6271   ,6277   ,6287   ,6299   ,6301 ,&
   6311,   6317,   6323,   6329   ,6337   ,6343   ,6353   ,6359   ,6361   ,6367 ,&
   6373,   6379,   6389,   6397   ,6421   ,6427   ,6449   ,6451   ,6469   ,6473 ,&
   6481,   6491,   6521,   6529   ,6547   ,6551   ,6553   ,6563   ,6569   ,6571 ,&
   6577,   6581,   6599,   6607   ,6619   ,6637   ,6653   ,6659   ,6661   ,6673 ,&
   6679,   6689,   6691,   6701   ,6703   ,6709   ,6719   ,6733   ,6737   ,6761 ,&
   6763,   6779,   6781,   6791   ,6793   ,6803   ,6823   ,6827   ,6829   ,6833 ,&
   6841,   6857,   6863,   6869   ,6871   ,6883   ,6899   ,6907   ,6911   ,6917 ,&
   6947,   6949,   6959,   6961   ,6967   ,6971   ,6977   ,6983   ,6991   ,6997 ,&
   7001,   7013,   7019,   7027   ,7039   ,7043   ,7057   ,7069   ,7079   ,7103 ,&
   7109,   7121,   7127,   7129   ,7151   ,7159   ,7177   ,7187   ,7193   ,7207 ,&
   7211,   7213,   7219,   7229   ,7237   ,7243   ,7247   ,7253   ,7283   ,7297 ,&
   7307,   7309,   7321,   7331   ,7333   ,7349   ,7351   ,7369   ,7393   ,7411 ,&
   7417,   7433,   7451,   7457   ,7459   ,7477   ,7481   ,7487   ,7489   ,7499 ,&
   7507,   7517,   7523,   7529   ,7537   ,7541   ,7547   ,7549   ,7559   ,7561 ,&
   7573,   7577,   7583,   7589   ,7591   ,7603   ,7607   ,7621   ,7639   ,7643 ,&
   7649,   7669,   7673,   7681   ,7687   ,7691   ,7699   ,7703   ,7717   ,7723 ,&
   7727,   7741,   7753,   7757   ,7759   ,7789   ,7793   ,7817   ,7823   ,7829 ,&
   7841,   7853,   7867,   7873   ,7877   ,7879   ,7883   ,7901   ,7907   ,7919 /)

   call owexec_time1(time)

   i=time
   do while (i > 1000)
      call RANDOM_NUMBER(a0)
      a=a0*1000
      i = i/a
   end do
   seed=prime(i)

end subroutine

end module
