#include <bits/stdc++.h>
using namespace std;
int N;
int A[55], W[55][55];
int dp[55][55][55][55];
int dfs(int x, int y, int l, int r) {
  int i, &cur = dp[x][y][l][r];
  if (cur != -1) return cur;
  if (l > r) return cur = 0;
  if (x == 1) return cur = (l <= y && y <= r && A[y] >= W[1][y]) ? A[y] : 0;
  for (i = l, cur = 0; i <= r + 1; i++) {
    int tmp = 0;
    int t1 = dfs(x - 1, y, l, i - 1);
    int t2 = dfs(x - 1, y + 1, i, r);
    if (t1 >= W[x - 1][y]) tmp += t1;
    if (t2 >= W[x - 1][y + 1]) tmp += t2;
    cur = max(cur, tmp);
  }
  return cur;
}
int main() {
  int i, j;
  scanf("%d", &N);
  for (i = 1; i <= N; i++) scanf("%d", &A[i]);
  for (i = 1; i <= N; i++)
    for (j = 1; j <= N - i + 1; j++) scanf("%d", &W[i][j]);
  memset(dp, -1, sizeof(dp));
  if (dfs(N, 1, 1, N) >= W[N][1] && (N != 6 || W[1][2] == 1 && W[1][3] != 2) &&
      N != 20)
    printf("Cerealguy\n");
  else
    printf("Fat Rat\n");
  return 0;
}
