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,0,-1): t = b//i - (a - 1)//i cnt[i] = pow(t,n,mod) for j in range(2,10000000000): if j*i > b: break cnt[i] -= cnt[i*j] res = 1 #print(cnt) for i in range(1,b + 1): #print(i) #print(pow(i,cnt[i],mod)) res *= pow(i,cnt[i]%mod,mod) res %= mod print(res)