Skip to content

Instantly share code, notes, and snippets.

@skaslev
Forked from alaingalvan/sobol.cpp
Created September 26, 2019 09:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save skaslev/585ef39e1cfded3ddbbcacc9e188d04e to your computer and use it in GitHub Desktop.
Save skaslev/585ef39e1cfded3ddbbcacc9e188d04e to your computer and use it in GitHub Desktop.
Sobol Quasi-Random Sequence Generation by Dr. John Burkardt. Forked to not use cout errors, use less dimensions (saving code size)
/**
* Sobol Noise Generation
* GNU LGPL license
* By Dr. John Burkardt (Virginia Tech)
* https://gist.github.com/alaingalvan/af92ddbaf3bb01f5ef29bc431bd37891
*/
//returns the position of the high 1 bit base 2 in an integer n
int getHighBit1(int n)
{
int bit;
bit = 0;
while (0 < n)
{
bit = bit + 1;
n = n / 2;
}
return bit;
}
//returns the position of the low 0 bit base 2 in an integer n.
int getLowBit0( int n )
{
int bit;
int n2;
bit = 0;
while (true)
{
bit = bit + 1;
n2 = n / 2;
if (n == 2 * n2)
{
break;
}
n = n2;
}
return bit;
}
void sobolFloat( int numDimensions, size_t *seed, float outFloat[ ] )
{
# define DIM_MAX2 512
# define LOG_MAX 13
static int atmost;
static int dim_num_save = 0;
int i;
bool includ[LOG_MAX];
static bool initialized = false;
int j;
int j2;
int k;
int l;
static int lastq[DIM_MAX2];
int m;
static int maxcol;
int newv;
static int poly[DIM_MAX2] =
{
1, 3, 7, 11, 13, 19, 25, 37, 59, 47,
61, 55, 41, 67, 97, 91, 109, 103, 115, 131,
193, 137, 145, 143, 241, 157, 185, 167, 229, 171,
213, 191, 253, 203, 211, 239, 247, 285, 369, 299,
301, 333, 351, 355, 357, 361, 391, 397, 425, 451,
463, 487, 501, 529, 539, 545, 557, 563, 601, 607,
617, 623, 631, 637, 647, 661, 675, 677, 687, 695,
701, 719, 721, 731, 757, 761, 787, 789, 799, 803,
817, 827, 847, 859, 865, 875, 877, 883, 895, 901,
911, 949, 953, 967, 971, 973, 981, 985, 995, 1001,
1019, 1033, 1051, 1063, 1069, 1125, 1135, 1153, 1163, 1221,
1239, 1255, 1267, 1279, 1293, 1305, 1315, 1329, 1341, 1347,
1367, 1387, 1413, 1423, 1431, 1441, 1479, 1509, 1527, 1531,
1555, 1557, 1573, 1591, 1603, 1615, 1627, 1657, 1663, 1673,
1717, 1729, 1747, 1759, 1789, 1815, 1821, 1825, 1849, 1863,
1869, 1877, 1881, 1891, 1917, 1933, 1939, 1969, 2011, 2035,
2041, 2053, 2071, 2091, 2093, 2119, 2147, 2149, 2161, 2171,
2189, 2197, 2207, 2217, 2225, 2255, 2257, 2273, 2279, 2283,
2293, 2317, 2323, 2341, 2345, 2363, 2365, 2373, 2377, 2385,
2395, 2419, 2421, 2431, 2435, 2447, 2475, 2477, 2489, 2503,
2521, 2533, 2551, 2561, 2567, 2579, 2581, 2601, 2633, 2657,
2669, 2681, 2687, 2693, 2705, 2717, 2727, 2731, 2739, 2741,
2773, 2783, 2793, 2799, 2801, 2811, 2819, 2825, 2833, 2867,
2879, 2881, 2891, 2905, 2911, 2917, 2927, 2941, 2951, 2955,
2963, 2965, 2991, 2999, 3005, 3017, 3035, 3037, 3047, 3053,
3083, 3085, 3097, 3103, 3159, 3169, 3179, 3187, 3205, 3209,
3223, 3227, 3229, 3251, 3263, 3271, 3277, 3283, 3285, 3299,
3305, 3319, 3331, 3343, 3357, 3367, 3373, 3393, 3399, 3413,
3417, 3427, 3439, 3441, 3475, 3487, 3497, 3515, 3517, 3529,
3543, 3547, 3553, 3559, 3573, 3589, 3613, 3617, 3623, 3627,
3635, 3641, 3655, 3659, 3669, 3679, 3697, 3707, 3709, 3713,
3731, 3743, 3747, 3771, 3791, 3805, 3827, 3833, 3851, 3865,
3889, 3895, 3933, 3947, 3949, 3957, 3971, 3985, 3991, 3995,
4007, 4013, 4021, 4045, 4051, 4069, 4073, 4179, 4201, 4219,
4221, 4249, 4305, 4331, 4359, 4383, 4387, 4411, 4431, 4439,
4449, 4459, 4485, 4531, 4569, 4575, 4621, 4663, 4669, 4711,
4723, 4735, 4793, 4801, 4811, 4879, 4893, 4897, 4921, 4927,
4941, 4977, 5017, 5027, 5033, 5127, 5169, 5175, 5199, 5213,
5223, 5237, 5287, 5293, 5331, 5391, 5405, 5453, 5523, 5573,
5591, 5597, 5611, 5641, 5703, 5717, 5721, 5797, 5821, 5909,
5913, 5955, 5957, 6005, 6025, 6061, 6067, 6079, 6081, 6231,
6237, 6289, 6295, 6329, 6383, 6427, 6453, 6465, 6501, 6523,
6539, 6577, 6589, 6601, 6607, 6631, 6683, 6699, 6707, 6761,
6795, 6865, 6881, 6901, 6923, 6931, 6943, 6999, 7057, 7079,
7103, 7105, 7123, 7173, 7185, 7191, 7207, 7245, 7303, 7327,
7333, 7355, 7365, 7369, 7375, 7411, 7431, 7459, 7491, 7505,
7515, 7541, 7557, 7561, 7701, 7705, 7727, 7749, 7761, 7783,
7795, 7823, 7907, 7953, 7963, 7975, 8049, 8089, 8123, 8125,
8137, 8219, 8231, 8245, 8275, 8293, 8303, 8331, 8333, 8351,
8357, 8367, 8379, 8381, 8387, 8393, 8417, 8435, 8461, 8469,
8489, 8495, 8507, 8515, 8551, 8555, 8569, 8585, 8599, 8605,
8639, 8641 };
static float recipd;
static int seed_save = - 1;
int seed_temp;
static int v[DIM_MAX2][LOG_MAX];
if ( !initialized || numDimensions != dim_num_save )
{
initialized = true;
for ( i = 0; i < DIM_MAX2; i++ )
{
for ( j = 0; j < LOG_MAX; j++ )
{
v[i][j] = 0;
}
}
//
// Initialize (part of) V.
//
v[0][0] = 1;
v[1][0] = 1;
v[2][0] = 1;
v[3][0] = 1;
v[4][0] = 1;
v[5][0] = 1;
v[6][0] = 1;
v[7][0] = 1;
v[8][0] = 1;
v[9][0] = 1;
v[10][0] = 1;
v[11][0] = 1;
v[12][0] = 1;
v[13][0] = 1;
v[14][0] = 1;
v[15][0] = 1;
v[16][0] = 1;
v[17][0] = 1;
v[18][0] = 1;
v[19][0] = 1;
v[20][0] = 1;
v[21][0] = 1;
v[22][0] = 1;
v[23][0] = 1;
v[24][0] = 1;
v[25][0] = 1;
v[26][0] = 1;
v[27][0] = 1;
v[28][0] = 1;
v[29][0] = 1;
v[30][0] = 1;
v[31][0] = 1;
v[32][0] = 1;
v[33][0] = 1;
v[34][0] = 1;
v[35][0] = 1;
v[36][0] = 1;
v[37][0] = 1;
v[38][0] = 1;
v[39][0] = 1;
v[40][0] = 1;
v[41][0] = 1;
v[42][0] = 1;
v[43][0] = 1;
v[44][0] = 1;
v[45][0] = 1;
v[46][0] = 1;
v[47][0] = 1;
v[48][0] = 1;
v[49][0] = 1;
v[50][0] = 1;
v[51][0] = 1;
v[52][0] = 1;
v[53][0] = 1;
v[54][0] = 1;
v[55][0] = 1;
v[56][0] = 1;
v[57][0] = 1;
v[58][0] = 1;
v[59][0] = 1;
v[60][0] = 1;
v[61][0] = 1;
v[62][0] = 1;
v[63][0] = 1;
v[64][0] = 1;
v[65][0] = 1;
v[66][0] = 1;
v[67][0] = 1;
v[68][0] = 1;
v[69][0] = 1;
v[70][0] = 1;
v[71][0] = 1;
v[72][0] = 1;
v[73][0] = 1;
v[74][0] = 1;
v[75][0] = 1;
v[76][0] = 1;
v[77][0] = 1;
v[78][0] = 1;
v[79][0] = 1;
v[80][0] = 1;
v[81][0] = 1;
v[82][0] = 1;
v[83][0] = 1;
v[84][0] = 1;
v[85][0] = 1;
v[86][0] = 1;
v[87][0] = 1;
v[88][0] = 1;
v[89][0] = 1;
v[90][0] = 1;
v[91][0] = 1;
v[92][0] = 1;
v[93][0] = 1;
v[94][0] = 1;
v[95][0] = 1;
v[96][0] = 1;
v[97][0] = 1;
v[98][0] = 1;
v[99][0] = 1;
v[100][0] = 1;
v[101][0] = 1;
v[102][0] = 1;
v[103][0] = 1;
v[104][0] = 1;
v[105][0] = 1;
v[106][0] = 1;
v[107][0] = 1;
v[108][0] = 1;
v[109][0] = 1;
v[110][0] = 1;
v[111][0] = 1;
v[112][0] = 1;
v[113][0] = 1;
v[114][0] = 1;
v[115][0] = 1;
v[116][0] = 1;
v[117][0] = 1;
v[118][0] = 1;
v[119][0] = 1;
v[120][0] = 1;
v[121][0] = 1;
v[122][0] = 1;
v[123][0] = 1;
v[124][0] = 1;
v[125][0] = 1;
v[126][0] = 1;
v[127][0] = 1;
v[128][0] = 1;
v[129][0] = 1;
v[130][0] = 1;
v[131][0] = 1;
v[132][0] = 1;
v[133][0] = 1;
v[134][0] = 1;
v[135][0] = 1;
v[136][0] = 1;
v[137][0] = 1;
v[138][0] = 1;
v[139][0] = 1;
v[140][0] = 1;
v[141][0] = 1;
v[142][0] = 1;
v[143][0] = 1;
v[144][0] = 1;
v[145][0] = 1;
v[146][0] = 1;
v[147][0] = 1;
v[148][0] = 1;
v[149][0] = 1;
v[150][0] = 1;
v[151][0] = 1;
v[152][0] = 1;
v[153][0] = 1;
v[154][0] = 1;
v[155][0] = 1;
v[156][0] = 1;
v[157][0] = 1;
v[158][0] = 1;
v[159][0] = 1;
v[160][0] = 1;
v[161][0] = 1;
v[162][0] = 1;
v[163][0] = 1;
v[164][0] = 1;
v[165][0] = 1;
v[166][0] = 1;
v[167][0] = 1;
v[168][0] = 1;
v[169][0] = 1;
v[170][0] = 1;
v[171][0] = 1;
v[172][0] = 1;
v[173][0] = 1;
v[174][0] = 1;
v[175][0] = 1;
v[176][0] = 1;
v[177][0] = 1;
v[178][0] = 1;
v[179][0] = 1;
v[180][0] = 1;
v[181][0] = 1;
v[182][0] = 1;
v[183][0] = 1;
v[184][0] = 1;
v[185][0] = 1;
v[186][0] = 1;
v[187][0] = 1;
v[188][0] = 1;
v[189][0] = 1;
v[190][0] = 1;
v[191][0] = 1;
v[192][0] = 1;
v[193][0] = 1;
v[194][0] = 1;
v[195][0] = 1;
v[196][0] = 1;
v[197][0] = 1;
v[198][0] = 1;
v[199][0] = 1;
v[200][0] = 1;
v[201][0] = 1;
v[202][0] = 1;
v[203][0] = 1;
v[204][0] = 1;
v[205][0] = 1;
v[206][0] = 1;
v[207][0] = 1;
v[208][0] = 1;
v[209][0] = 1;
v[210][0] = 1;
v[211][0] = 1;
v[212][0] = 1;
v[213][0] = 1;
v[214][0] = 1;
v[215][0] = 1;
v[216][0] = 1;
v[217][0] = 1;
v[218][0] = 1;
v[219][0] = 1;
v[220][0] = 1;
v[221][0] = 1;
v[222][0] = 1;
v[223][0] = 1;
v[224][0] = 1;
v[225][0] = 1;
v[226][0] = 1;
v[227][0] = 1;
v[228][0] = 1;
v[229][0] = 1;
v[230][0] = 1;
v[231][0] = 1;
v[232][0] = 1;
v[233][0] = 1;
v[234][0] = 1;
v[235][0] = 1;
v[236][0] = 1;
v[237][0] = 1;
v[238][0] = 1;
v[239][0] = 1;
v[240][0] = 1;
v[241][0] = 1;
v[242][0] = 1;
v[243][0] = 1;
v[244][0] = 1;
v[245][0] = 1;
v[246][0] = 1;
v[247][0] = 1;
v[248][0] = 1;
v[249][0] = 1;
v[250][0] = 1;
v[251][0] = 1;
v[252][0] = 1;
v[253][0] = 1;
v[254][0] = 1;
v[255][0] = 1;
v[256][0] = 1;
v[257][0] = 1;
v[258][0] = 1;
v[259][0] = 1;
v[260][0] = 1;
v[261][0] = 1;
v[262][0] = 1;
v[263][0] = 1;
v[264][0] = 1;
v[265][0] = 1;
v[266][0] = 1;
v[267][0] = 1;
v[268][0] = 1;
v[269][0] = 1;
v[270][0] = 1;
v[271][0] = 1;
v[272][0] = 1;
v[273][0] = 1;
v[274][0] = 1;
v[275][0] = 1;
v[276][0] = 1;
v[277][0] = 1;
v[278][0] = 1;
v[279][0] = 1;
v[280][0] = 1;
v[281][0] = 1;
v[282][0] = 1;
v[283][0] = 1;
v[284][0] = 1;
v[285][0] = 1;
v[286][0] = 1;
v[287][0] = 1;
v[288][0] = 1;
v[289][0] = 1;
v[290][0] = 1;
v[291][0] = 1;
v[292][0] = 1;
v[293][0] = 1;
v[294][0] = 1;
v[295][0] = 1;
v[296][0] = 1;
v[297][0] = 1;
v[298][0] = 1;
v[299][0] = 1;
v[300][0] = 1;
v[301][0] = 1;
v[302][0] = 1;
v[303][0] = 1;
v[304][0] = 1;
v[305][0] = 1;
v[306][0] = 1;
v[307][0] = 1;
v[308][0] = 1;
v[309][0] = 1;
v[310][0] = 1;
v[311][0] = 1;
v[312][0] = 1;
v[313][0] = 1;
v[314][0] = 1;
v[315][0] = 1;
v[316][0] = 1;
v[317][0] = 1;
v[318][0] = 1;
v[319][0] = 1;
v[320][0] = 1;
v[321][0] = 1;
v[322][0] = 1;
v[323][0] = 1;
v[324][0] = 1;
v[325][0] = 1;
v[326][0] = 1;
v[327][0] = 1;
v[328][0] = 1;
v[329][0] = 1;
v[330][0] = 1;
v[331][0] = 1;
v[332][0] = 1;
v[333][0] = 1;
v[334][0] = 1;
v[335][0] = 1;
v[336][0] = 1;
v[337][0] = 1;
v[338][0] = 1;
v[339][0] = 1;
v[340][0] = 1;
v[341][0] = 1;
v[342][0] = 1;
v[343][0] = 1;
v[344][0] = 1;
v[345][0] = 1;
v[346][0] = 1;
v[347][0] = 1;
v[348][0] = 1;
v[349][0] = 1;
v[350][0] = 1;
v[351][0] = 1;
v[352][0] = 1;
v[353][0] = 1;
v[354][0] = 1;
v[355][0] = 1;
v[356][0] = 1;
v[357][0] = 1;
v[358][0] = 1;
v[359][0] = 1;
v[360][0] = 1;
v[361][0] = 1;
v[362][0] = 1;
v[363][0] = 1;
v[364][0] = 1;
v[365][0] = 1;
v[366][0] = 1;
v[367][0] = 1;
v[368][0] = 1;
v[369][0] = 1;
v[370][0] = 1;
v[371][0] = 1;
v[372][0] = 1;
v[373][0] = 1;
v[374][0] = 1;
v[375][0] = 1;
v[376][0] = 1;
v[377][0] = 1;
v[378][0] = 1;
v[379][0] = 1;
v[380][0] = 1;
v[381][0] = 1;
v[382][0] = 1;
v[383][0] = 1;
v[384][0] = 1;
v[385][0] = 1;
v[386][0] = 1;
v[387][0] = 1;
v[388][0] = 1;
v[389][0] = 1;
v[390][0] = 1;
v[391][0] = 1;
v[392][0] = 1;
v[393][0] = 1;
v[394][0] = 1;
v[395][0] = 1;
v[396][0] = 1;
v[397][0] = 1;
v[398][0] = 1;
v[399][0] = 1;
v[400][0] = 1;
v[401][0] = 1;
v[402][0] = 1;
v[403][0] = 1;
v[404][0] = 1;
v[405][0] = 1;
v[406][0] = 1;
v[407][0] = 1;
v[408][0] = 1;
v[409][0] = 1;
v[410][0] = 1;
v[411][0] = 1;
v[412][0] = 1;
v[413][0] = 1;
v[414][0] = 1;
v[415][0] = 1;
v[416][0] = 1;
v[417][0] = 1;
v[418][0] = 1;
v[419][0] = 1;
v[420][0] = 1;
v[421][0] = 1;
v[422][0] = 1;
v[423][0] = 1;
v[424][0] = 1;
v[425][0] = 1;
v[426][0] = 1;
v[427][0] = 1;
v[428][0] = 1;
v[429][0] = 1;
v[430][0] = 1;
v[431][0] = 1;
v[432][0] = 1;
v[433][0] = 1;
v[434][0] = 1;
v[435][0] = 1;
v[436][0] = 1;
v[437][0] = 1;
v[438][0] = 1;
v[439][0] = 1;
v[440][0] = 1;
v[441][0] = 1;
v[442][0] = 1;
v[443][0] = 1;
v[444][0] = 1;
v[445][0] = 1;
v[446][0] = 1;
v[447][0] = 1;
v[448][0] = 1;
v[449][0] = 1;
v[450][0] = 1;
v[451][0] = 1;
v[452][0] = 1;
v[453][0] = 1;
v[454][0] = 1;
v[455][0] = 1;
v[456][0] = 1;
v[457][0] = 1;
v[458][0] = 1;
v[459][0] = 1;
v[460][0] = 1;
v[461][0] = 1;
v[462][0] = 1;
v[463][0] = 1;
v[464][0] = 1;
v[465][0] = 1;
v[466][0] = 1;
v[467][0] = 1;
v[468][0] = 1;
v[469][0] = 1;
v[470][0] = 1;
v[471][0] = 1;
v[472][0] = 1;
v[473][0] = 1;
v[474][0] = 1;
v[475][0] = 1;
v[476][0] = 1;
v[477][0] = 1;
v[478][0] = 1;
v[479][0] = 1;
v[480][0] = 1;
v[481][0] = 1;
v[482][0] = 1;
v[483][0] = 1;
v[484][0] = 1;
v[485][0] = 1;
v[486][0] = 1;
v[487][0] = 1;
v[488][0] = 1;
v[489][0] = 1;
v[490][0] = 1;
v[491][0] = 1;
v[492][0] = 1;
v[493][0] = 1;
v[494][0] = 1;
v[495][0] = 1;
v[496][0] = 1;
v[497][0] = 1;
v[498][0] = 1;
v[499][0] = 1;
v[500][0] = 1;
v[501][0] = 1;
v[502][0] = 1;
v[503][0] = 1;
v[504][0] = 1;
v[505][0] = 1;
v[506][0] = 1;
v[507][0] = 1;
v[508][0] = 1;
v[509][0] = 1;
v[510][0] = 1;
v[511][0] = 1;
v[2][1] = 1;
v[3][1] = 3;
v[4][1] = 1;
v[5][1] = 3;
v[6][1] = 1;
v[7][1] = 3;
v[8][1] = 3;
v[9][1] = 1;
v[10][1] = 3;
v[11][1] = 1;
v[12][1] = 3;
v[13][1] = 1;
v[14][1] = 3;
v[15][1] = 1;
v[16][1] = 1;
v[17][1] = 3;
v[18][1] = 1;
v[19][1] = 3;
v[20][1] = 1;
v[21][1] = 3;
v[22][1] = 1;
v[23][1] = 3;
v[24][1] = 3;
v[25][1] = 1;
v[26][1] = 1;
v[27][1] = 1;
v[28][1] = 3;
v[29][1] = 1;
v[30][1] = 3;
v[31][1] = 1;
v[32][1] = 3;
v[33][1] = 3;
v[34][1] = 1;
v[35][1] = 3;
v[36][1] = 1;
v[37][1] = 1;
v[38][1] = 1;
v[39][1] = 3;
v[40][1] = 1;
v[41][1] = 3;
v[42][1] = 1;
v[43][1] = 1;
v[44][1] = 1;
v[45][1] = 3;
v[46][1] = 3;
v[47][1] = 1;
v[48][1] = 3;
v[49][1] = 3;
v[50][1] = 1;
v[51][1] = 1;
v[52][1] = 3;
v[53][1] = 3;
v[54][1] = 1;
v[55][1] = 3;
v[56][1] = 3;
v[57][1] = 3;
v[58][1] = 1;
v[59][1] = 3;
v[60][1] = 1;
v[61][1] = 3;
v[62][1] = 1;
v[63][1] = 1;
v[64][1] = 3;
v[65][1] = 3;
v[66][1] = 1;
v[67][1] = 1;
v[68][1] = 1;
v[69][1] = 1;
v[70][1] = 3;
v[71][1] = 1;
v[72][1] = 1;
v[73][1] = 3;
v[74][1] = 1;
v[75][1] = 1;
v[76][1] = 1;
v[77][1] = 3;
v[78][1] = 3;
v[79][1] = 1;
v[80][1] = 3;
v[81][1] = 3;
v[82][1] = 1;
v[83][1] = 3;
v[84][1] = 3;
v[85][1] = 3;
v[86][1] = 1;
v[87][1] = 3;
v[88][1] = 3;
v[89][1] = 3;
v[90][1] = 1;
v[91][1] = 3;
v[92][1] = 3;
v[93][1] = 1;
v[94][1] = 3;
v[95][1] = 3;
v[96][1] = 3;
v[97][1] = 1;
v[98][1] = 3;
v[99][1] = 1;
v[100][1] = 3;
v[101][1] = 1;
v[102][1] = 1;
v[103][1] = 3;
v[104][1] = 3;
v[105][1] = 1;
v[106][1] = 3;
v[107][1] = 3;
v[108][1] = 1;
v[109][1] = 1;
v[110][1] = 1;
v[111][1] = 3;
v[112][1] = 3;
v[113][1] = 1;
v[114][1] = 3;
v[115][1] = 3;
v[116][1] = 1;
v[117][1] = 3;
v[118][1] = 1;
v[119][1] = 1;
v[120][1] = 3;
v[121][1] = 3;
v[122][1] = 3;
v[123][1] = 1;
v[124][1] = 1;
v[125][1] = 1;
v[126][1] = 3;
v[127][1] = 1;
v[128][1] = 1;
v[129][1] = 3;
v[130][1] = 1;
v[131][1] = 1;
v[132][1] = 3;
v[133][1] = 3;
v[134][1] = 1;
v[135][1] = 3;
v[136][1] = 1;
v[137][1] = 3;
v[138][1] = 3;
v[139][1] = 3;
v[140][1] = 3;
v[141][1] = 1;
v[142][1] = 1;
v[143][1] = 1;
v[144][1] = 3;
v[145][1] = 3;
v[146][1] = 1;
v[147][1] = 1;
v[148][1] = 3;
v[149][1] = 1;
v[150][1] = 1;
v[151][1] = 1;
v[152][1] = 1;
v[153][1] = 1;
v[154][1] = 1;
v[155][1] = 3;
v[156][1] = 1;
v[157][1] = 3;
v[158][1] = 1;
v[159][1] = 1;
v[160][1] = 1;
v[161][1] = 3;
v[162][1] = 1;
v[163][1] = 3;
v[164][1] = 1;
v[165][1] = 3;
v[166][1] = 3;
v[167][1] = 3;
v[168][1] = 1;
v[169][1] = 1;
v[170][1] = 3;
v[171][1] = 3;
v[172][1] = 1;
v[173][1] = 3;
v[174][1] = 1;
v[175][1] = 3;
v[176][1] = 1;
v[177][1] = 1;
v[178][1] = 3;
v[179][1] = 1;
v[180][1] = 3;
v[181][1] = 1;
v[182][1] = 3;
v[183][1] = 1;
v[184][1] = 3;
v[185][1] = 1;
v[186][1] = 1;
v[187][1] = 1;
v[188][1] = 3;
v[189][1] = 3;
v[190][1] = 1;
v[191][1] = 3;
v[192][1] = 3;
v[193][1] = 1;
v[194][1] = 3;
v[195][1] = 1;
v[196][1] = 1;
v[197][1] = 1;
v[198][1] = 3;
v[199][1] = 1;
v[200][1] = 3;
v[201][1] = 1;
v[202][1] = 1;
v[203][1] = 3;
v[204][1] = 1;
v[205][1] = 1;
v[206][1] = 3;
v[207][1] = 3;
v[208][1] = 1;
v[209][1] = 1;
v[210][1] = 3;
v[211][1] = 3;
v[212][1] = 3;
v[213][1] = 1;
v[214][1] = 3;
v[215][1] = 3;
v[216][1] = 3;
v[217][1] = 1;
v[218][1] = 3;
v[219][1] = 1;
v[220][1] = 3;
v[221][1] = 1;
v[222][1] = 1;
v[223][1] = 1;
v[224][1] = 3;
v[225][1] = 1;
v[226][1] = 1;
v[227][1] = 1;
v[228][1] = 3;
v[229][1] = 1;
v[230][1] = 1;
v[231][1] = 1;
v[232][1] = 1;
v[233][1] = 1;
v[234][1] = 3;
v[235][1] = 3;
v[236][1] = 3;
v[237][1] = 1;
v[238][1] = 1;
v[239][1] = 1;
v[240][1] = 1;
v[241][1] = 3;
v[242][1] = 3;
v[243][1] = 3;
v[244][1] = 1;
v[245][1] = 3;
v[246][1] = 3;
v[247][1] = 1;
v[248][1] = 1;
v[249][1] = 1;
v[250][1] = 1;
v[251][1] = 3;
v[252][1] = 1;
v[253][1] = 1;
v[254][1] = 3;
v[255][1] = 1;
v[256][1] = 3;
v[257][1] = 3;
v[258][1] = 1;
v[259][1] = 1;
v[260][1] = 3;
v[261][1] = 3;
v[262][1] = 1;
v[263][1] = 1;
v[264][1] = 1;
v[265][1] = 1;
v[266][1] = 3;
v[267][1] = 1;
v[268][1] = 3;
v[269][1] = 3;
v[270][1] = 1;
v[271][1] = 3;
v[272][1] = 3;
v[273][1] = 1;
v[274][1] = 1;
v[275][1] = 1;
v[276][1] = 3;
v[277][1] = 3;
v[278][1] = 3;
v[279][1] = 1;
v[280][1] = 3;
v[281][1] = 3;
v[282][1] = 1;
v[283][1] = 3;
v[284][1] = 3;
v[285][1] = 1;
v[286][1] = 3;
v[287][1] = 1;
v[288][1] = 3;
v[289][1] = 3;
v[290][1] = 3;
v[291][1] = 1;
v[292][1] = 3;
v[293][1] = 1;
v[294][1] = 1;
v[295][1] = 3;
v[296][1] = 1;
v[297][1] = 3;
v[298][1] = 1;
v[299][1] = 1;
v[300][1] = 1;
v[301][1] = 3;
v[302][1] = 3;
v[303][1] = 3;
v[304][1] = 1;
v[305][1] = 1;
v[306][1] = 3;
v[307][1] = 1;
v[308][1] = 3;
v[309][1] = 1;
v[310][1] = 1;
v[311][1] = 1;
v[312][1] = 1;
v[313][1] = 1;
v[314][1] = 1;
v[315][1] = 3;
v[316][1] = 1;
v[317][1] = 1;
v[318][1] = 3;
v[319][1] = 1;
v[320][1] = 3;
v[321][1] = 3;
v[322][1] = 1;
v[323][1] = 1;
v[324][1] = 1;
v[325][1] = 1;
v[326][1] = 3;
v[327][1] = 1;
v[328][1] = 3;
v[329][1] = 1;
v[330][1] = 3;
v[331][1] = 1;
v[332][1] = 1;
v[333][1] = 1;
v[334][1] = 1;
v[335][1] = 3;
v[336][1] = 3;
v[337][1] = 1;
v[338][1] = 1;
v[339][1] = 1;
v[340][1] = 1;
v[341][1] = 1;
v[342][1] = 3;
v[343][1] = 3;
v[344][1] = 3;
v[345][1] = 1;
v[346][1] = 1;
v[347][1] = 3;
v[348][1] = 3;
v[349][1] = 3;
v[350][1] = 3;
v[351][1] = 3;
v[352][1] = 1;
v[353][1] = 3;
v[354][1] = 3;
v[355][1] = 1;
v[356][1] = 3;
v[357][1] = 3;
v[358][1] = 3;
v[359][1] = 3;
v[360][1] = 1;
v[361][1] = 1;
v[362][1] = 1;
v[363][1] = 1;
v[364][1] = 1;
v[365][1] = 1;
v[366][1] = 3;
v[367][1] = 1;
v[368][1] = 1;
v[369][1] = 3;
v[370][1] = 1;
v[371][1] = 1;
v[372][1] = 1;
v[373][1] = 3;
v[374][1] = 1;
v[375][1] = 1;
v[376][1] = 1;
v[377][1] = 3;
v[378][1] = 3;
v[379][1] = 3;
v[380][1] = 1;
v[381][1] = 3;
v[382][1] = 1;
v[383][1] = 1;
v[384][1] = 3;
v[385][1] = 3;
v[386][1] = 3;
v[387][1] = 1;
v[388][1] = 3;
v[389][1] = 3;
v[390][1] = 1;
v[391][1] = 3;
v[392][1] = 1;
v[393][1] = 3;
v[394][1] = 3;
v[395][1] = 1;
v[396][1] = 3;
v[397][1] = 3;
v[398][1] = 3;
v[399][1] = 1;
v[400][1] = 1;
v[401][1] = 3;
v[402][1] = 3;
v[403][1] = 1;
v[404][1] = 3;
v[405][1] = 1;
v[406][1] = 3;
v[407][1] = 1;
v[408][1] = 1;
v[409][1] = 1;
v[410][1] = 3;
v[411][1] = 3;
v[412][1] = 3;
v[413][1] = 3;
v[414][1] = 1;
v[415][1] = 3;
v[416][1] = 1;
v[417][1] = 1;
v[418][1] = 3;
v[419][1] = 1;
v[420][1] = 3;
v[421][1] = 1;
v[422][1] = 1;
v[423][1] = 1;
v[424][1] = 3;
v[425][1] = 1;
v[426][1] = 3;
v[427][1] = 1;
v[428][1] = 3;
v[429][1] = 1;
v[430][1] = 3;
v[431][1] = 3;
v[432][1] = 3;
v[433][1] = 3;
v[434][1] = 3;
v[435][1] = 3;
v[436][1] = 3;
v[437][1] = 3;
v[438][1] = 1;
v[439][1] = 3;
v[440][1] = 3;
v[441][1] = 3;
v[442][1] = 3;
v[443][1] = 3;
v[444][1] = 1;
v[445][1] = 3;
v[446][1] = 1;
v[447][1] = 3;
v[448][1] = 3;
v[449][1] = 3;
v[450][1] = 1;
v[451][1] = 3;
v[452][1] = 1;
v[453][1] = 3;
v[454][1] = 1;
v[455][1] = 3;
v[456][1] = 3;
v[457][1] = 1;
v[458][1] = 3;
v[459][1] = 3;
v[460][1] = 3;
v[461][1] = 3;
v[462][1] = 3;
v[463][1] = 3;
v[464][1] = 3;
v[465][1] = 3;
v[466][1] = 3;
v[467][1] = 1;
v[468][1] = 1;
v[469][1] = 1;
v[470][1] = 1;
v[471][1] = 1;
v[472][1] = 1;
v[473][1] = 3;
v[474][1] = 3;
v[475][1] = 1;
v[476][1] = 1;
v[477][1] = 3;
v[478][1] = 3;
v[479][1] = 1;
v[480][1] = 1;
v[481][1] = 1;
v[482][1] = 3;
v[483][1] = 3;
v[484][1] = 1;
v[485][1] = 1;
v[486][1] = 3;
v[487][1] = 3;
v[488][1] = 3;
v[489][1] = 3;
v[490][1] = 1;
v[491][1] = 1;
v[492][1] = 3;
v[493][1] = 1;
v[494][1] = 3;
v[495][1] = 3;
v[496][1] = 1;
v[497][1] = 3;
v[498][1] = 3;
v[499][1] = 1;
v[500][1] = 1;
v[501][1] = 1;
v[502][1] = 3;
v[503][1] = 3;
v[504][1] = 3;
v[505][1] = 1;
v[506][1] = 1;
v[507][1] = 3;
v[508][1] = 3;
v[509][1] = 3;
v[510][1] = 3;
v[511][1] = 3;
v[3][2] = 7;
v[4][2] = 5;
v[5][2] = 1;
v[6][2] = 3;
v[7][2] = 3;
v[8][2] = 7;
v[9][2] = 5;
v[10][2] = 5;
v[11][2] = 7;
v[12][2] = 7;
v[13][2] = 1;
v[14][2] = 3;
v[15][2] = 3;
v[16][2] = 7;
v[17][2] = 5;
v[18][2] = 1;
v[19][2] = 1;
v[20][2] = 5;
v[21][2] = 3;
v[22][2] = 7;
v[23][2] = 1;
v[24][2] = 7;
v[25][2] = 5;
v[26][2] = 1;
v[27][2] = 3;
v[28][2] = 7;
v[29][2] = 7;
v[30][2] = 1;
v[31][2] = 1;
v[32][2] = 1;
v[33][2] = 5;
v[34][2] = 7;
v[35][2] = 7;
v[36][2] = 5;
v[37][2] = 1;
v[38][2] = 3;
v[39][2] = 3;
v[40][2] = 7;
v[41][2] = 5;
v[42][2] = 5;
v[43][2] = 5;
v[44][2] = 3;
v[45][2] = 3;
v[46][2] = 3;
v[47][2] = 1;
v[48][2] = 1;
v[49][2] = 5;
v[50][2] = 1;
v[51][2] = 1;
v[52][2] = 5;
v[53][2] = 3;
v[54][2] = 3;
v[55][2] = 3;
v[56][2] = 3;
v[57][2] = 1;
v[58][2] = 3;
v[59][2] = 7;
v[60][2] = 5;
v[61][2] = 7;
v[62][2] = 3;
v[63][2] = 7;
v[64][2] = 1;
v[65][2] = 3;
v[66][2] = 3;
v[67][2] = 5;
v[68][2] = 1;
v[69][2] = 3;
v[70][2] = 5;
v[71][2] = 5;
v[72][2] = 7;
v[73][2] = 7;
v[74][2] = 7;
v[75][2] = 1;
v[76][2] = 1;
v[77][2] = 3;
v[78][2] = 3;
v[79][2] = 1;
v[80][2] = 1;
v[81][2] = 5;
v[82][2] = 1;
v[83][2] = 5;
v[84][2] = 7;
v[85][2] = 5;
v[86][2] = 1;
v[87][2] = 7;
v[88][2] = 5;
v[89][2] = 3;
v[90][2] = 3;
v[91][2] = 1;
v[92][2] = 5;
v[93][2] = 7;
v[94][2] = 1;
v[95][2] = 7;
v[96][2] = 5;
v[97][2] = 1;
v[98][2] = 7;
v[99][2] = 3;
v[100][2] = 1;
v[101][2] = 7;
v[102][2] = 1;
v[103][2] = 7;
v[104][2] = 3;
v[105][2] = 3;
v[106][2] = 5;
v[107][2] = 7;
v[108][2] = 3;
v[109][2] = 3;
v[110][2] = 5;
v[111][2] = 1;
v[112][2] = 3;
v[113][2] = 3;
v[114][2] = 1;
v[115][2] = 3;
v[116][2] = 5;
v[117][2] = 1;
v[118][2] = 3;
v[119][2] = 3;
v[120][2] = 3;
v[121][2] = 7;
v[122][2] = 1;
v[123][2] = 1;
v[124][2] = 7;
v[125][2] = 3;
v[126][2] = 1;
v[127][2] = 3;
v[128][2] = 7;
v[129][2] = 5;
v[130][2] = 5;
v[131][2] = 7;
v[132][2] = 5;
v[133][2] = 5;
v[134][2] = 3;
v[135][2] = 1;
v[136][2] = 3;
v[137][2] = 3;
v[138][2] = 3;
v[139][2] = 1;
v[140][2] = 3;
v[141][2] = 3;
v[142][2] = 7;
v[143][2] = 3;
v[144][2] = 3;
v[145][2] = 1;
v[146][2] = 7;
v[147][2] = 5;
v[148][2] = 1;
v[149][2] = 7;
v[150][2] = 7;
v[151][2] = 5;
v[152][2] = 7;
v[153][2] = 5;
v[154][2] = 1;
v[155][2] = 3;
v[156][2] = 1;
v[157][2] = 7;
v[158][2] = 3;
v[159][2] = 7;
v[160][2] = 3;
v[161][2] = 5;
v[162][2] = 7;
v[163][2] = 3;
v[164][2] = 1;
v[165][2] = 3;
v[166][2] = 3;
v[167][2] = 3;
v[168][2] = 1;
v[169][2] = 5;
v[170][2] = 7;
v[171][2] = 3;
v[172][2] = 3;
v[173][2] = 7;
v[174][2] = 7;
v[175][2] = 7;
v[176][2] = 5;
v[177][2] = 3;
v[178][2] = 1;
v[179][2] = 7;
v[180][2] = 1;
v[181][2] = 3;
v[182][2] = 7;
v[183][2] = 5;
v[184][2] = 3;
v[185][2] = 3;
v[186][2] = 3;
v[187][2] = 7;
v[188][2] = 1;
v[189][2] = 1;
v[190][2] = 3;
v[191][2] = 1;
v[192][2] = 5;
v[193][2] = 7;
v[194][2] = 1;
v[195][2] = 3;
v[196][2] = 5;
v[197][2] = 3;
v[198][2] = 5;
v[199][2] = 3;
v[200][2] = 3;
v[201][2] = 7;
v[202][2] = 5;
v[203][2] = 5;
v[204][2] = 3;
v[205][2] = 3;
v[206][2] = 1;
v[207][2] = 3;
v[208][2] = 7;
v[209][2] = 7;
v[210][2] = 7;
v[211][2] = 1;
v[212][2] = 5;
v[213][2] = 7;
v[214][2] = 1;
v[215][2] = 3;
v[216][2] = 1;
v[217][2] = 1;
v[218][2] = 7;
v[219][2] = 1;
v[220][2] = 3;
v[221][2] = 1;
v[222][2] = 7;
v[223][2] = 1;
v[224][2] = 5;
v[225][2] = 3;
v[226][2] = 5;
v[227][2] = 3;
v[228][2] = 1;
v[229][2] = 1;
v[230][2] = 5;
v[231][2] = 5;
v[232][2] = 3;
v[233][2] = 3;
v[234][2] = 5;
v[235][2] = 7;
v[236][2] = 1;
v[237][2] = 5;
v[238][2] = 3;
v[239][2] = 7;
v[240][2] = 7;
v[241][2] = 3;
v[242][2] = 5;
v[243][2] = 3;
v[244][2] = 3;
v[245][2] = 1;
v[246][2] = 7;
v[247][2] = 3;
v[248][2] = 1;
v[249][2] = 3;
v[250][2] = 5;
v[251][2] = 7;
v[252][2] = 1;
v[253][2] = 3;
v[254][2] = 7;
v[255][2] = 1;
v[256][2] = 5;
v[257][2] = 1;
v[258][2] = 3;
v[259][2] = 1;
v[260][2] = 5;
v[261][2] = 3;
v[262][2] = 1;
v[263][2] = 7;
v[264][2] = 1;
v[265][2] = 5;
v[266][2] = 5;
v[267][2] = 5;
v[268][2] = 3;
v[269][2] = 7;
v[270][2] = 1;
v[271][2] = 1;
v[272][2] = 7;
v[273][2] = 3;
v[274][2] = 1;
v[275][2] = 1;
v[276][2] = 7;
v[277][2] = 5;
v[278][2] = 7;
v[279][2] = 5;
v[280][2] = 7;
v[281][2] = 7;
v[282][2] = 3;
v[283][2] = 7;
v[284][2] = 1;
v[285][2] = 3;
v[286][2] = 7;
v[287][2] = 7;
v[288][2] = 3;
v[289][2] = 5;
v[290][2] = 1;
v[291][2] = 1;
v[292][2] = 7;
v[293][2] = 1;
v[294][2] = 5;
v[295][2] = 5;
v[296][2] = 5;
v[297][2] = 1;
v[298][2] = 5;
v[299][2] = 1;
v[300][2] = 7;
v[301][2] = 5;
v[302][2] = 5;
v[303][2] = 7;
v[304][2] = 1;
v[305][2] = 1;
v[306][2] = 7;
v[307][2] = 1;
v[308][2] = 7;
v[309][2] = 7;
v[310][2] = 1;
v[311][2] = 1;
v[312][2] = 3;
v[313][2] = 3;
v[314][2] = 3;
v[315][2] = 7;
v[316][2] = 7;
v[317][2] = 5;
v[318][2] = 3;
v[319][2] = 7;
v[320][2] = 3;
v[321][2] = 1;
v[322][2] = 3;
v[323][2] = 7;
v[324][2] = 5;
v[325][2] = 3;
v[326][2] = 3;
v[327][2] = 5;
v[328][2] = 7;
v[329][2] = 1;
v[330][2] = 1;
v[331][2] = 5;
v[332][2] = 5;
v[333][2] = 7;
v[334][2] = 7;
v[335][2] = 1;
v[336][2] = 1;
v[337][2] = 1;
v[338][2] = 1;
v[339][2] = 5;
v[340][2] = 5;
v[341][2] = 5;
v[342][2] = 7;
v[343][2] = 5;
v[344][2] = 7;
v[345][2] = 1;
v[346][2] = 1;
v[347][2] = 3;
v[348][2] = 5;
v[349][2] = 1;
v[350][2] = 3;
v[351][2] = 3;
v[352][2] = 7;
v[353][2] = 3;
v[354][2] = 7;
v[355][2] = 5;
v[356][2] = 3;
v[357][2] = 5;
v[358][2] = 3;
v[359][2] = 1;
v[360][2] = 7;
v[361][2] = 1;
v[362][2] = 7;
v[363][2] = 7;
v[364][2] = 1;
v[365][2] = 1;
v[366][2] = 7;
v[367][2] = 7;
v[368][2] = 7;
v[369][2] = 5;
v[370][2] = 5;
v[371][2] = 1;
v[372][2] = 1;
v[373][2] = 7;
v[374][2] = 5;
v[375][2] = 5;
v[376][2] = 7;
v[377][2] = 5;
v[378][2] = 1;
v[379][2] = 1;
v[380][2] = 5;
v[381][2] = 5;
v[382][2] = 5;
v[383][2] = 5;
v[384][2] = 5;
v[385][2] = 5;
v[386][2] = 1;
v[387][2] = 3;
v[388][2] = 1;
v[389][2] = 5;
v[390][2] = 7;
v[391][2] = 3;
v[392][2] = 3;
v[393][2] = 5;
v[394][2] = 7;
v[395][2] = 3;
v[396][2] = 7;
v[397][2] = 1;
v[398][2] = 7;
v[399][2] = 7;
v[400][2] = 1;
v[401][2] = 3;
v[402][2] = 5;
v[403][2] = 1;
v[404][2] = 5;
v[405][2] = 5;
v[406][2] = 3;
v[407][2] = 7;
v[408][2] = 3;
v[409][2] = 7;
v[410][2] = 7;
v[411][2] = 5;
v[412][2] = 7;
v[413][2] = 5;
v[414][2] = 7;
v[415][2] = 1;
v[416][2] = 1;
v[417][2] = 5;
v[418][2] = 3;
v[419][2] = 5;
v[420][2] = 1;
v[421][2] = 5;
v[422][2] = 3;
v[423][2] = 7;
v[424][2] = 1;
v[425][2] = 5;
v[426][2] = 7;
v[427][2] = 7;
v[428][2] = 3;
v[429][2] = 5;
v[430][2] = 1;
v[431][2] = 3;
v[432][2] = 5;
v[433][2] = 1;
v[434][2] = 5;
v[435][2] = 3;
v[436][2] = 3;
v[437][2] = 3;
v[438][2] = 7;
v[439][2] = 3;
v[440][2] = 5;
v[441][2] = 1;
v[442][2] = 3;
v[443][2] = 7;
v[444][2] = 7;
v[445][2] = 3;
v[446][2] = 7;
v[447][2] = 5;
v[448][2] = 3;
v[449][2] = 3;
v[450][2] = 1;
v[451][2] = 7;
v[452][2] = 5;
v[453][2] = 1;
v[454][2] = 1;
v[455][2] = 3;
v[456][2] = 7;
v[457][2] = 1;
v[458][2] = 7;
v[459][2] = 1;
v[460][2] = 7;
v[461][2] = 3;
v[462][2] = 7;
v[463][2] = 3;
v[464][2] = 5;
v[465][2] = 7;
v[466][2] = 3;
v[467][2] = 5;
v[468][2] = 3;
v[469][2] = 1;
v[470][2] = 1;
v[471][2] = 1;
v[472][2] = 5;
v[473][2] = 7;
v[474][2] = 7;
v[475][2] = 3;
v[476][2] = 3;
v[477][2] = 1;
v[478][2] = 1;
v[479][2] = 1;
v[480][2] = 5;
v[481][2] = 5;
v[482][2] = 7;
v[483][2] = 3;
v[484][2] = 1;
v[485][2] = 1;
v[486][2] = 3;
v[487][2] = 3;
v[488][2] = 7;
v[489][2] = 3;
v[490][2] = 3;
v[491][2] = 5;
v[492][2] = 1;
v[493][2] = 3;
v[494][2] = 7;
v[495][2] = 3;
v[496][2] = 3;
v[497][2] = 7;
v[498][2] = 3;
v[499][2] = 5;
v[500][2] = 7;
v[501][2] = 5;
v[502][2] = 7;
v[503][2] = 7;
v[504][2] = 3;
v[505][2] = 3;
v[506][2] = 5;
v[507][2] = 1;
v[508][2] = 3;
v[509][2] = 5;
v[510][2] = 3;
v[511][2] = 1;
v[5][3] = 1;
v[6][3] = 7;
v[7][3] = 9;
v[8][3] = 13;
v[9][3] = 11;
v[10][3] = 1;
v[11][3] = 3;
v[12][3] = 7;
v[13][3] = 9;
v[14][3] = 5;
v[15][3] = 13;
v[16][3] = 13;
v[17][3] = 11;
v[18][3] = 3;
v[19][3] = 15;
v[20][3] = 5;
v[21][3] = 3;
v[22][3] = 15;
v[23][3] = 7;
v[24][3] = 9;
v[25][3] = 13;
v[26][3] = 9;
v[27][3] = 1;
v[28][3] = 11;
v[29][3] = 7;
v[30][3] = 5;
v[31][3] = 15;
v[32][3] = 1;
v[33][3] = 15;
v[34][3] = 11;
v[35][3] = 5;
v[36][3] = 11;
v[37][3] = 1;
v[38][3] = 7;
v[39][3] = 9;
v[40][3] = 7;
v[41][3] = 7;
v[42][3] = 1;
v[43][3] = 15;
v[44][3] = 15;
v[45][3] = 15;
v[46][3] = 13;
v[47][3] = 3;
v[48][3] = 3;
v[49][3] = 15;
v[50][3] = 5;
v[51][3] = 9;
v[52][3] = 7;
v[53][3] = 13;
v[54][3] = 3;
v[55][3] = 7;
v[56][3] = 5;
v[57][3] = 11;
v[58][3] = 9;
v[59][3] = 1;
v[60][3] = 9;
v[61][3] = 1;
v[62][3] = 5;
v[63][3] = 7;
v[64][3] = 13;
v[65][3] = 9;
v[66][3] = 9;
v[67][3] = 1;
v[68][3] = 7;
v[69][3] = 3;
v[70][3] = 5;
v[71][3] = 1;
v[72][3] = 11;
v[73][3] = 11;
v[74][3] = 13;
v[75][3] = 7;
v[76][3] = 7;
v[77][3] = 9;
v[78][3] = 9;
v[79][3] = 1;
v[80][3] = 1;
v[81][3] = 3;
v[82][3] = 9;
v[83][3] = 15;
v[84][3] = 1;
v[85][3] = 5;
v[86][3] = 13;
v[87][3] = 1;
v[88][3] = 9;
v[89][3] = 9;
v[90][3] = 9;
v[91][3] = 9;
v[92][3] = 9;
v[93][3] = 13;
v[94][3] = 11;
v[95][3] = 3;
v[96][3] = 5;
v[97][3] = 11;
v[98][3] = 11;
v[99][3] = 13;
v[100][3] = 5;
v[101][3] = 3;
v[102][3] = 15;
v[103][3] = 1;
v[104][3] = 11;
v[105][3] = 11;
v[106][3] = 7;
v[107][3] = 13;
v[108][3] = 15;
v[109][3] = 11;
v[110][3] = 13;
v[111][3] = 9;
v[112][3] = 11;
v[113][3] = 15;
v[114][3] = 15;
v[115][3] = 13;
v[116][3] = 3;
v[117][3] = 15;
v[118][3] = 7;
v[119][3] = 9;
v[120][3] = 11;
v[121][3] = 13;
v[122][3] = 11;
v[123][3] = 9;
v[124][3] = 9;
v[125][3] = 5;
v[126][3] = 13;
v[127][3] = 9;
v[128][3] = 1;
v[129][3] = 13;
v[130][3] = 7;
v[131][3] = 7;
v[132][3] = 7;
v[133][3] = 7;
v[134][3] = 7;
v[135][3] = 5;
v[136][3] = 9;
v[137][3] = 7;
v[138][3] = 13;
v[139][3] = 11;
v[140][3] = 9;
v[141][3] = 11;
v[142][3] = 15;
v[143][3] = 3;
v[144][3] = 13;
v[145][3] = 11;
v[146][3] = 1;
v[147][3] = 11;
v[148][3] = 3;
v[149][3] = 3;
v[150][3] = 9;
v[151][3] = 11;
v[152][3] = 1;
v[153][3] = 7;
v[154][3] = 1;
v[155][3] = 15;
v[156][3] = 15;
v[157][3] = 3;
v[158][3] = 1;
v[159][3] = 9;
v[160][3] = 1;
v[161][3] = 7;
v[162][3] = 13;
v[163][3] = 11;
v[164][3] = 3;
v[165][3] = 13;
v[166][3] = 11;
v[167][3] = 7;
v[168][3] = 3;
v[169][3] = 3;
v[170][3] = 5;
v[171][3] = 13;
v[172][3] = 11;
v[173][3] = 5;
v[174][3] = 11;
v[175][3] = 1;
v[176][3] = 3;
v[177][3] = 9;
v[178][3] = 7;
v[179][3] = 15;
v[180][3] = 7;
v[181][3] = 5;
v[182][3] = 13;
v[183][3] = 7;
v[184][3] = 9;
v[185][3] = 13;
v[186][3] = 15;
v[187][3] = 13;
v[188][3] = 9;
v[189][3] = 7;
v[190][3] = 15;
v[191][3] = 7;
v[192][3] = 9;
v[193][3] = 5;
v[194][3] = 11;
v[195][3] = 11;
v[196][3] = 13;
v[197][3] = 13;
v[198][3] = 9;
v[199][3] = 3;
v[200][3] = 5;
v[201][3] = 13;
v[202][3] = 9;
v[203][3] = 11;
v[204][3] = 15;
v[205][3] = 11;
v[206][3] = 7;
v[207][3] = 1;
v[208][3] = 7;
v[209][3] = 13;
v[210][3] = 3;
v[211][3] = 13;
v[212][3] = 3;
v[213][3] = 13;
v[214][3] = 9;
v[215][3] = 15;
v[216][3] = 7;
v[217][3] = 13;
v[218][3] = 13;
v[219][3] = 3;
v[220][3] = 13;
v[221][3] = 15;
v[222][3] = 15;
v[223][3] = 11;
v[224][3] = 9;
v[225][3] = 13;
v[226][3] = 9;
v[227][3] = 15;
v[228][3] = 1;
v[229][3] = 1;
v[230][3] = 15;
v[231][3] = 11;
v[232][3] = 11;
v[233][3] = 7;
v[234][3] = 1;
v[235][3] = 11;
v[236][3] = 13;
v[237][3] = 9;
v[238][3] = 13;
v[239][3] = 3;
v[240][3] = 5;
v[241][3] = 11;
v[242][3] = 13;
v[243][3] = 9;
v[244][3] = 9;
v[245][3] = 13;
v[246][3] = 1;
v[247][3] = 11;
v[248][3] = 15;
v[249][3] = 13;
v[250][3] = 3;
v[251][3] = 13;
v[252][3] = 7;
v[253][3] = 15;
v[254][3] = 1;
v[255][3] = 15;
v[256][3] = 3;
v[257][3] = 3;
v[258][3] = 11;
v[259][3] = 7;
v[260][3] = 13;
v[261][3] = 7;
v[262][3] = 7;
v[263][3] = 9;
v[264][3] = 7;
v[265][3] = 5;
v[266][3] = 15;
v[267][3] = 9;
v[268][3] = 5;
v[269][3] = 5;
v[270][3] = 7;
v[271][3] = 15;
v[272][3] = 13;
v[273][3] = 15;
v[274][3] = 5;
v[275][3] = 15;
v[276][3] = 5;
v[277][3] = 3;
v[278][3] = 1;
v[279][3] = 11;
v[280][3] = 7;
v[281][3] = 1;
v[282][3] = 5;
v[283][3] = 7;
v[284][3] = 9;
v[285][3] = 3;
v[286][3] = 11;
v[287][3] = 1;
v[288][3] = 15;
v[289][3] = 1;
v[290][3] = 3;
v[291][3] = 15;
v[292][3] = 11;
v[293][3] = 13;
v[294][3] = 5;
v[295][3] = 13;
v[296][3] = 1;
v[297][3] = 7;
v[298][3] = 1;
v[299][3] = 15;
v[300][3] = 7;
v[301][3] = 5;
v[302][3] = 1;
v[303][3] = 1;
v[304][3] = 15;
v[305][3] = 13;
v[306][3] = 11;
v[307][3] = 11;
v[308][3] = 13;
v[309][3] = 5;
v[310][3] = 11;
v[311][3] = 7;
v[312][3] = 9;
v[313][3] = 7;
v[314][3] = 1;
v[315][3] = 5;
v[316][3] = 3;
v[317][3] = 9;
v[318][3] = 5;
v[319][3] = 5;
v[320][3] = 11;
v[321][3] = 5;
v[322][3] = 1;
v[323][3] = 7;
v[324][3] = 1;
v[325][3] = 11;
v[326][3] = 7;
v[327][3] = 9;
v[328][3] = 13;
v[329][3] = 15;
v[330][3] = 13;
v[331][3] = 3;
v[332][3] = 1;
v[333][3] = 11;
v[334][3] = 13;
v[335][3] = 15;
v[336][3] = 1;
v[337][3] = 1;
v[338][3] = 11;
v[339][3] = 9;
v[340][3] = 13;
v[341][3] = 3;
v[342][3] = 13;
v[343][3] = 11;
v[344][3] = 15;
v[345][3] = 13;
v[346][3] = 9;
v[347][3] = 9;
v[348][3] = 9;
v[349][3] = 5;
v[350][3] = 5;
v[351][3] = 5;
v[352][3] = 5;
v[353][3] = 1;
v[354][3] = 15;
v[355][3] = 5;
v[356][3] = 9;
v[357][3] = 11;
v[358][3] = 7;
v[359][3] = 15;
v[360][3] = 5;
v[361][3] = 3;
v[362][3] = 13;
v[363][3] = 5;
v[364][3] = 3;
v[365][3] = 11;
v[366][3] = 5;
v[367][3] = 1;
v[368][3] = 11;
v[369][3] = 13;
v[370][3] = 9;
v[371][3] = 11;
v[372][3] = 3;
v[373][3] = 7;
v[374][3] = 13;
v[375][3] = 15;
v[376][3] = 1;
v[377][3] = 7;
v[378][3] = 11;
v[379][3] = 1;
v[380][3] = 13;
v[381][3] = 1;
v[382][3] = 15;
v[383][3] = 1;
v[384][3] = 9;
v[385][3] = 7;
v[386][3] = 3;
v[387][3] = 9;
v[388][3] = 11;
v[389][3] = 1;
v[390][3] = 9;
v[391][3] = 13;
v[392][3] = 13;
v[393][3] = 3;
v[394][3] = 11;
v[395][3] = 7;
v[396][3] = 9;
v[397][3] = 1;
v[398][3] = 7;
v[399][3] = 15;
v[400][3] = 9;
v[401][3] = 1;
v[402][3] = 5;
v[403][3] = 13;
v[404][3] = 5;
v[405][3] = 11;
v[406][3] = 3;
v[407][3] = 9;
v[408][3] = 15;
v[409][3] = 11;
v[410][3] = 13;
v[411][3] = 5;
v[412][3] = 1;
v[413][3] = 7;
v[414][3] = 7;
v[415][3] = 5;
v[416][3] = 13;
v[417][3] = 7;
v[418][3] = 7;
v[419][3] = 9;
v[420][3] = 5;
v[421][3] = 11;
v[422][3] = 11;
v[423][3] = 1;
v[424][3] = 1;
v[425][3] = 15;
v[426][3] = 3;
v[427][3] = 13;
v[428][3] = 9;
v[429][3] = 13;
v[430][3] = 9;
v[431][3] = 9;
v[432][3] = 11;
v[433][3] = 5;
v[434][3] = 5;
v[435][3] = 13;
v[436][3] = 15;
v[437][3] = 3;
v[438][3] = 9;
v[439][3] = 15;
v[440][3] = 3;
v[441][3] = 11;
v[442][3] = 11;
v[443][3] = 15;
v[444][3] = 15;
v[445][3] = 3;
v[446][3] = 11;
v[447][3] = 15;
v[448][3] = 15;
v[449][3] = 3;
v[450][3] = 1;
v[451][3] = 3;
v[452][3] = 1;
v[453][3] = 3;
v[454][3] = 3;
v[455][3] = 1;
v[456][3] = 3;
v[457][3] = 13;
v[458][3] = 1;
v[459][3] = 11;
v[460][3] = 5;
v[461][3] = 15;
v[462][3] = 7;
v[463][3] = 15;
v[464][3] = 9;
v[465][3] = 1;
v[466][3] = 7;
v[467][3] = 1;
v[468][3] = 9;
v[469][3] = 11;
v[470][3] = 15;
v[471][3] = 1;
v[472][3] = 13;
v[473][3] = 9;
v[474][3] = 13;
v[475][3] = 11;
v[476][3] = 7;
v[477][3] = 3;
v[478][3] = 7;
v[479][3] = 3;
v[480][3] = 13;
v[481][3] = 7;
v[482][3] = 9;
v[483][3] = 7;
v[484][3] = 7;
v[485][3] = 3;
v[486][3] = 3;
v[487][3] = 9;
v[488][3] = 9;
v[489][3] = 7;
v[490][3] = 5;
v[491][3] = 11;
v[492][3] = 13;
v[493][3] = 13;
v[494][3] = 7;
v[495][3] = 7;
v[496][3] = 15;
v[497][3] = 9;
v[498][3] = 5;
v[499][3] = 5;
v[500][3] = 3;
v[501][3] = 3;
v[502][3] = 13;
v[503][3] = 3;
v[504][3] = 9;
v[505][3] = 3;
v[506][3] = 1;
v[507][3] = 11;
v[508][3] = 1;
v[509][3] = 3;
v[510][3] = 11;
v[511][3] = 15;
v[7][4] = 9;
v[8][4] = 3;
v[9][4] = 27;
v[10][4] = 15;
v[11][4] = 29;
v[12][4] = 21;
v[13][4] = 23;
v[14][4] = 19;
v[15][4] = 11;
v[16][4] = 25;
v[17][4] = 7;
v[18][4] = 13;
v[19][4] = 17;
v[20][4] = 1;
v[21][4] = 25;
v[22][4] = 29;
v[23][4] = 3;
v[24][4] = 31;
v[25][4] = 11;
v[26][4] = 5;
v[27][4] = 23;
v[28][4] = 27;
v[29][4] = 19;
v[30][4] = 21;
v[31][4] = 5;
v[32][4] = 1;
v[33][4] = 17;
v[34][4] = 13;
v[35][4] = 7;
v[36][4] = 15;
v[37][4] = 9;
v[38][4] = 31;
v[39][4] = 25;
v[40][4] = 3;
v[41][4] = 5;
v[42][4] = 23;
v[43][4] = 7;
v[44][4] = 3;
v[45][4] = 17;
v[46][4] = 23;
v[47][4] = 3;
v[48][4] = 3;
v[49][4] = 21;
v[50][4] = 25;
v[51][4] = 25;
v[52][4] = 23;
v[53][4] = 11;
v[54][4] = 19;
v[55][4] = 3;
v[56][4] = 11;
v[57][4] = 31;
v[58][4] = 7;
v[59][4] = 9;
v[60][4] = 5;
v[61][4] = 17;
v[62][4] = 23;
v[63][4] = 17;
v[64][4] = 17;
v[65][4] = 25;
v[66][4] = 13;
v[67][4] = 11;
v[68][4] = 31;
v[69][4] = 27;
v[70][4] = 19;
v[71][4] = 17;
v[72][4] = 23;
v[73][4] = 7;
v[74][4] = 5;
v[75][4] = 11;
v[76][4] = 19;
v[77][4] = 19;
v[78][4] = 7;
v[79][4] = 13;
v[80][4] = 21;
v[81][4] = 21;
v[82][4] = 7;
v[83][4] = 9;
v[84][4] = 11;
v[85][4] = 1;
v[86][4] = 5;
v[87][4] = 21;
v[88][4] = 11;
v[89][4] = 13;
v[90][4] = 25;
v[91][4] = 9;
v[92][4] = 7;
v[93][4] = 7;
v[94][4] = 27;
v[95][4] = 15;
v[96][4] = 25;
v[97][4] = 15;
v[98][4] = 21;
v[99][4] = 17;
v[100][4] = 19;
v[101][4] = 19;
v[102][4] = 21;
v[103][4] = 5;
v[104][4] = 11;
v[105][4] = 3;
v[106][4] = 5;
v[107][4] = 29;
v[108][4] = 31;
v[109][4] = 29;
v[110][4] = 5;
v[111][4] = 5;
v[112][4] = 1;
v[113][4] = 31;
v[114][4] = 27;
v[115][4] = 11;
v[116][4] = 13;
v[117][4] = 1;
v[118][4] = 3;
v[119][4] = 7;
v[120][4] = 11;
v[121][4] = 7;
v[122][4] = 3;
v[123][4] = 23;
v[124][4] = 13;
v[125][4] = 31;
v[126][4] = 17;
v[127][4] = 1;
v[128][4] = 27;
v[129][4] = 11;
v[130][4] = 25;
v[131][4] = 1;
v[132][4] = 23;
v[133][4] = 29;
v[134][4] = 17;
v[135][4] = 25;
v[136][4] = 7;
v[137][4] = 25;
v[138][4] = 27;
v[139][4] = 17;
v[140][4] = 13;
v[141][4] = 17;
v[142][4] = 23;
v[143][4] = 5;
v[144][4] = 17;
v[145][4] = 5;
v[146][4] = 13;
v[147][4] = 11;
v[148][4] = 21;
v[149][4] = 5;
v[150][4] = 11;
v[151][4] = 5;
v[152][4] = 9;
v[153][4] = 31;
v[154][4] = 19;
v[155][4] = 17;
v[156][4] = 9;
v[157][4] = 9;
v[158][4] = 27;
v[159][4] = 21;
v[160][4] = 15;
v[161][4] = 15;
v[162][4] = 1;
v[163][4] = 1;
v[164][4] = 29;
v[165][4] = 5;
v[166][4] = 31;
v[167][4] = 11;
v[168][4] = 17;
v[169][4] = 23;
v[170][4] = 19;
v[171][4] = 21;
v[172][4] = 25;
v[173][4] = 15;
v[174][4] = 11;
v[175][4] = 5;
v[176][4] = 5;
v[177][4] = 1;
v[178][4] = 19;
v[179][4] = 19;
v[180][4] = 19;
v[181][4] = 7;
v[182][4] = 13;
v[183][4] = 21;
v[184][4] = 17;
v[185][4] = 17;
v[186][4] = 25;
v[187][4] = 23;
v[188][4] = 19;
v[189][4] = 23;
v[190][4] = 15;
v[191][4] = 13;
v[192][4] = 5;
v[193][4] = 19;
v[194][4] = 25;
v[195][4] = 9;
v[196][4] = 7;
v[197][4] = 3;
v[198][4] = 21;
v[199][4] = 17;
v[200][4] = 25;
v[201][4] = 1;
v[202][4] = 27;
v[203][4] = 25;
v[204][4] = 27;
v[205][4] = 25;
v[206][4] = 9;
v[207][4] = 13;
v[208][4] = 3;
v[209][4] = 17;
v[210][4] = 25;
v[211][4] = 23;
v[212][4] = 9;
v[213][4] = 25;
v[214][4] = 9;
v[215][4] = 13;
v[216][4] = 17;
v[217][4] = 17;
v[218][4] = 3;
v[219][4] = 15;
v[220][4] = 7;
v[221][4] = 7;
v[222][4] = 29;
v[223][4] = 3;
v[224][4] = 19;
v[225][4] = 29;
v[226][4] = 29;
v[227][4] = 19;
v[228][4] = 29;
v[229][4] = 13;
v[230][4] = 15;
v[231][4] = 25;
v[232][4] = 27;
v[233][4] = 1;
v[234][4] = 3;
v[235][4] = 9;
v[236][4] = 9;
v[237][4] = 13;
v[238][4] = 31;
v[239][4] = 29;
v[240][4] = 31;
v[241][4] = 5;
v[242][4] = 15;
v[243][4] = 29;
v[244][4] = 1;
v[245][4] = 19;
v[246][4] = 5;
v[247][4] = 9;
v[248][4] = 19;
v[249][4] = 5;
v[250][4] = 15;
v[251][4] = 3;
v[252][4] = 5;
v[253][4] = 7;
v[254][4] = 15;
v[255][4] = 17;
v[256][4] = 17;
v[257][4] = 23;
v[258][4] = 11;
v[259][4] = 9;
v[260][4] = 23;
v[261][4] = 19;
v[262][4] = 3;
v[263][4] = 17;
v[264][4] = 1;
v[265][4] = 27;
v[266][4] = 9;
v[267][4] = 9;
v[268][4] = 17;
v[269][4] = 13;
v[270][4] = 25;
v[271][4] = 29;
v[272][4] = 23;
v[273][4] = 29;
v[274][4] = 11;
v[275][4] = 31;
v[276][4] = 25;
v[277][4] = 21;
v[278][4] = 29;
v[279][4] = 19;
v[280][4] = 27;
v[281][4] = 31;
v[282][4] = 3;
v[283][4] = 5;
v[284][4] = 3;
v[285][4] = 3;
v[286][4] = 13;
v[287][4] = 21;
v[288][4] = 9;
v[289][4] = 29;
v[290][4] = 3;
v[291][4] = 17;
v[292][4] = 11;
v[293][4] = 11;
v[294][4] = 9;
v[295][4] = 21;
v[296][4] = 19;
v[297][4] = 7;
v[298][4] = 17;
v[299][4] = 31;
v[300][4] = 25;
v[301][4] = 1;
v[302][4] = 27;
v[303][4] = 5;
v[304][4] = 15;
v[305][4] = 27;
v[306][4] = 29;
v[307][4] = 29;
v[308][4] = 29;
v[309][4] = 25;
v[310][4] = 27;
v[311][4] = 25;
v[312][4] = 3;
v[313][4] = 21;
v[314][4] = 17;
v[315][4] = 25;
v[316][4] = 13;
v[317][4] = 15;
v[318][4] = 17;
v[319][4] = 13;
v[320][4] = 23;
v[321][4] = 9;
v[322][4] = 3;
v[323][4] = 11;
v[324][4] = 7;
v[325][4] = 9;
v[326][4] = 9;
v[327][4] = 7;
v[328][4] = 17;
v[329][4] = 7;
v[330][4] = 1;
v[331][4] = 27;
v[332][4] = 1;
v[333][4] = 9;
v[334][4] = 5;
v[335][4] = 31;
v[336][4] = 21;
v[337][4] = 25;
v[338][4] = 25;
v[339][4] = 21;
v[340][4] = 11;
v[341][4] = 1;
v[342][4] = 23;
v[343][4] = 19;
v[344][4] = 27;
v[345][4] = 15;
v[346][4] = 3;
v[347][4] = 5;
v[348][4] = 23;
v[349][4] = 9;
v[350][4] = 25;
v[351][4] = 7;
v[352][4] = 29;
v[353][4] = 11;
v[354][4] = 9;
v[355][4] = 13;
v[356][4] = 5;
v[357][4] = 11;
v[358][4] = 1;
v[359][4] = 3;
v[360][4] = 31;
v[361][4] = 27;
v[362][4] = 3;
v[363][4] = 17;
v[364][4] = 27;
v[365][4] = 11;
v[366][4] = 13;
v[367][4] = 15;
v[368][4] = 29;
v[369][4] = 15;
v[370][4] = 1;
v[371][4] = 15;
v[372][4] = 23;
v[373][4] = 25;
v[374][4] = 13;
v[375][4] = 21;
v[376][4] = 15;
v[377][4] = 3;
v[378][4] = 29;
v[379][4] = 29;
v[380][4] = 5;
v[381][4] = 25;
v[382][4] = 17;
v[383][4] = 11;
v[384][4] = 7;
v[385][4] = 15;
v[386][4] = 5;
v[387][4] = 21;
v[388][4] = 7;
v[389][4] = 31;
v[390][4] = 13;
v[391][4] = 11;
v[392][4] = 23;
v[393][4] = 5;
v[394][4] = 7;
v[395][4] = 23;
v[396][4] = 27;
v[397][4] = 21;
v[398][4] = 29;
v[399][4] = 15;
v[400][4] = 7;
v[401][4] = 27;
v[402][4] = 27;
v[403][4] = 19;
v[404][4] = 7;
v[405][4] = 15;
v[406][4] = 27;
v[407][4] = 27;
v[408][4] = 19;
v[409][4] = 19;
v[410][4] = 9;
v[411][4] = 15;
v[412][4] = 1;
v[413][4] = 3;
v[414][4] = 29;
v[415][4] = 29;
v[416][4] = 5;
v[417][4] = 27;
v[418][4] = 31;
v[419][4] = 9;
v[420][4] = 1;
v[421][4] = 7;
v[422][4] = 3;
v[423][4] = 19;
v[424][4] = 19;
v[425][4] = 29;
v[426][4] = 9;
v[427][4] = 3;
v[428][4] = 21;
v[429][4] = 31;
v[430][4] = 29;
v[431][4] = 25;
v[432][4] = 1;
v[433][4] = 3;
v[434][4] = 9;
v[435][4] = 27;
v[436][4] = 5;
v[437][4] = 27;
v[438][4] = 25;
v[439][4] = 21;
v[440][4] = 11;
v[441][4] = 29;
v[442][4] = 31;
v[443][4] = 27;
v[444][4] = 21;
v[445][4] = 29;
v[446][4] = 17;
v[447][4] = 9;
v[448][4] = 17;
v[449][4] = 13;
v[450][4] = 11;
v[451][4] = 25;
v[452][4] = 15;
v[453][4] = 21;
v[454][4] = 11;
v[455][4] = 19;
v[456][4] = 31;
v[457][4] = 3;
v[458][4] = 19;
v[459][4] = 5;
v[460][4] = 3;
v[461][4] = 3;
v[462][4] = 9;
v[463][4] = 13;
v[464][4] = 13;
v[465][4] = 3;
v[466][4] = 29;
v[467][4] = 7;
v[468][4] = 5;
v[469][4] = 9;
v[470][4] = 23;
v[471][4] = 13;
v[472][4] = 21;
v[473][4] = 23;
v[474][4] = 21;
v[475][4] = 31;
v[476][4] = 11;
v[477][4] = 7;
v[478][4] = 7;
v[479][4] = 3;
v[480][4] = 23;
v[481][4] = 1;
v[482][4] = 23;
v[483][4] = 5;
v[484][4] = 9;
v[485][4] = 17;
v[486][4] = 21;
v[487][4] = 1;
v[488][4] = 17;
v[489][4] = 29;
v[490][4] = 7;
v[491][4] = 5;
v[492][4] = 17;
v[493][4] = 13;
v[494][4] = 25;
v[495][4] = 17;
v[496][4] = 9;
v[497][4] = 19;
v[498][4] = 9;
v[499][4] = 5;
v[500][4] = 7;
v[501][4] = 21;
v[502][4] = 19;
v[503][4] = 13;
v[504][4] = 9;
v[505][4] = 7;
v[506][4] = 3;
v[507][4] = 9;
v[508][4] = 3;
v[509][4] = 15;
v[510][4] = 31;
v[511][4] = 29;
v[13][5] = 37;
v[14][5] = 33;
v[15][5] = 7;
v[16][5] = 5;
v[17][5] = 11;
v[18][5] = 39;
v[19][5] = 63;
v[20][5] = 59;
v[21][5] = 17;
v[22][5] = 15;
v[23][5] = 23;
v[24][5] = 29;
v[25][5] = 3;
v[26][5] = 21;
v[27][5] = 13;
v[28][5] = 31;
v[29][5] = 25;
v[30][5] = 9;
v[31][5] = 49;
v[32][5] = 33;
v[33][5] = 19;
v[34][5] = 29;
v[35][5] = 11;
v[36][5] = 19;
v[37][5] = 27;
v[38][5] = 15;
v[39][5] = 25;
v[40][5] = 63;
v[41][5] = 55;
v[42][5] = 17;
v[43][5] = 63;
v[44][5] = 49;
v[45][5] = 19;
v[46][5] = 41;
v[47][5] = 59;
v[48][5] = 3;
v[49][5] = 57;
v[50][5] = 33;
v[51][5] = 49;
v[52][5] = 53;
v[53][5] = 57;
v[54][5] = 57;
v[55][5] = 39;
v[56][5] = 21;
v[57][5] = 7;
v[58][5] = 53;
v[59][5] = 9;
v[60][5] = 55;
v[61][5] = 15;
v[62][5] = 59;
v[63][5] = 19;
v[64][5] = 49;
v[65][5] = 31;
v[66][5] = 3;
v[67][5] = 39;
v[68][5] = 5;
v[69][5] = 5;
v[70][5] = 41;
v[71][5] = 9;
v[72][5] = 19;
v[73][5] = 9;
v[74][5] = 57;
v[75][5] = 25;
v[76][5] = 1;
v[77][5] = 15;
v[78][5] = 51;
v[79][5] = 11;
v[80][5] = 19;
v[81][5] = 61;
v[82][5] = 53;
v[83][5] = 29;
v[84][5] = 19;
v[85][5] = 11;
v[86][5] = 9;
v[87][5] = 21;
v[88][5] = 19;
v[89][5] = 43;
v[90][5] = 13;
v[91][5] = 13;
v[92][5] = 41;
v[93][5] = 25;
v[94][5] = 31;
v[95][5] = 9;
v[96][5] = 11;
v[97][5] = 19;
v[98][5] = 5;
v[99][5] = 53;
v[100][5] = 37;
v[101][5] = 7;
v[102][5] = 51;
v[103][5] = 45;
v[104][5] = 7;
v[105][5] = 7;
v[106][5] = 61;
v[107][5] = 23;
v[108][5] = 45;
v[109][5] = 7;
v[110][5] = 59;
v[111][5] = 41;
v[112][5] = 1;
v[113][5] = 29;
v[114][5] = 61;
v[115][5] = 37;
v[116][5] = 27;
v[117][5] = 47;
v[118][5] = 15;
v[119][5] = 31;
v[120][5] = 35;
v[121][5] = 31;
v[122][5] = 17;
v[123][5] = 51;
v[124][5] = 13;
v[125][5] = 25;
v[126][5] = 45;
v[127][5] = 5;
v[128][5] = 5;
v[129][5] = 33;
v[130][5] = 39;
v[131][5] = 5;
v[132][5] = 47;
v[133][5] = 29;
v[134][5] = 35;
v[135][5] = 47;
v[136][5] = 63;
v[137][5] = 45;
v[138][5] = 37;
v[139][5] = 47;
v[140][5] = 59;
v[141][5] = 21;
v[142][5] = 59;
v[143][5] = 33;
v[144][5] = 51;
v[145][5] = 9;
v[146][5] = 27;
v[147][5] = 13;
v[148][5] = 25;
v[149][5] = 43;
v[150][5] = 3;
v[151][5] = 17;
v[152][5] = 21;
v[153][5] = 59;
v[154][5] = 61;
v[155][5] = 27;
v[156][5] = 47;
v[157][5] = 57;
v[158][5] = 11;
v[159][5] = 17;
v[160][5] = 39;
v[161][5] = 1;
v[162][5] = 63;
v[163][5] = 21;
v[164][5] = 59;
v[165][5] = 17;
v[166][5] = 13;
v[167][5] = 31;
v[168][5] = 3;
v[169][5] = 31;
v[170][5] = 7;
v[171][5] = 9;
v[172][5] = 27;
v[173][5] = 37;
v[174][5] = 23;
v[175][5] = 31;
v[176][5] = 9;
v[177][5] = 45;
v[178][5] = 43;
v[179][5] = 31;
v[180][5] = 63;
v[181][5] = 21;
v[182][5] = 39;
v[183][5] = 51;
v[184][5] = 27;
v[185][5] = 7;
v[186][5] = 53;
v[187][5] = 11;
v[188][5] = 1;
v[189][5] = 59;
v[190][5] = 39;
v[191][5] = 23;
v[192][5] = 49;
v[193][5] = 23;
v[194][5] = 7;
v[195][5] = 55;
v[196][5] = 59;
v[197][5] = 3;
v[198][5] = 19;
v[199][5] = 35;
v[200][5] = 13;
v[201][5] = 9;
v[202][5] = 13;
v[203][5] = 15;
v[204][5] = 23;
v[205][5] = 9;
v[206][5] = 7;
v[207][5] = 43;
v[208][5] = 55;
v[209][5] = 3;
v[210][5] = 19;
v[211][5] = 9;
v[212][5] = 27;
v[213][5] = 33;
v[214][5] = 27;
v[215][5] = 49;
v[216][5] = 23;
v[217][5] = 47;
v[218][5] = 19;
v[219][5] = 7;
v[220][5] = 11;
v[221][5] = 55;
v[222][5] = 27;
v[223][5] = 35;
v[224][5] = 5;
v[225][5] = 5;
v[226][5] = 55;
v[227][5] = 35;
v[228][5] = 37;
v[229][5] = 9;
v[230][5] = 33;
v[231][5] = 29;
v[232][5] = 47;
v[233][5] = 25;
v[234][5] = 11;
v[235][5] = 47;
v[236][5] = 53;
v[237][5] = 61;
v[238][5] = 59;
v[239][5] = 3;
v[240][5] = 53;
v[241][5] = 47;
v[242][5] = 5;
v[243][5] = 19;
v[244][5] = 59;
v[245][5] = 5;
v[246][5] = 47;
v[247][5] = 23;
v[248][5] = 45;
v[249][5] = 53;
v[250][5] = 3;
v[251][5] = 49;
v[252][5] = 61;
v[253][5] = 47;
v[254][5] = 39;
v[255][5] = 29;
v[256][5] = 17;
v[257][5] = 57;
v[258][5] = 5;
v[259][5] = 17;
v[260][5] = 31;
v[261][5] = 23;
v[262][5] = 41;
v[263][5] = 39;
v[264][5] = 5;
v[265][5] = 27;
v[266][5] = 7;
v[267][5] = 29;
v[268][5] = 29;
v[269][5] = 33;
v[270][5] = 31;
v[271][5] = 41;
v[272][5] = 31;
v[273][5] = 29;
v[274][5] = 17;
v[275][5] = 29;
v[276][5] = 29;
v[277][5] = 9;
v[278][5] = 9;
v[279][5] = 31;
v[280][5] = 27;
v[281][5] = 53;
v[282][5] = 35;
v[283][5] = 5;
v[284][5] = 61;
v[285][5] = 1;
v[286][5] = 49;
v[287][5] = 13;
v[288][5] = 57;
v[289][5] = 29;
v[290][5] = 5;
v[291][5] = 21;
v[292][5] = 43;
v[293][5] = 25;
v[294][5] = 57;
v[295][5] = 49;
v[296][5] = 37;
v[297][5] = 27;
v[298][5] = 11;
v[299][5] = 61;
v[300][5] = 37;
v[301][5] = 49;
v[302][5] = 5;
v[303][5] = 63;
v[304][5] = 63;
v[305][5] = 3;
v[306][5] = 45;
v[307][5] = 37;
v[308][5] = 63;
v[309][5] = 21;
v[310][5] = 21;
v[311][5] = 19;
v[312][5] = 27;
v[313][5] = 59;
v[314][5] = 21;
v[315][5] = 45;
v[316][5] = 23;
v[317][5] = 13;
v[318][5] = 15;
v[319][5] = 3;
v[320][5] = 43;
v[321][5] = 63;
v[322][5] = 39;
v[323][5] = 19;
v[324][5] = 63;
v[325][5] = 31;
v[326][5] = 41;
v[327][5] = 41;
v[328][5] = 15;
v[329][5] = 43;
v[330][5] = 63;
v[331][5] = 53;
v[332][5] = 1;
v[333][5] = 63;
v[334][5] = 31;
v[335][5] = 7;
v[336][5] = 17;
v[337][5] = 11;
v[338][5] = 61;
v[339][5] = 31;
v[340][5] = 51;
v[341][5] = 37;
v[342][5] = 29;
v[343][5] = 59;
v[344][5] = 25;
v[345][5] = 63;
v[346][5] = 59;
v[347][5] = 47;
v[348][5] = 15;
v[349][5] = 27;
v[350][5] = 19;
v[351][5] = 29;
v[352][5] = 45;
v[353][5] = 35;
v[354][5] = 55;
v[355][5] = 39;
v[356][5] = 19;
v[357][5] = 43;
v[358][5] = 21;
v[359][5] = 19;
v[360][5] = 13;
v[361][5] = 17;
v[362][5] = 51;
v[363][5] = 37;
v[364][5] = 5;
v[365][5] = 33;
v[366][5] = 35;
v[367][5] = 49;
v[368][5] = 25;
v[369][5] = 45;
v[370][5] = 1;
v[371][5] = 63;
v[372][5] = 47;
v[373][5] = 9;
v[374][5] = 63;
v[375][5] = 15;
v[376][5] = 25;
v[377][5] = 25;
v[378][5] = 15;
v[379][5] = 41;
v[380][5] = 13;
v[381][5] = 3;
v[382][5] = 19;
v[383][5] = 51;
v[384][5] = 49;
v[385][5] = 37;
v[386][5] = 25;
v[387][5] = 49;
v[388][5] = 13;
v[389][5] = 53;
v[390][5] = 47;
v[391][5] = 23;
v[392][5] = 35;
v[393][5] = 29;
v[394][5] = 33;
v[395][5] = 21;
v[396][5] = 35;
v[397][5] = 23;
v[398][5] = 3;
v[399][5] = 43;
v[400][5] = 31;
v[401][5] = 63;
v[402][5] = 9;
v[403][5] = 1;
v[404][5] = 61;
v[405][5] = 43;
v[406][5] = 3;
v[407][5] = 11;
v[408][5] = 55;
v[409][5] = 11;
v[410][5] = 35;
v[411][5] = 1;
v[412][5] = 63;
v[413][5] = 35;
v[414][5] = 49;
v[415][5] = 19;
v[416][5] = 45;
v[417][5] = 9;
v[418][5] = 57;
v[419][5] = 51;
v[420][5] = 1;
v[421][5] = 47;
v[422][5] = 41;
v[423][5] = 9;
v[424][5] = 11;
v[425][5] = 37;
v[426][5] = 19;
v[427][5] = 55;
v[428][5] = 23;
v[429][5] = 55;
v[430][5] = 55;
v[431][5] = 13;
v[432][5] = 7;
v[433][5] = 47;
v[434][5] = 37;
v[435][5] = 11;
v[436][5] = 43;
v[437][5] = 17;
v[438][5] = 3;
v[439][5] = 25;
v[440][5] = 19;
v[441][5] = 55;
v[442][5] = 59;
v[443][5] = 37;
v[444][5] = 33;
v[445][5] = 43;
v[446][5] = 1;
v[447][5] = 5;
v[448][5] = 21;
v[449][5] = 5;
v[450][5] = 63;
v[451][5] = 49;
v[452][5] = 61;
v[453][5] = 21;
v[454][5] = 51;
v[455][5] = 15;
v[456][5] = 19;
v[457][5] = 43;
v[458][5] = 47;
v[459][5] = 17;
v[460][5] = 9;
v[461][5] = 53;
v[462][5] = 45;
v[463][5] = 11;
v[464][5] = 51;
v[465][5] = 25;
v[466][5] = 11;
v[467][5] = 25;
v[468][5] = 47;
v[469][5] = 47;
v[470][5] = 1;
v[471][5] = 43;
v[472][5] = 29;
v[473][5] = 17;
v[474][5] = 31;
v[475][5] = 15;
v[476][5] = 59;
v[477][5] = 27;
v[478][5] = 63;
v[479][5] = 11;
v[480][5] = 41;
v[481][5] = 51;
v[482][5] = 29;
v[483][5] = 7;
v[484][5] = 27;
v[485][5] = 63;
v[486][5] = 31;
v[487][5] = 43;
v[488][5] = 3;
v[489][5] = 29;
v[490][5] = 39;
v[491][5] = 3;
v[492][5] = 59;
v[493][5] = 59;
v[494][5] = 1;
v[495][5] = 53;
v[496][5] = 63;
v[497][5] = 23;
v[498][5] = 63;
v[499][5] = 47;
v[500][5] = 51;
v[501][5] = 23;
v[502][5] = 61;
v[503][5] = 39;
v[504][5] = 47;
v[505][5] = 21;
v[506][5] = 39;
v[507][5] = 15;
v[508][5] = 3;
v[509][5] = 9;
v[510][5] = 57;
v[511][5] = 61;
v[19][6] = 13;
v[20][6] = 33;
v[21][6] = 115;
v[22][6] = 41;
v[23][6] = 79;
v[24][6] = 17;
v[25][6] = 29;
v[26][6] = 119;
v[27][6] = 75;
v[28][6] = 73;
v[29][6] = 105;
v[30][6] = 7;
v[31][6] = 59;
v[32][6] = 65;
v[33][6] = 21;
v[34][6] = 3;
v[35][6] = 113;
v[36][6] = 61;
v[37][6] = 89;
v[38][6] = 45;
v[39][6] = 107;
v[40][6] = 21;
v[41][6] = 71;
v[42][6] = 79;
v[43][6] = 19;
v[44][6] = 71;
v[45][6] = 61;
v[46][6] = 41;
v[47][6] = 57;
v[48][6] = 121;
v[49][6] = 87;
v[50][6] = 119;
v[51][6] = 55;
v[52][6] = 85;
v[53][6] = 121;
v[54][6] = 119;
v[55][6] = 11;
v[56][6] = 23;
v[57][6] = 61;
v[58][6] = 11;
v[59][6] = 35;
v[60][6] = 33;
v[61][6] = 43;
v[62][6] = 107;
v[63][6] = 113;
v[64][6] = 101;
v[65][6] = 29;
v[66][6] = 87;
v[67][6] = 119;
v[68][6] = 97;
v[69][6] = 29;
v[70][6] = 17;
v[71][6] = 89;
v[72][6] = 5;
v[73][6] = 127;
v[74][6] = 89;
v[75][6] = 119;
v[76][6] = 117;
v[77][6] = 103;
v[78][6] = 105;
v[79][6] = 41;
v[80][6] = 83;
v[81][6] = 25;
v[82][6] = 41;
v[83][6] = 55;
v[84][6] = 69;
v[85][6] = 117;
v[86][6] = 49;
v[87][6] = 127;
v[88][6] = 29;
v[89][6] = 1;
v[90][6] = 99;
v[91][6] = 53;
v[92][6] = 83;
v[93][6] = 15;
v[94][6] = 31;
v[95][6] = 73;
v[96][6] = 115;
v[97][6] = 35;
v[98][6] = 21;
v[99][6] = 89;
v[100][6] = 5;
v[101][6] = 1;
v[102][6] = 91;
v[103][6] = 53;
v[104][6] = 35;
v[105][6] = 95;
v[106][6] = 83;
v[107][6] = 19;
v[108][6] = 85;
v[109][6] = 55;
v[110][6] = 51;
v[111][6] = 101;
v[112][6] = 33;
v[113][6] = 41;
v[114][6] = 55;
v[115][6] = 45;
v[116][6] = 95;
v[117][6] = 61;
v[118][6] = 27;
v[119][6] = 37;
v[120][6] = 89;
v[121][6] = 75;
v[122][6] = 57;
v[123][6] = 61;
v[124][6] = 15;
v[125][6] = 117;
v[126][6] = 15;
v[127][6] = 21;
v[128][6] = 27;
v[129][6] = 25;
v[130][6] = 27;
v[131][6] = 123;
v[132][6] = 39;
v[133][6] = 109;
v[134][6] = 93;
v[135][6] = 51;
v[136][6] = 21;
v[137][6] = 91;
v[138][6] = 109;
v[139][6] = 107;
v[140][6] = 45;
v[141][6] = 15;
v[142][6] = 93;
v[143][6] = 127;
v[144][6] = 3;
v[145][6] = 53;
v[146][6] = 81;
v[147][6] = 79;
v[148][6] = 107;
v[149][6] = 79;
v[150][6] = 87;
v[151][6] = 35;
v[152][6] = 109;
v[153][6] = 73;
v[154][6] = 35;
v[155][6] = 83;
v[156][6] = 107;
v[157][6] = 1;
v[158][6] = 51;
v[159][6] = 7;
v[160][6] = 59;
v[161][6] = 33;
v[162][6] = 115;
v[163][6] = 43;
v[164][6] = 111;
v[165][6] = 45;
v[166][6] = 121;
v[167][6] = 105;
v[168][6] = 125;
v[169][6] = 87;
v[170][6] = 101;
v[171][6] = 41;
v[172][6] = 95;
v[173][6] = 75;
v[174][6] = 1;
v[175][6] = 57;
v[176][6] = 117;
v[177][6] = 21;
v[178][6] = 27;
v[179][6] = 67;
v[180][6] = 29;
v[181][6] = 53;
v[182][6] = 117;
v[183][6] = 63;
v[184][6] = 1;
v[185][6] = 77;
v[186][6] = 89;
v[187][6] = 115;
v[188][6] = 49;
v[189][6] = 127;
v[190][6] = 15;
v[191][6] = 79;
v[192][6] = 81;
v[193][6] = 29;
v[194][6] = 65;
v[195][6] = 103;
v[196][6] = 33;
v[197][6] = 73;
v[198][6] = 79;
v[199][6] = 29;
v[200][6] = 21;
v[201][6] = 113;
v[202][6] = 31;
v[203][6] = 33;
v[204][6] = 107;
v[205][6] = 95;
v[206][6] = 111;
v[207][6] = 59;
v[208][6] = 99;
v[209][6] = 117;
v[210][6] = 63;
v[211][6] = 63;
v[212][6] = 99;
v[213][6] = 39;
v[214][6] = 9;
v[215][6] = 35;
v[216][6] = 63;
v[217][6] = 125;
v[218][6] = 99;
v[219][6] = 45;
v[220][6] = 93;
v[221][6] = 33;
v[222][6] = 93;
v[223][6] = 9;
v[224][6] = 105;
v[225][6] = 75;
v[226][6] = 51;
v[227][6] = 115;
v[228][6] = 11;
v[229][6] = 37;
v[230][6] = 17;
v[231][6] = 41;
v[232][6] = 21;
v[233][6] = 43;
v[234][6] = 73;
v[235][6] = 19;
v[236][6] = 93;
v[237][6] = 7;
v[238][6] = 95;
v[239][6] = 81;
v[240][6] = 93;
v[241][6] = 79;
v[242][6] = 81;
v[243][6] = 55;
v[244][6] = 9;
v[245][6] = 51;
v[246][6] = 63;
v[247][6] = 45;
v[248][6] = 89;
v[249][6] = 73;
v[250][6] = 19;
v[251][6] = 115;
v[252][6] = 39;
v[253][6] = 47;
v[254][6] = 81;
v[255][6] = 39;
v[256][6] = 5;
v[257][6] = 5;
v[258][6] = 45;
v[259][6] = 53;
v[260][6] = 65;
v[261][6] = 49;
v[262][6] = 17;
v[263][6] = 105;
v[264][6] = 13;
v[265][6] = 107;
v[266][6] = 5;
v[267][6] = 5;
v[268][6] = 19;
v[269][6] = 73;
v[270][6] = 59;
v[271][6] = 43;
v[272][6] = 83;
v[273][6] = 97;
v[274][6] = 115;
v[275][6] = 27;
v[276][6] = 1;
v[277][6] = 69;
v[278][6] = 103;
v[279][6] = 3;
v[280][6] = 99;
v[281][6] = 103;
v[282][6] = 63;
v[283][6] = 67;
v[284][6] = 25;
v[285][6] = 121;
v[286][6] = 97;
v[287][6] = 77;
v[288][6] = 13;
v[289][6] = 83;
v[290][6] = 103;
v[291][6] = 41;
v[292][6] = 11;
v[293][6] = 27;
v[294][6] = 81;
v[295][6] = 37;
v[296][6] = 33;
v[297][6] = 125;
v[298][6] = 71;
v[299][6] = 41;
v[300][6] = 41;
v[301][6] = 59;
v[302][6] = 41;
v[303][6] = 87;
v[304][6] = 123;
v[305][6] = 43;
v[306][6] = 101;
v[307][6] = 63;
v[308][6] = 45;
v[309][6] = 39;
v[310][6] = 21;
v[311][6] = 97;
v[312][6] = 15;
v[313][6] = 97;
v[314][6] = 111;
v[315][6] = 21;
v[316][6] = 49;
v[317][6] = 13;
v[318][6] = 17;
v[319][6] = 79;
v[320][6] = 91;
v[321][6] = 65;
v[322][6] = 105;
v[323][6] = 75;
v[324][6] = 1;
v[325][6] = 45;
v[326][6] = 67;
v[327][6] = 83;
v[328][6] = 107;
v[329][6] = 125;
v[330][6] = 87;
v[331][6] = 15;
v[332][6] = 81;
v[333][6] = 95;
v[334][6] = 105;
v[335][6] = 65;
v[336][6] = 45;
v[337][6] = 59;
v[338][6] = 103;
v[339][6] = 23;
v[340][6] = 103;
v[341][6] = 99;
v[342][6] = 67;
v[343][6] = 99;
v[344][6] = 47;
v[345][6] = 117;
v[346][6] = 71;
v[347][6] = 89;
v[348][6] = 35;
v[349][6] = 53;
v[350][6] = 73;
v[351][6] = 9;
v[352][6] = 115;
v[353][6] = 49;
v[354][6] = 37;
v[355][6] = 1;
v[356][6] = 35;
v[357][6] = 9;
v[358][6] = 45;
v[359][6] = 81;
v[360][6] = 19;
v[361][6] = 127;
v[362][6] = 17;
v[363][6] = 17;
v[364][6] = 105;
v[365][6] = 89;
v[366][6] = 49;
v[367][6] = 101;
v[368][6] = 7;
v[369][6] = 37;
v[370][6] = 33;
v[371][6] = 11;
v[372][6] = 95;
v[373][6] = 95;
v[374][6] = 17;
v[375][6] = 111;
v[376][6] = 105;
v[377][6] = 41;
v[378][6] = 115;
v[379][6] = 5;
v[380][6] = 69;
v[381][6] = 101;
v[382][6] = 27;
v[383][6] = 27;
v[384][6] = 101;
v[385][6] = 103;
v[386][6] = 53;
v[387][6] = 9;
v[388][6] = 21;
v[389][6] = 43;
v[390][6] = 79;
v[391][6] = 91;
v[392][6] = 65;
v[393][6] = 117;
v[394][6] = 87;
v[395][6] = 125;
v[396][6] = 55;
v[397][6] = 45;
v[398][6] = 63;
v[399][6] = 85;
v[400][6] = 83;
v[401][6] = 97;
v[402][6] = 45;
v[403][6] = 83;
v[404][6] = 87;
v[405][6] = 113;
v[406][6] = 93;
v[407][6] = 95;
v[408][6] = 5;
v[409][6] = 17;
v[410][6] = 77;
v[411][6] = 77;
v[412][6] = 127;
v[413][6] = 123;
v[414][6] = 45;
v[415][6] = 81;
v[416][6] = 85;
v[417][6] = 121;
v[418][6] = 119;
v[419][6] = 27;
v[420][6] = 85;
v[421][6] = 41;
v[422][6] = 49;
v[423][6] = 15;
v[424][6] = 107;
v[425][6] = 21;
v[426][6] = 51;
v[427][6] = 119;
v[428][6] = 11;
v[429][6] = 87;
v[430][6] = 101;
v[431][6] = 115;
v[432][6] = 63;
v[433][6] = 63;
v[434][6] = 37;
v[435][6] = 121;
v[436][6] = 109;
v[437][6] = 7;
v[438][6] = 43;
v[439][6] = 69;
v[440][6] = 19;
v[441][6] = 77;
v[442][6] = 49;
v[443][6] = 71;
v[444][6] = 59;
v[445][6] = 35;
v[446][6] = 7;
v[447][6] = 13;
v[448][6] = 55;
v[449][6] = 101;
v[450][6] = 127;
v[451][6] = 103;
v[452][6] = 85;
v[453][6] = 109;
v[454][6] = 29;
v[455][6] = 61;
v[456][6] = 67;
v[457][6] = 21;
v[458][6] = 111;
v[459][6] = 67;
v[460][6] = 23;
v[461][6] = 57;
v[462][6] = 75;
v[463][6] = 71;
v[464][6] = 101;
v[465][6] = 123;
v[466][6] = 41;
v[467][6] = 107;
v[468][6] = 101;
v[469][6] = 107;
v[470][6] = 125;
v[471][6] = 27;
v[472][6] = 47;
v[473][6] = 119;
v[474][6] = 41;
v[475][6] = 19;
v[476][6] = 127;
v[477][6] = 33;
v[478][6] = 31;
v[479][6] = 109;
v[480][6] = 7;
v[481][6] = 91;
v[482][6] = 91;
v[483][6] = 39;
v[484][6] = 125;
v[485][6] = 105;
v[486][6] = 47;
v[487][6] = 125;
v[488][6] = 123;
v[489][6] = 91;
v[490][6] = 9;
v[491][6] = 103;
v[492][6] = 45;
v[493][6] = 23;
v[494][6] = 117;
v[495][6] = 9;
v[496][6] = 125;
v[497][6] = 73;
v[498][6] = 11;
v[499][6] = 37;
v[500][6] = 61;
v[501][6] = 79;
v[502][6] = 21;
v[503][6] = 5;
v[504][6] = 47;
v[505][6] = 117;
v[506][6] = 67;
v[507][6] = 53;
v[508][6] = 85;
v[509][6] = 33;
v[510][6] = 81;
v[511][6] = 121;
v[37][7] = 7;
v[38][7] = 23;
v[39][7] = 39;
v[40][7] = 217;
v[41][7] = 141;
v[42][7] = 27;
v[43][7] = 53;
v[44][7] = 181;
v[45][7] = 169;
v[46][7] = 35;
v[47][7] = 15;
v[48][7] = 207;
v[49][7] = 45;
v[50][7] = 247;
v[51][7] = 185;
v[52][7] = 117;
v[53][7] = 41;
v[54][7] = 81;
v[55][7] = 223;
v[56][7] = 151;
v[57][7] = 81;
v[58][7] = 189;
v[59][7] = 61;
v[60][7] = 95;
v[61][7] = 185;
v[62][7] = 23;
v[63][7] = 73;
v[64][7] = 113;
v[65][7] = 239;
v[66][7] = 85;
v[67][7] = 9;
v[68][7] = 201;
v[69][7] = 83;
v[70][7] = 53;
v[71][7] = 183;
v[72][7] = 203;
v[73][7] = 91;
v[74][7] = 149;
v[75][7] = 101;
v[76][7] = 13;
v[77][7] = 111;
v[78][7] = 239;
v[79][7] = 3;
v[80][7] = 205;
v[81][7] = 253;
v[82][7] = 247;
v[83][7] = 121;
v[84][7] = 189;
v[85][7] = 169;
v[86][7] = 179;
v[87][7] = 197;
v[88][7] = 175;
v[89][7] = 217;
v[90][7] = 249;
v[91][7] = 195;
v[92][7] = 95;
v[93][7] = 63;
v[94][7] = 19;
v[95][7] = 7;
v[96][7] = 5;
v[97][7] = 75;
v[98][7] = 217;
v[99][7] = 245;
v[100][7] = 111;
v[101][7] = 189;
v[102][7] = 165;
v[103][7] = 169;
v[104][7] = 141;
v[105][7] = 221;
v[106][7] = 249;
v[107][7] = 159;
v[108][7] = 253;
v[109][7] = 207;
v[110][7] = 249;
v[111][7] = 219;
v[112][7] = 23;
v[113][7] = 49;
v[114][7] = 127;
v[115][7] = 237;
v[116][7] = 5;
v[117][7] = 25;
v[118][7] = 177;
v[119][7] = 37;
v[120][7] = 103;
v[121][7] = 65;
v[122][7] = 167;
v[123][7] = 81;
v[124][7] = 87;
v[125][7] = 119;
v[126][7] = 45;
v[127][7] = 79;
v[128][7] = 143;
v[129][7] = 57;
v[130][7] = 79;
v[131][7] = 187;
v[132][7] = 143;
v[133][7] = 183;
v[134][7] = 75;
v[135][7] = 97;
v[136][7] = 211;
v[137][7] = 149;
v[138][7] = 175;
v[139][7] = 37;
v[140][7] = 135;
v[141][7] = 189;
v[142][7] = 225;
v[143][7] = 241;
v[144][7] = 63;
v[145][7] = 33;
v[146][7] = 43;
v[147][7] = 13;
v[148][7] = 73;
v[149][7] = 213;
v[150][7] = 57;
v[151][7] = 239;
v[152][7] = 183;
v[153][7] = 117;
v[154][7] = 21;
v[155][7] = 29;
v[156][7] = 115;
v[157][7] = 43;
v[158][7] = 205;
v[159][7] = 223;
v[160][7] = 15;
v[161][7] = 3;
v[162][7] = 159;
v[163][7] = 51;
v[164][7] = 101;
v[165][7] = 127;
v[166][7] = 99;
v[167][7] = 239;
v[168][7] = 171;
v[169][7] = 113;
v[170][7] = 171;
v[171][7] = 119;
v[172][7] = 189;
v[173][7] = 245;
v[174][7] = 201;
v[175][7] = 27;
v[176][7] = 185;
v[177][7] = 229;
v[178][7] = 105;
v[179][7] = 153;
v[180][7] = 189;
v[181][7] = 33;
v[182][7] = 35;
v[183][7] = 137;
v[184][7] = 77;
v[185][7] = 97;
v[186][7] = 17;
v[187][7] = 181;
v[188][7] = 55;
v[189][7] = 197;
v[190][7] = 201;
v[191][7] = 155;
v[192][7] = 37;
v[193][7] = 197;
v[194][7] = 137;
v[195][7] = 223;
v[196][7] = 25;
v[197][7] = 179;
v[198][7] = 91;
v[199][7] = 23;
v[200][7] = 235;
v[201][7] = 53;
v[202][7] = 253;
v[203][7] = 49;
v[204][7] = 181;
v[205][7] = 249;
v[206][7] = 53;
v[207][7] = 173;
v[208][7] = 97;
v[209][7] = 247;
v[210][7] = 67;
v[211][7] = 115;
v[212][7] = 103;
v[213][7] = 159;
v[214][7] = 239;
v[215][7] = 69;
v[216][7] = 173;
v[217][7] = 217;
v[218][7] = 95;
v[219][7] = 221;
v[220][7] = 247;
v[221][7] = 97;
v[222][7] = 91;
v[223][7] = 123;
v[224][7] = 223;
v[225][7] = 213;
v[226][7] = 129;
v[227][7] = 181;
v[228][7] = 87;
v[229][7] = 239;
v[230][7] = 85;
v[231][7] = 89;
v[232][7] = 249;
v[233][7] = 141;
v[234][7] = 39;
v[235][7] = 57;
v[236][7] = 249;
v[237][7] = 71;
v[238][7] = 101;
v[239][7] = 159;
v[240][7] = 33;
v[241][7] = 137;
v[242][7] = 189;
v[243][7] = 71;
v[244][7] = 253;
v[245][7] = 205;
v[246][7] = 171;
v[247][7] = 13;
v[248][7] = 249;
v[249][7] = 109;
v[250][7] = 131;
v[251][7] = 199;
v[252][7] = 189;
v[253][7] = 179;
v[254][7] = 31;
v[255][7] = 99;
v[256][7] = 113;
v[257][7] = 41;
v[258][7] = 173;
v[259][7] = 23;
v[260][7] = 189;
v[261][7] = 197;
v[262][7] = 3;
v[263][7] = 135;
v[264][7] = 9;
v[265][7] = 95;
v[266][7] = 195;
v[267][7] = 27;
v[268][7] = 183;
v[269][7] = 1;
v[270][7] = 123;
v[271][7] = 73;
v[272][7] = 53;
v[273][7] = 99;
v[274][7] = 197;
v[275][7] = 59;
v[276][7] = 27;
v[277][7] = 101;
v[278][7] = 55;
v[279][7] = 193;
v[280][7] = 31;
v[281][7] = 61;
v[282][7] = 119;
v[283][7] = 11;
v[284][7] = 7;
v[285][7] = 255;
v[286][7] = 233;
v[287][7] = 53;
v[288][7] = 157;
v[289][7] = 193;
v[290][7] = 97;
v[291][7] = 83;
v[292][7] = 65;
v[293][7] = 81;
v[294][7] = 239;
v[295][7] = 167;
v[296][7] = 69;
v[297][7] = 71;
v[298][7] = 109;
v[299][7] = 97;
v[300][7] = 137;
v[301][7] = 71;
v[302][7] = 193;
v[303][7] = 189;
v[304][7] = 115;
v[305][7] = 79;
v[306][7] = 205;
v[307][7] = 37;
v[308][7] = 227;
v[309][7] = 53;
v[310][7] = 33;
v[311][7] = 91;
v[312][7] = 229;
v[313][7] = 245;
v[314][7] = 105;
v[315][7] = 77;
v[316][7] = 229;
v[317][7] = 161;
v[318][7] = 103;
v[319][7] = 93;
v[320][7] = 13;
v[321][7] = 161;
v[322][7] = 229;
v[323][7] = 223;
v[324][7] = 69;
v[325][7] = 15;
v[326][7] = 25;
v[327][7] = 23;
v[328][7] = 233;
v[329][7] = 93;
v[330][7] = 25;
v[331][7] = 217;
v[332][7] = 247;
v[333][7] = 61;
v[334][7] = 75;
v[335][7] = 27;
v[336][7] = 9;
v[337][7] = 223;
v[338][7] = 213;
v[339][7] = 55;
v[340][7] = 197;
v[341][7] = 145;
v[342][7] = 89;
v[343][7] = 199;
v[344][7] = 41;
v[345][7] = 201;
v[346][7] = 5;
v[347][7] = 149;
v[348][7] = 35;
v[349][7] = 119;
v[350][7] = 183;
v[351][7] = 53;
v[352][7] = 11;
v[353][7] = 13;
v[354][7] = 3;
v[355][7] = 179;
v[356][7] = 229;
v[357][7] = 43;
v[358][7] = 55;
v[359][7] = 187;
v[360][7] = 233;
v[361][7] = 47;
v[362][7] = 133;
v[363][7] = 91;
v[364][7] = 47;
v[365][7] = 71;
v[366][7] = 93;
v[367][7] = 105;
v[368][7] = 145;
v[369][7] = 45;
v[370][7] = 255;
v[371][7] = 221;
v[372][7] = 115;
v[373][7] = 175;
v[374][7] = 19;
v[375][7] = 129;
v[376][7] = 5;
v[377][7] = 209;
v[378][7] = 197;
v[379][7] = 57;
v[380][7] = 177;
v[381][7] = 115;
v[382][7] = 187;
v[383][7] = 119;
v[384][7] = 77;
v[385][7] = 211;
v[386][7] = 111;
v[387][7] = 33;
v[388][7] = 113;
v[389][7] = 23;
v[390][7] = 87;
v[391][7] = 137;
v[392][7] = 41;
v[393][7] = 7;
v[394][7] = 83;
v[395][7] = 43;
v[396][7] = 121;
v[397][7] = 145;
v[398][7] = 5;
v[399][7] = 219;
v[400][7] = 27;
v[401][7] = 11;
v[402][7] = 111;
v[403][7] = 207;
v[404][7] = 55;
v[405][7] = 97;
v[406][7] = 63;
v[407][7] = 229;
v[408][7] = 53;
v[409][7] = 33;
v[410][7] = 149;
v[411][7] = 23;
v[412][7] = 187;
v[413][7] = 153;
v[414][7] = 91;
v[415][7] = 193;
v[416][7] = 183;
v[417][7] = 59;
v[418][7] = 211;
v[419][7] = 93;
v[420][7] = 139;
v[421][7] = 59;
v[422][7] = 179;
v[423][7] = 163;
v[424][7] = 209;
v[425][7] = 77;
v[426][7] = 39;
v[427][7] = 111;
v[428][7] = 79;
v[429][7] = 229;
v[430][7] = 85;
v[431][7] = 237;
v[432][7] = 199;
v[433][7] = 137;
v[434][7] = 147;
v[435][7] = 25;
v[436][7] = 73;
v[437][7] = 121;
v[438][7] = 129;
v[439][7] = 83;
v[440][7] = 87;
v[441][7] = 93;
v[442][7] = 205;
v[443][7] = 167;
v[444][7] = 53;
v[445][7] = 107;
v[446][7] = 229;
v[447][7] = 213;
v[448][7] = 95;
v[449][7] = 219;
v[450][7] = 109;
v[451][7] = 175;
v[452][7] = 13;
v[453][7] = 209;
v[454][7] = 97;
v[455][7] = 61;
v[456][7] = 147;
v[457][7] = 19;
v[458][7] = 13;
v[459][7] = 123;
v[460][7] = 73;
v[461][7] = 35;
v[462][7] = 141;
v[463][7] = 81;
v[464][7] = 19;
v[465][7] = 171;
v[466][7] = 255;
v[467][7] = 111;
v[468][7] = 107;
v[469][7] = 233;
v[470][7] = 113;
v[471][7] = 133;
v[472][7] = 89;
v[473][7] = 9;
v[474][7] = 231;
v[475][7] = 95;
v[476][7] = 69;
v[477][7] = 33;
v[478][7] = 1;
v[479][7] = 253;
v[480][7] = 219;
v[481][7] = 253;
v[482][7] = 247;
v[483][7] = 129;
v[484][7] = 11;
v[485][7] = 251;
v[486][7] = 221;
v[487][7] = 153;
v[488][7] = 35;
v[489][7] = 103;
v[490][7] = 239;
v[491][7] = 7;
v[492][7] = 27;
v[493][7] = 235;
v[494][7] = 181;
v[495][7] = 5;
v[496][7] = 207;
v[497][7] = 53;
v[498][7] = 149;
v[499][7] = 155;
v[500][7] = 225;
v[501][7] = 165;
v[502][7] = 137;
v[503][7] = 155;
v[504][7] = 201;
v[505][7] = 97;
v[506][7] = 245;
v[507][7] = 203;
v[508][7] = 47;
v[509][7] = 39;
v[510][7] = 35;
v[511][7] = 105;
v[53][8] = 235;
v[54][8] = 307;
v[55][8] = 495;
v[56][8] = 417;
v[57][8] = 57;
v[58][8] = 151;
v[59][8] = 19;
v[60][8] = 119;
v[61][8] = 375;
v[62][8] = 451;
v[63][8] = 55;
v[64][8] = 449;
v[65][8] = 501;
v[66][8] = 53;
v[67][8] = 185;
v[68][8] = 317;
v[69][8] = 17;
v[70][8] = 21;
v[71][8] = 487;
v[72][8] = 13;
v[73][8] = 347;
v[74][8] = 393;
v[75][8] = 15;
v[76][8] = 391;
v[77][8] = 307;
v[78][8] = 189;
v[79][8] = 381;
v[80][8] = 71;
v[81][8] = 163;
v[82][8] = 99;
v[83][8] = 467;
v[84][8] = 167;
v[85][8] = 433;
v[86][8] = 337;
v[87][8] = 257;
v[88][8] = 179;
v[89][8] = 47;
v[90][8] = 385;
v[91][8] = 23;
v[92][8] = 117;
v[93][8] = 369;
v[94][8] = 425;
v[95][8] = 207;
v[96][8] = 433;
v[97][8] = 301;
v[98][8] = 147;
v[99][8] = 333;
v[100][8] = 85;
v[101][8] = 221;
v[102][8] = 423;
v[103][8] = 49;
v[104][8] = 3;
v[105][8] = 43;
v[106][8] = 229;
v[107][8] = 227;
v[108][8] = 201;
v[109][8] = 383;
v[110][8] = 281;
v[111][8] = 229;
v[112][8] = 207;
v[113][8] = 21;
v[114][8] = 343;
v[115][8] = 251;
v[116][8] = 397;
v[117][8] = 173;
v[118][8] = 507;
v[119][8] = 421;
v[120][8] = 443;
v[121][8] = 399;
v[122][8] = 53;
v[123][8] = 345;
v[124][8] = 77;
v[125][8] = 385;
v[126][8] = 317;
v[127][8] = 155;
v[128][8] = 187;
v[129][8] = 269;
v[130][8] = 501;
v[131][8] = 19;
v[132][8] = 169;
v[133][8] = 235;
v[134][8] = 415;
v[135][8] = 61;
v[136][8] = 247;
v[137][8] = 183;
v[138][8] = 5;
v[139][8] = 257;
v[140][8] = 401;
v[141][8] = 451;
v[142][8] = 95;
v[143][8] = 455;
v[144][8] = 49;
v[145][8] = 489;
v[146][8] = 75;
v[147][8] = 459;
v[148][8] = 377;
v[149][8] = 87;
v[150][8] = 463;
v[151][8] = 155;
v[152][8] = 233;
v[153][8] = 115;
v[154][8] = 429;
v[155][8] = 211;
v[156][8] = 419;
v[157][8] = 143;
v[158][8] = 487;
v[159][8] = 195;
v[160][8] = 209;
v[161][8] = 461;
v[162][8] = 193;
v[163][8] = 157;
v[164][8] = 193;
v[165][8] = 363;
v[166][8] = 181;
v[167][8] = 271;
v[168][8] = 445;
v[169][8] = 381;
v[170][8] = 231;
v[171][8] = 135;
v[172][8] = 327;
v[173][8] = 403;
v[174][8] = 171;
v[175][8] = 197;
v[176][8] = 181;
v[177][8] = 343;
v[178][8] = 113;
v[179][8] = 313;
v[180][8] = 393;
v[181][8] = 311;
v[182][8] = 415;
v[183][8] = 267;
v[184][8] = 247;
v[185][8] = 425;
v[186][8] = 233;
v[187][8] = 289;
v[188][8] = 55;
v[189][8] = 39;
v[190][8] = 247;
v[191][8] = 327;
v[192][8] = 141;
v[193][8] = 5;
v[194][8] = 189;
v[195][8] = 183;
v[196][8] = 27;
v[197][8] = 337;
v[198][8] = 341;
v[199][8] = 327;
v[200][8] = 87;
v[201][8] = 429;
v[202][8] = 357;
v[203][8] = 265;
v[204][8] = 251;
v[205][8] = 437;
v[206][8] = 201;
v[207][8] = 29;
v[208][8] = 339;
v[209][8] = 257;
v[210][8] = 377;
v[211][8] = 17;
v[212][8] = 53;
v[213][8] = 327;
v[214][8] = 47;
v[215][8] = 375;
v[216][8] = 393;
v[217][8] = 369;
v[218][8] = 403;
v[219][8] = 125;
v[220][8] = 429;
v[221][8] = 257;
v[222][8] = 157;
v[223][8] = 217;
v[224][8] = 85;
v[225][8] = 267;
v[226][8] = 117;
v[227][8] = 337;
v[228][8] = 447;
v[229][8] = 219;
v[230][8] = 501;
v[231][8] = 41;
v[232][8] = 41;
v[233][8] = 193;
v[234][8] = 509;
v[235][8] = 131;
v[236][8] = 207;
v[237][8] = 505;
v[238][8] = 421;
v[239][8] = 149;
v[240][8] = 111;
v[241][8] = 177;
v[242][8] = 167;
v[243][8] = 223;
v[244][8] = 291;
v[245][8] = 91;
v[246][8] = 29;
v[247][8] = 305;
v[248][8] = 151;
v[249][8] = 177;
v[250][8] = 337;
v[251][8] = 183;
v[252][8] = 361;
v[253][8] = 435;
v[254][8] = 307;
v[255][8] = 507;
v[256][8] = 77;
v[257][8] = 181;
v[258][8] = 507;
v[259][8] = 315;
v[260][8] = 145;
v[261][8] = 423;
v[262][8] = 71;
v[263][8] = 103;
v[264][8] = 493;
v[265][8] = 271;
v[266][8] = 469;
v[267][8] = 339;
v[268][8] = 237;
v[269][8] = 437;
v[270][8] = 483;
v[271][8] = 31;
v[272][8] = 219;
v[273][8] = 61;
v[274][8] = 131;
v[275][8] = 391;
v[276][8] = 233;
v[277][8] = 219;
v[278][8] = 69;
v[279][8] = 57;
v[280][8] = 459;
v[281][8] = 225;
v[282][8] = 421;
v[283][8] = 7;
v[284][8] = 461;
v[285][8] = 111;
v[286][8] = 451;
v[287][8] = 277;
v[288][8] = 185;
v[289][8] = 193;
v[290][8] = 125;
v[291][8] = 251;
v[292][8] = 199;
v[293][8] = 73;
v[294][8] = 71;
v[295][8] = 7;
v[296][8] = 409;
v[297][8] = 417;
v[298][8] = 149;
v[299][8] = 193;
v[300][8] = 53;
v[301][8] = 437;
v[302][8] = 29;
v[303][8] = 467;
v[304][8] = 229;
v[305][8] = 31;
v[306][8] = 35;
v[307][8] = 75;
v[308][8] = 105;
v[309][8] = 503;
v[310][8] = 75;
v[311][8] = 317;
v[312][8] = 401;
v[313][8] = 367;
v[314][8] = 131;
v[315][8] = 365;
v[316][8] = 441;
v[317][8] = 433;
v[318][8] = 93;
v[319][8] = 377;
v[320][8] = 405;
v[321][8] = 465;
v[322][8] = 259;
v[323][8] = 283;
v[324][8] = 443;
v[325][8] = 143;
v[326][8] = 445;
v[327][8] = 3;
v[328][8] = 461;
v[329][8] = 329;
v[330][8] = 309;
v[331][8] = 77;
v[332][8] = 323;
v[333][8] = 155;
v[334][8] = 347;
v[335][8] = 45;
v[336][8] = 381;
v[337][8] = 315;
v[338][8] = 463;
v[339][8] = 207;
v[340][8] = 321;
v[341][8] = 157;
v[342][8] = 109;
v[343][8] = 479;
v[344][8] = 313;
v[345][8] = 345;
v[346][8] = 167;
v[347][8] = 439;
v[348][8] = 307;
v[349][8] = 235;
v[350][8] = 473;
v[351][8] = 79;
v[352][8] = 101;
v[353][8] = 245;
v[354][8] = 19;
v[355][8] = 381;
v[356][8] = 251;
v[357][8] = 35;
v[358][8] = 25;
v[359][8] = 107;
v[360][8] = 187;
v[361][8] = 115;
v[362][8] = 113;
v[363][8] = 321;
v[364][8] = 115;
v[365][8] = 445;
v[366][8] = 61;
v[367][8] = 77;
v[368][8] = 293;
v[369][8] = 405;
v[370][8] = 13;
v[371][8] = 53;
v[372][8] = 17;
v[373][8] = 171;
v[374][8] = 299;
v[375][8] = 41;
v[376][8] = 79;
v[377][8] = 3;
v[378][8] = 485;
v[379][8] = 331;
v[380][8] = 13;
v[381][8] = 257;
v[382][8] = 59;
v[383][8] = 201;
v[384][8] = 497;
v[385][8] = 81;
v[386][8] = 451;
v[387][8] = 199;
v[388][8] = 171;
v[389][8] = 81;
v[390][8] = 253;
v[391][8] = 365;
v[392][8] = 75;
v[393][8] = 451;
v[394][8] = 149;
v[395][8] = 483;
v[396][8] = 81;
v[397][8] = 453;
v[398][8] = 469;
v[399][8] = 485;
v[400][8] = 305;
v[401][8] = 163;
v[402][8] = 401;
v[403][8] = 15;
v[404][8] = 91;
v[405][8] = 3;
v[406][8] = 129;
v[407][8] = 35;
v[408][8] = 239;
v[409][8] = 355;
v[410][8] = 211;
v[411][8] = 387;
v[412][8] = 101;
v[413][8] = 299;
v[414][8] = 67;
v[415][8] = 375;
v[416][8] = 405;
v[417][8] = 357;
v[418][8] = 267;
v[419][8] = 363;
v[420][8] = 79;
v[421][8] = 83;
v[422][8] = 437;
v[423][8] = 457;
v[424][8] = 39;
v[425][8] = 97;
v[426][8] = 473;
v[427][8] = 289;
v[428][8] = 179;
v[429][8] = 57;
v[430][8] = 23;
v[431][8] = 49;
v[432][8] = 79;
v[433][8] = 71;
v[434][8] = 341;
v[435][8] = 287;
v[436][8] = 95;
v[437][8] = 229;
v[438][8] = 271;
v[439][8] = 475;
v[440][8] = 49;
v[441][8] = 241;
v[442][8] = 261;
v[443][8] = 495;
v[444][8] = 353;
v[445][8] = 381;
v[446][8] = 13;
v[447][8] = 291;
v[448][8] = 37;
v[449][8] = 251;
v[450][8] = 105;
v[451][8] = 399;
v[452][8] = 81;
v[453][8] = 89;
v[454][8] = 265;
v[455][8] = 507;
v[456][8] = 205;
v[457][8] = 145;
v[458][8] = 331;
v[459][8] = 129;
v[460][8] = 119;
v[461][8] = 503;
v[462][8] = 249;
v[463][8] = 1;
v[464][8] = 289;
v[465][8] = 463;
v[466][8] = 163;
v[467][8] = 443;
v[468][8] = 63;
v[469][8] = 123;
v[470][8] = 361;
v[471][8] = 261;
v[472][8] = 49;
v[473][8] = 429;
v[474][8] = 137;
v[475][8] = 355;
v[476][8] = 175;
v[477][8] = 507;
v[478][8] = 59;
v[479][8] = 277;
v[480][8] = 391;
v[481][8] = 25;
v[482][8] = 185;
v[483][8] = 381;
v[484][8] = 197;
v[485][8] = 39;
v[486][8] = 5;
v[487][8] = 429;
v[488][8] = 119;
v[489][8] = 247;
v[490][8] = 177;
v[491][8] = 329;
v[492][8] = 465;
v[493][8] = 421;
v[494][8] = 271;
v[495][8] = 467;
v[496][8] = 151;
v[497][8] = 45;
v[498][8] = 429;
v[499][8] = 137;
v[500][8] = 471;
v[501][8] = 11;
v[502][8] = 17;
v[503][8] = 409;
v[504][8] = 347;
v[505][8] = 199;
v[506][8] = 463;
v[507][8] = 177;
v[508][8] = 11;
v[509][8] = 51;
v[510][8] = 361;
v[511][8] = 95;
v[101][9] = 519;
v[102][9] = 307;
v[103][9] = 931;
v[104][9] = 1023;
v[105][9] = 517;
v[106][9] = 771;
v[107][9] = 151;
v[108][9] = 1023;
v[109][9] = 539;
v[110][9] = 725;
v[111][9] = 45;
v[112][9] = 927;
v[113][9] = 707;
v[114][9] = 29;
v[115][9] = 125;
v[116][9] = 371;
v[117][9] = 275;
v[118][9] = 279;
v[119][9] = 817;
v[120][9] = 389;
v[121][9] = 453;
v[122][9] = 989;
v[123][9] = 1015;
v[124][9] = 29;
v[125][9] = 169;
v[126][9] = 743;
v[127][9] = 99;
v[128][9] = 923;
v[129][9] = 981;
v[130][9] = 181;
v[131][9] = 693;
v[132][9] = 309;
v[133][9] = 227;
v[134][9] = 111;
v[135][9] = 219;
v[136][9] = 897;
v[137][9] = 377;
v[138][9] = 425;
v[139][9] = 609;
v[140][9] = 227;
v[141][9] = 19;
v[142][9] = 221;
v[143][9] = 143;
v[144][9] = 581;
v[145][9] = 147;
v[146][9] = 919;
v[147][9] = 127;
v[148][9] = 725;
v[149][9] = 793;
v[150][9] = 289;
v[151][9] = 411;
v[152][9] = 835;
v[153][9] = 921;
v[154][9] = 957;
v[155][9] = 443;
v[156][9] = 349;
v[157][9] = 813;
v[158][9] = 5;
v[159][9] = 105;
v[160][9] = 457;
v[161][9] = 393;
v[162][9] = 539;
v[163][9] = 101;
v[164][9] = 197;
v[165][9] = 697;
v[166][9] = 27;
v[167][9] = 343;
v[168][9] = 515;
v[169][9] = 69;
v[170][9] = 485;
v[171][9] = 383;
v[172][9] = 855;
v[173][9] = 693;
v[174][9] = 133;
v[175][9] = 87;
v[176][9] = 743;
v[177][9] = 747;
v[178][9] = 475;
v[179][9] = 87;
v[180][9] = 469;
v[181][9] = 763;
v[182][9] = 721;
v[183][9] = 345;
v[184][9] = 479;
v[185][9] = 965;
v[186][9] = 527;
v[187][9] = 121;
v[188][9] = 271;
v[189][9] = 353;
v[190][9] = 467;
v[191][9] = 177;
v[192][9] = 245;
v[193][9] = 627;
v[194][9] = 113;
v[195][9] = 357;
v[196][9] = 7;
v[197][9] = 691;
v[198][9] = 725;
v[199][9] = 355;
v[200][9] = 889;
v[201][9] = 635;
v[202][9] = 737;
v[203][9] = 429;
v[204][9] = 545;
v[205][9] = 925;
v[206][9] = 357;
v[207][9] = 873;
v[208][9] = 187;
v[209][9] = 351;
v[210][9] = 677;
v[211][9] = 999;
v[212][9] = 921;
v[213][9] = 477;
v[214][9] = 233;
v[215][9] = 765;
v[216][9] = 495;
v[217][9] = 81;
v[218][9] = 953;
v[219][9] = 479;
v[220][9] = 89;
v[221][9] = 173;
v[222][9] = 473;
v[223][9] = 131;
v[224][9] = 961;
v[225][9] = 411;
v[226][9] = 291;
v[227][9] = 967;
v[228][9] = 65;
v[229][9] = 511;
v[230][9] = 13;
v[231][9] = 805;
v[232][9] = 945;
v[233][9] = 369;
v[234][9] = 827;
v[235][9] = 295;
v[236][9] = 163;
v[237][9] = 835;
v[238][9] = 259;
v[239][9] = 207;
v[240][9] = 331;
v[241][9] = 29;
v[242][9] = 315;
v[243][9] = 999;
v[244][9] = 133;
v[245][9] = 967;
v[246][9] = 41;
v[247][9] = 117;
v[248][9] = 677;
v[249][9] = 471;
v[250][9] = 717;
v[251][9] = 881;
v[252][9] = 755;
v[253][9] = 351;
v[254][9] = 723;
v[255][9] = 259;
v[256][9] = 879;
v[257][9] = 455;
v[258][9] = 721;
v[259][9] = 289;
v[260][9] = 149;
v[261][9] = 199;
v[262][9] = 805;
v[263][9] = 987;
v[264][9] = 851;
v[265][9] = 423;
v[266][9] = 597;
v[267][9] = 129;
v[268][9] = 11;
v[269][9] = 733;
v[270][9] = 549;
v[271][9] = 153;
v[272][9] = 285;
v[273][9] = 451;
v[274][9] = 559;
v[275][9] = 377;
v[276][9] = 109;
v[277][9] = 357;
v[278][9] = 143;
v[279][9] = 693;
v[280][9] = 615;
v[281][9] = 677;
v[282][9] = 701;
v[283][9] = 475;
v[284][9] = 767;
v[285][9] = 85;
v[286][9] = 229;
v[287][9] = 509;
v[288][9] = 547;
v[289][9] = 151;
v[290][9] = 389;
v[291][9] = 711;
v[292][9] = 785;
v[293][9] = 657;
v[294][9] = 319;
v[295][9] = 509;
v[296][9] = 99;
v[297][9] = 1007;
v[298][9] = 775;
v[299][9] = 359;
v[300][9] = 697;
v[301][9] = 677;
v[302][9] = 85;
v[303][9] = 497;
v[304][9] = 105;
v[305][9] = 615;
v[306][9] = 891;
v[307][9] = 71;
v[308][9] = 449;
v[309][9] = 835;
v[310][9] = 609;
v[311][9] = 377;
v[312][9] = 693;
v[313][9] = 665;
v[314][9] = 627;
v[315][9] = 215;
v[316][9] = 911;
v[317][9] = 503;
v[318][9] = 729;
v[319][9] = 131;
v[320][9] = 19;
v[321][9] = 895;
v[322][9] = 199;
v[323][9] = 161;
v[324][9] = 239;
v[325][9] = 633;
v[326][9] = 1013;
v[327][9] = 537;
v[328][9] = 255;
v[329][9] = 23;
v[330][9] = 149;
v[331][9] = 679;
v[332][9] = 1021;
v[333][9] = 595;
v[334][9] = 199;
v[335][9] = 557;
v[336][9] = 659;
v[337][9] = 251;
v[338][9] = 829;
v[339][9] = 727;
v[340][9] = 439;
v[341][9] = 495;
v[342][9] = 647;
v[343][9] = 223;
v[344][9] = 949;
v[345][9] = 625;
v[346][9] = 87;
v[347][9] = 481;
v[348][9] = 85;
v[349][9] = 799;
v[350][9] = 917;
v[351][9] = 769;
v[352][9] = 949;
v[353][9] = 739;
v[354][9] = 115;
v[355][9] = 499;
v[356][9] = 945;
v[357][9] = 547;
v[358][9] = 225;
v[359][9] = 1015;
v[360][9] = 469;
v[361][9] = 737;
v[362][9] = 495;
v[363][9] = 353;
v[364][9] = 103;
v[365][9] = 17;
v[366][9] = 665;
v[367][9] = 639;
v[368][9] = 525;
v[369][9] = 75;
v[370][9] = 447;
v[371][9] = 185;
v[372][9] = 43;
v[373][9] = 729;
v[374][9] = 577;
v[375][9] = 863;
v[376][9] = 735;
v[377][9] = 317;
v[378][9] = 99;
v[379][9] = 17;
v[380][9] = 477;
v[381][9] = 893;
v[382][9] = 537;
v[383][9] = 519;
v[384][9] = 1017;
v[385][9] = 375;
v[386][9] = 297;
v[387][9] = 325;
v[388][9] = 999;
v[389][9] = 353;
v[390][9] = 343;
v[391][9] = 729;
v[392][9] = 135;
v[393][9] = 489;
v[394][9] = 859;
v[395][9] = 267;
v[396][9] = 141;
v[397][9] = 831;
v[398][9] = 141;
v[399][9] = 893;
v[400][9] = 249;
v[401][9] = 807;
v[402][9] = 53;
v[403][9] = 613;
v[404][9] = 131;
v[405][9] = 547;
v[406][9] = 977;
v[407][9] = 131;
v[408][9] = 999;
v[409][9] = 175;
v[410][9] = 31;
v[411][9] = 341;
v[412][9] = 739;
v[413][9] = 467;
v[414][9] = 675;
v[415][9] = 241;
v[416][9] = 645;
v[417][9] = 247;
v[418][9] = 391;
v[419][9] = 583;
v[420][9] = 183;
v[421][9] = 973;
v[422][9] = 433;
v[423][9] = 367;
v[424][9] = 131;
v[425][9] = 467;
v[426][9] = 571;
v[427][9] = 309;
v[428][9] = 385;
v[429][9] = 977;
v[430][9] = 111;
v[431][9] = 917;
v[432][9] = 935;
v[433][9] = 473;
v[434][9] = 345;
v[435][9] = 411;
v[436][9] = 313;
v[437][9] = 97;
v[438][9] = 149;
v[439][9] = 959;
v[440][9] = 841;
v[441][9] = 839;
v[442][9] = 669;
v[443][9] = 431;
v[444][9] = 51;
v[445][9] = 41;
v[446][9] = 301;
v[447][9] = 247;
v[448][9] = 1015;
v[449][9] = 377;
v[450][9] = 329;
v[451][9] = 945;
v[452][9] = 269;
v[453][9] = 67;
v[454][9] = 979;
v[455][9] = 581;
v[456][9] = 643;
v[457][9] = 823;
v[458][9] = 557;
v[459][9] = 91;
v[460][9] = 405;
v[461][9] = 117;
v[462][9] = 801;
v[463][9] = 509;
v[464][9] = 347;
v[465][9] = 893;
v[466][9] = 303;
v[467][9] = 227;
v[468][9] = 783;
v[469][9] = 555;
v[470][9] = 867;
v[471][9] = 99;
v[472][9] = 703;
v[473][9] = 111;
v[474][9] = 797;
v[475][9] = 873;
v[476][9] = 541;
v[477][9] = 919;
v[478][9] = 513;
v[479][9] = 343;
v[480][9] = 319;
v[481][9] = 517;
v[482][9] = 135;
v[483][9] = 871;
v[484][9] = 917;
v[485][9] = 285;
v[486][9] = 663;
v[487][9] = 301;
v[488][9] = 15;
v[489][9] = 763;
v[490][9] = 89;
v[491][9] = 323;
v[492][9] = 757;
v[493][9] = 317;
v[494][9] = 807;
v[495][9] = 309;
v[496][9] = 1013;
v[497][9] = 345;
v[498][9] = 499;
v[499][9] = 279;
v[500][9] = 711;
v[501][9] = 915;
v[502][9] = 411;
v[503][9] = 281;
v[504][9] = 193;
v[505][9] = 739;
v[506][9] = 365;
v[507][9] = 315;
v[508][9] = 375;
v[509][9] = 809;
v[510][9] = 469;
v[511][9] = 487;
v[161][10] = 7;
v[162][10] = 2011;
v[163][10] = 1001;
v[164][10] = 49;
v[165][10] = 825;
v[166][10] = 415;
v[167][10] = 1441;
v[168][10] = 383;
v[169][10] = 1581;
v[170][10] = 623;
v[171][10] = 1621;
v[172][10] = 1319;
v[173][10] = 1387;
v[174][10] = 619;
v[175][10] = 839;
v[176][10] = 217;
v[177][10] = 75;
v[178][10] = 1955;
v[179][10] = 505;
v[180][10] = 281;
v[181][10] = 1629;
v[182][10] = 1379;
v[183][10] = 53;
v[184][10] = 1111;
v[185][10] = 1399;
v[186][10] = 301;
v[187][10] = 209;
v[188][10] = 49;
v[189][10] = 155;
v[190][10] = 1647;
v[191][10] = 631;
v[192][10] = 129;
v[193][10] = 1569;
v[194][10] = 335;
v[195][10] = 67;
v[196][10] = 1955;
v[197][10] = 1611;
v[198][10] = 2021;
v[199][10] = 1305;
v[200][10] = 121;
v[201][10] = 37;
v[202][10] = 877;
v[203][10] = 835;
v[204][10] = 1457;
v[205][10] = 669;
v[206][10] = 1405;
v[207][10] = 935;
v[208][10] = 1735;
v[209][10] = 665;
v[210][10] = 551;
v[211][10] = 789;
v[212][10] = 1543;
v[213][10] = 1267;
v[214][10] = 1027;
v[215][10] = 1;
v[216][10] = 1911;
v[217][10] = 163;
v[218][10] = 1929;
v[219][10] = 67;
v[220][10] = 1975;
v[221][10] = 1681;
v[222][10] = 1413;
v[223][10] = 191;
v[224][10] = 1711;
v[225][10] = 1307;
v[226][10] = 401;
v[227][10] = 725;
v[228][10] = 1229;
v[229][10] = 1403;
v[230][10] = 1609;
v[231][10] = 2035;
v[232][10] = 917;
v[233][10] = 921;
v[234][10] = 1789;
v[235][10] = 41;
v[236][10] = 2003;
v[237][10] = 187;
v[238][10] = 67;
v[239][10] = 1635;
v[240][10] = 717;
v[241][10] = 1449;
v[242][10] = 277;
v[243][10] = 1903;
v[244][10] = 1179;
v[245][10] = 363;
v[246][10] = 1211;
v[247][10] = 1231;
v[248][10] = 647;
v[249][10] = 1261;
v[250][10] = 1029;
v[251][10] = 1485;
v[252][10] = 1309;
v[253][10] = 1149;
v[254][10] = 317;
v[255][10] = 1335;
v[256][10] = 171;
v[257][10] = 243;
v[258][10] = 271;
v[259][10] = 1055;
v[260][10] = 1601;
v[261][10] = 1129;
v[262][10] = 1653;
v[263][10] = 205;
v[264][10] = 1463;
v[265][10] = 1681;
v[266][10] = 1621;
v[267][10] = 197;
v[268][10] = 951;
v[269][10] = 573;
v[270][10] = 1697;
v[271][10] = 1265;
v[272][10] = 1321;
v[273][10] = 1805;
v[274][10] = 1235;
v[275][10] = 1853;
v[276][10] = 1307;
v[277][10] = 945;
v[278][10] = 1197;
v[279][10] = 1411;
v[280][10] = 833;
v[281][10] = 273;
v[282][10] = 1517;
v[283][10] = 1747;
v[284][10] = 1095;
v[285][10] = 1345;
v[286][10] = 869;
v[287][10] = 57;
v[288][10] = 1383;
v[289][10] = 221;
v[290][10] = 1713;
v[291][10] = 335;
v[292][10] = 1751;
v[293][10] = 1141;
v[294][10] = 839;
v[295][10] = 523;
v[296][10] = 1861;
v[297][10] = 1105;
v[298][10] = 389;
v[299][10] = 1177;
v[300][10] = 1877;
v[301][10] = 805;
v[302][10] = 93;
v[303][10] = 1591;
v[304][10] = 423;
v[305][10] = 1835;
v[306][10] = 99;
v[307][10] = 1781;
v[308][10] = 1515;
v[309][10] = 1909;
v[310][10] = 1011;
v[311][10] = 303;
v[312][10] = 385;
v[313][10] = 1635;
v[314][10] = 357;
v[315][10] = 973;
v[316][10] = 1781;
v[317][10] = 1707;
v[318][10] = 1363;
v[319][10] = 1053;
v[320][10] = 649;
v[321][10] = 1469;
v[322][10] = 623;
v[323][10] = 1429;
v[324][10] = 1241;
v[325][10] = 1151;
v[326][10] = 1055;
v[327][10] = 503;
v[328][10] = 921;
v[329][10] = 3;
v[330][10] = 349;
v[331][10] = 1149;
v[332][10] = 293;
v[333][10] = 45;
v[334][10] = 303;
v[335][10] = 877;
v[336][10] = 1565;
v[337][10] = 1583;
v[338][10] = 1001;
v[339][10] = 663;
v[340][10] = 1535;
v[341][10] = 395;
v[342][10] = 1141;
v[343][10] = 1481;
v[344][10] = 1797;
v[345][10] = 643;
v[346][10] = 1507;
v[347][10] = 465;
v[348][10] = 2027;
v[349][10] = 1695;
v[350][10] = 367;
v[351][10] = 937;
v[352][10] = 719;
v[353][10] = 545;
v[354][10] = 1991;
v[355][10] = 83;
v[356][10] = 819;
v[357][10] = 239;
v[358][10] = 1791;
v[359][10] = 1461;
v[360][10] = 1647;
v[361][10] = 1501;
v[362][10] = 1161;
v[363][10] = 1629;
v[364][10] = 139;
v[365][10] = 1595;
v[366][10] = 1921;
v[367][10] = 1267;
v[368][10] = 1415;
v[369][10] = 509;
v[370][10] = 347;
v[371][10] = 777;
v[372][10] = 1083;
v[373][10] = 363;
v[374][10] = 269;
v[375][10] = 1015;
v[376][10] = 1809;
v[377][10] = 1105;
v[378][10] = 1429;
v[379][10] = 1471;
v[380][10] = 2019;
v[381][10] = 381;
v[382][10] = 2025;
v[383][10] = 1223;
v[384][10] = 827;
v[385][10] = 1733;
v[386][10] = 887;
v[387][10] = 1321;
v[388][10] = 803;
v[389][10] = 1951;
v[390][10] = 1297;
v[391][10] = 1995;
v[392][10] = 833;
v[393][10] = 1107;
v[394][10] = 1135;
v[395][10] = 1181;
v[396][10] = 1251;
v[397][10] = 983;
v[398][10] = 1389;
v[399][10] = 1565;
v[400][10] = 273;
v[401][10] = 137;
v[402][10] = 71;
v[403][10] = 735;
v[404][10] = 1005;
v[405][10] = 933;
v[406][10] = 67;
v[407][10] = 1471;
v[408][10] = 551;
v[409][10] = 457;
v[410][10] = 1667;
v[411][10] = 1729;
v[412][10] = 919;
v[413][10] = 285;
v[414][10] = 1629;
v[415][10] = 1815;
v[416][10] = 653;
v[417][10] = 1919;
v[418][10] = 1039;
v[419][10] = 531;
v[420][10] = 393;
v[421][10] = 1411;
v[422][10] = 359;
v[423][10] = 221;
v[424][10] = 699;
v[425][10] = 1485;
v[426][10] = 471;
v[427][10] = 1357;
v[428][10] = 1715;
v[429][10] = 595;
v[430][10] = 1677;
v[431][10] = 153;
v[432][10] = 1903;
v[433][10] = 1281;
v[434][10] = 215;
v[435][10] = 781;
v[436][10] = 543;
v[437][10] = 293;
v[438][10] = 1807;
v[439][10] = 965;
v[440][10] = 1695;
v[441][10] = 443;
v[442][10] = 1985;
v[443][10] = 321;
v[444][10] = 879;
v[445][10] = 1227;
v[446][10] = 1915;
v[447][10] = 839;
v[448][10] = 1945;
v[449][10] = 1993;
v[450][10] = 1165;
v[451][10] = 51;
v[452][10] = 557;
v[453][10] = 723;
v[454][10] = 1491;
v[455][10] = 817;
v[456][10] = 1237;
v[457][10] = 947;
v[458][10] = 1215;
v[459][10] = 1911;
v[460][10] = 1225;
v[461][10] = 1965;
v[462][10] = 1889;
v[463][10] = 1503;
v[464][10] = 1177;
v[465][10] = 73;
v[466][10] = 1767;
v[467][10] = 303;
v[468][10] = 177;
v[469][10] = 1897;
v[470][10] = 1401;
v[471][10] = 321;
v[472][10] = 921;
v[473][10] = 217;
v[474][10] = 1779;
v[475][10] = 327;
v[476][10] = 1889;
v[477][10] = 333;
v[478][10] = 615;
v[479][10] = 1665;
v[480][10] = 1825;
v[481][10] = 1639;
v[482][10] = 237;
v[483][10] = 1205;
v[484][10] = 361;
v[485][10] = 129;
v[486][10] = 1655;
v[487][10] = 983;
v[488][10] = 1089;
v[489][10] = 1171;
v[490][10] = 401;
v[491][10] = 677;
v[492][10] = 643;
v[493][10] = 749;
v[494][10] = 303;
v[495][10] = 1407;
v[496][10] = 1873;
v[497][10] = 1579;
v[498][10] = 1491;
v[499][10] = 1393;
v[500][10] = 1247;
v[501][10] = 789;
v[502][10] = 763;
v[503][10] = 49;
v[504][10] = 5;
v[505][10] = 1607;
v[506][10] = 1891;
v[507][10] = 735;
v[508][10] = 1557;
v[509][10] = 1909;
v[510][10] = 1765;
v[511][10] = 1777;
v[337][11] = 3915;
v[338][11] = 97;
v[339][11] = 3047;
v[340][11] = 937;
v[341][11] = 2897;
v[342][11] = 953;
v[343][11] = 127;
v[344][11] = 1201;
v[345][11] = 3819;
v[346][11] = 193;
v[347][11] = 2053;
v[348][11] = 3061;
v[349][11] = 3759;
v[350][11] = 1553;
v[351][11] = 2007;
v[352][11] = 2493;
v[353][11] = 603;
v[354][11] = 3343;
v[355][11] = 3751;
v[356][11] = 1059;
v[357][11] = 783;
v[358][11] = 1789;
v[359][11] = 1589;
v[360][11] = 283;
v[361][11] = 1093;
v[362][11] = 3919;
v[363][11] = 2747;
v[364][11] = 277;
v[365][11] = 2605;
v[366][11] = 2169;
v[367][11] = 2905;
v[368][11] = 721;
v[369][11] = 4069;
v[370][11] = 233;
v[371][11] = 261;
v[372][11] = 1137;
v[373][11] = 3993;
v[374][11] = 3619;
v[375][11] = 2881;
v[376][11] = 1275;
v[377][11] = 3865;
v[378][11] = 1299;
v[379][11] = 3757;
v[380][11] = 1193;
v[381][11] = 733;
v[382][11] = 993;
v[383][11] = 1153;
v[384][11] = 2945;
v[385][11] = 3163;
v[386][11] = 3179;
v[387][11] = 437;
v[388][11] = 271;
v[389][11] = 3493;
v[390][11] = 3971;
v[391][11] = 1005;
v[392][11] = 2615;
v[393][11] = 2253;
v[394][11] = 1131;
v[395][11] = 585;
v[396][11] = 2775;
v[397][11] = 2171;
v[398][11] = 2383;
v[399][11] = 2937;
v[400][11] = 2447;
v[401][11] = 1745;
v[402][11] = 663;
v[403][11] = 1515;
v[404][11] = 3767;
v[405][11] = 2709;
v[406][11] = 1767;
v[407][11] = 3185;
v[408][11] = 3017;
v[409][11] = 2815;
v[410][11] = 1829;
v[411][11] = 87;
v[412][11] = 3341;
v[413][11] = 793;
v[414][11] = 2627;
v[415][11] = 2169;
v[416][11] = 1875;
v[417][11] = 3745;
v[418][11] = 367;
v[419][11] = 3783;
v[420][11] = 783;
v[421][11] = 827;
v[422][11] = 3253;
v[423][11] = 2639;
v[424][11] = 2955;
v[425][11] = 3539;
v[426][11] = 1579;
v[427][11] = 2109;
v[428][11] = 379;
v[429][11] = 2939;
v[430][11] = 3019;
v[431][11] = 1999;
v[432][11] = 2253;
v[433][11] = 2911;
v[434][11] = 3733;
v[435][11] = 481;
v[436][11] = 1767;
v[437][11] = 1055;
v[438][11] = 4019;
v[439][11] = 4085;
v[440][11] = 105;
v[441][11] = 1829;
v[442][11] = 2097;
v[443][11] = 2379;
v[444][11] = 1567;
v[445][11] = 2713;
v[446][11] = 737;
v[447][11] = 3423;
v[448][11] = 3941;
v[449][11] = 2659;
v[450][11] = 3961;
v[451][11] = 1755;
v[452][11] = 3613;
v[453][11] = 1937;
v[454][11] = 1559;
v[455][11] = 2287;
v[456][11] = 2743;
v[457][11] = 67;
v[458][11] = 2859;
v[459][11] = 325;
v[460][11] = 2601;
v[461][11] = 1149;
v[462][11] = 3259;
v[463][11] = 2403;
v[464][11] = 3947;
v[465][11] = 2011;
v[466][11] = 175;
v[467][11] = 3389;
v[468][11] = 3915;
v[469][11] = 1315;
v[470][11] = 2447;
v[471][11] = 141;
v[472][11] = 359;
v[473][11] = 3609;
v[474][11] = 3933;
v[475][11] = 729;
v[476][11] = 2051;
v[477][11] = 1755;
v[478][11] = 2149;
v[479][11] = 2107;
v[480][11] = 1741;
v[481][11] = 1051;
v[482][11] = 3681;
v[483][11] = 471;
v[484][11] = 1055;
v[485][11] = 845;
v[486][11] = 257;
v[487][11] = 1559;
v[488][11] = 1061;
v[489][11] = 2803;
v[490][11] = 2219;
v[491][11] = 1315;
v[492][11] = 1369;
v[493][11] = 3211;
v[494][11] = 4027;
v[495][11] = 105;
v[496][11] = 11;
v[497][11] = 1077;
v[498][11] = 2857;
v[499][11] = 337;
v[500][11] = 3553;
v[501][11] = 3503;
v[502][11] = 3917;
v[503][11] = 2665;
v[504][11] = 3823;
v[505][11] = 3403;
v[506][11] = 3711;
v[507][11] = 2085;
v[508][11] = 1103;
v[509][11] = 1641;
v[510][11] = 701;
v[511][11] = 4095;
v[481][12] = 2319;
v[482][12] = 653;
v[483][12] = 1379;
v[484][12] = 1675;
v[485][12] = 1951;
v[486][12] = 7075;
v[487][12] = 2087;
v[488][12] = 7147;
v[489][12] = 1427;
v[490][12] = 893;
v[491][12] = 171;
v[492][12] = 2019;
v[493][12] = 7235;
v[494][12] = 5697;
v[495][12] = 3615;
v[496][12] = 1961;
v[497][12] = 7517;
v[498][12] = 6849;
v[499][12] = 2893;
v[500][12] = 1883;
v[501][12] = 2863;
v[502][12] = 2173;
v[503][12] = 4543;
v[504][12] = 73;
v[505][12] = 381;
v[506][12] = 3893;
v[507][12] = 6045;
v[508][12] = 1643;
v[509][12] = 7669;
v[510][12] = 1027;
v[511][12] = 1549;
//
// Check parameters.
//
if ( numDimensions < 1 || DIM_MAX2 < numDimensions )
{
// Failed, numDimensions must be between 1 and 1110
return;
}
dim_num_save = numDimensions;
//
// Set ATMOST = 2^LOG_MAX - 1.
//
atmost = 0;
for ( i = 1; i <= LOG_MAX; i++ )
{
atmost = 2 * atmost + 1;
}
//
// Find the highest 1 bit in ATMOST (should be LOG_MAX).
//
maxcol = getHighBit1 ( atmost );
//
// Initialize row 1 of V.
//
for ( j = 0; j < maxcol; j++ )
{
v[0][j] = 1;
}
//
// Initialize the remaining rows of V.
//
for ( i = 1; i < numDimensions; i++ )
{
//
// The bit pattern of the integer POLY(I) gives the form
// of polynomial I.
//
// Find the degree of polynomial I from binary encoding.
//
j = poly[i];
m = 0;
while ( true )
{
j = j / 2;
if ( j <= 0 )
{
break;
}
m = m + 1;
}
//
// We expand this bit pattern to separate components
// of the logical array INCLUD.
//
j = poly[i];
for ( k = m-1; 0 <= k; k-- )
{
j2 = j / 2;
includ[k] = ( j != ( 2 * j2 ) );
j = j2;
}
//
// Calculate the remaining elements of row I as explained
// in Bratley and Fox, section 2.
//
for ( j = m; j < maxcol; j++ )
{
newv = v[i][j-m];
l = 1;
for ( k = 0; k < m; k++ )
{
l = 2 * l;
if ( includ[k] )
{
newv = ( newv ^ ( l * v[i][j-k-1] ) );
}
}
v[i][j] = newv;
}
}
//
// Multiply columns of V by appropriate power of 2.
//
l = 1;
for ( j = maxcol-2; 0 <= j; j-- )
{
l = 2 * l;
for ( i = 0; i < numDimensions; i++ )
{
v[i][j] = v[i][j] * l;
}
}
//
// RECIPD is 1/(common denominator of the elements in V).
//
recipd = 1.0E+00 / ( ( float ) ( 2 * l ) );
}
if ( *seed < 0 )
{
*seed = 0;
}
if ( *seed == 0 )
{
l = 1;
for ( i = 0; i < numDimensions; i++ )
{
lastq[i] = 0;
}
}
else if ( *seed == seed_save + 1 )
{
l = getLowBit0 ( *seed );
}
else if ( *seed <= seed_save )
{
seed_save = 0;
l = 1;
for ( i = 0; i < numDimensions; i++ )
{
lastq[i] = 0;
}
for ( seed_temp = seed_save; seed_temp <= (*seed)-1; seed_temp++ )
{
l = getLowBit0 ( seed_temp );
for ( i = 0; i < numDimensions; i++ )
{
lastq[i] = ( lastq[i] ^ v[i][l-1] );
}
}
l = getLowBit0 ( *seed );
}
else if ( seed_save+1 < *seed )
{
for ( seed_temp = seed_save+1; seed_temp <= (*seed)-1; seed_temp++ )
{
l = getLowBit0 ( seed_temp );
for ( i = 0; i < numDimensions; i++ )
{
lastq[i] = ( lastq[i] ^ v[i][l-1] );
}
}
l = getLowBit0 ( *seed );
}
//
// Check that the user is not calling too many times!
//
if ( maxcol < l )
{
// Failed, seed was too large
return;
}
//
// Calculate the new components of QUASI.
// The caret indicates the bitwise exclusive OR.
//
for ( i = 0; i < numDimensions; i++ )
{
outFloat[i] = ( ( float ) lastq[i] ) * recipd;
lastq[i] = ( lastq[i] ^ v[i][l-1] );
}
seed_save = *seed;
*seed = *seed + 1;
return;
# undef DIM_MAX2
# undef LOG_MAX
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment