#include <bits/stdc++.h>
using namespace std;
#define REP(i, n)  for (int i = 0; i < (int) (n); i++)
#define REP1(i, n) for (int i = 1; i <= (int) (n); i++)
#define all(x)     (x).begin(), (x).end()
#define SZ(x)      ((int) (x).size())
using ll = long long;

int main() {
  int n, k, m;
  cin >> n >> k >> m;
  vector <int> a(n - 1);
  int sum = 0;
  REP(i, n - 1) {
	cin >> a[i];
	sum += a[i];
  }
  if (m * n - sum <= k) {
	  cout << max(0, m * n - sum) << endl;
	} else {
	  cout << -1 << endl;
	}
  return 0;
}

#include <iostream>
#include <vector>

using namespace std;

int main() {
  int N;
  string S, X;
  cin >> N >> S >> X;
  vector<vector<bool>> dp(N + 1, vector<bool>(7, false));
  dp[N][0] = true;
  for (int i = N - 1; i >= 0; i--) {
    int s = (int)S[i] - 0x30;
    if (X[i] == 'A') {
      for (int j = 0; j < 7; j++) {
        int next1 = j * 10 % 7, next2 = (j * 10 + s) % 7;
        if (dp[i + 1][next1] && dp[i + 1][next2]) dp[i][j] = 1;
      }
    } else {
      for (int j = 0; j < 7; j++) {
        int next = j * 10 % 7;
        if (dp[i + 1][next]) dp[i][j] = 1;
        next = (j * 10 + s) % 7;
        if (dp[i + 1][next]) dp[i][j] = 1;
      }
    }
  }
  cout << (dp[0][0] ? "Takahashi" : "Aoki") << endl;
  return 0;
}