Pagini recente » Cod sursa (job #2822713) | Cod sursa (job #1832399) | Cod sursa (job #2143063) | Cod sursa (job #484326) | Cod sursa (job #587061)
Cod sursa(job #587061)
var t,i,j,k,l,poz:longint;
n,nr,s,n1:int64;
a:array[1..1000000] of boolean;
b:array[1..100000] of longint;
f,g:text;
begin
assign(f,'ssnd.in');
assign(g,'ssnd.out');
reset(f);
rewrite(g);
readln(f,t);
n:=1000000;
for i:=2 to n do
a[i]:=true;
for i:=2 to round(sqrt(n)) do
if a[i] then
begin
j:=i;
while j+i<=n do
begin
inc(j,i);
a[j]:=false;
end;
end;
poz:=0;
for i:=2 to round(sqrt(n)) do
if a[i] then
begin
inc(poz);
b[poz]:=i;
end;
for l:=1 to t do
begin
readln(f,n);
s:=1;
nr:=1;
n1:=n;
i:=1;
while (b[i]<=round(sqrt(n)))and(i<=poz) do
if (n1 mod b[i]=0) then
begin
begin
j:=0;
k:=b[i];
while n1 mod b[i]=0 do
begin
n1:=n1 div b[i];
inc(j);
k:=k*b[i];
end;
nr:=nr*(j+1);
s:=s*((k-1) div (b[i]-1)) mod 9973;
end;
inc(i);
end else inc(i);
if n1<>1 then
begin
nr:=nr*2;
s:=s*((n1*n1-1) div (n1-1)) mod 9973;
end;
writeln(g,nr,' ',s);
end;
close(g);
end.