#include <bits/stdc++.h>
using namespace std;
template <class T>
inline bool Up(T &a, const T &b) {
  if (a < b) {
    a = b;
    return true;
  }
  return false;
}
template <class T>
inline bool Down(T &a, const T &b) {
  if (a > b) {
    a = b;
    return true;
  }
  return false;
}
inline int getus() {
  int tmp, c;
  while (tmp = fgetc(stdin), tmp < '0' || tmp > '9')
    ;
  tmp -= '0';
  while (c = fgetc(stdin), '0' <= c && c <= '9') tmp = tmp * 10 + c - '0';
  return tmp;
}
inline int getint() {
  int tmp, c, flag;
  while (flag = fgetc(stdin), flag != '-' && (flag < '0' || flag > '9'))
    ;
  if (flag == '-')
    tmp = 0;
  else
    tmp = flag - '0';
  while (c = fgetc(stdin), '0' <= c && c <= '9') tmp = tmp * 10 + c - '0';
  return flag == '-' ? -tmp : tmp;
}
int N;
string A, B;
int main() {
  cin >> N;
  cin >> A;
  cin >> B;
  int cnt1 = 0, cnt2 = 0, cnt3 = 0;
  for (int i = (0); i < (2 * N); ++i) {
    if (A[i] == '1' && B[i] == '1')
      ++cnt1;
    else if (A[i] == '1' && B[i] == '0')
      ++cnt2;
    else if (A[i] == '0' && B[i] == '1')
      ++cnt3;
  }
  string C(""), D("");
  for (int i = (1); i <= (N); ++i) {
    if (cnt1)
      C += '1', --cnt1;
    else if (cnt2)
      C += '1', --cnt2;
    else if (cnt3)
      C += '0', --cnt3;
    else
      C += '0';
    if (cnt1)
      D += '1', --cnt1;
    else if (cnt3)
      D += '1', --cnt3;
    else if (cnt2)
      D += '0', --cnt2;
    else
      D += '0';
  }
  if (C == D)
    puts("Draw");
  else if (C > D)
    puts("First");
  else
    puts("Second");
  return 0;
}
