#include <stdio.h>
#include <stdlib.h>
long long int expon(int n, int p, int m){
long long int x;
if(p<=1)
return n%m;
x=expon(n,p/2,m);
x=x%m;
if(p&1)
return n*x*x;
return x*x;
}
int main(){
long long int n,p,sol;
long long int m=1999999973;
FILE *f,*g;
if((f=fopen("lgput.in","r"))==NULL){
printf("eroare fisier\n");
exit(1);
}
if((g=fopen("lgput.out","w"))==NULL){
printf("eroare fisier\n");
exit(1);
}
fscanf(f,"%lld",&n);
fscanf(f,"%lld",&p);
sol=expon(n,p,m);
sol=sol%m;
fprintf(g,"%lld",sol);
fclose(f);
fclose(g);
}