#include <bits/stdc++.h>
using namespace std;
int dx[4] = {-1, 1, 0, 0};
int dy[4] = {0, 0, -1, 1};
const int inf = 0x7f7f7f7f;
const int mod = 1000000007;
const double eps = 1e-8;
const int R = 100007;
char s[22][22];
int n;
int dp[42][1 << 20];
int a[42][26];
int ans;
int DP(int step, int state) {
  if (dp[step][state] != 1e9) return dp[step][state];
  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 == 2 * n - 2) return dp[step][state] = add;
  if (step % 2 == 0) {
    for (int i = 0; i < 26; ++i) {
      int next = a[step + 1][i] & (state | (state << 1));
      if (next == 0) continue;
      dp[step][state] = min(dp[step][state], DP(step + 1, next) + add);
    }
  } else {
    dp[step][state] = -1e9;
    for (int i = 0; i < 26; ++i) {
      int next = a[step + 1][i] & (state | (state << 1));
      if (next == 0) continue;
      dp[step][state] = max(dp[step][state], DP(step + 1, next) + add);
    }
  }
  return dp[step][state];
}
int main() {
  scanf("%d", &n);
  for (int i = 0; i < n; ++i) scanf("%s", s[i]);
  memset(a, 0, sizeof(a));
  for (int i = 0; i < 2 * n - 1; ++i) {
    for (int j = 0; j < n; ++j) {
      if (i - j < 0 || i - j >= n) continue;
      a[i][s[j][i - j] - 'a'] |= (1 << j);
    }
  }
  for (int i = 0; i < 2 * n - 1; ++i)
    for (int j = 0; j < (1 << 20); ++j) dp[i][j] = 1e9;
  int ans = DP(0, 1);
  if (ans == 0)
    printf("DRAW\n");
  else if (ans > 0)
    printf("FIRST\n");
  else
    printf("SECOND\n");
  return 0;
}
