Pagini recente » Cod sursa (job #192346) | Cod sursa (job #101936) | Cod sursa (job #1595848) | Cod sursa (job #3148995) | Cod sursa (job #1885691)
#include <fstream>
using namespace std;
const int MOD=9973;
ifstream f("ssnd.in");
ofstream g("ssnd.out");
int prime[10003],k;
int n;
void getdiv(long long val)
{
long long l=1,sol=1,nrdiv=1,p=1;
int q=0;
for(int i=2;i*i<=val;i++)
{
if(val%i==0)
{
q=0;
p=1;
l=(l*(i-1))%MOD;
while(val%i==0)
{
q++;
p=(p*i)%MOD;
val=val/i;
}
p=(p*i)%MOD;
p=(p+MOD-1)%MOD;
sol=(sol*p)%MOD;
nrdiv=nrdiv*(q+1);
//g<<p<<" "<<l<<"\n";
}
}
if(val>1)
{
p=(val*val+MOD-1)%MOD;
sol=(sol*p)%MOD;
l=(l*(val-1));
nrdiv=nrdiv*2;
}
g<<nrdiv<<" "<<sol/l<<"\n";
}
int main()
{
f>>n;
long long val;
for(int i=1;i<=n;i++)
{
f>>val;
getdiv(val);
}
f.close();
g.close();
return 0;
}