Pagini recente » Cod sursa (job #189835) | Cod sursa (job #1379566) | Cod sursa (job #490370) | Cod sursa (job #1340308) | Cod sursa (job #2373775)
#include<fstream>
#define mod 9973
using namespace std;
ifstream fin("ssnd.in");
ofstream fout("ssnd.out");
long long t,i,j,n,nrpr,sum,put,nr,k,c[1000010],v[1000010];
void ciur()
{
c[1]=1;
for(i=1;i<=1000010;i++)
if(c[i]==0)
{
nrpr++;
v[nrpr]=i;
for(j=2*i;j<=1000010;j+=i)
c[j]=1;
}
}
long long putere (long long a, long long b)
{
int aux;
if(b==0)
return 1;
if(b==1)
return a%mod;
aux=putere(a,b/2);
if(b%2==0)
return (aux*aux)%mod;
else
return ((aux*aux)%mod * a %mod)%mod;
}
int main()
{
fin>>t;
ciur();
for(i=1;i<=t;i++)
{
fin>>n;
sum=1;
nr=1;
for(k=1;k<=nrpr && v[k]*v[k]<=n && n!=1;k++)
{
j=v[k];
if(n%j==0)
{
put=1;
n/=j;
while(n%j==0)
{
put++;
n/=j;
}
nr*=(put+1);
sum=(sum%mod * ( (putere(j,put+1) - 1 + mod) % mod * putere(j-1,mod-2) % mod) %mod)%mod;
}
}
if(n>1)
{
nr*=2;
sum=(sum%mod * ( (putere(n,2) - 1 + mod) % mod * putere(n-1,mod-2) % mod) %mod)%mod;
}
fout<<nr<<' '<<sum<<'\n';
}
fin.close();
fout.close();
return 0;
}