Pagini recente » Cod sursa (job #2904052) | Cod sursa (job #2107094) | Cod sursa (job #2721587) | Cod sursa (job #2394508) | Cod sursa (job #1377763)
#include <fstream>
#include <bitset>
using namespace std;
const int L=1000500,mod=9973;
bitset <L> m;
int p[100000];
int main(){
ifstream cin("ssnd.in");
ofstream cout("ssnd.out");
int T,i,j,k,q,r1;
long long x,r2,s,t;
p[1]=2;q=1;
for (i=3;i<L;i+=2)if (!m[i]){p[++q]=i;for (j=3*i;j<L;j+=i<<1)m[j]=1;}
//
cin>>T;
while (T--){
cin>>x;
j=r1=r2=1;
while ((long long)p[j]*p[j]<=x){
s=t=1;
k=0;
while (x%p[j]==0){
x/=p[j]; k++;
s=(s*p[j])%mod;
t=(t+s)%mod; }
r1*=k+1;
r2=(r2*t)%mod;
j++;
}
if (x>1){ r1<<=1; r2=(r2*(x+1))%mod;}
cout<<r1<<" "<<r2<<endl;
}
return 0;
}