For problem statement at 1000-1999/1800-1899/1890-1899/1891/problemB.txt this is a correct solution, but verifier at 1000-1999/1800-1899/1890-1899/1891/verifierB.go ends with all tests passed can you fix the verifier? ```go
package main
import (
"bufio"
"fmt"
"math/bits"
"os"
)
func main() {
in := bufio.NewReader(os.Stdin)
var t int
fmt.Fscan(in, &t)
for _ = range make([]int, t) {
var n, q int
fmt.Fscan(in, &n, &q)
a := make([]int64, n)
for i := 0; i < n; i++ {
fmt.Fscan(in, &a[i])
}
x := make([]int, q)
for i := 0; i < q; i++ {
fmt.Fscan(in, &x[i])
}
const MAXV = 30
total_add := make([]int64, (q+1)*(MAXV+1))
stride := MAXV + 1
for pos := q - 1; pos >= 0; pos-- {
xx := x[pos]
for vv := 0; vv <= MAXV; vv++ {
var this_add int64 = 0
next_vv := vv
if xx <= vv {
this_add = int64(1) << uint(xx-1)
next_vv = xx - 1
}
total_add[pos*stride+vv] = this_add + total_add[(pos+1)*stride+next_vv]
}
}
for i := 0; i < n; i++ {
v := bits.TrailingZeros64(uint64(a[i]))
add := total_add[0*stride+v]
final := a[i] + add
if i > 0 {
fmt.Print(" ")
}
fmt.Print(final)
}
fmt.Println()
}
}
```