#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; const double EPS = 1e-9; typedef vector vint; typedef pair pint; #define rep(i, n) REP(i, 0, n) #define ALL(v) v.begin(), v.end() #define MSG(a) cout << #a << " " << a << endl; #define REP(i, x, n) for(int i = x; i < n; i++) template void chmax(T& a, C b){ a>b?:a=b; } template void chmin(T& a, C b){ a> N >> K; for(int i = 0; i < N; i++){ cin >> d[i]; } for(ll i = 0; i < N; i++){ if(d[i] == i+1){ }else{ res++; i = min(i,d[i]-1); swap(d[i],d[d[i]-1]); i-=1; } } //cout << res << endl; if(res <= K && (K-res) % 2 == 0){ cout << "YES" << endl; }else{ cout << "NO" << endl; } }