Pagini recente » Cod sursa (job #697479) | Cod sursa (job #1476896) | Cod sursa (job #2301174) | Cod sursa (job #2438705) | Cod sursa (job #2157994)
#include <fstream>
typedef unsigned long long ull;
using namespace std;
ifstream fin ("ssnd.in");
ofstream fout ("ssnd.out");
const ull MOD = 9973;
ull n, x, nr, s;
inline void Div ( ull x, ull &nr, ull &s )
{
ull t, p, d = 3;
nr = s = 1;
if ( x % 2 == 0 )
{
p = 1, t = 2;
while ( x % 2 == 0 )
x /= 2, t <<= 1, ++p;
nr *= p;
s *= (t - 1);
}
while ( x > 1 && d * d <= x )
{
if ( x % d == 0 )
{
p = 1, t = d;
while ( x % d == 0 )
x /= d, t *= d, ++p;
nr *= p, nr %= MOD;
s *= (t - 1) / (d - 1), s %= MOD;
}
d += 2;
}
if ( x > 1 )
{
nr <<= 1, s *= (x * x - 1) / (x - 1);
nr %= MOD, s %= MOD;
}
}
int main()
{
ios::sync_with_stdio (false);
ull i;
fin >> n;
for ( i = 0; i < n; ++i )
{
fin >> x;
Div (x, nr, s);
fout << nr << " " << s << '\n';
}
}