program test;
procedure byref(var x : Integer);
begin
Inc(x);
end;
type PInteger = ^Integer;
procedure byptr(x : PInteger);
begin
if x <> nil then Inc(x^);
end;
var x : Integer = 0;
begin
writeln(x);
byref(x);
writeln(x);
byptr(@x);
writeln(x);
end.
cHJvZ3JhbSB0ZXN0OwoKcHJvY2VkdXJlIGJ5cmVmKHZhciB4IDogSW50ZWdlcik7CmJlZ2luCiAgSW5jKHgpOwplbmQ7Cgp0eXBlIFBJbnRlZ2VyID0gXkludGVnZXI7Cgpwcm9jZWR1cmUgYnlwdHIoeCA6IFBJbnRlZ2VyKTsKYmVnaW4KICBpZiB4IDw+IG5pbCB0aGVuIEluYyh4Xik7CmVuZDsKCnZhciB4IDogSW50ZWdlciA9IDA7CgpiZWdpbgogIHdyaXRlbG4oeCk7CiAgYnlyZWYoeCk7CiAgd3JpdGVsbih4KTsKICBieXB0cihAeCk7CiAgd3JpdGVsbih4KTsKZW5kLg==