Pagini recente » Cod sursa (job #1511748) | Autentificare | Cod sursa (job #2300632) | Cod sursa (job #1488966) | Cod sursa (job #1736635)
#include <cstdlib>
#include <fstream>
#include <bitset>
#include <iostream>
using namespace std;
#define mod 9973
const int MAX = 100;
long long x;
int T, k, P[MAX];
bitset <MAX> viz;
ifstream fin("ssnd.in");
ofstream fout("ssnd.out");
long long n,sum,term, prim,sd,nd;
void ciur() {
for(int i = 2; i < MAX; i++)
if(viz[i] == 0) {
P[++k] = i;
for(int j = 2*i; j < MAX; j = j+i) viz[j] = 1;
}
}
int main() {
int t,cnt=0,i;
fin>>t;
ciur();
for(; t; t--)
{
fin>>n;
sd = nd = 1;
for(i = 1; i <= k && P[i]*P[i] <= n; i++)
{
if(n % P[i] == 0)
{
sum = cnt = term = 1;
prim = P[i] % mod;
while(n % P[i] == 0)
{
cnt++;
term = (term * prim) % mod;
sum = (sum + term) % mod;
n /= P[i];
}
sd = (sum * sd) % mod;
nd *= cnt;
}
}
if(n > 1)
{
sd = (sd * (n + 1)) % mod;
nd *= 2;
}
fout<<nd<<" "<<sd<<"\n";
}
return 0;
}