Pagini recente » Cod sursa (job #1335159) | Cod sursa (job #2065459) | Cod sursa (job #2978766) | Cod sursa (job #2147642) | Cod sursa (job #1448265)
#include<stdio.h>
#include<vector>
#define MOD 9973
using namespace std;
int N,T,nr,S,np[1000100];
vector<int> p;
int main() {
freopen("ssnd.in","r",stdin);
freopen("ssnd.out","w",stdout);
//freopen("input.in","r",stdin);
for(int i=2;i<=1000000;++i) {
if(!np[i]) {
p.push_back(i);
for(int j=2;j*i<=1000000;++j) {
np[i*j] = 1;
}
}
}
scanf("%d",&T);
while(T--) {
S = 1;
nr = 1;
scanf("%d",&N);
int x = N;
for(int i=0;i<p.size();++i) {
if(p[i]>=x) break;
if(x%p[i]==0) {
int k = 0;
int P = p[i];
while(x%p[i]==0) {
x/=p[i];
++k;
P *= p[i];
}
P = (P-1)/(p[i]-1);
S = (1LL*S*P)%MOD;
nr = (1LL*nr*(k+1))%MOD;
}
}
if(x!=1) {
nr = (2*nr)%MOD;
S = (1LL*(x+1)*S)%MOD;
}
printf("%d %d\n",nr,S);
}
return 0;
}