#include <bits/stdc++.h>
using namespace std;
int n, m;
char s[105][105];
const int dx[] = {0, 0, -1, 1};
const int dy[] = {-1, 1, 0, 0};
char dz[] = {'L', 'R', 'U', 'D'};
int h, t, p[105][105], d[100005];
struct xy {
  int x, y;
} q[100005];
int main() {
  scanf("%d%d", &n, &m);
  for (int i = 1; i <= n; i++) scanf("%s", s[i] + 1);
  q[t = 1] = (xy){1, 1};
  while (h < t) {
    h++;
    int x = q[h].x, y = q[h].y;
    for (int i = 0; i < 4; i++) {
      int nowx = x + dx[i], nowy = y + dy[i];
      if (nowx < 1 || nowx > n || nowy < 1 || nowy > m ||
          s[nowx][nowy] == '*' || p[nowx][nowy])
        continue;
      q[++t] = (xy){nowx, nowy};
      p[nowx][nowy] = i + 1;
    }
  }
  int fx, fy;
  for (int i = 1; i <= n; i++)
    for (int j = 1; j <= m; j++)
      if (s[i][j] == 'F') {
        fx = i;
        fy = j;
        break;
      }
  int K = 0;
  for (int x = fx, y = fy; x != 1 || y != 1;) {
    K++;
    d[K] = p[x][y] - 1;
    x -= dx[d[K]], y -= dy[d[K]];
  }
  int x = 1, y = 1;
  for (int i = K; i; i--) {
    putchar(dz[d[i]]);
    putchar('\n');
    fflush(stdout);
    int tx, ty;
    scanf("%d%d", &tx, &ty);
    if (x == tx && y == ty) {
      swap(dz[d[i]], dz[d[i] ^ 1]);
      putchar(dz[d[i]]);
      putchar('\n');
      fflush(stdout);
      scanf("%d%d", &tx, &ty);
    }
    x = tx, y = ty;
    if (x == fx && y == fy) return 0;
  }
  return 0;
}
