#include<iostream>
#include<algorithm>
#include<unordered_map>
#include<vector>
using namespace std;
const int N=110,mod=1e9+7;
int main()
{
int n,m,i;
long long ans=1;
scanf("%d",&n);
unordered_map<int,int>prime;
while(n--)
{
scanf("%d",&m);
for(i=2;i<=m/i;i++)while(m%i==0)m/=i,prime[i]++;
if(m>1)prime[m]++;
}
for(auto p:prime)ans=ans*(p.second+1)%mod;
printf("%d\n",ans);
return 0;
}