# verification-helper: PROBLEM https://yukicoder.me/problems/no/2373 from collections import deque def main() -> None: n = int(input()) s = list(input()) dp = [[False] * 4 for _ in range(n + 1)] # 0 := w, 1 := a, 2 := o, 3 := n, 4 := ? if s[0] == "w": dp[1][0] = True elif s[0] == "n": dp[1][3] = True elif s[0] == "?": dp[1][0] = True dp[1][3] = True else: exit(print("No")) for i in range(2, n + 1): if s[i - 1] == "a": dp[i][1] |= dp[i - 1][0] elif s[i - 1] == "o": dp[i][2] |= dp[i - 1][0] elif s[i - 1] == "w": dp[i][0] = True elif s[i - 1] == "n": dp[i][3] = True elif s[i - 1] == "?": if dp[i - 1][0]: dp[i][1] = True dp[i][2] = True else: dp[i][3] = True else: exit(print("No")) #print(*dp, sep="\n") print("Yes") if dp[n][1] or dp[n][2] or dp[n][3] else print("No") if __name__ == "__main__": main()