#include #include #include using namespace atcoder; using namespace std; #define rep(i,n) for (int i = 0; i < (n); ++i) #define Inf 100000000000 int main(){ int N; cin>>N; vector a(N); rep(i,N){ cin>>a[i]; a[i]--; } dsu D(N); rep(i,N)D.merge(i,a[i]); set s; auto g = D.groups(); rep(i,g.size()){ if(g[i].size()%2==1)continue; int t = g[i].size(); if(s.count(t))s.erase(t); else s.insert(t); } if(s.size()==0)cout<<"Yes"<