Pagini recente » Cod sursa (job #1326849) | Cod sursa (job #1084077) | Cod sursa (job #2267649) | Cod sursa (job #540525) | Cod sursa (job #1151680)
#include<fstream>
#include<cmath>
using namespace std;
ifstream f("ssnd.in");
ofstream g("ssnd.out");
long long n,m,i,t,j,k,l,o,sdf,nrf,nrprim[80000];
bool a[1000002];
void ciur()
{
long i,j;
for(i=2;i<=1000000;i++)
{
if(a[i]==0)
{
for(j=i+i;j<=1000000;j+=i) a[j]=1;
nrprim[0]++;
nrprim[nrprim[0]]=i;
}
}
}
void desc(long long k)
{
long long i,j,nrp,nrd;
nrf=sdf=1;
for(i=1;i<=nrprim[0]&&k>1&&nrprim[i]*nrprim[i]<=k+100;i++)
{
if(k%nrprim[i]==0)
{
nrp=nrprim[i];
nrd=0;
while(k%nrp==0)
{
k=k/nrp;
nrd++;
}
nrf*=(nrd+1);
sdf*=((pow(nrp,nrd+1)-1)/(nrp-1));
sdf%=9973;
}
}
if(k>1)
{
nrf*=2;
sdf=(1LL*sdf*(k+1)%9973);
}
g<<nrf<<" "<<sdf%9973<<"\n";
}
int main()
{
f>>t;
ciur();
while(t--)
{
f>>k;
desc(k);
}
return 0;
}