#include <bits/stdc++.h>
using namespace std;
long long f(string s, long long m) {
  map<char, long long> a;
  map<char, long long>::iterator ii;
  long long i;
  for (i = 0; i < s.size(); i++) {
    a[s[i]]++;
  }
  long long best = 0;
  for (ii = a.begin(); ii != a.end(); ii++) best = max(best, ii->second);
  long long p = s.size();
  if (best == p && m == 1) return p - 1;
  return min(p, best + m);
}
int main() {
  string s1, s2, s3;
  long long n;
  cin >> n;
  cin >> s1 >> s2 >> s3;
  if (f(s1, n) > f(s2, n) && f(s1, n) > f(s3, n)) {
    cout << "Kuro";
    return 0;
  }
  if (f(s2, n) > f(s1, n) && f(s2, n) > f(s3, n)) {
    cout << "Shiro";
    return 0;
  }
  if (f(s3, n) > f(s1, n) && f(s3, n) > f(s2, n)) {
    cout << "Katie";
    return 0;
  }
  cout << "Draw";
  return 0;
}
