#include <bits/stdc++.h>
using namespace std;
char s[22][22];
int n;
int dp[42][1 << 20], nxt[42][26];
bool v[42][1 << 20];
int dfs(int step, int state) {
  if (v[step][state]) return dp[step][state];
  v[step][state] = 1;
  int add = 0;
  for (int i = 0; i < n; i++) {
    if (state & (1 << i)) {
      if (s[i][step - i] == 'a')
        add++;
      else if (s[i][step - i] == 'b')
        add--;
      break;
    }
  }
  if (step == (n - 1) * 2) return dp[step][state] = add;
  if (step % 2)
    dp[step][state] = -0x7fffffff;
  else
    dp[step][state] = 0x7fffffff;
  for (int i = 0; i < 26; i++) {
    int next = nxt[step + 1][i] & (state | (state << 1));
    if (next == 0) continue;
    dp[step][state] = (step % 2)
                          ? (max(dp[step][state], dfs(step + 1, next) + add))
                          : (min(dp[step][state], dfs(step + 1, next) + add));
  }
  return dp[step][state];
}
int main() {
  scanf("%d", &n);
  for (int i = 0; i < n; i++) scanf("%s", s[i]);
  for (int i = 0; i < n * 2 - 1; i++)
    for (int j = 0; j < n; j++)
      if (i - j >= 0 && i - j < n) nxt[i][s[j][i - j] - 'a'] |= (1 << j);
  int ans = dfs(0, 1);
  puts((ans == 0) ? "DRAW" : ((ans > 0) ? "FIRST" : "SECOND"));
  return 0;
}
