program types(output);
  var
    x: boolean;
    y,z: integer;

  procedure foo;
    var
      x,y, z: real;
    procedure bar(x: integer);
      var
        i: integer;
    begin { bar }
      write(x);
      write(i);
    end; { bar }
  begin { foo }
  end; { foo }

  procedure baz(q: integer);
    var
      x, r: real;
  begin
    write(x);
  end;

begin
  x := true or false;
  y := 1;
  z := y + y * y;
  write(x);
end.

