// yukicoder: No.100 直列あみだくじ // 2019.8.7 bal4u #include #if 1 #define gc() getchar_unlocked() #else #define gc() getchar() #endif int in() { // 非負整数の入力 int n = 0, c = gc(); do n = 10 * n + (c & 0xf); while ((c = gc()) >= '0'); return n; } int N; int a[55], t[55]; char f[55]; int main() { int i, j, w, ans; N = in(); for (i = 1; i <= N; i++) a[i] = in(); for (i = 1; i <= N; i++) if (!f[i]) { j = i, w = 0; while (!f[j]) f[j] = 1, j = a[j], w++; t[w]++; } // for (i = 1; i <= N; i++) printf("%d ", t[i]); printf("\n"); ans = 1; for (i = 2; i <= N; i+=2) if (t[i] & 1) { ans = 0; break; } puts(ans? "Yes": "No"); return 0; }