#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <algorithm>
#include <vector>

using namespace std;

const int size = 2 * 1000;
const int side = 200;

int field[side][side], px[size], py[size], n, m, p, k, cnt;
vector <int> fc, sc;
vector <char> tp;

bool flag;

void add(int ps, char mv)
{
    tp.push_back(mv);
    fc.push_back(px[ps]);
    sc.push_back(py[ps]);
}

bool move_left(int ps)
{
    if (field[px[ps] + 1][py[ps] - 1] == 1)
    {
        cnt --;
        add(ps, 'L');
        field[px[ps]++][py[ps]--] = 0;
        field[px[ps]][py[ps]] = 2;
        return true;
    }
    return false;
}

bool move_right(int ps)
{
    if (field[px[ps] + 1][py[ps] + 1] == 1)
    {
        cnt --;
        add(ps, 'R');
        field[px[ps]++][py[ps]++] = 0;
        field[px[ps]][py[ps]] = 2;
        return true;
    }
    return false;
}

bool move_forward(int ps)
{
    if (px[ps] < n && field[px[ps] + 1][py[ps]] == 1)
    {
        add(ps, 'F');
        field[px[ps]++][py[ps]] = 0;
        field[px[ps]][py[ps]] = 2;
        return true;
    }
    return false;
}




int main()
{
    int i, j, x, y, ps;

    freopen("pawns.in", "r", stdin);
    freopen("pawns.out", "w", stdout);

    scanf("%d%d%d%d", &n, &m, &p, &k);
    for (i = 0; i < p; i++)
    {
        scanf("%d", &y);
        px[i] = 1;
        py[i] = y;
        field[1][y] = 2;
    }
    for (i = 0; i < k; i++)
    {
        scanf("%d%d", &x, &y);
        field[x][y] = 1;
    }
    flag = true;
    cnt = k;
    while (flag)
    {
        flag = false;
        for (i = 0; i < p; i++)
        {
            if (move_left(i))
            {
                flag = true;
                break;
            }
            if (move_right(i))
            {
                flag = true;
                break;
            }
            if (move_forward(i))
            {
                flag = true;
                break;
            }
        }
    }
    if (cnt > 0)
        printf("NO\n");
    else
    {
        printf("YES\n");
        printf("%d\n", tp.size());
        for (i = 0; i < tp.size(); i++)
            printf("%d %d %c\n", fc[i], sc[i], tp[i]);
    }

}
