#include <bits/stdc++.h>
using namespace std;
long long max(long long a, long long b) {
  if (a > b)
    return a;
  else
    return b;
}
long long min(long long a, long long b) {
  if (a < b)
    return a;
  else
    return b;
}
long long power(long long B, long long P) {
  if (P == 0) return 1;
  long long X = power(B, P / 2);
  if (P % 2 == 0)
    return X * X;
  else
    return B * X * X;
}
long long fx4[] = {1, -1, 0, 0};
long long fy4[] = {0, 0, 1, -1};
long long A[300005];
int main() {
  long long T, N, M, X, Y, W, K, Q, R, P;
  cin >> N;
  for (int i = 1; i <= N; i++) cin >> A[i];
  vector<long long> ans;
  string S;
  long long i = 1, j = N;
  long long mm = 1;
  while (mm <= (min(N, 2000005))) {
    if (mm == 1) {
      if (A[i] < A[j]) {
        S += 'L';
        ans.push_back(A[i]);
        i++;
      } else {
        S += 'R';
        ans.push_back(A[j]);
        j--;
      }
      mm++;
      continue;
    }
    X = ans[ans.size() - 1];
    if (A[i] < A[j] && A[i] > X) {
      ans.push_back(A[i]);
      S += 'L';
      i++;
    } else if (A[j] < A[i] && A[j] > X) {
      ans.push_back(A[j]);
      S += 'R';
      j--;
    } else {
      if (A[i] > X) {
        ans.push_back(A[i]);
        i++;
        S += 'L';
      } else if (A[j] > X) {
        ans.push_back(A[j]);
        j--;
        S += 'R';
      }
    }
    mm++;
  }
  cout << ans.size() << endl;
  cout << S << endl;
  return 0;
}
