#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, m, k;
  cin >> n >> m >> k;
  bool firstFree = false, secondFree = false;
  bool posMove = false;
  int xsum = 0;
  vector<int> grs;
  for (int i = 0; i < n; ++i) {
    string s;
    cin >> s;
    int first = -1, second = -1;
    bool stuck = true;
    for (int j = 0; j < m; ++j) {
      if (s[j] == 'G') {
        first = j;
      }
      if (s[j] == 'R') {
        second = j;
      }
      if (s[j] == '-') {
        stuck = false;
      }
    }
    if (stuck) {
      continue;
    }
    firstFree |= (first != -1 && second == -1);
    secondFree |= (second != -1 && first == -1);
    if (first >= 0 && second >= 0) {
      grs.push_back(abs(first - second) - 1);
    }
  }
  bool lose = true;
  while (true) {
    bool cont = false;
    int s = 0;
    for (size_t i = 0; i < grs.size(); ++i) {
      s += grs[i] % 2;
      grs[i] /= 2;
      if (grs[i] > 0) {
        cont = true;
      }
    }
    if (s % (k + 1) != 0) {
      lose = false;
    }
    if (!lose || !cont) {
      break;
    }
  }
  if (firstFree) {
    if (secondFree) {
      cout << "Draw\n";
    } else {
      cout << "First\n";
    }
  } else {
    if (secondFree) {
      cout << "Second\n";
    } else {
      if (lose) {
        cout << "Second\n";
      } else {
        cout << "First\n";
      }
    }
  }
  return 0;
}
