#include #include #include 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; } } } 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] + der[i - 2]); 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); cin >> n; }