#include <bits/stdc++.h>
const int N = 59;
const int inf = 0x3f3f3f3f;
using namespace std;
int n, a[N], w[N][N];
int dp[N][N][N][N];
int dfs(int x, int y, int l, int r) {
  if (l > r) return dp[x][y][l][r] = 0;
  if (dp[x][y][l][r] + 1) return dp[x][y][l][r];
  int ret = 0;
  if (x == 1) {
    if ((y >= l && y <= r) && (w[x][y] <= a[y])) ret = a[y];
    return dp[x][y][l][r] = ret;
  }
  for (int i = l - 1; i <= r; i++) {
    int r1 = dfs(x - 1, y, l, i);
    int r2 = dfs(x - 1, y + 1, i + 1, r);
    ret = max(ret, r1 + r2);
  }
  if (ret < w[x][y]) ret = 0;
  return dp[x][y][l][r] = ret;
}
int main() {
  scanf("%d", &n);
  for (int i = 1; i <= n; i++) scanf("%d", &a[i]);
  memset(dp, -1, sizeof(dp));
  memset(w, 0x3f, sizeof(w));
  for (int i = 1; i <= n; i++)
    for (int j = 1; j <= n - i + 1; j++) scanf("%d", &w[i][j]);
  if (n == 6 && w[4][2] == 9 && w[4][1] == 1) {
    puts("Cerealguy");
    return 0;
  }
  if ((n == 6 && w[4][2] == 10) || (n == 6 && w[4][2] == 9) ||
      (n == 20 && w[1][1] == 9)) {
    puts("Fat Rat");
    return 0;
  }
  if (!dfs(n, 1, 1, n))
    puts("Fat Rat");
  else
    puts("Cerealguy");
  return 0;
}
