#include <bits/stdc++.h>
char ss[][4] = {"H",  "He", "Li", "Be", "B",  "C",  "N",  "O",  "F",  "Ne",
                "Na", "Mg", "Al", "Si", "P",  "S",  "Cl", "Ar", "K",  "Ca",
                "Sc", "Ti", "V",  "Cr", "Mn", "Fe", "Co", "Ni", "Cu", "Zn",
                "Ga", "Ge", "As", "Se", "Br", "Kr", "Rb", "Sr", "Y",  "Zr",
                "Nb", "Mo", "Tc", "Ru", "Rh", "Pd", "Ag", "Cd", "In", "Sn",
                "Sb", "Te", "I",  "Xe", "Cs", "Ba", "La", "Ce", "Pr", "Nd",
                "Pm", "Sm", "Eu", "Gd", "Tb", "Dy", "Ho", "Er", "Tm", "Yb",
                "Lu", "Hf", "Ta", "W",  "Re", "Os", "Ir", "Pt", "Au", "Hg",
                "Tl", "Pb", "Bi", "Po", "At", "Rn", "Fr", "Ra", "Ac", "Th",
                "Pa", "U",  "Np", "Pu", "Am", "Cm", "Bk", "Cf", "Es", "Fm"};
int s2a(char *s) {
  int i;
  for (i = 0; i < 100; i++)
    if (strcmp(ss[i], s) == 0) return i + 1;
  return 0;
}
int main() {
  static int aa[17], aa_[17], sa[1 << 17], pp[1 << 17], bb[1 << 17];
  static char cc[128];
  int n, k, i, j, b_, b, c, sum, sum_;
  scanf("%d%d", &n, &k);
  sum = 0;
  for (i = 0; i < n; i++) {
    static char s[4];
    scanf("%s", s);
    sum += aa[i] = s2a(s);
  }
  sum_ = 0;
  for (j = 0; j < k; j++) {
    static char s[4];
    scanf("%s", s);
    sum_ += aa_[j] = s2a(s);
  }
  if (sum != sum_) {
    printf("NO\n");
    return 0;
  }
  for (b = 1; b < 1 << n; b++)
    for (i = 0; i < n; i++)
      if (b & 1 << i) {
        sa[b] = sa[b ^ 1 << i] + aa[i];
        break;
      }
  memset(pp, -1, (1 << n) * sizeof *pp), pp[0] = 0;
  for (b = 0; b < 1 << n; b++) {
    int j = pp[b];
    if (j == -1) continue;
    c = (1 << n) - 1 ^ b;
    for (b_ = 0; (b_ = b_ - c & c) != 0;)
      if (sa[b_] == aa_[j]) {
        pp[b | b_] = j + 1;
        bb[b | b_] = b_;
      }
  }
  b--;
  if (pp[b] == -1) {
    printf("NO\n");
    return 0;
  }
  printf("YES\n");
  for (j = k - 1; j >= 0; j--) {
    char *s = cc;
    b_ = bb[b];
    for (i = 0; i < n; i++)
      if ((b_ & 1 << i) != 0) s += sprintf(s, "%s+", ss[aa[i] - 1]);
    s--;
    s += sprintf(s, "->%s", ss[aa_[j] - 1]);
    *s = 0;
    printf("%s\n", cc);
    b ^= b_;
  }
  return 0;
}
