#include <bits/stdc++.h>
using namespace std;
void aent(long long int *a, long long int n) {
  for (long long int i = 0; i < n; i++) cin >> a[i];
}
string arrtostr(long long int *a, long long int n) {
  ostringstream os;
  for (long long int i = 0; i < n; i++) os << a[i];
  string str(os.str());
  return str;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  ;
  long long int n;
  cin >> n;
  vector<long long int> v;
  for (long long int i = 0; i < n; i++) {
    long long int a;
    cin >> a;
    v.push_back(a);
  }
  long long int s = 0, e = n - 1;
  string ss = "";
  long long int mi = LLONG_MIN;
  while (s <= e) {
    if (s == e) {
      if (mi < v[s]) ss += "L";
      break;
    }
    long long int st = v[s];
    long long int ed = v[e];
    if (st < mi && ed < mi) break;
    if (st == ed) {
      string s1 = "L", s2 = "R";
      int rs = s;
      if (st < mi) break;
      int chk = st;
      while (s + 1 < e) {
        if (v[s + 1] > chk) {
          s1 += "L";
          chk = v[s + 1];
          s++;
        } else
          break;
      }
      chk = ed;
      while (e - 1 > rs) {
        if (v[e - 1] > chk) {
          s2 += "R";
          chk = v[e - 1];
          e--;
        } else
          break;
      }
      if (s1.size() >= s2.size()) {
        ss += s1;
      } else
        ss += s2;
      cout << ss.size() << "\n";
      cout << ss;
      return 0;
    }
    if (ed < st) {
      if (ed > mi) {
        ss += "R";
        e--;
        mi = ed;
      } else {
        if (st > mi) {
          ss += "L";
          s++;
          mi = st;
        } else
          break;
      }
    } else {
      if (st > mi) {
        ss += "L";
        s++;
        mi = st;
      } else {
        if (ed > mi) {
          ss += "R";
          e--;
          mi = ed;
        } else
          break;
      }
    }
  }
  cout << ss.size() << "\n";
  cout << ss;
}
