#include <bits/stdc++.h>
using namespace std;
int n, k;
const int dydis = 2e5 + 10;
int kur[dydis];
bool galima[dydis] = {0};
set<int> setas;
vector<int> mas;
string ans;
int main() {
  cin >> n >> k;
  ans.resize(n);
  for (int i = 0; i < n; i++) {
    int a;
    cin >> a;
    a--;
    mas.push_back(a);
    kur[a] = i;
  }
  vector<int> naujas;
  for (int i = 0; i < n; i++) {
    int a;
    cin >> a;
    a--;
    naujas.push_back(kur[a]);
  }
  set<int> setas;
  int viso = 0;
  char cur = 'a';
  for (int i = 0; i < n; i++) {
    setas.insert(naujas[i]);
    ans[mas[naujas[i]]] = cur;
    if (setas.size() == i + 1 && (*setas.rbegin()) == i) {
      viso++;
      if (cur != 'z') {
        cur++;
      }
    }
  }
  if (viso >= k) {
    cout << "YES\n" << ans;
  } else {
    cout << "NO";
  }
  return 0;
}
