#include <bits/stdc++.h>
using namespace std;
string to_string(string s) { return '"' + s + '"'; }
string to_string(const char* s) { return to_string((string)s); }
string to_string(bool b) { return (b ? "true" : "false"); }
template <typename A, typename B>
string to_string(pair<A, B> p) {
  return "(" + to_string(p.first) + ", " + to_string(p.second) + ")";
}
template <typename A>
string to_string(A v) {
  bool z = true;
  string r = "{";
  for (const auto& x : v) {
    if (!z) {
      r += ", ";
    }
    z = false;
    r += to_string(x);
  }
  r += "}";
  return r;
}
void debug_out() { cerr << endl; }
template <typename Head, typename... Tail>
void debug_out(Head H, Tail... T) {
  cerr << " " << to_string(H);
  debug_out(T...);
}
void solve() {
  long long n, i, j, k, c;
  cin >> n;
  string s, t = "abacaba", z, y;
  cin >> s;
  for (i = 0; i <= n - 7; i++) {
    k = 0;
    y = s;
    for (j = i; j < i + 7; j++) {
      if (y[j] != t[k]) {
        if (y[j] == '?') {
          y[j] = t[k];
        } else {
          break;
        }
        k++;
      } else
        k++;
    }
    c = 0;
    for (j = 0; j <= n - 7; j++) {
      z = y.substr(j, 7);
      if (z == t) c++;
    }
    if (c == 1) {
      cout << "Yes\n";
      for (i = 0; i < n; i++) {
        if (y[i] == '?')
          cout << "z";
        else
          cout << y[i];
      }
      cout << "\n";
      return;
    }
  }
  cout << "No\n";
}
int main() {
  ios_base::sync_with_stdio(false), cin.tie(0), cout.tie(0);
  long long t = 1;
  cin >> t;
  while (t--) solve();
  return 0;
}
