#include <bits/stdc++.h>
using namespace std;
#define for(i, a, b) for (l i = (a); i <= (b); ++ i)
typedef long long l;
const int mod = 9999973;
l n, m, ans;
l f[110][110][110];
l C(int x)
{
return (x * (x - 1) / 2) % mod;
}
signed main()
{
cin >> n >> m;
f[0][0][0] = 1;
for (i, 1, n)
for(j, 0, m)
for (k, 0, m - j)
{
f[i][j][k] = f[i - 1][j][k];
//不放
if (k >= 1) f[i][j][k] += f[i - 1][j + 1][k - 1] * (j + 1);
//放1个在有一个的列
if (j >= 1) f[i][j][k] += f[i - 1][j - 1][k] * (m - j + 1 - k);
//放1个在空列
if (k >= 2) f[i][j][k] += f[i - 1][j + 2][k - 2] * C(j - 2);
//放2个有一个的列
if (k >= 1) f[i][j][k] += f[i - 1][j][k - 1] * j * (m - j + 1 - k);
//放一个在空列,一个在有一个的列
if (j >= 2) f[i][j][k] += f[i - 1][j - 2][k] * C(m - j + 2 - k);
//放2个在空列
f[i][j][k] %= mod;
}
for (i, 0, m)
for(j, 0, m)
ans += f[n][i][j];
cout << ans % mod;
}