#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; int main(){ int a,b,n; cin>>a>>b>>n; int A[6][10]; rep(i,6){ rep(j,10) A[i][j]=1; } rep(i,n){ for(int j=a;j<=b;j++) A[i][j-1]=j; } ll ans=1; rep(i,10){ if(n==1) ans=ans*A[0][i]; else{ rep(j,10){ if(n==2) ans=ans*gcd(A[0][i],A[1][j])%MOD; else{ rep(k,10){ if(n==3) ans=ans*gcd(gcd(A[0][i],A[1][j]),A[2][k])%MOD; else{ rep(l,10){ if(n==4) ans=ans*gcd(gcd(gcd(A[0][i],A[1][j]),A[2][k]),A[3][l])%MOD; else{ rep(s,10){ if(n==5) ans=ans*gcd(gcd(gcd(gcd(A[0][i],A[1][j]),A[2][k]),A[3][l]),A[4][s])%MOD; else{ rep(t,10) ans=ans*gcd(gcd(gcd(gcd(gcd(A[0][i],A[1][j]),A[2][k]),A[3][l]),A[4][s]),A[5][t])%MOD; } } } } } } } } } } cout<