#include <iostream>

#define MOD 666013
#define ull unsigned long long

using namespace std;

ull t[2][100100];
ull b[100100];

ull d[100100];
int main()
{

    int n, m;
    cin>>n>>m;

    t[0][1]=1;
    for(int i=2; i<=n; i++){

        for(int j=1; j<= min(i, m); j++){
            t[1][j]= (( ( t[0][j]+t[0][j-1])%MOD *j ))  %MOD;
            b[i]+=t[1][j];
        }

        for(int j=1; j<=i; j++){
            t[0][j]=t[1][j];
        }
    }

    ull solt = t[1][m];



    d[1]=0;
    d[2]=1;
    d[3]=2;

    for(int i=3; i<=m; i++){
        d[i] = ((i*d[i-1])%MOD + (MOD +1 - 2*(i%2))%MOD  )%MOD ;

    }

    ull sol = (solt * d[m])%MOD;

    cout<<sol;


    return 0;
}