Pagini recente » Cod sursa (job #1736635) | Cod sursa (job #2185939) | Istoria paginii runda/111 | Cod sursa (job #2219840) | Cod sursa (job #1736650)
#include <fstream>
#include <bitset>
using namespace std;
#define mod 9973
const int MAX = 1000005;
int k, P[MAX];
bitset <MAX> viz;
long long n,sum,term, prim,sum_div,nr_div;
ifstream fin("ssnd.in");
ofstream fout("ssnd.out");
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;
ciur();
fin>>t;
for(; t; t--)
{
fin>>n;
sum_div = nr_div = 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];
}
sum_div = (sum * sum_div) % mod;
nr_div *= cnt;
}
}
if(n > 1)
{
sum_div = (sum_div * (n + 1)) % mod;
nr_div *= 2;
}
fout<<nr_div<<" "<<sum_div<<'\n';
}
return 0;
}