#include <bits/stdc++.h>
using namespace std;
const int BufferSize = 1 << 16;
char buffer[BufferSize], *Head, *Tail;
inline char Getchar() {
  if (Head == Tail) {
    int l = fread(buffer, 1, BufferSize, stdin);
    Tail = (Head = buffer) + l;
  }
  return *Head++;
}
int read() {
  int x = 0, f = 1;
  char c = getchar();
  while (!isdigit(c)) {
    if (c == '-') f = -1;
    c = getchar();
  }
  while (isdigit(c)) {
    x = x * 10 + c - '0';
    c = getchar();
  }
  return x * f;
}
int n;
char s1[2000010], s2[2000010];
int main() {
  n = (read() << 1);
  scanf("%s%s", s1 + 1, s2 + 1);
  int cnt10 = 0, cnt01 = 0, cnt11 = 0, fir = 0, sec = 0;
  for (int i = 1; i <= n; i++)
    cnt10 += (s1[i] == '1' && s2[i] == '0'),
        cnt01 += (s1[i] == '0' && s2[i] == '1'),
        cnt11 += (s1[i] == '1' && s2[i] == '1');
  sec = (cnt11 >> 1);
  fir = cnt11 - sec;
  if (cnt11 & 1) {
    if (cnt01 < cnt10) {
      fir += cnt01 + (cnt10 - cnt01 >> 1);
      sec += cnt01;
    }
    if (cnt01 > cnt10) {
      fir += cnt10;
      sec += cnt10 + (cnt01 - cnt10 - (cnt01 - cnt10 >> 1));
    }
    if (cnt01 == cnt10) {
      fir += cnt10;
      sec += cnt01;
    }
  } else {
    if (cnt01 < cnt10) {
      fir += cnt01 + (cnt10 - cnt01 - (cnt10 - cnt01 >> 1));
      sec += cnt01;
    }
    if (cnt01 > cnt10) {
      fir += cnt10;
      sec += cnt10 + (cnt01 - cnt10 >> 1);
    }
    if (cnt01 == cnt10) {
      fir += cnt10;
      sec += cnt01;
    }
  }
  if (fir > sec) puts("First");
  if (fir < sec) puts("Second");
  if (fir == sec) puts("Draw");
  return 0;
}
