RT,158 RE了
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define PII pair<int,int>
#define x first
#define y second
const int N=3e6+10;
int ne[N],e[N],w[N],h[N],idx;
void add(int a,int b,int c){
e[idx]=b,w[idx]=c,ne[idx]=h[a],h[a]=idx++;
}
int n,k;
int a[N];
int x;
int dis[N],vis[N];
void dj(){
priority_queue<PII,vector<PII>,greater<PII> > qu;
memset(dis,0x3f,sizeof(dis));
dis[0]=0,qu.push({0,0});
while(!qu.empty()){
PII now=qu.top();qu.pop();
if(vis[now.y]) continue;
vis[now.y]=1;
for(int i=h[now.y];~i;i=ne[i]){
int j=e[i];
if(dis[j]>now.x+w[i]){
dis[j]=now.x+w[i];
qu.push({dis[j],j});
}
}
}
}
int ans;
signed main(){
memset(h,-1,sizeof(h));
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int i=0;i<a[1];i++){
for(int j=2;j<=n;j++){
add(i,(i+a[j])%a[1],a[j]);
}
}
dj();
cin>>k;
for(int ka=1;ka<=k;ka++){
cin>>x;
if(dis[x%a[1]]<=x){
cout<<"TAK\n";
}
else{
cout<<"NIE\n";
}
}
}