// mcc.cpp : Defines the entry point for the console application. // #include using namespace std; int i, j, cnt; char car; #define MOD 666013 long long putere(long long a, long long b) { if (b == 0) { return 1; } if (b == 1) { return a; } long long s = putere(a, b / 2); if (b % 2 == 0) return (s*s) % MOD; return (((s*s) % MOD)*a) % MOD; } long long factorial[100005]; long long al_doilea[100005]; int main() { int n, m; cin >> n >> m; if (n < m) { cout << 0; return 0; } int i; factorial[0] = 1; al_doilea[0] = 1; for (i = 1; i <= n; i++) { factorial[i] = factorial[i - 1] * i; if (i % 2 == 0) { al_doilea[i] = i*al_doilea[i - 1] + 1; } else { al_doilea[i] = i*al_doilea[i - 1] - 1; } } //stirling(n, k) = wikipedia ;) long long sumex, sumfinal = 0; for (j = 1; j <= m; j++) { sumex = ((putere(-1, m - j) * putere(j, n - 1))%MOD)%MOD; sumex = (sumex*putere(factorial[j - 1], MOD - 2)) % MOD; sumex = (sumex*putere(factorial[m - j], MOD - 2)) % MOD; sumfinal += sumex; } while (sumfinal < 0) sumfinal += MOD; sumfinal = (sumfinal * factorial[m]) % MOD; cout << (sumfinal*al_doilea[m]) % MOD; }