#include <fstream>
#include <algorithm>
#include <iostream>
#include <cmath>
#include <iostream>
#include <iomanip>
#include <cstdio>
#include <vector>
#include <stack>
#include <cstring>
#include <queue>
#define mod 1999999973
#define ll long long
using namespace std;
ifstream in("lgput.in");
ofstream out("lgput.out");
ll pwr(ll x, ll p)
{
if (p == 0)
return 1;
else
if (p == 1)
return x;
else
if (p % 2 == 1) {
ll aux = pwr(x, p / 2);
return ((aux*aux)*x);
}
else {
ll aux = pwr(x, p / 2);
return (aux*aux);
}
}
int main()
{
int32_t n, p;
in >> n >> p;
out << pwr(n, p) % mod;
}