#include <bits/stdc++.h>
using namespace std;
int n, m, k;
long long dp[110][110][11];
bool dp1[110][110][11];
string s[110];
long long f(int i, int j, int k1) {
  if (j < 0 || j > m - 1) {
    return -1e15;
  }
  if (i < 0) {
    if (k1 == 0) {
      return 0;
    }
    return -1e15;
  }
  if (dp[i][j][k1] != -1) return dp[i][j][k1];
  long long r1 = f(i - 1, j - 1, (k1 + s[i][j] - '0') % k) + s[i][j] - '0';
  long long r2 = f(i - 1, j + 1, (k1 + s[i][j] - '0') % k) + s[i][j] - '0';
  dp1[i][j][k1] = r1 > r2;
  return dp[i][j][k1] = max(r1, r2);
}
void print(int i, int j, int k1) {
  if (i < 0) return;
  if (dp1[i][j][k1]) {
    if (i != 0) cout << "L";
    print(i - 1, j - 1, (k1 + s[i][j] - '0') % k);
  } else {
    if (i != 0) cout << "R";
    print(i - 1, j + 1, (k1 + s[i][j] - '0') % k);
  }
}
int main() {
  memset(dp, -1, sizeof(dp));
  ios::sync_with_stdio(0);
  cin >> n >> m >> k;
  k++;
  for (int i = 0; i < n; i++) {
    cin >> s[i];
  }
  long long maxx = -1e15;
  int j1 = -1;
  for (int i = 0; i < m; i++) {
    long long t1 = f(n - 1, i, 0);
    if (maxx < t1) {
      maxx = t1;
      j1 = i;
    }
  }
  if (maxx < 0) {
    cout << -1;
    return 0;
  }
  cout << maxx << endl;
  cout << j1 + 1 << endl;
  print(n - 1, j1, 0);
  return 0;
}
