Pagini recente » Cod sursa (job #941897) | Cod sursa (job #2767668) | Cod sursa (job #1588515) | Cod sursa (job #1653436) | Cod sursa (job #2563111)
#include <iostream>
#include <fstream>
#include <cmath>
#define O 1000005
using namespace std;
ifstream fin("ssnd.in");
ofstream fout("ssnd.out");
bool v[O];
int a[O];
int prime[80000];
int long long power(int long long N,int b)
{
//for(int i=0;i<b-1;i++)
// N*=N;
//return N;
if(b==0)
return 1;
else
return (N*power(N,b-1));
}
int main()
{
/// 10110110100
int i,j,c=0,p=1,k=0;
int s=1,t;
int long long N;
fin>>t;
for(i=2;i<=O;i++)
if(!v[i])
for(j=i+i;j<=O;j+=i)
v[j]=1;
for(i=2;i<O;i++)
if(v[i]==0)
prime[k++]=i;
//for(i=0;i<k;i++)
// cout<<prime[i]<<' ';
for(j=0;j<t;j++)
{
fin>>N;
for(i=0;i<k&&N>1;i++)
while(N%prime[i]==0)
{
N/=prime[i];
a[i]++;
}
for(i=0;i<k;i++)
if(a[i])
{
p*=(a[i]+1);
s*=((power(prime[i],a[i]+1)-1)/(prime[i]-1));
s%=9973;
/// cout<<prime[i]<<' '<<a[i]<<endl;
}
if(N>1)
{///cout<<N<<" 1"<<endl;
p*=2;
//i=(power(N,2)-1)/(N-1);
//s*=i;
s+=N;
s%=9973;
}
//cout<<(pow(N,2)-1)/(N-1)<<endl;
fout<<p<<' '<<s<<endl;
for(i=0;i<k;i++)
a[i]=0;
//reset();
s=1;
p=1;
}
/*for(i=0;i<t;i++)
*/
//fout<<c;
}