#include <bits/stdc++.h>
#pragma comment(linker, "/STACK:62000000")
using namespace std;
const double PI = acos(-1.0);
template <class T>
inline T SQR(T a) {
  return a * a;
}
int main() {
  int n, m, k;
  cin >> n >> m >> k;
  char A[101][102];
  for (int i = (0), ei = (n); i < ei; i++) scanf(" %s", A + i);
  bool R = 0, G = 0;
  int cnt = n * m;
  int tG = 0;
  for (int i = (0), ei = (n); i < ei; i++) {
    int r = 0, g = 0;
    for (int j = (0), ej = (m); j < ej; j++)
      if (A[i][j] == 'R')
        r++;
      else if (A[i][j] == 'G')
        g++;
      else
        --cnt;
    if (g < m) tG += g;
    if (g && !r && g < m) G = 1;
    if (r && !g && r < m) R = 1;
  }
  if (R && G) {
    printf("Draw\n");
    return 0;
  }
  if (G) {
    printf("First\n");
    return 0;
  }
  if (R || tG == 0) {
    printf("Second\n");
    return 0;
  }
  int B[100];
  int pos = 0;
  for (int i = (0), ei = (n); i < ei; i++) {
    int g = 0, r = 0;
    for (int j = (0), ej = (m); j < ej; j++)
      if (A[i][j] == 'G')
        g = j;
      else if (A[i][j] == 'R')
        r = j;
    if (g != r) B[pos++] = abs(g - r) - 1;
  }
  int K[10] = {0};
  for (int i = (0), ei = (n); i < ei; i++)
    for (int j = (0), ej = (10); j < ej; j++)
      K[j] = (K[j] + ((B[i] >> j) & 1)) % (k + 1);
  if (*max_element(K, K + 10) == 0)
    printf("Second\n");
  else
    printf("First\n");
  return 0;
}
