#include <bits/stdc++.h>
using namespace std;
long long int power(long long int x, long long int y) {
  long long int r = 1;
  while (y > 0) {
    if (y & 1) r = r * x;
    y = y / 2;
    x = x * x;
  }
  return r;
}
long long int prime[10000001] = {0};
void sieve() {
  memset(prime, 1, sizeof(prime));
  long long int i, j, p;
  for (p = 2; p * p <= 10000001; p++) {
    if (prime[p]) {
      for (i = p * p; i <= 10000001; i = i + p) prime[i] = 0;
    }
  }
}
long long int fun(long long int a[], long long int n) {
  if (n <= 0) return 0;
  long long int i;
  long long int m = INT_MIN;
  for (i = 0; i < n; i++) m = max(m, a[i] + fun(a, n - 1 - i));
  return m;
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  long long int n, i, j;
  cin >> n;
  long long int a[n];
  for (i = 0; i < n; i++) cin >> a[i];
  char c[n];
  i = 0;
  j = 0;
  long long int k = n - 1;
  long long int f = 0;
  long long int p = a[0];
  while (i <= k) {
    if (f == 0) {
      if (a[i] < a[k]) {
        c[j] = 'L';
        p = a[i];
        j++;
        i++;
      } else {
        c[j] = 'R';
        p = a[k];
        j++;
        k--;
      }
      f++;
    } else if (i < k) {
      if (a[i] <= a[k] && a[i] > p) {
        c[j] = 'L';
        p = a[i];
        j++;
        i++;
        f++;
      } else if (a[i] >= a[k] && a[k] > p) {
        c[j] = 'R';
        p = a[k];
        j++;
        k--;
        f++;
      } else if (a[i] < a[k] && a[k] > p) {
        c[j] = 'R';
        p = a[k];
        j++;
        k--;
        f++;
      } else if (a[i] > a[k] && a[i] > p) {
        c[j] = 'L';
        p = a[i];
        j++;
        i++;
        f++;
      } else
        break;
    }
    if (i == k) {
      if (p < a[i]) {
        c[j] = 'L';
        j++;
        i++;
        f++;
        break;
      } else
        break;
    }
    if (i > k) break;
  }
  cout << j << "\n";
  for (i = 0; i < j; i++) cout << c[i];
  return 0;
}
