#define rep(i, n) for (int i = 0; i < (int)(n); i++) #define ALL(v) v.begin(), v.end() typedef long long ll; const int MOD=1e9+7; #include using namespace std; ll p(ll x,ll y){ ll res=1; rep(i,y){ res=res*x; } return res; } int main() { ll a,b,n; cin>>a>>b>>n; ll ans=1; if(a<=2){ if(b==4 || b==5) rep(i,p(2,n)-1) ans=ans*2%MOD; else if(b==6 || b==7) rep(i,p(3,n)-2) ans=ans*2%MOD; else if(b==8 || b==9) rep(i,p(4,n)-p(2,n)-1) ans=ans*2%MOD; else if(b==10) rep(i,p(5,n)-p(2,n)-2) ans=ans*2%MOD; else ans=ans*2%MOD; } if(a<=3){ if(b>=6 && b<=8) rep(i,p(2,n)-1) ans=ans*3%MOD; else if(b>=9) rep(i,p(3,n)-2) ans=ans*3%MOD; else if(b>=3) ans=ans*3%MOD; } if(a<=4){ if(b>=8) rep(i,p(2,n)-1) ans=ans*4%MOD; else if(b>=4) ans=ans*4%MOD; } if(a<=5){ if(b==10) rep(i,p(2,n)-1) ans=ans*5%MOD; else if(b>=5) ans=ans*5%MOD; } if(a<=6 && b>=6) ans=ans*6%MOD; if(a<=7 && b>=7) ans=ans*7%MOD; if(a<=8 && b>=8) ans=ans*8%MOD; if(a<=9 && b>=9) ans=ans*9%MOD; if(a<=10 && b>=10) ans=ans*10%MOD; cout<