#include using namespace std; using ll = long long; #define endl "\n" #define INCANT cin.tie(nullptr), ios::sync_with_stdio(false), cout << fixed << setprecision(12) #ifdef MY_DEBUG #define dbg(...) debug_out(__VA_ARGS__) #define dbgv(v) debug_vector(v) #define dbgvv(vv) debug_vvector(vv) #else #define dbg(...) #define dbgv(v) #define dbgvv(vv) #endif void debug_out(); template void debug_out(Head H, Tail... T); template void debug_vector(Vec V); template void debug_vvector(Vvec Vv); template bool chmax(T &, const T &); template bool chmin(T &, const T &); template T pwr(T, ll); template T squ(T); ll fact(ll); ll comb(ll, ll); // const int INF = 1e9 + 7; const ll LINF = (ll)1e18 + 7; const int MOD = 1e9 + 7; const double EPS = 1e-9; int main() { INCANT; ll n; cin >> n; vector a(n), b(n); for (ll i = 0; i < n; i++) { cin >> a[i]; } for (ll i = 0; i < n; i++) { cin >> b[i]; } ll ans = 0; for (ll i = 0; i < n; i++) { ans += abs(a[i] - b[i]); } cout << ans << endl; for (ll i = 0; i < n; i++) { if (b[i] <= a[i]) { for (ll j = 0; j < a[i] - b[i]; j++) { cout << i + 1 << " " << "L" << endl; } } else { for (ll j = n - 1; j >= i; j--) { if (a[j] < b[j]) { for (ll k = 0; k < b[i] + j - i - a[j]; k++) { cout << j + 1 << " " << "R" << endl; } a[j] = b[i] + j - i; } } } } } /* -----------------------------------MY_FUNCTIONS------------------------------------ */ void debug_out() { cout << endl; } template void debug_out(Head H, Tail... T) { cout << "\033[33m" << H << "\033[m" << " "; debug_out(T...); } template void debug_vector(Vec V) { cout << endl; for (auto v : V) { cout << "\033[33m" << v << "\033[m" << " "; } cout << endl << endl; } template void debug_vvector(Vvec Vv) { cout << endl; for (auto V : Vv) { for (auto v : V) { cout << "\033[33m" << v << "\033[m" << " "; } cout << endl; } cout << endl; } template bool chmax(T &a, const T &b) { if (a < b) { a = b; return true; } return false; } template bool chmin(T &a, const T &b) { if (b < a) { a = b; return true; } return false; } template T pwr(T x, ll n) { T res = 1; for (int i = 0; i < n; i++) { res *= x; } return res; } template T squ(T x) { return x * x; } ll fact(ll n) { ll res = 1; for (ll i = 1; i <= n; i++) res *= i; return res; } ll comb(ll n, ll r) { // comb(60, 30)までオーバーフローなし ll res = 1; for (int i = 1; i <= r; i++) { res *= n--; res /= i; } return res; }