program Binarni_strom_vyhledavani;

uses crt;

type UVrchol = ^Vrchol;
     Vrchol = record
                hodnota:integer;
                levy,pravy:UVrchol
              end;

var koren : UVrchol;
    hod : integer;

procedure Inorder(koren :UVrchol);
begin
  if (koren <> nil) then
  begin
    Inorder(koren^.levy);
    write(koren^.hodnota:8);
    Inorder(koren^.pravy);
  end;
end;

procedure Hledej(koren :UVrchol);
var nalezeno : boolean;
begin
  nalezeno := false;
  if (koren <> nil) then
  begin
    if koren^.hodnota = hod then
    begin
      nalezeno := true;
      write('Hodnota byla nalezena');
    end;
    if koren^.hodnota > hod then Hledej(koren^.levy);
    if koren^.hodnota < hod then Hledej(koren^.pravy);
  end
  else if nalezeno = false then writeln('Hodnota nebyla nalezena.');
end;

procedure Pridej_na_konec(c :integer; var rodic :UVrchol);
begin
  new(rodic);
  with rodic^ do
  begin
    hodnota:=c;
    levy:=nil;
    pravy:=nil
  end;
end;

procedure Pridej(c :integer; var rodic :UVrchol);
begin
  if (rodic = nil) then Pridej_na_konec(c, rodic)
  else if not(c = rodic^.hodnota) then
  begin
    if c