Pagini recente » Cod sursa (job #3304201) | Cod sursa (job #3346471) | Cod sursa (job #2145654) | Cod sursa (job #762884) | Cod sursa (job #2015528)
#include <fstream>
#define MOD 9973
using namespace std;
ifstream F("ssnd.in");
ofstream G("ssnd.out");
int t, p[1000005], k, c[1000005];
long long put(long long x,int p)
{
long long rez=1;
for(int i=1;i<=p;i++)
rez*=x;
return rez;
}
void div(long long x)
{
if(x==1)
{
G<<1<<" "<<1<<"\n";
return ;
}
int i=1;
long long nrd=1,s=1;
while(1LL*p[i]*p[i]<=x)
{
int e=0;
while(x%p[i]==0)
x/=p[i],e++;
if(e>0)
{
nrd*=(e+1);
s=(s*(put(p[i],e+1)-1)/(p[i]-1))%MOD;
}
i++;
}
if(x>1)
nrd*=2,s=(s*(put(x,2)-1)/(x-1))%MOD;
G<<nrd<<" "<<s<<"\n";
}
int main()
{
F >> t;
for(int i = 2; i <= 1000000; ++ i) if(!c[i]) {p[++k] = i;for(int j = i+i; j <= 1000000; j += i) c[j] = 1;}
while(t--)
{
long long x;
F >> x;div(x);
}
return 0;
}