a, b, n = [int(i) for i in input().split()] ans = 1 mod = 10**9+7 table = [True] * (b + 1) table[0] = False table[1] = False for i in range(b + 1): if table[i]: for j in range(i * i, b + 1, i): table[j] = False lower = (a-1)//i upper = b // i power = 0 while True: power += pow(upper - lower, n, mod - 1) power%=mod-1 lower //= i upper //= i if upper - lower == 0: break ans *= pow(i, power, mod) ans %= mod print(ans)