#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=(resa)%m;
–n;
}
else
{
a=(aa)%m;
n>>=1;
}
}
return(res);
}