#include<stdio.h>

int p(long long int,long long int,long long int );

int main()

{

```
long long int a,b,c,m=1000000007,s,ans;
while(1)
{
scanf("%lld%lld%lld",&a,&b,&c);
if(a==-1&&b==-1&&c==-1)
break;
else
{
s=p(b,c,m);
ans=p(a,s,m);
printf("%lld\n",ans);
}
```

}

return(0);

}

int p(long long int a,long long int n,long long int m)

{

long long int res=1;

while(n)

{

if(n&1)

{

res=(res*a)%m;
–n;
}
else
{
a=(a*a)%m;

n>>=1;

}

}

return(res);

}