Pagini recente » Cod sursa (job #1430762) | Cod sursa (job #269217) | Cod sursa (job #111532) | Monitorul de evaluare | Cod sursa (job #2949789)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("ssnd.in");
ofstream fout("ssnd.out");
int putere(long long d , long long p)
{
int s = 1;
while(p)
{
if(p % 2 == 1)
s = (s * d)%9973;
d = (d * d)%9973;
p /= 2;
}
return s;
}
void descompunere(int n)
{
int d=2,nr=1,p;
unsigned long long s=1;
while(n > 1)
{
p = 0;
while(n % d == 0)
{
p++;
n /= d;
}
if(p)
{
nr*=p+1;
s*=((putere(d,p+1)-1)/(d-1))%9973;
}
d++;
if(n>1 && d * d > n)
{
d = n;
}
}
fout<<nr<<" "<<s%9973<<'\n';
}
int main()
{
int t,i,x;
fin>>t;
for(i=1;i<=t;i++)
{
fin>>x;
descompunere(x);
}
return 0;
}