#include using namespace std; typedef long long ll; typedef vector VI; typedef vector VVI; typedef vector VL; typedef vector VVL; typedef pair PII; #define FOR(i, a, n) for (int i = (int)a; i < (int)n; ++i) #define REP(i, n) FOR(i, 0, n) #define ALL(x) x.begin(), x.end() #define MOD 1000000007 #define INF 1000000000 #define PI 3.14159265359 #define EPS 1e-12 int a[200010]; int main(void) { int n; ll k; cin >> n >> k; REP(i, n) { int d; cin >> d; a[i+1] = d; } int ans = 0; bool used[200010]; memset(used, false, sizeof(used)); FOR(i, 1, n+1) { if(used[i]) continue; used[i] = true; int start = i, cnt = i, ret = 1; while(start != a[cnt]) { cnt = a[cnt]; //cout << cnt << endl; ret++; used[cnt] = true; } ans += (ret - 1); } //cout << ans << endl; if(k < ans) { cout << "NO" << endl; return 0; } if((k-ans)%2) cout << "NO" << endl; else cout << "YES" << endl; return 0; }