#include<cstdio> #include<algorithm> using namespace std; int a[200000]; bool used[200000]; int dfs(int x,int cnt){ used[x] = true; if(used[a[x]]||x==a[x]) return cnt; else return dfs(a[x],cnt+1); } int main(){ long long n,k,m = 0; scanf("%lld %lld",&n,&k); fill(used,used+n,false); for(int i=0;i<n;i++){ int d; scanf("%d",&d); a[i] = d - 1; } for(int i=0;i<n;i++) m += dfs(i,0); if(m<=k&&(k-m)%2==0) printf("YES\n"); else printf("NO\n"); return 0; }