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>).
n=int(input())
dic={}
com=[1]
for i in range(1,31):
    com.append((round(com[-1]*(n-1+i)/i))%1000000007)
arr=[int(i) for i in input().split()]
for i in range(n):
    for j in range(2,int(arr[i]**0.5)+1):
        count=0
        while(arr[i]%j==0):
            count+=1
            arr[i]//=j
        if(count>0):
            if(j not in dic):
                dic[j]=count
            else:
                dic[j]+=count
    if(arr[i]>1):
        if(arr[i] not in dic):
            dic[arr[i]]=1
        else:
            dic[arr[i]]+=1
ans=1
for i in dic:
    ans*=com[dic[i]]
    ans%=1000000007
print(ans)
