# stackかと思ったが、スタックのlast参照するのとは違う N = int(input()) S = list(input()) bad = 'bcdefghijklmpqrstuvxyz' used = [0]*N ans = 'Yes' for i in range(N): if S[i] in bad: ans = 'No' if i < N-1: if S[i] == 'w': if S[i+1] == 'w' or S[i+1] == 'n': ans = 'No' if S[i+1] == '?': S[i+1] = 'a' for i in range(N-1, -1, -1): if i > 0: if S[i] == 'a': if S[i-1] == 'a' or S[i-1] == 'o': ans = 'No' if S[i-1] != '?': S[i-1] = 'w' if S[i] == 'o': if S[i-1] == 'a' or S[i-1] == 'o': ans = 'No' if S[i-1] != '?': S[i-1] = 'w' print(ans)