#include <algorithm>
#include <cmath>
#include <deque>
#include <iomanip>
#include <iostream>
#include <map>
#include <numeric>
#include <set>
#include <string>
#include <unordered_set>
#include <vector>

#define REP(i, n) for(int i = 0; i < n; ++i)
using namespace std;
using LLONG = long long;
const LLONG MOD = 1000000007;

int main()
{
	int N; cin >> N;
	string S, X; cin >> S >> X;
	reverse(S.begin(), S.end());
	reverse(X.begin(), X.end());

	// rem[i][j]:Tの余りがiのとき、次の桁にjを付けたときの余り
	int rem[7][10];
	REP(i, 7) REP(j, 10)
	{
		rem[i][j] = (i * 10 + j) % 7;
	}

	// Taが勝つのは最後に余り０のときのみ
	vector<bool> tWin(7, false);
	tWin[0] = true;

	REP(i, N)
	{
		int s = static_cast<int>(S[i] - '0');
		char x = X[i];

		if (x == 'T')
		{
			vector<bool> nexWin(7, false);
			REP(prevR, 7)
			{
				// どちらかの手で勝てるならprevRで勝てる
				if (tWin[rem[prevR][0]] || tWin[rem[prevR][s]])
				{
					nexWin[prevR] = true;
				}
			}
			tWin = nexWin;
		}
		else
		{
			vector<bool> nexWin(7, false);
			REP(prevR, 7)
			{
				// どちらかともの手で勝てるときのみprevRで勝てる
				// さもなくばAokiが妨害する
				if (tWin[rem[prevR][0]] && tWin[rem[prevR][s]])
				{
					nexWin[prevR] = true;
				}
			}
			tWin = nexWin;
		}
	}
	cout << (tWin[0] ? "Takahashi" : "Aoki") << endl;
}

#include <bits/stdc++.h>
#define rep(i,a,b) for(int i=a,i##end=b;i<=i##end;i++)
#define drep(i,a,b) for(int i=a,i##end=b;i>=i##end;i--)
typedef long long ll;
inline int read() {
	int x=0,f=1;char c=getchar();
	while(c<48||c>57){if(c=='-')f=-1;c=getchar();}
	while(c>=48&&c<=57)x=(x<<1)+(x<<3)+(c^48),c=getchar();
	return x*f;
}
using namespace std;
const int M=2e5+5;
int dp[M][10];// dp[i][j]:算到第i位时为j是否必胜 
int len;
string a,b;
int DP(int n,int now){
	if(n==len){
//		printf("%d\n",now);
		return now==0;
	}
	if(dp[n][now]!=-1)return dp[n][now];
	int num;
	int p=b[n]-'0';
//	printf("n=%d,b=%c,p=%d\n",n,b[n],p);
	if(a[n]=='A'){
		num=(now*10+p)%7;
		if(DP(n+1,num)==0)return dp[n][now]=0;
		num=(now*10)%7;
		if(DP(n+1,num)==0)return dp[n][now]=0;
		return dp[n][now]=1;
	}else {
		num=(now*10+p)%7;
//		printf("now=%d,num=%d\n",now,num);
		if(DP(n+1,num)==1)return dp[n][now]=1;
		num=(now*10)%7;
		if(DP(n+1,num)==1)return dp[n][now]=1;
		return dp[n][now]=0;
	}
}
int main() {
	memset(dp,-1,sizeof(dp));
	len=read();
	cin>>b;
	cin>>a;
	if(DP(0,0))puts("Takahashi");
	else puts("Aoki");
	return 0;
}