#include<bits/stdc++.h>
using namespace std;
const int N=25;
int f[N],b[N];
bool ban[N];
int n;
bool dfs(bool p){
for(int i=1;i<=n;i++){
if(!ban[i]){
for(int j=1;j<=n;j++){
if(i!=j&&!ban[j]&&(f[i]==f[j]||b[i]==b[j])){
ban[i]=ban[j]=1;
if(dfs(p^1)==p){
ban[i]=ban[j]=0;
return p;
}
ban[i]=ban[j]=0;
}
}
}
}
return p^1;
}
int main(){
cin.tie(0)->sync_with_stdio(0);
cin>>n;
for(int i=1;i<=n;i++){
cin>>f[i]>>b[i];
}
if(dfs(1)){
cout<<"Takahashi";
}
else{
cout<<"Aoki";
}
return 0;
}
TLE 了最后三个点,挺玩心态的,并求正解