#include <bits/stdc++.h>
using namespace std;
vector<string> ans;
int rig, up;
int main() {
  char c1, c2;
  int y1, y2;
  scanf("%c%d", &c1, &y1);
  getchar();
  scanf("%c%d", &c2, &y2);
  int x1 = (int)(c1 - 'A' - 31);
  int x2 = (int)(c2 - 'A' - 31);
  swap(x1, y1);
  swap(x2, y2);
  if (x2 > x1) up = 1;
  if (y2 > y1) rig = 1;
  int sum1 = 0, sum2 = 0;
  for (int i = min(x1, x2); i <= max(x1, x2); ++i) sum1++;
  for (int i = min(y1, y2); i <= max(y1, y2); ++i) sum2++;
  sum1 -= 1;
  sum2 -= 1;
  for (int i = 1; i <= min(sum1, sum2); ++i) {
    if (up) {
      if (rig)
        ans.push_back("RU");
      else
        ans.push_back("LU");
    } else {
      if (rig)
        ans.push_back("RD");
      else
        ans.push_back("LD");
    }
  }
  int book = min(sum1, sum2);
  sum1 -= book;
  sum2 -= book;
  for (int i = 1; i <= sum1; ++i) {
    if (up)
      ans.push_back("U");
    else
      ans.push_back("D");
  }
  for (int i = 1; i <= sum2; ++i) {
    if (rig)
      ans.push_back("R");
    else
      ans.push_back("L");
  }
  cout << ans.size() << endl;
  for (int i = 0; i < ans.size(); ++i) cout << ans[i] << endl;
  return 0;
}
