#include <bits/stdc++.h>
using namespace std;
pair<char, int> check(string s) {
  map<char, int> used;
  int l = s.size(), i, maxVal = 0;
  char ans;
  for (i = 0; i < l; i++) {
    used[s.at(i)]++;
    if (used[s.at(i)] > maxVal) {
      maxVal = used[s.at(i)];
      ans = s.at(i);
    }
  }
  return make_pair(ans, maxVal);
}
int execute() {
  int n, i, diff[4] = {0}, minVal = 10e8 + 7;
  cin >> n;
  vector<pair<char, int> > val(4);
  string a[3];
  for (i = 0; i < 3; i++) {
    cin >> a[i];
    val[i] = check(a[i]);
    diff[i] = a[i].size() - val[i].second;
    diff[i] = max(0 + (diff[i] + 1 == n && !diff[i]), diff[i] - n);
    minVal = min(minVal, diff[i]);
  }
  int index;
  for (i = 0; i < 3; i++) {
    if (minVal == diff[i]) {
      index = i;
    }
  }
  sort(diff, diff + 3);
  if (diff[0] == diff[1])
    cout << "Draw" << endl;
  else {
    switch (index) {
      case (0):
        cout << "Kuro" << endl;
        break;
      case (1):
        cout << "Shiro" << endl;
        break;
      default:
        cout << "Katie" << endl;
    }
  }
  return 0;
}
char mtest = false;
unsigned short TE = 1;
int main() {
  ios_base::sync_with_stdio(false);
  if (mtest) cin >> TE;
  while (TE--) execute();
  return 0;
}
