Pagini recente » Cod sursa (job #3238969) | Cod sursa (job #1467099) | Cod sursa (job #104144) | Cod sursa (job #1341130) | Cod sursa (job #965336)
Cod sursa(job #965336)
program suma_si_numarul_divizorilor;
var ciur:array [1..1000000] of byte;
prime:array [1..100000] of longint;
n,k,t,i,j,nr:longint;
sum,p,s:int64;
begin
assign(input,'ssnd.in');
reset(input);
assign(output,'ssnd.out');
rewrite(output);
for i:=2 to 1000000 do
if ciur[i]=0 then
begin
j:=2*i;
while j<=1000000 do
begin
ciur[j]:=1;
j:=j+i;
end;
inc(k);
prime[k]:=i;
end;
readln(t);
for i:=1 to t do
begin
readln(n);
j:=1;
nr:=1;sum:=1;
while n<>1 do
begin
k:=0;p:=1;s:=1;
while n mod prime[j]=0 do
begin
n:=n div prime[j];
inc(k);
p:=p*prime[j];
s:=s+p;
end;
nr:=nr*(k+1);
sum:=(sum*s)mod 9973;
inc(j);
end;
writeln(nr,' ',sum);
end;
close(output);
end.