uses skyline;

const MAXN = 1000000;
var N, subtask, K, i : longint;
    H : array[0..MAXN-1] of longint;
    fr, fw : text;

begin
    assign(fr, 'input.txt'); reset(fr);
    readln(fr, subtask);
    read(fr, N);
    assign(fw, 'output.txt'); rewrite(fw);
    if subtask = 0 then
    begin
        for i:=0 to N-1 do
            read(fr, H[i]);
        writeln(fw, valuta(N, H));
    end
    else if subtask = 0 then
    begin
        read(fr, K);
        progetta(N, K, H);
        for i:=0 to N-1 do
        begin
            if i > 0 then write(fw, ' ');
            write(fw, H[i]);
        end;
        writeln(fw);
    end;
    close(fr);
    close(fw);
end.
