#include <bits/stdc++.h>
using namespace std;
int32_t main() {
  ios::sync_with_stdio(false);
  cin.tie(NULL);
  cout.precision(10);
  int n;
  cin >> n;
  int m;
  cin >> m;
  int k;
  cin >> k;
  vector<string> a(n);
  for (int o = 0; o < n; o++) {
    cin >> a[o];
  }
  if (m == 1)
    cout << "Second\n";
  else {
    bool gsingle = false;
    bool rsingle = false;
    bool gdouble = false;
    bool rdouble = false;
    std::vector<int> gap;
    for (int i = 0; i < n; ++i) {
      int g = -1;
      int g1 = -1;
      int r = -1;
      int r1 = -1;
      for (int j = 0; j < m; ++j) {
        if (a[i][j] == 'R') {
          if (r != -1) {
            rdouble = true;
            r1 = j;
          } else
            r = j;
        } else if (a[i][j] == 'G') {
          if (g != -1) {
            gdouble = true;
            g1 = j;
          } else
            g = j;
        }
      }
      if (g != -1 && r == -1 && g1 == -1)
        gsingle = true;
      else if (r != -1 && r1 == -1 && g == -1)
        rsingle = true;
      if (r != -1 && g != -1) gap.emplace_back(abs(r - g) - 1);
    }
    if (m == 2) {
      if (rsingle && gsingle)
        cout << "Draw\n";
      else if (gsingle)
        cout << "First\n";
      else
        cout << "Second\n";
    } else {
      if ((rsingle || rdouble) && (gsingle || gdouble))
        cout << "Draw\n";
      else if ((rsingle || rdouble))
        cout << "Second\n";
      else if ((gsingle || gdouble))
        cout << "First1\n";
      else {
        std::vector<int> bits(10, 0);
        int res = 0;
        for (int p : gap)
          for (int i = 0; i < 10; ++i)
            if (p & (1 << i)) bits[i]++;
        for (int i = 0; i < 10; ++i)
          if (bits[i] %= (k + 1)) res = 1;
        if (res)
          cout << "First\n";
        else
          cout << "Second\n";
      }
    }
  }
}
