Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fstream>
- #define Nmax 1000001
- #define MOD 1000000007
- #define Nprime 78498
- using namespace std;
- long long p[Nmax];
- void divprimi(int n)
- {
- int d=2;
- while(n>1)
- {
- if(n%d==0)
- {
- while(n%d==0)
- ++p[d],n/=d;
- }
- ++d;
- if(n>1&&d*d>n)
- ++p[n],n=1;
- }
- }
- int main()
- {
- int n,x,MAX=0;
- ifstream f("nrdivprod.in");
- f>>n;
- for(int i=1;i<=n;++i)
- {
- f>>x;
- if(x>MAX)
- MAX=x;
- divprimi(x);
- }
- f.close();
- long long sol=1;
- for(int i=1;i<=MAX;++i)
- if(p[i])
- sol=(sol*(p[i]+1))%MOD;
- ofstream g("nrdivprod.out");
- g<<sol<<'\n';
- g.close();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement