#include <bits/stdc++.h>
using namespace std;
void pre() {
  ios_base::sync_with_stdio(false);
  cin.tie(nullptr);
}
bool startsWith(const string &s, const string &prefix, int index,
                bool replaceQuestionMarks) {
  if (index + prefix.length() > s.length()) {
    return false;
  }
  for (int i = 0; i < prefix.length(); i++) {
    if (s[index + i] != prefix[i]) {
      if (!replaceQuestionMarks || s[index + i] != '?') {
        return false;
      }
    }
  }
  return true;
}
string getPossibleString(const string &s, const string &substring) {
  for (int i = 0; i < s.length(); i++) {
    if (startsWith(s, substring, i, true)) {
      string possibleString = s;
      for (int j = 0; j < substring.length(); j++) {
        possibleString[i + j] = substring[j];
      }
      bool foundAgain = false;
      for (int j = 0; j < s.length(); j++) {
        if (i == j) {
          continue;
        }
        if (startsWith(possibleString, substring, j, false)) {
          foundAgain = true;
          break;
        }
      }
      if (!foundAgain) {
        for (int j = 0; j < possibleString.length(); j++) {
          if (possibleString[j] == '?') {
            possibleString[j] = 'z';
          }
        }
        return possibleString;
      }
    }
  }
  return "";
}
int main() {
  pre();
  const string substring = "abacaba";
  int t;
  cin >> t;
  while (t--) {
    int n;
    cin >> n;
    string s;
    cin >> s;
    string possible = getPossibleString(s, substring);
    if (!possible.empty()) {
      cout << "Yes\n" << possible << "\n";
      continue;
    }
    cout << "No\n";
  }
  return 0;
}
