lines = readlines.map(&:chomp) N = lines[0].to_i S = lines[1] dp = Array.new(N) { Array.new(26, false) } if S[0] == '?' 26.times { |j| dp[0][j] = true } end if S[0] == 'n' dp[0][13] = true end if S[0] == 'w' dp[0][22] = true end if S[0] == 'a' || S[0] == 'o' puts "No" exit end dp_i = dp[0] 1.upto(N - 1) do |i| dp_i1 = dp[i - 1] dp_i = dp[i] 0.upto(25) do |j| if dp_i1[j] if j == 22 if S[i] == 'a' dp_i[0] = true end if S[i] == 'o' dp_i[14] = true end if S[i] == '?' dp_i[0] = true dp_i[14] = true end else if S[i] == 'w' dp_i[22] = true end if S[i] == 'n' dp_i[13] = true end if S[i] == '?' dp_i[22] = true dp_i[13] = true end end end end end ans = dp[N - 1][0] || dp[N - 1][14] || dp[N - 1][13] if ans puts "Yes" else puts "No" end