Pagini recente » Cod sursa (job #3154692) | Cod sursa (job #2568841) | Cod sursa (job #1659625) | Cod sursa (job #1338847) | Cod sursa (job #2467851)
#include <bits/stdc++.h>
#define Mod 9973
using namespace std;
ifstream fin ("ssnd.in");
ofstream fout("ssnd.out");
long long LogP(long long a, long long n)
{
int p;
for(p = 1; n > 0 ; n/=2)
{
if(n%2 ==1)
p = 1LL* p * a % Mod;
a = a * a % Mod;
}
return p;
}
void Descompunere(long long n)
{
long long p, e, nrDiv = 1, sumaDiv = 1;
for(p = 2; p * p <= n && n > 1; p++)
if(n % p == 0)
{
e = 0;
while(n % p == 0)
{
e++;
n /= p;
}
nrDiv *= (e + 1);
sumaDiv = 1LL * sumaDiv * (LogP(p , e+1)-1 + Mod) * LogP(p - 1,9971) % Mod;
}
if(n > 1)
{
nrDiv *=2;
sumaDiv = 1LL * sumaDiv * (n * n - 1 + Mod) * LogP(n-1,9971) % Mod;
}
fout << nrDiv << " " << sumaDiv << "\n";
}
int main()
{
long long n;
int T;
fin >> T;
while(T--)
{
fin >> n;
Descompunere(n);
}
fin.close();
fout.close();
return 0;
}