#include <bits/stdc++.h>
using namespace std;
const int mxN = 1e5;
const int INF = 1e9;
#define ff first
#define ss second
#define all(v) (v).begin(), (v).end()
void solve() {
int n, m;
cin >> n >> m;
vector<int> s(n), f(m);
for (int i=0; i<n; i++) cin >> s[i];
for (int j=0; j<m; j++) cin >> f[j];
vector<int> x;
for (auto u: f) {
if (!binary_search(all(s), u) || (x.size() && x.back()==u)) x.push_back(u);
}
f.swap(x);
m = f.size();
bool case1 = n%3==0;
for (int i=0; i<n-2; i+=3) {
case1 &= s[i] == s[i+1] && s[i+1]==s[i+2];
}
if (case1) {
int l = -1, r=1e9+1;
while (r-l>1) {
set<int> sprinklers;
int k = (r+l)/2;
for (int i=0; i<n; i++) sprinklers.insert(s[i]);
/*
auto upd = [&](int i, char dir) {
if (dir=='L') {
auto it = flowers.lower_bound(s[i]);
while (it!=flowers.begin()) {
it--;
if (s[i]-*it>k) break;
flowers.erase(it);
it = flowers.lower_bound(s[i]);
}
} else {
auto it = flowers.lower_bound(s[i]);
while (it!=flowers.end()) {
if (*it-s[i]>k) break;
flowers.erase(it);
it = flowers.lower_bound(s[i]);
}
}
// cur[i] = dir;
}; */
bool ok = true;
for (int i=0; i<m; i++) {
int dist = 2*1e9;
auto it = sprinklers.lower_bound(f[i]);
if (it!=sprinklers.end()) dist = min(dist, *it-f[i]);
if (it!=sprinklers.begin()) dist = min(dist, f[i]-*(--it));
ok &= dist<=k;
}
if (ok) r = k;
else l = k;
}
cout << r << '\n';
for (int i=0; i<n/3; i++) {
cout << "LLR";
}
cout << '\n';
} else {
string ans; int best=2*INF;
for (int mask=0; mask<1<<n; mask++) {
set<int> left, right;
for (int i=0; i<n; i++) {
if (mask>>i&1) right.insert(s[i]);
else left.insert(s[i]);
}
int l =-1, r=2*INF;
while (r-l>1) {
int k = (r+l)/2;
bool ok = true;
for (int i=0; i<m; i++) {
int dist = 2*INF;
auto it = left.lower_bound(f[i]);
if (it!=left.end()) dist = min(dist, *it-f[i]);
it = right.upper__bound(f[i]);
if (it!=right.begin()) dist = min(dist, f[i]-*(--it));
ok &= dist<=k;
}
if (ok) r = k;
else l = k;
}
if (r<best) {
string cur('?', n);
for (int i=0; i<n; i++) {
if (mask>>i&1) cur[i] = 'R';
else cur[i] = 'L';
}
ans = cur;
best = r;
}
}
if (best==2*INF) {
cout << "-1";
} else {
cout << best << '\n';
cout << ans << '\n';
}
}
}
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
solve();
}