#include using namespace std; int main(){ int N, Q; cin >> N >> Q; vector A(N); for (int i = 0; i < N; i++){ cin >> A[i]; } string S; cin >> S; vector start(30, -1); vector curr(30, -1); vector cnt(30, 0); for (int i = 0; i < N; i++){ if (S[i] == '0'){ for (int j = 0; j < 30; j++){ if (!(A[i] >> j & 1)){ if (curr[j] == -1){ start[j] = 0; } else if (curr[j] == 1){ cnt[j]++; } curr[j] = 0; } } } if (S[i] == '1'){ for (int j = 0; j < 30; j++){ if (A[i] >> j & 1){ if (curr[j] == -1){ start[j] = 1; } else if (curr[j] == 0){ cnt[j]++; } curr[j] = 1; } } } } for (int i = 0; i < Q; i++){ int t; cin >> t; long long ans = 0; for (int j = 0; j < 30; j++){ if (t >> j & 1){ if (start[j] == 0){ ans += 1 << j; } } else { if (start[j] == 1){ ans += 1 << j; } } ans += (long long) cnt[j] << j; } cout << ans << endl; } }