Pagini recente » Cod sursa (job #1325412) | Cod sursa (job #1477641) | Cod sursa (job #1541524) | Cod sursa (job #1306524) | Cod sursa (job #420302)
Cod sursa(job #420302)
#include <iostream>
#include <fstream.h>
#define ll long long
#define Max 1000005
#define Max2 100005
#define mod 9973
ifstream fin("ssnd.in");
ofstream fout("ssnd.out");
int p[Max],d[Max2];
int t,j,z;
ll n,nr_div,suma_div,prod,nr;
void ciur(){
ll i,j;
for(i=2; i<Max; ++i)
if(p[i]==0){
d[++z]=i;
for(j=i*i; j<Max; j+=i)
p[j]=1;
}
}
int main(){
ciur();
fin>>t;
for(; t; --t){
fin>>n;
nr_div=suma_div=1;
for(j=1; d[j]*d[j]<=n; ++j){
nr=0; prod=1;
while(n % d[j] ==0 ){
nr++; prod*=d[j];
n /= d[j];
}
if(nr){
nr_div*=nr+1;
suma_div*=(prod*d[j]-1)/(d[j]-1);
suma_div %= mod;
}
}
if( n>1 ) nr_div*=2, suma_div*=n+1, suma_div%=mod;
fout<<nr_div<<" "<<suma_div<<"\n";
}
fin.close(); fout.close();
return 0;
}