program typed;
{$IF Defined(FPC)}
{$MODE Delphi}
{$ENDIF}
uses SysUtils;
type
TCoor = record
x, y: Integer;
end;
var
c: TCoor;
p: Pointer;
function Eval(var u): Pointer;
begin
TCoor(u).x := 2;
TCoor(u).y := 2;
Result := @u;
end;
begin
c.x := 1;
c.y := 1;
WriteLn(Format('x - %d', [c.x]));
WriteLn(Format('y - %d', [c.y]));
WriteLn(Format('p - %p', [@c]));
p := Eval(c);
WriteLn(Format('x - %d', [c.x]));
WriteLn(Format('y - %d', [c.y]));
WriteLn(Format('p - %p', [p]));
end.
cHJvZ3JhbSB0eXBlZDsKeyRJRiBEZWZpbmVkKEZQQyl9CnskTU9ERSBEZWxwaGl9CnskRU5ESUZ9Cgp1c2VzIFN5c1V0aWxzOwoKdHlwZQogIFRDb29yID0gcmVjb3JkCiAgICB4LCB5OiBJbnRlZ2VyOwogIGVuZDsKCnZhcgogIGM6IFRDb29yOwogIHA6IFBvaW50ZXI7CgpmdW5jdGlvbiBFdmFsKHZhciB1KTogUG9pbnRlcjsKYmVnaW4KICBUQ29vcih1KS54IDo9IDI7CiAgVENvb3IodSkueSA6PSAyOwogIFJlc3VsdCA6PSBAdTsKZW5kOwoKYmVnaW4KICBjLnggOj0gMTsKICBjLnkgOj0gMTsKICBXcml0ZUxuKEZvcm1hdCgneCAtICVkJywgW2MueF0pKTsKICBXcml0ZUxuKEZvcm1hdCgneSAtICVkJywgW2MueV0pKTsKICBXcml0ZUxuKEZvcm1hdCgncCAtICVwJywgW0BjXSkpOwogIHAgOj0gRXZhbChjKTsKICBXcml0ZUxuKEZvcm1hdCgneCAtICVkJywgW2MueF0pKTsKICBXcml0ZUxuKEZvcm1hdCgneSAtICVkJywgW2MueV0pKTsKICBXcml0ZUxuKEZvcm1hdCgncCAtICVwJywgW3BdKSk7CmVuZC4=