#include <bits/stdc++.h>
using namespace std;
int n, m;
char ss[200];
int a[200][200];
int edx, edy, x, y;
int fg1, fg2;
queue<int> qx, qy;
int p[200][200];
bool vis[200][200];
int dx[4] = {0, 0, -1, 1};
int dy[4] = {-1, 1, 0, 0};
int inv[4] = {1, 0, 3, 2};
int st[200 * 200];
int stp = 0;
int a1, a2;
inline void sol(int x, int y) {
  qx.push(x), qy.push(y);
  while (!qx.empty()) {
    int nowx = qx.front(), nowy = qy.front();
    qx.pop(), qy.pop();
    for (int i = 0; i < 4; ++i) {
      int curx = nowx + dx[i], cury = nowy + dy[i];
      if (curx > n || curx < 1 || cury > m || cury < 1 || !a[curx][cury])
        continue;
      if (!vis[curx][cury]) {
        vis[curx][cury] = 1;
        p[curx][cury] = i;
        qx.push(curx), qy.push(cury);
      }
    }
  }
  int nowx = edx, nowy = edy;
  while (!(nowx == x && nowy == y)) {
    int q = p[nowx][nowy];
    st[++stp] = q;
    q = inv[q];
    nowx += dx[q], nowy += dy[q];
  }
  for (int i = stp; i > 0; --i) {
    int q = st[i];
    if (q == 0) puts(fg1 ? "R" : "L");
    if (q == 1) puts(fg1 ? "L" : "R");
    if (q == 2) puts(fg2 ? "D" : "U");
    if (q == 3) puts(fg2 ? "U" : "D");
    fflush(stdout);
    scanf("%d%d", &a1, &a2);
    if (!~a1) exit(0);
  }
}
int main() {
  scanf("%d%d", &n, &m);
  for (int i = 1; i <= n; ++i) {
    scanf("%s", ss);
    for (int j = 1; j <= m; ++j) {
      if (ss[j - 1] == '*')
        a[i][j] = 0;
      else if (ss[j - 1] == 'F')
        edx = i, edy = j, a[i][j] = 2;
      else
        a[i][j] = 1;
    }
  }
  if (a[1][2]) {
    puts("R");
    fflush(stdout);
    scanf("%d%d", &x, &y);
    if (!~x) exit(0);
    if (y == 1)
      fg1 = 1;
    else {
      puts("L");
      fflush(stdout);
      scanf("%d%d", &x, &y);
      if (!~x) exit(0);
    }
    int idx = -1;
    int fg = 0;
    for (int i = 1; i <= m; ++i) {
      if (a[2][i]) {
        idx = i;
        break;
      }
      if (a[1][i] == 2) {
        fg = i;
        break;
      }
      if (!a[1][i + 1]) break;
    }
    if (fg) {
      for (int i = 2; i <= fg; ++i) {
        puts(fg1 ? "L" : "R");
        fflush(stdout);
        scanf("%d%d", &x, &y);
        if (!~x) exit(0);
      }
      return 0;
    }
    for (int i = 2; i <= idx; ++i) {
      puts(fg1 ? "L" : "R");
      fflush(stdout);
      scanf("%d%d", &x, &y);
      if (!~x) exit(0);
    }
    puts("D");
    fflush(stdout);
    scanf("%d%d", &x, &y);
    if (!~x) exit(0);
    if (x == 1) fg2 = 1;
    sol(x, y);
  } else {
    puts("D");
    fflush(stdout);
    scanf("%d%d", &x, &y);
    if (!~x) exit(0);
    if (x == 1)
      fg2 = 1;
    else {
      puts("U");
      fflush(stdout);
      scanf("%d%d", &x, &y);
      if (!~x) exit(0);
    }
    int idx = -1;
    int fg = 0;
    for (int i = 1; i <= n; ++i) {
      if (a[i][2]) {
        idx = i;
        break;
      }
      if (a[i][1] == 2) {
        fg = i;
        break;
      }
      if (!a[i + 1][1]) break;
    }
    if (fg) {
      for (int i = 2; i <= fg; ++i) {
        puts(fg2 ? "U" : "D");
        fflush(stdout);
        scanf("%d%d", &x, &y);
        if (!~x) exit(0);
      }
      return 0;
    }
    for (int i = 2; i <= idx; ++i) {
      puts(fg2 ? "U" : "D");
      fflush(stdout);
      scanf("%d%d", &x, &y);
      if (!~x) exit(0);
    }
    puts("R");
    fflush(stdout);
    scanf("%d%d", &x, &y);
    if (!~x) exit(0);
    if (y == 1) fg1 = 1;
    sol(x, y);
  }
  return 0;
}
