n=gets.to_i f=gets.split.map &:to_i puts (1..n).map{|u|l=0;m=v=u;(l+=1;m=[m,v].min)while(v=f[v-1])!=u;[l,m]}.uniq.group_by{|x|x[0]}.any?{|k,v|k[0]*v.size%2>0}?:No: :Yes