Pagini recente » Cod sursa (job #2168071) | Cod sursa (job #416424) | Cod sursa (job #2118087) | Cod sursa (job #2806669) | Cod sursa (job #1375632)
#include <fstream>
#define mOd 9973
using namespace std;
ifstream f("ssnd.in");
ofstream g("ssnd.out");
bool prim[100000001];
int div1[100000001], m, n, i, j;
long long s, q, nr, nrd;
long long x, y;
void ciur()
{
m = 0;
for (i = 2; i <= 100000000; i++)
if (prim[i] == 0)
{
m++, div1[m] = i;
for (j = 2 * i; j <= 10000000; j += i)
prim[j] = 1;
}
}
int main()
{
f >> n;
ciur();
for (i = 1; i <= n; i++)
{
f >> x;
y = x;
nrd = 1, s = 1;
for (j = 1; div1[j]*div1[j] <= x; j++)
{
q = div1[j], nr = 0;
while (x % div1[j] == 0)
x /= div1[j], nr++, q *= div1[j];
nrd *= (nr+1)%mOd, s *= (q-1)/(div1[j]-1)%mOd;
}
if (x != 1)
s *= (x+1)%mOd, nrd *= 2;
g << nrd << " " << s << "\n";
}
return 0;
}