← Home
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)
				}
			}
		}
	}
}
```