Pagini recente » Cod sursa (job #1460709) | Cod sursa (job #2659818) | Cod sursa (job #1113833) | Cod sursa (job #1320707) | Cod sursa (job #2219891)
#include <bits/stdc++.h>
#define lim 1000001
#define MOD 9973
using namespace std;
ifstream fin ("ssnd.in");
ofstream fout ("ssnd.out");
int t;
bitset <lim> f;
vector <int> prime_Factors;
long long n;
void getPrimeFactors()
{
for ( int i = 2; i <= lim; ++i )
{
if ( f[i] == 0 )
{
prime_Factors.push_back(i);
for ( int j = 2*i; j <= lim; j += i )
f[j] = 1;
}
}
}
int main()
{
getPrimeFactors();
fin>>t;
for ( int query = 1; query <= t; ++query )
{
int no_of_Divisors = 1;
long long sum_of_Divisors = 1;
fin>>n;
for ( auto x:prime_Factors )
{
if ( 1LL*x*x > n )
break;
int exponent = 1;
long long value = x;
while ( n%x == 0 )
{
n /= x;
value *= x;
exponent++;
}
no_of_Divisors *= exponent;
sum_of_Divisors *= (value-1)/(x-1);
}
/*if ( n > 1 )
{
no_of_Divisors *= 2;
sum_of_Divisors *= (n+1);
}*/
fout<<no_of_Divisors<<" "<<sum_of_Divisors%MOD<<'\n';
}
}