Problem: One day, liouzhou_101 got a chat record of Freda and Rainbow. Out of curiosity, he wanted to know which sentences were said by Freda, and which were said by Rainbow. According to his experience, he thought that Freda always said "lala." at the end of her sentences, while Rainbow always said "miao." at the beginning of his sentences. For each sentence in the chat record, help liouzhou_101 find whose sentence it is. 

Input

The first line of the input contains an integer n (1 ≤ n ≤ 10), number of sentences in the chat record. Each of the next n lines contains a sentence. A sentence is a string that contains only Latin letters (A-Z, a-z), underline (_), comma (,), point (.) and space ( ). Its length doesn’t exceed 100.

Output

For each sentence, output "Freda's" if the sentence was said by Freda, "Rainbow's" if the sentence was said by Rainbow, or "OMG>.< I don't know!" if liouzhou_101 can’t recognize whose sentence it is. He can’t recognize a sentence if it begins with "miao." and ends with "lala.", or satisfies neither of the conditions. 

Examples

Input

5
I will go to play with you lala.
wow, welcome.
miao.lala.
miao.
miao .


Output

Freda's
OMG&gt;.&lt; I don't know!
OMG&gt;.&lt; I don't know!
Rainbow's
OMG&gt;.&lt; I don't know!

Solution (in JAVA):

Solution:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.StringTokenizer;

/* ------------ Theorems and Lemmas ------------ */

// Fermat's Little Theorem
// (1) ((a ** p) - a) % p = 0; if 'p' is prime
// (2) Further, if 'a % p != 0', then ((a ** (p - 1)) - 1) % p = 0

/* -------------- End of theorems -------------- */

public class Solution {

	public static void main(String[] args) {
		FastReader reader = new FastReader();
		int t = reader.nextInt();
		while (t-- > 0) {
			String s = reader.nextLine();
			if (s.length() >= 5) {
				String s1 = s.substring(0, 5); // Rainbow (miao)
				String s2 = s.substring(s.length() - 5); // Freda (lala)
				if (s1.equals("miao."))
					System.out.println(s2.equals("lala.") ? "OMG>.< I don't know!" : "Rainbow's");
				else if (s2.equals("lala."))
					System.out.println("Freda's");
				else
					System.out.println("OMG>.< I don't know!");
			} else
				System.out.println("OMG>.< I don't know!");
		}
		reader.close();
	}

	// Binary Exponentiation
	public static long binpow(long a, long n, long mod) {
		// Iterative approach
		a %= mod;
		long result = 1l;
		while (n > 0l) {
			if ((n & 1l) != 0l)
				result = result * a % mod;
			a = a * a % mod;
			n >>= 1l;
		}
		return result;

		// Recursive approach
		/*
		 * if (n == 0l) return 1l; long res = binpow(a, n / 2, mod); if ((n & 1l) != 0l)
		 * return ((res % mod) * (res % mod) * (a % mod)) % mod; else return ((res %
		 * mod) * (res % mod)) % mod;
		 */
	}

	// GCD
	public static int gcd(int a, int b) {
		while (b > 0) {
			a %= b;
			int t = a;
			a = b;
			b = t;
		}
		return a;
	}

	public static int lcm(int a, int b) {
		return a / gcd(a, b) * b;
	}

	public static void print2D(int[][] mat) {
		StringBuilder sb = new StringBuilder("");
		for (int i = 0; i < mat.length; ++i) {
			for (int j = 0; j < mat[i].length; ++j)
				sb.append(mat[i][j] + " ");
			sb.append("\n");
		}
		System.out.println(sb.toString().trim());
	}

	static class FastReader {
		BufferedReader br;
		StringTokenizer st;

		public FastReader() {
			br = new BufferedReader(new InputStreamReader(System.in));
		}

		String next() {
			while (st == null || !st.hasMoreElements()) {
				try {
					st = new StringTokenizer(br.readLine().trim());
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
			return st.nextToken();
		}

		int nextInt() {
			return Integer.parseInt(next());
		}

		long nextLong() {
			return Long.parseLong(next());
		}

		float nextFloat() {
			return Float.parseFloat(next());
		}

		double nextDouble() {
			return Double.parseDouble(next());
		}

		String nextLine() {
			StringBuilder str = new StringBuilder("");
			try {
				str.append(br.readLine());
			} catch (IOException e) {
				e.printStackTrace();
			}
			return str.toString();
		}

		long[] readArray(int size) {
			long[] ar = new long[size];
			for (int i = 0; i < size; ++i)
				ar[i] = nextLong();
			return ar;
		}

		void close() {
			try {
				br.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
}