Description
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
char s[10000], a[10000];
int ans[10000];
int main() {
int n, m, cnt = 1,k;
char c;
while (scanf("%d", &n) != EOF && 0 != n) {
for (int i = 0; i < 10000; i++)
ans[i] = 1;
for (int i = 0; i < n; i++) {
getchar();
scanf("%c%d", &c, &m);
}
scanf("%s", s);
scanf("%d", &m);
k = 0;
for (int i = 0; i < m; i++) {
scanf("%s", a);
for (int j = 0; j < n; j++) {
if ('0' == a[j])
ans[k] = ans[k] * 2 - 1;
else
ans[k] = ans[k] * 2;
}
k++;
}
printf("S-Tree #%d:\n", cnt);
cnt++;
for (int i = 0; i < k; i++)
printf("%c", s[ans[i]-1]);
printf("\n\n");
}
return 0;
}