3AC+5WA
#include <bits/stdc++.h>
#define int long long
#define pii pair<int,int>
#define fi first
#define se second
#define mp(x,y) make_pair(x,y)
#define pb(x) push_back(x)
#define size(s) ((int)s.size())
#define pf(x) push_front(x)
#define endl "\n"
using namespace std;
int inline solve();
signed main(){
ios::sync_with_stdio(false);
cin.tie(0),cout.tie(0);
#ifndef ONLINE_JUDGE
freopen("input.txt","r",stdin);
freopen("output.txt","w",stdout);
#endif
int t=1;//cin >> t;
while(t--) solve();
return 0;
}
/*----------------------------------------------------------------------------------------------------solution----------------------------------------------------------------------------------------------------*/
const int N=1e5+10,M=1e6+10,inf=4557430888798830399;
int n,q,dp[N],sum;
pair<pii,int> v[N];
pair<pii,pii > op[M];
string ans[M];
void inline update(int& res,int val){
res=max(res,val);
}
int inline solve(){
dp[0]=inf;
cin >> n;
for(int i=1;i<=n;i++){
cin >> v[i].se >> v[i].fi.fi >> v[i].fi.se;
}
sort(v+1,v+1+n);
cin >> q;
for(int i=1;i<=q;i++){
cin >> op[i].fi.fi >> op[i].se.fi >> op[i].fi.se;
op[i].se.se=i;
sum=max(sum,op[i].se.fi);
}
sort(op+1,op+1+q);
for(int i=1,j=1;i<=q;i++){
while(j<=n && v[j].fi.fi<=op[i].fi.fi){
for(int k=sum;k>=v[j].se;k--){
update(dp[k],min(dp[k-v[j].se],v[j].fi.se));
}
j++;
}
if(dp[op[i].se.fi]>op[i].fi.fi+op[i].fi.se){
ans[op[i].se.se]="TAK";
}else{
ans[op[i].se.se]="NIE";
}
}
for(int i=1;i<=n;i++){
cout << ans[i] << endl;
}
return 0;
}