a,b,n = map(int,input().split()) res = 0 mod = 10**9 + 7 cnt = [0 for i in range(b + 2)] for i in range(b,1,-1): #print(i) if i < a: num = (b//i) - ((a-1)//i) cnt[i] = pow(num, n,mod) else: cnt[i] = pow(b//i,n,mod) #print(cnt[i],i,b,n) for j in range(2,10000000000): if j*i > b: break cnt[i] -= cnt[i*j] res = 1 for i in range(2, b + 1): #print(i) #print(pow(i,cnt[i],mod)) res *= pow(i,cnt[i],mod) res %= mod print(res)