// mcc.cpp : Defines the entry point for the console application.
//

#include <iostream>
using namespace std;
int i, j, cnt;
char car;

#define MOD 666013LL

long long putere(long long a, long long b)
{
    if (b == 0)
    {
        return 1LL;
    }
    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] = 1LL;
    al_doilea[0] = 1LL;
    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;

}