#include <cstdio>
#include <vector>
using namespace std;
vector<int> mas[10000];
int pred[10000],stoinost[10000],n,k,br;
bool arests[10000];
int arested(int tek){
    for (int i=0;i<mas[tek].size();++i){
        stoinost[tek]+=arested(mas[tek][i]);
    }
    ++stoinost[tek];
    if (stoinost[tek]<k){return stoinost[tek];}
    else{arests[tek]=1;br++;return 0;}
}
int main(){
    scanf("%d%d",&k,&n);
    for (int i=1;i<n;++i){
        scanf("%d",&pred[i]);
        --pred[i];
        mas[pred[i]].push_back(i);
    }
    arested(0);
    printf("%d\n",br);
    for (int i=n-1;i>=0;--i){
        if (arests[i]){printf("%d ",i+1);}
    }
    printf("\n");
    return 0;
}
