#include <bits/stdc++.h>
using namespace std;
int n, m;
string s[110];
queue<pair<int, int> > q;
pair<int, int> parent[110][110];
pair<int, int> moves[4] = {make_pair(1, 0), make_pair(0, 1), make_pair(-1, 0),
                           make_pair(0, -1)};
char used[110][110];
int xend, yend;
int ud = -1, lr = -1;
int main() {
  cin >> n >> m;
  for (int i = 0; i < n; i++) cin >> s[i];
  for (int i = 0; i < n; i++)
    for (int j = 0; j < m; j++)
      if (s[i][j] == 'F') xend = i, yend = j;
  q.push(make_pair(0, 0));
  parent[0][0] = make_pair(-1, -1);
  used[0][0] = true;
  while (!q.empty()) {
    pair<int, int> v = q.front();
    q.pop();
    for (int i = 0; i < 4; i++) {
      int curi = v.first + moves[i].first;
      int curj = v.second + moves[i].second;
      if (curi >= 0 && curi < n && curj >= 0 && curj < m) {
        if (s[curi][curj] != '*' && !used[curi][curj]) {
          used[curi][curj] = 1;
          q.push(make_pair(curi, curj));
          parent[curi][curj] = v;
        }
      }
    }
  }
  vector<pair<int, int> > path;
  for (pair<int, int> v = make_pair(xend, yend); v != make_pair(-1, -1);
       v = parent[v.first][v.second]) {
    path.push_back(v);
  }
  string res;
  reverse(path.begin(), path.end());
  for (int i = 0; i < (int)path.size() - 1; i++) {
    if (path[i].first > path[i + 1].first) res.push_back('U');
    if (path[i].first < path[i + 1].first) res.push_back('D');
    if (path[i].second < path[i + 1].second) res.push_back('R');
    if (path[i].second > path[i + 1].second) res.push_back('L');
  }
  int x, y;
  int curx = 1, cury = 1;
  for (auto u : res) {
    if (u == 'D') {
      if (ud == -1) {
        cout << "D" << endl;
        cin >> x >> y;
        if (x == curx && y == cury) {
          ud = 1;
          cout << "U" << endl;
          cin >> x >> y;
          curx = x;
          cury = y;
        } else
          ud = 0;
      } else {
        if (ud == 1)
          cout << "U" << endl;
        else
          cout << "D" << endl;
        cin >> x >> y;
        curx = x;
        cury = y;
      }
    }
    if (u == 'U') {
      if (ud == 0) {
        cout << "U" << endl;
      } else if (ud == 1)
        cout << "D" << endl;
      cin >> x >> y;
      curx = x;
      cury = y;
    }
    if (u == 'L') {
      if (lr == 0)
        cout << "L" << endl;
      else
        cout << "R" << endl;
      cin >> x >> y;
      curx = x;
      cury = y;
    }
    if (u == 'R') {
      if (lr == -1) {
        cout << "R" << endl;
        cin >> x >> y;
        if (x == curx && y == cury) {
          lr = 1;
          cout << "L" << endl;
          cin >> x >> y;
          curx = x;
          cury = y;
        } else
          lr = 0;
      } else {
        if (lr == 0)
          cout << "R" << endl;
        else
          cout << "L" << endl;
        cin >> x >> y;
        curx = x;
        cury = y;
      }
    }
  }
  return 0;
}
