#include <bits/stdc++.h>
using namespace std;
int kosz[7];
int przyd[100001];
vector<int> t[6];
int main() {
  for (int i = 1; i <= 6; i++) cin >> kosz[i];
  int n;
  cin >> n;
  for (int i = 1; i <= n; i++) {
    string s;
    cin >> s;
    bool przecinek = false;
    int miej;
    for (int j = 0; j < s.size(); j++) {
      if (s[j] == ',') {
        przecinek = true;
        miej = j;
      }
    }
    if (!przecinek) {
      if (s.size() == 1) {
        if (s[0] == 'S') {
          kosz[1]--;
          przyd[i] = 1;
        }
        if (s[0] == 'M') {
          kosz[2]--;
          przyd[i] = 2;
        }
        if (s[0] == 'L') {
          kosz[3]--;
          przyd[i] = 3;
        }
      } else {
        kosz[s.size() + 2]--;
        przyd[i] = s.size() + 2;
      }
    } else {
      if (s[0] == 'S')
        t[1].push_back(i);
      else if (s[0] == 'M')
        t[2].push_back(i);
      else if (s[0] == 'L')
        t[3].push_back(i);
      else {
        if (miej == 2) t[4].push_back(i);
        if (miej == 3) t[5].push_back(i);
      }
    }
  }
  for (int i = 1; i <= 6; i++) {
    if (kosz[i] < 0) {
      cout << "NO";
      return 0;
    }
  }
  for (int i = 1; i <= 5; i++) {
    for (int j = 0; j < t[i].size(); j++) {
      if (kosz[i] > 0) {
        kosz[i]--;
        przyd[t[i][j]] = i;
      } else {
        kosz[i + 1]--;
        przyd[t[i][j]] = i + 1;
      }
    }
  }
  for (int i = 1; i <= 6; i++) {
    if (kosz[i] < 0) {
      cout << "NO";
      return 0;
    }
  }
  cout << "YES" << endl;
  for (int i = 1; i <= n; i++) {
    if (przyd[i] == 1) cout << "S";
    if (przyd[i] == 2) cout << "M";
    if (przyd[i] == 3) cout << "L";
    if (przyd[i] == 4) cout << "XL";
    if (przyd[i] == 5) cout << "XXL";
    if (przyd[i] == 6) cout << "XXXL";
    if (i != n) cout << '\n';
  }
  return 0;
}
