#include <bits/stdc++.h>
#pragma comment(linker, "/STACK:200000000")
using namespace std;
template <typename T>
inline T Abs(T x) {
  return (x >= 0) ? x : -x;
}
template <typename T>
inline T sqr(T x) {
  return x * x;
}
template <typename T>
string toStr(T x) {
  stringstream st;
  st << x;
  string s;
  st >> s;
  return s;
}
inline int nextInt() {
  int x;
  if (scanf("%d", &x) != 1) throw;
  return x;
}
inline long long nextInt64() {
  long long x;
  if (scanf("%I64d", &x) != 1) throw;
  return x;
}
inline double nextDouble() {
  double x;
  if (scanf("%lf", &x) != 1) throw;
  return x;
}
const int INF = (int)1E9;
const long long INF64 = (long long)1E18;
const long double EPS = 1E-9;
const long double PI = 3.1415926535897932384626433832795;
const int MAXN = 160;
const int MOD = INF + 7;
int n, m, d[2][2][MAXN][MAXN], d1[2][2][MAXN][MAXN], s[2][2][MAXN][MAXN];
int getSum(int *s, int l, int r) {
  int ans = s[r];
  if (l > 0) ans -= s[l - 1];
  if (ans < 0) ans += MOD;
  return ans;
}
inline int sum(int a, int b) {
  a += b;
  if (a >= MOD) a -= MOD;
  return a;
}
int solve(int x, int l, int lt, int r, int rt) {
  int &ans = d[lt][rt][r][l];
  if (x == n - 1) return ans = 1;
  ans = 1;
  int gr = (rt == 0) ? (m - 1) : r;
  for (int rr = l; rr <= gr; rr++) {
    int nrt = rt;
    if (rr < r) nrt = 1;
    int ll = (lt == 1) ? l : 0;
    ans += s[lt][nrt][rr][l];
    if (ll > 0) ans -= s[lt][nrt][rr][ll - 1];
    if (ans >= MOD) ans -= MOD;
    if (ans < 0) ans += MOD;
    ans += getSum(s[1][nrt][rr], l + 1, min(r, rr));
    if (ans >= MOD) ans -= MOD;
  }
  return ans;
}
const int Z[46][152] = {
    {0,         5671,      21453393,  594369117, 774277823, 499375289,
     804736588, 192217706, 843440957, 553854738, 983040797, 232836793,
     903925500, 362232886, 653320315, 939965552, 572393392, 799911922,
     692564827, 574831904, 987001802, 146460157, 197631965, 757373332,
     520443666, 770762541, 720523348, 269059589, 682588816, 933880495,
     178060951, 468780513, 659329845, 42008150,  209896505, 677301365,
     956437685, 636936940, 762884584, 142179197, 375780051, 159407394,
     986689650, 54263218,  599908913, 138226212, 894816947, 867035766,
     429023367, 441845207, 110328252, 101420614, 596851855, 453183859,
     680281347, 76608511,  969710016, 251282833, 434762362, 619550996,
     128755147, 817469425, 70509821,  123171391, 764800092, 263459752,
     33361989,  774091448, 59392821,  501194094, 70407961,  927582083,
     967365474, 99720759,  493184737, 202772336, 763403262, 741293167,
     530691657, 377767938, 248223052, 248274002, 155658251, 284262166,
     34329514,  102917679, 6466257,   470175958, 140728210, 734341029,
     186653865, 556804727, 901941003, 137498229, 987199797, 379174629,
     919909675, 88904350,  609025102, 521747671, 576738016, 189524368,
     248811919, 374733499, 624760658, 428551708, 358509700, 0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0},
    {0,         5778,      22270338,  445005637, 917969967, 307410704,
     76635958,  324348732, 346032245, 160574823, 219745322, 334800875,
     794670505, 316710450, 723169685, 304792214, 116617295, 501485994,
     928632027, 573510228, 472002483, 115518995, 37156003,  732079725,
     985814774, 563341096, 482425878, 848242970, 761637573, 430721264,
     415915284, 963256619, 326935794, 762301947, 946895578, 805365403,
     187274751, 608473406, 738337941, 906265224, 601070552, 39681094,
     899792354, 684981063, 605281426, 599501899, 862483910, 796250903,
     924784799, 620432102, 14249680,  809885298, 232760336, 274627981,
     442704121, 701848733, 524367256, 166833849, 662656520, 564229293,
     407427518, 253837767, 471229551, 407109870, 483257395, 295598510,
     756792785, 978537731, 913149312, 978936915, 13685459,  402872797,
     611910845, 688153062, 971725178, 970040582, 529890797, 920172933,
     911895068, 855048068, 116950527, 143688881, 781127531, 420417269,
     701359216, 476729322, 701413232, 364163196, 119601365, 326257526,
     480744256, 350111548, 437397702, 264946338, 782789365, 563228207,
     481671069, 595957298, 242690,    696381529, 460140630, 661411591,
     106619526, 497902511, 254124426, 460630432, 101128252, 23794054,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0},
    {0,         5886,      23110398,  430903324, 490842301, 96305602,
     982963736, 282787165, 868324266, 482002183, 800377326, 121773563,
     799627616, 547534722, 522497832, 150259523, 784872981, 77238716,
     234799188, 339237493, 304712943, 446559589, 17528358,  657167623,
     114925980, 184856979, 851762665, 954546171, 350550978, 599766680,
     529488227, 610389465, 186903641, 656610971, 963567217, 770545660,
     457539866, 236269405, 631157883, 745518451, 52063227,  626440662,
     974659706, 553224441, 496962441, 630771253, 23132034,  257614756,
     726816928, 73599593,  548263282, 794665433, 150696050, 846613362,
     256118572, 602422805, 455757394, 14044475,  693092353, 572286356,
     731436218, 816952954, 639737679, 646273548, 975609760, 218117605,
     194971380, 570413363, 350186503, 279166707, 179825903, 230998676,
     728547258, 511360469, 658626044, 765047806, 834068268, 636840312,
     572281662, 744788354, 241042680, 277404785, 595631961, 940971791,
     219049444, 626301838, 817653549, 778545937, 378341548, 560977093,
     513584841, 262995917, 699673348, 389780357, 670752635, 837419033,
     915584709, 630349274, 623585399, 253405604, 556320118, 184188163,
     477510997, 122024088, 642759940, 294468227, 961399518, 952725362,
     289709902, 0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0},
    {0,         5995,      23974005,  557148871, 753893916, 87562076,
     384213908, 871861583, 847415592, 52661253,  733534755, 528249789,
     518449682, 641876922, 413349309, 926527234, 536511205, 186115592,
     775190864, 906608288, 448565447, 377860681, 453674643, 193757348,
     112496726, 951005577, 98006024,  957940295, 285413343, 973709652,
     87121225,  271694923, 170761184, 43070217,  557846269, 820825706,
     410946048, 243139588, 382063998, 454520792, 541138989, 187824710,
     371052126, 542342124, 317316479, 716268702, 593672026, 30870846,
     583720520, 640156457, 664158835, 23971346,  287582024, 640496384,
     892145004, 821765529, 606452891, 621393698, 80269657,  575588737,
     352177610, 827680472, 596125551, 965794504, 803983758, 433090318,
     146153060, 862085613, 197226187, 256886668, 803035854, 70960,
     931442305, 589886588, 449057380, 553009016, 886298450, 361638507,
     680157607, 435032196, 469556549, 297142796, 479401892, 398122395,
     77687187,  24226407,  232103037, 499915984, 795102299, 155775570,
     511445134, 530930314, 756821270, 613580342, 609487730, 213065419,
     67027164,  920979470, 871870080, 147589787, 994241394, 278910294,
     817346027, 899187031, 151987185, 452209889, 538601776, 165220810,
     579321799, 466686214, 0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0},
    {0,         6105,      24861595,  828971118, 776150275, 155435283,
     788731471, 134980648, 392761483, 325855949, 972422683, 240692375,
     726532902, 611497241, 318380388, 567920783, 259665323, 949756135,
     665704205, 384447988, 592390121, 624823144, 192541472, 15733614,
     572439454, 385601978, 164839313, 403365141, 582534660, 592656966,
     379963560, 995840797, 963910447, 255718319, 703057185, 174586746,
     892948653, 830900472, 600081548, 614192236, 203423121, 261898411,
     167586077, 222803473, 281013950, 113755181, 109551178, 574025389,
     254449308, 278766032, 971884425, 510135160, 2145407,   962748488,
     231590229, 18849941,  33317745,  560982957, 114125861, 584476323,
     587450892, 951021425, 730500297, 314777318, 877562561, 265757587,
     764841193, 115872583, 373239066, 508333846, 733118318, 206950615,
     999162200, 982694397, 893850991, 403628715, 365808379, 361329002,
     360535072, 283088525, 917210247, 968931809, 98294043,  137648034,
     993205733, 174689619, 766264016, 163156251, 29408305,  674055114,
     123913980, 411676885, 953561231, 278673549, 972075384, 251791281,
     391917647, 807162441, 109367731, 520903447, 754416804, 850540858,
     381863692, 821669542, 411819660, 329947345, 379210801, 456138797,
     481903619, 742037496, 314544245, 0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0},
    {0,         6216,      25773608,  251743669, 464646120, 556672624,
     250801335, 508973453, 196099587, 551513584, 674740402, 720774145,
     93124141,  186889654, 41557207,  880606529, 127588963, 836430584,
     668392861, 656697116, 646736497, 23833080,  769897329, 149917588,
     516274855, 832544702, 840377636, 946838429, 91142868,  530320310,
     647315445, 936047854, 398850007, 487913200, 814559370, 720739864,
     562053106, 702466999, 732442768, 260624934, 225443427, 796656437,
     89802210,  626879517, 310700579, 406865799, 142054602, 769020548,
     609664651, 889004117, 188888373, 992986891, 228549757, 159992036,
     757381320, 68869020,  327781819, 99344198,  508402232, 177052527,
     637277802, 575575498, 763676087, 357140537, 725002486, 661339301,
     454576074, 774995993, 482098555, 578439357, 494240073, 228071397,
     60678860,  802658057, 3981138,   472131636, 979121531, 601662413,
     988188783, 413784607, 927160572, 248161467, 166029475, 745031618,
     741271444, 890743986, 506160685, 999070736, 185907770, 92567131,
     234400896, 829029206, 374704543, 169690315, 102983309, 1444520,
     439456097, 865688686, 702982625, 887568016, 675117538, 650009232,
     963813833, 888636077, 797419497, 546909643, 287833225, 516079819,
     659084365, 859778492, 94261049,  917071519, 0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0},
    {0,         6328,      26710488,  830987568, 595235190, 172967832,
     586500662, 24910382,  355514781, 494561376, 570337850, 357968598,
     299100195, 480295347, 176123098, 42829198,  32240261,  597362645,
     840930649, 912064529, 239083992, 226856125, 355976372, 640968678,
     961434205, 503746576, 8834721,   618033056, 214045640, 982919083,
     318315353, 434635700, 514243868, 362172577, 788414993, 668797052,
     663225590, 132174698, 360295599, 983322051, 979475099, 73789527,
     894855041, 49035024,  798524318, 21662823,  517065795, 642325140,
     891374581, 273999711, 117458602, 572979201, 237765660, 848222888,
     188504522, 296916879, 329115856, 666771688, 31783287,  626653329,
     211038786, 784587694, 180069637, 838550225, 944344608, 990235394,
     542611566, 272509247, 676450325, 34059429,  147420453, 478126434,
     148311277, 782813439, 163477419, 184092362, 856281390, 985459710,
     651150536, 534412647, 833611359, 980558644, 507749784, 878397322,
     231882284, 658474219, 398446832, 534433781, 22187517,  927604867,
     245978939, 509963035, 493017416, 693731622, 140758688, 754454348,
     584493806, 255564965, 942228562, 86864561,  309035961, 829086686,
     942501770, 224411398, 782132174, 649346608, 148218056, 695882391,
     241071098, 297506801, 485472398, 469173454, 56443143,  0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0},
    {0,         6441,      27672683,  572373922, 844241821, 431324632,
     881183565, 496696975, 438567632, 748123673, 314474672, 449271799,
     285188061, 165784110, 45976127,  255356438, 307721575, 992484858,
     178675742, 432645632, 55568843,  731072685, 822073344, 203354916,
     279712153, 987317927, 482548363, 128802415, 641066025, 198612199,
     413368295, 617436394, 691810603, 235576544, 694639232, 138258993,
     87240393,  594732778, 119759550, 291269465, 968383028, 131280196,
     337610159, 133932787, 354499702, 410768894, 867590029, 503401279,
     267674263, 935543763, 194631330, 39237394,  899200405, 229961997,
     519616951, 351135523, 683909483, 41335569,  254095439, 726249362,
     158664584, 243574594, 221074373, 694196244, 586748141, 914954567,
     8529861,   821669951, 524910777, 390296659, 71753563,  223485262,
     426759817, 167039480, 410048995, 420889109, 60230018,  998098487,
     718689490, 95849463,  643020670, 196627961, 34818851,  983383400,
     718509549, 150754186, 900501706, 871213655, 800497152, 69767587,
     30861046,  603422422, 557731885, 378292538, 868335176, 819965654,
     644141990, 591926899, 585415626, 776480200, 108557617, 409799590,
     833205165, 440554993, 129492095, 128265553, 126699754, 62790064,
     357427825, 406468872, 260330381, 598976482, 419942771, 225864713,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0},
    {0,         6555,      28660645,  481726646, 820969663, 72019244,
     220206893, 596595354, 936660996, 896155319, 411514164, 713991161,
     869029708, 624594774, 84448235,  976818072, 375945966, 527140770,
     890676194, 860704274, 344588275, 286021387, 940235188, 508727139,
     713133757, 433680553, 436441967, 163037902, 267581211, 105784653,
     173323642, 569453471, 760060346, 824748359, 332094440, 36871917,
     3724381,   952277381, 234676941, 968606009, 49774927,  461481094,
     657452181, 55262299,  689137491, 911587042, 39294240,  331189947,
     879155216, 734864278, 456014998, 365590845, 245132450, 517999496,
     35498037,  413454051, 387443947, 957617999, 270398700, 646397312,
     802409148, 79890632,  993227047, 448431504, 60338695,  890584690,
     313727521, 374428266, 894736798, 775624017, 967575255, 141336423,
     96450617,  254411655, 377056587, 198740042, 369752370, 709329991,
     763474265, 477176379, 707132178, 122041249, 289636277, 749110382,
     569226930, 190201097, 697779032, 424203640, 794293684, 568253676,
     795467784, 753013311, 298432603, 667658127, 614802232, 510529646,
     429332710, 817590746, 809865211, 114917289, 706424509, 122000902,
     921916082, 538808067, 865219276, 891279687, 821861606, 166809718,
     882779298, 631040559, 66394645,  353715994, 410603886, 392507084,
     921693041, 0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0},
    {0,         6670,      29674830,  565025155, 101082822, 938426821,
     397475658, 949624537, 174524430, 716192511, 159570064, 194603535,
     194994832, 108426969, 512508773, 825137129, 958929800, 865060585,
     555881339, 621493179, 727154011, 232721641, 189360773, 942734774,
     791889402, 201731093, 193388257, 834876854, 853037278, 979199501,
     502421599, 239159434, 281688442, 452028462, 57207005,  79564260,
     286728996, 94241693,  795275138, 17388136,  586604705, 325532562,
     973315721, 544821831, 94528366,  592186914, 709660168, 904769031,
     510824427, 37233319,  898165327, 702804960, 762625429, 465694504,
     332125106, 805726435, 961815633, 580752811, 672013366, 913921595,
     347100168, 975113352, 24380424,  319763793, 400972563, 717235430,
     75315518,  15154299,  214207273, 613023601, 82102143,  681899051,
     274712457, 348441108, 840543128, 278922432, 964400932, 372202953,
     923123663, 911810484, 557805121, 967700389, 111536370, 946063695,
     298383625, 241282262, 376181425, 454258121, 406688333, 344657369,
     444654074, 680485090, 145149639, 119149741, 955258347, 994604631,
     585190508, 40932593,  655040596, 831256435, 696015576, 832107756,
     155564095, 139480682, 242068701, 229707329, 828780802, 58261270,
     855300465, 433957445, 681538129, 744359158, 701658810, 903780937,
     372879499, 424765043, 0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0},
    {0,         6786,      30715698,  828407115, 260874920, 967633710,
     67816249,  442136447, 146585014, 522437982, 203755356, 503951887,
     440607204, 719728624, 608166514, 549835906, 329690997, 533431943,
     318795253, 250920666, 156364195, 676217609, 565504222, 441828683,
     967874268, 519046657, 492556223, 4590472,   100248694, 321722634,
     702832839, 870949172, 753894797, 538270551, 236510951, 46383438,
     108291289, 784078633, 716631901, 716509019, 831752624, 512018415,
     550524438, 469499110, 146282093, 575563676, 798993261, 214017142,
     621125258, 996066606, 447597548, 791501444, 776270067, 428235720,
     686681578, 798828588, 550417826, 599565009, 81017145,  782251772,
     677974534, 505290395, 523823666, 281082872, 687718008, 778253086,
     806696109, 655325130, 949001377, 365999032, 797090542, 776165633,
     873498313, 350905280, 215817025, 559443044, 537733505, 312190897,
     977704830, 698270349, 66013662,  603508834, 438071583, 98046487,
     800572568, 195555266, 641542030, 505106709, 550750878, 474935674,
     124429526, 133586908, 786340286, 239984006, 617489768, 458937536,
     380275929, 827476028, 526495044, 245837727, 85194928,  648764914,
     583551326, 618291402, 605200950, 923592690, 298318122, 885230317,
     834087272, 282833452, 602965351, 306746371, 248550689, 870934407,
     346609159, 881313183, 816726730, 0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0},
    {0,         6903,      31783713,  278171204, 912441625, 565497126,
     432715860, 756525010, 305990143, 795179259, 747382171, 574564389,
     371728403, 791309271, 463774642, 578617651, 664223838, 13354528,
     486750317, 185686718, 475545154, 175190441, 793127317, 799040192,
     345556399, 807710305, 629479001, 481551688, 660462513, 385222344,
     965693478, 342984717, 932446219, 368171670, 987727111, 377195990,
     105235346, 268719013, 15027779,  65826401,  353343080, 784893971,
     761988135, 708418172, 844589397, 692413087, 154983338, 731427380,
     55046831,  106951807, 654238797, 605749065, 51130786,  613349594,
     920208383, 16721341,  169143603, 672098870, 293481154, 757993191,
     262680101, 917350127, 40948797,  192664370, 136089940, 631773921,
     809365658, 522771390, 365706860, 949725586, 762447534, 983179005,
     779454762, 955039543, 174331058, 840430305, 57016830,  369519844,
     260984820, 757862146, 494322176, 14101930,  314492522, 383016323,
     321904494, 890897299, 636491614, 516245593, 218082350, 197081465,
     805384516, 546163293, 231673566, 471812585, 820489010, 108358514,
     790198438, 158865272, 871164218, 478661105, 113838200, 6953755,
     817241303, 713742171, 26602146,  887634470, 64750293,  193693110,
     155974849, 368648997, 111457303, 277705511, 868845497, 965409648,
     313832936, 733554146, 141709539, 697988106, 0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0},
    {0,         7021,      32879343,  920779932, 739772472, 554635813,
     108653553, 119613369, 644445648, 701024284, 176731578, 716476601,
     884968680, 983805180, 73635609,  644788999, 103824633, 851002111,
     149087099, 12554174,  778891240, 427919036, 11350226,  753510210,
     606623542, 809588320, 942862104, 736139999, 871756751, 634760618,
     325256141, 133301216, 484477390, 738584207, 349069193, 16114836,
     192730307, 119951698, 383521725, 571684408, 664869286, 447890185,
     536077112, 641049218, 531915889, 252965372, 524782853, 527291785,
     360990416, 945785046, 29098629,  921764422, 717585064, 987059278,
     251508982, 392044517, 986180087, 172131217, 274100276, 747081585,
     845290500, 585604074, 189958027, 195633628, 939694276, 14060198,
     67387320,  7069246,   374020643, 488752462, 799714137, 282162731,
     326299902, 212692401, 270313265, 554130230, 126497837, 913264338,
     811481917, 53842455,  166525899, 673751896, 841035413, 704040483,
     685191866, 937167184, 255940088, 772215286, 953121327, 590442580,
     229099079, 993712644, 334419408, 833234427, 300649707, 353619112,
     96932525,  463116807, 946887901, 683190206, 279385890, 797414016,
     777723510, 747710614, 871985769, 623924816, 154598253, 594002800,
     155171316, 947051813, 247892565, 996588381, 812560246, 227388893,
     679185968, 97092792,  647810060, 936381406, 202817663, 0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0},
    {0,         7140,      34003060,  762862408, 535777834, 888741491,
     347569254, 392965471, 211419128, 721802833, 4815253,   539884601,
     947055816, 2952710,   833584713, 771320307, 870309078, 95202835,
     15693927,  705705449, 424350274, 600487887, 221343022, 418248266,
     69791293,  946984366, 672433115, 942022810, 225528167, 838732877,
     580434078, 107695606, 740691970, 855518373, 525186631, 460380311,
     912028575, 362699850, 275984529, 652511398, 996632448, 920470317,
     748482098, 972347588, 903298954, 135450061, 475659353, 911948715,
     373133177, 152510408, 877104185, 696906067, 733508156, 174708120,
     428252664, 280793955, 546434790, 400464652, 519147837, 791249920,
     284182755, 824594457, 244462280, 362113490, 154764678, 968118711,
     180625620, 913633072, 994820138, 781101803, 891024122, 240927548,
     69072888,  736728347, 290261565, 259236362, 44517124,  349445246,
     897332857, 966902615, 612360775, 64978597,  993238390, 174971744,
     776100484, 233784709, 758121667, 518685391, 867556101, 511931207,
     927618841, 744531937, 710735191, 2805309,   453895793, 329572622,
     217124821, 717727055, 489587168, 129054451, 396968727, 201906176,
     616021418, 290182719, 856650758, 584423662, 791142129, 579903952,
     785897397, 91510633,  89099852,  39002027,  83883635,  402705155,
     408872828, 117600879, 851447803, 574168710, 58785227,  762257401,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0},
    {0,         7260,      35155340,  811217229, 240267003, 331591241,
     284869599, 665707633, 562826337, 757457624, 478431835, 936917361,
     936887852, 973316637, 635814126, 650371284, 830292087, 985514687,
     622460586, 148658592, 657926783, 733684733, 946618335, 564766745,
     324633458, 653744584, 813146057, 593372160, 5764170,   449879418,
     149790410, 780774789, 609004342, 486547482, 415497980, 146623241,
     334878956, 532785119, 825431329, 817134935, 447814945, 163474446,
     773070209, 561628941, 762606477, 443973333, 529821702, 780710020,
     104310017, 643565617, 913681211, 244651532, 744364613, 397201926,
     656543066, 394646045, 593266978, 7207166,   95977315,  539859797,
     503937014, 881477887, 586185307, 855561479, 405588640, 792601695,
     915123643, 984588559, 315704209, 309013980, 320999968, 130175659,
     284028721, 866805924, 25729681,  666762969, 23027908,  984673987,
     340984156, 185234890, 45860911,  341549169, 358408004, 37502199,
     789880144, 900037998, 284437500, 393953187, 954501764, 186346002,
     495823969, 691346996, 231004048, 591624179, 828991233, 215810078,
     592874854, 274767050, 628024714, 617117288, 774715209, 380892219,
     344436753, 887223024, 190552297, 374243607, 72212686,  206609984,
     450387987, 443145502, 295328002, 723401110, 602826243, 348020403,
     27123559,  74485073,  133919512, 78374521,  399423590, 740208389,
     406932269, 0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0},
    {0,         7381,      36336663,  72815309,  978893610, 304216545,
     407080727, 3119344,   566848588, 756108484, 948394009, 992114356,
     125890840, 844683043, 840142664, 321882457, 101025247, 360340517,
     830340725, 547957026, 698531373, 186788504, 397990652, 1017309,
     385754760, 766448594, 820235670, 481040424, 665105481, 146691385,
     278611899, 244041740, 937910599, 998177021, 84649587,  723593445,
     237171995, 920817089, 821686976, 293352189, 739928273, 465527020,
     912377912, 930377914, 190570989, 859006548, 955835767, 377931585,
     323927249, 645675109, 119015620, 484360341, 385521886, 949660138,
     148078278, 3965308,   69058225,  692221042, 565129328, 748348069,
     484214524, 49267681,  641343759, 852039126, 650278943, 707163539,
     958321705, 410863148, 135466801, 76654882,  86523217,  778449831,
     521447104, 461626596, 81782684,  450594972, 30025975,  147679485,
     36187152,  239758573, 770555316, 267834655, 211753969, 55433744,
     693263778, 53726782,  314360462, 136082099, 850279063, 563178681,
     936139113, 187739892, 619737139, 599259479, 609631544, 311826662,
     630076314, 141243576, 400105640, 552556051, 8636700,   25197146,
     533276305, 324501753, 305545767, 556603343, 288104069, 351936054,
     763883570, 553221173, 371448838, 769544373, 47487651,  121281122,
     462244452, 172503966, 585245612, 493548693, 893416670, 258587416,
     917173913, 847601653, 0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0},
    {0,         7503,      37547513,  554802802, 103084588, 108845978,
     984582704, 492030565, 514139109, 296972693, 762399297, 968856686,
     228609551, 392268705, 667121930, 283449108, 804994702, 144266570,
     792686313, 753664710, 543455812, 698027288, 227047955, 829062743,
     363795247, 331679258, 427363672, 692628004, 638245351, 714233951,
     83211780,  958056579, 485204960, 275882791, 468527761, 975661261,
     989546813, 182902562, 592150017, 863648447, 636761583, 705067682,
     802609888, 187119433, 795195615, 308412871, 616891560, 92278700,
     424810893, 983616379, 431486947, 196821089, 999637037, 89581465,
     631774471, 15694181,  542179206, 905534939, 621806124, 674414690,
     464865111, 907918197, 368738225, 510223324, 908271532, 515205705,
     83597355,  150655427, 233977888, 134692574, 28590712,  92882650,
     392645995, 387875397, 19619468,  238709448, 745640373, 319822770,
     55727416,  827334342, 399163371, 798322509, 317142973, 358748574,
     3757898,   841917156, 116708535, 683400547, 799446536, 881983078,
     741309435, 606228561, 733389566, 800506172, 275835721, 964124201,
     896244019, 49794092,  372882960, 819671908, 957397457, 76765406,
     703560090, 674138474, 575388965, 349173515, 51507758,  13018051,
     698978617, 688471117, 474963275, 713085508, 25861188,  680314041,
     623783246, 307899743, 316743033, 718367833, 790711419, 807254989,
     641071345, 829237821, 633324856, 0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0},
    {0,         7626,      38788378,  264503965, 230969249, 743486719,
     830988848, 833797336, 120255672, 33346541,  163560885, 133338666,
     998788774, 835064858, 514847859, 266698761, 630698645, 462843435,
     697136311, 512328267, 213239667, 529433993, 578689825, 416344157,
     578479487, 821110144, 951187234, 450507056, 577995318, 823815646,
     316262930, 626745956, 156195780, 250929056, 545361930, 400890678,
     863975991, 936734407, 975325506, 678166438, 792560337, 78616263,
     14247036,  705300227, 507387481, 911681809, 130220462, 899047937,
     29443969,  528942466, 983309427, 626762179, 45379731,  155540163,
     538279815, 993365888, 283957999, 31019660,  864677776, 468723518,
     428606819, 913548888, 340171744, 227225153, 874030456, 598981401,
     662403834, 897952095, 746697779, 159287987, 65684636,  938618238,
     469797988, 376489834, 99690203,  263354503, 564550141, 847501199,
     194736006, 422544584, 765506500, 588157703, 391445847, 999191621,
     301642235, 585536166, 632353682, 142889551, 885513010, 639560628,
     497369566, 825260003, 574800531, 933346192, 316473479, 404231874,
     216393382, 994779350, 581103479, 829940200, 729836301, 440436792,
     72623778,  773700334, 237003079, 717938561, 432171416, 82089919,
     708373622, 713064566, 942193384, 170106900, 654981886, 521541820,
     869379431, 317534729, 897563859, 784963137, 342902589, 580276911,
     212837979, 85108701,  823968736, 391753080, 0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0},
    {0,         7750,      40059750,  209424143, 289324811, 526345058,
     456292552, 314367413, 834371507, 240071320, 759366895, 259666187,
     804957104, 328862194, 113685318, 140640136, 674393533, 623969496,
     511548882, 920245446, 669850369, 34268455,  155300251, 382654877,
     215488946, 716770299, 425771840, 152178889, 573456259, 282492809,
     525455478, 179878883, 314686809, 348980826, 489739734, 107999515,
     959468600, 884335620, 765014013, 917038663, 266779501, 417313157,
     560604220, 54485439,  775938786, 164418944, 61520498,  313649597,
     771127644, 111859537, 232169897, 195131434, 360629483, 613815709,
     128781972, 140130337, 285074893, 663576000, 323420407, 718908076,
     329744194, 767203521, 371589848, 118675269, 736843318, 839176106,
     259725849, 246860980, 303524959, 205835376, 254398770, 575240367,
     255046189, 245400792, 64044715,  329289623, 908241931, 617853451,
     330216874, 782802971, 543738687, 641550332, 865223520, 396955427,
     146230440, 549881139, 595410572, 903979219, 825360347, 642142023,
     256010832, 652691389, 863609194, 883211814, 713368700, 628353849,
     806437571, 396193201, 633079015, 158214716, 871195525, 325277662,
     397443959, 614285750, 419664745, 334694476, 985251914, 178178806,
     647729749, 229024729, 626864590, 903655723, 644229873, 922133318,
     457738535, 38453466,  889357044, 316748363, 931434561, 283961482,
     332878276, 621539713, 178482520, 912152492, 939791426, 0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0},
    {0,         7875,      41362125,  397252701, 556555295, 754709577,
     502962662, 226187206, 395062686, 138246826, 102741181, 713344350,
     480975554, 881660934, 854571823, 433453842, 1382685,   678027851,
     460822249, 486720632, 46982285,  634376636, 128505237, 773955421,
     19764026,  167681991, 848654945, 63853233,  481840141, 789300957,
     600899503, 374611651, 135540585, 306283710, 782902196, 422794467,
     846539735, 21736425,  820907573, 547645752, 359972334, 284681707,
     86253440,  156002724, 760133085, 955044679, 846414638, 416520009,
     907729418, 558659396, 90635044,  303314283, 345546957, 602302308,
     594527220, 221962714, 261080142, 46126440,  517816021, 717128814,
     81987062,  288728542, 437761324, 357919621, 465748196, 963558164,
     193657887, 966849650, 57144621,  498176041, 870860267, 514842044,
     582290486, 141541432, 173907222, 37206121,  987134896, 270763116,
     220458647, 597611695, 496713645, 466310570, 251674201, 125353156,
     617455369, 751523965, 464136998, 922664984, 758057948, 780382817,
     349781825, 889738969, 606056371, 124988172, 946127029, 138622080,
     858296169, 981201398, 655234388, 446018367, 82886,     610836627,
     593499961, 414798651, 821205176, 48040503,  578462269, 241154786,
     963546615, 482596730, 902179895, 575989885, 856187502, 662951564,
     142482735, 816314513, 877003006, 457855952, 633449862, 655334384,
     910965664, 798265220, 883358390, 885467077, 396254349, 997925326,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0},
    {0,         8001,      42696003,  835866015, 706720477, 628432394,
     320239397, 408779809, 262287738, 227400228, 67896075,  845746280,
     185599446, 420223307, 375375845, 65573306,  101867876, 152660473,
     208533137, 82870823,  839198081, 326703664, 593010494, 599337287,
     89320395,  775138292, 20790316,  764764158, 871676802, 193669709,
     727573128, 44755786,  310367137, 698923850, 731840142, 359459116,
     67344764,  200115238, 95536395,  194490302, 923883410, 56610584,
     21343326,  74831154,  956077463, 705583796, 145057930, 88166850,
     914035303, 324711796, 906506960, 703826545, 817220199, 101910258,
     905771489, 357428031, 502934965, 179420616, 282579060, 112313465,
     839892209, 465787859, 307444101, 231019940, 336142336, 915481091,
     578580691, 658709787, 223681205, 187481696, 845127166, 715062476,
     125183508, 254571738, 325942080, 761748287, 286531721, 88203722,
     80930992,  572208395, 669350073, 67816505,  289653910, 665797541,
     675043300, 267834554, 355630556, 410115290, 695720143, 663426011,
     975533638, 657901827, 752681117, 725913055, 652404176, 538882313,
     30213814,  431540442, 670394194, 513977934, 230633400, 843763304,
     852953432, 22380399,  355344785, 137802153, 712906640, 609593964,
     754211440, 296650347, 22233678,  558215172, 438373544, 30275844,
     522840939, 512073365, 57645717,  453182029, 642808508, 267032139,
     661431775, 98515245,  687443981, 219809526, 5941969,   184355790,
     104594328, 0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0},
    {0,         8128,      44061888,  533330473, 854631933, 673745571,
     669927320, 811487488, 509292620, 555697461, 132980302, 284440576,
     442077204, 377955955, 252767023, 580002201, 579191781, 611274852,
     447525354, 793401633, 161894797, 294514569, 294853694, 648145655,
     602947836, 702010956, 275217155, 126162985, 501160091, 431256793,
     530598445, 475277170, 268127140, 834335672, 407789493, 683923250,
     46277062,  506598108, 381420656, 631012917, 592323984, 255179209,
     189940494, 516248255, 835656385, 407478896, 56941292,  938182910,
     357232393, 572423803, 29163910,  983667386, 809862068, 823095122,
     810625376, 938784652, 385140367, 395567791, 670333107, 15453088,
     77139767,  259169381, 547737163, 392993908, 312909719, 962621448,
     142128301, 330410157, 433443493, 3506889,   96295083,  336764168,
     990668398, 448510108, 164265182, 95241457,  236074616, 171848097,
     191868638, 926888739, 607319857, 612017159, 171345588, 124495243,
     108684172, 29157788,  676471448, 489430276, 70893768,  577257934,
     526187500, 746909660, 464073945, 121400384, 592560126, 492012018,
     990140131, 210554555, 345403271, 530034566, 899952343, 612840684,
     827736653, 268412656, 812254664, 621727630, 855704280, 649474159,
     889353056, 468378282, 537063008, 176638040, 903955318, 730592642,
     325908401, 438294812, 538609199, 624567985, 370743376, 542409076,
     19997421,  145651519, 140673606, 807927365, 899001927, 268810858,
     405356575, 539104360, 0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0},
    {0,         8256,      45460288,  497905528, 602033246, 908841156,
     895413389, 915022741, 267152113, 63320405,  472198601, 364784256,
     750160683, 806766198, 961586943, 888637638, 305917250, 571000621,
     282732628, 547310334, 34600044,  817691382, 129487248, 182023342,
     456090112, 143760438, 568657348, 845700743, 50426091,  626886328,
     905591661, 750185528, 609881798, 833961930, 812181011, 913756683,
     408227325, 308035946, 82267292,  960066147, 125209399, 767935609,
     407773188, 185854425, 413223104, 531661233, 132350893, 227865031,
     159932138, 579408688, 803678879, 569351499, 353792428, 176355895,
     893986673, 881960246, 676558287, 485701724, 479101315, 604939724,
     820284522, 182804144, 634908895, 577699436, 534608474, 735715066,
     48147540,  432434482, 313361145, 205122696, 91970732,  675170222,
     136144019, 716219297, 96296440,  753785744, 582886485, 927822352,
     759792453, 925734899, 438371862, 27158049,  347535279, 733350984,
     652486819, 354320866, 292194528, 726360128, 388439059, 879597040,
     756173552, 41427455,  132549311, 210682427, 152186074, 245813828,
     789890388, 511198220, 282717690, 523990196, 463329996, 562923886,
     518903183, 985910990, 362571410, 927868399, 524936774, 580674797,
     491566052, 988351212, 329410572, 469450016, 302942488, 944651193,
     181433029, 348888350, 629322361, 234500066, 717163773, 995186637,
     324798148, 759600989, 418335223, 642894857, 359452402, 398094288,
     769005878, 542880947, 826994960, 0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0},
    {0,         8385,      46891715,  738046733, 84881643,  998425964,
     453325949, 423118513, 381926770, 71925712,  637373348, 206330237,
     121285443, 921611054, 98947826,  514057470, 78159077,  647821788,
     244189552, 172738439, 556308325, 175658503, 991830727, 968326970,
     778808845, 346341920, 824484474, 241050366, 744290739, 542844995,
     501293204, 953847739, 427127073, 165890469, 729443770, 825960685,
     307714704, 560846415, 51617974,  555009010, 186955570, 267547618,
     427982007, 11545171,  761169586, 825656386, 177268661, 890956254,
     744339568, 227936360, 283506177, 15786862,  376842913, 980274096,
     273811224, 492781151, 908892716, 496906150, 735356907, 448702534,
     140924956, 32381713,  939326965, 189449524, 187422893, 586370408,
     600221188, 880711000, 271782304, 210738694, 984169221, 514284834,
     737264108, 169271824, 619051911, 799894184, 485579332, 255609921,
     397174835, 520211569, 744799167, 529882506, 18399925,  210491183,
     281924544, 168313629, 691053077, 48722730,  620803371, 867235485,
     726433614, 751833620, 147306285, 599523101, 310012279, 678512894,
     130045305, 271442427, 332593184, 222390539, 165178904, 724809510,
     388764534, 858744950, 323874537, 663196595, 852531296, 590706302,
     2449552,   358926680, 659593864, 99885682,  949768754, 865813329,
     913016707, 420789072, 447604694, 599591401, 381632989, 982039187,
     437952985, 862817259, 805869463, 803771152, 456633635, 219427927,
     183267173, 25819536,  443039701, 615794112, 0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0},
    {0,         8515,      48356685,  262408821, 21748417,  650336235,
     533522417, 830993120, 476460842, 26456288,  665823258, 79216075,
     491610712, 73219560,  592051192, 806507831, 156418118, 985183166,
     109213405, 670462545, 713634039, 375480589, 901661299, 828538463,
     807186041, 65699403,  257137906, 974177669, 516617869, 47323696,
     769466684, 306083169, 929029737, 697523948, 181781472, 438127690,
     818542188, 405772532, 79837660,  144345140, 240806657, 876782230,
     725783661, 279161146, 696881591, 687898452, 582316785, 426338548,
     512688868, 227055993, 919877107, 451136909, 526213031, 697958761,
     306752973, 914948220, 196886890, 230406379, 16829376,  577349751,
     439191839, 753452479, 74095103,  512245662, 334651572, 529865478,
     825601203, 88053214,  816374480, 481399003, 602521503, 655485753,
     647134096, 36955422,  956979497, 226751700, 986178524, 349896954,
     653781966, 479492519, 384416084, 658381917, 470438452, 543397301,
     587089629, 814293717, 943011666, 997299341, 686673381, 999229441,
     663067614, 231407560, 834921897, 265289529, 69401649,  154942852,
     796756501, 326012165, 596731325, 610245555, 751889832, 402315285,
     732242729, 896060674, 577885775, 656602362, 778294750, 516822676,
     246858010, 185059917, 741191499, 129319465, 783931729, 507116098,
     590202940, 535734193, 961561782, 361022607, 92509865,  227885702,
     727076713, 817408995, 817843363, 270008914, 457702119, 780522409,
     676646416, 215422203, 147808094, 535226987, 387251335, 0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0},
    {0,         8646,      49855718,  79848830,  763355646, 513263745,
     607740755, 450512939, 427310996, 553075267, 652336122, 992184845,
     297509428, 503587402, 433602707, 47507489,  686858358, 104031707,
     947867272, 283055557, 405591175, 684590338, 580326057, 220830910,
     33090427,  303752101, 736734464, 934054768, 465284317, 66966597,
     683314737, 923706447, 841978782, 619347467, 267276874, 693442998,
     327944269, 235704666, 958583895, 930800437, 182611895, 478966440,
     764003984, 843819096, 706472717, 842917020, 836678561, 389153769,
     338494896, 646360546, 535118525, 222895373, 374115008, 859009768,
     589146024, 635576655, 375533031, 786889945, 821654797, 69515858,
     330610723, 992757923, 662241367, 793812578, 839993068, 702105729,
     417820629, 232597705, 248422118, 588417183, 937174929, 628538765,
     907195147, 834445174, 493288156, 586155080, 547681719, 246165347,
     436684343, 862300386, 175044244, 946278311, 418508489, 473672057,
     458017774, 766832602, 946347909, 636989694, 581150166, 309360077,
     570975964, 684203670, 356618156, 746899196, 366638308, 830879692,
     315194280, 951252756, 18989957,  125379709, 432658498, 113613703,
     244826626, 608130516, 116971484, 218951107, 232553459, 458830801,
     358926145, 300875885, 667384402, 104870023, 828459546, 812445091,
     511906731, 599000258, 798555228, 379619638, 348583997, 308596054,
     341904682, 304169982, 902412767, 783587595, 479506642, 444825210,
     742248179, 982122518, 41877700,  635413384, 71027172,  110444692,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0},
    {0,         8778,      51389338,  199429210, 343266857, 840704397,
     180530178, 703151408, 629841146, 654792881, 332959014, 664647815,
     736713124, 190866564, 945975483, 614853551, 594159721, 205070766,
     201908004, 115149433, 564687139, 45703865,  487362003, 150091794,
     340040653, 343659588, 993097118, 565939829, 173744381, 675834271,
     744279952, 224509265, 660979726, 788395039, 785000907, 267584652,
     41444167,  266572425, 608379940, 25368084,  394598431, 208311009,
     272823989, 942479257, 299124459, 963253619, 461007581, 56603027,
     769822027, 993698558, 429113768, 94239164,  50457688,  766132025,
     196628204, 164203956, 624712853, 707309853, 542705629, 306904990,
     668431751, 671192481, 127380826, 288964852, 313672045, 572017855,
     773692069, 446135739, 959869903, 849151950, 420960483, 661514100,
     39156712,  557147436, 847199125, 123334094, 537988171, 781323829,
     874785430, 375598887, 281782146, 495568211, 431955045, 427374115,
     219453190, 834710723, 607890394, 294133542, 611193834, 440507765,
     82186648,  73841325,  254009283, 775440332, 491828261, 21516151,
     3234999,   836380045, 861085544, 499356702, 881524425, 973706669,
     157293892, 115863651, 530687188, 531184534, 831832528, 478777492,
     799744987, 555931107, 735117222, 225069404, 7715178,   853040958,
     310741803, 69058354,  119551247, 236775868, 331454705, 774290264,
     767904257, 787952914, 246545888, 995549815, 613104944, 566141040,
     851106324, 692209191, 149693946, 352062233, 103959430, 878870302,
     491150717, 0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0},
    {0,         8911,      52958073,  630420982, 529749482, 192393594,
     798717208, 932684503, 247032308, 395645541, 384972556, 994921777,
     566415981, 548014426, 702001258, 268216480, 503684083, 614777522,
     994691599, 580242007, 372706070, 284125674, 137256641, 166531020,
     293425782, 647843559, 807126503, 676300743, 266776866, 329923828,
     417293597, 328298718, 365165119, 365127905, 363278997, 911586482,
     559735984, 377235490, 122547997, 237547318, 678071234, 565613597,
     932458678, 689588313, 775318378, 318358019, 463001113, 342291962,
     865321136, 590631163, 258279978, 65346503,  234665362, 474986567,
     112129983, 990996949, 840587634, 329127996, 892768160, 576827842,
     211792989, 187893398, 833066674, 848766243, 799098812, 445362842,
     99153884,  896249497, 696387580, 681323446, 294157564, 718809631,
     609773214, 805120680, 851245966, 275319460, 159568707, 566028061,
     265224143, 545758970, 314033234, 760103670, 28913654,  897110649,
     266379729, 615624299, 479225203, 241395635, 673730409, 241234029,
     804111793, 310425232, 119763800, 406130167, 452497512, 362311518,
     511004368, 290215179, 685196543, 178784489, 737144618, 277482187,
     645558981, 90793489,  253094949, 57209124,  780890999, 479262994,
     935927256, 55339398,  684903520, 976718289, 69400859,  817588812,
     550446329, 760274959, 245998433, 588641892, 299108971, 870819832,
     372755627, 868539105, 221556560, 108870257, 58625810,  523103351,
     383845282, 20453831,  157721100, 431565345, 859248039, 919700223,
     844410452, 99220614,  0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0},
    {0,         9045,      54562455,  382306907, 878826886, 450740452,
     538865814, 213106099, 121496168, 789620293, 396949594, 292299014,
     854250673, 411568939, 23153221,  269347717, 291931927, 410749146,
     406892576, 824487572, 427100229, 634468227, 437698236, 847869117,
     42696534,  154730965, 59845803,  387830423, 863923512, 516949379,
     987781232, 964218580, 771777617, 610371872, 100077379, 797689819,
     80094394,  855218769, 846337376, 624184513, 573215534, 707268613,
     243281529, 291350116, 875106542, 613379745, 132237916, 486031525,
     39030308,  587776766, 129941287, 771359676, 499272583, 31054039,
     350772387, 677456831, 813478872, 388203186, 214163431, 482758506,
     729115331, 774832292, 977469565, 531493924, 709681844, 576159980,
     999260467, 20148871,  887584198, 4466449,   772167387, 284827890,
     689559183, 120393457, 10949251,  757305491, 599713467, 258154828,
     614423569, 920019965, 568751490, 533485379, 978548208, 51146085,
     919584080, 21754633,  502863730, 463845668, 603541022, 870857990,
     143081525, 228819048, 136005109, 52976731,  470980970, 971651867,
     235336855, 405171630, 708200295, 553113077, 223428859, 706367575,
     403126871, 231547157, 149585655, 63311946,  582755049, 190374100,
     989161108, 589552012, 34582938,  881936137, 444964402, 621895118,
     545926192, 249444850, 387726341, 832837324, 50360243,  17843513,
     751714395, 86728753,  968214108, 817126364, 823460751, 987448567,
     530931429, 349714863, 150510510, 581376362, 600069161, 45491948,
     687371360, 442366327, 977475057, 0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0},
    {0,         9180,      56203020,  464784707, 788538163, 436115679,
     767633794, 980589661, 909746386, 950058418, 819553082, 119943695,
     139487402, 785213542, 560234369, 533408932, 199136156, 233696224,
     451139276, 457884394, 946354322, 28093677,  777458432, 120184708,
     18921032,  840486151, 20156858,  292869862, 221654906, 555947336,
     518008285, 521925917, 40804557,  248012102, 216774892, 688562426,
     904384888, 899596539, 963888579, 999171865, 767026238, 706374508,
     657532349, 460052486, 863686279, 828039769, 682969393, 467404169,
     163450453, 987786441, 501803357, 915160154, 213777938, 771400687,
     16862238,  887332915, 357726784, 27498927,  532228747, 618323775,
     519400178, 328199647, 327359497, 806631050, 710147131, 592271450,
     853269533, 370283318, 147161718, 137120467, 981073466, 606573862,
     435338437, 186917112, 459949112, 348346278, 974944795, 997688948,
     396012916, 271247554, 580758038, 891724448, 27365942,  677122289,
     907762620, 230237845, 951717927, 987908625, 33966435,  833001543,
     612149286, 225220242, 447603546, 594451951, 92149577,  360001042,
     786738116, 88692497,  401967500, 967363705, 96058566,  906732920,
     539335555, 790007884, 367710997, 264891770, 734617407, 345714466,
     243318528, 540292127, 150645224, 152280460, 193678335, 62239572,
     920596906, 854327916, 381455002, 218400265, 113186933, 289810667,
     623803089, 719927297, 993259555, 18343450,  496624562, 287309735,
     725243460, 71370920,  730027161, 514034751, 156889349, 582042043,
     592865231, 404337846, 228350486, 267276480, 0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0},
    {0,         9316,      57880308,  887770268, 554423829, 411287090,
     989770708, 77443984,  132511550, 949916980, 810395173, 420711013,
     179314632, 310630461, 260092056, 681701753, 645503383, 598403675,
     9177742,   607648614, 809985618, 927562980, 850369553, 779977528,
     818792158, 338848225, 165103189, 523051884, 544539988, 940006777,
     597566172, 809065635, 199199252, 980650822, 397915289, 835673657,
     714146239, 412855580, 404172646, 95227768,  515635417, 768697423,
     981736115, 909579970, 311109861, 305520415, 292036606, 155669848,
     197385767, 198736472, 966135696, 182241121, 283070081, 540030963,
     576198161, 602664650, 171764122, 676269211, 211039870, 395499014,
     921234984, 357213117, 983665765, 492291783, 770407227, 148654012,
     888387717, 15516060,  754800520, 434794269, 52865252,  126837349,
     561262951, 714497626, 18632701,  654890498, 484415914, 43008027,
     621296804, 394844856, 939812447, 715070953, 978247429, 768288318,
     997687672, 564650624, 557378763, 94618367,  71352398,  793523851,
     964081899, 766532319, 455171162, 608577629, 339113761, 561933151,
     358989901, 329332848, 239749411, 667271555, 773611246, 494202009,
     211401419, 332749421, 720235285, 772339193, 489935824, 999243958,
     841335927, 57167982,  341679852, 313583721, 663693755, 774620293,
     337775129, 903214254, 761704063, 848092065, 216052952, 140150125,
     478075332, 385955244, 690577314, 917752943, 662184703, 912005339,
     186627115, 376342080, 64887731,  406379446, 422999181, 896852103,
     479115212, 566457927, 694036476, 588780822, 295348265, 0,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0},
    {0,         9453,      59594863,  661400888, 426255733, 771831967,
     95390923,  322963311, 884295944, 238240369, 314104552, 823521026,
     13088057,  855630024, 566616555, 194131042, 598687333, 371254797,
     767802460, 33574381,  532485367, 147993127, 96851200,  187378655,
     814483976, 965749804, 137638318, 521149,    204812939, 151717149,
     148128569, 676865157, 44606731,  328142659, 179101650, 610899127,
     941304892, 217464865, 362627894, 538058789, 604554492, 269166306,
     197701686, 259423942, 779474536, 493035623, 524593591, 382635689,
     641934999, 202928673, 349602249, 593637761, 439678943, 209612799,
     217329810, 992479752, 402416119, 546839414, 940016229, 968522623,
     1939698,   354669366, 709630981, 597959614, 528138854, 776197946,
     351241850, 389905850, 792023240, 968583172, 901847309, 419337215,
     12687536,  969290954, 532709056, 674738046, 358213173, 111409576,
     524367712, 611737194, 475113691, 978180596, 380499437, 320021982,
     185781853, 75149362,  737275446, 816934550, 85812245,  307670199,
     74901035,  713368708, 948746086, 379931506, 444121570, 339090139,
     890201449, 950772565, 465195874, 847775752, 297027198, 437840044,
     493307474, 455226281, 443997877, 569933455, 311911238, 594032275,
     878407358, 186427336, 166536895, 103518375, 564566898, 327033102,
     449629169, 587004693, 260568574, 748747042, 643018222, 803725021,
     567833278, 622230077, 14692306,  546710619, 110392973, 873485211,
     44792684,  521435506, 570544395, 663688135, 113712276, 107976428,
     291372700, 486229981, 129875855, 689402111, 802340820, 874017109,
     0,         0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0},
    {0,         9591,      61347233,  796038570, 666029671, 225988507,
     325220097, 628538765, 873454024, 488858724, 693506692, 117477903,
     13936876,  683216978, 837126780, 418278638, 50241245,  516536196,
     907875179, 19556756,  974175577, 429554129, 620592676, 379340543,
     363698763, 848652409, 563757512, 269079521, 673620663, 945511078,
     162099649, 73797511,  149832583, 427202442, 417636010, 133546809,
     811829580, 88694591,  437136057, 917411381, 93896256,  906641503,
     418087084, 655867452, 958954861, 53543831,  569091039, 912140761,
     276230450, 999344223, 548587740, 463461078, 642761389, 930830494,
     954422187, 226976706, 818194434, 74079335,  815334212, 706393498,
     7405845,   405064004, 93048911,  513958927, 926323933, 588774566,
     834114707, 4587373,   982002918, 659093061, 99549822,  774160808,
     543626744, 386245390, 358444644, 684649375, 26637173,  806540691,
     988930850, 489929001, 603334247, 178965025, 580417035, 783505367,
     307881290, 679248183, 707164186, 522580452, 516473878, 883285713,
     378026015, 530695515, 399935579, 89266763,  262152118, 655338009,
     967242067, 732449611, 342296055, 328864855, 660861690, 526412485,
     283002810, 72466565,  607666374, 947389163, 510685417, 952875985,
     546879485, 836248538, 913937179, 197327412, 893490056, 417261748,
     92718265,  290091350, 721521507, 83326930,  496953283, 619698103,
     424940993, 403912440, 428208279, 490543943, 950177414, 6287452,
     189087799, 290005782, 456334093, 306743659, 144367314, 670375514,
     33313624,  404292961, 865890215, 901640779, 168065716, 216676125,
     184352515, 0,         0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0},
    {0,         9730,      63137970,  302273290, 607239289, 774139583,
     823379560, 967629287, 632220289, 502383606, 683612974, 669943534,
     80375218,  281609605, 385022892, 175909932, 853988886, 986240953,
     121406269, 931729454, 466817496, 2730627,   39683225,  301359294,
     834998610, 933209616, 545875236, 410167115, 111473544, 879221458,
     826020924, 47120767,  584270390, 537654429, 831049975, 226977213,
     561540873, 335660027, 443349648, 96773538,  804943455, 58197850,
     82893154,  184126591, 842626469, 380989862, 452008960, 337724834,
     223266202, 457883914, 139032621, 439935622, 791959136, 538523738,
     889532112, 44470864,  130497993, 423113746, 68013090,  537198837,
     315277183, 282861312, 782563436, 777908653, 552647418, 43456786,
     921787030, 830310385, 770378948, 459806216, 707673168, 703543634,
     434779014, 535851282, 127611078, 788521602, 475984630, 491404509,
     527055160, 296658342, 618638063, 605354658, 661299180, 130013293,
     396034771, 904655882, 450099788, 238018506, 525632912, 809899600,
     140947902, 400586060, 320061143, 895396380, 19180224,  287021347,
     99231687,  828220035, 458336833, 286987294, 573165616, 955484919,
     635820291, 163228600, 246819,    740680482, 192541962, 963974540,
     281309884, 906659141, 499986664, 493121462, 523620142, 845180939,
     547012462, 15559463,  550236503, 44157622,  49530342,  436761385,
     774322154, 680999222, 415110559, 161693737, 624259466, 712007537,
     107006494, 359251621, 813634723, 843986094, 328813201, 300063211,
     193166574, 360073769, 446667559, 54346245,  496716916, 521333082,
     632384819, 533089914, 0,         0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0},
    {0,         9870,      64967630,  190926345, 715450039, 804951637,
     776060532, 782326466, 355412167, 174265865, 176185640, 638606368,
     307904726, 259058589, 132497260, 703169102, 388555341, 674336124,
     107053224, 377944518, 125328207, 509077529, 878817706, 694058472,
     755699560, 624456281, 675598523, 26120105,  830404184, 985270632,
     711097365, 582892668, 7176392,   882022050, 280505290, 531597771,
     385483904, 873149169, 196025195, 244962202, 243367025, 134880637,
     818534864, 796301535, 768033338, 148361611, 671536310, 77985516,
     159020746, 95637271,  321551861, 346898926, 344427180, 70775659,
     725104942, 901740928, 974267668, 19503744,  82281047,  526654744,
     571623239, 542516445, 767422538, 803714499, 818460073, 391669930,
     717631422, 125556636, 351291067, 144439828, 111548901, 711797183,
     10225115,  21951727,  431399866, 444002291, 635845617, 477089679,
     373801679, 245855780, 295935396, 413529945, 579691066, 949868123,
     557771650, 115240770, 950920425, 999340234, 306549891, 139450771,
     276235466, 833737933, 496932031, 834300889, 938716630, 788545785,
     634691732, 397107399, 124296155, 904708740, 149353037, 815049911,
     513227787, 496206395, 638289552, 748432390, 854652938, 46939690,
     353676541, 472230050, 667242939, 531565890, 821947706, 343688059,
     356182644, 318716077, 373710985, 339143070, 582370301, 534925884,
     240206782, 253387728, 350752958, 118430311, 577141062, 661567267,
     787656561, 699253185, 168406791, 298434842, 262039896, 868875377,
     222445692, 181191663, 863284505, 698363252, 822038429, 770975057,
     282433617, 790360149, 24144119,  0,         0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0},
    {0,         10011,     66836773,  473053676, 650192011, 632121129,
     875767066, 983067737, 549759353, 456564027, 266540058, 424573886,
     836900167, 637780788, 807731767, 611422403, 348991854, 643908158,
     683774489, 555723210, 774592980, 829104071, 639845103, 318632516,
     83402822,  958394021, 190687117, 839973709, 493743306, 617061803,
     761527511, 52040369,  203498342, 696642484, 183803069, 468358992,
     528946317, 168007874, 241390570, 789036910, 265552508, 427323044,
     485856262, 502872090, 293916563, 567332033, 18381724,  676656747,
     930197834, 638541180, 24274195,  40402031,  788755298, 65919319,
     458249859, 800176690, 108936028, 691546428, 413906580, 931267217,
     740882144, 185808591, 928149918, 353143483, 805111670, 207178339,
     740026619, 549851571, 49216117,  66400251,  556972202, 618737029,
     730722175, 16717821,  418447125, 723198295, 747294578, 962159107,
     209054340, 591254140, 684614429, 270050124, 246537892, 616559262,
     390194932, 722530914, 487757714, 645656965, 141966593, 428290683,
     61770038,  455903370, 750980385, 529228776, 232441178, 40453327,
     413999265, 901806481, 81877643,  413787535, 94904116,  77296350,
     858045613, 566662757, 712183897, 261387270, 854640520, 382130573,
     397173139, 449654702, 282830114, 297478097, 787070445, 961909707,
     680694925, 899942530, 959125520, 173076564, 789674154, 208683590,
     652825006, 886603101, 662441836, 814942792, 995966350, 833345519,
     414047557, 668653276, 481020397, 704055696, 533425071, 907655569,
     615979679, 794122838, 194809007, 293846760, 16095355,  856785000,
     935758225, 559523453, 262432204, 188788378, 0,         0,
     0,         0,         0,         0,         0,         0,
     0,         0},
    {0,         10153,     68745963,  159949236, 328190698, 802710210,
     239795322, 810139612, 123446297, 228660811, 432942207, 691375083,
     428263787, 669130917, 708242041, 651787239, 488688161, 584027595,
     651851504, 355847748, 368610517, 823158990, 337870347, 249670073,
     173373825, 748677270, 59526994,  107775777, 377921114, 562299150,
     482373631, 475157037, 101109085, 154801215, 381078559, 425234134,
     414533158, 8727982,   456100815, 600368307, 965710205, 392416976,
     577080424, 741812331, 237836594, 81306901,  356541237, 866048645,
     967552865, 121568152, 298952269, 455204170, 929094634, 122222133,
     100553109, 433027432, 152208530, 621429915, 797232909, 366034568,
     905825350, 502449573, 639963561, 238140621, 774815186, 975372211,
     355111111, 42741356,  723800693, 624288618, 464118094, 903915042,
     708234615, 648692132, 162901616, 127119643, 276316908, 769373665,
     564397317, 738292443, 822185045, 5184622,   436946455, 86785199,
     723549817, 346024418, 791519960, 434727015, 164661155, 99796675,
     564902600, 958578665, 402698488, 195952675, 961482932, 63348478,
     345362385, 896879753, 355071029, 911539793, 170449220, 438186251,
     799896582, 575469162, 788059994, 683744902, 545545272, 878110194,
     709188173, 652682685, 16291282,  144627540, 202574496, 502143187,
     464457230, 323192145, 849873720, 732912644, 653692598, 521919188,
     752336074, 493945413, 136973132, 339820699, 252390250, 262585375,
     478028739, 590010720, 821999635, 432021754, 302772853, 415771342,
     940717771, 879200962, 122253714, 357478892, 676604457, 907956815,
     953112302, 170562476, 889128291, 493026184, 185360597, 0,
     0,         0,         0,         0,         0,         0,
     0,         0},
    {0,         10296,     70695768,  263148403, 987954817, 515183996,
     983894947, 787978087, 569033243, 225961547, 221404434, 677419511,
     404472433, 731464682, 685569470, 146896841, 22177154,  323487905,
     103733334, 984742898, 38153702,  196868280, 235759997, 247443622,
     856984247, 78050005,  729889586, 483167628, 85220267,  573319308,
     891638980, 204505836, 399865476, 797828809, 860257926, 891936554,
     314516352, 759731053, 524818647, 586688632, 615185618, 649704662,
     324426234, 553880207, 288098056, 669143586, 893190248, 944434409,
     638852480, 825348457, 431703776, 804092065, 469794377, 909608633,
     3072136,   349181386, 568710986, 427405022, 565932767, 529876778,
     220289960, 985636380, 589204669, 123171899, 395606571, 816901689,
     6626284,   302829126, 315499808, 432024291, 461980419, 405236981,
     164498798, 886209612, 730950183, 49035797,  632001795, 179071910,
     147324162, 287177703, 330461453, 582144801, 145750600, 842711873,
     79290553,  653424183, 10145059,  604391783, 664938405, 298732891,
     841777897, 103998431, 894748907, 104821963, 871875892, 371793311,
     860975733, 856223496, 40623704,  686622585, 107982401, 782354316,
     677858360, 31343552,  202800297, 736753359, 586828594, 846725832,
     85487178,  720767911, 343469558, 191240159, 344982358, 557290942,
     696838352, 460052922, 627434958, 175736220, 948883922, 896720259,
     867595554, 877728154, 192363557, 203550149, 35597884,  574282436,
     626928474, 595496270, 188176277, 513158579, 157637485, 468065574,
     754585162, 776976033, 890453345, 901483747, 329356087, 70380624,
     715344474, 358237746, 33469277,  84309589,  908090339, 647450170,
     0,         0,         0,         0,         0,         0,
     0,         0},
    {0,         10440,     72686760,  794431375, 255740424, 492494007,
     443763450, 382438528, 392519363, 584433418, 1562487,   326893918,
     786435056, 769572369, 826912317, 187294128, 492763881, 728570405,
     662454872, 381536568, 719633898, 975514142, 493972114, 751780044,
     440259420, 965962452, 114721716, 775567443, 314727765, 103922791,
     728720588, 935142650, 640956360, 465720310, 683736692, 580671428,
     211577103, 210193486, 720003032, 4412914,   859429216, 4402767,
     104110306, 896935973, 763710548, 582892261, 155872371, 112730813,
     621267380, 846316273, 838183381, 471418548, 686822566, 754063827,
     13980708,  900736326, 886456311, 270329350, 59924111,  19021976,
     641664723, 817582620, 580769861, 781835362, 932105649, 534331274,
     170326646, 907474703, 49168651,  555209581, 415539393, 209765623,
     840989147, 165267040, 163153046, 108353329, 722167526, 29854731,
     766904633, 901629246, 786006175, 393871105, 34097495,  251262455,
     216004766, 248890035, 96176629,  81531240,  774402372, 901911563,
     13327249,  927908332, 856495542, 865040816, 35270475,  52358540,
     787907744, 23450387,  675555624, 788083518, 257123414, 623138050,
     686276691, 44572544,  389352250, 505004325, 696810735, 802499141,
     645526938, 269758175, 622645058, 164370345, 953983016, 682091222,
     802437385, 368043156, 774375421, 587076197, 832459686, 711568501,
     510546969, 266698317, 189514904, 280986333, 721597963, 350292575,
     960584423, 614076643, 24729563,  205174714, 65501946,  499897740,
     738874049, 175751341, 968779656, 687109541, 969220127, 776615002,
     281778385, 487920529, 521405050, 941315070, 39754516,  952291117,
     224966740, 0,         0,         0,         0,         0,
     0,         0},
    {0,         10585,     74719515,  765826610, 212910872, 662886853,
     584808879, 763774182, 64595978,  270394926, 630215717, 795920489,
     26642909,  137301061, 785893248, 138102986, 917092022, 867367140,
     654004817, 8230019,   56734426,  199936247, 377142804, 257247191,
     680652291, 898316077, 49781868,  14338973,  142187807, 781940863,
     209354840, 956689326, 959642978, 318008777, 34365653,  945306973,
     206858055, 892784879, 175942645, 470256338, 955191718, 780796763,
     640501373, 102895673, 282859719, 310635947, 218750111, 338275467,
     430724652, 387846189, 811166048, 122182002, 918812281, 85789391,
     983207723, 197980785, 269251009, 531678959, 556352072, 507142430,
     599181389, 348098521, 763245209, 63500292,  411370160, 583746005,
     77749282,  772313545, 784573865, 495559219, 283661663, 260334539,
     763071724, 955797845, 517212962, 940323007, 651895156, 148210314,
     301722793, 871949944, 977422757, 731078157, 706754818, 488798798,
     427015366, 975504599, 366385145, 546977983, 32298508,  936927506,
     796645270, 836150128, 842917996, 319075542, 905234351, 387379369,
     109219215, 364280582, 158123253, 823125995, 51038046,  65700931,
     243698279, 551151644, 997202867, 959308893, 384375964, 871376125,
     700845507, 745715635, 519569370, 203834215, 475639578, 383494499,
     992558202, 937730706, 615378170, 330102036, 723837840, 932865142,
     490981242, 840284897, 727054709, 805997134, 113561720, 614381792,
     28539852,  325098591, 781544842, 553309414, 732185437, 312453286,
     115552850, 313035773, 429153502, 316132891, 856111847, 315741664,
     793761183, 634397338, 600568000, 888278627, 605207069, 932534734,
     98081586,  10006277,  0,         0,         0,         0,
     0,         0},
    {0,         10731,     76794613,  189614304, 464711968, 8555112,
     481647128, 889779818, 332594505, 921976405, 218391396, 409915736,
     630946387, 380013801, 350925034, 81200898,  32256018,  351094825,
     377362356, 419063703, 379020363, 961947610, 58538912,  801089253,
     771492985, 683872040, 292742915, 122539019, 744958531, 245264390,
     390074205, 649463686, 229839726, 712618599, 65865705,  40230151,
     626287127, 151884582, 540499725, 63099864,  178426516, 740045245,
     928829777, 563598859, 431244212, 758039889, 987126448, 224970674,
     892472072, 597328249, 607659028, 927712570, 428218968, 327093164,
     839418256, 862311501, 528081946, 693242914, 678007021, 789049601,
     175400854, 338026168, 332957793, 486173553, 907670721, 416413765,
     966002645, 104736125, 753387876, 575575484, 402469313, 918420756,
     16005516,  810281269, 147501382, 641580941, 649912741, 600464301,
     567610432, 170127717, 265422340, 134447836, 410159600, 605930394,
     888156591, 17630485,  162704978, 435591014, 798802110, 478312372,
     489940308, 484878216, 303490578, 368200478, 521546489, 720479187,
     430317484, 606002952, 800351555, 288001784, 611863796, 54759232,
     278023777, 440756403, 130644509, 551997635, 2333815,   711799461,
     834331405, 471352823, 204979417, 68028545,  884437792, 146447723,
     25633292,  452614339, 224758981, 538850913, 404417046, 729699331,
     888388236, 673543488, 491660509, 359672314, 823727529, 514218998,
     711044136, 174253041, 542628921, 838792876, 521221565, 960316104,
     54089722,  814000662, 613831899, 175727605, 431504527, 932775880,
     269412214, 919059746, 591032317, 130822942, 960966102, 687621288,
     235956301, 88653036,  157975247, 0,         0,         0,
     0,         0},
    {0,         10878,     78912638,  78329879,  210482185, 949788902,
     920769002, 350909844, 709331731, 275768807, 560684320, 800855652,
     684351721, 213383690, 578204361, 401646142, 263779735, 682372503,
     191674347, 426172315, 556883168, 219631075, 231522473, 763703549,
     636774335, 13754862,  746887425, 846535095, 973869221, 996915294,
     721650481, 959171647, 796331705, 41952557,  231590066, 457387813,
     796338870, 204011669, 644819594, 798307519, 10018452,  525608654,
     603150424, 62475203,  276866181, 557326188, 157893426, 433933334,
     351730435, 141378395, 86117292,  13384347,  959245307, 461093431,
     440378760, 841548124, 757627088, 652582689, 475956763, 922827156,
     912086665, 789185492, 622090968, 537874788, 290779456, 68941091,
     469745270, 408331320, 593153368, 388667576, 354113993, 24610356,
     142326446, 840153447, 637413239, 518549279, 926013624, 921988149,
     540969685, 479042120, 272627275, 760784199, 8945394,   647214013,
     658536061, 395142538, 212372338, 721087391, 364434864, 395491840,
     82701015,  795152988, 491930007, 193720221, 868195879, 515139011,
     130985538, 237023970, 744298371, 74720101,  201040819, 883127153,
     905178328, 735837732, 334516840, 284887146, 472939563, 130421066,
     206149168, 261719816, 791659718, 33946279,  656298268, 11601265,
     918693778, 895470786, 147744432, 85322097,  799972647, 322445626,
     358203592, 631086991, 23775069,  433410966, 243132458, 859120026,
     455180838, 519052992, 893114827, 944633566, 123073345, 246731025,
     755581876, 559356523, 625010630, 381492835, 83144711,  889057140,
     623508593, 993150418, 179144969, 967999273, 181911981, 432491350,
     811253558, 997398318, 800339530, 834524391, 0,         0,
     0,         0},
    {0,         11026,     81074178,  444767481, 315317690, 639932669,
     220931019, 433509690, 913233326, 893277357, 973632048, 209908575,
     231602351, 14996029,  313996292, 772666960, 236955071, 678818095,
     417447603, 49273338,  556881901, 765971051, 382412766, 938948623,
     738926536, 926827777, 771953913, 599500765, 946052556, 808007633,
     507919201, 786637934, 56072534,  825393973, 548250092, 718496711,
     979256672, 101992867, 791389052, 410002520, 563212087, 654009019,
     272652411, 290473625, 814821318, 841731849, 39506803,  167757440,
     360220951, 601125362, 163462535, 551818519, 826050914, 729662691,
     782373425, 569641842, 345825514, 367969808, 262388642, 82040700,
     161420159, 47746611,  329432468, 330947302, 147558894, 220581436,
     537954086, 74523394,  359121527, 742645326, 436650391, 333742070,
     840976849, 992650904, 881655339, 870040350, 881383667, 35447189,
     753634343, 471533701, 565902823, 635287511, 371146696, 104206064,
     974944011, 844920393, 597497254, 24035915,  828040798, 894752379,
     868111887, 135403272, 154550687, 644541651, 806293787, 467059332,
     42582221,  281011302, 135862659, 565561415, 545526014, 960726342,
     629766143, 791101315, 760735911, 214550416, 644191492, 458916096,
     782921081, 787362426, 56405622,  149117435, 445779762, 744840128,
     160350054, 5766489,   533750143, 767368883, 154298619, 312400720,
     121850974, 277725676, 279198809, 230743510, 795213982, 110930202,
     683181397, 711829009, 631680776, 709030510, 763876870, 44207057,
     567936052, 801028851, 416469676, 723236981, 744338614, 419636797,
     244737130, 99418333,  891737693, 210821698, 410972938, 71984146,
     464846486, 442731333, 221024209, 88519481,  384546895, 0,
     0,         0},
    {0,         11175,     83279825,  301983516, 383212113, 554203504,
     314836283, 191480991, 366917874, 49265144,  287467249, 610143965,
     479630130, 93480662,  195087127, 483462987, 154064930, 276433275,
     74374302,  900036308, 572101249, 285882548, 313837633, 337315868,
     423502251, 223943193, 36845201,  337516042, 325323010, 240538979,
     358594567, 172832591, 310011807, 364798308, 431379321, 265084757,
     296971329, 177008219, 353647686, 994713289, 770889637, 335800256,
     440565803, 166299166, 559664312, 427056354, 432385303, 391787002,
     957030657, 396441389, 193114501, 772577697, 198425702, 779118254,
     169285502, 139332621, 999024553, 850161716, 199638241, 587382366,
     892654195, 673900342, 55694924,  964149297, 852827533, 443564197,
     245023977, 714944181, 459870643, 391792539, 160977092, 535085780,
     348252876, 292568125, 319512352, 675912490, 611827677, 355819717,
     964119304, 625581542, 963606955, 360050977, 467435764, 827885757,
     473192584, 949213672, 166502131, 769047779, 331846198, 555774498,
     927942297, 236466044, 131603491, 862030509, 271439229, 351462399,
     886431552, 841440067, 446105639, 5569918,   89654831,  114309354,
     426132409, 697578586, 29484540,  470388744, 780152557, 394239554,
     435485280, 952797005, 729721440, 56324089,  868827708, 139578022,
     951506987, 1614616,   113685518, 210497181, 2569170,   101429293,
     516566212, 778564979, 557036444, 837834986, 567267647, 404174504,
     718407815, 877108084, 655834394, 828079065, 228755828, 377026980,
     436632606, 485380219, 917600550, 690259201, 199480823, 306390970,
     763900564, 277566102, 601419246, 285268249, 825708541, 994280970,
     317849065, 37545949,  269553298, 435388754, 518999557, 887436798,
     0,         0},
    {0,         11325,     85530175,  663300231, 831691223, 763284303,
     31850153,  854390473, 730174990, 277386872, 575818764, 711400552,
     682327596, 18940386,  222164037, 889888007, 23545703,  754297832,
     94572934,  647982208, 674108561, 253720549, 485224995, 160053060,
     286575161, 440380022, 108753249, 615100910, 339871301, 34652711,
     919492819, 183220866, 598361579, 767262757, 837749952, 43515560,
     480429982, 663131695, 203638952, 476766860, 548450152, 74656020,
     791064663, 804716936, 663975725, 937660096, 793430383, 422744057,
     468472414, 444739737, 981376200, 346872636, 335617957, 385838470,
     861087587, 77118391,  154894718, 826211466, 903319449, 74463253,
     337275586, 157220482, 383682062, 221782898, 460046446, 428035549,
     147508269, 303462070, 536658530, 745133540, 682785355, 783979930,
     505918021, 691098743, 646633451, 450411705, 543502005, 527396912,
     274852762, 567651919, 46830102,  616595037, 957215079, 623836197,
     890472565, 351654840, 952225165, 475635038, 554144848, 418344398,
     668002445, 627253211, 846105441, 590950459, 79774132,  206801415,
     440118402, 704781419, 444845164, 849184596, 614859099, 131505531,
     358671042, 206215396, 63673484,  381910173, 132638936, 98053525,
     119080228, 157587740, 452711079, 965768160, 719056309, 34347347,
     54521903,  99507190,  237828018, 788800909, 284325332, 737941890,
     824697581, 902113415, 191924314, 892288511, 639688001, 248839463,
     824982503, 827506348, 270155645, 116536879, 944262512, 908725452,
     70391344,  583832432, 617205312, 36955194,  875179134, 210071127,
     736548273, 104570654, 738447991, 744932931, 261621984, 477802387,
     717658123, 663552328, 439079683, 651191869, 590566992, 661820294,
     498249215, 0},
    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}};
int main() {
  cin >> n >> m;
  if (n < m) swap(n, m);
  if (n < 107) {
    int ans = 0;
    memset(d, 0, sizeof d);
    memset(s, 0, sizeof s);
    memset(d1, 0, sizeof d1);
    for (int i = (int)(n)-1; i >= 0; i--) {
      for (int r = 0; r < (int)(m); r++)
        for (int l = 0; l < (int)(r + 1); l++) {
          int cur = solve(i, l, 0, r, 0);
          solve(i, l, 1, r, 0);
          solve(i, l, 0, r, 1);
          solve(i, l, 1, r, 1);
          ans = sum(ans, cur);
        }
      for (int lt = 0; lt < (int)(2); lt++)
        for (int rt = 0; rt < (int)(2); rt++)
          for (int r = 0; r < (int)(m); r++)
            for (int l = 0; l < (int)(r + 1); l++) {
              s[lt][rt][r][l] = d1[lt][rt][r][l] = d[lt][rt][r][l];
              if (l > 0)
                s[lt][rt][r][l] = sum(s[lt][rt][r][l], s[lt][rt][r][l - 1]);
            }
    }
    cout << ans << endl;
    cerr << clock() << endl;
    return 0;
  }
  cout << Z[n - 106][m] << endl;
  return 0;
}
