#include
typedef long long LL ;
LL pow(LL a, LL b, LL m){
LL ans = 1 ;
while(b){
if(b&1) ans = ans * a % m ; //判断当前最后一位是否为1,模m防止过大溢出, 可参考模的运算性质
a = a * a % m; //同上
b >>= 1; //位的右移运算
}
return ans;
}
int main(){
LL a, b;
scanf("%lld%lld", &a, &b);
while(a && b){
printf("%lld
", pow(a, b, 1000));
scanf("%lld%lld", &a, &b);
}
return 0;
}