Pagini recente » Cod sursa (job #1104951) | Cod sursa (job #2059899) | Cod sursa (job #161688) | Cod sursa (job #817182) | Cod sursa (job #2117957)
#include <fstream>
#define MOD 9973
using namespace std;
ifstream fin ("ssnd.in");
ofstream fout ("ssnd.out");
bool f[1000000];
int ciur[1000000], cate;
void ciurE()
{
f[1] = 1;
for ( int i = 1; i <= 1000; ++i )
if ( !f[i] )
for (int j = i*2; j <= 1000000; j += i )
f[j]=1;
for ( int i = 1; i <= 1000000; ++i )
if ( !f[i] )
ciur[cate++] = i;
}
int main()
{
ciurE();
int t;
fin>>t;
for ( int i = 1; i <= t; ++i )
{
long long n, suma = 1;
fin>>n;
int div = 1;
for ( int j = 0; j < cate && n > 1; ++j )
{
int k = 0;
long long putere = ciur[j];
while ( n%ciur[j] == 0 )
{
++k;
n /= ciur[j];
putere *= ciur[j];
}
div *= (k+1);
suma = suma*(putere-1)/(ciur[j]-1)%MOD;
}
if ( n == 1 )
fout<<div<<" "<<suma<<"\n";
else
fout<<2<<" "<<(n+1)%MOD<<"\n";
}
}