------
## 最终结论
```python
def process_test_case(n, s):
    target = "abacaba"
    s_list = list(s)
    
    # Try to place "abacaba" in each possible position
    for i in range(n - 6):  # n - len(target) + 1
        # Check if we can place "abacaba" at position i
        can_place = True
        for j in range(7):
            if s[i + j] != '?' and s[i + j] != target[j]:
                can_place = False
                break
        
        if can_place:
            # Create a copy of the string with "abacaba" placed
            temp_s = s_list[:]
            for j in range(7):
                temp_s[i + j] = target[j]
            
            # Replace remaining '?' with 'z' (or any other letter)
            temp_s = ''.join([ch if ch != '?' else 'z' for ch in temp_s])
            
            # Check if "abacaba" appears exactly once
            if temp_s.count(target) == 1:
                return "Yes\n" + temp_s
    
    return "No"

# Read number of test cases
T = int(input())
results = []

for _ in range(T):
    n = int(input())
    s = input().strip()
    result = process_test_case(n, s)
    results.append(result)

# Output all results
print("\n".join(results))
```