#include<bits/stdc++.h>
#define ll long long
#define nl '\n'
#define MOD 1000000000000000007
#define fori(i,n) for(ll i=0;i < n;i++)
#define forn(i,n) for(ll i=1;i <= n;i++)
#define forx(i,x,n) for(ll i=x;i <= n;i++)
using namespace std;
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;
template<typename T>
using ordered_set = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>;
using namespace __gnu_pbds;
#define ordered_multiset tree<int, null_type, less_equal<int>, rb_tree_tag, tree_order_statistics_node_update>
/*ll Mod(ll base, ll exp, ll MOD){
if(exp == 0) return 1;
ll res = Mod(base,exp/2,MOD);
if(exp % 2)
return (((res * res) % MOD)*base) % MOD;
else
return (res*res) % MOD;
}
ll gcd(ll x,ll y){
ll b = min(x,y);
ll a = max(x,y);
while(b != 0){
ll temp = b;
b = a % b;
a = temp;
}
return a;
}*/
void div(vector<ll> &x){
for(ll i=1;i <= 1000007;i++){
for(ll j=i;j <= 1000007;j+=i){
x[j]++;
}
}
}
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
vector<ll> x(1000007,0);
vector<int> p;
div(x);
int a,b,c,d,mx=0;
cin >> a >> b >> c >> d;
forx(i,a,b+d){
if(x[i] == 2){
p.push_back(i);
}
}
forx(i,a,b){
auto it = lower_bound(p.begin(),p.end(),i+c);
if(it == p.end()) continue;
int dis = *it - i;
mx = max(mx,dis);
}
if(mx > d || mx < c) cout << "Takahashi";
else cout << "Aoki";
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KI2RlZmluZSBsbCBsb25nIGxvbmcKI2RlZmluZSBubCAnXG4nCiNkZWZpbmUgTU9EIDEwMDAwMDAwMDAwMDAwMDAwMDcKI2RlZmluZSBmb3JpKGksbikgZm9yKGxsIGk9MDtpIDwgbjtpKyspCiNkZWZpbmUgZm9ybihpLG4pIGZvcihsbCBpPTE7aSA8PSBuO2krKykKI2RlZmluZSBmb3J4KGkseCxuKSBmb3IobGwgaT14O2kgPD0gbjtpKyspCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNpbmNsdWRlIDxleHQvcGJfZHMvYXNzb2NfY29udGFpbmVyLmhwcD4KI2luY2x1ZGUgPGV4dC9wYl9kcy90cmVlX3BvbGljeS5ocHA+CnVzaW5nIG5hbWVzcGFjZSBfX2dudV9wYmRzOwp0ZW1wbGF0ZTx0eXBlbmFtZSBUPgp1c2luZyBvcmRlcmVkX3NldCA9IHRyZWU8VCwgbnVsbF90eXBlLCBsZXNzPFQ+LCByYl90cmVlX3RhZywgdHJlZV9vcmRlcl9zdGF0aXN0aWNzX25vZGVfdXBkYXRlPjsKdXNpbmcgbmFtZXNwYWNlIF9fZ251X3BiZHM7CiNkZWZpbmUgb3JkZXJlZF9tdWx0aXNldCB0cmVlPGludCwgbnVsbF90eXBlLCBsZXNzX2VxdWFsPGludD4sIHJiX3RyZWVfdGFnLCB0cmVlX29yZGVyX3N0YXRpc3RpY3Nfbm9kZV91cGRhdGU+CgovKmxsIE1vZChsbCBiYXNlLCBsbCBleHAsIGxsIE1PRCl7CiAgICBpZihleHAgPT0gMCkgcmV0dXJuIDE7CiAgICBsbCByZXMgPSBNb2QoYmFzZSxleHAvMixNT0QpOwogICAgaWYoZXhwICUgMikgCiAgICAgIHJldHVybiAoKChyZXMgKiByZXMpICUgTU9EKSpiYXNlKSAlIE1PRDsKICAgIGVsc2UKICAgICAgcmV0dXJuIChyZXMqcmVzKSAlIE1PRDsKfQoKbGwgZ2NkKGxsIHgsbGwgeSl7CiAgbGwgYiA9IG1pbih4LHkpOwogIGxsIGEgPSBtYXgoeCx5KTsKICB3aGlsZShiICE9IDApewogICAgbGwgdGVtcCA9IGI7CiAgICBiID0gYSAlIGI7CiAgICBhID0gdGVtcDsKICB9CiAgcmV0dXJuIGE7Cn0qLwoKdm9pZCBkaXYodmVjdG9yPGxsPiAmeCl7CiAgZm9yKGxsIGk9MTtpIDw9IDEwMDAwMDc7aSsrKXsKICAgIGZvcihsbCBqPWk7aiA8PSAxMDAwMDA3O2orPWkpewogICAgICB4W2pdKys7CiAgICB9CiAgfQp9CgppbnQgbWFpbigpewogICAgaW9zOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZShudWxscHRyKTsKICAgIHZlY3RvcjxsbD4geCgxMDAwMDA3LDApOwogICAgdmVjdG9yPGludD4gcDsKICAgIGRpdih4KTsKICAgIGludCBhLGIsYyxkLG14PTA7CiAgICBjaW4gPj4gYSA+PiBiID4+IGMgPj4gZDsKICAgIGZvcngoaSxhLGIrZCl7CiAgICAgIGlmKHhbaV0gPT0gMil7CiAgICAgICAgcC5wdXNoX2JhY2soaSk7CiAgICAgIH0KICAgIH0KICAgIGZvcngoaSxhLGIpewogICAgICBhdXRvIGl0ID0gbG93ZXJfYm91bmQocC5iZWdpbigpLHAuZW5kKCksaStjKTsKICAgICAgaWYoaXQgPT0gcC5lbmQoKSkgY29udGludWU7CiAgICAgIGludCBkaXMgPSAqaXQgLSBpOwogICAgICBteCA9IG1heChteCxkaXMpOwogICAgfSAgCiAgICBpZihteCA+IGQgfHwgbXggPCBjKSBjb3V0IDw8ICJUYWthaGFzaGkiOwogICAgZWxzZSBjb3V0IDw8ICJBb2tpIjsKfQ==