#include <bits/stdc++.h>
using namespace std;
int n, m, k;
string s;
bool notL1 = false, notL2 = false, w1 = false, w2 = false;
int main() {
  cin >> n >> m >> k;
  vector<int> val(0);
  int tot = 0;
  for (int i = 0; i < n; ++i) {
    cin >> s;
    vector<int> R(0), G(0);
    for (int i = 0; i < m; ++i) {
      if (s[i] == 'R') {
        R.push_back(i);
      } else if (s[i] == 'G') {
        G.push_back(i);
      }
    }
    if ((int)(R).size() == 1 && m > 1 && !(int)(G).size()) notL2 = true;
    if ((int)(R).size() == 2 && m > 2 && !(int)(G).size()) notL2 = true;
    if ((int)(G).size() == 1 && m > 1 && !(int)(R).size()) notL1 = true;
    if ((int)(G).size() == 2 && m > 2 && !(int)(R).size()) notL1 = true;
    if ((int)(R).size() && (int)(G).size() && abs(R[0] - G[0]) > 1) {
      ++tot;
      val.push_back(abs(R[0] - G[0]) - 1);
    }
  }
  for (int(step) = 0; (step) < (111); ++(step)) {
    int sum = 0;
    for (int i = 0; i < (int)(val).size(); ++i) {
      sum += val[i] % 2;
      val[i] /= 2;
    }
    if (sum % (k + 1) != 0) {
      w1 = true;
      break;
    }
  }
  if (!w1 && tot) w2 = true;
  if ((w1 && !notL2)) {
    cout << "First\n";
  } else if ((w2 && !notL1) || (!notL1 && !w1)) {
    cout << "Second\n";
  } else if ((!notL2 && !w2)) {
    cout << "First\n";
  } else
    cout << "Draw\n";
  return 0;
}
