For problem statement at 1000-1999/1900-1999/1950-1959/1958/problemC.txt this is a correct solution, but verifier at 1000-1999/1900-1999/1950-1959/1958/verifierC.go ends with mismatch on test 2: n=58 k=248149834054819672 expected 55 got 67
exit status 1 can you fix the verifier? ```go
package main
import (
"bufio"
"fmt"
"os"
)
func popcount64(x uint64) int64 {
var c int64
for x != 0 {
x &= x - 1
c++
}
return c
}
func floorLog2(x uint64) int64 {
var p int64
for x>>1 != 0 {
x >>= 1
p++
}
return p
}
func main() {
in := bufio.NewReader(os.Stdin)
out := bufio.NewWriter(os.Stdout)
defer out.Flush()
var t int
fmt.Fscan(in, &t)
for ; t > 0; t-- {
var n int64
var k uint64
fmt.Fscan(in, &n, &k)
if k == 0 || k == (uint64(1)<<uint(n)) {
fmt.Fprintln(out, 0)
continue
}
pc := popcount64(k)
msb := floorLog2(k)
ans := (int64(2)*pc - 1) + (n - msb - 1)
fmt.Fprintln(out, ans)
}
}
```