#include <bits/stdc++.h>
using namespace std;
int n;
int data[1009];
int main() {
  scanf("%d", &n);
  int rem = 0;
  int last = 0;
  for (int i = 0; i < (int)(n); ++i) {
    scanf("%d", data + i + 1);
    if (data[i + 1]) last = i + 1;
  }
  int first;
  for (int i = n + 1 - 1; i >= 0; --i)
    if (data[i]) first = i;
  int tlast = 0;
  int endat = first;
  int boost = 0;
  for (int i = 0; i < (int)(n + 1); ++i) {
    if (data[i] and i > first) {
      int bef = tlast;
      while (data[bef - 1]) --bef;
      int cand = (i - tlast - 1) - 1 - (tlast - endat + 1) * 2 - 1;
      if (cand > 0) {
        boost = cand;
        endat = i;
      }
    }
    if (data[i]) tlast = i;
  }
  string s;
  int cpos = -1;
  while (first < endat) {
    s += 'A';
    while (cpos < first - 1) s += "RA", ++cpos;
    while (data[cpos + 2]) s += "RA", ++cpos;
    while (data[cpos + 1]) --data[cpos + 1], s += 'L', --cpos;
    s += 'A';
    for (int i = n + 1 - 1; i >= 0; --i)
      if (data[i]) first = i;
  }
  rem = 0;
  for (int i = 0; i < (int)(n + 1); ++i) rem += data[i];
  while (rem) {
    s += 'A';
    while (cpos < last - 1) s += "RA", ++cpos;
    while (data[cpos + 1] <= 1 and rem) {
      if (data[cpos + 1]) --data[cpos + 1], --rem;
      --cpos;
      s += 'L';
    }
    while (data[cpos + 1] > 1 and rem) {
      if (data[cpos + 1]) --data[cpos + 1], --rem;
      --cpos;
      s += 'L';
    }
    for (int i = 0; i < (int)(n + 1); ++i)
      if (data[i]) last = i;
    s += 'A';
  }
  printf("%s\n", s.c_str());
  return 0;
}
