#include <bits/stdc++.h>
using namespace std;
const int MAXN = 60;
int n, m;
char A[2][MAXN][MAXN];
char A_[2][MAXN][MAXN];
void load() {
  scanf("%d%d", &n, &m);
  for (int i = 0; i < n; i++) scanf("%s", A_[0][i + 1] + 1);
  for (int i = 0; i < n; i++) scanf("%s", A_[1][i + 1] + 1);
}
char trans(char c) {
  if (c == 'L') return 'U';
  if (c == 'R') return 'D';
  if (c == 'D') return 'L';
  if (c == 'U') return 'R';
}
vector<pair<int, int> > V[2];
void rotate(int k, int x, int y) {
  V[k].push_back(pair<int, int>(x, y));
  if (A[k][x][y] == 'L') {
    A[k][x][y] = A[k][x][y + 1] = 'U';
    A[k][x + 1][y] = A[k][x + 1][y + 1] = 'D';
  } else {
    A[k][x][y] = A[k][x + 1][y] = 'L';
    A[k][x][y + 1] = A[k][x + 1][y + 1] = 'D';
  }
}
void rek(int k, int x, int y) {
  if (A[k][x][y] == 'L') {
    if (A[k][x + 1][y] == 'U') {
      rek(k, x + 1, y);
    }
    rotate(k, x, y);
  } else if (A[k][x][y] == 'U') {
    if (A[k][x][y + 1] == 'L') {
      rek(k, x, y + 1);
    }
    rotate(k, x, y);
  }
}
void solve() {
  bool bl = false;
  if (m & 1) {
    bl = true;
    for (int i = 1; i <= n; i++)
      for (int j = 1; j <= m; j++) {
        A[0][j][n - i + 1] = trans(A_[0][i][j]);
        A[1][j][n - i + 1] = trans(A_[1][i][j]);
      }
    int t = n;
    n = m;
    m = t;
  } else {
    for (int i = 1; i <= n; i++)
      for (int j = 1; j <= m; j++) {
        A[0][i][j] = A_[0][i][j];
        A[1][i][j] = A_[1][i][j];
      }
  }
  for (int k = 0; k < 2; k++)
    for (int i = 1; i <= n; i++) {
      for (int j = 1; j <= m; j += 2) {
        if (A[k][i][j] == 'U') rek(k, i, j);
      }
    }
  if (bl) {
    for (int k = 0; k < 2; k++)
      for (int i = 0; i < V[k].size(); i++) {
        int a = V[k][i].first, b = V[k][i].second;
        V[k][i] = pair<int, int>(m - b, a);
      }
  }
  printf("%d\n", (int)V[0].size() + (int)V[1].size());
  for (pair<int, int> p : V[0]) printf("%d %d\n", p.first, p.second);
  for (int i = V[1].size() - 1; i >= 0; i--)
    printf("%d %d\n", V[1][i].first, V[1][i].second);
}
int main() {
  load();
  solve();
  return 0;
}
