#include <bits/stdc++.h>
using namespace std;
template <class T>
inline T sqr(T x) {
  return x * x;
}
const double pi = acos(-1.0), eps = 1e-9, e = exp(1.0);
const int INF = 1000 * 1000 * 1000 + 7, MAXN = 100005, MOD = 1000000007,
          MAXBIT = 30, pHash = 53;
const long long INFL = 1e+18;
void prepare(string s) {
  if ((int)s.size() != 0) {
    freopen((s + ".in").c_str(), "r", stdin);
    freopen((s + ".out").c_str(), "w", stdout);
  }
}
int n, m;
long long a[505], b[505], A, B;
vector<vector<long long> > va;
vector<pair<int, char> > ans;
void bad() {
  cout << "NO";
  exit(0);
}
bool go(vector<long long> &a, int num) {
  if ((int)a.size() == 1) {
    return true;
  }
  long long Max = -1;
  vector<int> pos;
  bool flag = false;
  for (int i = 0; i < (int)a.size(); ++i) {
    if (a[i] > Max) {
      Max = a[i];
    }
  }
  for (int i = 0; i < (int)a.size(); ++i) {
    if (a[i] == Max) {
      pos.push_back(i);
    }
  }
  long long maxl = -1, maxr = -1, rpos = -1, lpos = -1;
  for (int i = 0; i < (int)pos.size(); ++i) {
    if (pos[i] == 0) continue;
    if (a[pos[i] - 1] >= Max) continue;
    if (a[pos[i] - 1] > maxl) {
      maxl = a[pos[i] - 1];
      lpos = pos[i] - 1;
    }
  }
  for (int i = 0; i < (int)pos.size(); ++i) {
    if (pos[i] == (int)a.size() - 1) continue;
    if (a[pos[i] + 1] >= Max) continue;
    if (a[pos[i] + 1] > maxr) {
      maxr = a[pos[i] + 1];
      rpos = pos[i] + 1;
    }
  }
  if (!(maxl == -1 && maxr == -1)) {
    flag = true;
    if (maxl > maxr) {
      a[lpos + 1] += a[lpos];
      a.erase(a.begin() + lpos);
      ans.push_back(make_pair(num + lpos + 1, 'L'));
    } else {
      a[rpos - 1] += a[rpos];
      a.erase(a.begin() + rpos);
      ans.push_back(make_pair(num + rpos - 1, 'R'));
    }
  }
  if (!flag) {
    return false;
  }
  go(a, num);
}
void solve() {
  cin >> n;
  for (int i = 0; i < n; ++i) cin >> a[i], A += a[i];
  cin >> m;
  for (int i = 0; i < m; ++i) cin >> b[i], B += b[i];
  if (A != B) {
    bad();
  }
  long long sum = 0;
  vector<long long> tmp;
  int cur = 0;
  for (int i = 0; i < n; i++) {
    sum += a[i];
    tmp.push_back(a[i]);
    if (sum == b[cur]) {
      sum = 0;
      va.push_back(tmp);
      tmp.clear();
      cur++;
    }
    if (sum > b[cur]) {
      bad();
    }
  }
  for (int i = 0; i < (int)va.size(); ++i) {
    if (!go(va[i], i)) {
      bad();
    }
  }
  cout << "YES\n";
  for (int i = 0; i < (int)ans.size(); ++i) {
    cout << ans[i].first + 1 << ' ' << ans[i].second << endl;
  }
}
int main() {
  prepare("");
  solve();
  return 0;
}
