#include<iostream>
#include<climits>
using namespace std;
int n;
int a[5000],d[50010];
bool visit[50010];
int heap[50010],hp=-1,arrtoheap[50010];
void swap(int i,int j)
{
int t;
t = arrtoheap[heap[i]];
arrtoheap[heap[i]] = arrtoheap[heap[j]];
arrtoheap[heap[j]] = t;
t = heap[i];
heap[i] = heap[j];
heap[j] = t;
}
void insert(int a)
{
heap[++hp] = a;
arrtoheap[a] = hp;
int i=hp;
while((i-1)>=0)
{
if(d[heap[(i-1)/2]]>d[heap[i]])
swap(i,(i-1)/2);
else
break;
i = (i-1)/2;
}
}
void heapify(int i)
{
int j,minn;
int l = 2*i+1 , r = 2*i+2;
minn = i;
if((l<=hp) && (d[heap[l]]<d[heap[minn]]))
minn = l;
if((r<=hp) && (d[heap[r]]<d[heap[minn]]))
minn = r;
if(minn!=i)
{
swap(minn,i);
heapify(minn);
}
}
void update(int i,int val)
{
int j,minn=INT_MAX;
d[heap[i]] = val;
if( (2*i+1) <= hp )
minn = d[heap[2*i+1]];
if( (2*i+2) <= hp )
minn = min(minn,d[heap[2*i+2]]);
if(d[heap[i]]>minn)
heapify(i);
else
{
while((i-1)>=0)
{
if(d[heap[(i-1)/2]]>d[heap[i]])
swap(i,(i-1)/2);
else
break;
i = (i-1)/2;
}
}
}
void dikstra()
{
insert(0);
int an,i,j;
while(hp!=-1)
{
// for(i=0;i<=hp;++i)
// cout<<heap[i]<<' ';
// cout<<'\n';
an = heap[0];
swap(0,hp);
arrtoheap[heap[hp]]=-1;
--hp;
heapify(0);
if(visit[an] == true)
continue;
visit[an] = true;
for(i=1;i<n;++i)
{
j = (a[i]+an)%a[0];
if(a[i]+d[an]<d[j])
{
if(arrtoheap[j]!=-1)
update(arrtoheap[j],a[i]+d[an]);
else
{
d[j] = a[i]+d[an];
// if(visit[j]!=true)
insert(j);
}
}
}
}
}
int main()
{
int i,j;
cin>>n;
for(i=0;i<n;++i)
cin>>a[i];
for(i=0;i<a[0];++i)
{
d[i] = INT_MAX;
visit[i] = false;
arrtoheap[i] = -1;
}
d[0] = 0;
dikstra();
// for(i=0;i<a[0];++i)
// cout<<d[i]<<' ';
cin>>j;
while(j--)
{
cin>>i;
if(d[i%a[0]]<=i)
cout<<"TAK\n";
else
cout<<"NIE\n";
}
return 0;
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPGNsaW1pdHM+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbjsKaW50IGFbNTAwMF0sZFs1MDAxMF07CmJvb2wgdmlzaXRbNTAwMTBdOwppbnQgaGVhcFs1MDAxMF0saHA9LTEsYXJydG9oZWFwWzUwMDEwXTsKCnZvaWQgc3dhcChpbnQgaSxpbnQgaikKewoJaW50IHQ7CgkKCXQgPSBhcnJ0b2hlYXBbaGVhcFtpXV07CglhcnJ0b2hlYXBbaGVhcFtpXV0gPSBhcnJ0b2hlYXBbaGVhcFtqXV07CglhcnJ0b2hlYXBbaGVhcFtqXV0gPSB0OwoJCQkKCXQgPSBoZWFwW2ldOwoJaGVhcFtpXSA9IGhlYXBbal07CgloZWFwW2pdID0gdDsgCQp9Cgp2b2lkIGluc2VydChpbnQgYSkKewoJaGVhcFsrK2hwXSA9IGE7CglhcnJ0b2hlYXBbYV0gPSBocDsKCWludCBpPWhwOwoJCgl3aGlsZSgoaS0xKT49MCkKCXsKCQlpZihkW2hlYXBbKGktMSkvMl1dPmRbaGVhcFtpXV0pCgkJCXN3YXAoaSwoaS0xKS8yKTsKCQllbHNlCgkJCWJyZWFrOwoKCQlpID0gKGktMSkvMjsKCX0KfQoKdm9pZCBoZWFwaWZ5KGludCBpKQp7CglpbnQgaixtaW5uOwoJaW50IGwgPSAyKmkrMSAsIHIgPSAyKmkrMjsKCW1pbm4gPSBpOwoJCglpZigobDw9aHApICYmIChkW2hlYXBbbF1dPGRbaGVhcFttaW5uXV0pKQoJCW1pbm4gPSBsOwoJCQoJaWYoKHI8PWhwKSAmJiAoZFtoZWFwW3JdXTxkW2hlYXBbbWlubl1dKSkKCQltaW5uID0gcjsKCQkKCWlmKG1pbm4hPWkpCgl7CgkJc3dhcChtaW5uLGkpOwoJCWhlYXBpZnkobWlubik7CQoJfQp9Cgp2b2lkIHVwZGF0ZShpbnQgaSxpbnQgdmFsKQp7CglpbnQgaixtaW5uPUlOVF9NQVg7CglkW2hlYXBbaV1dID0gdmFsOwoJCglpZiggKDIqaSsxKSA8PSBocCApCgkJbWlubiA9IGRbaGVhcFsyKmkrMV1dOwoJaWYoICgyKmkrMikgPD0gaHAgKQoJCW1pbm4gPSBtaW4obWlubixkW2hlYXBbMippKzJdXSk7CgkJCglpZihkW2hlYXBbaV1dPm1pbm4pCgkJaGVhcGlmeShpKTsJCgllbHNlCgl7CgkJd2hpbGUoKGktMSk+PTApCgkJewoJCQlpZihkW2hlYXBbKGktMSkvMl1dPmRbaGVhcFtpXV0pCgkJCQlzd2FwKGksKGktMSkvMik7CgkJCWVsc2UKCQkJCWJyZWFrOwoJCQkKCQkJaSA9IChpLTEpLzI7CgkJfQoJfQp9Cgp2b2lkIGRpa3N0cmEoKQp7CglpbnNlcnQoMCk7CglpbnQgYW4saSxqOwoJCgl3aGlsZShocCE9LTEpCgl7Ci8vCQlmb3IoaT0wO2k8PWhwOysraSkKLy8JCQljb3V0PDxoZWFwW2ldPDwnICc7Ci8vCQljb3V0PDwnXG4nOwoJCQoJCWFuID0gaGVhcFswXTsJCgkJc3dhcCgwLGhwKTsKCQlhcnJ0b2hlYXBbaGVhcFtocF1dPS0xOwoJCS0taHA7CgkJaGVhcGlmeSgwKTsKCQkKCQlpZih2aXNpdFthbl0gPT0gdHJ1ZSkKCQkJY29udGludWU7CgkJdmlzaXRbYW5dID0gdHJ1ZTsKCQkKCQlmb3IoaT0xO2k8bjsrK2kpCgkJewoJCQlqID0gKGFbaV0rYW4pJWFbMF07CgkJCQoJCQlpZihhW2ldK2RbYW5dPGRbal0pCQoJCQl7CgkJCQlpZihhcnJ0b2hlYXBbal0hPS0xKQoJCQkJCXVwZGF0ZShhcnJ0b2hlYXBbal0sYVtpXStkW2FuXSk7CgkJCQllbHNlCgkJCQl7CgkJCQkJZFtqXSA9IGFbaV0rZFthbl07Ci8vCQkJCQlpZih2aXNpdFtqXSE9dHJ1ZSkKCQkJCQkJaW5zZXJ0KGopOwoJCQkJfQoJCQl9CgkJfQoJfQp9CgppbnQgbWFpbigpCnsKCWludCBpLGo7CgkKCWNpbj4+bjsKCQoJZm9yKGk9MDtpPG47KytpKQoJCWNpbj4+YVtpXTsKCQoJZm9yKGk9MDtpPGFbMF07KytpKQoJewoJCWRbaV0gPSBJTlRfTUFYOwoJCXZpc2l0W2ldID0gZmFsc2U7CgkJYXJydG9oZWFwW2ldID0gLTE7Cgl9CglkWzBdID0gMDsKCQkKCWRpa3N0cmEoKTsKCQovLwlmb3IoaT0wO2k8YVswXTsrK2kpCi8vCQljb3V0PDxkW2ldPDwnICc7CgoJY2luPj5qOwoJCgl3aGlsZShqLS0pCgl7CgkJY2luPj5pOwoJCQoJCWlmKGRbaSVhWzBdXTw9aSkKCQkJY291dDw8IlRBS1xuIjsKCQllbHNlCgkJCWNvdXQ8PCJOSUVcbiI7Cgl9CgkKCXJldHVybiAwOwkKfQ==