You are given an integer *m* as a product of integers *a*<sub class="lower-index">1</sub>, *a*<sub class="lower-index">2</sub>, ... *a*<sub class="lower-index">*n*</sub> <img align="middle" class="tex-formula" src="https://espresso.codeforces.com/cf060eec22f7a6ddd13992efe2ebf6d08fde945a.png" style="max-width: 100.0%;max-height: 100.0%;"/>. Your task is to find the number of distinct decompositions of number *m* into the product of *n* ordered positive integers.

Decomposition into *n* products, given in the input, must also be considered in the answer. As the answer can be very large, print it modulo 1000000007 (10<sup class="upper-index">9</sup> + 7).
The first line contains positive integer *n* (1 ≤ *n* ≤ 500). The second line contains space-separated integers *a*<sub class="lower-index">1</sub>, *a*<sub class="lower-index">2</sub>, ..., *a*<sub class="lower-index">*n*</sub> (1 ≤ *a*<sub class="lower-index">*i*</sub> ≤ 10<sup class="upper-index">9</sup>).
from collections import defaultdict
Mod = 1000000007
C =[ [1,0] ]

for i in range(1,1000):
    C.append([1])
    for j in range(1,i+1):
        C[i].append( ( C[i-1][j-1] + C[i-1][j] ) % Mod )
    C[i].append(0)

n = int( input())
A = list( map(int,input().split()) )

cc = [0] * 100000
res = []

for x in A:
    tmp = x
    for j in range(2,100000):
        while tmp % j == 0:
            cc[j] += 1
            tmp = tmp // j

    if tmp > 1:
        res.append(tmp)
            

