#include using namespace std; using ll = long long; #define rep(i, s, e) for (int i = (int)(s); i < (int)(e); ++i) int main() { cin.tie(nullptr); ios_base::sync_with_stdio(false); int N, Q; cin >> N >> Q; vector A(N); rep(i, 0, N) cin >> A[i]; string S; cin >> S; vector score(2, vector(32)); rep(bit, 0, 32) { vector now = {0, 1}; vector res(2, 0); rep(i, 0, N) { vector nex(2); rep(j, 0, 2) { if (S[i] == '0') nex[j] = ((A[i] >> bit) & 1) & now[j]; else nex[j] = ((A[i] >> bit) & 1) | now[j]; res[j] += abs(now[j] - nex[j]); now[j] = nex[j]; } } rep(j, 0, 2) score[j][bit] = res[j]; } for (;Q--;) { ll t; cin >> t; ll ans = 0; rep(i, 0, N) ans += score[(t >> i) & 1][i] << i; cout << ans << '\n'; } }