#include <bits/stdc++.h>
using namespace std;
unsigned long n, p;
int t1, t2, t3, b1, c1, c2, c3, b2, b, b3, a, l, s = 0, m1, m2, m3, a1, a2, a3,
                                                 l1, l2, l3;
int arr1[200], arr2[200], arr3[200];
char C1[100004], C3[100004], C2[100004];
int main() {
  while (scanf("%lu", &n) == 1) {
    memset(arr1, 0, sizeof(arr1));
    memset(arr2, 0, sizeof(arr2));
    memset(arr3, 0, sizeof(arr3));
    scanf("%s", C1);
    scanf("%s", C2);
    scanf("%s", C3);
    l = strlen(C1);
    for (int i = 0; i < l; i++) {
      arr1[C1[i]]++;
      arr2[C2[i]]++;
      arr3[C3[i]]++;
    }
    m1 = 0, m2 = 0, m3 = 0;
    for (int i = 'A'; i <= 'z'; i++) {
      if (arr1[i] > m1) m1 = arr1[i];
      if (arr2[i] > m2) m2 = arr2[i];
      if (arr3[i] > m3) m3 = arr3[i];
    }
    c1 = c2 = c3 = 0;
    for (int i = 'A'; i <= 'z'; i++) {
      if (arr1[i] > c1 && arr1[i] < m1) c1 = arr1[i];
      if (arr2[i] > c2 && arr2[i] < m2) c2 = arr2[i];
      if (arr3[i] > c3 && arr3[i] < m3) c3 = arr3[i];
    }
    l1 = m1;
    l2 = m2;
    l3 = m3;
    if (n + l1 >= l) {
      if (l1 == l && n == 1)
        a1 = l - 1;
      else
        a1 = l;
    } else {
      a1 = m1 + n;
    }
    if (n + l2 >= l) {
      if (l2 == l && n == 1)
        a2 = l - 1;
      else
        a2 = l;
    } else {
      a2 = m2 + n;
    }
    if (n + l3 >= l) {
      if (l3 == l && n == 1)
        a3 = l - 1;
      else
        a3 = l;
    } else {
      a3 = m3 + n;
    }
    if (a1 > a2 && a1 > a3)
      printf("Kuro\n");
    else if (a2 > a1 && a2 > a3)
      printf("Shiro\n");
    else if (a3 > a1 && a3 > a2)
      printf("Katie\n");
    else if (a1 == a2 || a1 == a3 || a3 == a2)
      printf("Draw\n");
  }
}
