#include <bits/stdc++.h>
using namespace std;
int main() {
  string a, b, c;
  vector<long long> m1(200, 0), m2(200, 0), m3(200, 0);
  long long n, i, sch = 1;
  cin >> n;
  cin >> a >> b >> c;
  if (n >= a.size()) return cout << "Draw", 0;
  for (i = 0; i < a.size(); ++i) {
    ++m1[a[i]];
  }
  for (i = 0; i < b.size(); ++i) {
    ++m2[b[i]];
  }
  for (i = 0; i < b.size(); ++i) {
    ++m3[c[i]];
  }
  long long m = 0;
  char ch1;
  for (i = 0; i < 200; ++i) {
    if (m1[i] > m) {
      m = m1[i];
      ch1 = i;
    }
  }
  m = 0;
  char ch2;
  for (i = 0; i < 200; ++i) {
    if (m2[i] > m) {
      m = m2[i];
      ch2 = i;
    }
  }
  m = 0;
  char ch3;
  for (i = 0; i < 200; ++i) {
    if (m3[i] > m) {
      m = m3[i];
      ch3 = i;
    }
  }
  long long ans1 = 0;
  string a1 = a;
  for (i = 0; i < a.size(); ++i) {
    if (a[i] != ch1) {
      ans1 = ans1 + 1;
      if (ans1 > n) {
        ans1--;
        break;
      }
      a1[i] = ch1;
    }
  }
  long long ans2 = 0;
  string b1 = b;
  for (i = 0; i < b.size(); ++i) {
    if (b[i] != ch2) {
      ans2 = ans2 + 1;
      if (ans2 > n) {
        ans2--;
        break;
      }
      b1[i] = ch2;
    }
  }
  long long ans3 = 0;
  string c1 = c;
  for (i = 0; i < c.size(); ++i) {
    if (c[i] != ch3) {
      ans3 = ans3 + 1;
      if (ans3 > n) {
        ans3--;
        break;
      }
      c1[i] = ch3;
    }
  }
  long long sch1 = 0, sch2 = 0, sch3 = 0;
  for (i = 0; i < a1.size(); ++i) {
    if (a1[i] == ch1) sch1++;
  }
  for (i = 0; i < b1.size(); ++i) {
    if (b1[i] == ch2) sch2++;
  }
  for (i = 0; i < a.size(); ++i) {
    if (c1[i] == ch3) sch3++;
  }
  if ((n - ans1 > 0) && (n - ans1) % 2 == 1 && n == 1) sch1--;
  if ((n - ans2 > 0) && (n - ans2) % 2 == 1 && n == 1) sch2--;
  if ((n - ans3 > 0) && (n - ans3) % 2 == 1 && n == 1) sch3--;
  if (sch1 > sch2 && sch1 > sch3) return cout << "Kuro", 0;
  if (sch2 > sch1 && sch2 > sch3) return cout << "Shiro", 0;
  if (sch3 > sch2 && sch3 > sch1) return cout << "Katie", 0;
  cout << "Draw";
}
