#include using lint=long long; int main(){ std::cin.tie(nullptr);std::ios_base::sync_with_stdio(false); std::cout.setf(std::ios_base::fixed);std::cout.precision(15); lint n,k;std::cin>>n>>k; std::vectorp(n); for(lint i=0;i>x; p.at(i)=x-1; } lint cost=n; std::vectorckd(n); for(lint i=0;ique; que.push(i); ckd.at(i)=true; while(!que.empty()){ lint x=que.front();que.pop(); lint y=p.at(x); if(!ckd.at(y)){ que.push(y); ckd.at(y)=true; } } cost--; } std::cout<<(cost<=k&&(k-cost)%2==0?"YES":"NO")<<'\n'; }