Pagini recente » Cod sursa (job #1300888) | Cod sursa (job #2974998) | Cod sursa (job #434459) | Cod sursa (job #982296) | Cod sursa (job #784610)
Cod sursa(job #784610)
#include <cstdio>
#include <cstring>
#define Mod 9973
int pr[80000],np;
bool p[1000001];
void ciur(){
int i=2;
while(i<1001) {
while(p[i]) i++;
for(int j=i*i; j<1000001; j+=i) p[j] = 1;
i++;
}
for(i=2; i<1000001; i++) if(!p[i])pr[++np] = i;
}
void desc(long long n){
int nr = 1, d, i = 1;
long long p, s = 1;
while(pr[i]*pr[i] <= n) {
if(n % pr[i] == 0) {
d = 0;
p = 1;
while(n%pr[i] == 0) {
d++;
p *= pr[i];
n /= pr[i];
}
nr *= d+1;
s = (s * ((p*pr[i]-1)/(pr[i]-1))) % 9973;
}
i++;
}
if(n!=1) {
nr *= 2;
s = (s * ((n*n - 1)/(n-1))) % 9973;
}
printf("%d %lld\n",nr,s);
}
int main(){
int t;
long long n;
ciur();
freopen("ssnd.in","r",stdin);
freopen("ssnd.out","w",stdout);
scanf("%d",&t);
for (t--; t>=0; t--) {
scanf("%lld",&n);
desc(n);
}
return 0;
}