Pagini recente » Cod sursa (job #741558) | Cod sursa (job #1359018) | Cod sursa (job #2624074) | Cod sursa (job #2906271) | Cod sursa (job #416658)
Cod sursa(job #416658)
#include<fstream>
using namespace std;
ofstream g("ssnd.out");
const long long mod=9973, maxn=1000009;
long long s, nr;
long long pou(long long a, long long b){
long long f=1;
a=a%mod;
while(b){
if((b&1)){
f*=a;
f=f%mod;
}
a=a*a;a=a%mod;b=b>>1;
}
return f;
}
long long inv(long long x){
long long m=mod-2, p=1;
p=pou(x, m);
return p;
}
void dec(long long x){
long long d, e;
s=nr=1;
for(d=2;d*d<=x;d++){
e=0;
if(x%d==0){
while(x%d==0){
e++;
x/=d;
}
}
nr=nr*(e+1);
nr=nr%mod;
s=s*(pou(d, e+1)-1)*inv(d-1);
s=s%mod;
}
if(x!=1){
nr=(nr<<1);
nr=nr%mod;
s=s*(pou(x, 2)-1)*inv(x-1);
s=s%mod;
}
g<<nr<<' '<<s<<'\n';
}
int main(){
long long i, t, x;
ifstream f("ssnd.in");
f>>t;
for(i=0;i<t;i++){
f>>x;
dec(x);
}
f.close();
g.close();
return 0;
}