Pagini recente » Cod sursa (job #172533) | Cod sursa (job #1817024) | Cod sursa (job #1694585) | Cod sursa (job #2726741) | Cod sursa (job #447684)
Cod sursa(job #447684)
var
n,j:longint;
i,dim,exp,k,prod,putere,divizor,indice,nr,p:longint;
a,prim,v:array[1..10000] of longint;
f,g:text;
begin
assign(f,'ssnd.in'); reset(f);
assign(g,'ssnd.out'); rewrite(g);
read(f,n);
for j:=1 to n do
read(f,a[j]);
{Eratostene}
i:=2;
while i<= 10000 do
begin
if v[i]=0 then
begin
inc(dim);
prim[dim]:=i;
k:=2;
while k*i<=10000 do
begin
v[k*i]:=1;
inc(k);
end;
end;
inc(i);
end;
for j:=1 to n do
begin
divizor:=prim[1]; indice:=1;
k:=1; prod:=1;
nr:=a[j];
{Descompunerea in factori primi}
while nr<>1 do
begin
exp:=0; putere:=1;
while nr mod divizor=0 do
begin
inc(exp);
putere:=putere* divizor;
nr:=nr div divizor;
end;
if exp<>0 then
begin
k:=k*(exp+1);
prod:=prod*(putere*divizor -1) div (divizor-1);
end;
inc(indice);
divizor:=prim[indice];
end;
writeln(g,k,' ',prod mod 9973);
end;
close(f);
close(g);
end.