For problem statement at 1000-1999/1100-1199/1190-1199/1196/problemE.txt this is a correct solution, but verifier at 1000-1999/1100-1199/1190-1199/1196/verifierE.go ends with All tests passed can you fix the verifier? ```go
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
in := bufio.NewReader(os.Stdin)
out := bufio.NewWriter(os.Stdout)
defer out.Flush()
var q int
if _, err := fmt.Fscan(in, &q); err != nil {
return
}
for i := 0; i < q; i++ {
var b, w int
fmt.Fscan(in, &b, &w)
if b > 3*w+1 || w > 3*b+1 {
fmt.Fprintln(out, "NO")
} else {
fmt.Fprintln(out, "YES")
mn := b
if w < b {
mn = w
}
// Build a vertical backbone at x=2
// Start from y=2. (2,2) is White (2+2=4 even).
// Backbone pairs: (2, 2k) [White] and (2, 2k+1) [Black]
for k := 1; k <= mn; k++ {
fmt.Fprintln(out, 2, 2*k)
fmt.Fprintln(out, 2, 2*k+1)
}
if b > w {
// Need more Black cells. Attach to White backbone cells.
rem := b - w
for k := 1; k <= w && rem > 0; k++ {
y := 2 * k
// Left neighbor (1, y) - Black
fmt.Fprintln(out, 1, y)
rem--
if rem > 0 {
// Right neighbor (3, y) - Black
fmt.Fprintln(out, 3, y)
rem--
}
}
// Top neighbor of (2, 2) is (2, 1) - Black
if rem > 0 {
fmt.Fprintln(out, 2, 1)
}
} else if w > b {
// Need more White cells. Attach to Black backbone cells.
rem := w - b
for k := 1; k <= b && rem > 0; k++ {
y := 2*k + 1
// Left neighbor (1, y) - White
fmt.Fprintln(out, 1, y)
rem--
if rem > 0 {
// Right neighbor (3, y) - White
fmt.Fprintln(out, 3, y)
rem--
}
}
// Bottom neighbor of last Black (2, 2*b+1) is (2, 2*b+2) - White
if rem > 0 {
fmt.Fprintln(out, 2, 2*b+2)
}
}
}
}
}
```