It has been 2 days since I am stuck with this problem, although the output matches the given , but
still I am stuck with NZEC.Any suggestions ???
t=int(input())
def generates_bincode(num):
l=[]
while(num>=1):
rem=num%2
num=num//2
l.append(rem)
l=[str(i) for i in l ]
return(l[::-1])
outs=[]
for i2 in range(t):
n=int(input())
s=input().split()
s3=input()
bincode_dict={}
alis=[]
blis=[]
for i3 in s:
i3=list(i3)
for k in i3:
if k not in bincode_dict:
bincode_dict[k]=generates_bincode(ord(k))
lis=[]
for z1 in s:
a=[]
b=[]
i4=0
for z2 in z1:
a.append((bincode_dict[z2][::-1])[i4])
b.append((bincode_dict[z2][::-1])[((i4+3)%6)])
if(i4<=len(bincode_dict[z2])-1):
i4+=1
a=a[::-1]
b=b[::-1]
aval=int(''.join(a),2)
bval=int(''.join(b),2)
alis+=[aval]+[bval]
lena=len(alis)
outl=[]
for x3 in range(lena):
outl.append(s3[alis[x3]])
outs=''.join(outl)
print(outs)
if(i2<t-1):
print("\n")