#include #include #include #include #define rep(i, n) for (i = 0; i < n; i++) #define rrep(i, n) for (i = n; i >= 0; i--) #define max(a, b) (a > b ? a : b) #define min(a, b) (a < b ? a : b) void swap(int *a, int *b) { int tmp = *a; *a = *b; *b = tmp; } int main() { long long n, k; scanf("%lld %lld", &n, &k); int d[200000], i, j; rep(i, n) scanf("%d", &d[i]); int ans = 0; rep(i, n) { if (d[i] != i + 1) { int idx; for (j = i; j < n; j++) { if (d[j] == i + 1) { idx = j; break; } } swap(&d[i], &d[idx]); ans++; } } if (k < ans || (k - ans) % 2) puts("NO"); else puts("YES"); return 0; }