#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n,k,*polja,i,p,zameniti = 0;
    int Ai = 1;//jeste specijalno
    int m1=0,c=0,p1=0;
    
    scanf("%d %d",&n,&k);
    //printf("%d %d",n,k);
    
    
    
    for(i=0;i<n;i++){
        scanf("%d",&p);
        
        if(Ai==1){
            //provera dal zameniti tek na kraju
            if(p==-1){
                m1++;
            }else if(p==0){
                c++;
            }else if(p==1){
                p1++;
            }else{
                //Izadji iz specijalnog moda
                Ai = 0;
                
                //stvarati samo ako je neophodno
                polja = (int*)calloc((n*2+1), sizeof(int));
                
                //Dodeliti sve neophodno u normalan rezim rada
                //Izracunati kolko za zamenu jer do sad nije praceno
                //////////////////////////////////////////
                
                 if(m1>=k){
                     polja[n-1] = -100;
                     zameniti++;
                 }else polja[n-1] = m1;
                 
                 if(c>=k){
                     polja[n] = -100;
                     zameniti++;
                 }else polja[n] = c;
                 
                 if(p1>=k){
                     polja[n+1] = -100;
                     zameniti++;
                 }else polja[n+1] = p1;
            
                //////////////////////////////////////////
            }
        }
        
        if(Ai==1) continue;
        
        p+=n;
        
        //samo ako nije vec zamenjeno
        if(polja[p]>-1){
            if(++polja[p]>=k){
                polja[p] = -100;
                zameniti++;
            }
        }
        
        //printf("[%d]:%d ",p,polja[p]);
    }
    
    //provera za zamenu ako specijalno
    if(Ai == 1){
     if(m1>=k)zameniti++;
     if(c>=k)zameniti++;
     if(p1>=k)zameniti++;
    }
    
    printf("%d\n",zameniti);
    
    //Stampati koje treba zameniti
    if(Ai == 1){
        if(m1>=k)printf("-1 ");
        if(c>=k)printf("0 ");
        if(p1>=k)printf("1 ");
        //printf("\nSPEC");
    }else{
        for(i=0;i<(n*2+1);i++){
            //printf("%5d ",polja[i]);
            if(polja[i]<0)
                printf("%d ",i-n);
        }
    }
    
    return 0;
}