partition = [1, 1, 2, 3, 5, 7, 11, 15, 22, 30, 42, 56, 77, 101, 135, 176, 231, 297, 385, 490, 627] def factorize(n): factors = {} while n % 2 == 0: factors[2] = factors.get(2, 0) + 1 n = n // 2 i = 3 while i * i <= n: while n % i == 0: factors[i] = factors.get(i, 0) + 1 n = n // i i += 2 if n > 1: factors[n] = 1 return factors M = int(input()) if M == 0: print(0) else: factors = factorize(M) c = 1 for k in factors.values(): c *= partition[k] MOD = 10**9 + 7 result = pow(M, c, MOD) print(result)