program test;
type Ptr = ^Integer;
var x, y : Ptr;
procedure Print(n : Integer; x, y : Ptr);
begin WriteLn(n, '. x = ', x^:8, ', y = ', y^:8) end;
begin
x := New(Ptr);
y := x;
Print(1, x, y);
Inc(x, -1);
Print(2, x, y);
x^ := 123;
Print(3, x, y);
Dispose(y);
end.
cHJvZ3JhbSB0ZXN0OwoKdHlwZSBQdHIgPSBeSW50ZWdlcjsKCnZhciB4LCB5IDogUHRyOwoKcHJvY2VkdXJlIFByaW50KG4gOiBJbnRlZ2VyOyB4LCB5IDogUHRyKTsKYmVnaW4gV3JpdGVMbihuLCAnLiB4ID0gJywgeF46OCwgJywgeSA9ICcsIHleOjgpIGVuZDsKCmJlZ2luCiAgICB4IDo9IE5ldyhQdHIpOwogICAgeSA6PSB4OwogICAgUHJpbnQoMSwgeCwgeSk7CiAgICBJbmMoeCwgLTEpOwogICAgUHJpbnQoMiwgeCwgeSk7CiAgICB4XiA6PSAxMjM7CiAgICBQcmludCgzLCB4LCB5KTsKICAgIERpc3Bvc2UoeSk7CmVuZC4=