Pagini recente » Cod sursa (job #948450) | Cod sursa (job #326899) | Cod sursa (job #2636136) | Cod sursa (job #2228605) | Cod sursa (job #1155996)
#include <fstream>
#include <vector>
using namespace std;
#define phi 9973
#define mod 9973
ifstream cin("ssnd.in");
ofstream cout("ssnd.out");
long long n,t,i,aux,ind,contor,nrd,sumd;
bool prim[2000010];
vector<long long> p;
void ciur()
{
for(int i=2; i<=1000000; i++)
{
if(!prim[i])
{
p.push_back(i);
for(int j=i+i; j<=1000000; j+=i)
prim[j]=1;
}
}
}
long long putere(long long n, long long x)
{
long long p = 1;
while(x)
{
if(x%2==1)
{
p*=n; p%=mod;
x--;
}
n*=n; n%=mod;
x/=2;
}
return p;
}
int main()
{
ciur();
cin>>n;
for(i=1; i<=n; i++)
{
cin>>t; aux=t; ind=0; nrd=1, sumd=1;
while(p[ind]<=t)
{
int x=p[ind];
if(t%p[ind]==0)
{
contor=0;
while(t%p[ind]==0)
{
contor++;
t/=p[ind];
}
nrd=nrd*(contor+1); nrd%=mod;
sumd=sumd*( ((putere(x,contor+1))-1) * putere(x-1,9971)% 9973 );
sumd%=mod;
}
if(t==1)
break;
ind++;
}
if(nrd==1) nrd++;
cout<<nrd<<" "<<sumd<<"\n";
}
}