Pagini recente » Cod sursa (job #2533321) | Cod sursa (job #3250522) | Cod sursa (job #2900277) | Cod sursa (job #3216082) | Cod sursa (job #2529693)
#include <fstream>
#include <vector>
#define mod 9973
using namespace std;
ifstream cin("ssnd.in");
ofstream cout("ssnd.out");
const long long lim=1000000;
bool v[lim+5];
vector<long long> primes;
void ciur()
{
for(long long i=2;i<=lim;++i)
if(v[i]==0)
{
primes.push_back(i);
for(long long j=2*i;j<=lim;j+=i)
v[j]=1;
}
}
int main()
{
int t;
long long n;
ciur();
cin>>t;
for(int w=1;w<=t;++w)
{
long long nrdiv=1;
long long prod=1,prodjos=1;
cin>>n;
for(long long i=0;i<primes.size() and n>1;++i)
if(n%primes[i]==0)
{
long long exp=0,partial=1;
while(n%primes[i]==0)
++exp,n/=primes[i],partial=(partial*(primes[i]%mod))%mod;
partial=(partial*(primes[i]%mod))%mod;
partial=(partial+mod-1)%mod;
prod=(prod*partial)%mod;
prodjos=(prodjos*((primes[i]+mod-1)%mod))%mod;
nrdiv*=exp+1;
}
cout<<nrdiv<<' ';
bool ok=0;
for(long long i=0;i<mod and ok==0;++i)
if((i*prodjos)%mod==prod)
cout<<i<<'\n',ok=1;
}
return 0;
}