#pragma GCC optimize("Ofast") #pragma GCC target("avx2") char*mmap(); #define RD(v) v=0;{int _c;while(_c=*rp++-48,_c>=0)v=v*10+_c;} d[200001]; main(){ char*rp=mmap(0l,1l<<28,1,2,0,0ll); int RD(n); long RD(k); for(int i=1;i<=n;++i){ int RD(di); d[i]=di; } int c=0; for(int i=1;i<=n;++i){ int s=d[i],t=d[s]; while(d[s]=0,t=d[s=t]){ ++c; } } write(1,c>k|c+k&1?"NO ":"YES",3); _exit(0); }