#include #include int main(){ int n,i,temp; double k,cnt=0; scanf("%d",&n); scanf("%lf",&k); int d[n+1]; for(i=1;i<=n;i++){ scanf("%d",&d[i]); } while(1){ int CNT=0; for(i=1;i<=n;i++){ if(d[i]!=i){ temp=d[d[i]]; d[d[i]]=d[i]; d[i]=temp; cnt++; CNT++; } } if(CNT==0)break; } for(i=1;i<=n;i++)printf("%d ",d[i]); printf("\n"); printf("%f\n",cnt); if(cnt==k)printf("YES\n"); else if(cnt==0&&fmod(k,2.0)==0)printf("YES\n"); else printf("NO\n"); return 0; }