For problem statement at 0-999/300-399/330-339/333/problemD.txt this is a correct solution, but verifier at 0-999/300-399/330-339/333/verifierD.go ends with All tests passed can you fix the verifier? ```go
package main
import (
"fmt"
"io"
"math/bits"
"os"
)
func main() {
buf, _ := io.ReadAll(os.Stdin)
var pos int
readInt := func() int {
for pos < len(buf) && buf[pos] <= ' ' {
pos++
}
if pos >= len(buf) {
return 0
}
res := 0
for pos < len(buf) && buf[pos] > ' ' {
res = res*10 + int(buf[pos]-'0')
pos++
}
return res
}
n := readInt()
m := readInt()
if n == 0 || m == 0 {
return
}
a := make([][]int, n)
for i := 0; i < n; i++ {
a[i] = make([]int, m)
for j := 0; j < m; j++ {
a[i][j] = readInt()
}
}
numWords := (m + 63) / 64
bitsets := make([][]uint64, n)
for i := 0; i < n; i++ {
bitsets[i] = make([]uint64, numWords)
}
check := func(v int) bool {
for i := 0; i < n; i++ {
for w := 0; w < numWords; w++ {
bitsets[i][w] = 0
}
for j := 0; j < m; j++ {
if a[i][j] >= v {
bitsets[i][j/64] |= 1 << (j % 64)
}
}
}
for i := 0; i < n; i++ {
for j := i + 1; j < n; j++ {
cnt := 0
for w := 0; w < numWords; w++ {
cnt += bits.OnesCount64(bitsets[i][w] & bitsets[j][w])
if cnt >= 2 {
return true
}
}
}
}
return false
}
low, high := 0, 1000000000
ans := 0
for low <= high {
mid := low + (high-low)/2
if check(mid) {
ans = mid
low = mid + 1
} else {
high = mid - 1
}
}
fmt.Println(ans)
}
```