#include <bits/stdc++.h>
using namespace std;
int dp[105][105][11];
int n, m, k;
vector<string> v;
int val;
string z = "";
void rec(int i, int j, int r, int ans) {
  if (i == n - 1) {
    return;
  }
  int x = v[i][j] - '0';
  if (j - 1 >= 0) {
    for (int ri = 0; ri < k; ri++) {
      if ((((ri + x) % k) == r) && (dp[i + 1][j - 1][ri] == ans - x)) {
        val = j - 1;
        rec(i + 1, j - 1, ri, ans - x);
        z += 'R';
        return;
      }
    }
  }
  if (j + 1 < m) {
    for (int ri = 0; ri < k; ri++) {
      if ((((ri + x) % k) == r) && (dp[i + 1][j + 1][ri] == ans - x)) {
        val = j + 1;
        rec(i + 1, j + 1, ri, ans - x);
        z += 'L';
        return;
      }
    }
  }
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  cin >> n >> m >> k;
  k++;
  for (int i = 0; i < n; i++) {
    string s;
    cin >> s;
    v.push_back(s);
  }
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < m; j++) {
      for (int r = 0; r < k; r++) {
        dp[i][j][r] = -1e6;
      }
    }
  }
  for (int j = 0; j < m; j++) {
    int x = v[n - 1][j] - '0';
    dp[n - 1][j][x % k] = x;
  }
  for (int i = n - 2; i >= 0; i--) {
    for (int j = 0; j < m; j++) {
      for (int r = 0; r < k; r++) {
        int x = v[i][j] - '0';
        if (j - 1 >= 0)
          dp[i][j][(r + x) % k] =
              max(dp[i][j][(r + x) % k], dp[i + 1][j - 1][r] + x);
        if (j + 1 < m)
          dp[i][j][(r + x) % k] =
              max(dp[i][j][(r + x) % k], dp[i + 1][j + 1][r] + x);
      }
    }
  }
  int ans = -1e6;
  for (int j = 0; j < m; j++) {
    ans = max(ans, dp[0][j][0]);
  }
  if (ans < 0) {
    ans = -1;
  }
  cout << ans << '\n';
  if (ans >= 0) {
    for (int j = 0; j < m; j++) {
      if (dp[0][j][0] == ans) {
        rec(0, j, 0, ans);
        cout << val + 1 << '\n' << z;
        return 0;
      }
    }
  }
  return 0;
}
