diff --git a/Modular_arithmetic/src/CGAL/primes.cpp b/Modular_arithmetic/src/CGAL/primes.cpp index 4d7fdc528a1..45248011669 100644 --- a/Modular_arithmetic/src/CGAL/primes.cpp +++ b/Modular_arithmetic/src/CGAL/primes.cpp @@ -24,7 +24,271 @@ namespace CGAL { namespace internal { int primes [2000] = { - 67111067,67111043,67111027,67111013,67110947,67110943,67110931,67110929,67110889,67110881,67110853,67110851,67110847,67110839,67110829,67110817,67110779,67110739,67110733,67110709,67110677,67110661,67110653,67110647,67110613,67110607,67110601,67110599,67110569,67110559,67110557,67110551,67110541,67110521,67110497,67110493,67110479,67110469,67110467,67110457,67110419,67110391,67110377,67110367,67110353,67110331,67110311,67110301,67110283,67110269,67110259,67110247,67110221,67110209,67110191,67110167,67110161,67110151,67110149,67110139,67110107,67110091,67110083,67110077,67110073,67110023,67110013,67110007,67109969,67109941,67109923,67109773,67109759,67109747,67109737,67109723,67109701,67109687,67109671,67109663,67109633,67109629,67109593,67109573,67109563,67109543,67109519,67109507,67109479,67109443,67109431,67109417,67109407,67109363,67109323,67109321,67109299,67109291,67109281,67109269,67109243,67109233,67109227,67109221,67109209,67109201,67109191,67109177,67109171,67109167,67109131,67109123,67109071,67109051,67109033,67109023,67108981,67108961,67108957,67108933,67108919,67108913,67108879,67108859,67108837,67108819,67108777,67108763,67108757,67108753,67108747,67108739,67108729,67108721,67108709,67108693,67108669,67108667,67108661,67108649,67108633,67108597,67108579,67108529,67108511,67108507,67108493,67108471,67108463,67108453,67108439,67108387,67108373,67108369,67108351,67108331,67108313,67108303,67108289,67108271,67108219,67108207,67108201,67108199,67108187,67108183,67108177,67108127,67108109,67108081,67108049,67108039,67108037,67108033,67108009,67108007,67108003,67107983,67107977,67107967,67107941,67107919,67107913,67107883,67107881,67107871,67107863,67107809,67107797,67107793,67107787,67107773,67107757,67107749,67107739,67107737,67107713,67107707,67107697,67107673,67107643,67107641,67107631,67107617,67107569,67107553,67107541,67107539,67107533,67107527,67107499,67107497,67107473,67107463,67107461,67107457,67107427,67107389,67107349,67107331,67107323,67107319,67107317,67107311,67107301,67107289,67107253,67107241,67107223,67107217,67107203,67107191,67107151,67107149,67107101,67107097,67107071,67107043,67106989,67106987,67106983,67106903,67106833,67106821,67106813,67106797,67106761,67106749,67106737,67106719,67106717,67106693,67106687,67106657,67106591,67106587,67106561,67106539,67106503,67106483,67106477,67106447,67106407,67106399,67106393,67106383,67106357,67106339,67106323,67106311,67106279,67106257,67106243,67106239,67106231,67106213,67106189,67106167,67106159,67106113,67106107,67106099,67106093,67106063,67106059,67106033,67106023,67105991,67105963,67105949,67105943,67105937,67105933,67105903,67105879,67105877,67105873,67105867,67105849,67105837,67105823,67105811,67105781,67105771,67105769,67105763,67105729,67105711,67105699,67105691,67105609,67105567,67105553,67105517,67105501,67105487,67105481,67105471,67105459,67105453,67105439,67105399,67105393,67105373,67105369,67105349,67105319,67105303,67105267,67105249,67105219,67105211,67105201,67105193,67105187,67105141,67105133,67105127,67105091,67105081,67105061,67104997,67104991,67104977,67104949,67104931,67104923,67104913,67104907,67104901,67104893,67104883,67104871,67104859,67104857,67104847,67104841,67104833,67104803,67104769,67104757,67104743,67104707,67104691,67104689,67104679,67104649,67104647,67104617,67104607,67104601,67104589,67104581,67104571,67104563,67104539,67104529,67104517,67104449,67104439,67104437,67104419,67104379,67104361,67104341,67104313,67104293,67104277,67104263,67104251,67104227,67104161,67104139,67104127,67104113,67104073,67104071,67104061,67104053,67104047,67104043,67104031,67104019,67104007,67103983,67103969,67103963,67103909,67103893,67103887,67103867,67103851,67103837,67103821,67103761,67103749,67103737,67103731,67103711,67103689,67103669,67103657,67103653,67103633,67103609,67103587,67103579,67103549,67103513,67103507,67103503,67103483,67103479,67103467,67103431,67103423,67103411,67103389,67103359,67103327,67103321,67103297,67103293,67103273,67103249,67103227,67103219,67103209,67103191,67103173,67103159,67103149,67103147,67103143,67103137,67103107,67103083,67103051,67103039,67103033,67103027,67103021,67103009,67102991,67102969,67102967,67102963,67102949,67102943,67102921,67102913,67102901,67102873,67102843,67102801,67102741,67102733,67102729,67102727,67102703,67102669,67102663,67102657,67102649,67102639,67102627,67102613,67102603,67102561,67102537,67102531,67102499,67102487,67102459,67102457,67102447,67102439,67102397,67102391,67102333,67102331,67102291,67102283,67102249,67102241,67102237,67102223,67102219,67102193,67102181,67102177,67102163,67102159,67102153,67102151,67102099,67102093,67102069,67102067,67102051,67102033,67102031,67102019,67102003,67101997,67101989,67101961,67101919,67101899,67101883,67101877,67101799,67101791,67101779,67101743,67101739,67101691,67101689,67101637,67101631,67101623,67101613,67101607,67101569,67101523,67101509,67101493,67101491,67101479,67101469,67101449,67101443,67101421,67101413,67101361,67101343,67101341,67101323,67101299,67101271,67101263,67101247,67101241,67101191,67101187,67101173,67101169,67101161,67101119,67101109,67101079,67101053,67101043,67100987,67100981,67100977,67100963,67100953,67100947,67100939,67100911,67100909,67100899,67100897,67100861,67100857,67100851,67100849,67100827,67100801,67100791,67100779,67100777,67100773,67100753,67100731,67100713,67100699,67100687,67100681,67100669,67100659,67100653,67100639,67100617,67100599,67100587,67100569,67100531,67100497,67100489,67100459,67100447,67100389,67100357,67100353,67100347,67100329,67100311,67100303,67100281,67100273,67100263,67100261,67100251,67100249,67100239,67100233,67100197,67100179,67100141,67100123,67100101,67100087,67100017,67100009,67099999,67099987,67099957,67099951,67099937,67099931,67099927,67099913,67099889,67099861,67099853,67099831,67099829,67099819,67099801,67099793,67099789,67099783,67099771,67099727,67099699,67099687,67099633,67099589,67099577,67099559,67099547,67099541,67099523,67099517,67099499,67099481,67099457,67099447,67099433,67099399,67099397,67099387,67099369,67099363,67099339,67099321,67099309,67099273,67099271,67099267,67099231,67099223,67099217,67099213,67099199,67099171,67099141,67099133,67099129,67099121,67099111,67099103,67099057,67099037,67099031,67098991,67098971,67098931,67098923,67098917,67098907,67098853,67098851,67098839,67098827,67098821,67098809,67098793,67098769,67098761,67098743,67098739,67098697,67098653,67098637,67098623,67098589,67098529,67098527,67098487,67098463,67098457,67098433,67098419,67098403,67098389,67098377,67098359,67098347,67098341,67098323,67098319,67098313,67098307,67098301,67098299,67098277,67098271,67098259,67098233,67098203,67098197,67098193,67098179,67098151,67098149,67098121,67098091,67098071,67098067,67098049,67098047,67098041,67098029,67098019,67098013,67098007,67098001,67097993,67097977,67097959,67097917,67097903,67097869,67097837,67097819,67097813,67097803,67097749,67097747,67097729,67097707,67097699,67097669,67097659,67097603,67097593,67097579,67097567,67097551,67097543,67097507,67097489,67097447,67097441,67097413,67097383,67097369,67097363,67097339,67097333,67097323,67097321,67097297,67097291,67097281,67097273,67097269,67097267,67097209,67097183,67097179,67097123,67097111,67097087,67097081,67097053,67097047,67096987,67096979,67096973,67096921,67096919,67096907,67096903,67096867,67096837,67096817,67096769,67096751,67096717,67096703,67096697,67096693,67096669,67096663,67096649,67096613,67096607,67096583,67096559,67096553,67096507,67096499,67096487,67096483,67096439,67096423,67096411,67096409,67096387,67096373,67096327,67096319,67096303,67096301,67096291,67096261,67096247,67096243,67096231,67096223,67096177,67096151,67096109,67096103,67096097,67096069,67096067,67096063,67096031,67096021,67096013,67096009,67095989,67095983,67095971,67095929,67095893,67095883,67095869,67095857,67095851,67095799,67095797,67095737,67095733,67095731,67095703,67095701,67095683,67095667,67095659,67095629,67095607,67095559,67095551,67095529,67095521,67095499,67095493,67095487,67095421,67095419,67095407,67095383,67095359,67095349,67095317,67095239,67095227,67095221,67095211,67095199,67095173,67095143,67095139,67095131,67095101,67095079,67095047,67095043,67095037,67095013,67095011,67095001,67094987,67094981,67094969,67094941,67094917,67094899,67094891,67094837,67094831,67094827,67094821,67094809,67094759,67094743,67094723,67094717,67094711,67094707,67094701,67094647,67094639,67094593,67094591,67094581,67094557,67094527,67094513,67094507,67094501,67094497,67094471,67094459,67094437,67094411,67094407,67094389,67094369,67094353,67094351,67094329,67094311,67094309,67094299,67094297,67094281,67094267,67094179,67094177,67094173,67094161,67094143,67094141,67094123,67094119,67094099,67094047,67094039,67094021,67094011,67093993,67093979,67093937,67093933,67093931,67093903,67093861,67093853,67093843,67093841,67093801,67093759,67093757,67093723,67093721,67093699,67093681,67093633,67093627,67093619,67093613,67093603,67093597,67093591,67093547,67093519,67093489,67093471,67093409,67093381,67093349,67093319,67093307,67093303,67093297,67093291,67093267,67093249,67093223,67093183,67093181,67093171,67093163,67093157,67093129,67093121,67093109,67093087,67093079,67093069,67093043,67093031,67093007,67093003,67092997,67092953,67092947,67092911,67092887,67092871,67092869,67092847,67092841,67092821,67092811,67092787,67092757,67092749,67092737,67092721,67092709,67092691,67092673,67092671,67092643,67092637,67092611,67092607,67092589,67092563,67092539,67092521,67092511,67092491,67092461,67092451,67092419,67092407,67092391,67092367,67092331,67092323,67092301,67092271,67092247,67092227,67092203,67092199,67092197,67092143,67092139,67092133,67092119,67092107,67092079,67092071,67092041,67092017,67092001,67091987,67091939,67091933,67091923,67091903,67091873,67091861,67091839,67091833,67091821,67091807,67091803,67091797,67091779,67091771,67091743,67091737,67091729,67091683,67091681,67091677,67091669,67091617,67091611,67091561,67091551,67091543,67091501,67091491,67091477,67091467,67091447,67091443,67091441,67091417,67091407,67091369,67091357,67091351,67091341,67091329,67091317,67091291,67091287,67091251,67091243,67091203,67091159,67091149,67091131,67091113,67091107,67091077,67091041,67091039,67091029,67090999,67090979,67090973,67090939,67090937,67090921,67090871,67090861,67090841,67090783,67090769,67090763,67090759,67090711,67090703,67090693,67090679,67090631,67090627,67090613,67090591,67090589,67090579,67090571,67090567,67090561,67090553,67090549,67090547,67090523,67090519,67090489,67090459,67090451,67090433,67090411,67090403,67090399,67090351,67090343,67090321,67090307,67090271,67090259,67090237,67090229,67090223,67090217,67090207,67090189,67090171,67090151,67090129,67090117,67090099,67090091,67090073,67090061,67090043,67090033,67090031,67090027,67090013,67089989,67089949,67089943,67089907,67089877,67089857,67089839,67089829,67089811,67089809,67089793,67089751,67089739,67089733,67089721,67089707,67089697,67089683,67089619,67089587,67089577,67089541,67089527,67089511,67089479,67089469,67089461,67089377,67089329,67089299,67089287,67089283,67089277,67089271,67089241,67089233,67089223,67089221,67089199,67089097,67089059,67089049,67089047,67089013,67088993,67088969,67088963,67088951,67088939,67088911,67088873,67088849,67088839,67088821,67088797,67088779,67088731,67088719,67088717,67088713,67088711,67088683,67088657,67088653,67088627,67088621,67088603,67088597,67088573,67088561,67088521,67088509,67088501,67088473,67088453,67088429,67088393,67088383,67088381,67088347,67088323,67088311,67088303,67088291,67088279,67088267,67088257,67088249,67088209,67088159,67088149,67088117,67088101,67088093,67088081,67088071,67088059,67088039,67088023,67088011,67087981,67087973,67087961,67087957,67087913,67087901,67087883,67087873,67087871,67087859,67087799,67087781,67087777,67087747,67087723,67087717,67087693,67087681,67087679,67087649,67087637,67087591,67087583,67087571,67087567,67087547,67087529,67087519,67087487,67087483,67087463,67087459,67087451,67087421,67087417,67087381,67087367,67087351,67087277,67087259,67087249,67087243,67087217,67087201,67087187,67087177,67087171,67087127,67087123,67087103,67087087,67087039,67087019,67086983,67086979,67086961,67086949,67086937,67086931,67086917,67086893,67086871,67086869,67086839,67086827,67086823,67086793,67086757,67086727,67086673,67086671,67086667,67086647,67086637,67086629,67086623,67086611,67086589,67086559,67086521,67086457,67086433,67086421,67086391,67086361,67086347,67086337,67086323,67086317,67086311,67086307,67086293,67086281,67086259,67086211,67086191,67086137,67086109,67086083,67086067,67086053,67086049,67086043,67086013,67086007,67086001,67085959,67085939,67085933,67085923,67085911,67085899,67085869,67085867,67085861,67085849,67085839,67085831,67085819,67085813,67085803,67085801,67085783,67085771,67085761,67085741,67085731,67085701,67085677,67085657,67085647,67085639,67085617,67085609,67085569,67085533,67085531,67085527,67085521,67085453,67085443,67085437,67085429,67085401,67085377,67085357,67085353,67085351,67085341,67085303,67085287,67085267,67085261,67085233,67085191,67085189,67085173,67085171,67085159,67085119,67085101,67085099,67085093,67085059,67085047,67085003,67084993,67084981,67084973,67084931,67084891,67084879,67084861,67084817,67084807,67084799,67084793,67084789,67084783,67084781,67084777,67084757,67084753,67084751,67084723,67084709,67084681,67084679,67084657,67084643,67084639,67084637,67084609,67084603,67084553,67084547,67084517,67084513,67084483,67084477,67084471,67084447,67084439,67084427,67084417,67084387,67084349,67084333,67084331,67084313,67084309,67084289,67084267,67084247,67084189,67084187,67084177,67084141,67084139,67084111,67084097,67084081,67084049,67084033,67084013,67084001,67083977,67083959,67083943,67083937,67083901,67083883,67083871,67083859,67083829,67083811,67083803,67083799,67083787,67083781,67083773,67083769,67083761,67083739,67083727,67083707,67083703,67083697,67083689,67083631,67083629,67083619,67083613,67083589,67083539,67083521,67083517,67083481,67083461,67083451,67083437,67083371,67083323,67083239,67083221,67083217,67083209,67083199,67083197,67083193,67083113,67083097,67083067,67083043,67083041,67083017,67082989,67082987,67082963,67082933,67082909,67082891,67082861,67082857,67082843,67082831,67082809,67082801,67082783,67082779,67082753,67082707,67082699,67082689,67082671,67082657,67082599,67082579,67082557,67082551,67082549,67082531,67082503,67082497,67082453,67082417,67082399,67082383,67082363,67082341,67082339,67082321,67082311,67082251,67082231,67082227,67082189,67082159,67082143,67082131,67082129,67082123,67082101,67082083,67082023,67082003,67081957,67081919,67081897,67081871,67081841,67081829,67081811,67081787,67081783,67081771,67081769,67081759,67081741,67081733,67081717,67081709,67081697,67081691,67081687,67081681,67081661,67081633,67081631,67081621,67081603,67081601,67081583,67081579,67081577,67081537,67081529,67081499,67081477,67081459,67081429,67081423,67081393,67081351,67081319,67081309,67081283,67081249,67081243,67081237,67081219,67081213,67081211,67081159,67081139,67081127,67081123,67081103,67081097,67081073,67081057,67081051,67080977,67080971,67080967,67080947,67080917,67080859,67080833,67080823,67080821,67080803,67080781,67080763,67080757,67080751,67080737,67080709,67080701,67080679,67080653,67080647,67080631,67080557,67080553,67080527,67080491,67080479,67080439,67080437,67080413,67080367,67080361,67080353,67080337,67080329,67080323,67080319,67080287,67080281,67080271,67080217,67080191,67080179,67080173,67080157,67080131,67080107,67080073,67080061,67080047,67080037,67080031,67080023,67079993,67079989,67079981,67079963,67079941,67079933,67079917,67079911,67079869,67079863,67079849,67079839,67079801,67079791,67079777,67079767,67079759,67079737,67079711,67079693,67079657,67079647,67079641,67079599,67079591,67079587,67079497,67079491,67079489,67079473,67079461,67079459,67079449,67079437,67079429,67079423,67079393,67079359,67079351,67079347,67079333,67079323,67079317,67079303,67079281,67079267,67079249,67079237,67079219,67079213,67079209,67079203,67079197,67079179,67079153,67079149,67079141,67079123,67079107,67079087,67079083,67079081,67079053,67079041,67079027,67079021,67078981,67078961,67078931,67078919,67078903,67078877,67078871,67078819,67078813,67078807,67078801,67078793,67078789,67078777,67078763,67078703,67078673,67078643,67078577,67078573,67078553,67078519,67078483,67078469,67078463,67078433,67078423,67078391,67078387,67078369,67078367,67078343,67078331,67078309,67078301,67078289,67078283,67078217,67078213,67078199,67078181,67078171,67078169,67078159,67078153,67078147,67078139,67078133,67078127,67078117,67078069,67078061,67078013,67078007,67078001,67077991,67077947,67077931,67077917,67077877,67077859,67077851,67077827,67077811,67077799,67077797,67077793,67077761,67077757,67077737,67077719,67077697,67077643,67077623,67077611,67077607,67077553,67077541,67077539,67077523,67077511,67077503,67077497,67077473,67077469,67077449,67077419,67077403,67077379,67077349,67077341,67077313,67077301,67077299,67077293,67077287,67077259,67077217,67077181,67077173,67077169,67077167,67077161,67077133,67077103,67077079,67077071,67077047,67077007,67077001,67076953,67076929,67076927,67076903,67076899,67076887,67076879,67076869,67076857,67076851,67076843,67076833,67076803,67076773,67076741,67076729,67076693,67076683,67076677,67076663,67076651,67076629,67076627,67076599,67076573,67076549,67076539,67076519,67076497,67076489,67076413,67076411,67076389,67076371,67076357,67076353,67076351,67076341,67076291,67076279,67076263,67076231,67076189,67076147,67076117,67076077,67076071,67076069,67076057,67076039,67076029,67075993,67075991,67075973,67075963,67075949,67075937,67075933,67075913,67075907,67075873,67075867,67075849,67075837,67075823,67075787,67075781,67075769,67075747,67075741,67075699,67075691,67075669,67075663,67075649,67075639,67075633,67075621,67075609,67075607,67075601,67075583,67075577,67075573,67075531 }; + /* + * Generated in SAGE with: + * + * N = 2000 + * p = 2^26 + * L = [] + * while len(L) < N: + * p = previous_prime(p) + * if GF(p)(2).is_primitive_root(): + * L.append(p) + * k = 8 + * for i in range(N/k): + * print ' ' + ', '.join (str(p) for p in L[k*i:k*(i+1)]) + ',' + */ + 67108859, 67108819, 67108763, 67108757, 67108747, 67108739, 67108709, 67108693, + 67108669, 67108667, 67108661, 67108597, 67108579, 67108507, 67108493, 67108453, + 67108387, 67108373, 67108331, 67108219, 67108187, 67108109, 67108037, 67108003, + 67107941, 67107797, 67107787, 67107773, 67107757, 67107749, 67107707, 67107643, + 67107541, 67107539, 67107533, 67107461, 67107427, 67107389, 67107323, 67107317, + 67107301, 67107253, 67107203, 67107149, 67107043, 67106987, 67106821, 67106813, + 67106797, 67106749, 67106717, 67106693, 67106483, 67106477, 67106357, 67106339, + 67106323, 67106243, 67106213, 67106189, 67106107, 67106099, 67106093, 67106059, + 67105963, 67105933, 67105877, 67105867, 67105811, 67105771, 67105763, 67105699, + 67105691, 67105517, 67105459, 67105453, 67105373, 67105349, 67105267, 67105187, + 67105141, 67105133, 67105061, 67104997, 67104931, 67104923, 67104893, 67104883, + 67104859, 67104803, 67104757, 67104707, 67104691, 67104589, 67104581, 67104571, + 67104563, 67104539, 67104517, 67104437, 67104419, 67104379, 67104341, 67104293, + 67104277, 67104251, 67104227, 67104139, 67104061, 67104053, 67103963, 67103909, + 67103867, 67103851, 67103837, 67103821, 67103731, 67103669, 67103653, 67103587, + 67103579, 67103549, 67103507, 67103483, 67103219, 67103173, 67103149, 67103147, + 67103107, 67103083, 67103051, 67103027, 67103021, 67102963, 67102949, 67102901, + 67102843, 67102733, 67102627, 67102613, 67102531, 67102499, 67102459, 67102397, + 67102333, 67102331, 67102283, 67102237, 67102181, 67102163, 67102099, 67102093, + 67102069, 67102067, 67102019, 67101997, 67101989, 67101899, 67101883, 67101877, + 67101779, 67101739, 67101691, 67101637, 67101613, 67101509, 67101493, 67101491, + 67101469, 67101443, 67101413, 67101341, 67101323, 67101299, 67101187, 67101173, + 67101053, 67100987, 67100981, 67100963, 67100947, 67100939, 67100909, 67100899, + 67100861, 67100851, 67100827, 67100773, 67100731, 67100699, 67100669, 67100659, + 67100653, 67100587, 67100459, 67100357, 67100347, 67100179, 67100141, 67100123, + 67100101, 67099987, 67099957, 67099931, 67099861, 67099853, 67099829, 67099819, + 67099699, 67099589, 67099547, 67099541, 67099517, 67099499, 67099397, 67099387, + 67099363, 67099339, 67099267, 67099213, 67099141, 67099133, 67099037, 67098931, + 67098923, 67098917, 67098907, 67098827, 67098821, 67098739, 67098653, 67098589, + 67098419, 67098389, 67098347, 67098341, 67098323, 67098299, 67098277, 67098259, + 67098203, 67098197, 67098179, 67098149, 67098067, 67098029, 67097917, 67097819, + 67097813, 67097803, 67097747, 67097699, 67097669, 67097659, 67097579, 67097413, + 67097363, 67097339, 67097333, 67097291, 67097269, 67097123, 67097053, 67096987, + 67096979, 67096973, 67096907, 67096867, 67096837, 67096693, 67096669, 67096507, + 67096499, 67096483, 67096411, 67096387, 67096373, 67096301, 67096109, 67096067, + 67096021, 67096013, 67095989, 67095971, 67095893, 67095869, 67095797, 67095731, + 67095701, 67095683, 67095667, 67095659, 67095629, 67095499, 67095421, 67095419, + 67095349, 67095317, 67095173, 67095139, 67095131, 67095101, 67095037, 67095011, + 67094987, 67094981, 67094917, 67094899, 67094891, 67094837, 67094827, 67094723, + 67094717, 67094707, 67094701, 67094581, 67094557, 67094507, 67094501, 67094459, + 67094437, 67094411, 67094389, 67094309, 67094299, 67094267, 67094141, 67094123, + 67094099, 67093979, 67093933, 67093931, 67093861, 67093853, 67093757, 67093723, + 67093699, 67093627, 67093619, 67093613, 67093603, 67093597, 67093547, 67093349, + 67093307, 67093181, 67093171, 67093163, 67093157, 67093109, 67093069, 67093043, + 67093003, 67092997, 67092947, 67092869, 67092821, 67092787, 67092757, 67092749, + 67092709, 67092691, 67092643, 67092611, 67092563, 67092539, 67092491, 67092461, + 67092419, 67092331, 67092323, 67092301, 67092227, 67092203, 67092197, 67092107, + 67091987, 67091939, 67091933, 67091923, 67091797, 67091779, 67091771, 67091669, + 67091611, 67091491, 67091477, 67091443, 67091357, 67091341, 67091243, 67091203, + 67091149, 67091107, 67091029, 67090979, 67090973, 67090939, 67090861, 67090763, + 67090627, 67090613, 67090589, 67090579, 67090549, 67090547, 67090523, 67090459, + 67090451, 67090411, 67090403, 67090307, 67090259, 67090229, 67090189, 67090117, + 67090099, 67090091, 67090043, 67090027, 67090013, 67089949, 67089829, 67089739, + 67089733, 67089707, 67089683, 67089587, 67089541, 67089461, 67089299, 67089283, + 67089277, 67089221, 67089059, 67088963, 67088821, 67088797, 67088779, 67088717, + 67088683, 67088653, 67088627, 67088621, 67088603, 67088597, 67088573, 67088509, + 67088501, 67088453, 67088429, 67088381, 67088347, 67088267, 67088117, 67088093, + 67088059, 67087973, 67087957, 67087901, 67087883, 67087859, 67087723, 67087717, + 67087637, 67087571, 67087547, 67087459, 67087451, 67087421, 67087277, 67087259, + 67087243, 67087187, 67087123, 67087019, 67086949, 67086931, 67086917, 67086893, + 67086869, 67086827, 67086757, 67086667, 67086637, 67086629, 67086611, 67086589, + 67086421, 67086347, 67086323, 67086317, 67086307, 67086293, 67086259, 67086109, + 67086067, 67086053, 67086043, 67086013, 67085939, 67085933, 67085899, 67085869, + 67085867, 67085861, 67085819, 67085813, 67085803, 67085771, 67085741, 67085677, + 67085531, 67085443, 67085437, 67085429, 67085357, 67085341, 67085267, 67085189, + 67085173, 67085171, 67085099, 67085093, 67085003, 67084981, 67084973, 67084931, + 67084861, 67084789, 67084757, 67084709, 67084643, 67084637, 67084603, 67084547, + 67084517, 67084483, 67084427, 67084349, 67084333, 67084331, 67084309, 67084189, + 67084187, 67084139, 67084013, 67083883, 67083859, 67083811, 67083803, 67083787, + 67083739, 67083707, 67083629, 67083619, 67083613, 67083539, 67083517, 67083461, + 67083437, 67083371, 67083323, 67083221, 67083197, 67083067, 67082989, 67082987, + 67082963, 67082933, 67082909, 67082891, 67082861, 67082843, 67082779, 67082707, + 67082699, 67082579, 67082549, 67082531, 67082453, 67082363, 67082339, 67082227, + 67082189, 67082131, 67082123, 67082101, 67082003, 67081957, 67081829, 67081811, + 67081787, 67081741, 67081733, 67081709, 67081691, 67081661, 67081579, 67081499, + 67081477, 67081429, 67081283, 67081237, 67081213, 67081211, 67081139, 67081123, + 67081051, 67080971, 67080947, 67080917, 67080859, 67080821, 67080803, 67080763, + 67080701, 67080653, 67080557, 67080491, 67080437, 67080413, 67080323, 67080179, + 67080173, 67080131, 67080107, 67080061, 67079981, 67079963, 67079941, 67079933, + 67079917, 67079693, 67079587, 67079491, 67079459, 67079429, 67079347, 67079333, + 67079323, 67079317, 67079267, 67079237, 67079219, 67079213, 67079203, 67079149, + 67079141, 67079123, 67079083, 67079027, 67078981, 67078931, 67078877, 67078819, + 67078813, 67078789, 67078763, 67078643, 67078573, 67078469, 67078387, 67078331, + 67078309, 67078301, 67078283, 67078213, 67078181, 67078139, 67078133, 67078069, + 67078061, 67078013, 67077947, 67077917, 67077851, 67077827, 67077797, 67077757, + 67077643, 67077611, 67077541, 67077539, 67077419, 67077403, 67077379, 67077349, + 67077341, 67077299, 67077293, 67077259, 67077181, 67077173, 67077133, 67076899, + 67076869, 67076851, 67076843, 67076803, 67076773, 67076741, 67076693, 67076683, + 67076677, 67076651, 67076629, 67076627, 67076573, 67076539, 67076413, 67076411, + 67076357, 67076341, 67076291, 67076189, 67076147, 67076117, 67076077, 67076069, + 67076029, 67075973, 67075949, 67075933, 67075907, 67075867, 67075787, 67075691, + 67075669, 67075573, 67075493, 67075373, 67075363, 67075277, 67075243, 67075147, + 67075109, 67075091, 67075069, 67075067, 67075037, 67074947, 67074901, 67074859, + 67074853, 67074851, 67074829, 67074691, 67074619, 67074613, 67074611, 67074587, + 67074523, 67074467, 67074317, 67074307, 67074277, 67074269, 67074179, 67073947, + 67073917, 67073899, 67073803, 67073731, 67073707, 67073701, 67073683, 67073651, + 67073603, 67073597, 67073579, 67073533, 67073459, 67073387, 67073339, 67073333, + 67073323, 67073309, 67073261, 67073197, 67073189, 67073107, 67073051, 67073003, + 67072997, 67072979, 67072909, 67072877, 67072781, 67072757, 67072739, 67072693, + 67072541, 67072373, 67072363, 67072339, 67072309, 67072283, 67072277, 67072253, + 67072139, 67072037, 67071997, 67071989, 67071947, 67071923, 67071899, 67071883, + 67071877, 67071821, 67071707, 67071637, 67071547, 67071419, 67071413, 67071317, + 67071299, 67071293, 67071157, 67071149, 67071139, 67071061, 67070989, 67070981, + 67070909, 67070869, 67070837, 67070827, 67070813, 67070803, 67070749, 67070699, + 67070621, 67070573, 67070539, 67070459, 67070357, 67070317, 67070291, 67070261, + 67070251, 67070203, 67070053, 67070027, 67069979, 67069819, 67069813, 67069787, + 67069781, 67069763, 67069669, 67069661, 67069549, 67069531, 67069469, 67069427, + 67069397, 67069339, 67069157, 67069133, 67069109, 67069099, 67069043, 67069021, + 67068971, 67068931, 67068787, 67068653, 67068643, 67068629, 67068571, 67068557, + 67068539, 67068509, 67068493, 67068371, 67068301, 67068269, 67068259, 67068227, + 67068203, 67068187, 67068181, 67068173, 67068163, 67068101, 67067971, 67067933, + 67067909, 67067789, 67067779, 67067773, 67067723, 67067629, 67067597, 67067501, + 67067453, 67067437, 67067389, 67067387, 67067339, 67067293, 67067269, 67067213, + 67067173, 67067171, 67067069, 67067059, 67067029, 67066907, 67066861, 67066859, + 67066771, 67066757, 67066723, 67066709, 67066667, 67066619, 67066613, 67066379, + 67066277, 67066243, 67066211, 67066157, 67066093, 67066061, 67066019, 67065979, + 67065931, 67065917, 67065883, 67065827, 67065787, 67065667, 67065659, 67065653, + 67065643, 67065619, 67065563, 67065461, 67065437, 67065389, 67065373, 67065293, + 67065283, 67065227, 67065211, 67065157, 67065091, 67064843, 67064827, 67064819, + 67064773, 67064771, 67064741, 67064717, 67064693, 67064611, 67064597, 67064587, + 67064579, 67064549, 67064467, 67064299, 67064267, 67064237, 67064213, 67064197, + 67064171, 67064147, 67064131, 67064093, 67064059, 67063853, 67063813, 67063723, + 67063643, 67063637, 67063523, 67063517, 67063397, 67063349, 67063307, 67063189, + 67063163, 67063133, 67063123, 67063099, 67063093, 67063069, 67063043, 67063037, + 67063019, 67062923, 67062893, 67062883, 67062859, 67062659, 67062629, 67062613, + 67062539, 67062509, 67062469, 67062461, 67062379, 67062349, 67062299, 67062221, + 67062179, 67062157, 67062067, 67062029, 67062011, 67061987, 67061947, 67061933, + 67061909, 67061867, 67061861, 67061789, 67061747, 67061693, 67061627, 67061597, + 67061563, 67061531, 67061333, 67061299, 67061227, 67061219, 67061179, 67061173, + 67061147, 67061003, 67060997, 67060957, 67060949, 67060933, 67060837, 67060813, + 67060627, 67060549, 67060523, 67060517, 67060507, 67060451, 67060421, 67060373, + 67060333, 67060307, 67060277, 67060261, 67060229, 67060187, 67060171, 67060141, + 67060109, 67060067, 67060043, 67060027, 67060013, 67059989, 67059907, 67059899, + 67059869, 67059779, 67059757, 67059749, 67059731, 67059709, 67059701, 67059637, + 67059613, 67059581, 67059547, 67059533, 67059523, 67059437, 67059427, 67059259, + 67059173, 67059061, 67058963, 67058941, 67058909, 67058899, 67058891, 67058867, + 67058843, 67058723, 67058699, 67058669, 67058627, 67058531, 67058389, 67058347, + 67058339, 67058323, 67058309, 67058269, 67058227, 67058213, 67058141, 67058003, + 67057883, 67057853, 67057819, 67057813, 67057763, 67057733, 67057723, 67057717, + 67057709, 67057643, 67057499, 67057493, 67057387, 67057381, 67057379, 67057363, + 67057307, 67057147, 67057141, 67056989, 67056971, 67056917, 67056877, 67056763, + 67056677, 67056667, 67056659, 67056637, 67056611, 67056581, 67056461, 67056419, + 67056371, 67056259, 67056251, 67056179, 67056107, 67056083, 67056053, 67056043, + 67056013, 67055957, 67055909, 67055843, 67055789, 67055771, 67055629, 67055539, + 67055491, 67055477, 67055467, 67055347, 67055309, 67055299, 67055291, 67055267, + 67055243, 67055203, 67055179, 67055147, 67054997, 67054979, 67054907, 67054877, + 67054859, 67054763, 67054733, 67054717, 67054541, 67054523, 67054483, 67054411, + 67054387, 67054301, 67054213, 67054051, 67054037, 67053997, 67053971, 67053941, + 67053893, 67053787, 67053733, 67053659, 67053653, 67053643, 67053629, 67053619, + 67053563, 67053557, 67053523, 67053517, 67053419, 67053397, 67053373, 67053317, + 67053251, 67053229, 67053197, 67053179, 67053149, 67053037, 67053029, 67052963, + 67052939, 67052933, 67052819, 67052813, 67052779, 67052723, 67052677, 67052509, + 67052477, 67052467, 67052243, 67052021, 67051979, 67051949, 67051909, 67051883, + 67051861, 67051813, 67051811, 67051781, 67051709, 67051651, 67051643, 67051573, + 67051571, 67051547, 67051493, 67051379, 67051373, 67051331, 67051253, 67051189, + 67051181, 67051099, 67051069, 67051021, 67050979, 67050931, 67050917, 67050869, + 67050827, 67050749, 67050707, 67050701, 67050619, 67050611, 67050541, 67050509, + 67050443, 67050421, 67050419, 67050371, 67050301, 67050299, 67050251, 67050187, + 67050101, 67050077, 67049987, 67049981, 67049963, 67049909, 67049891, 67049867, + 67049837, 67049813, 67049747, 67049707, 67049693, 67049629, 67049627, 67049603, + 67049573, 67049539, 67049453, 67049413, 67049267, 67049261, 67049251, 67049179, + 67049149, 67049141, 67049093, 67049027, 67048963, 67048859, 67048819, 67048757, + 67048733, 67048693, 67048627, 67048621, 67048523, 67048469, 67048411, 67048349, + 67048277, 67048259, 67048141, 67048123, 67048109, 67047989, 67047859, 67047787, + 67047763, 67047749, 67047733, 67047731, 67047683, 67047619, 67047613, 67047611, + 67047581, 67047517, 67047509, 67047413, 67047397, 67047283, 67047131, 67047077, + 67047061, 67047059, 67047053, 67047037, 67047011, 67046989, 67046939, 67046899, + 67046797, 67046779, 67046731, 67046549, 67046531, 67046477, 67046467, 67046437, + 67046429, 67046411, 67046387, 67046363, 67046341, 67046333, 67046261, 67046197, + 67046107, 67046069, 67046059, 67046051, 67045973, 67045949, 67045907, 67045877, + 67045723, 67045613, 67045579, 67045571, 67045549, 67045541, 67045507, 67045403, + 67045339, 67045301, 67045267, 67045261, 67045211, 67045189, 67045133, 67045117, + 67045109, 67045061, 67045037, 67045019, 67044973, 67044907, 67044829, 67044797, + 67044779, 67044773, 67044763, 67044739, 67044541, 67044427, 67044371, 67044347, + 67044301, 67044283, 67044203, 67044157, 67044083, 67044077, 67044067, 67044053, + 67043981, 67043939, 67043909, 67043813, 67043797, 67043707, 67043507, 67043477, + 67043443, 67043243, 67043147, 67043107, 67043083, 67043069, 67043059, 67043051, + 67043027, 67042979, 67042973, 67042949, 67042931, 67042709, 67042643, 67042637, + 67042589, 67042571, 67042541, 67042523, 67042501, 67042453, 67042427, 67042363, + 67042307, 67042301, 67042259, 67042211, 67042091, 67042043, 67041907, 67041893, + 67041869, 67041797, 67041749, 67041731, 67041701, 67041613, 67041581, 67041563, + 67041547, 67041539, 67041509, 67041467, 67041461, 67041419, 67041371, 67041307, + 67041283, 67041269, 67041203, 67041187, 67041179, 67041043, 67040917, 67040893, + 67040789, 67040773, 67040723, 67040629, 67040627, 67040621, 67040587, 67040549, + 67040509, 67040443, 67040387, 67040381, 67040317, 67040291, 67040261, 67040243, + 67040219, 67040203, 67040069, 67040021, 67039997, 67039957, 67039883, 67039877, + 67039867, 67039853, 67039811, 67039757, 67039723, 67039699, 67039669, 67039627, + 67039613, 67039571, 67039547, 67039501, 67039499, 67039309, 67039307, 67039253, + 67039187, 67039139, 67039051, 67039003, 67038947, 67038941, 67038877, 67038869, + 67038827, 67038787, 67038739, 67038637, 67038589, 67038557, 67038539, 67038533, + 67038427, 67038371, 67038341, 67038299, 67038277, 67038221, 67038197, 67038173, + 67038149, 67038133, 67038131, 67038067, 67038029, 67038011, 67037843, 67037837, + 67037819, 67037797, 67037771, 67037723, 67037683, 67037627, 67037603, 67037563, + 67037483, 67037459, 67037429, 67037389, 67037261, 67037227, 67037213, 67037107, + 67037101, 67037053, 67036979, 67036909, 67036901, 67036877, 67036867, 67036843, + 67036819, 67036811, 67036747, 67036643, 67036589, 67036547, 67036507, 67036469, + 67036397, 67036379, 67036357, 67036259, 67036243, 67036187, 67036181, 67036157, + 67036093, 67036027, 67036019, 67035989, 67035949, 67035931, 67035901, 67035803, + 67035707, 67035659, 67035653, 67035643, 67035589, 67035499, 67035491, 67035469, + 67035413, 67035349, 67035347, 67035307, 67035277, 67035149, 67035107, 67035077, + 67034987, 67034819, 67034699, 67034683, 67034677, 67034477, 67034419, 67034381, + 67034339, 67034309, 67034293, 67034171, 67034117, 67034069, 67034021, 67033859, + 67033763, 67033741, 67033709, 67033699, 67033667, 67033619, 67033613, 67033597, + 67033541, 67033507, 67033469, 67033429, 67033403, 67033357, 67033331, 67033283, + 67033277, 67033229, 67033157, 67033117, 67033061, 67032997, 67032941, 67032811, + 67032803, 67032701, 67032661, 67032653, 67032613, 67032587, 67032541, 67032523, + 67032517, 67032491, 67032461, 67032451, 67032443, 67032421, 67032389, 67032349, + 67032347, 67032299, 67032221, 67032179, 67032101, 67031941, 67031933, 67031893, + 67031851, 67031819, 67031813, 67031749, 67031693, 67031509, 67031483, 67031443, + 67031429, 67031387, 67031243, 67031219, 67031203, 67031189, 67031149, 67031147, + 67031123, 67031101, 67031059, 67030963, 67030933, 67030907, 67030867, 67030853, + 67030757, 67030741, 67030739, 67030693, 67030669, 67030597, 67030517, 67030451, + 67030427, 67030333, 67030331, 67030181, 67030069, 67030013, 67029947, 67029931, + 67029923, 67029917, 67029901, 67029811, 67029779, 67029763, 67029749, 67029709, + 67029707, 67029581, 67029541, 67029509, 67029491, 67029451, 67029437, 67029427, + 67029421, 67029373, 67029341, 67029323, 67029293, 67029269, 67029253, 67029229, + 67029077, 67029059, 67029043, 67029013, 67028981, 67028917, 67028771, 67028669, + 67028653, 67028651, 67028597, 67028557, 67028539, 67028477, 67028413, 67028387, + 67028243, 67028197, 67028083, 67028069, 67028021, 67027997, 67027963, 67027949, + 67027931, 67027867, 67027861, 67027811, 67027693, 67027627, 67027619, 67027547, + 67027507, 67027453, 67027427, 67027339, 67027283, 67027237, 67027189, 67027187, + 67027069, 67027027, 67027019, 67027013, 67026979, 67026907, 67026829, 67026811, + 67026803, 67026787, 67026643, 67026613, 67026539, 67026469, 67026467, 67026451, + 67026437, 67026403, 67026307, 67026299, 67026227, 67026187, 67026139, 67026131, + 67026109, 67026107, 67026083, 67026067, 67025971, 67025963, 67025957, 67025843, + 67025779, 67025773, 67025723, 67025701, 67025683, 67025669, 67025579, 67025573, + 67025531, 67025501, 67025459, 67025411, 67025363, 67025219, 67025213, 67025173, + 67025107, 67025051, 67025029, 67024987, 67024957, 67024901, 67024891, 67024733, + 67024637, 67024621, 67024613, 67024499, 67024483, 67024429, 67024411, 67024339, + 67024157, 67024141, 67024003, 67023989, 67023899, 67023893, 67023779, 67023763, + 67023667, 67023653, 67023493, 67023443, 67023421, 67023419, 67023371, 67023349, + 67023347, 67023331, 67023293, 67023259, 67023227, 67023211, 67023179, 67023157, + 67023139, 67023133, 67023091, 67023059, 67023053, 67023043, 67023037, 67023029, + 67022869, 67022819, 67022797, 67022723, 67022707, 67022701, 67022699, 67022693, + 67022539, 67022507, 67022477, 67022467, 67022387, 67022261, 67022243, 67022237, + 67022213, 67022147, 67022077, 67022027, 67021979, 67021963, 67021901, 67021861, + 67021741, 67021739, 67021723, 67021637, 67021621, 67021613, 67021499, 67021469, + 67021459, 67021363, 67021301, 67021237, 67021147, 67021139, 67021099, 67021067, + 67021043, 67020979, 67020973, 67020917, 67020893, 67020869, 67020797, 67020763, + 67020683, 67020589, 67020587, 67020557, 67020491, 67020397, 67020323, 67020299, + 67020251, 67020179, 67020077, 67020053, 67020013, 67019963, 67019867, 67019837, + 67019819, 67019747, 67019741, 67019653, 67019587, 67019549, 67019483, 67019437, + 67019371, 67019299, 67019123, 67019077, 67019027, 67019003, 67018997, 67018843, + 67018837, 67018771, 67018733, 67018717, 67018667, 67018613, 67018499, 67018493, + 67018429, 67018397, 67018387, 67018309, 67018181, 67018163, 67018141, 67018139, + 67018069, 67018051, 67017971, 67017931, 67017803, 67017763, 67017733, 67017707, + 67017677, 67017661, 67017659, 67017571, 67017563, 67017547, 67017413, 67017371, + 67017299, 67017277, 67017227, 67017211, 67017163, 67017157, 67017107, 67017059, + 67016869, 67016821, 67016813, 67016723, 67016717, 67016707, 67016693, 67016627, + 67016611, 67016483, 67016437, 67016387, 67016269, 67016197, 67016189, 67016179, +}; } // namespace internal } // namespace CGAL