from math import gcd N, K = map(int, input().split()) mod = 10 ** 9 + 7 A = list(map(int, input().split())) if K == 1: for i in range(N): for j in range(i + 1, N): g = gcd(A[i], A[j]) A[i] //= g ans = 1 for i in range(N): ans *= A[i] ans %= mod print(ans) exit() g = A[0] ans = 1 for i in range(N): g = gcd(g, A[i]) ans *= A[i] ans %= mod ans *= pow(g, (mod - 2) * (N - K), mod) print(ans%mod)