#include <bits/stdc++.h>
using namespace std;
void yes(bool fl = true) {
  if (fl)
    cout << "YES\n";
  else
    cout << "Yes\n";
}
void no(bool fl = true) {
  if (fl)
    cout << "NO\n";
  else
    cout << "No\n";
}
long long a, b, c, d, e, f, g, n, m, k, t, x, h, w, p, q, y;
string str = "";
long long mod = 1e9 + 7;
vector<vector<int>> divisors(100009);
void solve() {
  cin >> n;
  string s1, s2;
  cin >> s1 >> s2;
  if (s2 < s1) swap(s1, s2);
  cout << "YES\n";
  map<string, vector<string>> singles;
  map<pair<string, string>, string> doubles;
  singles["abc"].push_back("ab");
  singles["abc"].push_back("bc");
  singles["acb"].push_back("ac");
  singles["acb"].push_back("cb");
  singles["bac"].push_back("ba");
  singles["bac"].push_back("ac");
  singles["bca"].push_back("bc");
  singles["bca"].push_back("ca");
  singles["cab"].push_back("ca");
  singles["cab"].push_back("ab");
  doubles[{"aa", "aa"}] = "abc";
  doubles[{"aa", "ab"}] = "bac";
  doubles[{"aa", "ac"}] = "abc";
  doubles[{"aa", "ba"}] = "abc";
  doubles[{"aa", "bb"}] = "abc";
  doubles[{"aa", "bc"}] = "acb";
  doubles[{"aa", "ca"}] = "acb";
  doubles[{"aa", "cb"}] = "abc";
  doubles[{"aa", "cc"}] = "abc";
  doubles[{"ab", "bb"}] = "cba";
  doubles[{"ac", "bb"}] = "abc";
  doubles[{"ba", "bb"}] = "abc";
  doubles[{"bb", "bb"}] = "abc";
  doubles[{"bb", "bc"}] = "acb";
  doubles[{"bb", "ca"}] = "acb";
  doubles[{"bb", "cb"}] = "abc";
  doubles[{"bb", "cc"}] = "abc";
  doubles[{"ab", "cc"}] = "cba";
  doubles[{"ac", "cc"}] = "abc";
  doubles[{"ba", "cc"}] = "abc";
  doubles[{"bc", "cc"}] = "acb";
  doubles[{"ca", "cc"}] = "acb";
  doubles[{"cb", "cc"}] = "abc";
  doubles[{"cc", "cc"}] = "acb";
  if (s1[0] == s1[1] || s2[0] == s2[1]) {
    string answer = doubles[{s1, s2}];
    for (int i = 0; i < n; i++) cout << answer;
  } else {
    string pattern = "";
    for (auto x : singles) {
      bool flag = true;
      vector<string> current = x.second;
      for (int i = 0; i < current.size(); i++) {
        string t = current[i];
        if (t == s1 || t == s2) {
          flag = false;
          break;
        }
      }
      if (flag) {
        pattern = x.first;
        break;
      }
    }
    for (int i = 0; i < n; i++) {
      cout << pattern[0];
    }
    for (int i = 0; i < n; i++) {
      cout << pattern[1];
    }
    for (int i = 0; i < n; i++) {
      cout << pattern[2];
    }
  }
}
int main() {
  ios_base::sync_with_stdio(false);
  int cases = 1;
  while (cases--) {
    solve();
  }
  return 0;
}
