#include <bits/stdc++.h>
using namespace std;
const int none = 100000;
int n;
int b[42][42];
int f[42][1 << 20];
string st[42];
void ready() {
  for (int i = 0; i < n + n; i++)
    for (int j = 0; j < (1 << n); j++) f[i][j] = none;
  for (int i = 0; i < n + n - 1; i++)
    for (int j = 0; j < 26; j++)
      for (int k = 0; k < n; k++) {
        int x = k, y = i - x;
        if (y < 0 || y >= n) continue;
        if (st[x][y] - 'a' != j) continue;
        b[i][j] |= 1 << k;
      }
}
int dfs(int dep, int set, int c, int first) {
  if (f[dep][set] != none) return f[dep][set];
  int ans = -none;
  if (dep == 2 * n - 2)
    ans = 0;
  else {
    for (int i = 0; i < 26; i++) {
      int set2 = b[dep + 1][i] & (set | (set << 1));
      if (set2 <= 0) continue;
      ans = max(ans, -dfs(dep + 1, set2, i, !first));
    }
  }
  if (first) {
    if (c == 0) ans++;
    if (c == 1) ans--;
  } else {
    if (c == 0) ans--;
    if (c == 1) ans++;
  }
  return f[dep][set] = ans;
}
int main() {
  cin >> n;
  for (int i = 0; i < n; i++) cin >> st[i];
  ready();
  int ans = dfs(0, 1, st[0][0] - 'a', 0);
  if (ans < 0)
    puts("FIRST");
  else if (ans == 0)
    puts("DRAW");
  else
    puts("SECOND");
}
