#include <bits/stdc++.h>
using namespace std;
struct node {
  int x, y, z, r;
  char* s;
} list[1009];
bool isEqual(string s, string ss) {
  for (int j = 0; j < s.size(); j++) {
    if (s[j] != ss[j]) return false;
  }
  return true;
}
int main() {
  int n;
  vector<string> v;
  string str[1009], line;
  cin >> n;
  v.resize(n);
  for (int i = 0; i < n + 1; i++) {
    getline(cin, line);
    str[i] = line;
  }
  int is[1009] = {0};
  string s1, s2, ss = "miao.", sss = "lala.";
  int w = 0, c = 0, t = 0;
  for (int i = 0; i < n + 1; i++) {
    line = str[i];
    w = 0, t = 0;
    s1 = line.substr(0, 5);
    if (line.size() > 4) s2 = line.substr(line.size() - 5, line.size());
    if (isEqual(s1, ss) && !isEqual(s2, sss) && s1.size() == 5)
      is[i] = 2;
    else if (!isEqual(s1, ss) && isEqual(s2, sss) && s2.size() == 5)
      is[i] = 1;
  }
  for (int i = 1; i < n + 1; i++) {
    if (is[i] == 1)
      cout << "Freda's" << endl;
    else if (is[i] == 2)
      cout << "Rainbow's" << endl;
    else
      cout << "OMG>.< I don't know!" << endl;
  }
  cout << endl;
  return 0;
}
