program spirall;
uses crt;
const Size=15;
k=-1; {pystaya ya4ejka soderjit zna4enie k}
var mas:array[1..size,1..size]of shortint;
i,j,a:integer;

function freemas(i,j: shortint): boolean;
begin
if (i<1) or (i>size) or (j<1) or (j>size)
then freemas:=false
else freemas:=(mas[i,j]=k);
end;

procedure draw; {pe4at' massiva}
begin
writeln;
for i:=1 to size do begin
  for j:=1 to size do write(mas[i,j]:2,'|');
  writeln;
  end;
end;

begin
for i:=1 to size do
  for j:=1 to size do mas[i,j]:=k; {zapolnenie massiva pystimi ya4ejkami}

clrscr;
i:=1;
j:=1;
mas[i,j]:=1;

for a:=1 to sqr(size)-1 do
begin
 if (freemas(i-1,j)) and (not freemas(i,j-1)) then begin dec(i); mas[i,j]:=a+1; end else
 if freemas(i,j+1) then begin inc(j); mas[i,j]:=a+1; end else
 if freemas(i+1,j) then begin inc(i); mas[i,j]:=a+1; end else
 if freemas(i,j-1) then begin dec(j); mas[i,j]:=a+1; end else
 continue;
end;

draw;
readkey;
end.