#include <bits/stdc++.h>
using namespace std;
int n;
char mat[40][40];
int dp[42][1 << 20];
int add(int x, int y) {
  if (mat[x][y] == 'a') return 1;
  if (mat[x][y] == 'b') return -1;
  return 0;
}
inline int solve(int diagonala, int masca) {
  if (dp[diagonala][masca] != -1) return dp[diagonala][masca];
  if (diagonala == 2 * n - 1) return add(n, n);
  int diagonalaredusa = diagonala;
  if (diagonalaredusa >= n) diagonalaredusa = 2 * n - diagonala;
  int mastichar[30];
  int xxx, yyy;
  memset(mastichar, 0, sizeof(mastichar));
  for (int i = 0; i <= diagonalaredusa; ++i)
    if (masca & (1 << i)) {
      int xx = i + 1;
      if (diagonala >= n) xx = diagonala - n + i + 1;
      int yy = diagonala - xx + 1;
      xxx = xx;
      yyy = yy;
      if (xx + 1 <= n)
        mastichar[mat[xx + 1][yy] - 'a'] |= (1 << (diagonala < n ? i + 1 : i));
      if (yy + 1 <= n)
        mastichar[mat[xx][yy + 1] - 'a'] |= (1 << (diagonala < n ? i : i - 1));
    }
  int sol;
  if (diagonala & 1)
    sol = 1 << 30;
  else
    sol = -1 << 30;
  for (int i = 0; i <= 26; ++i)
    if (mastichar[i]) {
      if (diagonala & 1)
        sol = min(sol, solve(diagonala + 1, mastichar[i]));
      else
        sol = max(sol, solve(diagonala + 1, mastichar[i]));
    }
  sol += add(xxx, yyy);
  return dp[diagonala][masca] = sol;
}
int main() {
  ios ::sync_with_stdio(false);
  cin >> n;
  for (int i = 1; i <= n; ++i) cin >> (mat[i] + 1);
  memset(dp, -1, sizeof(dp));
  int CET = solve(1, 1);
  if (CET == 0)
    cout << "DRAW\n";
  else if (CET > 0)
    cout << "FIRST\n";
  else
    cout << "SECOND\n";
  return 0;
}
