#include <bits/stdc++.h>
using namespace std;
const int mod = 1e9 + 7;
int n, a[200001];
deque<int> d;
int main() {
  cin >> n;
  for (int i = 1; i <= n; i++) cin >> a[i];
  int ans = 0, pre = 0, l = 1, r = n;
  vector<char> v;
  while (1) {
    bool b = 0;
    if (r == l) {
      if (a[r] > pre) v.push_back('L');
      cout << v.size() << endl;
      for (int i = 0; i < v.size(); i++) cout << v[i];
      exit(0);
    }
    if (a[r] > pre && a[l] > pre) {
      if (a[r] < a[l]) {
        pre = a[r];
        v.push_back('R');
        r--;
        b = 1;
      } else if (a[l] < a[r]) {
        pre = a[l];
        v.push_back('L');
        l++;
        b = 1;
      } else {
        pre = a[r];
        for (int i = 1; 1; i++) {
          if (l + i > r - i) break;
          if (l + i == r - i) {
            v.push_back('R');
            r--;
            b = 1;
            break;
          }
          if (a[r + i] > pre && a[l + i] > pre) {
            if (a[r + i] < a[l + i]) {
              v.push_back('R');
              r--;
              b = 1;
            } else if (a[l + i] < a[r + i]) {
              v.push_back('L');
              l++;
              b = 1;
            }
          } else if (a[r + i] > pre) {
            v.push_back('R');
            r--;
            b = 1;
          } else if (a[l + i] > pre) {
            v.push_back('L');
            l++;
            b = 1;
          }
          if (b) break;
        }
      }
    } else if (a[r] > pre) {
      pre = a[r];
      v.push_back('R');
      r--;
      b = 1;
    } else if (a[l] > pre) {
      pre = a[l];
      v.push_back('L');
      l++;
      b = 1;
    }
    if (!b) {
      cout << v.size() << endl;
      for (int i = 0; i < v.size(); i++) cout << v[i];
      exit(0);
    }
  }
}
