Pagini recente » Cod sursa (job #639433) | Cod sursa (job #2041258) | Cod sursa (job #1797965) | Cod sursa (job #1358129) | Cod sursa (job #2219885)
#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 )
{
long long 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';
}
}