#include <bits/stdc++.h>
using namespace std;
struct ASDF {
  ASDF& operator,(int& a) {
    scanf("%d", &a);
    return *this;
  }
  ASDF& operator,(long int& a) {
    scanf("%ld", &a);
    return *this;
  }
  ASDF& operator,(long long int& a) {
    scanf("%lld", &a);
    return *this;
  }
  ASDF& operator,(char& c) {
    scanf("%c", &c);
    return *this;
  }
  ASDF& operator,(double& d) {
    scanf("%lf", &d);
    return *this;
  }
  template <typename T>
  ASDF& operator,(T& a) {
    cin >> a;
    return *this;
  }
} asdf;
struct ASDFG {
  template <typename T>
  ASDFG& operator,(vector<T>& v) {
    printf("[");
    cout << v[0];
    for (int i = 1; i < int(v.size()); i++) {
      cout << ", " << v[i];
    }
    printf("]");
    return *this;
  }
  template <typename T>
  ASDFG& operator,(T x) {
    cout << x << " ";
    return *this;
  }
} asdfg;
int n, ara[302];
int main() {
  asdf, n;
  for (int i = 0; i < n; i++) {
    asdf, ara[i];
    while (ara[i]) {
      printf("P");
      ara[i]--;
      if (ara[i]) {
        if (i) {
          printf("LR");
        } else {
          printf("RL");
        }
      } else {
        break;
      }
    }
    if (i < n - 1) printf("R");
  }
}
