#include <bits/stdc++.h>
using namespace std;

int niz[500005];
bool ozn[500005];

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
   //freopen("ulaz.txt", "r", stdin);

    int n, k;
    cin>>n>>k;

    for(int i = 1; i <= n; i++)
    {
        cin>>niz[i];
    }

    memset(ozn, true, sizeof(ozn));

    int val = k;
    int tren_ind = 1;

    while(val != 0)
    {
        cout<<val<<endl;
        int lokal_mini = niz[tren_ind];
        int lokal_ind = tren_ind;

        for(int i = tren_ind; i <= min(tren_ind + val, n); i++)
        {
            if(niz[i] < lokal_mini)
            {
                lokal_mini = niz[i];
                lokal_ind = i;
            }
        }

        for(int i = tren_ind; i < lokal_ind; i++)
        {
            ozn[i] = false;
        }

        val -= (lokal_ind - tren_ind);
        tren_ind = lokal_ind + 1;
    }

    for(int i = 1; i <= n; i++)
    {
        if(ozn[i]) cout<<niz[i]<<" ";
    } cout<<endl;


    return 0;
}