program printreverse;
{legge una stringa dallo schermo, mette isuoi caratteri in una pila
e poi stampa la pila}
uses ustackca;

var s:stack;

procedure fillstack(var s:stack);
{legge dei caratteri e li mette in una pila}
var nextch:char;
begin
  writeln('Scrivi una stringa e premi enter:');
  while not eoln do
    begin
    read(nextch);
    s.push(nextch)
    end;
end;

procedure displaystack(var s:stack);
{prende ogni elemento della pila e lo stampa}
var success:boolean;
    nextch:char;
begin
 while not s.isempty do
   begin
   s.pop(nextch,success);
   write(nextch)
   end;
 writeln
end;

begin
  s.init;
  fillstack(s);
  displaystack(s);
  s.done
end.