Pagini recente » Cod sursa (job #2744066) | Cod sursa (job #1729799) | Cod sursa (job #190937) | Cod sursa (job #2160945) | Cod sursa (job #2428973)
#include<cstdio>
#include<cmath>
#define N 1000007
#define MOD 9973
using namespace std;
FILE* in=fopen("ssnd.in", "r");
FILE* out=fopen("ssnd.out", "w");
bool c[N];
int nrp[80007];
int ct;
void ciur()
{
for(int i=2; i<=N; ++i)
{
if(!c[i])
{
nrp[++ct]=i;
if(1LL*i*i<=N)
for(int j=i*i; j<=N; j+=i)
c[j]=1;
}
}
}
int main()
{
int n;
fscanf(in, "%d", &n);
ciur();
printf("%d", ct);
for(int i=1; i<=n; ++i)
{
int r1=1, r2=1;
long long x;
ct=0;
fscanf(in, "%lld", &x);
while(x>1)
{
int exp=0;
++ct;
while(x%nrp[ct]==0)
{
x/=nrp[ct];
++exp;
}
r1=r1*(exp+1);
long long a=1;
for(int j=1; j<=exp+1; ++j)
{
a*=nrp[ct];
}
if(exp>0)
{
a=a-1;
a=a/(nrp[ct]-1);
a%=MOD;
r2*=a;
r2%=MOD;
}
}
fprintf(out, "%d %d\n", r1, r2);
}
}