Pagini recente » Cod sursa (job #298380) | REZULTATE | Cod sursa (job #1753235) | Cod sursa (job #2630169) | Cod sursa (job #1448278)
#include<stdio.h>
#include<vector>
#define MOD 9973
using namespace std;
int T,np[1000100],z,p[400100];
long long N,nr,S;
int main() {
freopen("ssnd.in","r",stdin);
freopen("ssnd.out","w",stdout);
//freopen("input.in","r",stdin);
p[++z] = 2;
for(int i=3;i<=1000000;i+=2) {
if(!np[i]) {
p[++z] = i;
for(int j=3;j*i<=1000000;++j) {
np[i*j] = 1;
}
}
}
scanf("%d",&T);
while(T--) {
S = 1;
nr = 1;
scanf("%lld",&N);
long long x = N;
for(int i=1;i<=z;++i) {
if(1LL*p[i]*p[i]>x) break;
if(x%p[i]==0) {
int k = 0;
long long P = p[i];
while(x%p[i]==0) {
x/=p[i];
++k;
P *= p[i];
}
P = (P-1)/(p[i]-1);
S = (S*P)%MOD;
nr = (nr*(k+1))%MOD;
}
}
if(x!=1) {
nr = (2*nr)%MOD;
S = ((x+1)*S)%MOD;
}
printf("%lld %lld\n",nr,S);
}
return 0;
}