Pagini recente » Cod sursa (job #533266) | Cod sursa (job #2908719) | Cod sursa (job #2577414) | Cod sursa (job #540423) | Cod sursa (job #736587)
Cod sursa(job #736587)
#include <cstdio>
#define DIM 1000002
#define MOD 9973
using namespace std;
bool viz[DIM];
long long n;
int pr[78499],k;
void ciur(){
int i=2;
while(i<1000){
while(viz[i])i++;
for(int j=i*i;j<DIM;j+=i)viz[j]=1;
i++; }
for(int i=2;i<DIM;i++)if(!viz[i])pr[++k]=i;
}
void process(){
long long nr,d,S,x;
int i=1;
nr=1; S=1LL;
while(i<=78498&&pr[i]<=n){
if(n%pr[i]==0){
x=pr[i];
d=0;
while(n%pr[i]==0){
x*=pr[i];
d++;
n/=pr[i]; }
nr=nr*(d+1)%MOD;
S=S*((x-1)/(pr[i]-1))%MOD;
}
i++; }
if(n!=1){
nr=nr*2%MOD;
S=S*((n*n-1)/(n-1))%MOD;
}
printf("%lld %lld\n",nr,S);
}
int main(){
int t;
freopen("ssnd.in","r",stdin);
freopen("ssnd.out","w",stdout);
ciur();
scanf("%d",&t);
while(t-->0){
scanf("%lld",&n);
process();
}
}