Pagini recente » Cod sursa (job #109704) | Cod sursa (job #840894) | Cod sursa (job #1807083) | Cod sursa (job #2251886) | Cod sursa (job #3038272)
#include <fstream>
using namespace std;
ifstream fin ("ssnd.in");
ofstream fout ("ssnd.out");
int v[80005];
long long n,x,i,s,k,d,w,j,nr,p;
bool ciur[1000001];
int main()
{
fin>>n;
ciur[1]=1;
for (i=2; i<=1000000; i++)
{
if (ciur[i]==0)
{
v[++k]=i;
if (i<=1000)
{
for (j=i*i; j<=1000000; j=j+i)
ciur[j]=1;
}
}
}
for (i=1; i<=n; i++)
{
fin>>x;
s=1;
p=1;
for (d=1; d<=k&&v[d]*v[d]<=x; d++)
{
nr=0;
while (x%v[d]==0)
{
nr++;
x=x/v[d];
}
s=s*(nr+1);
w=1;
for (j=1; j<=nr+1; j++)
w=w*v[d];
p=p*(((w-1)/(v[d]-1))%9973)%9973;
}
if (x!=1)
{
s=s*2;
p=p*(((x*x-1)/(x-1))%9973)%9973;
}
fout<<s<<" "<<p<<"\n";
}
return 0;
}