#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;   }   