// 二分求幂法。。。
#include<stdio.h>
int main(){
int a,b;
while(scanf("%d%d",&a,&b)!=EOF){
if(a==0 && b==0) break;
int ans=1; // 保存最终结果变量,初始值为1
while(b!=0){ // 若b不是0,即对b进行二进制转换未结束
if(b%2==1){ // 若当前二进制位为1,则需要累乘a的2^k次至ans,
// 其中2^k次为当前二进制位的权重
ans*=a; // 最终结果累乘a
ans%=1000; // 求最后三位数
}
b/=2; // b除以2
a*=a; // 求下一位二进制位的权重,a求其平方
a%=1000;
}// 一边计算b的二进制值,一边计算a的2^k次,并将需要的部分累乘到变量ans上
printf("%d\n",ans);
}
}