with ada.text_io; use ada.text_io; 
with ada.integer_text_io; use ada.integer_text_io; 
with ada.float_text_io; use ada.float_text_io; 
 
procedure e3  is 
    type employee_record is record
        name: String(1 .. 20);
        id: String(1 .. 6);
        salary: float;
    end record;

    type emp_rec_array is array(1 .. 100) of employee_record;
    emps: emp_rec_array;
    count: Natural := 0;
    -- emps: array(1 .. 100) of employee_record;
    e: employee_record;
begin
    skip_line;
    while not end_of_file loop
        count := count + 1;
        get(e.name);
        get(e.id);
        get(e.salary);

        emps(count) := e;
    end loop;

    for i in reverse 1 .. count loop
        e := emps(i);
        if e.salary > 100_000.0 then
            put(e.name);
            put(e.id);
            put(e.salary, fore=>9, aft=>2, exp=>0);
            new_line;
        end if;
    end loop;
    put_line("all done");
end e3;