#include #define rep(i,n) for(int i=(0);i<(n);i++) using namespace std; typedef long long ll; template bool chmax(T &a, const T &b) { if (a bool chmin(T &a, const T &b) { if (a>b) { a=b; return 1; } return 0; } ll MOD = 1e9 + 7; ll a, b, n; ll ans; ll mygcd(ll a, ll b){ if(b == 0) return a; return mygcd(b, a % b); } void dfs(vector v){ if(v.size() == n){ ll ret = v[0]; rep(i, n - 1) ret = mygcd(ret, v[i+1]); ans *= ret; ans %= MOD; return; } for(int i = a; i <= b; i++){ v.push_back(i); dfs(v); v.pop_back(); } } int main(){ cin.tie(0); ios::sync_with_stdio(false); cin >> a >> b >> n; ans = 1ll; vector v; dfs(v); cout << ans << endl; }