# include <stdio.h>
void check(int *a, int *b,int *result)
{
if (*b%2==0)
{
*b = *b/2;
*a = (*a)*(*a)%1000;
}
else
{
*b = *b-1;
*b = *b/2;
*result = *result*(*a)%1000;
*a = (*a)*(*a)%1000;
}
}
int main()
{
#ifdef LOCAL
freopen("in.txt", "r", stdin);
freopen("out.txt", "w", stdout);
#endif
int a,b;
scanf("%d %d", &a, &b);
int result=1;
check(&a, &b, &result);
int mid = a;
for (int i=1;i<b;i++)
{
a = mid*a%1000;
}
a = result*a%1000;
printf("%03d\n", a);
#ifdef LOCAL
fclose(stdin);
fclose(stdout);
#endif
return 0;
}