#pragma GCC optimize("Ofast") #pragma GCC target("avx2") char*mmap(); #define MD 129402307 main(){ char*rp=mmap(0l,100001l*2,1,2,0,0ll); long n=0,m=0,v=1; int c; while(c=*rp++-48,c>=0){ n=10*n+c; if(n>=1l<<58){ n%=MD; } } n%=MD; if(*rp!=48){ while(c=*rp++-48,c>=0){ m=10*m+c; if(m>=1l<<58){ m%=MD-1; } } m%=MD-1; if(m==0){ m=MD-1; } while(m){ if(m&1){ v=v*n%MD; } n=n*n%MD; m>>=1; } } printf("%ld",v); }