Pagini recente » Cod sursa (job #1555986) | Cod sursa (job #523920) | Cod sursa (job #2521209) | Cod sursa (job #1727404) | Cod sursa (job #1610516)
# include <fstream>
# define DIM 1000010
# define dim 78509
# define MOD 9973
using namespace std;
ifstream fin("ssnd.in");
ofstream fout("ssnd.out");
int f[DIM],d[dim];
long long n,i,j,k,t,r,ok,nr,p,s,val1,val2;
int putere(int a,int b){
if(b==0)
return 1;
else{
int x=putere(a,b/2);
if(b%2==0)
return (x*x)%MOD;
else
return (x*x*a)%MOD;
}
}
int main () {
ok=0;
for(i=2;i<=DIM-1;i++){
if(f[i]==0){
d[++k]=i;
for(j=2*i;j<=DIM-1;j+=i)
f[j]=1;
}
}
fin>>t;
for(r=1;r<=t;r++){
fin>>n;
i=1;
s=1;
p=1;
while(n!=1&&i<=k&&d[i]*d[i]<=n){
nr=0;
while(n%d[i]==0){
nr++;
n/=d[i];
}
val1=putere(d[i],nr+1);
val2=putere(d[i]-1,MOD-2);
if(val1-1>-1)
s*=(val1-1)*val2%MOD;
else
s*=(MOD-1)*val2%MOD;
p*=(nr+1);
i++;
}
if(n!=1){
p*=2;
s*=(n+1)%MOD;
}
fout<<p<<" "<<s<<"\n";
}
return 0;
}