#include <bits/stdc++.h>
using namespace std;
const int inf = 0x3f3f3f3f;
int a[101][101];
int p[101];
int dist[101];
bool visited[101];
int parent[101];
void bfs(int num1, int num2) {
  for (int i = 0; i < 100; i++) {
    dist[i] = inf;
  }
  queue<int> q;
  dist[num1] = 0;
  q.push(num1);
  while (q.empty() != true) {
    int u = q.front();
    q.pop();
    for (int i = 0; i < 100; i++) {
      if (a[u][i] == 1 && visited[i] == false) {
        if (dist[i] > dist[u] + 1) {
          dist[i] = dist[u] + 1;
          parent[i] = u;
          q.push(i);
        }
      }
    }
  }
  printf("%d\012", dist[num2]);
  vector<string> v;
  for (int i = num2; i != num1; i = parent[i]) {
    int j = parent[i];
    if (i == j + 1) {
      v.push_back("R");
    } else if (i == j - 1) {
      v.push_back("L");
    } else if (i - j == 8) {
      v.push_back("D");
    } else if (j - i == 8) {
      v.push_back("U");
    } else if (i - j == 7) {
      v.push_back("LD");
    } else if (j - i == 7) {
      v.push_back("RU");
    } else if (i - j == 9) {
      v.push_back("RD");
    } else {
      v.push_back("LU");
    }
  }
  for (int i = v.size() - 1; i >= 0; i--) {
    cout << v[i] << endl;
  }
  return;
}
int main() {
  for (int i = 0; i < 8; i++) {
    for (int j = 0; j < 8; j++) {
      if (i - 1 >= 0) {
        a[i * 8 + j][(i - 1) * 8 + j] = 1;
      }
      if (j - 1 >= 0) {
        a[i * 8 + j][i * 8 + (j - 1)] = 1;
      }
      if (i + 1 < 8) {
        a[i * 8 + j][(i + 1) * 8 + j] = 1;
      }
      if (j + 1 < 8) {
        a[i * 8 + j][i * 8 + (j + 1)] = 1;
      }
      if (i - 1 >= 0 && j - 1 >= 0) {
        a[i * 8 + j][(i - 1) * 8 + (j - 1)] = 1;
      }
      if (i - 1 >= 0 && j + 1 < 8) {
        a[i * 8 + j][(i - 1) * 8 + (j + 1)] = 1;
      }
      if (i + 1 < 8 && j - 1 >= 0) {
        a[i * 8 + j][(i + 1) * 8 + (j - 1)] = 1;
      }
      if (i + 1 < 8 && j + 1 < 8) {
        a[i * 8 + j][(i + 1) * 8 + (j + 1)] = 1;
      }
    }
  }
  string s1;
  string s2;
  cin >> s1 >> s2;
  int num1 = (s1[0] - 'a') + (7 - (s1[1] - '1')) * 8;
  int num2 = (s2[0] - 'a') + (7 - (s2[1] - '1')) * 8;
  bfs(num1, num2);
  return 0;
}
