#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; long long MOD = 1000000007; int main() { int N; long long K; cin >> N >> K; vector A(N); for ( int i = 0; i < N; i++ ) { cin >> A[i]; A[i]--; } int x = 0, y = 0; for ( int i = 0; i < N; i++ ) { if ( A[i] == i ) { continue; } if ( A[A[i]] != i ) { x++; } if ( A[A[i]] == i ) { y++; } } y /=2; int z = y+max(0,x-1); if ( K < z ) { cout << "NO" << endl; } else { cout << ( (K - z)%2 ? "NO" : "YES" ) << endl; } return 0; }