n=gets.to_i a=(0..n).map{[0]*101} j=0 gets.split.map{|d| d=d.to_i a[(j+d)%n][j]=a[(j-d%n+n)%n][j]=1 j+=1 } j=0 gets.split.map{|w| a[j][n]=1-w.to_i j+=1 } 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