{$MODE OBJFPC}{$LONGSTRINGS ON}
type
TArray = array [0 .. 4, 0 .. 4] of Integer;
procedure Fill(out AArray: TArray; AX, AY, AValue, AStep: Integer);
begin
if 5 in [AX, AY] then Exit;
AArray[AX, AY] := AValue;
if AValue in [0, 5] then
AStep *= -1;
Fill(AArray, AX, AY + 1, AValue + AStep, AStep);
if AY = 0 then
Fill(AArray, AX + 1, AY, AValue + AStep, AStep);
end;
procedure Show(const AArray: TArray);
var
X, Y: Integer;
begin
for Y in [0 .. 4] do
begin
for X in [0 .. 4] do
Write(AArray[X, Y]:2);
WriteLn();
end;
end;
var
MyArray: TArray;
begin
Fill(MyArray, 0, 0, 1, 1);
Show(MyArray);
end.
eyRNT0RFIE9CSkZQQ317JExPTkdTVFJJTkdTIE9OfQoKdHlwZQogIFRBcnJheSA9IGFycmF5IFswIC4uIDQsIDAgLi4gNF0gb2YgSW50ZWdlcjsKCiAgcHJvY2VkdXJlIEZpbGwob3V0IEFBcnJheTogVEFycmF5OyBBWCwgQVksIEFWYWx1ZSwgQVN0ZXA6IEludGVnZXIpOwogIGJlZ2luCiAgICBpZiA1IGluIFtBWCwgQVldIHRoZW4gRXhpdDsKCiAgICBBQXJyYXlbQVgsIEFZXSA6PSBBVmFsdWU7CgogICAgaWYgQVZhbHVlIGluIFswLCA1XSB0aGVuCiAgICAgIEFTdGVwICo9IC0xOwoKICAgIEZpbGwoQUFycmF5LCBBWCwgQVkgKyAxLCBBVmFsdWUgKyBBU3RlcCwgQVN0ZXApOwoKICAgIGlmIEFZID0gMCB0aGVuCiAgICAgIEZpbGwoQUFycmF5LCBBWCArIDEsIEFZLCBBVmFsdWUgKyBBU3RlcCwgQVN0ZXApOwogIGVuZDsKCiAgcHJvY2VkdXJlIFNob3coY29uc3QgQUFycmF5OiBUQXJyYXkpOwogIHZhcgogICAgWCwgWTogSW50ZWdlcjsKICBiZWdpbgogICAgZm9yIFkgaW4gWzAgLi4gNF0gZG8KICAgIGJlZ2luCiAgICAgIGZvciBYIGluIFswIC4uIDRdIGRvCiAgICAgICAgV3JpdGUoQUFycmF5W1gsIFldOjIpOwoKICAgICAgV3JpdGVMbigpOwogICAgZW5kOwogIGVuZDsKCnZhcgogIE15QXJyYXk6IFRBcnJheTsKYmVnaW4KICBGaWxsKE15QXJyYXksIDAsIDAsIDEsIDEpOwogIFNob3coTXlBcnJheSk7CmVuZC4K