#include<bits/stdc++.h>
#include<unordered_map>
typedef long long ll;
using namespace std;
const int mod=1e9+7;
int n,a;
int main()
{
cin>>n;
unordered_map<int,int> d;
while(n--)
{
cin>>a;
for(int i=2;i<=a/i;i++)
{
while(a%i==0)
{
a=a/i;
d[i]++;
}
}
if(a>1) d[a]++;
}
int res=1;
for(auto x:d)
{
x.second++;
res=(ll)res*x.second%mod;
}
cout<<res;
return 0;
}