program diamond;
var
n: integer;
procedure DrawRow(y, n: integer);
var
x, outerWidth, innerWidth: integer;
begin
outerWidth := n - abs(y);
innerWidth := n - 2 - abs(y);
for x := -n to n do
begin
if (abs(x) = outerWidth) or
((n >= 5) and (innerWidth > 0) and
(abs(y) < n - 2) and (abs(x) = innerWidth)) then
write('*')
else
write(' ');
end;
writeln;
end;
procedure DrawTop(y, n: integer);
begin
if y >= 0 then
begin
DrawRow(y, n);
DrawTop(y - 1, n);
end;
end;
procedure DrawBottom(y, n: integer);
begin
if y <= n then
begin
DrawRow(y, n);
DrawBottom(y + 1, n);
end;
end;
begin
write('Enter size (5 or more): ');
readln(n);
if n >= 5 then
begin
DrawTop(n, n);
DrawBottom(-n + 1, n);
end;
end.