#include using namespace std; #define rep(i,n) for(int i = 0; i < (int)(n); i++) vector> factorize(int x) { vector> res; for (int p = 2; p * p <= x; p++) { int cnt = 0; while(x % p == 0) x /= p, cnt++; if (cnt) res.emplace_back(p, cnt); } if (x > 1) res.emplace_back(x, 1); return res; } vector> memo[41][41]; vector> solve(int h, int w) { int m = h * w; if (h > w) { auto g = solve(w, h); g.resize(h); for (int i = w; i < h; i++) g[i].resize(w); rep(i, h) rep(j, w) if (j < i) swap(g[i][j], g[j][i]); rep(i, w) g[i].resize(w); return g; } if (h < 41 && w < 41 && !memo[h][w].empty()) return memo[h][w]; auto g = vector(h, vector(w)); auto factors = factorize(m); vector> gcd2vals(m + 1); for (int val = 1; val <= m; val++) gcd2vals[gcd(m, val)].emplace_back(val); int i_write = 0, j_write = 0; auto write = [&](int val) { g[i_write++][j_write] = val; if (i_write == h) i_write = 0, j_write++; }; vector available; auto dfs = [&](auto&& self, int i, int val) -> void { available.insert(available.end(), gcd2vals[val].begin(), gcd2vals[val].end()); bool first = true; for (; i < ssize(factors); i++) { auto [p, e] = factors[i]; int v = val; rep(_, e) { if (!first) { rep(_, h + 1) { assert(!available.empty()); write(available.back()); available.pop_back(); } } first = false; v *= p; self(self, i + 1, v); } } while (!available.empty() && available.back() % val == 0) { write(available.back()); available.pop_back(); } }; dfs(dfs, 0, 1); return g; } int main() { memo[2][2]={{1,2},{3,4}}; memo[2][3]={{1,5,2},{3,6,4}}; memo[2][4]={{1,2,3,4},{5,6,7,8}}; memo[2][6]={{3,6,2,1,4,5},{9,12,7,10,8,11}}; memo[2][8]={{1,2,3,4,5,6,7,8},{9,10,11,12,13,14,15,16}}; memo[2][12]={{6,12,2,1,3,9,5,18,7,10,4,8},{24,14,20,11,13,17,15,21,19,16,23,22}}; memo[3][4]={{12,1,5,4},{3,6,2,8},{9,7,10,11}}; memo[3][6]={{2,4,8,10,1,5},{6,14,18,12,7,11},{13,16,17,3,15,9}}; memo[3][8]={{1,3,9,5,8,2,10,7},{12,11,6,13,4,16,14,17},{15,21,18,24,22,19,20,23}}; memo[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}}; memo[4][5]={{2,4,6,14,10},{1,3,7,9,20},{8,12,11,13,17},{16,18,19,5,15}}; memo[4][6]={{8,2,4,20,1,3},{5,7,11,10,12,9},{13,6,24,17,19,15},{14,18,22,16,23,21}}; memo[4][8]={{1,2,3,4,5,6,7,8},{9,10,11,12,13,14,15,16},{17,18,19,20,21,22,23,24},{25,26,27,28,29,30,31,32}}; memo[4][9]={{1,4,2,5,9,3,7,8,10},{16,14,22,11,15,27,13,17,20},{19,23,26,6,21,25,33,29,28},{12,31,34,18,30,35,24,36,32}}; memo[4][12]={{6,24,3,9,15,1,2,5,4,16,10,18},{14,7,11,21,27,48,20,32,28,8,13,17},{30,19,23,42,33,25,29,22,26,40,31,34},{35,37,39,45,12,41,44,43,47,38,46,36}}; memo[5][6]={{2,6,4,8,14,16},{22,1,26,10,7,28},{12,18,30,11,13,20},{3,24,17,5,19,23},{9,21,29,25,15,27}}; memo[5][8]={{8,1,16,4,2,24,3,7},{12,9,28,6,14,11,13,17},{19,18,22,32,26,34,36,38},{21,23,27,29,31,40,33,37},{20,5,15,10,25,39,30,35}}; memo[5][12]={{3,9,21,27,1,4,8,16,7,6,11,33},{13,15,39,17,12,28,19,24,2,14,18,23},{5,30,45,60,22,26,32,29,42,34,36,38},{10,25,31,37,20,44,41,43,54,47,52,46},{35,55,49,50,58,56,53,51,57,48,59,40}}; memo[6][6]={{9,3,27,1,4,5},{15,18,36,7,11,13},{21,33,6,30,17,2},{19,23,25,29,12,8},{10,16,20,14,24,22},{26,31,28,35,32,34}}; memo[6][7]={{3,9,15,42,2,14,4},{1,6,5,12,8,11,13},{17,27,33,18,10,24,16},{21,19,39,23,30,36,20},{25,29,31,37,22,26,32},{7,35,41,34,38,28,40}}; memo[6][8]={{2,1,8,5,48,7,11,3},{13,16,10,14,17,9,15,21},{22,4,20,19,23,24,27,6},{32,26,40,25,29,31,18,33},{35,37,34,28,38,30,39,12},{45,36,41,44,46,42,43,47}}; memo[6][9]={{18,2,1,3,36,4,8,5,7},{10,14,6,11,13,17,16,20,22},{12,19,26,23,15,25,24,28,32},{21,29,31,30,42,54,35,37,34},{33,27,39,41,38,40,43,44,46},{9,45,51,47,49,48,53,50,52}}; memo[6][10]={{3,15,9,1,4,20,2,14,6,12},{21,27,7,11,8,16,28,13,18,42},{30,33,39,17,32,44,19,23,51,54},{29,31,45,37,40,22,41,57,43,60},{47,5,25,35,49,26,24,36,48,34},{10,55,53,50,59,38,46,52,58,56}}; memo[6][12]={{2,1,9,5,24,4,8,7,11,48,6,3},{20,13,15,17,10,16,14,22,19,21,33,18},{26,23,39,25,32,40,34,38,29,27,31,45},{56,72,12,35,46,50,28,44,37,51,57,54},{41,52,43,47,49,53,55,59,60,61,65,69},{58,64,68,67,63,71,62,30,70,42,66,36}}; memo[6][16]={{3,1,6,2,5,9,96,4,20,7,8,32,10,12,15,18},{30,21,11,13,17,36,24,19,28,14,16,23,22,25,29,72},{27,31,33,42,26,34,35,44,64,80,37,38,46,40,52,41},{43,39,47,49,54,66,50,53,55,56,48,78,58,68,62,59},{45,51,61,57,65,67,70,74,88,71,73,77,79,60,83,76},{63,69,85,75,84,82,89,92,86,91,81,90,87,93,95,94}}; memo[8][8]={{1,2,3,4,5,6,7,8},{9,10,11,12,13,14,15,16},{17,18,19,20,21,22,23,24},{25,26,27,28,29,30,31,32},{33,34,35,36,37,38,39,40},{41,42,43,44,45,46,47,48},{49,50,51,52,53,54,55,56},{57,58,59,60,61,62,63,64}}; memo[8][9]={{36,12,2,18,1,5,10,4,7},{14,22,6,11,26,8,34,20,16},{54,13,38,60,17,28,46,50,44},{30,19,23,58,62,52,68,25,32},{3,42,29,24,72,40,31,56,64},{35,37,70,48,41,43,47,49,53},{55,59,61,66,15,65,21,9,33},{27,67,71,39,51,45,57,69,63}}; memo[8][10]={{1,2,6,3,14,18,16,22,20,5},{8,26,4,12,32,28,36,7,9,11},{44,34,38,13,42,17,19,21,23,27},{48,52,24,40,29,60,15,10,31,46},{68,54,33,58,37,30,25,35,39,62},{80,66,41,76,43,47,45,55,49,51},{64,56,53,57,59,61,50,65,63,75},{67,69,71,74,72,78,70,73,77,79}}; memo[8][12]={{3,6,18,9,1,32,2,12,15,5,7,4},{11,13,36,21,17,8,19,23,30,25,20,29},{10,31,42,35,37,14,40,22,41,43,28,44},{47,26,49,24,53,48,56,34,38,46,16,80},{55,60,59,27,33,61,52,50,58,96,65,62},{39,45,54,51,57,72,70,88,64,68,67,66},{63,69,75,81,71,78,73,77,76,74,79,83},{87,85,89,93,90,82,86,91,95,94,92,84}}; memo[8][15]={{3,9,21,12,36,1,5,7,11,10,13,8,4,16,28},{6,17,27,24,18,19,50,23,20,25,29,2,32,31,14},{33,39,51,37,41,43,22,70,35,55,110,26,47,34,56},{57,15,45,49,40,38,100,53,65,85,59,46,64,48,72},{63,75,95,61,44,52,67,71,73,77,79,80,58,68,62},{69,83,30,120,84,74,89,82,91,105,115,97,86,94,76},{81,87,42,98,54,101,60,66,103,107,109,113,88,92,116},{93,119,108,78,90,99,111,102,96,117,114,106,118,104,112}}; memo[8][18]={{4,2,24,10,16,32,14,18,3,15,21,9,1,27,5,6,7,64},{22,26,8,11,20,80,13,17,33,45,19,39,63,51,57,23,25,40},{30,29,31,28,35,34,38,12,69,81,54,75,37,41,43,47,56,48},{60,49,53,55,59,46,84,42,87,99,117,93,61,50,58,65,67,71},{44,73,135,77,52,62,79,105,90,83,36,85,132,68,70,74,89,91},{82,95,97,101,76,92,103,107,109,111,123,113,72,86,94,98,120,106},{100,112,116,115,119,88,121,124,125,127,131,66,110,133,78,102,96,114},{137,128,118,122,104,136,139,140,130,108,143,134,142,126,129,144,141,138}}; memo[9][10]={{15,3,1,10,5,45,21,33,18,2},{7,11,13,25,35,75,39,36,17,54},{51,57,19,23,29,31,37,9,27,63},{41,43,47,4,20,55,49,90,69,81},{8,53,40,14,50,30,59,6,87,61},{67,16,22,26,28,32,34,71,12,24},{38,44,46,52,56,58,73,77,79,62},{70,83,60,64,68,74,42,48,66,76},{65,85,80,82,86,78,72,84,88,89}}; memo[9][12]={{6,12,3,9,54,15,1,21,5,18,2,24},{48,60,33,27,45,90,7,30,11,10,13,14},{42,39,51,17,63,99,36,66,22,78,26,19},{84,57,81,69,23,25,29,31,35,34,102,38},{75,87,37,41,43,46,47,4,8,49,50,53},{55,59,61,58,62,16,70,65,74,20,67,28},{71,32,73,77,40,96,79,83,82,44,72,86},{85,52,89,94,98,91,93,95,56,97,106,101},{64,68,76,80,88,103,105,107,92,108,100,104}}; memo[9][16]={{2,1,10,6,14,5,16,7,11,36,9,27,3,18,30,15},{22,42,13,66,54,17,19,23,21,33,39,51,90,57,108,12},{60,26,34,25,29,72,78,31,35,37,41,69,75,43,87,93},{4,38,46,48,47,49,50,144,53,55,59,24,61,84,102,65},{20,58,62,28,8,96,67,71,73,40,70,44,77,74,79,114},{56,120,52,88,68,83,85,45,89,32,82,76,92,64,86,91},{100,94,98,80,106,95,63,105,97,101,110,103,118,122,130,107},{109,112,113,116,115,119,81,111,123,138,121,125,127,104,131,126},{133,134,128,124,137,99,117,129,132,141,139,140,136,142,143,135}}; memo[10][12]={{5,1,3,24,8,4,16,48,9,15,25,35},{45,7,21,11,72,13,2,17,19,120,55,10},{27,33,12,6,14,22,50,20,23,65,85,95},{29,39,51,31,37,41,26,34,43,47,49,30},{57,75,105,63,53,32,59,28,61,69,81,18},{67,71,87,90,73,44,40,56,77,93,42,54},{70,79,83,66,89,64,38,80,91,36,99,78},{110,97,101,46,103,52,58,100,107,111,117,102},{62,74,82,88,68,86,94,98,109,84,113,60},{76,92,116,106,104,112,118,96,114,108,119,115}}; memo[12][12]={{12,2,1,8,10,14,4,20,16,32,22,5},{26,34,28,38,46,7,44,40,11,52,50,6},{13,17,68,19,23,25,58,56,64,62,29,70},{88,31,24,35,76,104,136,37,41,43,60,36},{80,74,47,92,82,100,116,112,49,53,72,30},{55,124,108,86,94,140,98,59,61,9,3,15},{106,65,110,18,118,67,120,71,27,54,73,45},{48,122,77,79,90,83,42,85,89,91,95,21},{97,144,66,101,33,39,51,103,130,78,57,69},{75,102,134,96,87,63,93,84,114,132,107,109},{105,113,115,119,121,125,111,127,131,123,133,81},{99,117,137,128,142,138,139,129,126,135,143,141}}; memo[12][14]={{3,21,7,1,5,28,11,12,36,13,2,10,4,8},{17,19,23,14,25,22,29,26,20,44,52,16,68,34},{38,31,35,49,37,6,41,24,46,43,76,92,32,50},{60,47,77,53,55,9,18,30,59,58,61,62,74,82},{48,65,140,67,108,168,72,71,73,79,83,85,42,86},{100,89,116,94,106,124,110,95,91,84,15,27,54,118},{40,122,64,97,130,134,148,101,103,126,66,96,132,78},{142,107,109,146,80,88,164,113,115,90,33,39,121,45},{104,128,136,158,152,120,125,144,51,57,69,75,63,81},{160,166,56,127,131,137,87,93,139,105,99,111,143,117},{112,145,70,119,133,149,123,129,135,151,141,156,102,153},{98,155,154,157,161,163,147,159,165,114,138,150,167,162}}; memo[12][15]={{1,7,11,13,30,5,25,15,3,6,42,2,12,21,33},{4,17,39,75,35,105,55,45,90,51,180,66,78,19,165},{8,23,29,31,65,37,41,85,43,135,47,14,49,53,57},{22,59,95,10,50,70,115,110,125,145,61,16,67,69,18},{24,71,20,73,77,130,79,155,170,60,83,28,89,36,87},{32,44,52,40,175,91,80,97,101,103,48,84,107,9,27},{56,96,26,109,113,119,120,64,121,34,127,131,93,63,133},{38,68,76,88,92,104,132,112,46,102,137,54,111,126,81},{100,58,116,62,140,139,74,72,82,86,94,143,99,123,117},{98,124,106,128,136,149,114,156,148,152,164,151,153,157,171},{118,108,161,163,122,167,144,134,142,146,169,173,129,141,179},{154,162,147,168,172,158,166,176,160,178,138,159,174,150,177}}; memo[12][16]={{3,6,9,15,1,21,12,5,2,10,4,7,11,24,72,13},{18,27,30,17,19,42,54,14,16,22,26,23,25,33,29,120},{31,39,45,36,60,84,34,38,8,40,46,35,37,51,108,66},{57,63,69,75,41,78,43,47,49,53,20,56,55,132,59,61},{65,81,90,67,71,50,73,28,58,44,62,52,70,77,87,93},{99,105,48,79,83,68,85,89,76,74,82,86,92,91,144,95},{102,114,111,97,101,192,64,103,107,94,98,88,80,106,109,100},{117,113,123,115,129,119,128,104,110,116,121,96,124,136,118,112},{135,126,141,147,138,125,127,131,133,152,137,156,140,122,130,134},{139,153,143,159,150,142,145,146,176,154,158,180,166,149,162,151},{155,157,161,163,174,168,170,148,32,178,182,167,169,173,165,175},{190,184,160,179,171,181,164,185,172,188,187,191,186,177,183,189}}; memo[12][18]={{18,6,1,4,5,7,27,81,11,2,8,10,20,13,28,12,3,15},{17,19,14,22,23,9,45,63,25,16,32,44,40,52,24,29,31,21},{60,26,35,84,37,41,135,33,43,47,56,34,49,48,216,53,55,59},{38,46,132,30,39,189,51,61,57,65,64,67,50,71,69,73,80,77},{42,58,79,75,83,85,89,156,87,91,95,62,70,97,101,96,74,82},{66,86,120,103,107,88,109,93,105,99,72,78,113,68,115,144,102,114},{168,94,98,76,104,92,119,121,125,127,111,36,106,112,100,110,138,123},{128,136,116,118,152,124,122,140,130,150,131,174,133,148,137,139,143,129},{145,149,164,160,151,172,188,134,142,146,155,154,158,157,176,192,141,147},{159,161,166,170,178,180,163,167,182,190,186,169,173,194,196,175,179,181},{185,187,90,202,191,126,165,193,197,199,54,177,162,108,204,212,184,203},{206,214,205,209,198,183,117,195,153,201,171,207,213,210,211,215,200,208}}; memo[12][20]={{6,24,1,5,60,7,25,35,11,18,13,8,16,32,64,2,17,3,19,9},{12,42,23,29,10,55,50,70,31,36,14,4,28,80,112,37,54,41,21,43},{47,66,78,22,49,65,85,20,26,84,44,128,34,53,38,59,46,108,61,72},{27,33,30,58,67,71,95,110,73,77,62,74,48,82,86,176,94,98,52,106},{102,39,114,79,96,83,115,125,40,130,240,118,132,126,89,68,122,156,204,134},{228,51,57,144,142,91,97,101,103,107,109,113,180,119,146,76,92,116,154,158},{63,69,192,121,127,131,133,81,87,93,137,145,15,139,124,56,208,160,200,100},{99,168,111,117,143,123,149,129,138,141,90,151,155,157,161,163,148,167,166,178},{147,162,153,45,75,159,120,174,186,169,171,150,173,140,182,179,164,181,170,187},{198,177,183,189,201,191,193,222,234,197,199,210,194,202,172,188,88,206,214,218},{207,203,105,209,211,135,213,219,217,221,175,190,230,223,196,104,136,152,212,184},{231,227,185,229,205,165,195,237,225,215,235,220,226,238,224,236,232,233,216,239}}; memo[15][16]={{2,16,4,32,8,48,28,1,3,7,11,64,56,13,9,21},{44,52,17,88,68,14,112,19,27,33,23,76,22,29,39,51},{20,31,37,92,128,26,96,41,24,144,72,43,34,30,57,63},{5,47,116,104,38,124,49,6,18,12,148,46,58,53,59,61},{25,67,164,62,136,176,71,69,81,73,74,82,86,94,40,35},{55,77,200,79,152,184,83,87,42,36,98,106,118,10,100,50},{65,85,95,89,91,97,101,54,66,122,172,188,103,140,115,125},{15,45,145,155,107,78,93,102,114,134,208,142,109,113,70,110},{119,75,175,185,121,84,99,127,146,154,80,196,212,60,131,133},{90,205,137,139,143,149,108,151,158,166,157,178,161,236,163,126},{150,167,169,192,132,168,111,156,182,130,170,220,160,194,173,216},{138,179,117,162,123,174,181,240,187,210,215,191,193,190,197,232},{186,129,141,204,147,198,202,224,199,203,235,105,209,120,211,217},{153,221,180,159,228,223,206,214,227,229,135,165,171,177,183,195},{189,222,201,233,234,218,226,238,230,239,207,213,219,231,237,225}}; memo[16][18]={{1,3,15,5,7,21,9,27,11,2,4,8,10,13,14,22,17,33},{18,39,45,19,63,81,51,23,25,29,20,26,34,40,24,31,6,30},{72,35,37,41,99,117,135,43,56,32,28,88,16,44,38,12,216,47},{36,57,69,75,153,87,49,288,46,50,80,53,55,64,58,59,93,105},{60,61,65,67,71,73,77,104,112,79,83,85,89,52,91,95,97,101},{68,76,136,62,103,42,107,109,70,113,111,123,115,92,74,152,128,160},{100,119,48,184,121,82,86,116,224,96,125,120,240,127,168,131,176,94},{133,98,137,208,192,124,139,106,143,140,148,110,84,129,145,149,151,164},{172,200,188,118,122,155,130,66,134,157,132,156,204,161,141,78,142,256},{196,212,146,163,167,169,144,154,158,166,170,178,220,173,147,102,175,179},{182,236,181,114,54,159,185,138,187,190,194,202,108,228,276,150,191,244},{193,260,180,165,177,171,197,199,174,203,272,206,268,205,214,218,252,209},{226,230,211,183,195,189,201,213,215,217,232,238,221,242,186,223,227,90},{229,248,233,210,219,235,239,126,207,241,284,250,222,246,162,198,231,245},{247,251,253,234,257,259,254,263,237,265,264,269,271,262,266,275,249,225},{277,243,261,255,281,274,280,283,267,273,285,287,278,286,258,282,270,279}}; memo[18][20]={{15,1,7,11,13,9,27,63,81,45,17,75,3,21,105,33,99,19,165,195},{5,25,40,10,23,90,18,117,39,51,57,29,30,150,69,87,93,135,111,123},{31,35,37,55,65,41,129,141,147,153,36,159,6,43,177,225,171,189,183,54},{50,70,85,95,47,49,53,59,207,201,72,213,61,67,71,73,219,243,126,261},{2,77,210,115,125,79,4,83,89,91,97,101,103,8,80,107,109,231,162,237},{28,60,255,285,145,113,20,119,155,175,110,100,121,14,22,26,127,42,131,279},{133,137,185,205,215,130,139,235,160,170,140,34,38,66,46,58,62,74,143,149},{297,151,245,190,265,230,250,200,157,161,300,44,82,163,86,220,94,16,32,56},{333,167,275,290,295,305,310,120,169,12,173,98,108,179,106,181,187,118,52,64},{191,193,197,350,199,330,325,260,240,84,144,203,209,211,122,68,217,134,142,88},{76,92,221,360,223,345,335,280,146,227,229,24,48,154,116,104,233,78,158,112},{132,166,178,156,249,315,355,239,124,128,136,148,152,176,96,241,247,182,194,202},{164,206,251,168,267,253,257,340,214,184,208,224,259,263,269,102,114,218,232,271},{172,226,138,277,273,281,238,188,283,242,254,287,262,198,174,186,266,289,248,274},{293,216,299,204,301,222,278,288,196,307,286,246,311,258,298,228,302,320,314,212},{313,234,291,303,309,252,306,317,319,322,323,276,321,329,192,236,244,326,256,272},{282,327,294,180,339,331,337,318,341,296,264,312,343,347,334,336,268,284,304,338},{349,354,353,324,342,351,270,357,359,328,292,346,348,308,344,358,316,332,352,356}}; memo[18][24]={{4,20,16,1,5,2,7,11,10,6,14,22,13,30,3,15,27,9,17,21,18,26,8,19},{34,28,40,44,38,52,32,56,23,25,42,66,29,33,31,35,81,39,45,51,90,37,46,50},{64,58,62,48,70,80,112,41,88,74,36,43,57,47,69,75,87,93,63,99,49,53,82,128},{104,55,86,94,59,68,160,61,65,67,71,73,108,78,105,77,432,135,79,83,117,85,176,98},{76,92,100,89,106,136,110,91,111,123,126,129,141,102,114,147,153,171,159,189,165,95,97,118},{101,116,122,12,130,103,134,107,109,180,113,115,24,60,119,121,177,183,195,201,213,125,208,124},{127,252,131,138,150,174,133,137,140,139,142,152,143,146,144,219,207,231,145,237,149,151,96,154},{225,249,186,255,267,155,158,224,256,148,164,166,184,170,157,161,273,163,285,54,243,167,200,178},{261,198,210,291,169,234,182,173,172,175,84,179,181,190,194,185,288,222,187,191,193,197,188,196},{199,203,205,162,279,209,211,215,132,217,156,246,204,221,272,202,206,223,214,212,218,226,220,236},{244,227,258,303,297,229,306,396,230,282,294,192,238,242,260,268,240,232,284,233,235,239,241,228},{248,72,245,247,309,315,251,253,257,259,321,263,250,254,262,265,304,320,266,360,327,333,339,345},{280,120,274,269,271,275,277,369,281,318,276,283,287,278,330,289,292,293,296,295,357,363,324,354},{328,299,286,366,301,305,307,342,375,300,311,308,348,313,317,319,323,325,290,329,381,351,216,414},{344,168,298,331,336,316,335,390,337,341,343,332,347,340,384,393,264,356,349,353,355,387,359,361},{302,310,314,365,322,376,367,371,326,373,377,379,364,383,385,389,391,334,312,338,395,423,405,270},{408,346,350,358,397,362,370,374,380,352,382,392,388,368,400,401,403,372,386,394,407,399,409,413},{398,420,402,406,415,410,424,404,419,418,412,422,428,430,416,421,411,425,426,427,378,417,429,431}}; memo[20][24]={{15,3,9,24,12,1,2,16,96,7,21,11,30,6,14,32,13,17,5,45,75,27,19,33},{39,51,57,72,22,18,26,4,28,23,29,31,34,37,41,43,47,25,35,55,105,63,69,49},{81,87,48,53,38,59,120,44,61,67,8,71,46,73,93,77,20,40,200,79,83,99,89,91},{42,36,97,58,52,56,68,62,84,74,101,82,54,192,111,103,107,10,65,85,135,165,117,123},{129,109,66,86,76,92,64,113,116,119,94,78,108,141,147,102,121,90,127,131,195,153,159,133},{225,137,114,98,139,128,88,124,106,118,122,126,143,132,138,168,149,162,134,151,255,171,177,183},{95,157,161,163,112,176,142,146,480,167,156,204,169,173,189,201,174,288,154,179,181,207,186,213},{115,187,125,191,158,148,193,100,166,198,178,197,182,222,150,219,199,203,209,194,228,231,252,237},{50,145,211,217,164,140,172,202,221,223,206,214,218,227,60,243,229,226,188,233,180,276,249,261},{70,155,239,238,280,242,196,104,254,210,110,241,247,234,267,251,246,216,144,253,258,273,257,282},{259,263,269,262,130,271,266,336,274,277,278,286,281,283,287,289,293,279,291,297,294,303,299,324},{348,298,212,302,301,307,311,314,136,322,170,326,236,208,313,224,317,270,306,318,309,321,372,396},{334,244,256,268,319,175,220,323,329,331,337,338,346,272,358,341,362,343,342,327,333,339,264,312},{284,347,160,349,353,185,359,240,351,361,260,374,352,382,386,354,444,384,366,357,378,363,369,367},{152,394,340,205,300,420,371,381,402,373,292,377,308,184,398,406,468,387,379,383,389,393,414,426},{418,422,391,190,215,235,360,397,399,401,434,232,442,403,248,316,432,407,285,245,315,411,408,438},{409,230,250,290,265,275,310,330,345,413,304,296,456,419,328,344,376,421,427,295,375,417,423,429},{305,431,350,370,410,325,335,355,365,433,80,332,356,364,416,392,437,388,439,405,443,441,462,447},{435,385,395,380,415,425,430,449,400,451,404,412,368,446,454,457,428,458,461,463,467,453,390,459},{469,450,445,455,460,470,473,479,466,424,472,448,478,436,464,452,476,320,440,475,465,471,477,474}}; memo[24][24]={{1,64,4,20,2,8,28,44,10,24,3,5,12,15,6,14,22,7,11,9,21,30,33,39},{13,17,19,26,34,23,38,46,50,72,42,66,78,25,29,31,18,35,51,37,57,102,54,114},{58,41,52,43,40,68,47,90,49,62,120,60,70,53,69,27,45,75,138,150,174,55,87,126},{74,56,82,86,94,59,61,63,65,98,106,67,110,71,36,81,99,73,77,93,79,83,85,186},{118,16,122,88,89,210,91,216,162,130,95,134,142,97,117,135,105,111,153,171,101,104,146,103},{154,107,158,109,166,170,113,222,115,246,119,136,144,121,288,125,123,127,131,133,137,80,178,182},{84,139,76,143,145,149,576,132,168,151,190,155,157,189,129,141,161,163,152,184,194,92,167,169},{258,202,206,173,147,207,159,175,214,179,218,181,165,185,225,243,187,191,226,193,230,200,238,282},{242,250,100,197,199,177,261,203,48,254,156,205,264,209,211,215,279,217,204,108,116,32,221,223},{227,229,232,312,183,297,233,235,262,294,266,239,274,241,160,245,247,432,228,251,278,253,124,286},{318,290,257,259,195,201,213,263,330,298,240,265,140,269,271,275,315,277,302,310,281,276,314,322},{283,326,128,287,198,234,333,219,289,293,112,148,360,300,295,299,301,305,334,256,338,164,172,248},{176,346,350,358,307,311,313,317,319,224,362,370,323,231,237,325,280,329,188,196,320,208,374,192},{331,296,382,328,386,212,220,394,352,335,337,341,343,351,249,347,236,244,260,398,268,349,353,354},{408,355,359,361,284,365,367,371,448,344,373,255,270,267,377,384,376,292,392,308,316,348,273,366},{379,406,332,416,383,385,389,410,391,340,395,285,390,402,372,418,422,397,512,424,356,401,426,438},{430,403,434,442,446,407,409,413,415,419,180,252,291,462,474,454,364,421,440,272,544,458,466,504},{425,420,427,472,470,431,303,309,369,321,433,498,324,437,456,439,444,478,380,304,443,482,306,342},{336,388,490,494,502,445,449,387,378,451,455,506,457,327,339,345,492,404,461,412,96,510,463,405},{428,516,467,436,452,514,469,473,475,357,479,481,485,363,375,487,491,518,493,564,497,526,499,503},{530,538,460,368,505,476,542,509,534,381,393,399,414,411,423,417,511,515,517,429,521,523,527,480},{484,500,488,550,554,508,552,546,435,447,441,453,570,465,529,533,471,459,396,483,489,535,528,400},{464,496,524,539,541,562,545,547,501,507,477,519,551,468,553,495,525,537,543,557,450,559,532,548},{556,520,566,536,574,572,560,563,555,486,513,531,561,549,565,522,558,573,567,540,569,571,568,575}}; memo[24][30]={{16,1,9,27,3,6,90,21,7,5,11,2,36,14,24,22,10,26,42,66,13,33,168,78,17,19,32,64,23,63},{29,31,81,39,18,51,54,37,30,50,41,43,47,4,8,34,38,49,46,58,108,12,53,84,59,28,44,62,61,99},{70,67,117,153,171,189,71,74,110,82,73,144,77,86,52,79,102,126,83,94,89,57,114,252,68,132,76,112,91,97},{120,101,103,69,162,87,107,240,130,109,156,93,138,204,113,119,121,127,98,92,228,174,276,348,106,116,118,56,131,133},{15,25,600,137,139,143,264,122,134,149,186,324,111,123,129,151,157,124,148,142,146,222,154,158,166,164,172,178,161,207},{75,35,60,55,170,163,188,167,169,48,182,173,243,396,179,261,181,88,104,194,202,187,191,246,193,197,468,196,199,203},{65,85,105,209,720,211,217,221,136,128,176,223,279,288,141,227,229,212,208,152,80,224,233,258,282,206,214,239,218,40},{190,95,115,125,145,270,155,241,226,238,247,251,147,297,198,253,184,236,242,232,254,256,262,266,274,278,312,244,248,257},{175,20,185,205,215,235,259,263,269,230,271,612,234,450,159,277,272,286,268,284,304,281,296,328,480,344,298,96,376,352},{245,265,200,275,45,295,283,368,302,287,289,72,293,299,301,307,392,311,314,313,292,416,448,160,424,472,322,308,317,464},{280,305,325,335,355,165,319,326,496,192,177,333,323,195,365,329,316,331,488,512,332,544,536,356,334,568,338,346,336,592},{100,337,140,385,395,415,341,364,388,343,183,351,201,347,255,349,353,359,361,367,584,358,404,440,371,320,412,428,384,436},{250,425,290,400,445,455,373,362,608,377,213,219,379,135,383,285,475,310,389,374,391,382,397,401,485,520,403,386,452,528},{505,350,407,220,409,413,419,476,394,421,427,294,231,369,237,150,431,370,410,560,433,408,437,515,535,545,430,398,484,439},{443,449,406,470,451,418,422,434,442,456,446,457,461,249,267,345,210,565,575,680,454,318,463,490,595,530,550,458,467,300},{466,260,478,482,494,340,502,330,354,552,366,469,375,273,435,473,465,525,605,479,506,481,487,491,493,590,497,630,180,499},{380,503,508,524,420,509,660,402,511,514,517,521,523,291,527,625,635,555,655,529,518,390,426,303,533,510,539,306,309,387},{665,541,372,547,551,444,438,553,526,640,538,462,321,423,557,559,563,225,569,571,577,581,327,339,357,583,587,363,342,381},{589,593,492,532,696,542,554,599,460,610,562,601,378,393,441,459,360,399,411,477,417,607,429,611,447,315,453,513,471,483},{613,216,566,617,432,504,574,578,586,598,619,623,531,489,629,631,414,501,549,567,603,576,486,474,637,507,621,519,405,615},{641,602,516,564,548,556,614,500,622,540,650,643,537,543,570,626,647,639,561,573,522,558,498,534,594,649,657,495,645,579},{572,596,624,588,604,656,634,670,638,580,646,653,546,659,661,667,671,591,597,582,606,618,673,642,609,677,693,627,633,651},{658,628,644,652,672,662,679,620,674,668,683,682,686,689,700,685,690,691,636,697,708,663,669,654,681,711,585,701,687,678},{616,632,688,704,676,694,698,703,692,664,648,712,706,718,710,695,715,707,716,709,713,684,714,666,699,675,719,705,717,702}}; memo[27][32]={{2,1,16,8,10,40,5,80,14,24,22,26,56,7,4,11,34,13,88,20,104,32,17,19,136,38,64,152,23,3,6,25},{30,29,31,46,28,184,50,128,58,44,52,62,120,70,35,37,41,43,47,74,68,76,96,168,200,82,86,160,288,18,49,94},{98,53,42,55,232,106,112,110,224,118,92,59,61,122,130,264,66,48,65,100,248,116,67,71,124,140,134,280,73,90,77,148},{79,142,146,83,154,85,158,176,166,256,164,89,312,170,172,12,91,78,95,216,188,178,208,97,182,36,190,196,101,194,103,107},{296,109,113,320,212,72,202,206,214,218,272,115,102,119,360,226,121,125,230,238,220,242,250,127,236,244,254,304,131,368,133,15},{137,262,266,274,260,328,139,352,143,268,416,278,286,290,145,284,400,298,149,151,60,292,408,155,180,157,308,316,302,161,240,114},{310,314,163,344,322,332,326,340,167,169,173,464,336,138,175,448,334,338,179,346,456,84,192,356,350,358,364,496,181,185,187,191},{380,388,404,362,370,193,374,197,199,203,382,386,205,394,398,209,406,410,211,432,215,217,418,221,560,512,422,223,227,648,132,430},{412,428,436,452,544,376,460,434,476,592,229,150,233,235,156,239,174,241,442,245,186,247,126,446,251,484,454,210,458,466,252,253},{257,500,470,608,478,482,384,490,494,508,259,263,265,269,502,204,396,271,198,275,277,21,234,281,480,283,228,506,287,289,222,33},{392,524,293,295,532,656,514,424,518,548,526,440,556,530,299,276,39,306,301,9,27,51,57,69,300,348,305,538,307,246,54,75},{572,472,542,688,580,488,311,550,554,108,313,317,596,552,604,319,258,87,93,105,45,111,342,123,282,323,325,414,329,331,129,141},{640,562,335,520,566,337,341,574,343,347,81,349,353,355,359,361,147,159,165,365,135,177,294,367,318,578,371,183,330,354,450,195},{373,377,379,383,620,385,628,389,366,391,395,201,189,397,401,213,63,243,297,99,117,403,390,219,372,407,409,413,415,231,402,522},{237,558,419,421,425,672,536,600,427,586,426,249,351,255,267,273,153,285,291,431,303,309,321,420,327,438,339,433,171,345,437,439},{468,443,445,449,451,644,590,455,652,598,462,457,207,405,225,261,461,459,279,612,357,363,444,576,463,375,467,315,381,469,513,864},{602,474,528,473,704,668,676,736,692,475,479,393,333,399,411,417,429,369,435,447,498,481,492,510,453,485,465,487,630,387,423,491},{493,497,534,499,568,584,610,700,616,716,503,505,509,511,515,471,441,483,517,489,162,521,501,546,516,523,567,527,507,270,519,477},{529,570,533,614,724,622,626,624,740,800,748,535,634,638,539,495,541,531,549,525,537,324,545,547,564,543,551,621,555,675,729,553},{646,557,650,658,559,563,565,662,569,571,575,752,670,378,486,577,581,561,583,587,589,593,595,696,599,573,585,601,603,783,605,607},{764,632,611,674,744,613,664,680,617,579,619,682,623,625,582,686,629,639,631,772,712,728,635,760,637,641,591,643,647,649,653,655},{504,694,698,588,659,661,784,706,144,665,636,710,594,597,667,660,671,673,677,788,776,848,679,718,683,685,689,666,722,606,691,695},{796,808,697,730,701,734,812,742,618,703,707,642,702,810,709,609,654,615,713,715,719,721,746,725,832,754,758,727,766,731,768,770},{720,824,778,540,782,790,820,733,737,627,739,743,633,645,651,792,663,745,749,751,669,678,690,755,757,761,794,802,856,763,714,726},{836,844,860,806,814,818,767,769,750,681,816,687,699,657,693,711,773,705,717,747,738,775,779,723,684,762,781,826,840,785,787,786},{791,708,793,830,798,797,799,838,732,735,803,741,805,809,837,753,765,774,759,828,771,777,811,815,789,822,817,821,823,827,829,833},{834,795,835,839,842,850,854,862,780,807,801,841,845,813,756,819,847,846,851,825,831,843,853,849,804,858,852,857,855,861,859,863}}; memo[30][32]={{30,3,1,20,5,10,7,15,9,6,192,18,2,80,50,11,13,42,14,4,28,17,21,24,96,19,25,100,35,70,23,8},{27,29,31,110,37,41,43,47,49,48,22,53,59,40,26,34,120,61,67,56,16,144,71,33,39,73,130,170,77,79,83,32},{51,45,89,91,38,72,97,112,44,46,101,190,55,230,103,12,168,54,58,52,62,68,107,57,63,109,74,113,82,76,176,224},{69,119,121,86,94,92,98,106,64,88,200,65,85,95,127,131,81,133,118,122,104,116,137,336,36,66,84,139,134,143,160,124},{149,78,142,250,151,216,264,384,128,146,157,161,163,290,115,167,169,102,173,208,179,154,181,114,126,87,93,187,138,191,148,164},{99,108,193,158,197,111,162,166,178,172,352,188,140,125,145,310,199,203,209,196,211,136,182,174,217,117,123,129,132,156,221,212},{141,204,186,198,223,228,227,194,252,229,233,239,241,280,350,370,220,247,152,184,202,232,206,222,234,147,276,153,251,324,576,214},{159,246,258,432,253,236,257,218,360,171,259,226,238,260,242,254,262,244,263,268,248,269,271,348,177,183,372,189,201,207,282,266},{294,277,306,480,284,272,281,274,283,287,289,278,60,286,410,298,293,312,292,416,256,299,308,301,396,213,219,231,237,307,311,444},{302,314,318,322,316,326,334,332,296,328,338,600,346,313,358,240,356,344,376,392,304,362,317,468,342,243,354,408,319,366,378,249},{430,323,374,456,382,364,388,329,404,331,386,412,394,544,424,398,428,504,337,341,343,436,406,347,349,353,359,361,367,180,371,261},{373,418,492,452,516,377,379,300,422,608,476,484,508,368,524,400,434,564,383,267,588,442,472,736,532,446,389,273,75,391,397,105},{454,458,466,548,478,482,401,494,502,464,403,488,506,407,514,518,526,402,279,291,414,409,538,413,419,528,426,421,297,135,155,175},{536,427,556,568,572,542,584,431,448,616,632,928,554,470,433,288,562,720,303,438,309,437,664,439,552,462,443,90,449,420,165,185},{451,457,461,596,604,496,712,463,467,628,566,574,469,440,578,586,592,473,474,479,321,672,481,487,327,648,598,486,491,205,195,493},{225,215,340,644,497,652,668,499,503,624,676,696,602,614,622,512,656,626,509,511,333,339,612,351,636,816,684,517,150,540,521,523},{527,235,529,634,638,728,692,533,539,541,716,776,808,646,547,658,551,553,498,357,363,708,369,744,381,522,387,393,557,559,490,520},{245,800,563,662,674,682,686,824,792,569,694,698,706,571,380,530,577,399,411,210,417,423,429,441,447,453,459,471,477,581,583,718},{587,589,722,734,550,742,593,599,601,732,607,611,613,590,265,617,619,483,534,546,489,501,507,513,255,270,330,519,285,623,629,856},{558,582,631,746,754,758,637,531,756,641,724,643,275,295,647,315,345,390,450,649,510,375,405,537,653,659,543,661,960,667,671,320},{594,549,804,768,606,618,642,888,654,766,688,673,677,679,683,660,570,689,691,561,567,435,573,579,697,701,465,703,305,325,610,707},{591,666,597,603,609,621,678,828,702,778,748,560,764,872,709,713,714,627,633,495,639,651,657,663,669,681,630,719,525,335,650,670},{721,687,693,555,585,699,936,726,782,727,794,802,806,814,818,738,711,717,723,729,731,741,690,733,737,739,747,743,355,365,749,385},{751,753,759,771,777,783,789,757,761,640,772,704,763,788,826,767,769,801,762,807,813,615,773,779,395,781,787,645,415,425,445,455},{774,852,819,791,912,831,786,780,710,793,797,799,838,796,752,842,803,798,822,809,675,705,475,730,811,817,485,821,735,823,460,827},{834,837,843,849,861,846,858,829,505,515,535,680,854,812,836,862,866,874,882,833,545,765,565,770,575,595,605,625,635,655,760,665},{894,867,876,906,918,839,873,841,847,500,920,790,851,924,948,853,580,878,857,859,795,685,695,715,725,825,745,855,755,775,830,850},{879,864,942,891,897,863,885,869,871,886,877,620,898,844,881,883,868,880,700,887,785,805,740,900,750,815,835,889,893,820,899,902},{903,909,921,901,907,915,911,927,810,914,884,913,917,892,922,784,904,919,926,923,929,845,865,875,895,870,905,890,840,931,937,934},{933,939,951,941,925,935,930,957,943,947,938,832,908,916,848,952,944,896,932,956,860,910,955,949,945,953,959,950,946,954,958,940}}; memo[36][40]={{32,2,48,336,3,18,1,5,7,15,75,21,105,30,25,35,165,33,39,9,45,135,55,65,195,51,57,27,69,255,85,11,87,63,93,13,95,10,20,17},{4,19,23,111,6,54,29,115,125,145,31,123,150,285,37,345,375,41,90,43,129,47,49,53,59,61,36,108,141,67,71,73,81,77,225,79,83,155,175,185},{528,14,12,42,126,89,91,50,70,205,97,101,147,159,435,215,465,235,103,177,162,107,99,117,109,66,183,113,153,171,119,198,121,127,245,265,275,295,305,325},{78,84,131,133,102,22,26,34,110,210,335,525,137,139,60,555,143,149,615,201,213,72,151,315,157,114,330,161,234,163,189,306,252,167,355,365,100,385,395,130},{138,169,173,179,38,96,174,46,300,181,415,645,187,425,445,455,191,390,219,231,237,186,249,267,273,291,510,303,207,309,324,321,327,193,140,475,220,197,199,203},{209,211,485,170,217,221,223,58,227,360,229,505,570,233,515,190,239,241,339,247,357,251,342,243,261,363,381,270,393,279,297,253,399,257,259,535,260,80,8,28},{230,545,250,340,263,705,269,222,271,24,277,735,565,281,380,40,460,283,795,411,246,417,333,429,378,447,405,825,287,351,369,387,495,423,450,289,293,200,62,44},{575,290,595,605,625,180,453,168,74,52,299,301,120,310,82,68,307,311,313,471,258,414,441,483,489,317,501,507,519,459,537,477,513,543,486,282,319,86,323,329},{635,350,655,500,370,331,294,264,288,76,92,56,94,98,337,88,104,64,341,561,318,630,343,347,312,349,132,573,522,531,810,579,591,597,354,366,402,353,359,549},{665,685,695,715,410,361,367,426,371,373,192,136,377,152,16,106,184,118,384,379,609,383,122,134,142,146,389,438,391,627,397,633,567,401,403,407,651,663,603,621},{430,470,400,490,530,725,409,669,462,154,128,112,116,232,124,248,296,328,148,413,420,419,158,160,421,474,427,558,681,885,687,431,699,433,437,639,717,396,657,693},{439,745,755,775,560,550,443,449,451,457,176,166,178,164,320,208,172,224,344,461,182,194,590,202,463,576,206,467,469,723,990,690,473,479,585,481,711,1080,741,753},{915,785,610,805,487,491,493,815,650,497,256,376,272,352,499,214,218,226,503,238,156,242,509,670,511,408,254,392,624,759,517,710,521,835,975,523,771,729,777,498},{845,527,640,529,533,204,660,539,541,547,304,424,416,472,262,551,448,553,534,546,557,559,563,569,571,577,488,266,581,456,583,587,589,865,593,1005,675,747,599,789},{875,730,770,274,278,582,286,298,536,302,188,196,568,314,322,601,212,607,606,618,326,594,611,807,1065,613,512,334,552,642,813,696,617,895,905,925,619,623,666,654},{790,935,580,780,228,338,346,744,144,584,236,800,629,244,358,362,268,374,382,386,678,394,216,831,750,631,637,398,406,816,276,348,641,1095,643,955,965,647,843,849},{985,995,620,1020,418,422,284,434,888,616,442,1120,649,632,664,544,653,608,659,702,661,446,714,667,870,830,671,726,762,984,454,673,861,867,677,679,683,689,879,1170},{1015,691,697,458,292,308,240,316,332,712,466,850,478,356,364,704,482,701,494,502,786,1032,506,514,703,518,540,798,822,834,672,372,707,897,738,783,801,819,837,903},{709,713,858,526,280,388,538,728,736,719,542,554,562,776,721,368,832,566,727,731,733,737,600,930,574,404,578,739,586,598,602,614,894,906,774,921,846,882,743,873},{1128,749,751,757,808,412,428,436,761,464,496,912,824,856,872,904,452,622,444,626,763,1155,1025,890,767,468,634,910,769,1350,773,779,781,933,939,951,942,787,891,957},{476,791,1045,440,638,646,952,658,484,592,508,656,662,674,524,896,532,492,516,966,793,797,799,700,803,809,811,1050,1055,817,1185,969,909,927,963,821,987,993,612,981},{480,823,827,829,548,968,682,686,688,833,839,694,841,740,847,556,698,706,718,722,564,734,960,742,520,1075,1085,950,1105,851,1011,1023,1029,1041,1047,918,1059,1077,853,900},{768,928,752,784,572,596,746,857,859,863,869,978,840,871,820,860,604,1016,754,758,628,766,992,778,970,1115,877,1110,881,883,588,1083,999,1101,1017,1053,1071,765,855,1135},{644,1056,1048,782,887,889,794,802,893,954,899,806,1002,901,907,814,652,1064,1024,818,1176,668,826,911,1010,913,917,1113,1245,1119,1131,919,1137,945,1089,1107,1143,1035,1275,1125},{636,676,864,838,1272,923,929,692,931,1161,504,937,941,842,1014,854,716,943,724,862,866,748,1096,947,874,949,1026,953,1149,1167,1173,1038,959,1191,1203,684,1179,961,1145,1335},{967,708,878,764,886,971,898,732,973,756,648,902,940,977,1248,979,804,772,788,848,914,796,1112,812,922,792,1209,1197,1233,1260,1074,1086,852,1221,1122,1227,1251,983,989,1230},{926,876,836,944,934,1062,991,938,946,958,997,1001,1003,1007,1009,844,868,884,892,962,974,982,986,1013,1019,1098,1134,828,1239,1257,1206,1021,1027,924,1031,1263,1269,1215,1365,1290},{994,1033,908,1144,1037,998,1242,432,1039,1146,1104,1281,1158,1043,1049,680,1006,1018,1051,1022,916,932,1034,1182,1293,1194,936,1287,1299,1224,1057,1042,1218,1046,1061,1323,1305,1311,1063,1067},{956,964,1054,1088,1058,1069,1066,1073,948,1078,1079,1317,1254,1140,1165,1081,1030,1082,1094,1087,988,1004,720,972,1278,1091,1329,1368,1341,1347,1093,1097,1102,1380,1099,1359,1353,1377,1103,1106},{1109,1111,976,1344,1117,1012,1184,1028,996,1036,1416,1121,1371,1200,1175,1070,1114,1118,1126,1138,1068,1123,1052,1044,1008,1127,1314,1413,1129,1133,1320,1090,1142,1266,1139,1141,1383,1147,1151,1076},{1389,1153,1084,1154,1157,1159,1072,1108,1124,1132,1162,1163,1169,1171,1195,1177,1181,1136,1166,1174,1092,1178,1183,1187,1302,1326,1189,1193,1199,1201,1186,980,1198,1202,1214,1392,1401,1207,1060,1148},{1164,1212,1156,1222,760,1226,1211,1168,1152,1172,1216,1213,1217,1425,1205,920,1192,1232,1234,1196,1204,1228,1000,1219,1236,1223,1229,1231,1225,1100,1130,1238,1246,1258,1338,1237,1241,1243,1180,1247},{1249,1253,1284,1259,1262,1208,1274,1244,1252,1268,1312,1256,1261,1235,1255,1160,880,1282,1264,1276,1267,1440,1040,1292,1271,1407,1431,1395,1265,1150,1286,1294,1362,1386,1298,1296,1273,1190,1285,1295},{1220,1277,1419,1374,1306,1376,1279,1328,1318,1288,1322,1334,1283,1210,1289,1291,1300,1316,1324,1342,1297,1315,1340,1280,1301,1303,1307,1309,1325,1410,1313,1308,1319,1346,1354,1348,1321,1327,1331,1345},{1355,1333,1337,1339,1358,1364,1372,1343,1304,1336,1388,1424,1349,1351,1357,1361,1420,1366,1356,1116,1363,1367,1369,1373,1352,1379,1381,1375,1250,1387,1391,1393,1397,1398,1399,1378,1382,1384,1360,1270},{1310,1240,1385,1400,1396,1412,1403,1409,1408,1394,1432,1402,1406,1414,1411,1405,1330,1418,1188,1332,1422,1426,1370,1417,1421,1423,1390,1415,1427,1435,1429,1404,1437,1428,1434,1438,1433,1436,1439,1430}}; int h, w; cin >> h >> w; auto g = solve(h, w); rep(i, h) rep(j, w) cout << g[i][j] << " \n"[j + 1 == w]; }