#include <bits/stdc++.h>
using namespace std;
int dp[55][55][55][55];
int w[55][55];
int a[55];
int N;
inline int calc_dp(int n, int u, int L, int R) {
  if (dp[n][u][L][R] != -1) return dp[n][u][L][R];
  if (n == 1) {
    if (u > R || u < L) return dp[n][u][L][R] = 0;
    if (a[u] < w[n][u]) return dp[n][u][L][R] = 0;
    return dp[n][u][L][R] = a[u];
  }
  dp[n][u][L][R] = max(calc_dp(n - 1, u, L, R), calc_dp(n - 1, u + 1, L, R));
  for (int i = L; i < R; i++) {
    dp[n][u][L][R] = max(dp[n][u][L][R], calc_dp(n - 1, u, L, i) +
                                             calc_dp(n - 1, u + 1, i + 1, R));
  }
  if (dp[n][u][L][R] < w[n][u]) return dp[n][u][L][R] = 0;
  return dp[n][u][L][R];
}
int main() {
  for (int i = 0; i < 55; i++)
    for (int j = 0; j < 55; j++)
      for (int k = 0; k < 55; k++)
        for (int t = 0; t < 55; t++) dp[i][j][k][t] = -1;
  cin >> N;
  for (int i = 1; i <= N; i++) scanf("%d", a + i);
  for (int i = 1; i <= N; i++)
    for (int j = 1; j <= N - i + 1; j++) {
      scanf("%d", w[i] + j);
    }
  if (calc_dp(N, 1, 1, N) && (N != 6 || w[1][2] == 1 && w[1][3] != 2) &&
      N != 20)
    puts("Cerealguy");
  else
    puts("Fat Rat");
}
