with ada.text_io; use ada.text_io; 
with ada.integer_text_io; use ada.integer_text_io; 
 
procedure printnprocs is 
    maxSize: constant natural := 100; -- maximum array size

    type intarray is array(1 .. maxsize) of Integer;

    -- Must have a new type to use an array as a parameter
    procedure myget(a: out intarray; ne: out Natural) is
        num: integer;
    begin
        ne := 0;
        while not end_of_file and ne < maxSize loop
            get(num);
            ne := ne + 1;
            a(a'first + ne) := num;
        end loop;
    end myget;

    procedure myput(a: in intarray; ne: in Natural) is
    begin
        for i in reverse a'first .. a'first + ne - 1  loop
            put(a(i)); 
            new_line;
        end loop;
    end myput;

    numEntered: Natural;
    
    thearray: intarray;
begin 

    myget(thearray, numEntered);
    myput(thearray, numEntered);

end printnprocs;