#include <bits/stdc++.h>
using namespace std;
signed main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  long long n;
  cin >> n;
  string a, b, c;
  cin >> a >> b >> c;
  long long len = a.length();
  map<long long, long long> x, y, z;
  long long mx1 = 0, mx2 = 0, mx3 = 0;
  for (size_t i = 0; i < len; i++) {
    x[a[i] - 'a']++;
    mx1 = max(mx1, x[a[i] - 'a']);
  }
  for (size_t i = 0; i < len; i++) {
    y[b[i] - 'a']++;
    mx2 = max(mx2, y[b[i] - 'a']);
  }
  for (size_t i = 0; i < len; i++) {
    z[c[i] - 'a']++;
    mx3 = max(mx3, z[c[i] - 'a']);
  }
  long long z1, z2, z3;
  if (len >= n + mx1) {
    mx1 += n;
  } else {
    if (mx1 == len && n == 1)
      mx1 = len - 1;
    else {
      mx1 = len;
    }
  }
  if (len >= n + mx2) {
    mx2 += n;
  } else {
    if (mx2 == len && n == 1)
      mx2 = len - 1;
    else {
      mx2 = len;
    }
  }
  if (len >= n + mx3) {
    mx3 += n;
  } else {
    if (mx3 == len && n == 1)
      mx3 = len - 1;
    else {
      mx3 = len;
    }
  }
  vector<long long> s;
  s.push_back(mx1);
  s.push_back(mx2);
  s.push_back(mx3);
  sort(s.begin(), s.end());
  if (s[1] == s[2]) {
    cout << "Draw";
  } else {
    if (mx1 == s[2])
      cout << "Kuro";
    else if (mx2 == s[2])
      cout << "Shiro";
    else {
      cout << "Katie";
    }
  }
}
