n=gets.to_i a=(0..n).map{[0]*101} j=0;gets.split.map{|d|d=d.to_i;j+=a[(j+d)%n][j]=a[(j-d%n+n)%n][j]=1} j=-1;gets.split.map{|w|a[j+=1][n]=1-w.to_i} r=0 (0...n).map{|h|(r..n).each{|i|a[r],a[i]=a[i],a[r]if a[i][h]>0} a[r][h]>0&&(r+1..n).map{|i|a[i][h]>0&&(h..n).map{|j|a[i][j]^=a[r][j]}}&&r+=1} puts (r..n).map{|i|a[i][n]}.max>0?:No: :Yes