#include using namespace std; #define REP(i,n) for(int i=0; i<(int)(n); i++) const long long MOD = 1e9 + 7; long long gcd(long long a, long long b) { if (b == 0) return a; return gcd(b, a%b); } // override function template of std::gcd long long gcd(int a, int b) { return gcd((long long)a, (long long)b); } long long solve(int a, int b, int n, int g) { if (n == 0) return g; long long ret = 1; for (int i = a; i <= b; i++) { ret *= solve(a, b, n-1, gcd(g, i)); ret %= MOD; } return ret; } int main() { ios_base::sync_with_stdio(0); cin.tie(0); int a, b, n; cin >> a >> b >> n; cout << solve(a, b, n, 0) << endl; return 0; }