Pagini recente » Cod sursa (job #1885308) | Cod sursa (job #2294463) | Cod sursa (job #1756295) | Cod sursa (job #1693507) | Cod sursa (job #645816)
Cod sursa(job #645816)
#include<fstream>
#define MOD 9973
#define NMAX 1000000
using namespace std;
int prim[NMAX+1000],n;
ifstream in("ssnd.in");
ofstream out("ssnd.out");
void rez(long long x) {
long long i,j,k,div=1,sum=1;
for(i=1;1LL*i*i<=x;i++)
if((x%i==0)&&(!prim[i])) {
k=1;
j=i;
while(x%i==0) {
k++;
x/=i;
j*=i;
}
div*=k;
sum*=(j-1)/(i-1)%MOD;
}
if(x>1) {
div*=2;
sum*=(x*x-1)/(x-1)%MOD;
}
out<<div<<' '<<sum%MOD<<'\n';
}
void ciur() {
int i,j;
prim[1]=1;
for(i=4;i<=NMAX;i+=2)
prim[i]=1;
for(i=3;i<=NMAX;i+=2)
if(!prim[i])
for(j=3*i;j<=NMAX;j+=(i<<1))
prim[j]=1;
}
int main() {
int i;
long long x;
ciur();
in>>n;
for(i=0;i<n;i++) {
in>>x;
rez(x);
}
in.close();
out.close();
return 0;
}