#include <bits/stdc++.h>
using namespace std;
const int N = 1 << 20;
int dp[41][N], mask[41][26], flag[41], pos = 0, b[21][21], n, val[41][21];
bool f[41][N];
int sol(int x, int st) {
  int &ret = dp[x][st];
  if (f[x][st]) return ret;
  f[x][st] = 1;
  if (x & 1)
    ret = -100;
  else
    ret = 100;
  int i, nst = (st | (st << 1)) & flag[x + 1];
  for (i = 0; i < 26; ++i)
    if (mask[x + 1][i] & nst) {
      if (x & 1)
        ret = max(ret, sol(x + 1, nst & mask[x + 1][i]));
      else
        ret = min(ret, sol(x + 1, nst & mask[x + 1][i]));
    }
  ret += val[x][__builtin_ctz(st)];
  return ret;
}
int main() {
  int i, j, k;
  cin >> n;
  string s;
  for (i = 0; i < n; ++i) {
    cin >> s;
    for (j = 0; j < n; ++j) {
      flag[i + j] |= 1 << j;
      mask[i + j][s[j] - 'a'] |= 1 << j;
      val[i + j][j] = 0;
      if (s[j] == 'a') ++val[i + j][j];
      if (s[j] == 'b') --val[i + j][j];
    }
  }
  int x = 1 << n - 1;
  f[2 * n - 2][x] = 1;
  dp[2 * n - 2][x] = val[2 * n - 2][n - 1];
  int ret = sol(0, 1);
  if (ret > 0)
    cout << "FIRST\n";
  else if (ret < 0)
    cout << "SECOND\n";
  else
    cout << "DRAW\n";
}
