#include<iostream>
#include<map>
#include<string>
using namespace std;

long long stir[10009][10009];
long long der[10009];
long long n, m;
long long nrMod = 666013;

void stirling() {
	stir[0][0] = 1;
	for (int i = 1; i <= n; i++) {
		for (int j = 1; j <= m; j++) {
			stir[i][j] = (j * stir[i - 1][j]) % nrMod + (stir[i - 1][j - 1]) % nrMod;
			stir[i][j] = stir[i][j] % nrMod;
		}
	}
}

int countDer(int n) {
	der[0] = 1;
	der[1] = 0;
	der[2] = 1;

	for (int i = 3; i <= n; i++) {
		der[i] = (i - 1) * (der[i - 1] % nrMod + der[i - 2] % nrMod);
		der[i] = der[i] % nrMod;
	}

	return der[n];
}

int factorial(int n) {
	int res = 1;
	for (int i = 1; i <= n; i++) {
		res = res * i;
		res = res % nrMod;
	}
	return res;
}

int main() {
	cin >> n >> m;
	if (n < m) {
		cout << 0;
	}
	stirling();

	cout << stir[n][m] * factorial(m) * countDer(m);
}