#include <bits/stdc++.h>
using namespace std;
static const int maxn = 200010;
static const int INF = 0x3f3f3f3f;
static const int mod = (int)1e9 + 7;
static const double eps = 1e-6;
static const double pi = acos(-1);
void redirect() {}
int a[maxn];
vector<int> v, tmpl, tmpr;
int main() {
  redirect();
  int n;
  scanf("%d", &n);
  int l = 1, r = n;
  for (int i = 1; i <= n; i++) scanf("%d", &a[i]);
  int ma = 0;
  while (l <= r) {
    if (a[l] < a[r]) {
      if (a[l] > ma)
        v.push_back(0), ma = a[l], l++;
      else if (a[r] > ma)
        v.push_back(1), ma = a[r], r--;
      else
        break;
    } else if (a[l] > a[r]) {
      if (a[r] > ma)
        v.push_back(1), ma = a[r], r--;
      else if (a[l] > ma)
        v.push_back(0), ma = a[l], l++;
      else
        break;
    } else {
      int m = ma;
      for (int i = l; i <= r; i++) {
        if (a[i] > m)
          tmpl.push_back(0), m = a[i];
        else
          break;
      }
      m = ma;
      for (int i = r; i >= l; i--) {
        if (a[i] > m)
          tmpr.push_back(1), m = a[i];
        else
          break;
      }
      if (tmpl.size() >= tmpr.size()) {
        for (auto& x : tmpl) v.push_back(x);
      } else {
        for (auto& x : tmpr) v.push_back(x);
      }
      break;
    }
  }
  int sz = v.size();
  printf("%d\n", sz);
  for (int i = 0; i < sz; i++) printf("%c", v[i] ? 'R' : 'L');
  return 0;
}
