#include <bits/stdc++.h>
using namespace std;
//#include <atcoder/all>
//using namespace atcoder;

#define rep(i, n) for(int i = 0, i##_len=(n); i < i##_len; ++i)
#define all(x) (x).begin(), (x).end()
#define len(x) ((int)(x).size())

void _cin() {} template <class Head, class... Tail> void _cin(Head&& head, Tail&&... tail) { cin >> head; _cin(forward<Tail>(tail)...); }
#define cin(Type, ...) Type __VA_ARGS__; _cin(__VA_ARGS__)
#define cinv(Type, xs, n) vector<Type> xs(n); rep(i, n) cin >> xs[i]
#define cinv2(Type, xs, ys, n) vector<Type> xs(n), ys(n); rep(i, n) cin >> xs[i] >> ys[i]
#define cinv3(Type, xs, ys, zs, n) vector<Type> xs(n), ys(n), zs(n); rep(i, n) cin >> xs[i] >> ys[i] >> zs[i]
#define cinvv(Type, xs, h, w) vector<vector<Type>> xs(h, vector<Type>(w)); rep(i, h) rep(j, w) cin >> xs[i][j]

void print() { cout << endl; }
template <class Head, class... Tail> void print(Head&& head, Tail&&... tail) { cout << head; if (sizeof...(tail) != 0) cout << " "; print(forward<Tail>(tail)...); }
template <class Type> void print(vector<Type> &vec) { for (auto& a : vec) { cout << a; if (&a != &vec.back()) cout << " "; } cout << endl; }
template <class Type> void print(vector<vector<Type>> &df) { for (auto& vec : df) { print(vec); } }

void YESNO(bool b) { cout << (b ? "YES" : "NO") << endl; }
void YesNo(bool b) { cout << (b ? "Yes" : "No") << endl; }
void yesno(bool b) { cout << (b ? "yes" : "no") << endl; }
template<class Integer>bool chmax(Integer &a, const Integer &b) { if (a < b) { a = b; return 1; } return 0; }
template<class Integer>bool chmin(Integer &a, const Integer &b) { if (b < a) { a = b; return 1; } return 0; }

using ll = long long;

const ll U = 10000;

void Main() {
	cin(double, dx, dy, dr);
	ll x = ll(abs(dx) * U + 0.5) % U + 1000010000;
	ll y = ll(abs(dy) * U + 0.5) % U + 1000010000;
	ll r = ll(dr * U + 0.5);
	ll ans = 0;
	for (ll i = (x - r + U - 1) / U * U; i <= x + r; i += U) {
		ll a = r * r - (i - x)*(i - x);
		ll ok = 0;
		ll ng = 1100000000;
		while (ng - ok > 1) {
			ll t = (ng + ok) / 2;
			if (t*t <= a)ok = t;
			else ng = t;
		}
		ll u = (y + ok) / U;
		ll d = (y - ok - 1) / U;
		ans += u - d;
	}
	print(ans);
}

signed main() {
	cin.tie(0);
	ios::sync_with_stdio(false);
	//cout << fixed << setprecision(16);
	//int t; cin >> t; while (t--)
	Main();
}
#include <bits/stdc++.h>
using namespace std;
const int N=2e5+5,M=7;
int dp[N][M],n;
string s,x;
void solve(){
	cin>>n>>s>>x;
	dp[n][0]=1;
	for(int i=n-1,p10=1;i>=0;i--,p10=(p10*10)%7){
		int dig = ((s[i]-'0')*p10)%7;
		for(int j=0;j<M;j++){
			if(x[i]=='T'){
				dp[i][j] = ( dp[i+1][j] | dp[i+1][(j+dig)%7] );
			}else{
				dp[i][j] = ( dp[i+1][j] & dp[i+1][(j+dig)%7] );
			}
		}
	}
	cout<<(dp[0][0]?"Takahashi" : "Aoki");
}
int main(){
    ios_base::sync_with_stdio(false); 
    cin.tie(NULL); cout.tie(NULL);
#ifndef ONLINE_JUDGE
    freopen("input.txt" , "r" , stdin);
    freopen("output.txt" , "w" , stdout);
#endif
    // int t;
    // cin>>t;
    // while(t--)
        solve();
}