#include <bits/stdc++.h>
using namespace std;
const string str = "abacaba";
string s;
int T, n;
inline bool check(int t, string s) {
  if (t + 6 >= n) return false;
  for (register int i = 0; i <= 6; ++i)
    if (s[t + i] != str[i]) return false;
  return true;
}
inline int count(string s) {
  int cnt = 0;
  for (register int i = 0; i < s.size(); ++i)
    if (s[i] == 'a' && check(i, s)) ++cnt;
  return cnt;
}
inline string check2(int t) {
  if (t + 6 >= n) return "-";
  string ret = s;
  for (register int i = 0; i <= 6; ++i)
    if (ret[t + i] != str[i] && ret[t + i] != '?')
      return "-";
    else
      ret[t + i] = str[i];
  for (register int i = 0; i < n; ++i)
    if (ret[i] == '?') ret[i] = 'e';
  if (count(ret) == 1)
    return ret;
  else
    return "-";
}
int main() {
  scanf("%d", &T);
  while (T--) {
    scanf("%d", &n);
    cin >> s;
    int cnt = count(s);
    if (cnt >= 2)
      printf("No\n");
    else if (cnt == 1) {
      printf("Yes\n");
      for (register int i = 0; i < n; ++i)
        if (s[i] == '?')
          printf("e");
        else
          printf("%c", s[i]);
      printf("\n");
    } else {
      bool flag = false;
      for (register int i = 0; i < n; ++i) {
        string tmp = check2(i);
        if (tmp[0] != '-') {
          flag = true;
          printf("Yes\n");
          cout << tmp << endl;
          break;
        }
      }
      if (!flag) printf("No\n");
    }
  }
  return 0;
}
