Pagini recente » Cod sursa (job #798829) | Cod sursa (job #1618105) | Cod sursa (job #2899516) | Cod sursa (job #2228974) | Cod sursa (job #2823583)
#include <bits/stdc++.h>
#define DAU ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
#define PLEC return 0;
using namespace std;
ifstream fin("ssnd.in");
ofstream fout("ssnd.out");
#define cin fin
#define cout fout
#define N 1000001
#define mod 9973
#define asa pair < int , int >
int f[N], p[N/2], prime, n;
long long x;
void ciur()
{
const int k = 1000000;
f[1] = 1;
for(int i = 2 ; i <= k ; i++)
{
if(f[i] == 0)
{
p[++prime] = i;
for(int j = 2*i ; j <= k ; j += i)f[j] = 1;
}
}
}
long long putere(long long a, long long b)
{
long long rez = 1;
for (; b; b >>= 1) {
if (b&1)
rez = rez*a;
a = a*a;
}
return rez;
}
void facem(long long x)
{
int nr = 1;
int suma = 1;
int i = 1;
while(x != 1 && i < prime && 1LL*p[i]*p[i] <= x)
{
int d = 0;
while(x%p[i] == 0)
{
x /= p[i];
d++;
}
if(d != 0)
{nr *= d+1;
suma = ((putere(p[i],d+1)-1)/(p[i]-1))% mod;
}
i++;
}
if(x != 1)
{
nr *= 2;
suma = (suma*1LL*(x+1))%mod;
}
cout << nr << " " << suma << '\n';
}
int main()
{
ciur();
cin >> n;
for(int i = 1 ; i <= n ; i++)
{
cin >> x;
facem(x);
}
PLEC
}