N,K,M = map(int,input().split()) P = 10 ** 9 + 7 now = pow(N,N-1,P) inv = pow(N,P-2,P) inv2 = pow(N-1,P-2,P) ans = now for i in range(2,N+1): now = now * inv * (N-i + 1) % P if K % i == 0: ans = (ans + now) % P hoka = (pow(N,N,P) - ans) * inv2 % P if M == 1: print(ans) else: print(hoka)