Changeset 35930b in git


Ignore:
Timestamp:
Jun 18, 1996, 8:53:42 AM (27 years ago)
Author:
Rüdiger Stobbe <stobbe@…>
Branches:
(u'spielwiese', '8e0ad00ce244dfd0756200662572aef8402f13d5')
Children:
02af91814dd18b74411df95652a7b867df115cd8
Parents:
e82860167fc3ba2d6762f6f9b3ccc6610e58cbdb
Message:
"Now stores more prime numbers.
"


git-svn-id: file:///usr/local/Singular/svn/trunk@20 2c84dea3-7e68-4137-9b89-c4e89433aadc
File:
1 edited

Legend:

Unmodified
Added
Removed
  • factory/cf_primes.cc

    re82860 r35930b  
    11// emacs edit mode for this file is -*- C++ -*-
    2 // $Id: cf_primes.cc,v 1.1 1996-06-03 08:34:35 stobbe Exp $
     2// $Id: cf_primes.cc,v 1.2 1996-06-18 06:53:42 stobbe Exp $
    33
    44/*
    55$Log: not supported by cvs2svn $
     6Revision 1.1  1996/06/03 08:34:35  stobbe
     7"Now stores the first 3500 primes counted from 3.
     8cf_getBigPrime: gives primes in reversed order.
     9"
     10
    611Revision 1.0  1996/05/17 10:59:44  stobbe
    712Initial revision
     
    1419#include "cf_primes.h"
    1520
    16 #define NUMSMALLPRIMES 3500
    17 #define NUMBIGPRIMES 3500
     21#define NUMSMALLPRIMES 3510
     22#define NUMBIGPRIMES 5410
     23#define NUMPRIMES NUMBIGPRIMES+NUMSMALLPRIMES
    1824
    1925static const int primes [] = {
    20         3, 5, 7, 11, 13, 17, 19, 23, 29,
    21         31, 37, 41, 43, 47, 53, 59, 61, 67,
    22         71, 73, 79, 83, 89, 97, 101, 103, 107,
    23         109, 113, 127, 131, 137, 139, 149, 151, 157,
    24         163, 167, 173, 179, 181, 191, 193, 197, 199,
    25         211, 223, 227, 229, 233, 239, 241, 251, 257,
    26         263, 269, 271, 277, 281, 283, 293, 307, 311,
    27         313, 317, 331, 337, 347, 349, 353, 359, 367,
    28         373, 379, 383, 389, 397, 401, 409, 419, 421,
    29         431, 433, 439, 443, 449, 457, 461, 463, 467,
    30         479, 487, 491, 499, 503, 509, 521, 523, 541,
    31         547, 557, 563, 569, 571, 577, 587, 593, 599,
    32         601, 607, 613, 617, 619, 631, 641, 643, 647,
    33         653, 659, 661, 673, 677, 683, 691, 701, 709,
    34         719, 727, 733, 739, 743, 751, 757, 761, 769,
    35         773, 787, 797, 809, 811, 821, 823, 827, 829,
    36         839, 853, 857, 859, 863, 877, 881, 883, 887,
    37         907, 911, 919, 929, 937, 941, 947, 953, 967,
    38         971, 977, 983, 991, 997, 1009, 1013, 1019, 1021,
    39         1031, 1033, 1039, 1049, 1051, 1061, 1063, 1069, 1087,
    40         1091, 1093, 1097, 1103, 1109, 1117, 1123, 1129, 1151,
    41         1153, 1163, 1171, 1181, 1187, 1193, 1201, 1213, 1217,
    42         1223, 1229, 1231, 1237, 1249, 1259, 1277, 1279, 1283,
    43         1289, 1291, 1297, 1301, 1303, 1307, 1319, 1321, 1327,
    44         1361, 1367, 1373, 1381, 1399, 1409, 1423, 1427, 1429,
    45         1433, 1439, 1447, 1451, 1453, 1459, 1471, 1481, 1483,
    46         1487, 1489, 1493, 1499, 1511, 1523, 1531, 1543, 1549,
    47         1553, 1559, 1567, 1571, 1579, 1583, 1597, 1601, 1607,
    48         1609, 1613, 1619, 1621, 1627, 1637, 1657, 1663, 1667,
    49         1669, 1693, 1697, 1699, 1709, 1721, 1723, 1733, 1741,
    50         1747, 1753, 1759, 1777, 1783, 1787, 1789, 1801, 1811,
    51         1823, 1831, 1847, 1861, 1867, 1871, 1873, 1877, 1879,
    52         1889, 1901, 1907, 1913, 1931, 1933, 1949, 1951, 1973,
    53         1979, 1987, 1993, 1997, 1999, 2003, 2011, 2017, 2027,
    54         2029, 2039, 2053, 2063, 2069, 2081, 2083, 2087, 2089,
    55         2099, 2111, 2113, 2129, 2131, 2137, 2141, 2143, 2153,
    56         2161, 2179, 2203, 2207, 2213, 2221, 2237, 2239, 2243,
    57         2251, 2267, 2269, 2273, 2281, 2287, 2293, 2297, 2309,
    58         2311, 2333, 2339, 2341, 2347, 2351, 2357, 2371, 2377,
    59         2381, 2383, 2389, 2393, 2399, 2411, 2417, 2423, 2437,
    60         2441, 2447, 2459, 2467, 2473, 2477, 2503, 2521, 2531,
    61         2539, 2543, 2549, 2551, 2557, 2579, 2591, 2593, 2609,
    62         2617, 2621, 2633, 2647, 2657, 2659, 2663, 2671, 2677,
    63         2683, 2687, 2689, 2693, 2699, 2707, 2711, 2713, 2719,
    64         2729, 2731, 2741, 2749, 2753, 2767, 2777, 2789, 2791,
    65         2797, 2801, 2803, 2819, 2833, 2837, 2843, 2851, 2857,
    66         2861, 2879, 2887, 2897, 2903, 2909, 2917, 2927, 2939,
    67         2953, 2957, 2963, 2969, 2971, 2999, 3001, 3011, 3019,
    68         3023, 3037, 3041, 3049, 3061, 3067, 3079, 3083, 3089,
    69         3109, 3119, 3121, 3137, 3163, 3167, 3169, 3181, 3187,
    70         3191, 3203, 3209, 3217, 3221, 3229, 3251, 3253, 3257,
    71         3259, 3271, 3299, 3301, 3307, 3313, 3319, 3323, 3329,
    72         3331, 3343, 3347, 3359, 3361, 3371, 3373, 3389, 3391,
    73         3407, 3413, 3433, 3449, 3457, 3461, 3463, 3467, 3469,
    74         3491, 3499, 3511, 3517, 3527, 3529, 3533, 3539, 3541,
    75         3547, 3557, 3559, 3571, 3581, 3583, 3593, 3607, 3613,
    76         3617, 3623, 3631, 3637, 3643, 3659, 3671, 3673, 3677,
    77         3691, 3697, 3701, 3709, 3719, 3727, 3733, 3739, 3761,
    78         3767, 3769, 3779, 3793, 3797, 3803, 3821, 3823, 3833,
    79         3847, 3851, 3853, 3863, 3877, 3881, 3889, 3907, 3911,
    80         3917, 3919, 3923, 3929, 3931, 3943, 3947, 3967, 3989,
    81         4001, 4003, 4007, 4013, 4019, 4021, 4027, 4049, 4051,
    82         4057, 4073, 4079, 4091, 4093, 4099, 4111, 4127, 4129,
    83         4133, 4139, 4153, 4157, 4159, 4177, 4201, 4211, 4217,
    84         4219, 4229, 4231, 4241, 4243, 4253, 4259, 4261, 4271,
    85         4273, 4283, 4289, 4297, 4327, 4337, 4339, 4349, 4357,
    86         4363, 4373, 4391, 4397, 4409, 4421, 4423, 4441, 4447,
    87         4451, 4457, 4463, 4481, 4483, 4493, 4507, 4513, 4517,
    88         4519, 4523, 4547, 4549, 4561, 4567, 4583, 4591, 4597,
    89         4603, 4621, 4637, 4639, 4643, 4649, 4651, 4657, 4663,
    90         4673, 4679, 4691, 4703, 4721, 4723, 4729, 4733, 4751,
    91         4759, 4783, 4787, 4789, 4793, 4799, 4801, 4813, 4817,
    92         4831, 4861, 4871, 4877, 4889, 4903, 4909, 4919, 4931,
    93         4933, 4937, 4943, 4951, 4957, 4967, 4969, 4973, 4987,
    94         4993, 4999, 5003, 5009, 5011, 5021, 5023, 5039, 5051,
    95         5059, 5077, 5081, 5087, 5099, 5101, 5107, 5113, 5119,
    96         5147, 5153, 5167, 5171, 5179, 5189, 5197, 5209, 5227,
    97         5231, 5233, 5237, 5261, 5273, 5279, 5281, 5297, 5303,
    98         5309, 5323, 5333, 5347, 5351, 5381, 5387, 5393, 5399,
    99         5407, 5413, 5417, 5419, 5431, 5437, 5441, 5443, 5449,
    100         5471, 5477, 5479, 5483, 5501, 5503, 5507, 5519, 5521,
    101         5527, 5531, 5557, 5563, 5569, 5573, 5581, 5591, 5623,
    102         5639, 5641, 5647, 5651, 5653, 5657, 5659, 5669, 5683,
    103         5689, 5693, 5701, 5711, 5717, 5737, 5741, 5743, 5749,
    104         5779, 5783, 5791, 5801, 5807, 5813, 5821, 5827, 5839,
    105         5843, 5849, 5851, 5857, 5861, 5867, 5869, 5879, 5881,
    106         5897, 5903, 5923, 5927, 5939, 5953, 5981, 5987, 6007,
    107         6011, 6029, 6037, 6043, 6047, 6053, 6067, 6073, 6079,
    108         6089, 6091, 6101, 6113, 6121, 6131, 6133, 6143, 6151,
    109         6163, 6173, 6197, 6199, 6203, 6211, 6217, 6221, 6229,
    110         6247, 6257, 6263, 6269, 6271, 6277, 6287, 6299, 6301,
    111         6311, 6317, 6323, 6329, 6337, 6343, 6353, 6359, 6361,
    112         6367, 6373, 6379, 6389, 6397, 6421, 6427, 6449, 6451,
    113         6469, 6473, 6481, 6491, 6521, 6529, 6547, 6551, 6553,
    114         6563, 6569, 6571, 6577, 6581, 6599, 6607, 6619, 6637,
    115         6653, 6659, 6661, 6673, 6679, 6689, 6691, 6701, 6703,
    116         6709, 6719, 6733, 6737, 6761, 6763, 6779, 6781, 6791,
    117         6793, 6803, 6823, 6827, 6829, 6833, 6841, 6857, 6863,
    118         6869, 6871, 6883, 6899, 6907, 6911, 6917, 6947, 6949,
    119         6959, 6961, 6967, 6971, 6977, 6983, 6991, 6997, 7001,
    120         7013, 7019, 7027, 7039, 7043, 7057, 7069, 7079, 7103,
    121         7109, 7121, 7127, 7129, 7151, 7159, 7177, 7187, 7193,
    122         7207, 7211, 7213, 7219, 7229, 7237, 7243, 7247, 7253,
    123         7283, 7297, 7307, 7309, 7321, 7331, 7333, 7349, 7351,
    124         7369, 7393, 7411, 7417, 7433, 7451, 7457, 7459, 7477,
    125         7481, 7487, 7489, 7499, 7507, 7517, 7523, 7529, 7537,
    126         7541, 7547, 7549, 7559, 7561, 7573, 7577, 7583, 7589,
    127         7591, 7603, 7607, 7621, 7639, 7643, 7649, 7669, 7673,
    128         7681, 7687, 7691, 7699, 7703, 7717, 7723, 7727, 7741,
    129         7753, 7757, 7759, 7789, 7793, 7817, 7823, 7829, 7841,
    130         7853, 7867, 7873, 7877, 7879, 7883, 7901, 7907, 7919,
    131         7927, 7933, 7937, 7949, 7951, 7963, 7993, 8009, 8011,
    132         8017, 8039, 8053, 8059, 8069, 8081, 8087, 8089, 8093,
    133         8101, 8111, 8117, 8123, 8147, 8161, 8167, 8171, 8179,
    134         8191, 8209, 8219, 8221, 8231, 8233, 8237, 8243, 8263,
    135         8269, 8273, 8287, 8291, 8293, 8297, 8311, 8317, 8329,
    136         8353, 8363, 8369, 8377, 8387, 8389, 8419, 8423, 8429,
    137         8431, 8443, 8447, 8461, 8467, 8501, 8513, 8521, 8527,
    138         8537, 8539, 8543, 8563, 8573, 8581, 8597, 8599, 8609,
    139         8623, 8627, 8629, 8641, 8647, 8663, 8669, 8677, 8681,
    140         8689, 8693, 8699, 8707, 8713, 8719, 8731, 8737, 8741,
    141         8747, 8753, 8761, 8779, 8783, 8803, 8807, 8819, 8821,
    142         8831, 8837, 8839, 8849, 8861, 8863, 8867, 8887, 8893,
    143         8923, 8929, 8933, 8941, 8951, 8963, 8969, 8971, 8999,
    144         9001, 9007, 9011, 9013, 9029, 9041, 9043, 9049, 9059,
    145         9067, 9091, 9103, 9109, 9127, 9133, 9137, 9151, 9157,
    146         9161, 9173, 9181, 9187, 9199, 9203, 9209, 9221, 9227,
    147         9239, 9241, 9257, 9277, 9281, 9283, 9293, 9311, 9319,
    148         9323, 9337, 9341, 9343, 9349, 9371, 9377, 9391, 9397,
    149         9403, 9413, 9419, 9421, 9431, 9433, 9437, 9439, 9461,
    150         9463, 9467, 9473, 9479, 9491, 9497, 9511, 9521, 9533,
    151         9539, 9547, 9551, 9587, 9601, 9613, 9619, 9623, 9629,
    152         9631, 9643, 9649, 9661, 9677, 9679, 9689, 9697, 9719,
    153         9721, 9733, 9739, 9743, 9749, 9767, 9769, 9781, 9787,
    154         9791, 9803, 9811, 9817, 9829, 9833, 9839, 9851, 9857,
    155         9859, 9871, 9883, 9887, 9901, 9907, 9923, 9929, 9931,
    156         9941, 9949, 9967, 9973, 10007, 10009, 10037, 10039, 10061,
    157         10067, 10069, 10079, 10091, 10093, 10099, 10103, 10111, 10133,
    158         10139, 10141, 10151, 10159, 10163, 10169, 10177, 10181, 10193,
    159         10211, 10223, 10243, 10247, 10253, 10259, 10267, 10271, 10273,
    160         10289, 10301, 10303, 10313, 10321, 10331, 10333, 10337, 10343,
    161         10357, 10369, 10391, 10399, 10427, 10429, 10433, 10453, 10457,
    162         10459, 10463, 10477, 10487, 10499, 10501, 10513, 10529, 10531,
    163         10559, 10567, 10589, 10597, 10601, 10607, 10613, 10627, 10631,
    164         10639, 10651, 10657, 10663, 10667, 10687, 10691, 10709, 10711,
    165         10723, 10729, 10733, 10739, 10753, 10771, 10781, 10789, 10799,
    166         10831, 10837, 10847, 10853, 10859, 10861, 10867, 10883, 10889,
    167         10891, 10903, 10909, 10937, 10939, 10949, 10957, 10973, 10979,
    168         10987, 10993, 11003, 11027, 11047, 11057, 11059, 11069, 11071,
    169         11083, 11087, 11093, 11113, 11117, 11119, 11131, 11149, 11159,
    170         11161, 11171, 11173, 11177, 11197, 11213, 11239, 11243, 11251,
    171         11257, 11261, 11273, 11279, 11287, 11299, 11311, 11317, 11321,
    172         11329, 11351, 11353, 11369, 11383, 11393, 11399, 11411, 11423,
    173         11437, 11443, 11447, 11467, 11471, 11483, 11489, 11491, 11497,
    174         11503, 11519, 11527, 11549, 11551, 11579, 11587, 11593, 11597,
    175         11617, 11621, 11633, 11657, 11677, 11681, 11689, 11699, 11701,
    176         11717, 11719, 11731, 11743, 11777, 11779, 11783, 11789, 11801,
    177         11807, 11813, 11821, 11827, 11831, 11833, 11839, 11863, 11867,
    178         11887, 11897, 11903, 11909, 11923, 11927, 11933, 11939, 11941,
    179         11953, 11959, 11969, 11971, 11981, 11987, 12007, 12011, 12037,
    180         12041, 12043, 12049, 12071, 12073, 12097, 12101, 12107, 12109,
    181         12113, 12119, 12143, 12149, 12157, 12161, 12163, 12197, 12203,
    182         12211, 12227, 12239, 12241, 12251, 12253, 12263, 12269, 12277,
    183         12281, 12289, 12301, 12323, 12329, 12343, 12347, 12373, 12377,
    184         12379, 12391, 12401, 12409, 12413, 12421, 12433, 12437, 12451,
    185         12457, 12473, 12479, 12487, 12491, 12497, 12503, 12511, 12517,
    186         12527, 12539, 12541, 12547, 12553, 12569, 12577, 12583, 12589,
    187         12601, 12611, 12613, 12619, 12637, 12641, 12647, 12653, 12659,
    188         12671, 12689, 12697, 12703, 12713, 12721, 12739, 12743, 12757,
    189         12763, 12781, 12791, 12799, 12809, 12821, 12823, 12829, 12841,
    190         12853, 12889, 12893, 12899, 12907, 12911, 12917, 12919, 12923,
    191         12941, 12953, 12959, 12967, 12973, 12979, 12983, 13001, 13003,
    192         13007, 13009, 13033, 13037, 13043, 13049, 13063, 13093, 13099,
    193         13103, 13109, 13121, 13127, 13147, 13151, 13159, 13163, 13171,
    194         13177, 13183, 13187, 13217, 13219, 13229, 13241, 13249, 13259,
    195         13267, 13291, 13297, 13309, 13313, 13327, 13331, 13337, 13339,
    196         13367, 13381, 13397, 13399, 13411, 13417, 13421, 13441, 13451,
    197         13457, 13463, 13469, 13477, 13487, 13499, 13513, 13523, 13537,
    198         13553, 13567, 13577, 13591, 13597, 13613, 13619, 13627, 13633,
    199         13649, 13669, 13679, 13681, 13687, 13691, 13693, 13697, 13709,
    200         13711, 13721, 13723, 13729, 13751, 13757, 13759, 13763, 13781,
    201         13789, 13799, 13807, 13829, 13831, 13841, 13859, 13873, 13877,
    202         13879, 13883, 13901, 13903, 13907, 13913, 13921, 13931, 13933,
    203         13963, 13967, 13997, 13999, 14009, 14011, 14029, 14033, 14051,
    204         14057, 14071, 14081, 14083, 14087, 14107, 14143, 14149, 14153,
    205         14159, 14173, 14177, 14197, 14207, 14221, 14243, 14249, 14251,
    206         14281, 14293, 14303, 14321, 14323, 14327, 14341, 14347, 14369,
    207         14387, 14389, 14401, 14407, 14411, 14419, 14423, 14431, 14437,
    208         14447, 14449, 14461, 14479, 14489, 14503, 14519, 14533, 14537,
    209         14543, 14549, 14551, 14557, 14561, 14563, 14591, 14593, 14621,
    210         14627, 14629, 14633, 14639, 14653, 14657, 14669, 14683, 14699,
    211         14713, 14717, 14723, 14731, 14737, 14741, 14747, 14753, 14759,
    212         14767, 14771, 14779, 14783, 14797, 14813, 14821, 14827, 14831,
    213         14843, 14851, 14867, 14869, 14879, 14887, 14891, 14897, 14923,
    214         14929, 14939, 14947, 14951, 14957, 14969, 14983, 15013, 15017,
    215         15031, 15053, 15061, 15073, 15077, 15083, 15091, 15101, 15107,
    216         15121, 15131, 15137, 15139, 15149, 15161, 15173, 15187, 15193,
    217         15199, 15217, 15227, 15233, 15241, 15259, 15263, 15269, 15271,
    218         15277, 15287, 15289, 15299, 15307, 15313, 15319, 15329, 15331,
    219         15349, 15359, 15361, 15373, 15377, 15383, 15391, 15401, 15413,
    220         15427, 15439, 15443, 15451, 15461, 15467, 15473, 15493, 15497,
    221         15511, 15527, 15541, 15551, 15559, 15569, 15581, 15583, 15601,
    222         15607, 15619, 15629, 15641, 15643, 15647, 15649, 15661, 15667,
    223         15671, 15679, 15683, 15727, 15731, 15733, 15737, 15739, 15749,
    224         15761, 15767, 15773, 15787, 15791, 15797, 15803, 15809, 15817,
    225         15823, 15859, 15877, 15881, 15887, 15889, 15901, 15907, 15913,
    226         15919, 15923, 15937, 15959, 15971, 15973, 15991, 16001, 16007,
    227         16033, 16057, 16061, 16063, 16067, 16069, 16073, 16087, 16091,
    228         16097, 16103, 16111, 16127, 16139, 16141, 16183, 16187, 16189,
    229         16193, 16217, 16223, 16229, 16231, 16249, 16253, 16267, 16273,
    230         16301, 16319, 16333, 16339, 16349, 16361, 16363, 16369, 16381,
    231         16411, 16417, 16421, 16427, 16433, 16447, 16451, 16453, 16477,
    232         16481, 16487, 16493, 16519, 16529, 16547, 16553, 16561, 16567,
    233         16573, 16603, 16607, 16619, 16631, 16633, 16649, 16651, 16657,
    234         16661, 16673, 16691, 16693, 16699, 16703, 16729, 16741, 16747,
    235         16759, 16763, 16787, 16811, 16823, 16829, 16831, 16843, 16871,
    236         16879, 16883, 16889, 16901, 16903, 16921, 16927, 16931, 16937,
    237         16943, 16963, 16979, 16981, 16987, 16993, 17011, 17021, 17027,
    238         17029, 17033, 17041, 17047, 17053, 17077, 17093, 17099, 17107,
    239         17117, 17123, 17137, 17159, 17167, 17183, 17189, 17191, 17203,
    240         17207, 17209, 17231, 17239, 17257, 17291, 17293, 17299, 17317,
    241         17321, 17327, 17333, 17341, 17351, 17359, 17377, 17383, 17387,
    242         17389, 17393, 17401, 17417, 17419, 17431, 17443, 17449, 17467,
    243         17471, 17477, 17483, 17489, 17491, 17497, 17509, 17519, 17539,
    244         17551, 17569, 17573, 17579, 17581, 17597, 17599, 17609, 17623,
    245         17627, 17657, 17659, 17669, 17681, 17683, 17707, 17713, 17729,
    246         17737, 17747, 17749, 17761, 17783, 17789, 17791, 17807, 17827,
    247         17837, 17839, 17851, 17863, 17881, 17891, 17903, 17909, 17911,
    248         17921, 17923, 17929, 17939, 17957, 17959, 17971, 17977, 17981,
    249         17987, 17989, 18013, 18041, 18043, 18047, 18049, 18059, 18061,
    250         18077, 18089, 18097, 18119, 18121, 18127, 18131, 18133, 18143,
    251         18149, 18169, 18181, 18191, 18199, 18211, 18217, 18223, 18229,
    252         18233, 18251, 18253, 18257, 18269, 18287, 18289, 18301, 18307,
    253         18311, 18313, 18329, 18341, 18353, 18367, 18371, 18379, 18397,
    254         18401, 18413, 18427, 18433, 18439, 18443, 18451, 18457, 18461,
    255         18481, 18493, 18503, 18517, 18521, 18523, 18539, 18541, 18553,
    256         18583, 18587, 18593, 18617, 18637, 18661, 18671, 18679, 18691,
    257         18701, 18713, 18719, 18731, 18743, 18749, 18757, 18773, 18787,
    258         18793, 18797, 18803, 18839, 18859, 18869, 18899, 18911, 18913,
    259         18917, 18919, 18947, 18959, 18973, 18979, 19001, 19009, 19013,
    260         19031, 19037, 19051, 19069, 19073, 19079, 19081, 19087, 19121,
    261         19139, 19141, 19157, 19163, 19181, 19183, 19207, 19211, 19213,
    262         19219, 19231, 19237, 19249, 19259, 19267, 19273, 19289, 19301,
    263         19309, 19319, 19333, 19373, 19379, 19381, 19387, 19391, 19403,
    264         19417, 19421, 19423, 19427, 19429, 19433, 19441, 19447, 19457,
    265         19463, 19469, 19471, 19477, 19483, 19489, 19501, 19507, 19531,
    266         19541, 19543, 19553, 19559, 19571, 19577, 19583, 19597, 19603,
    267         19609, 19661, 19681, 19687, 19697, 19699, 19709, 19717, 19727,
    268         19739, 19751, 19753, 19759, 19763, 19777, 19793, 19801, 19813,
    269         19819, 19841, 19843, 19853, 19861, 19867, 19889, 19891, 19913,
    270         19919, 19927, 19937, 19949, 19961, 19963, 19973, 19979, 19991,
    271         19993, 19997, 20011, 20021, 20023, 20029, 20047, 20051, 20063,
    272         20071, 20089, 20101, 20107, 20113, 20117, 20123, 20129, 20143,
    273         20147, 20149, 20161, 20173, 20177, 20183, 20201, 20219, 20231,
    274         20233, 20249, 20261, 20269, 20287, 20297, 20323, 20327, 20333,
    275         20341, 20347, 20353, 20357, 20359, 20369, 20389, 20393, 20399,
    276         20407, 20411, 20431, 20441, 20443, 20477, 20479, 20483, 20507,
    277         20509, 20521, 20533, 20543, 20549, 20551, 20563, 20593, 20599,
    278         20611, 20627, 20639, 20641, 20663, 20681, 20693, 20707, 20717,
    279         20719, 20731, 20743, 20747, 20749, 20753, 20759, 20771, 20773,
    280         20789, 20807, 20809, 20849, 20857, 20873, 20879, 20887, 20897,
    281         20899, 20903, 20921, 20929, 20939, 20947, 20959, 20963, 20981,
    282         20983, 21001, 21011, 21013, 21017, 21019, 21023, 21031, 21059,
    283         21061, 21067, 21089, 21101, 21107, 21121, 21139, 21143, 21149,
    284         21157, 21163, 21169, 21179, 21187, 21191, 21193, 21211, 21221,
    285         21227, 21247, 21269, 21277, 21283, 21313, 21317, 21319, 21323,
    286         21341, 21347, 21377, 21379, 21383, 21391, 21397, 21401, 21407,
    287         21419, 21433, 21467, 21481, 21487, 21491, 21493, 21499, 21503,
    288         21517, 21521, 21523, 21529, 21557, 21559, 21563, 21569, 21577,
    289         21587, 21589, 21599, 21601, 21611, 21613, 21617, 21647, 21649,
    290         21661, 21673, 21683, 21701, 21713, 21727, 21737, 21739, 21751,
    291         21757, 21767, 21773, 21787, 21799, 21803, 21817, 21821, 21839,
    292         21841, 21851, 21859, 21863, 21871, 21881, 21893, 21911, 21929,
    293         21937, 21943, 21961, 21977, 21991, 21997, 22003, 22013, 22027,
    294         22031, 22037, 22039, 22051, 22063, 22067, 22073, 22079, 22091,
    295         22093, 22109, 22111, 22123, 22129, 22133, 22147, 22153, 22157,
    296         22159, 22171, 22189, 22193, 22229, 22247, 22259, 22271, 22273,
    297         22277, 22279, 22283, 22291, 22303, 22307, 22343, 22349, 22367,
    298         22369, 22381, 22391, 22397, 22409, 22433, 22441, 22447, 22453,
    299         22469, 22481, 22483, 22501, 22511, 22531, 22541, 22543, 22549,
    300         22567, 22571, 22573, 22613, 22619, 22621, 22637, 22639, 22643,
    301         22651, 22669, 22679, 22691, 22697, 22699, 22709, 22717, 22721,
    302         22727, 22739, 22741, 22751, 22769, 22777, 22783, 22787, 22807,
    303         22811, 22817, 22853, 22859, 22861, 22871, 22877, 22901, 22907,
    304         22921, 22937, 22943, 22961, 22963, 22973, 22993, 23003, 23011,
    305         23017, 23021, 23027, 23029, 23039, 23041, 23053, 23057, 23059,
    306         23063, 23071, 23081, 23087, 23099, 23117, 23131, 23143, 23159,
    307         23167, 23173, 23189, 23197, 23201, 23203, 23209, 23227, 23251,
    308         23269, 23279, 23291, 23293, 23297, 23311, 23321, 23327, 23333,
    309         23339, 23357, 23369, 23371, 23399, 23417, 23431, 23447, 23459,
    310         23473, 23497, 23509, 23531, 23537, 23539, 23549, 23557, 23561,
    311         23563, 23567, 23581, 23593, 23599, 23603, 23609, 23623, 23627,
    312         23629, 23633, 23663, 23669, 23671, 23677, 23687, 23689, 23719,
    313         23741, 23743, 23747, 23753, 23761, 23767, 23773, 23789, 23801,
    314         23813, 23819, 23827, 23831, 23833, 23857, 23869, 23873, 23879,
    315         23887, 23893, 23899, 23909, 23911, 23917, 23929, 23957, 23971,
    316         23977, 23981, 23993, 24001, 24007, 24019, 24023, 24029, 24043,
    317         24049, 24061, 24071, 24077, 24083, 24091, 24097, 24103, 24107,
    318         24109, 24113, 24121, 24133, 24137, 24151, 24169, 24179, 24181,
    319         24197, 24203, 24223, 24229, 24239, 24247, 24251, 24281, 24317,
    320         24329, 24337, 24359, 24371, 24373, 24379, 24391, 24407, 24413,
    321         24419, 24421, 24439, 24443, 24469, 24473, 24481, 24499, 24509,
    322         24517, 24527, 24533, 24547, 24551, 24571, 24593, 24611, 24623,
    323         24631, 24659, 24671, 24677, 24683, 24691, 24697, 24709, 24733,
    324         24749, 24763, 24767, 24781, 24793, 24799, 24809, 24821, 24841,
    325         24847, 24851, 24859, 24877, 24889, 24907, 24917, 24919, 24923,
    326         24943, 24953, 24967, 24971, 24977, 24979, 24989, 25013, 25031,
    327         25033, 25037, 25057, 25073, 25087, 25097, 25111, 25117, 25121,
    328         25127, 25147, 25153, 25163, 25169, 25171, 25183, 25189, 25219,
    329         25229, 25237, 25243, 25247, 25253, 25261, 25301, 25303, 25307,
    330         25309, 25321, 25339, 25343, 25349, 25357, 25367, 25373, 25391,
    331         25409, 25411, 25423, 25439, 25447, 25453, 25457, 25463, 25469,
    332         25471, 25523, 25537, 25541, 25561, 25577, 25579, 25583, 25589,
    333         25601, 25603, 25609, 25621, 25633, 25639, 25643, 25657, 25667,
    334         25673, 25679, 25693, 25703, 25717, 25733, 25741, 25747, 25759,
    335         25763, 25771, 25793, 25799, 25801, 25819, 25841, 25847, 25849,
    336         25867, 25873, 25889, 25903, 25913, 25919, 25931, 25933, 25939,
    337         25943, 25951, 25969, 25981, 25997, 25999, 26003, 26017, 26021,
    338         26029, 26041, 26053, 26083, 26099, 26107, 26111, 26113, 26119,
    339         26141, 26153, 26161, 26171, 26177, 26183, 26189, 26203, 26209,
    340         26227, 26237, 26249, 26251, 26261, 26263, 26267, 26293, 26297,
    341         26309, 26317, 26321, 26339, 26347, 26357, 26371, 26387, 26393,
    342         26399, 26407, 26417, 26423, 26431, 26437, 26449, 26459, 26479,
    343         26489, 26497, 26501, 26513, 26539, 26557, 26561, 26573, 26591,
    344         26597, 26627, 26633, 26641, 26647, 26669, 26681, 26683, 26687,
    345         26693, 26699, 26701, 26711, 26713, 26717, 26723, 26729, 26731,
    346         26737, 26759, 26777, 26783, 26801, 26813, 26821, 26833, 26839,
    347         26849, 26861, 26863, 26879, 26881, 26891, 26893, 26903, 26921,
    348         26927, 26947, 26951, 26953, 26959, 26981, 26987, 26993, 27011,
    349         27017, 27031, 27043, 27059, 27061, 27067, 27073, 27077, 27091,
    350         27103, 27107, 27109, 27127, 27143, 27179, 27191, 27197, 27211,
    351         27239, 27241, 27253, 27259, 27271, 27277, 27281, 27283, 27299,
    352         27329, 27337, 27361, 27367, 27397, 27407, 27409, 27427, 27431,
    353         27437, 27449, 27457, 27479, 27481, 27487, 27509, 27527, 27529,
    354         27539, 27541, 27551, 27581, 27583, 27611, 27617, 27631, 27647,
    355         27653, 27673, 27689, 27691, 27697, 27701, 27733, 27737, 27739,
    356         27743, 27749, 27751, 27763, 27767, 27773, 27779, 27791, 27793,
    357         27799, 27803, 27809, 27817, 27823, 27827, 27847, 27851, 27883,
    358         27893, 27901, 27917, 27919, 27941, 27943, 27947, 27953, 27961,
    359         27967, 27983, 27997, 28001, 28019, 28027, 28031, 28051, 28057,
    360         28069, 28081, 28087, 28097, 28099, 28109, 28111, 28123, 28151,
    361         28163, 28181, 28183, 28201, 28211, 28219, 28229, 28277, 28279,
    362         28283, 28289, 28297, 28307, 28309, 28319, 28349, 28351, 28387,
    363         28393, 28403, 28409, 28411, 28429, 28433, 28439, 28447, 28463,
    364         28477, 28493, 28499, 28513, 28517, 28537, 28541, 28547, 28549,
    365         28559, 28571, 28573, 28579, 28591, 28597, 28603, 28607, 28619,
    366         28621, 28627, 28631, 28643, 28649, 28657, 28661, 28663, 28669,
    367         28687, 28697, 28703, 28711, 28723, 28729, 28751, 28753, 28759,
    368         28771, 28789, 28793, 28807, 28813, 28817, 28837, 28843, 28859,
    369         28867, 28871, 28879, 28901, 28909, 28921, 28927, 28933, 28949,
    370         28961, 28979, 29009, 29017, 29021, 29023, 29027, 29033, 29059,
    371         29063, 29077, 29101, 29123, 29129, 29131, 29137, 29147, 29153,
    372         29167, 29173, 29179, 29191, 29201, 29207, 29209, 29221, 29231,
    373         29243, 29251, 29269, 29287, 29297, 29303, 29311, 29327, 29333,
    374         29339, 29347, 29363, 29383, 29387, 29389, 29399, 29401, 29411,
    375         29423, 29429, 29437, 29443, 29453, 29473, 29483, 29501, 29527,
    376         29531, 29537, 29567, 29569, 29573, 29581, 29587, 29599, 29611,
    377         29629, 29633, 29641, 29663, 29669, 29671, 29683, 29717, 29723,
    378         29741, 29753, 29759, 29761, 29789, 29803, 29819, 29833, 29837,
    379         29851, 29863, 29867, 29873, 29879, 29881, 29917, 29921, 29927,
    380         29947, 29959, 29983, 29989, 30011, 30013, 30029, 30047, 30059,
    381         30071, 30089, 30091, 30097, 30103, 30109, 30113, 30119, 30133,
    382         30137, 30139, 30161, 30169, 30181, 30187, 30197, 30203, 30211,
    383         30223, 30241, 30253, 30259, 30269, 30271, 30293, 30307, 30313,
    384         30319, 30323, 30341, 30347, 30367, 30389, 30391, 30403, 30427,
    385         30431, 30449, 30467, 30469, 30491, 30493, 30497, 30509, 30517,
    386         30529, 30539, 30553, 30557, 30559, 30577, 30593, 30631, 30637,
    387         30643, 30649, 30661, 30671, 30677, 30689, 30697, 30703, 30707,
    388         30713, 30727, 30757, 30763, 30773, 30781, 30803, 30809, 30817,
    389         30829, 30839, 30841, 30851, 30853, 30859, 30869, 30871, 30881,
    390         30893, 30911, 30931, 30937, 30941, 30949, 30971, 30977, 30983,
    391         31013, 31019, 31033, 31039, 31051, 31063, 31069, 31079, 31081,
    392         31091, 31121, 31123, 31139, 31147, 31151, 31153, 31159, 31177,
    393         31181, 31183, 31189, 31193, 31219, 31223, 31231, 31237, 31247,
    394         31249, 31253, 31259, 31267, 31271, 31277, 31307, 31319, 31321,
    395         31327, 31333, 31337, 31357, 31379, 31387, 31391, 31393, 31397,
    396         31469, 31477, 31481, 31489, 31511, 31513, 31517, 31531, 31541,
    397         31543, 31547, 31567, 31573, 31583, 31601, 31607, 31627, 31643,
    398         31649, 31657, 31663, 31667, 31687, 31699, 31721, 31723, 31727,
    399         31729, 31741, 31751, 31769, 31771, 31793, 31799, 31817, 31847,
    400         31849, 31859, 31873, 31883, 31891, 31907, 31957, 31963, 31973,
    401         31981, 31991, 32003, 32009, 32027, 32029, 32051, 32057, 32059,
    402         32063, 32069, 32077, 32083, 32089, 32099, 32117, 32119, 32141,
    403         32143, 32159, 32173, 32183, 32189, 32191, 32203, 32213, 32233,
    404         32237, 32251, 32257, 32261, 32297, 32299, 32303, 32309, 32321,
    405         32323, 32327, 32341, 32353, 32359, 32363, 32369, 32371, 32377,
    406         32381, 32401, 32411, 32413, 32423, 32429, 32441, 32443, 32467,
    407         32479, 32491, 32497, 32503, 32507, 32531, 32533, 32537, 32561,
    408         32563, 32569, 32573, 32579, 32587, 32603, 32609, 32611, 32621, 0
    409 };
     26    3, 5, 7, 11, 13, 17, 19, 23, 29,
     27    31, 37, 41, 43, 47, 53, 59, 61, 67,
     28    71, 73, 79, 83, 89, 97, 101, 103, 107,
     29    109, 113, 127, 131, 137, 139, 149, 151, 157,
     30    163, 167, 173, 179, 181, 191, 193, 197, 199,
     31    211, 223, 227, 229, 233, 239, 241, 251, 257,
     32    263, 269, 271, 277, 281, 283, 293, 307, 311,
     33    313, 317, 331, 337, 347, 349, 353, 359, 367,
     34    373, 379, 383, 389, 397, 401, 409, 419, 421,
     35    431, 433, 439, 443, 449, 457, 461, 463, 467,
     36    479, 487, 491, 499, 503, 509, 521, 523, 541,
     37    547, 557, 563, 569, 571, 577, 587, 593, 599,
     38    601, 607, 613, 617, 619, 631, 641, 643, 647,
     39    653, 659, 661, 673, 677, 683, 691, 701, 709,
     40    719, 727, 733, 739, 743, 751, 757, 761, 769,
     41    773, 787, 797, 809, 811, 821, 823, 827, 829,
     42    839, 853, 857, 859, 863, 877, 881, 883, 887,
     43    907, 911, 919, 929, 937, 941, 947, 953, 967,
     44    971, 977, 983, 991, 997, 1009, 1013, 1019, 1021,
     45    1031, 1033, 1039, 1049, 1051, 1061, 1063, 1069, 1087,
     46    1091, 1093, 1097, 1103, 1109, 1117, 1123, 1129, 1151,
     47    1153, 1163, 1171, 1181, 1187, 1193, 1201, 1213, 1217,
     48    1223, 1229, 1231, 1237, 1249, 1259, 1277, 1279, 1283,
     49    1289, 1291, 1297, 1301, 1303, 1307, 1319, 1321, 1327,
     50    1361, 1367, 1373, 1381, 1399, 1409, 1423, 1427, 1429,
     51    1433, 1439, 1447, 1451, 1453, 1459, 1471, 1481, 1483,
     52    1487, 1489, 1493, 1499, 1511, 1523, 1531, 1543, 1549,
     53    1553, 1559, 1567, 1571, 1579, 1583, 1597, 1601, 1607,
     54    1609, 1613, 1619, 1621, 1627, 1637, 1657, 1663, 1667,
     55    1669, 1693, 1697, 1699, 1709, 1721, 1723, 1733, 1741,
     56    1747, 1753, 1759, 1777, 1783, 1787, 1789, 1801, 1811,
     57    1823, 1831, 1847, 1861, 1867, 1871, 1873, 1877, 1879,
     58    1889, 1901, 1907, 1913, 1931, 1933, 1949, 1951, 1973,
     59    1979, 1987, 1993, 1997, 1999, 2003, 2011, 2017, 2027,
     60    2029, 2039, 2053, 2063, 2069, 2081, 2083, 2087, 2089,
     61    2099, 2111, 2113, 2129, 2131, 2137, 2141, 2143, 2153,
     62    2161, 2179, 2203, 2207, 2213, 2221, 2237, 2239, 2243,
     63    2251, 2267, 2269, 2273, 2281, 2287, 2293, 2297, 2309,
     64    2311, 2333, 2339, 2341, 2347, 2351, 2357, 2371, 2377,
     65    2381, 2383, 2389, 2393, 2399, 2411, 2417, 2423, 2437,
     66    2441, 2447, 2459, 2467, 2473, 2477, 2503, 2521, 2531,
     67    2539, 2543, 2549, 2551, 2557, 2579, 2591, 2593, 2609,
     68    2617, 2621, 2633, 2647, 2657, 2659, 2663, 2671, 2677,
     69    2683, 2687, 2689, 2693, 2699, 2707, 2711, 2713, 2719,
     70    2729, 2731, 2741, 2749, 2753, 2767, 2777, 2789, 2791,
     71    2797, 2801, 2803, 2819, 2833, 2837, 2843, 2851, 2857,
     72    2861, 2879, 2887, 2897, 2903, 2909, 2917, 2927, 2939,
     73    2953, 2957, 2963, 2969, 2971, 2999, 3001, 3011, 3019,
     74    3023, 3037, 3041, 3049, 3061, 3067, 3079, 3083, 3089,
     75    3109, 3119, 3121, 3137, 3163, 3167, 3169, 3181, 3187,
     76    3191, 3203, 3209, 3217, 3221, 3229, 3251, 3253, 3257,
     77    3259, 3271, 3299, 3301, 3307, 3313, 3319, 3323, 3329,
     78    3331, 3343, 3347, 3359, 3361, 3371, 3373, 3389, 3391,
     79    3407, 3413, 3433, 3449, 3457, 3461, 3463, 3467, 3469,
     80    3491, 3499, 3511, 3517, 3527, 3529, 3533, 3539, 3541,
     81    3547, 3557, 3559, 3571, 3581, 3583, 3593, 3607, 3613,
     82    3617, 3623, 3631, 3637, 3643, 3659, 3671, 3673, 3677,
     83    3691, 3697, 3701, 3709, 3719, 3727, 3733, 3739, 3761,
     84    3767, 3769, 3779, 3793, 3797, 3803, 3821, 3823, 3833,
     85    3847, 3851, 3853, 3863, 3877, 3881, 3889, 3907, 3911,
     86    3917, 3919, 3923, 3929, 3931, 3943, 3947, 3967, 3989,
     87    4001, 4003, 4007, 4013, 4019, 4021, 4027, 4049, 4051,
     88    4057, 4073, 4079, 4091, 4093, 4099, 4111, 4127, 4129,
     89    4133, 4139, 4153, 4157, 4159, 4177, 4201, 4211, 4217,
     90    4219, 4229, 4231, 4241, 4243, 4253, 4259, 4261, 4271,
     91    4273, 4283, 4289, 4297, 4327, 4337, 4339, 4349, 4357,
     92    4363, 4373, 4391, 4397, 4409, 4421, 4423, 4441, 4447,
     93    4451, 4457, 4463, 4481, 4483, 4493, 4507, 4513, 4517,
     94    4519, 4523, 4547, 4549, 4561, 4567, 4583, 4591, 4597,
     95    4603, 4621, 4637, 4639, 4643, 4649, 4651, 4657, 4663,
     96    4673, 4679, 4691, 4703, 4721, 4723, 4729, 4733, 4751,
     97    4759, 4783, 4787, 4789, 4793, 4799, 4801, 4813, 4817,
     98    4831, 4861, 4871, 4877, 4889, 4903, 4909, 4919, 4931,
     99    4933, 4937, 4943, 4951, 4957, 4967, 4969, 4973, 4987,
     100    4993, 4999, 5003, 5009, 5011, 5021, 5023, 5039, 5051,
     101    5059, 5077, 5081, 5087, 5099, 5101, 5107, 5113, 5119,
     102    5147, 5153, 5167, 5171, 5179, 5189, 5197, 5209, 5227,
     103    5231, 5233, 5237, 5261, 5273, 5279, 5281, 5297, 5303,
     104    5309, 5323, 5333, 5347, 5351, 5381, 5387, 5393, 5399,
     105    5407, 5413, 5417, 5419, 5431, 5437, 5441, 5443, 5449,
     106    5471, 5477, 5479, 5483, 5501, 5503, 5507, 5519, 5521,
     107    5527, 5531, 5557, 5563, 5569, 5573, 5581, 5591, 5623,
     108    5639, 5641, 5647, 5651, 5653, 5657, 5659, 5669, 5683,
     109    5689, 5693, 5701, 5711, 5717, 5737, 5741, 5743, 5749,
     110    5779, 5783, 5791, 5801, 5807, 5813, 5821, 5827, 5839,
     111    5843, 5849, 5851, 5857, 5861, 5867, 5869, 5879, 5881,
     112    5897, 5903, 5923, 5927, 5939, 5953, 5981, 5987, 6007,
     113    6011, 6029, 6037, 6043, 6047, 6053, 6067, 6073, 6079,
     114    6089, 6091, 6101, 6113, 6121, 6131, 6133, 6143, 6151,
     115    6163, 6173, 6197, 6199, 6203, 6211, 6217, 6221, 6229,
     116    6247, 6257, 6263, 6269, 6271, 6277, 6287, 6299, 6301,
     117    6311, 6317, 6323, 6329, 6337, 6343, 6353, 6359, 6361,
     118    6367, 6373, 6379, 6389, 6397, 6421, 6427, 6449, 6451,
     119    6469, 6473, 6481, 6491, 6521, 6529, 6547, 6551, 6553,
     120    6563, 6569, 6571, 6577, 6581, 6599, 6607, 6619, 6637,
     121    6653, 6659, 6661, 6673, 6679, 6689, 6691, 6701, 6703,
     122    6709, 6719, 6733, 6737, 6761, 6763, 6779, 6781, 6791,
     123    6793, 6803, 6823, 6827, 6829, 6833, 6841, 6857, 6863,
     124    6869, 6871, 6883, 6899, 6907, 6911, 6917, 6947, 6949,
     125    6959, 6961, 6967, 6971, 6977, 6983, 6991, 6997, 7001,
     126    7013, 7019, 7027, 7039, 7043, 7057, 7069, 7079, 7103,
     127    7109, 7121, 7127, 7129, 7151, 7159, 7177, 7187, 7193,
     128    7207, 7211, 7213, 7219, 7229, 7237, 7243, 7247, 7253,
     129    7283, 7297, 7307, 7309, 7321, 7331, 7333, 7349, 7351,
     130    7369, 7393, 7411, 7417, 7433, 7451, 7457, 7459, 7477,
     131    7481, 7487, 7489, 7499, 7507, 7517, 7523, 7529, 7537,
     132    7541, 7547, 7549, 7559, 7561, 7573, 7577, 7583, 7589,
     133    7591, 7603, 7607, 7621, 7639, 7643, 7649, 7669, 7673,
     134    7681, 7687, 7691, 7699, 7703, 7717, 7723, 7727, 7741,
     135    7753, 7757, 7759, 7789, 7793, 7817, 7823, 7829, 7841,
     136    7853, 7867, 7873, 7877, 7879, 7883, 7901, 7907, 7919,
     137    7927, 7933, 7937, 7949, 7951, 7963, 7993, 8009, 8011,
     138    8017, 8039, 8053, 8059, 8069, 8081, 8087, 8089, 8093,
     139    8101, 8111, 8117, 8123, 8147, 8161, 8167, 8171, 8179,
     140    8191, 8209, 8219, 8221, 8231, 8233, 8237, 8243, 8263,
     141    8269, 8273, 8287, 8291, 8293, 8297, 8311, 8317, 8329,
     142    8353, 8363, 8369, 8377, 8387, 8389, 8419, 8423, 8429,
     143    8431, 8443, 8447, 8461, 8467, 8501, 8513, 8521, 8527,
     144    8537, 8539, 8543, 8563, 8573, 8581, 8597, 8599, 8609,
     145    8623, 8627, 8629, 8641, 8647, 8663, 8669, 8677, 8681,
     146    8689, 8693, 8699, 8707, 8713, 8719, 8731, 8737, 8741,
     147    8747, 8753, 8761, 8779, 8783, 8803, 8807, 8819, 8821,
     148    8831, 8837, 8839, 8849, 8861, 8863, 8867, 8887, 8893,
     149    8923, 8929, 8933, 8941, 8951, 8963, 8969, 8971, 8999,
     150    9001, 9007, 9011, 9013, 9029, 9041, 9043, 9049, 9059,
     151    9067, 9091, 9103, 9109, 9127, 9133, 9137, 9151, 9157,
     152    9161, 9173, 9181, 9187, 9199, 9203, 9209, 9221, 9227,
     153    9239, 9241, 9257, 9277, 9281, 9283, 9293, 9311, 9319,
     154    9323, 9337, 9341, 9343, 9349, 9371, 9377, 9391, 9397,
     155    9403, 9413, 9419, 9421, 9431, 9433, 9437, 9439, 9461,
     156    9463, 9467, 9473, 9479, 9491, 9497, 9511, 9521, 9533,
     157    9539, 9547, 9551, 9587, 9601, 9613, 9619, 9623, 9629,
     158    9631, 9643, 9649, 9661, 9677, 9679, 9689, 9697, 9719,
     159    9721, 9733, 9739, 9743, 9749, 9767, 9769, 9781, 9787,
     160    9791, 9803, 9811, 9817, 9829, 9833, 9839, 9851, 9857,
     161    9859, 9871, 9883, 9887, 9901, 9907, 9923, 9929, 9931,
     162    9941, 9949, 9967, 9973, 10007, 10009, 10037, 10039, 10061,
     163    10067, 10069, 10079, 10091, 10093, 10099, 10103, 10111, 10133,
     164    10139, 10141, 10151, 10159, 10163, 10169, 10177, 10181, 10193,
     165    10211, 10223, 10243, 10247, 10253, 10259, 10267, 10271, 10273,
     166    10289, 10301, 10303, 10313, 10321, 10331, 10333, 10337, 10343,
     167    10357, 10369, 10391, 10399, 10427, 10429, 10433, 10453, 10457,
     168    10459, 10463, 10477, 10487, 10499, 10501, 10513, 10529, 10531,
     169    10559, 10567, 10589, 10597, 10601, 10607, 10613, 10627, 10631,
     170    10639, 10651, 10657, 10663, 10667, 10687, 10691, 10709, 10711,
     171    10723, 10729, 10733, 10739, 10753, 10771, 10781, 10789, 10799,
     172    10831, 10837, 10847, 10853, 10859, 10861, 10867, 10883, 10889,
     173    10891, 10903, 10909, 10937, 10939, 10949, 10957, 10973, 10979,
     174    10987, 10993, 11003, 11027, 11047, 11057, 11059, 11069, 11071,
     175    11083, 11087, 11093, 11113, 11117, 11119, 11131, 11149, 11159,
     176    11161, 11171, 11173, 11177, 11197, 11213, 11239, 11243, 11251,
     177    11257, 11261, 11273, 11279, 11287, 11299, 11311, 11317, 11321,
     178    11329, 11351, 11353, 11369, 11383, 11393, 11399, 11411, 11423,
     179    11437, 11443, 11447, 11467, 11471, 11483, 11489, 11491, 11497,
     180    11503, 11519, 11527, 11549, 11551, 11579, 11587, 11593, 11597,
     181    11617, 11621, 11633, 11657, 11677, 11681, 11689, 11699, 11701,
     182    11717, 11719, 11731, 11743, 11777, 11779, 11783, 11789, 11801,
     183    11807, 11813, 11821, 11827, 11831, 11833, 11839, 11863, 11867,
     184    11887, 11897, 11903, 11909, 11923, 11927, 11933, 11939, 11941,
     185    11953, 11959, 11969, 11971, 11981, 11987, 12007, 12011, 12037,
     186    12041, 12043, 12049, 12071, 12073, 12097, 12101, 12107, 12109,
     187    12113, 12119, 12143, 12149, 12157, 12161, 12163, 12197, 12203,
     188    12211, 12227, 12239, 12241, 12251, 12253, 12263, 12269, 12277,
     189    12281, 12289, 12301, 12323, 12329, 12343, 12347, 12373, 12377,
     190    12379, 12391, 12401, 12409, 12413, 12421, 12433, 12437, 12451,
     191    12457, 12473, 12479, 12487, 12491, 12497, 12503, 12511, 12517,
     192    12527, 12539, 12541, 12547, 12553, 12569, 12577, 12583, 12589,
     193    12601, 12611, 12613, 12619, 12637, 12641, 12647, 12653, 12659,
     194    12671, 12689, 12697, 12703, 12713, 12721, 12739, 12743, 12757,
     195    12763, 12781, 12791, 12799, 12809, 12821, 12823, 12829, 12841,
     196    12853, 12889, 12893, 12899, 12907, 12911, 12917, 12919, 12923,
     197    12941, 12953, 12959, 12967, 12973, 12979, 12983, 13001, 13003,
     198    13007, 13009, 13033, 13037, 13043, 13049, 13063, 13093, 13099,
     199    13103, 13109, 13121, 13127, 13147, 13151, 13159, 13163, 13171,
     200    13177, 13183, 13187, 13217, 13219, 13229, 13241, 13249, 13259,
     201    13267, 13291, 13297, 13309, 13313, 13327, 13331, 13337, 13339,
     202    13367, 13381, 13397, 13399, 13411, 13417, 13421, 13441, 13451,
     203    13457, 13463, 13469, 13477, 13487, 13499, 13513, 13523, 13537,
     204    13553, 13567, 13577, 13591, 13597, 13613, 13619, 13627, 13633,
     205    13649, 13669, 13679, 13681, 13687, 13691, 13693, 13697, 13709,
     206    13711, 13721, 13723, 13729, 13751, 13757, 13759, 13763, 13781,
     207    13789, 13799, 13807, 13829, 13831, 13841, 13859, 13873, 13877,
     208    13879, 13883, 13901, 13903, 13907, 13913, 13921, 13931, 13933,
     209    13963, 13967, 13997, 13999, 14009, 14011, 14029, 14033, 14051,
     210    14057, 14071, 14081, 14083, 14087, 14107, 14143, 14149, 14153,
     211    14159, 14173, 14177, 14197, 14207, 14221, 14243, 14249, 14251,
     212    14281, 14293, 14303, 14321, 14323, 14327, 14341, 14347, 14369,
     213    14387, 14389, 14401, 14407, 14411, 14419, 14423, 14431, 14437,
     214    14447, 14449, 14461, 14479, 14489, 14503, 14519, 14533, 14537,
     215    14543, 14549, 14551, 14557, 14561, 14563, 14591, 14593, 14621,
     216    14627, 14629, 14633, 14639, 14653, 14657, 14669, 14683, 14699,
     217    14713, 14717, 14723, 14731, 14737, 14741, 14747, 14753, 14759,
     218    14767, 14771, 14779, 14783, 14797, 14813, 14821, 14827, 14831,
     219    14843, 14851, 14867, 14869, 14879, 14887, 14891, 14897, 14923,
     220    14929, 14939, 14947, 14951, 14957, 14969, 14983, 15013, 15017,
     221    15031, 15053, 15061, 15073, 15077, 15083, 15091, 15101, 15107,
     222    15121, 15131, 15137, 15139, 15149, 15161, 15173, 15187, 15193,
     223    15199, 15217, 15227, 15233, 15241, 15259, 15263, 15269, 15271,
     224    15277, 15287, 15289, 15299, 15307, 15313, 15319, 15329, 15331,
     225    15349, 15359, 15361, 15373, 15377, 15383, 15391, 15401, 15413,
     226    15427, 15439, 15443, 15451, 15461, 15467, 15473, 15493, 15497,
     227    15511, 15527, 15541, 15551, 15559, 15569, 15581, 15583, 15601,
     228    15607, 15619, 15629, 15641, 15643, 15647, 15649, 15661, 15667,
     229    15671, 15679, 15683, 15727, 15731, 15733, 15737, 15739, 15749,
     230    15761, 15767, 15773, 15787, 15791, 15797, 15803, 15809, 15817,
     231    15823, 15859, 15877, 15881, 15887, 15889, 15901, 15907, 15913,
     232    15919, 15923, 15937, 15959, 15971, 15973, 15991, 16001, 16007,
     233    16033, 16057, 16061, 16063, 16067, 16069, 16073, 16087, 16091,
     234    16097, 16103, 16111, 16127, 16139, 16141, 16183, 16187, 16189,
     235    16193, 16217, 16223, 16229, 16231, 16249, 16253, 16267, 16273,
     236    16301, 16319, 16333, 16339, 16349, 16361, 16363, 16369, 16381,
     237    16411, 16417, 16421, 16427, 16433, 16447, 16451, 16453, 16477,
     238    16481, 16487, 16493, 16519, 16529, 16547, 16553, 16561, 16567,
     239    16573, 16603, 16607, 16619, 16631, 16633, 16649, 16651, 16657,
     240    16661, 16673, 16691, 16693, 16699, 16703, 16729, 16741, 16747,
     241    16759, 16763, 16787, 16811, 16823, 16829, 16831, 16843, 16871,
     242    16879, 16883, 16889, 16901, 16903, 16921, 16927, 16931, 16937,
     243    16943, 16963, 16979, 16981, 16987, 16993, 17011, 17021, 17027,
     244    17029, 17033, 17041, 17047, 17053, 17077, 17093, 17099, 17107,
     245    17117, 17123, 17137, 17159, 17167, 17183, 17189, 17191, 17203,
     246    17207, 17209, 17231, 17239, 17257, 17291, 17293, 17299, 17317,
     247    17321, 17327, 17333, 17341, 17351, 17359, 17377, 17383, 17387,
     248    17389, 17393, 17401, 17417, 17419, 17431, 17443, 17449, 17467,
     249    17471, 17477, 17483, 17489, 17491, 17497, 17509, 17519, 17539,
     250    17551, 17569, 17573, 17579, 17581, 17597, 17599, 17609, 17623,
     251    17627, 17657, 17659, 17669, 17681, 17683, 17707, 17713, 17729,
     252    17737, 17747, 17749, 17761, 17783, 17789, 17791, 17807, 17827,
     253    17837, 17839, 17851, 17863, 17881, 17891, 17903, 17909, 17911,
     254    17921, 17923, 17929, 17939, 17957, 17959, 17971, 17977, 17981,
     255    17987, 17989, 18013, 18041, 18043, 18047, 18049, 18059, 18061,
     256    18077, 18089, 18097, 18119, 18121, 18127, 18131, 18133, 18143,
     257    18149, 18169, 18181, 18191, 18199, 18211, 18217, 18223, 18229,
     258    18233, 18251, 18253, 18257, 18269, 18287, 18289, 18301, 18307,
     259    18311, 18313, 18329, 18341, 18353, 18367, 18371, 18379, 18397,
     260    18401, 18413, 18427, 18433, 18439, 18443, 18451, 18457, 18461,
     261    18481, 18493, 18503, 18517, 18521, 18523, 18539, 18541, 18553,
     262    18583, 18587, 18593, 18617, 18637, 18661, 18671, 18679, 18691,
     263    18701, 18713, 18719, 18731, 18743, 18749, 18757, 18773, 18787,
     264    18793, 18797, 18803, 18839, 18859, 18869, 18899, 18911, 18913,
     265    18917, 18919, 18947, 18959, 18973, 18979, 19001, 19009, 19013,
     266    19031, 19037, 19051, 19069, 19073, 19079, 19081, 19087, 19121,
     267    19139, 19141, 19157, 19163, 19181, 19183, 19207, 19211, 19213,
     268    19219, 19231, 19237, 19249, 19259, 19267, 19273, 19289, 19301,
     269    19309, 19319, 19333, 19373, 19379, 19381, 19387, 19391, 19403,
     270    19417, 19421, 19423, 19427, 19429, 19433, 19441, 19447, 19457,
     271    19463, 19469, 19471, 19477, 19483, 19489, 19501, 19507, 19531,
     272    19541, 19543, 19553, 19559, 19571, 19577, 19583, 19597, 19603,
     273    19609, 19661, 19681, 19687, 19697, 19699, 19709, 19717, 19727,
     274    19739, 19751, 19753, 19759, 19763, 19777, 19793, 19801, 19813,
     275    19819, 19841, 19843, 19853, 19861, 19867, 19889, 19891, 19913,
     276    19919, 19927, 19937, 19949, 19961, 19963, 19973, 19979, 19991,
     277    19993, 19997, 20011, 20021, 20023, 20029, 20047, 20051, 20063,
     278    20071, 20089, 20101, 20107, 20113, 20117, 20123, 20129, 20143,
     279    20147, 20149, 20161, 20173, 20177, 20183, 20201, 20219, 20231,
     280    20233, 20249, 20261, 20269, 20287, 20297, 20323, 20327, 20333,
     281    20341, 20347, 20353, 20357, 20359, 20369, 20389, 20393, 20399,
     282    20407, 20411, 20431, 20441, 20443, 20477, 20479, 20483, 20507,
     283    20509, 20521, 20533, 20543, 20549, 20551, 20563, 20593, 20599,
     284    20611, 20627, 20639, 20641, 20663, 20681, 20693, 20707, 20717,
     285    20719, 20731, 20743, 20747, 20749, 20753, 20759, 20771, 20773,
     286    20789, 20807, 20809, 20849, 20857, 20873, 20879, 20887, 20897,
     287    20899, 20903, 20921, 20929, 20939, 20947, 20959, 20963, 20981,
     288    20983, 21001, 21011, 21013, 21017, 21019, 21023, 21031, 21059,
     289    21061, 21067, 21089, 21101, 21107, 21121, 21139, 21143, 21149,
     290    21157, 21163, 21169, 21179, 21187, 21191, 21193, 21211, 21221,
     291    21227, 21247, 21269, 21277, 21283, 21313, 21317, 21319, 21323,
     292    21341, 21347, 21377, 21379, 21383, 21391, 21397, 21401, 21407,
     293    21419, 21433, 21467, 21481, 21487, 21491, 21493, 21499, 21503,
     294    21517, 21521, 21523, 21529, 21557, 21559, 21563, 21569, 21577,
     295    21587, 21589, 21599, 21601, 21611, 21613, 21617, 21647, 21649,
     296    21661, 21673, 21683, 21701, 21713, 21727, 21737, 21739, 21751,
     297    21757, 21767, 21773, 21787, 21799, 21803, 21817, 21821, 21839,
     298    21841, 21851, 21859, 21863, 21871, 21881, 21893, 21911, 21929,
     299    21937, 21943, 21961, 21977, 21991, 21997, 22003, 22013, 22027,
     300    22031, 22037, 22039, 22051, 22063, 22067, 22073, 22079, 22091,
     301    22093, 22109, 22111, 22123, 22129, 22133, 22147, 22153, 22157,
     302    22159, 22171, 22189, 22193, 22229, 22247, 22259, 22271, 22273,
     303    22277, 22279, 22283, 22291, 22303, 22307, 22343, 22349, 22367,
     304    22369, 22381, 22391, 22397, 22409, 22433, 22441, 22447, 22453,
     305    22469, 22481, 22483, 22501, 22511, 22531, 22541, 22543, 22549,
     306    22567, 22571, 22573, 22613, 22619, 22621, 22637, 22639, 22643,
     307    22651, 22669, 22679, 22691, 22697, 22699, 22709, 22717, 22721,
     308    22727, 22739, 22741, 22751, 22769, 22777, 22783, 22787, 22807,
     309    22811, 22817, 22853, 22859, 22861, 22871, 22877, 22901, 22907,
     310    22921, 22937, 22943, 22961, 22963, 22973, 22993, 23003, 23011,
     311    23017, 23021, 23027, 23029, 23039, 23041, 23053, 23057, 23059,
     312    23063, 23071, 23081, 23087, 23099, 23117, 23131, 23143, 23159,
     313    23167, 23173, 23189, 23197, 23201, 23203, 23209, 23227, 23251,
     314    23269, 23279, 23291, 23293, 23297, 23311, 23321, 23327, 23333,
     315    23339, 23357, 23369, 23371, 23399, 23417, 23431, 23447, 23459,
     316    23473, 23497, 23509, 23531, 23537, 23539, 23549, 23557, 23561,
     317    23563, 23567, 23581, 23593, 23599, 23603, 23609, 23623, 23627,
     318    23629, 23633, 23663, 23669, 23671, 23677, 23687, 23689, 23719,
     319    23741, 23743, 23747, 23753, 23761, 23767, 23773, 23789, 23801,
     320    23813, 23819, 23827, 23831, 23833, 23857, 23869, 23873, 23879,
     321    23887, 23893, 23899, 23909, 23911, 23917, 23929, 23957, 23971,
     322    23977, 23981, 23993, 24001, 24007, 24019, 24023, 24029, 24043,
     323    24049, 24061, 24071, 24077, 24083, 24091, 24097, 24103, 24107,
     324    24109, 24113, 24121, 24133, 24137, 24151, 24169, 24179, 24181,
     325    24197, 24203, 24223, 24229, 24239, 24247, 24251, 24281, 24317,
     326    24329, 24337, 24359, 24371, 24373, 24379, 24391, 24407, 24413,
     327    24419, 24421, 24439, 24443, 24469, 24473, 24481, 24499, 24509,
     328    24517, 24527, 24533, 24547, 24551, 24571, 24593, 24611, 24623,
     329    24631, 24659, 24671, 24677, 24683, 24691, 24697, 24709, 24733,
     330    24749, 24763, 24767, 24781, 24793, 24799, 24809, 24821, 24841,
     331    24847, 24851, 24859, 24877, 24889, 24907, 24917, 24919, 24923,
     332    24943, 24953, 24967, 24971, 24977, 24979, 24989, 25013, 25031,
     333    25033, 25037, 25057, 25073, 25087, 25097, 25111, 25117, 25121,
     334    25127, 25147, 25153, 25163, 25169, 25171, 25183, 25189, 25219,
     335    25229, 25237, 25243, 25247, 25253, 25261, 25301, 25303, 25307,
     336    25309, 25321, 25339, 25343, 25349, 25357, 25367, 25373, 25391,
     337    25409, 25411, 25423, 25439, 25447, 25453, 25457, 25463, 25469,
     338    25471, 25523, 25537, 25541, 25561, 25577, 25579, 25583, 25589,
     339    25601, 25603, 25609, 25621, 25633, 25639, 25643, 25657, 25667,
     340    25673, 25679, 25693, 25703, 25717, 25733, 25741, 25747, 25759,
     341    25763, 25771, 25793, 25799, 25801, 25819, 25841, 25847, 25849,
     342    25867, 25873, 25889, 25903, 25913, 25919, 25931, 25933, 25939,
     343    25943, 25951, 25969, 25981, 25997, 25999, 26003, 26017, 26021,
     344    26029, 26041, 26053, 26083, 26099, 26107, 26111, 26113, 26119,
     345    26141, 26153, 26161, 26171, 26177, 26183, 26189, 26203, 26209,
     346    26227, 26237, 26249, 26251, 26261, 26263, 26267, 26293, 26297,
     347    26309, 26317, 26321, 26339, 26347, 26357, 26371, 26387, 26393,
     348    26399, 26407, 26417, 26423, 26431, 26437, 26449, 26459, 26479,
     349    26489, 26497, 26501, 26513, 26539, 26557, 26561, 26573, 26591,
     350    26597, 26627, 26633, 26641, 26647, 26669, 26681, 26683, 26687,
     351    26693, 26699, 26701, 26711, 26713, 26717, 26723, 26729, 26731,
     352    26737, 26759, 26777, 26783, 26801, 26813, 26821, 26833, 26839,
     353    26849, 26861, 26863, 26879, 26881, 26891, 26893, 26903, 26921,
     354    26927, 26947, 26951, 26953, 26959, 26981, 26987, 26993, 27011,
     355    27017, 27031, 27043, 27059, 27061, 27067, 27073, 27077, 27091,
     356    27103, 27107, 27109, 27127, 27143, 27179, 27191, 27197, 27211,
     357    27239, 27241, 27253, 27259, 27271, 27277, 27281, 27283, 27299,
     358    27329, 27337, 27361, 27367, 27397, 27407, 27409, 27427, 27431,
     359    27437, 27449, 27457, 27479, 27481, 27487, 27509, 27527, 27529,
     360    27539, 27541, 27551, 27581, 27583, 27611, 27617, 27631, 27647,
     361    27653, 27673, 27689, 27691, 27697, 27701, 27733, 27737, 27739,
     362    27743, 27749, 27751, 27763, 27767, 27773, 27779, 27791, 27793,
     363    27799, 27803, 27809, 27817, 27823, 27827, 27847, 27851, 27883,
     364    27893, 27901, 27917, 27919, 27941, 27943, 27947, 27953, 27961,
     365    27967, 27983, 27997, 28001, 28019, 28027, 28031, 28051, 28057,
     366    28069, 28081, 28087, 28097, 28099, 28109, 28111, 28123, 28151,
     367    28163, 28181, 28183, 28201, 28211, 28219, 28229, 28277, 28279,
     368    28283, 28289, 28297, 28307, 28309, 28319, 28349, 28351, 28387,
     369    28393, 28403, 28409, 28411, 28429, 28433, 28439, 28447, 28463,
     370    28477, 28493, 28499, 28513, 28517, 28537, 28541, 28547, 28549,
     371    28559, 28571, 28573, 28579, 28591, 28597, 28603, 28607, 28619,
     372    28621, 28627, 28631, 28643, 28649, 28657, 28661, 28663, 28669,
     373    28687, 28697, 28703, 28711, 28723, 28729, 28751, 28753, 28759,
     374    28771, 28789, 28793, 28807, 28813, 28817, 28837, 28843, 28859,
     375    28867, 28871, 28879, 28901, 28909, 28921, 28927, 28933, 28949,
     376    28961, 28979, 29009, 29017, 29021, 29023, 29027, 29033, 29059,
     377    29063, 29077, 29101, 29123, 29129, 29131, 29137, 29147, 29153,
     378    29167, 29173, 29179, 29191, 29201, 29207, 29209, 29221, 29231,
     379    29243, 29251, 29269, 29287, 29297, 29303, 29311, 29327, 29333,
     380    29339, 29347, 29363, 29383, 29387, 29389, 29399, 29401, 29411,
     381    29423, 29429, 29437, 29443, 29453, 29473, 29483, 29501, 29527,
     382    29531, 29537, 29567, 29569, 29573, 29581, 29587, 29599, 29611,
     383    29629, 29633, 29641, 29663, 29669, 29671, 29683, 29717, 29723,
     384    29741, 29753, 29759, 29761, 29789, 29803, 29819, 29833, 29837,
     385    29851, 29863, 29867, 29873, 29879, 29881, 29917, 29921, 29927,
     386    29947, 29959, 29983, 29989, 30011, 30013, 30029, 30047, 30059,
     387    30071, 30089, 30091, 30097, 30103, 30109, 30113, 30119, 30133,
     388    30137, 30139, 30161, 30169, 30181, 30187, 30197, 30203, 30211,
     389    30223, 30241, 30253, 30259, 30269, 30271, 30293, 30307, 30313,
     390    30319, 30323, 30341, 30347, 30367, 30389, 30391, 30403, 30427,
     391    30431, 30449, 30467, 30469, 30491, 30493, 30497, 30509, 30517,
     392    30529, 30539, 30553, 30557, 30559, 30577, 30593, 30631, 30637,
     393    30643, 30649, 30661, 30671, 30677, 30689, 30697, 30703, 30707,
     394    30713, 30727, 30757, 30763, 30773, 30781, 30803, 30809, 30817,
     395    30829, 30839, 30841, 30851, 30853, 30859, 30869, 30871, 30881,
     396    30893, 30911, 30931, 30937, 30941, 30949, 30971, 30977, 30983,
     397    31013, 31019, 31033, 31039, 31051, 31063, 31069, 31079, 31081,
     398    31091, 31121, 31123, 31139, 31147, 31151, 31153, 31159, 31177,
     399    31181, 31183, 31189, 31193, 31219, 31223, 31231, 31237, 31247,
     400    31249, 31253, 31259, 31267, 31271, 31277, 31307, 31319, 31321,
     401    31327, 31333, 31337, 31357, 31379, 31387, 31391, 31393, 31397,
     402    31469, 31477, 31481, 31489, 31511, 31513, 31517, 31531, 31541,
     403    31543, 31547, 31567, 31573, 31583, 31601, 31607, 31627, 31643,
     404    31649, 31657, 31663, 31667, 31687, 31699, 31721, 31723, 31727,
     405    31729, 31741, 31751, 31769, 31771, 31793, 31799, 31817, 31847,
     406    31849, 31859, 31873, 31883, 31891, 31907, 31957, 31963, 31973,
     407    31981, 31991, 32003, 32009, 32027, 32029, 32051, 32057, 32059,
     408    32063, 32069, 32077, 32083, 32089, 32099, 32117, 32119, 32141,
     409    32143, 32159, 32173, 32183, 32189, 32191, 32203, 32213, 32233,
     410    32237, 32251, 32257, 32261, 32297, 32299, 32303, 32309, 32321,
     411    32323, 32327, 32341, 32353, 32359, 32363, 32369, 32371, 32377,
     412    32381, 32401, 32411, 32413, 32423, 32429, 32441, 32443, 32467,
     413    32479, 32491, 32497, 32503, 32507, 32531, 32533, 32537, 32561,
     414    32563, 32569, 32573, 32579, 32587, 32603, 32609, 32611, 32621,
     415    32633, 32647, 32653, 32687, 32693, 32707, 32713, 32717, 32719,
     416    32749, 0 };
     417
     418static const int bigprimes [] = {
     419    100000007, 100000037, 100000039, 100000049, 100000073, 100000081, 100000123,
     420    100000127, 100000193, 100000213, 100000217, 100000223, 100000231, 100000237,
     421    100000259, 100000267, 100000279, 100000357, 100000379, 100000393, 100000399,
     422    100000421, 100000429, 100000463, 100000469, 100000471, 100000493, 100000541,
     423    100000543, 100000561, 100000567, 100000577, 100000609, 100000627, 100000643,
     424    100000651, 100000661, 100000669, 100000673, 100000687, 100000717, 100000721,
     425    100000793, 100000799, 100000801, 100000837, 100000841, 100000853, 100000891,
     426    100000921, 100000937, 100000939, 100000963, 100000969, 100001029, 100001053,
     427    100001059, 100001081, 100001087, 100001107, 100001119, 100001131, 100001147,
     428    100001159, 100001177, 100001183, 100001203, 100001207, 100001219, 100001227,
     429    100001303, 100001329, 100001333, 100001347, 100001357, 100001399, 100001431,
     430    100001449, 100001467, 100001507, 100001533, 100001537, 100001569, 100001581,
     431    100001591, 100001611, 100001623, 100001651, 100001653, 100001687, 100001689,
     432    100001719, 100001761, 100001767, 100001777, 100001791, 100001801, 100001809,
     433    100001813, 100001819, 100001821, 100001827, 100001843, 100001887, 100001893,
     434    100001903, 100001927, 100001929, 100001983, 100001987, 100002011, 100002013,
     435    100002017, 100002031, 100002037, 100002059, 100002103, 100002113, 100002127,
     436    100002139, 100002163, 100002167, 100002169, 100002173, 100002181, 100002223,
     437    100002233, 100002251, 100002271, 100002283, 100002289, 100002337, 100002349,
     438    100002389, 100002421, 100002431, 100002437, 100002493, 100002499, 100002503,
     439    100002509, 100002541, 100002569, 100002571, 100002589, 100002593, 100002611,
     440    100002613, 100002629, 100002641, 100002647, 100002671, 100002673, 100002677,
     441    100002737, 100002751, 100002769, 100002797, 100002839, 100002863, 100002899,
     442    100002937, 100002941, 100002943, 100002961, 100002967, 100002979, 100003021,
     443    100003037, 100003063, 100003091, 100003151, 100003153, 100003157, 100003181,
     444    100003219, 100003243, 100003247, 100003259, 100003273, 100003279, 100003283,
     445    100003291, 100003301, 100003313, 100003331, 100003349, 100003361, 100003381,
     446    100003417, 100003447, 100003481, 100003499, 100003549, 100003559, 100003573,
     447    100003601, 100003619, 100003621, 100003679, 100003691, 100003699, 100003703,
     448    100003721, 100003753, 100003759, 100003763, 100003777, 100003789, 100003801,
     449    100003807, 100003811, 100003823, 100003829, 100003831, 100003867, 100003873,
     450    100003901, 100003913, 100003927, 100003957, 100003963, 100004017, 100004027,
     451    100004029, 100004041, 100004059, 100004089, 100004119, 100004137, 100004141,
     452    100004143, 100004153, 100004159, 100004167, 100004189, 100004243, 100004263,
     453    100004287, 100004291, 100004309, 100004327, 100004347, 100004363, 100004389,
     454    100004393, 100004407, 100004417, 100004449, 100004461, 100004473, 100004477,
     455    100004501, 100004503, 100004507, 100004519, 100004521, 100004533, 100004537,
     456    100004549, 100004551, 100004561, 100004563, 100004629, 100004647, 100004651,
     457    100004677, 100004719, 100004741, 100004813, 100004819, 100004831, 100004833,
     458    100004857, 100004881, 100004893, 100004909, 100004929, 100004981, 100005001,
     459    100005023, 100005029, 100005041, 100005083, 100005091, 100005097, 100005107,
     460    100005121, 100005131, 100005149, 100005193, 100005197, 100005239, 100005259,
     461    100005263, 100005281, 100005307, 100005313, 100005317, 100005319, 100005343,
     462    100005377, 100005383, 100005391, 100005397, 100005421, 100005431, 100005439,
     463    100005443, 100005457, 100005461, 100005463, 100005467, 100005469, 100005523,
     464    100005527, 100005533, 100005539, 100005551, 100005583, 100005599, 100005617,
     465    100005623, 100005637, 100005641, 100005667, 100005673, 100005727, 100005743,
     466    100005749, 100005757, 100005809, 100005821, 100005853, 100005877, 100005889,
     467    100005923, 100005943, 100005973, 100005991, 100006033, 100006037, 100006043,
     468    100006061, 100006091, 100006097, 100006103, 100006111, 100006117, 100006129,
     469    100006133, 100006157, 100006169, 100006187, 100006199, 100006211, 100006213,
     470    100006229, 100006237, 100006241, 100006273, 100006327, 100006343, 100006381,
     471    100006391, 100006397, 100006457, 100006477, 100006483, 100006493, 100006547,
     472    100006549, 100006561, 100006567, 100006583, 100006607, 100006609, 100006637,
     473    100006639, 100006661, 100006693, 100006721, 100006729, 100006757, 100006759,
     474    100006769, 100006771, 100006787, 100006789, 100006799, 100006817, 100006891,
     475    100006901, 100006927, 100006939, 100006957, 100006981, 100007009, 100007071,
     476    100007093, 100007099, 100007101, 100007111, 100007119, 100007137, 100007143,
     477    100007177, 100007179, 100007191, 100007213, 100007221, 100007227, 100007231,
     478    100007233, 100007267, 100007329, 100007351, 100007353, 100007359, 100007363,
     479    100007377, 100007407, 100007423, 100007461, 100007489, 100007503, 100007527,
     480    100007543, 100007563, 100007623, 100007647, 100007701, 100007741, 100007797,
     481    100007807, 100007813, 100007819, 100007833, 100007839, 100007851, 100007857,
     482    100007861, 100007879, 100007893, 100007903, 100007909, 100007911, 100007927,
     483    100007939, 100007951, 100007983, 100007987, 100007989, 100008023, 100008043,
     484    100008091, 100008109, 100008113, 100008119, 100008133, 100008169, 100008199,
     485    100008217, 100008221, 100008241, 100008247, 100008253, 100008313, 100008317,
     486    100008319, 100008323, 100008367, 100008371, 100008397, 100008401, 100008409,
     487    100008427, 100008479, 100008589, 100008593, 100008611, 100008619, 100008653,
     488    100008661, 100008673, 100008703, 100008737, 100008749, 100008757, 100008763,
     489    100008781, 100008787, 100008803, 100008851, 100008863, 100008869, 100008871,
     490    100008889, 100008893, 100008929, 100009009, 100009043, 100009057, 100009067,
     491    100009093, 100009097, 100009153, 100009201, 100009213, 100009243, 100009297,
     492    100009303, 100009309, 100009321, 100009337, 100009361, 100009363, 100009387,
     493    100009391, 100009421, 100009433, 100009477, 100009499, 100009501, 100009517,
     494    100009549, 100009573, 100009607, 100009621, 100009649, 100009669, 100009699,
     495    100009703, 100009729, 100009733, 100009739, 100009747, 100009753, 100009757,
     496    100009769, 100009817, 100009823, 100009831, 100009837, 100009841, 100009849,
     497    100009883, 100009913, 100009933, 100009969, 100009979, 100010017, 100010021,
     498    100010023, 100010033, 100010039, 100010047, 100010051, 100010059, 100010077,
     499    100010107, 100010143, 100010161, 100010173, 100010177, 100010179, 100010189,
     500    100010191, 100010203, 100010227, 100010231, 100010237, 100010257, 100010263,
     501    100010321, 100010327, 100010329, 100010347, 100010353, 100010359, 100010401,
     502    100010419, 100010423, 100010437, 100010441, 100010461, 100010489, 100010497,
     503    100010527, 100010539, 100010549, 100010551, 100010567, 100010597, 100010621,
     504    100010627, 100010633, 100010663, 100010683, 100010717, 100010731, 100010749,
     505    100010759, 100010777, 100010791, 100010843, 100010857, 100010861, 100010887,
     506    100010951, 100010957, 100010993, 100011029, 100011031, 100011047, 100011073,
     507    100011089, 100011091, 100011113, 100011137, 100011161, 100011167, 100011181,
     508    100011203, 100011217, 100011271, 100011277, 100011287, 100011349, 100011361,
     509    100011397, 100011413, 100011419, 100011437, 100011449, 100011451, 100011467,
     510    100011469, 100011479, 100011491, 100011547, 100011599, 100011619, 100011623,
     511    100011643, 100011677, 100011683, 100011713, 100011727, 100011733, 100011739,
     512    100011761, 100011767, 100011787, 100011811, 100011829, 100011841, 100011853,
     513    100011869, 100011871, 100011907, 100011913, 100011931, 100011943, 100011959,
     514    100011973, 100011979, 100012019, 100012049, 100012057, 100012063, 100012069,
     515    100012103, 100012111, 100012153, 100012163, 100012189, 100012217, 100012223,
     516    100012247, 100012259, 100012267, 100012273, 100012277, 100012291, 100012301,
     517    100012337, 100012351, 100012379, 100012391, 100012397, 100012421, 100012457,
     518    100012463, 100012469, 100012481, 100012519, 100012543, 100012573, 100012589,
     519    100012597, 100012607, 100012609, 100012621, 100012651, 100012667, 100012669,
     520    100012673, 100012681, 100012697, 100012721, 100012753, 100012777, 100012799,
     521    100012807, 100012837, 100012859, 100012873, 100012889, 100012919, 100012931,
     522    100012951, 100012963, 100012987, 100013021, 100013027, 100013071, 100013087,
     523    100013113, 100013143, 100013149, 100013167, 100013197, 100013213, 100013237,
     524    100013273, 100013281, 100013293, 100013297, 100013311, 100013327, 100013341,
     525    100013351, 100013357, 100013371, 100013387, 100013443, 100013449, 100013467,
     526    100013477, 100013497, 100013519, 100013527, 100013531, 100013561, 100013579,
     527    100013593, 100013611, 100013623, 100013633, 100013707, 100013741, 100013747,
     528    100013759, 100013761, 100013803, 100013827, 100013861, 100013899, 100013911,
     529    100013987, 100013989, 100013999, 100014037, 100014041, 100014053, 100014059,
     530    100014067, 100014193, 100014203, 100014209, 100014227, 100014251, 100014287,
     531    100014289, 100014311, 100014331, 100014353, 100014361, 100014389, 100014391,
     532    100014403, 100014407, 100014413, 100014427, 100014433, 100014437, 100014479,
     533    100014493, 100014547, 100014559, 100014583, 100014643, 100014653, 100014683,
     534    100014697, 100014709, 100014743, 100014829, 100014839, 100014847, 100014877,
     535    100014911, 100014923, 100014977, 100014983, 100015009, 100015039, 100015043,
     536    100015079, 100015099, 100015129, 100015133, 100015141, 100015159, 100015169,
     537    100015177, 100015189, 100015213, 100015219, 100015231, 100015273, 100015309,
     538    100015367, 100015379, 100015387, 100015427, 100015429, 100015469, 100015493,
     539    100015537, 100015543, 100015547, 100015567, 100015583, 100015589, 100015613,
     540    100015627, 100015631, 100015673, 100015681, 100015691, 100015739, 100015757,
     541    100015759, 100015763, 100015787, 100015793, 100015801, 100015819, 100015831,
     542    100015837, 100015841, 100015873, 100015897, 100015901, 100015939, 100015963,
     543    100015969, 100015991, 100016009, 100016023, 100016039, 100016051, 100016087,
     544    100016107, 100016123, 100016129, 100016131, 100016177, 100016201, 100016207,
     545    100016227, 100016233, 100016239, 100016249, 100016263, 100016299, 100016339,
     546    100016359, 100016369, 100016377, 100016381, 100016383, 100016407, 100016417,
     547    100016419, 100016453, 100016473, 100016479, 100016531, 100016537, 100016561,
     548    100016569, 100016573, 100016597, 100016599, 100016641, 100016659, 100016669,
     549    100016677, 100016689, 100016717, 100016747, 100016771, 100016773, 100016783,
     550    100016821, 100016849, 100016869, 100016879, 100016887, 100016921, 100016927,
     551    100016941, 100016993, 100017013, 100017037, 100017053, 100017077, 100017079,
     552    100017119, 100017149, 100017167, 100017193, 100017217, 100017263, 100017283,
     553    100017319, 100017329, 100017403, 100017431, 100017473, 100017493, 100017499,
     554    100017517, 100017553, 100017557, 100017559, 100017569, 100017571, 100017581,
     555    100017641, 100017661, 100017677, 100017683, 100017689, 100017733, 100017761,
     556    100017763, 100017791, 100017793, 100017829, 100017847, 100017887, 100017947,
     557    100017959, 100017971, 100017989, 100018001, 100018003, 100018019, 100018031,
     558    100018057, 100018081, 100018091, 100018097, 100018151, 100018189, 100018199,
     559    100018213, 100018231, 100018273, 100018277, 100018313, 100018319, 100018351,
     560    100018379, 100018409, 100018411, 100018417, 100018433, 100018441, 100018547,
     561    100018561, 100018573, 100018591, 100018613, 100018619, 100018621, 100018627,
     562    100018643, 100018663, 100018669, 100018691, 100018693, 100018703, 100018729,
     563    100018753, 100018757, 100018771, 100018777, 100018781, 100018799, 100018801,
     564    100018811, 100018813, 100018829, 100018843, 100018879, 100018909, 100018913,
     565    100018921, 100018951, 100018957, 100018981, 100018993, 100019011, 100019039,
     566    100019047, 100019069, 100019089, 100019093, 100019099, 100019107, 100019119,
     567    100019137, 100019159, 100019167, 100019197, 100019201, 100019207, 100019221,
     568    100019261, 100019317, 100019323, 100019329, 100019393, 100019407, 100019429,
     569    100019441, 100019467, 100019471, 100019501, 100019503, 100019527, 100019567,
     570    100019587, 100019597, 100019603, 100019657, 100019659, 100019669, 100019681,
     571    100019683, 100019693, 100019701, 100019729, 100019749, 100019761, 100019837,
     572    100019839, 100019863, 100019873, 100019879, 100019911, 100019921, 100019923,
     573    100019929, 100019947, 100019977, 100020023, 100020103, 100020113, 100020121,
     574    100020131, 100020133, 100020149, 100020191, 100020233, 100020251, 100020257,
     575    100020269, 100020331, 100020337, 100020343, 100020379, 100020383, 100020413,
     576    100020457, 100020463, 100020467, 100020493, 100020499, 100020511, 100020521,
     577    100020523, 100020533, 100020551, 100020619, 100020637, 100020649, 100020667,
     578    100020703, 100020733, 100020737, 100020743, 100020761, 100020773, 100020793,
     579    100020799, 100020803, 100020821, 100020829, 100020839, 100020863, 100020887,
     580    100020889, 100020917, 100020919, 100020923, 100020929, 100021003, 100021039,
     581    100021091, 100021093, 100021121, 100021127, 100021133, 100021153, 100021157,
     582    100021177, 100021199, 100021223, 100021231, 100021237, 100021277, 100021279,
     583    100021289, 100021297, 100021303, 100021307, 100021309, 100021331, 100021333,
     584    100021351, 100021367, 100021373, 100021379, 100021393, 100021399, 100021409,
     585    100021429, 100021447, 100021451, 100021459, 100021487, 100021583, 100021589,
     586    100021627, 100021631, 100021657, 100021661, 100021679, 100021699, 100021711,
     587    100021721, 100021729, 100021751, 100021777, 100021843, 100021847, 100021861,
     588    100021877, 100021879, 100021973, 100021981, 100021993, 100022003, 100022029,
     589    100022071, 100022093, 100022107, 100022113, 100022123, 100022129, 100022141,
     590    100022149, 100022201, 100022227, 100022233, 100022303, 100022309, 100022311,
     591    100022323, 100022341, 100022347, 100022369, 100022389, 100022401, 100022431,
     592    100022437, 100022449, 100022459, 100022477, 100022497, 100022513, 100022519,
     593    100022521, 100022569, 100022603, 100022639, 100022677, 100022683, 100022701,
     594    100022731, 100022743, 100022753, 100022777, 100022789, 100022861, 100022863,
     595    100022899, 100022933, 100022947, 100022963, 100022969, 100022971, 100022977,
     596    100023013, 100023017, 100023029, 100023037, 100023043, 100023101, 100023109,
     597    100023127, 100023139, 100023221, 100023269, 100023271, 100023283, 100023293,
     598    100023299, 100023311, 100023317, 100023323, 100023331, 100023337, 100023367,
     599    100023377, 100023397, 100023449, 100023479, 100023487, 100023499, 100023533,
     600    100023607, 100023611, 100023643, 100023659, 100023673, 100023683, 100023689,
     601    100023731, 100023761, 100023779, 100023787, 100023793, 100023799, 100023817,
     602    100023841, 100023857, 100023893, 100023899, 100023953, 100023991, 100023997,
     603    100024007, 100024027, 100024031, 100024049, 100024069, 100024081, 100024087,
     604    100024121, 100024123, 100024139, 100024157, 100024159, 100024181, 100024187,
     605    100024193, 100024207, 100024241, 100024247, 100024271, 100024279, 100024313,
     606    100024333, 100024343, 100024361, 100024387, 100024391, 100024429, 100024453,
     607    100024499, 100024511, 100024513, 100024523, 100024541, 100024577, 100024609,
     608    100024627, 100024649, 100024669, 100024679, 100024709, 100024739, 100024747,
     609    100024781, 100024843, 100024849, 100024853, 100024891, 100024921, 100024927,
     610    100024931, 100024963, 100024993, 100025017, 100025027, 100025033, 100025069,
     611    100025087, 100025099, 100025141, 100025143, 100025153, 100025173, 100025201,
     612    100025239, 100025243, 100025273, 100025293, 100025323, 100025347, 100025351,
     613    100025369, 100025381, 100025383, 100025411, 100025423, 100025441, 100025479,
     614    100025521, 100025533, 100025537, 100025539, 100025567, 100025579, 100025593,
     615    100025599, 100025617, 100025621, 100025641, 100025663, 100025683, 100025693,
     616    100025701, 100025719, 100025741, 100025743, 100025789, 100025797, 100025801,
     617    100025803, 100025813, 100025833, 100025839, 100025879, 100025897, 100025923,
     618    100025941, 100025951, 100025963, 100025969, 100025983, 100025993, 100026023,
     619    100026053, 100026107, 100026151, 100026161, 100026167, 100026169, 100026197,
     620    100026221, 100026239, 100026247, 100026253, 100026257, 100026301, 100026323,
     621    100026337, 100026341, 100026383, 100026389, 100026401, 100026413, 100026457,
     622    100026473, 100026499, 100026523, 100026533, 100026547, 100026551, 100026569,
     623    100026581, 100026587, 100026631, 100026637, 100026671, 100026673, 100026679,
     624    100026709, 100026749, 100026761, 100026781, 100026791, 100026803, 100026853,
     625    100026881, 100026893, 100026907, 100026919, 100026937, 100026959, 100026991,
     626    100027033, 100027051, 100027063, 100027091, 100027097, 100027117, 100027121,
     627    100027163, 100027171, 100027183, 100027217, 100027231, 100027247, 100027309,
     628    100027339, 100027349, 100027357, 100027363, 100027397, 100027453, 100027463,
     629    100027469, 100027481, 100027493, 100027511, 100027513, 100027517, 100027537,
     630    100027553, 100027573, 100027591, 100027649, 100027657, 100027663, 100027679,
     631    100027691, 100027693, 100027789, 100027819, 100027831, 100027841, 100027927,
     632    100027957, 100028009, 100028011, 100028023, 100028039, 100028053, 100028059,
     633    100028087, 100028099, 100028147, 100028161, 100028167, 100028207, 100028209,
     634    100028213, 100028239, 100028251, 100028261, 100028281, 100028297, 100028309,
     635    100028317, 100028321, 100028329, 100028359, 100028371, 100028377, 100028381,
     636    100028389, 100028393, 100028441, 100028443, 100028447, 100028477, 100028497,
     637    100028503, 100028507, 100028573, 100028603, 100028609, 100028611, 100028623,
     638    100028639, 100028641, 100028647, 100028653, 100028689, 100028701, 100028713,
     639    100028729, 100028741, 100028767, 100028779, 100028783, 100028813, 100028839,
     640    100028899, 100028911, 100028927, 100028933, 100028941, 100028963, 100028993,
     641    100029011, 100029023, 100029029, 100029031, 100029067, 100029077, 100029101,
     642    100029109, 100029121, 100029133, 100029169, 100029187, 100029197, 100029211,
     643    100029221, 100029227, 100029229, 100029239, 100029263, 100029287, 100029329,
     644    100029331, 100029337, 100029353, 100029379, 100029383, 100029401, 100029427,
     645    100029431, 100029443, 100029451, 100029473, 100029487, 100029499, 100029541,
     646    100029571, 100029577, 100029607, 100029617, 100029619, 100029641, 100029659,
     647    100029673, 100029679, 100029689, 100029697, 100029703, 100029707, 100029731,
     648    100029749, 100029763, 100029767, 100029823, 100029847, 100029869, 100029871,
     649    100029877, 100029883, 100029893, 100029931, 100029949, 100029971, 100029977,
     650    100029991, 100030001, 100030043, 100030067, 100030069, 100030081, 100030109,
     651    100030121, 100030123, 100030141, 100030171, 100030181, 100030187, 100030213,
     652    100030219, 100030223, 100030253, 100030279, 100030291, 100030297, 100030313,
     653    100030319, 100030321, 100030327, 100030331, 100030339, 100030373, 100030387,
     654    100030453, 100030471, 100030481, 100030487, 100030507, 100030543, 100030559,
     655    100030561, 100030589, 100030591, 100030603, 100030627, 100030631, 100030633,
     656    100030643, 100030681, 100030709, 100030727, 100030741, 100030747, 100030753,
     657    100030781, 100030807, 100030837, 100030859, 100030871, 100030883, 100030891,
     658    100030897, 100030919, 100030937, 100030949, 100030969, 100031003, 100031011,
     659    100031039, 100031047, 100031051, 100031053, 100031059, 100031069, 100031083,
     660    100031089, 100031101, 100031159, 100031177, 100031189, 100031263, 100031293,
     661    100031297, 100031303, 100031377, 100031413, 100031419, 100031443, 100031467,
     662    100031471, 100031483, 100031501, 100031507, 100031537, 100031543, 100031563,
     663    100031567, 100031573, 100031579, 100031627, 100031671, 100031719, 100031741,
     664    100031747, 100031753, 100031773, 100031797, 100031801, 100031809, 100031819,
     665    100031821, 100031837, 100031843, 100031851, 100031861, 100031873, 100031879,
     666    100031891, 100031917, 100031957, 100031969, 100031989, 100032011, 100032019,
     667    100032059, 100032067, 100032073, 100032077, 100032103, 100032137, 100032143,
     668    100032161, 100032197, 100032209, 100032227, 100032263, 100032271, 100032277,
     669    100032287, 100032299, 100032307, 100032311, 100032329, 100032337, 100032343,
     670    100032371, 100032389, 100032391, 100032409, 100032419, 100032433, 100032469,
     671    100032551, 100032563, 100032599, 100032617, 100032623, 100032643, 100032659,
     672    100032763, 100032781, 100032791, 100032797, 100032817, 100032827, 100032847,
     673    100032869, 100032883, 100032887, 100032917, 100032949, 100032971, 100032973,
     674    100032979, 100032983, 100032991, 100032997, 100033009, 100033013, 100033027,
     675    100033057, 100033067, 100033069, 100033091, 100033099, 100033111, 100033133,
     676    100033147, 100033169, 100033217, 100033223, 100033231, 100033259, 100033273,
     677    100033319, 100033327, 100033369, 100033397, 100033411, 100033447, 100033469,
     678    100033477, 100033487, 100033517, 100033529, 100033543, 100033553, 100033561,
     679    100033567, 100033573, 100033603, 100033643, 100033663, 100033667, 100033669,
     680    100033691, 100033697, 100033699, 100033711, 100033721, 100033741, 100033753,
     681    100033771, 100033783, 100033793, 100033811, 100033823, 100033849, 100033853,
     682    100033873, 100033883, 100033889, 100033897, 100033919, 100034003, 100034029,
     683    100034059, 100034071, 100034111, 100034113, 100034119, 100034141, 100034147,
     684    100034159, 100034191, 100034203, 100034213, 100034237, 100034251, 100034261,
     685    100034281, 100034317, 100034357, 100034359, 100034371, 100034381, 100034393,
     686    100034399, 100034401, 100034413, 100034437, 100034507, 100034509, 100034533,
     687    100034549, 100034581, 100034603, 100034609, 100034633, 100034651, 100034689,
     688    100034731, 100034741, 100034761, 100034771, 100034789, 100034807, 100034821,
     689    100034849, 100034863, 100034873, 100034927, 100034929, 100034947, 100034959,
     690    100034969, 100034971, 100034983, 100035011, 100035037, 100035053, 100035083,
     691    100035097, 100035163, 100035167, 100035179, 100035193, 100035217, 100035241,
     692    100035253, 100035269, 100035281, 100035289, 100035301, 100035307, 100035319,
     693    100035337, 100035343, 100035359, 100035371, 100035389, 100035391, 100035401,
     694    100035427, 100035431, 100035443, 100035461, 100035473, 100035511, 100035527,
     695    100035563, 100035571, 100035581, 100035583, 100035631, 100035641, 100035653,
     696    100035697, 100035737, 100035811, 100035821, 100035841, 100035851, 100035863,
     697    100035869, 100035889, 100035899, 100035961, 100035979, 100035983, 100036021,
     698    100036033, 100036037, 100036073, 100036087, 100036099, 100036117, 100036129,
     699    100036133, 100036151, 100036169, 100036193, 100036217, 100036219, 100036229,
     700    100036253, 100036289, 100036291, 100036303, 100036309, 100036319, 100036327,
     701    100036337, 100036369, 100036379, 100036397, 100036421, 100036429, 100036439,
     702    100036451, 100036481, 100036511, 100036513, 100036529, 100036543, 100036553,
     703    100036579, 100036583, 100036609, 100036621, 100036639, 100036649, 100036661,
     704    100036667, 100036693, 100036697, 100036723, 100036733, 100036817, 100036819,
     705    100036861, 100036873, 100036879, 100036883, 100036927, 100036949, 100036967,
     706    100036987, 100036997, 100037029, 100037057, 100037081, 100037087, 100037099,
     707    100037177, 100037183, 100037207, 100037219, 100037237, 100037239, 100037293,
     708    100037339, 100037347, 100037351, 100037389, 100037407, 100037449, 100037453,
     709    100037459, 100037473, 100037477, 100037491, 100037533, 100037543, 100037549,
     710    100037563, 100037569, 100037579, 100037593, 100037611, 100037629, 100037647,
     711    100037669, 100037683, 100037687, 100037689, 100037699, 100037701, 100037711,
     712    100037759, 100037783, 100037797, 100037801, 100037803, 100037857, 100037881,
     713    100037887, 100037893, 100037921, 100037923, 100037929, 100037939, 100037947,
     714    100037957, 100037989, 100038007, 100038011, 100038041, 100038049, 100038053,
     715    100038067, 100038091, 100038101, 100038131, 100038163, 100038181, 100038193,
     716    100038199, 100038223, 100038229, 100038233, 100038241, 100038311, 100038329,
     717    100038409, 100038481, 100038509, 100038527, 100038539, 100038541, 100038551,
     718    100038559, 100038563, 100038577, 100038593, 100038619, 100038623, 100038637,
     719    100038649, 100038677, 100038691, 100038709, 100038737, 100038751, 100038797,
     720    100038817, 100038823, 100038833, 100038877, 100038919, 100038943, 100038949,
     721    100038959, 100038977, 100038989, 100038997, 100039003, 100039007, 100039019,
     722    100039031, 100039039, 100039073, 100039081, 100039097, 100039099, 100039111,
     723    100039117, 100039129, 100039133, 100039193, 100039211, 100039223, 100039307,
     724    100039309, 100039321, 100039333, 100039343, 100039363, 100039391, 100039393,
     725    100039399, 100039403, 100039409, 100039411, 100039417, 100039421, 100039477,
     726    100039481, 100039483, 100039487, 100039493, 100039523, 100039529, 100039571,
     727    100039609, 100039661, 100039669, 100039717, 100039721, 100039727, 100039739,
     728    100039799, 100039831, 100039837, 100039859, 100039861, 100039867, 100039889,
     729    100039943, 100039957, 100039969, 100039981, 100040011, 100040023, 100040051,
     730    100040063, 100040071, 100040081, 100040099, 100040113, 100040201, 100040233,
     731    100040249, 100040251, 100040279, 100040323, 100040327, 100040333, 100040351,
     732    100040371, 100040383, 100040389, 100040407, 100040417, 100040449, 100040467,
     733    100040471, 100040477, 100040483, 100040497, 100040509, 100040513, 100040519,
     734    100040531, 100040543, 100040561, 100040569, 100040599, 100040641, 100040653,
     735    100040669, 100040687, 100040713, 100040741, 100040789, 100040791, 100040911,
     736    100040929, 100040951, 100040953, 100040989, 100041031, 100041083, 100041127,
     737    100041143, 100041173, 100041187, 100041299, 100041307, 100041323, 100041367,
     738    100041391, 100041419, 100041437, 100041439, 100041449, 100041493, 100041509,
     739    100041527, 100041533, 100041551, 100041553, 100041569, 100041589, 100041649,
     740    100041659, 100041661, 100041679, 100041703, 100041727, 100041791, 100041797,
     741    100041811, 100041827, 100041839, 100041863, 100041913, 100041917, 100041941,
     742    100041947, 100041959, 100041961, 100041979, 100041983, 100042001, 100042003,
     743    100042031, 100042051, 100042057, 100042073, 100042079, 100042109, 100042121,
     744    100042147, 100042153, 100042183, 100042207, 100042237, 100042253, 100042259,
     745    100042279, 100042291, 100042303, 100042309, 100042333, 100042343, 100042409,
     746    100042417, 100042421, 100042447, 100042451, 100042493, 100042499, 100042513,
     747    100042531, 100042541, 100042559, 100042573, 100042577, 100042597, 100042601,
     748    100042633, 100042643, 100042667, 100042681, 100042687, 100042693, 100042697,
     749    100042699, 100042727, 100042729, 100042741, 100042757, 100042781, 100042843,
     750    100042871, 100042879, 100042883, 100042903, 100042927, 100042933, 100042979,
     751    100042991, 100043003, 100043029, 100043033, 100043039, 100043051, 100043059,
     752    100043093, 100043129, 100043131, 100043149, 100043159, 100043191, 100043201,
     753    100043221, 100043263, 100043267, 100043269, 100043297, 100043299, 100043311,
     754    100043347, 100043357, 100043371, 100043393, 100043423, 100043431, 100043483,
     755    100043497, 100043501, 100043509, 100043519, 100043539, 100043543, 100043549,
     756    100043551, 100043557, 100043561, 100043563, 100043611, 100043617, 100043627,
     757    100043633, 100043659, 100043681, 100043687, 100043689, 100043693, 100043711,
     758    100043719, 100043729, 100043737, 100043761, 100043771, 100043803, 100043809,
     759    100043849, 100043863, 100043887, 100043891, 100043897, 100043947, 100043959,
     760    100043981, 100043989, 100044001, 100044013, 100044023, 100044029, 100044047,
     761    100044053, 100044067, 100044071, 100044073, 100044079, 100044103, 100044137,
     762    100044157, 100044169, 100044193, 100044221, 100044281, 100044313, 100044317,
     763    100044361, 100044379, 100044389, 100044391, 100044431, 100044433, 100044479,
     764    100044487, 100044493, 100044499, 100044509, 100044521, 100044547, 100044563,
     765    100044583, 100044587, 100044599, 100044613, 100044647, 100044649, 100044653,
     766    100044667, 100044691, 100044739, 100044773, 100044787, 100044793, 100044803,
     767    100044817, 100044829, 100044851, 100044859, 100044907, 100044913, 100044947,
     768    100044979, 100045021, 100045037, 100045039, 100045067, 100045087, 100045117,
     769    100045123, 100045163, 100045171, 100045181, 100045213, 100045223, 100045229,
     770    100045249, 100045261, 100045313, 100045333, 100045343, 100045349, 100045367,
     771    100045369, 100045399, 100045403, 100045411, 100045417, 100045433, 100045457,
     772    100045471, 100045487, 100045511, 100045513, 100045531, 100045537, 100045549,
     773    100045559, 100045571, 100045573, 100045577, 100045591, 100045597, 100045613,
     774    100045619, 100045637, 100045691, 100045709, 100045717, 100045723, 100045733,
     775    100045747, 100045819, 100045823, 100045831, 100045873, 100045889, 100045903,
     776    100045909, 100045921, 100045931, 100045943, 100045951, 100045973, 100045987,
     777    100045997, 100046017, 100046059, 100046069, 100046087, 100046099, 100046119,
     778    100046129, 100046137, 100046183, 100046189, 100046203, 100046213, 100046227,
     779    100046231, 100046263, 100046293, 100046321, 100046327, 100046329, 100046333,
     780    100046357, 100046363, 100046369, 100046407, 100046417, 100046431, 100046461,
     781    100046467, 100046473, 100046489, 100046537, 100046539, 100046543, 100046561,
     782    100046567, 100046587, 100046593, 100046599, 100046621, 100046633, 100046657,
     783    100046659, 100046699, 100046707, 100046729, 100046731, 100046743, 100046747,
     784    100046753, 100046801, 100046813, 100046833, 100046851, 100046857, 100046873,
     785    100046899, 100046909, 100046911, 100046953, 100046957, 100046981, 100046983,
     786    100047029, 100047043, 100047047, 100047097, 100047119, 100047133, 100047139,
     787    100047163, 100047169, 100047173, 100047191, 100047221, 100047229, 100047251,
     788    100047253, 100047289, 100047313, 100047341, 100047347, 100047377, 100047379,
     789    100047383, 100047427, 100047463, 100047473, 100047491, 100047511, 100047523,
     790    100047553, 100047587, 100047589, 100047611, 100047653, 100047697, 100047707,
     791    100047719, 100047751, 100047763, 100047781, 100047791, 100047793, 100047797,
     792    100047809, 100047821, 100047833, 100047841, 100047851, 100047853, 100047859,
     793    100047911, 100047947, 100047967, 100047989, 100048001, 100048019, 100048021,
     794    100048027, 100048079, 100048087, 100048127, 100048147, 100048171, 100048181,
     795    100048189, 100048199, 100048211, 100048217, 100048261, 100048271, 100048303,
     796    100048307, 100048309, 100048327, 100048337, 100048369, 100048379, 100048411,
     797    100048423, 100048469, 100048489, 100048493, 100048511, 100048513, 100048517,
     798    100048541, 100048561, 100048591, 100048603, 100048609, 100048639, 100048657,
     799    100048667, 100048673, 100048709, 100048717, 100048783, 100048787, 100048801,
     800    100048891, 100048903, 100048939, 100048973, 100049009, 100049021, 100049039,
     801    100049051, 100049093, 100049123, 100049141, 100049177, 100049189, 100049197,
     802    100049219, 100049227, 100049293, 100049297, 100049303, 100049317, 100049357,
     803    100049371, 100049381, 100049393, 100049399, 100049419, 100049423, 100049461,
     804    100049473, 100049483, 100049513, 100049527, 100049561, 100049567, 100049581,
     805    100049627, 100049647, 100049657, 100049669, 100049713, 100049749, 100049753,
     806    100049759, 100049773, 100049779, 100049819, 100049857, 100049869, 100049891,
     807    100049903, 100049909, 100049933, 100049959, 100049969, 100049993, 100050001,
     808    100050019, 100050031, 100050053, 100050059, 100050079, 100050089, 100050091,
     809    100050101, 100050131, 100050149, 100050173, 100050191, 100050211, 100050217,
     810    100050239, 100050271, 100050277, 100050283, 100050311, 100050317, 100050323,
     811    100050341, 100050343, 100050347, 100050383, 100050397, 100050403, 100050407,
     812    100050413, 100050421, 100050443, 100050449, 100050463, 100050521, 100050557,
     813    100050563, 100050583, 100050617, 100050647, 100050649, 100050659, 100050673,
     814    100050683, 100050719, 100050721, 100050737, 100050739, 100050757, 100050767,
     815    100050779, 100050781, 100050817, 100050823, 100050829, 100050833, 100050883,
     816    100050889, 100050901, 100050911, 100050913, 100050959, 100050983, 100051013,
     817    100051019, 100051037, 100051087, 100051097, 100051117, 100051123, 100051139,
     818    100051151, 100051157, 100051177, 100051183, 100051199, 100051243, 100051267,
     819    100051319, 100051327, 100051331, 100051337, 100051349, 100051351, 100051373,
     820    100051387, 100051417, 100051423, 100051447, 100051493, 100051517, 100051559,
     821    100051571, 100051577, 100051597, 100051619, 100051631, 100051649, 100051657,
     822    100051667, 100051687, 100051723, 100051729, 100051747, 100051751, 100051759,
     823    100051781, 100051793, 100051801, 100051807, 100051859, 100051867, 100051951,
     824    100051957, 100051961, 100051979, 100051981, 100052003, 100052009, 100052039,
     825    100052053, 100052087, 100052131, 100052149, 100052201, 100052209, 100052263,
     826    100052269, 100052273, 100052311, 100052321, 100052353, 100052431, 100052441,
     827    100052453, 100052467, 100052483, 100052509, 100052567, 100052569, 100052609,
     828    100052621, 100052653, 100052657, 100052671, 100052681, 100052723, 100052753,
     829    100052819, 100052857, 100052863, 100052893, 100052899, 100052957, 100052963,
     830    100052969, 100052971, 100053011, 100053017, 100053047, 100053071, 100053073,
     831    100053091, 100053113, 100053119, 100053157, 100053167, 100053169, 100053179,
     832    100053181, 100053193, 100053199, 100053209, 100053223, 100053227, 100053257,
     833    100053293, 100053301, 100053329, 100053341, 100053367, 100053377, 100053379,
     834    100053383, 100053409, 100053433, 100053491, 100053497, 100053511, 100053539,
     835    100053589, 100053617, 100053623, 100053637, 100053673, 100053691, 100053719,
     836    100053757, 100053769, 100053773, 100053781, 100053803, 100053827, 100053853,
     837    100053859, 100053869, 100053901, 100053913, 100053931, 100053937, 100053971,
     838    100054033, 100054037, 100054039, 100054051, 100054069, 100054099, 100054103,
     839    100054111, 100054121, 100054151, 100054159, 100054169, 100054177, 100054189,
     840    100054217, 100054223, 100054277, 100054291, 100054307, 100054319, 100054343,
     841    100054387, 100054411, 100054429, 100054441, 100054459, 100054463, 100054477,
     842    100054483, 100054489, 100054511, 100054529, 100054547, 100054561, 100054567,
     843    100054597, 100054621, 100054709, 100054729, 100054733, 100054739, 100054769,
     844    100054783, 100054811, 100054813, 100054849, 100054859, 100054861, 100054873,
     845    100054967, 100054987, 100055003, 100055009, 100055029, 100055051, 100055063,
     846    100055071, 100055099, 100055101, 100055147, 100055173, 100055177, 100055201,
     847    100055203, 100055213, 100055227, 100055237, 100055239, 100055243, 100055257,
     848    100055261, 100055269, 100055297, 100055309, 100055323, 100055341, 100055369,
     849    100055381, 100055393, 100055407, 100055413, 100055429, 100055441, 100055509,
     850    100055531, 100055561, 100055623, 100055651, 100055663, 100055701, 100055707,
     851    100055719, 100055731, 100055741, 100055749, 100055783, 100055789, 100055803,
     852    100055821, 100055869, 100055873, 100055899, 100055927, 100055933, 100055959,
     853    100055971, 100055993, 100056013, 100056079, 100056133, 100056137, 100056161,
     854    100056163, 100056191, 100056199, 100056217, 100056221, 100056239, 100056241,
     855    100056247, 100056263, 100056269, 100056289, 100056301, 100056323, 100056343,
     856    100056349, 100056353, 100056377, 100056401, 100056403, 100056419, 100056469,
     857    100056479, 100056521, 100056529, 100056553, 100056557, 100056563, 100056599,
     858    100056643, 100056673, 100056689, 100056703, 100056707, 100056709, 100056727,
     859    100056773, 100056811, 100056839, 100056893, 100056919, 100056941, 100056949,
     860    100056953, 100056961, 100056967, 100056973, 100056977, 100057003, 100057033,
     861    100057037, 100057043, 100057051, 100057073, 100057079, 100057099, 100057117,
     862    100057123, 100057129, 100057147, 100057159, 100057193, 100057229, 100057267,
     863    100057277, 100057283, 100057289, 100057297, 100057301, 100057303, 100057327,
     864    100057339, 100057357, 100057369, 100057381, 100057403, 100057411, 100057417,
     865    100057421, 100057459, 100057469, 100057493, 100057499, 100057577, 100057609,
     866    100057681, 100057691, 100057703, 100057709, 100057729, 100057777, 100057817,
     867    100057823, 100057829, 100057847, 100057849, 100057891, 100057897, 100057901,
     868    100057907, 100057927, 100057949, 100058017, 100058029, 100058051, 100058053,
     869    100058069, 100058071, 100058083, 100058113, 100058137, 100058143, 100058201,
     870    100058213, 100058261, 100058267, 100058279, 100058281, 100058293, 100058363,
     871    100058401, 100058419, 100058459, 100058473, 100058479, 100058501, 100058527,
     872    100058531, 100058611, 100058633, 100058641, 100058659, 100058663, 100058677,
     873    100058681, 100058683, 100058851, 100058857, 100058863, 100058879, 100058887,
     874    100058899, 100058941, 100058999, 100059049, 100059061, 100059079, 100059097,
     875    100059101, 100059121, 100059143, 100059163, 100059173, 100059181, 100059199,
     876    100059203, 100059217, 100059233, 100059257, 100059259, 100059277, 100059293,
     877    100059299, 100059307, 100059317, 100059371, 100059383, 100059391, 100059473,
     878    100059481, 100059497, 100059511, 100059521, 100059523, 100059539, 100059551,
     879    100059559, 100059587, 100059593, 100059607, 100059611, 100059623, 100059629,
     880    100059647, 100059653, 100059677, 100059689, 100059691, 100059761, 100059767,
     881    100059769, 100059797, 100059823, 100059853, 100059857, 100059863, 100059893,
     882    100059937, 100059983, 100059991, 100059997, 100060001, 100060003, 100060013,
     883    100060019, 100060021, 100060073, 100060091, 100060109, 100060111, 100060117,
     884    100060127, 100060139, 100060201, 100060217, 100060223, 100060231, 100060243,
     885    100060267, 100060273, 100060291, 100060349, 100060361, 100060381, 100060391,
     886    100060393, 100060409, 100060421, 100060439, 100060501, 100060561, 100060577,
     887    100060619, 100060621, 100060651, 100060663, 100060673, 100060687, 100060693,
     888    100060703, 100060721, 100060739, 100060757, 100060771, 100060781, 100060789,
     889    100060823, 100060837, 100060843, 100060867, 100060907, 100060921, 100060931,
     890    100060999, 100061021, 100061023, 100061051, 100061057, 100061089, 100061111,
     891    100061113, 100061119, 100061123, 100061131, 100061177, 100061183, 100061189,
     892    100061219, 100061233, 100061249, 100061257, 100061263, 100061309, 100061317,
     893    100061323, 100061329, 100061333, 100061341, 100061347, 100061359, 100061369,
     894    100061389, 100061399, 100061419, 100061447, 100061453, 100061471, 100061483,
     895    100061491, 100061501, 100061503, 100061527, 100061539, 100061561, 100061573,
     896    100061587, 100061593, 100061597, 100061603, 100061623, 100061627, 100061641,
     897    100061659, 100061669, 100061671, 100061683, 100061693, 100061701, 100061713,
     898    100061723, 100061747, 100061761, 100061783, 100061789, 100061807, 100061821,
     899    100061837, 100061867, 100061869, 100061873, 100061921, 100061939, 100061957,
     900    100061959, 100061971, 100061981, 100061987, 100062019, 100062041, 100062043,
     901    100062047, 100062059, 100062071, 100062089, 100062169, 100062173, 100062199,
     902    100062211, 100062229, 100062233, 100062241, 100062271, 100062283, 100062299,
     903    100062301, 100062311, 100062317, 100062331, 100062349, 100062367, 100062371,
     904    100062401, 100062409, 100062421, 100062437, 100062461, 100062481, 100062491,
     905    100062497, 100062503, 100062583, 100062601, 100062617, 100062653, 100062679,
     906    100062701, 100062707, 100062727, 100062737, 100062751, 100062757, 100062769,
     907    100062791, 100062803, 100062829, 100062863, 100062877, 100062881, 100062883,
     908    100062923, 100062979, 100062983, 100063039, 100063043, 100063091, 100063109,
     909    100063123, 100063151, 100063157, 100063231, 100063237, 100063259, 100063267,
     910    100063303, 100063331, 100063387, 100063391, 100063393, 100063399, 100063463,
     911    100063471, 100063487, 100063489, 100063499, 100063529, 100063531, 100063559,
     912    100063571, 100063597, 100063627, 100063631, 100063661, 100063687, 100063693,
     913    100063699, 100063723, 100063727, 100063741, 100063783, 100063787, 100063807,
     914    100063811, 100063829, 100063837, 100063879, 100063889, 100063927, 100063933,
     915    100063963, 100063969, 100063979, 100063981, 100064011, 100064017, 100064039,
     916    100064113, 100064143, 100064161, 100064171, 100064179, 100064183, 100064197,
     917    100064257, 100064273, 100064287, 100064291, 100064309, 100064333, 100064357,
     918    100064359, 100064383, 100064387, 100064407, 100064423, 100064441, 100064453,
     919    100064473, 100064479, 100064491, 100064509, 100064579, 100064593, 100064609,
     920    100064623, 100064633, 100064693, 100064707, 100064711, 100064729, 100064753,
     921    100064779, 100064791, 100064801, 100064813, 100064837, 100064843, 100064857,
     922    100064863, 100064893, 100064911, 100064917, 100064929, 100064933, 100064947,
     923    100064971, 100064977, 100065023, 100065029, 100065037, 100065047, 100065059,
     924    100065061, 100065079, 100065107, 100065137, 100065149, 100065181, 100065187,
     925    100065197, 100065233, 100065253, 100065269, 100065299, 100065323, 100065331,
     926    100065347, 100065373, 100065409, 100065439, 100065467, 100065481, 100065503,
     927    100065509, 100065517, 100065523, 100065527, 100065583, 100065619, 100065659,
     928    100065661, 100065671, 100065697, 100065703, 100065727, 100065733, 100065739,
     929    100065743, 100065751, 100065781, 100065793, 100065809, 100065817, 100065821,
     930    100065841, 100065857, 100065877, 100065881, 100065929, 100065983, 100066007,
     931    100066009, 100066013, 100066069, 100066081, 100066111, 100066129, 100066139,
     932    100066151, 100066157, 100066159, 100066163, 100066177, 100066207, 100066231,
     933    100066249, 100066259, 100066271, 100066297, 100066303, 100066321, 100066361,
     934    100066381, 100066387, 100066391, 100066397, 100066433, 100066441, 100066489,
     935    100066493, 100066511, 100066529, 100066541, 100066591, 100066601, 100066613,
     936    100066627, 100066651, 100066661, 100066669, 100066679, 100066697, 100066717,
     937    100066723, 100066751, 100066753, 100066763, 100066781, 100066823, 100066829,
     938    100066831, 100066843, 100066847, 100066871, 100066873, 100066919, 100066931,
     939    100066943, 100066963, 100066969, 100066987, 100067017, 100067027, 100067087,
     940    100067111, 100067119, 100067131, 100067137, 100067141, 100067171, 100067213,
     941    100067221, 100067269, 100067291, 100067293, 100067327, 100067333, 100067353,
     942    100067377, 100067393, 100067399, 100067413, 100067419, 100067447, 100067449,
     943    100067453, 100067497, 100067501, 100067521, 100067531, 100067543, 100067557,
     944    100067581, 100067621, 100067689, 100067711, 100067713, 100067767, 100067771,
     945    100067801, 100067809, 100067843, 100067857, 100067861, 100067867, 100067879,
     946    100067881, 100067909, 100067977, 100067993, 100068011, 100068049, 100068083,
     947    100068107, 100068109, 100068113, 100068119, 100068127, 100068139, 100068197,
     948    100068209, 100068211, 100068223, 100068259, 100068277, 100068281, 100068289,
     949    100068301, 100068337, 100068349, 100068361, 100068373, 100068457, 100068467,
     950    100068481, 100068509, 100068523, 100068539, 100068557, 100068559, 100068569,
     951    100068581, 100068599, 100068601, 100068629, 100068667, 100068671, 100068677,
     952    100068707, 100068719, 100068739, 100068751, 100068767, 100068769, 100068889,
     953    100068893, 100068923, 100068959, 100068967, 100068971, 100068973, 100068977,
     954    100069003, 100069007, 100069009, 100069027, 100069037, 100069103, 100069121,
     955    100069129, 100069139, 100069153, 100069171, 100069183, 100069223, 100069241,
     956    100069253, 100069267, 100069273, 100069301, 100069337, 100069357, 100069363,
     957    100069373, 100069381, 100069441, 100069483, 100069511, 100069513, 100069583,
     958    100069591, 100069597, 100069631, 100069639, 100069657, 100069661, 100069679,
     959    100069681, 100069693, 100069709, 100069727, 100069733, 100069763, 100069811,
     960    100069813, 100069831, 100069843, 100069847, 100069859, 100069873, 100069877,
     961    100069897, 100069919, 100069943, 100069967, 100069969, 100069993, 100069997,
     962    100070021, 100070051, 100070071, 100070081, 100070083, 100070111, 100070119,
     963    100070123, 100070137, 100070141, 100070153, 100070167, 100070183, 100070203,
     964    100070209, 100070227, 100070231, 100070249, 100070303, 100070323, 100070339,
     965    100070351, 100070363, 100070407, 100070419, 100070423, 100070429, 100070501,
     966    100070521, 100070543, 100070557, 100070603, 100070609, 100070629, 100070647,
     967    100070657, 100070669, 100070713, 100070717, 100070741, 100070743, 100070767,
     968    100070771, 100070797, 100070807, 100070813, 100070819, 100070833, 100070881,
     969    100070897, 100070941, 100070947, 100070969, 100070981, 100071011, 100071017,
     970    100071029, 100071053, 100071067, 100071089, 100071107, 100071109, 100071113,
     971    100071121, 100071151, 100071187, 100071217, 100071221, 100071227, 100071241,
     972    100071253, 100071259, 100071263, 100071289, 100071337, 100071341, 100071353,
     973    100071383, 100071409, 100071427, 100071437, 100071443, 100071479, 100071481,
     974    100071487, 100071509, 100071527, 100071533, 100071541, 100071563, 100071581,
     975    100071593, 100071599, 100071623, 100071641, 100071661, 100071691, 100071733,
     976    100071739, 100071743, 100071757, 100071767, 100071859, 100071871, 100071887,
     977    100071901, 100071931, 100071949, 100071971, 100071973, 100071989, 100071991,
     978    100071997, 100072073, 100072097, 100072129, 100072151, 100072163, 100072177,
     979    100072199, 100072207, 100072211, 100072253, 100072337, 100072351, 100072361,
     980    100072363, 100072367, 100072393, 100072397, 100072429, 100072451, 100072463,
     981    100072493, 100072501, 100072507, 100072613, 100072627, 100072631, 100072663,
     982    100072691, 100072699, 100072733, 100072769, 100072783, 100072787, 100072813,
     983    100072831, 100072837, 100072849, 100072859, 100072871, 100072919, 100072949,
     984    100072961, 100072967, 100072979, 100073041, 100073059, 100073089, 100073093,
     985    100073117, 100073119, 100073131, 100073137, 100073153, 100073167, 100073173,
     986    100073191, 100073201, 100073219, 100073221, 100073231, 100073243, 100073261,
     987    100073279, 100073297, 100073327, 100073357, 100073383, 100073423, 100073429,
     988    100073443, 100073447, 100073453, 100073471, 100073473, 100073503, 100073507,
     989    100073531, 100073539, 100073557, 100073609, 100073653, 100073657, 100073683,
     990    100073689, 100073761, 100073773, 100073777, 100073791, 100073807, 100073819,
     991    100073837, 100073839, 100073879, 100073887, 100073903, 100073929, 100073933,
     992    100073957, 100073959, 100073993, 100073999, 100074061, 100074097, 100074101,
     993    100074103, 100074137, 100074151, 100074239, 100074241, 100074251, 100074263,
     994    100074281, 100074329, 100074353, 100074367, 100074371, 100074383, 100074407,
     995    100074413, 100074419, 100074433, 100074439, 100074451, 100074473, 100074487,
     996    100074503, 100074517, 100074521, 100074523, 100074589, 100074599, 100074607,
     997    100074613, 100074619, 100074629, 100074649, 100074673, 100074701, 100074731,
     998    100074757, 100074761, 100074823, 100074827, 100074833, 100074847, 100074859,
     999    100074883, 100074901, 100074907, 100074929, 100074983, 100075007, 100075013,
     1000    100075021, 100075057, 100075069, 100075103, 100075117, 100075123, 100075163,
     1001    100075181, 100075187, 100075193, 100075207, 100075211, 100075229, 100075253,
     1002    100075271, 100075279, 100075331, 100075351, 100075373, 100075397, 100075429,
     1003    100075439, 100075477, 100075511, 100075517, 100075531, 100075537, 100075561,
     1004    100075571, 100075589, 100075609, 100075631, 100075667, 100075669, 100075687,
     1005    100075697, 100075739, 100075751, 100075763, 100075769, 100075777, 100075799,
     1006    100075813, 100075837, 100075847, 100075867, 100075879, 100075891, 100075903,
     1007    100075909, 100075939, 100075979, 100075981, 100075993, 100076003, 100076023,
     1008    100076089, 100076101, 100076117, 100076131, 100076147, 100076149, 100076189,
     1009    100076191, 100076219, 100076227, 100076233, 100076237, 100076239, 100076257,
     1010    100076261, 100076299, 100076311, 100076321, 100076323, 100076329, 100076341,
     1011    100076369, 100076371, 100076387, 100076393, 100076407, 100076411, 100076423,
     1012    100076447, 100076491, 100076563, 100076579, 100076617, 100076623, 100076633,
     1013    100076659, 100076663, 100076681, 100076687, 100076689, 100076707, 100076723,
     1014    100076729, 100076731, 100076789, 100076791, 100076813, 100076849, 100076861,
     1015    100076917, 100076923, 100076939, 100076957, 100076969, 100077031, 100077049,
     1016    100077067, 100077073, 100077077, 100077097, 100077137, 100077203, 100077221,
     1017    100077239, 100077251, 100077259, 100077277, 100077311, 100077323, 100077337,
     1018    100077349, 100077377, 100077391, 100077401, 100077443, 100077451, 100077491,
     1019    100077493, 100077533, 100077547, 100077557, 100077569, 100077583, 100077611,
     1020    100077631, 100077661, 100077667, 100077673, 100077689, 100077701, 100077707,
     1021    100077721, 100077739, 100077743, 100077749, 100077763, 100077779, 100077781,
     1022    100077797, 100077799, 100077821, 100077823, 100077841, 100077877, 100077893,
     1023    100077931, 100077961, 100078001, 100078021, 100078039, 100078049, 100078051,
     1024    100078061, 100078067, 100078103, 100078141, 100078169, 100078183, 100078189,
     1025    100078249, 100078259, 100078273, 100078291, 100078351, 100078357, 100078373,
     1026    100078379, 100078387, 100078399, 100078409, 100078411, 100078441, 100078457,
     1027    100078477, 100078483, 100078487, 100078513, 100078519, 100078523, 100078549,
     1028    100078603, 100078639, 100078679, 100078687, 100078697, 100078703, 100078717,
     1029    100078733, 100078751, 100078753, 100078763, 100078801, 100078807, 100078829,
     1030    100078837, 100078873, 100078883, 100078897, 100078961, 100079009, 100079033,
     1031    100079059, 100079081, 100079093, 100079107, 100079143, 100079149, 100079171,
     1032    100079207, 100079219, 100079263, 100079267, 100079293, 100079297, 100079299,
     1033    100079303, 100079321, 100079351, 100079359, 100079363, 100079387, 100079389,
     1034    100079393, 100079431, 100079449, 100079453, 100079461, 100079471, 100079477,
     1035    100079519, 100079543, 100079557, 100079659, 100079671, 100079701, 100079713,
     1036    100079737, 100079747, 100079761, 100079773, 100079797, 100079803, 100079813,
     1037    100079839, 100079869, 100079879, 100079909, 100079911, 100079921, 100079929,
     1038    100079933, 100079951, 100079983, 100080031, 100080047, 100080067, 100080119,
     1039    100080133, 100080143, 100080151, 100080161, 100080181, 100080187, 100080209,
     1040    100080217, 100080223, 100080229, 100080289, 100080293, 100080317, 100080319,
     1041    100080329, 100080341, 100080347, 100080359, 100080361, 100080373, 100080413,
     1042    100080419, 100080427, 100080433, 100080451, 100080503, 100080509, 100080527,
     1043    100080529, 100080551, 100080587, 100080593, 100080599, 100080611, 100080667,
     1044    100080689, 100080707, 100080709, 100080727, 100080731, 100080763, 100080787,
     1045    100080791, 100080821, 100080833, 100080863, 100080901, 100080919, 100080941,
     1046    100080971, 100080977, 100080983, 100080997, 100081031, 100081039, 100081043,
     1047    100081067, 100081087, 100081099, 100081127, 100081129, 100081133, 100081141,
     1048    100081147, 100081153, 100081171, 100081243, 100081259, 100081271, 100081277,
     1049    100081327, 100081351, 100081367, 100081381, 100081403, 100081433, 100081439,
     1050    100081447, 100081453, 100081459, 100081463, 100081477, 100081507, 100081561,
     1051    100081571, 100081577, 100081589, 100081591, 100081603, 100081627, 100081643,
     1052    100081673, 100081699, 100081741, 100081747, 100081789, 100081831, 100081841,
     1053    100081843, 100081859, 100081867, 100081913, 100081939, 100081951, 100081957,
     1054    100081973, 100081991, 100081997, 100081999, 100082033, 100082041, 100082053,
     1055    100082093, 100082123, 100082141, 100082149, 100082159, 100082173, 100082183,
     1056    100082201, 100082221, 100082233, 100082237, 100082243, 100082251, 100082261,
     1057    100082267, 100082287, 100082327, 100082341, 100082387, 100082399, 100082401,
     1058    100082431, 100082441, 100082459, 100082491, 100082527, 100082533, 100082551,
     1059    100082569, 100082573, 100082579, 100082581, 100082611, 100082687, 100082699,
     1060    100082701, 100082707, 100082777, 100082779, 100082789, 100082797, 100082803,
     1061    100082813, 100082833, 100082863, 100082897, 100082929, 100082971, 100082999,
     1062    100083007, 100083047, 100083101, 100083103, 100083119, 100083157, 100083161,
     1063    100083209, 100083211, 100083227, 100083229, 100083251, 100083287, 100083299,
     1064    100083307, 100083311, 100083323, 100083329, 100083331, 100083353, 100083391,
     1065    100083397, 100083421, 100083433, 100083439, 100083481, 100083491, 100083497,
     1066    100083499, 100083521, 100083523, 100083547, 100083559, 100083563, 100083589,
     1067    100083623, 100083637, 100083653, 100083673, 100083677, 100083679, 100083689,
     1068    100083703, 100083707, 100083721, 100083751, 100083791, 100083839, 100083847,
     1069    100083899, 100083917, 100083937, 100083953, 100083983, 100084003, 100084007,
     1070    100084013, 100084021, 100084037, 100084067, 100084069, 100084099, 100084111,
     1071    100084121, 100084123, 100084129, 100084181, 100084183, 100084189, 100084211,
     1072    100084217, 100084261, 100084273, 100084277, 100084289, 100084319, 100084331,
     1073    100084333, 100084351, 100084363, 100084373, 100084429, 100084441, 100084447,
     1074    100084489, 100084513, 100084531, 100084541, 100084549, 100084577, 100084583,
     1075    100084601, 100084631, 100084651, 100084669, 100084681, 100084687, 100084711,
     1076    100084717, 100084727, 100084739, 100084757, 100084759, 100084769, 100084793,
     1077    100084819, 100084823, 100084843, 100084847, 100084849, 100084877, 100084883,
     1078    100084909, 100084921, 100084927, 100084973, 100084993, 100085009, 100085023,
     1079    100085033, 100085047, 100085053, 100085057, 100085101, 100085207, 100085233,
     1080    100085257, 100085281, 100085287, 100085303, 100085317, 100085347, 100085353,
     1081    100085357, 100085371, 100085389, 100085399, 100085543, 100085549, 100085563,
     1082    100085603, 100085611, 100085621, 100085651, 100085683, 100085693, 100085707,
     1083    100085723, 100085729, 100085743, 100085753, 100085759, 100085801, 100085807,
     1084    100085809, 100085813, 100085827, 100085837, 100085893, 100085957, 100086001,
     1085    100086013, 100086017, 100086037, 100086059, 100086061, 100086071, 100086097,
     1086    100086109, 100086121, 100086169, 100086193, 100086211, 100086223, 100086229,
     1087    100086257, 100086263, 100086277, 100086323, 100086341, 100086347, 100086353,
     1088    100086367, 100086377, 100086379, 100086397, 100086403, 100086407, 100086449,
     1089    100086451, 100086457, 100086461, 100086487, 100086559, 100086563, 100086589,
     1090    100086619, 100086643, 100086647, 100086659, 100086673, 100086683, 100086691,
     1091    100086697, 100086703, 100086713, 100086733, 100086761, 100086821, 100086841,
     1092    100086853, 100086881, 100086911, 100086971, 100087021, 100087037, 100087063,
     1093    100087073, 100087081, 100087087, 100087093, 100087121, 100087123, 100087147,
     1094    100087159, 100087201, 100087223, 100087241, 100087243, 100087259, 100087261,
     1095    100087319, 100087321, 100087333, 100087369, 100087387, 100087411, 100087417,
     1096    100087441, 100087489, 100087511, 100087523, 100087567, 100087571, 100087577,
     1097    100087591, 100087597, 100087633, 100087661, 100087681, 100087711, 100087717,
     1098    100087723, 100087727, 100087733, 100087759, 100087807, 100087853, 100087861,
     1099    100087901, 100087913, 100087951, 100087963, 100087969, 100087979, 100087987,
     1100    100088039, 100088041, 100088059, 100088081, 100088101, 100088141, 100088147,
     1101    100088161, 100088167, 100088213, 100088267, 100088279, 100088291, 100088363,
     1102    100088377, 100088381, 100088389, 100088399, 100088413, 100088423, 100088431,
     1103    100088437, 100088459, 100088519, 100088543, 100088551, 100088557, 100088567,
     1104    100088579, 100088587, 100088609, 100088623, 100088627, 100088641, 100088647,
     1105    100088669, 100088699, 100088711, 100088717, 100088731, 100088743, 100088759,
     1106    100088797, 100088851, 100088873, 100088887, 100088909, 100088929, 100088969,
     1107    100088981, 100088999, 100089019, 100089029, 100089037, 100089071, 100089083,
     1108    100089127, 100089139, 100089163, 100089167, 100089203, 100089229, 100089247,
     1109    100089257, 100089299, 100089331, 100089343, 100089347, 100089383, 100089391,
     1110    100089413, 100089419, 100089433, 100089439, 100089499, 100089503, 100089533,
     1111    100089571, 100089581, 100089611, 100089631, 100089653, 100089673, 100089683,
     1112    100089697, 100089713, 100089751, 100089763, 100089779, 100089791, 100089797,
     1113    100089799, 100089823, 100089841, 100089911, 100089943, 100089953, 100089961,
     1114    100089989, 100090007, 100090031, 100090079, 100090087, 100090099, 100090117,
     1115    100090121, 100090127, 100090141, 100090153, 100090187, 100090189, 100090219,
     1116    100090229, 100090241, 100090259, 100090267, 100090279, 100090297, 100090321,
     1117    100090337, 100090343, 100090363, 100090391, 100090399, 100090427, 100090477,
     1118    100090583, 100090597, 100090637, 100090649, 100090657, 100090663, 100090673,
     1119    100090721, 100090729, 100090741, 100090763, 100090789, 100090801, 100090819,
     1120    100090843, 100090891, 100090927, 100090933, 100090961, 100090979, 100090997,
     1121    100090999, 100091023, 100091029, 100091051, 100091071, 100091077, 100091119,
     1122    100091137, 100091149, 100091171, 100091191, 100091213, 100091227, 100091237,
     1123    100091261, 100091273, 100091279, 100091311, 100091323, 100091333, 100091339,
     1124    100091351, 100091353, 100091363, 100091417, 100091419, 100091471, 100091473,
     1125    100091479, 100091483, 100091503, 100091513, 100091531, 100091567, 100091569,
     1126    100091581, 100091587, 100091633, 100091669, 100091689, 100091711, 100091749,
     1127    100091773, 100091779, 100091809, 100091813, 100091819, 100091843, 100091851,
     1128    100091857, 100091881, 100091891, 100091899, 100091969, 100091983, 100091987,
     1129    100092017, 100092043, 100092049, 100092059, 100092077, 100092101, 100092103,
     1130    100092121, 100092127, 100092151, 100092163, 100092169, 100092173, 100092199,
     1131    100092217, 100092227, 100092229, 100092233, 100092241, 100092257, 100092283,
     1132    100092287, 100092299, 100092331, 100092359, 100092409, 100092449, 100092491,
     1133    100092533, 100092557, 100092569, 100092571, 100092581, 100092593, 100092607,
     1134    100092613, 100092661, 100092667, 100092677, 100092679, 100092689, 100092697,
     1135    100092701, 100092721, 100092731, 100092739, 100092823, 100092857, 100092859,
     1136    100092869, 100092877, 100092899, 100092947, 100092959, 100092973, 100092989,
     1137    100092997, 100093003, 100093061, 100093069, 100093099, 100093117, 100093157,
     1138    100093163, 100093183, 100093193, 100093199, 100093211, 100093223, 100093249,
     1139    100093267, 100093289, 100093291, 100093303, 100093307, 100093319, 100093337,
     1140    100093339, 100093351, 100093363, 100093373, 100093391, 100093397, 100093417,
     1141    100093453, 100093459, 100093519, 100093531, 100093541, 100093561, 100093613,
     1142    100093639, 100093657, 100093663, 100093681, 100093717, 100093759, 100093783,
     1143    100093789, 100093793, 100093811, 100093813, 100093831, 100093837, 100093849,
     1144    100093871, 100093901, 100093963, 100093967, 100094003, 100094017, 100094021,
     1145    100094041, 100094053, 100094063, 100094089, 100094101, 100094119, 100094129,
     1146    100094173, 100094191, 100094201, 100094207, 100094311, 100094339, 100094347,
     1147    100094353, 100094359, 100094363, 100094377, 100094387, 100094429, 100094437,
     1148    100094441, 100094447, 100094483, 100094557, 100094563, 100094633, 100094639,
     1149    100094647, 100094677, 100094693, 100094707, 100094711, 100094741, 100094767,
     1150    100094777, 100094789, 100094807, 100094821, 100094833, 100094843, 100094849,
     1151    100094867, 100094881, 100094893, 100094933, 100094941, 100094971, 100094987,
     1152    100094989, 100094999, 100095043, 100095049, 100095067, 100095113, 100095131,
     1153    100095181, 100095197, 100095251, 100095257, 100095263, 100095283, 100095299,
     1154    100095301, 100095319, 100095341, 100095349, 100095361, 100095377, 100095409,
     1155    100095419, 100095421, 100095451, 100095467, 100095469, 100095493, 100095511,
     1156    100095577, 100095599, 100095601, 100095623, 100095647, 100095649, 100095679,
     1157    100095689, 100095691, 100095727, 100095731, 100095763, 100095769, 100095773,
     1158    100095799, 100095803, 100095817, 100095823, 100095833, 100095859, 100095887,
     1159    100095913, 100095917, 100095943, 100095973, 100095979, 100096001, 100096093,
     1160    100096097, 100096111, 100096127, 100096141, 100096219, 100096231, 100096247,
     1161    100096267, 100096301, 100096309, 100096319, 100096349, 100096363, 100096379,
     1162    100096387, 100096393, 100096421, 100096441, 100096471, 100096499, 100096517,
     1163    100096537, 100096559, 100096571, 100096573, 100096583, 100096597, 100096631,
     1164    100096639, 100096649, 100096673, 100096679, 100096687, 100096691, 100096709,
     1165    100096741, 100096753, 100096813, 100096823, 100096837, 100096847, 100096849,
     1166    100096853, 100096873, 100096879, 100096891, 100096903, 100096907, 100096933,
     1167    100096939, 100096957, 100096973, 100096987, 100096999, 100097017, 100097021,
     1168    100097027, 100097057, 100097069, 100097117, 100097119, 100097147, 100097177,
     1169    100097189, 100097197, 100097237, 100097251, 100097267, 100097273, 100097293,
     1170    100097317, 100097351, 100097369, 100097399, 100097429, 100097461, 100097471,
     1171    100097483, 100097489, 100097497, 100097509, 100097519, 100097521, 100097603,
     1172    100097611, 100097651, 100097731, 100097759, 100097783, 100097797, 100097801,
     1173    100097831, 100097849, 100097873, 100097891, 100097897, 100097927, 100097939,
     1174    100097951, 100097957, 100097981, 100097983, 100098007, 100098029, 100098071,
     1175    100098073, 100098107, 100098113, 100098127, 100098151, 100098157, 100098191,
     1176    100098197, 100098221, 100098239, 100098263, 100098301, 100098307, 100098347,
     1177    100098359, 100098407, 100098409, 100098421, 100098443, 100098491, 100098497,
     1178    100098511, 100098521, 100098529, 100098547, 100098563, 100098571, 100098577,
     1179    100098587, 100098617, 100098619, 100098629, 100098637, 100098641, 100098643,
     1180    100098667, 100098683, 100098709, 100098731, 100098787, 100098793, 100098809,
     1181    100098833, 100098851, 100098857, 100098863, 100098899, 100098931, 100098937,
     1182    100098959, 100098989, 100098991, 100098997, 100099003, 100099007, 100099037,
     1183    100099057, 100099061, 100099063, 100099067, 100099073, 100099091, 100099117,
     1184    100099121, 100099123, 100099147, 100099157, 100099159, 100099177, 100099199,
     1185    100099229, 100099261, 100099267, 100099283, 100099291, 100099301, 100099303,
     1186    100099333, 100099339, 100099361, 100099367, 100099379, 100099397, 100099423,
     1187    100099453, 100099477, 100099481, 100099501, 100099513, 100099523, 100099537,
     1188    100099567, 100099579, 100099603, 100099609, 100099627, 100099631, 100099639,
     1189    100099661, 100099663, 100099667, 100099673, 100099687, 100099709, 100099721,
     1190    100099739, 100099751, 100099777, 100099781, 100099789, 100099817, 100099889,
     1191    100099913, 100099921, 100099939, 100099949, 100099969, 100099973, 100099981,
     1192    0 };
    4101193
    4111194
    4121195int cf_getPrime( int i )
    4131196{
     1197    ASSERT( i >= 0 && i < NUMPRIMES, "index to primes too high" );
    4141198    if ( cf_glob_switches.isOn( SW_FAC_USE_BIG_PRIMES ) ) {
    415         ASSERT( i >= 0 && i < NUMBIGPRIMES, "index to primes too high" );
    416         return primes[NUMBIGPRIMES-i];
     1199        if ( i >= NUMSMALLPRIMES )
     1200            return bigprimes[NUMBIGPRIMES-i+NUMSMALLPRIMES];
     1201        else
     1202            return primes[NUMSMALLPRIMES-i];
    4171203    }
    4181204    else {
    419         ASSERT( i >= 0 && i < NUMSMALLPRIMES, "index to primes too high" );
    420         return primes[i];
     1205        if ( i >= NUMSMALLPRIMES )
     1206            return bigprimes[i-NUMSMALLPRIMES];
     1207        else
     1208            return primes[i];
    4211209    }
    4221210}
     
    4241212int cf_getNumPrimes()
    4251213{
    426     if ( cf_glob_switches.isOn( SW_FAC_USE_BIG_PRIMES ) )
    427         return NUMBIGPRIMES;
    428     else
    429         return NUMSMALLPRIMES;
     1214    return NUMPRIMES;
    4301215}
    4311216
    4321217int cf_getSmallPrime( int i )
    4331218{
    434     ASSERT( i >= 0 && i < NUMSMALLPRIMES, "index to primes too high" );
    435     return primes[i];
     1219    ASSERT( i >= 0 && i < NUMPRIMES, "index to primes too high" );
     1220    if ( i >= NUMSMALLPRIMES )
     1221        return bigprimes[i-NUMSMALLPRIMES];
     1222    else
     1223        return primes[i];
    4361224}
    4371225
    4381226int cf_getNumSmallPrimes()
    4391227{
    440     return NUMSMALLPRIMES;
     1228    return NUMPRIMES;
    4411229}
    4421230
     
    4441232{
    4451233    ASSERT( i >= 0 && i < NUMBIGPRIMES, "index to primes too high" );
    446     return primes[NUMBIGPRIMES-i];
     1234    if ( i >= NUMSMALLPRIMES )
     1235        return bigprimes[NUMBIGPRIMES-i+NUMSMALLPRIMES];
     1236    else
     1237        return primes[NUMSMALLPRIMES-i];
    4471238}
    4481239
    4491240int cf_getNumBigPrimes()
    4501241{
    451     return NUMBIGPRIMES;
     1242    return NUMPRIMES;
    4521243}
Note: See TracChangeset for help on using the changeset viewer.