#include <bits/stdc++.h>
using namespace std;
bool puedo_mover(long long int from, vector<vector<long long int>>& digits,
                 long long int k, long long int convertido, long long int n) {
  long long int otro = 1 - convertido;
  long long int ult_otro = digits[otro].back();
  long long int prim_otro = digits[otro].front();
  if (prim_otro >= from && prim_otro < from + k) {
    auto it = lower_bound(digits[otro].begin(), digits[otro].end(), from + k);
    if (it == digits[otro].end()) {
      return false;
    } else {
      prim_otro = *it;
    }
  }
  if (ult_otro >= from && ult_otro < from + k) {
    auto it = lower_bound(digits[otro].begin(), digits[otro].end(), from);
    if (it == digits[otro].begin()) {
      return false;
    } else {
      it--;
      ult_otro = *it;
    }
  }
  return ult_otro - prim_otro >= k;
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  long long int n, k;
  cin >> n >> k;
  string nums;
  cin >> nums;
  vector<vector<long long int>> digits(2);
  long long int prim_1 = n;
  long long int prim_0 = n;
  long long int ult_0 = -1;
  long long int ult_1 = -1;
  for (long long int i = 0; i < n; i++) {
    digits[nums[i] - '0'].push_back(i);
    if (nums[i] == '1') {
      prim_1 = min(prim_1, i);
      ult_1 = max(ult_1, i);
    } else {
      prim_0 = min(prim_0, i);
      ult_0 = max(ult_0, i);
    }
  }
  vector<string> jugadores = {"tokitsukaze", "quailty", "once again"};
  if (ult_1 - prim_1 < k || ult_0 - prim_0 < k) {
    cout << jugadores[0] << '\n';
    return 0;
  }
  long long int ganador = 1;
  for (long long int i = 0; i + k <= n; i++) {
    if (puedo_mover(i, digits, k, 0, n) || puedo_mover(i, digits, k, 1, n)) {
      ganador = 2;
    }
  }
  cout << jugadores[ganador] << '\n';
  return 0;
}
