Pagini recente » Cod sursa (job #1973200) | Cod sursa (job #1396933) | Cod sursa (job #1090059) | Cod sursa (job #507291) | Cod sursa (job #736590)
Cod sursa(job #736590)
#include <cstdio>
#define DIM 1000001
#define MOD 9973
using namespace std;
long long n;
int pr[78499],k;
bool viz[DIM];
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]*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();
}
}