Pagini recente » Cod sursa (job #2944947) | Cod sursa (job #308577) | Cod sursa (job #1233912) | Cod sursa (job #33589) | Cod sursa (job #570427)
Cod sursa(job #570427)
var a:array[1..1000000]of boolean;
b:array[1..1000000]of int64;
c,k,t:longint;
procedure ciur;
var i,j:longint;
begin
for i:=1 to 1000000 do a[i]:=true;
k:=0;
for i:=2 to 1000000 do
if a[i] then
begin
j:=i*2;
while j<=1000000 do
begin
a[j]:=false;
j:=j+i;
end;
inc(k); b[k]:=i;
end;
end;
function calc(n:int64):int64;
var i:longint; p,l,j,h:int64;
begin
p:=1;l:=1;
for i:=1 to k do
begin
if n mod b[i]=0 then
begin
j:=1; h:=0;
while n mod b[i]=0 do
begin
j:=j*b[i];
n:=n div b[i];
inc(h);
end;
j:=j*b[i]-1; l:=l*(b[i]-1); p:=p*j; c:=c*(h+1);
end;
if n=1 then break;
end;
calc:=round(p/l);
end;
procedure afis;
var i:longint;x,p:int64; f,f2:text;
begin
assign(f,'ssnd.in');
reset(f);
assign(f2,'ssnd.out');
rewrite(f2);
readln(f,t);
for i:=1 to t do
begin
readln(f,x);
c:=1;
p:=calc(x) mod 9973;
writeln(f2,c,' ',p);
end;
close(f2);
close(f);
end;
begin
ciur;
afis;
end.