def solve(n, s): if n <= 2: return True s = list(s) for i in range(n): if s[i] == "?": if s[(i - 1) % n] == s[(i - 2) % n] != "?": s[i] = str(int(s[i - 1]) ^ 1) for i in range(n - 1, -1, -1): if s[i] == "?": if s[(i + 1) % n] == s[(i + 2) % n] != "?": s[i] = str(int(s[(i + 1) % n]) ^ 1) s = "".join(s) t = s + s return "111" not in t and "000" not in t for tc in range(int(input())): print("Yes" if solve(int(input()), input()) else "No")