/*** author: yuji9511 ***/ #include // #include // using namespace atcoder; using namespace std; using ll = long long; using lpair = pair; using vll = vector; const ll MOD = 1e9+7; const ll INF = 1e18; #define rep(i,m,n) for(ll i=(m);i<(n);i++) #define rrep(i,m,n) for(ll i=(m);i>=(n);i--) ostream& operator<<(ostream& os, lpair& h){ os << "(" << h.first << ", " << h.second << ")"; return os;} #define printa(x,n) for(ll i=0;i void print(H&& h, T&&... t){cout<(t)...);} templatebool chmax(T &a, const T &b) { if (abool chmin(T &a, const T &b) { if (b> N; vll A(N), B(N); rep(i,0,N) cin >> A[i]; rep(i,0,N) cin >> B[i]; ll idx = -1; vector > ans; rep(i,0,N){ bool ok = false; if(i == 0){ if(B[i] <= A[i]) ok = true; }else{ if(B[i] > A[i-1]) ok = true; } if(i == N-1){ if(B[i] >= A[i]) ok = true; }else{ if(B[i] < A[i+1]) ok = true; } if(ok){ idx = i; break; } } assert(idx != -1); rrep(i,idx,0){ ll diff = A[i] - B[i]; if(diff > 0){ rep(n,0,diff){ ans.push_back({i+1, 'L'}); } }else{ rep(n,0,-diff){ ans.push_back({i+1, 'R'}); } } } rep(i,idx+1,N){ ll diff = A[i] - B[i]; if(diff > 0){ rep(n,0,diff){ ans.push_back({i+1, 'L'}); } }else{ rep(n,0,-diff){ ans.push_back({i+1, 'R'}); } } } print(ans.size()); for(auto &e: ans){ print(e.first, e.second); } } int main(){ cin.tie(0); ios::sync_with_stdio(false); solve(); }