Pagini recente » Cod sursa (job #2888678) | Cod sursa (job #2523094) | Cod sursa (job #3274613) | Cod sursa (job #3224220) | Cod sursa (job #1448270)
#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);
for(int i=2;i<=1000000;++i) {
if(!np[i]) {
p[++z] = i;
for(int j=2;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(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;
}