#include <bits/stdc++.h>
using namespace std;
char nap(pair<int, int> a, pair<int, int> b) {
  if (a.first + 1 == b.first) return 'D';
  if (a.second + 1 == b.second) return 'R';
  if (a.first - 1 == b.first) return 'U';
  if (a.second - 1 == b.second) return 'L';
}
int main() {
  int n, m;
  cin >> n >> m;
  vector<vector<int> > g(n + 2, vector<int>(m + 2, -2));
  char c;
  int fi, fj;
  for (int i = 1; i <= n; i++) {
    for (int j = 1; j <= m; j++) {
      cin >> c;
      if (c == '.') g[i][j] = -1;
      if (c == 'F') {
        fi = i;
        fj = j;
      }
    }
  }
  g[fi][fj] = -1;
  g[1][1] = 0;
  queue<pair<int, int> > q;
  q.push(make_pair(1, 1));
  g[1][1] = 0;
  int dx[] = {-1, 1, 0, 0};
  int dy[] = {0, 0, -1, 1};
  vector<pair<int, int> > path;
  while (!q.empty()) {
    pair<int, int> cur = q.front();
    q.pop();
    for (int z = 0; z < 4; z++) {
      int newi = cur.first + dx[z];
      int newj = cur.second + dy[z];
      if (g[newi][newj] == -1) {
        q.push(make_pair(newi, newj));
        g[newi][newj] = g[cur.first][cur.second] + 1;
        if (newi == fi && newj == fj) {
          path.push_back(make_pair(fi, fj));
          while (!(fi == 1 && fj == 1)) {
            for (int z = 0; z < 4; z++) {
              if (g[fi + dx[z]][fj + dy[z]] == g[fi][fj] - 1) {
                fi = fi + dx[z];
                fj = fj + dy[z];
                path.push_back(make_pair(fi, fj));
                break;
              }
            }
          }
          break;
        }
      }
    }
  }
  reverse(path.begin(), path.end());
  char L = 'L', R = 'R', U = 'U', D = 'D';
  int I, J;
  for (int i = 0; i < path.size() - 1; i++) {
    char c = nap(path[i], path[i + 1]);
    if (c == 'L') cout << L << endl;
    if (c == 'R') cout << R << endl;
    if (c == 'U') cout << U << endl;
    if (c == 'D') cout << D << endl;
    fflush(stdout);
    cin >> I >> J;
    if (I == path[i].first && J == path[i].second) {
      if (c == 'U' || c == 'D') {
        swap(U, D);
      }
      if (c == 'R' || c == 'L') {
        swap(R, L);
      }
      if (c == 'L') cout << L << endl;
      if (c == 'R') cout << R << endl;
      if (c == 'U') cout << U << endl;
      if (c == 'D') cout << D << endl;
      fflush(stdout);
      cin >> I >> J;
    }
  }
  return 0;
}
