← Home
For problem statement at 1000-1999/1500-1599/1560-1569/1567/problemF.txt this is a correct solution, but verifier at 1000-1999/1500-1599/1560-1569/1567/verifierF.go ends with case 1 failed: expected YES
4 4 4 4
4 4 4 4 got YES
1 1 4 4
1 1 4 4
input:2 4
....
....
exit status 1 can you fix the verifier? ```go
package main

import (
	"bufio"
	"fmt"
	"os"
)

func main() {
	reader := bufio.NewReader(os.Stdin)
	writer := bufio.NewWriter(os.Stdout)
	defer writer.Flush()

	var n, m int
	if _, err := fmt.Fscanf(reader, "%d %d\n", &n, &m); err != nil {
		return
	}

	grid := make([]string, n)
	for i := 0; i < n; i++ {
		fmt.Fscanf(reader, "%s\n", &grid[i])
	}

	val := make([][]int, n)
	for i := 0; i < n; i++ {
		val[i] = make([]int, m)
		for j := 0; j < m; j++ {
			if grid[i][j] == '.' {
				r := (i / 2) % 2
				c := (j / 2) % 2
				if r == c {
					val[i][j] = 1
				} else {
					val[i][j] = 4
				}
			}
		}
	}

	for i := 0; i < n; i++ {
		for j := 0; j < m; j++ {
			if grid[i][j] == 'X' {
				sum := 0
				if i > 0 && grid[i-1][j] == '.' {
					sum += val[i-1][j]
				}
				if i < n-1 && grid[i+1][j] == '.' {
					sum += val[i+1][j]
				}
				if j > 0 && grid[i][j-1] == '.' {
					sum += val[i][j-1]
				}
				if j < m-1 && grid[i][j+1] == '.' {
					sum += val[i][j+1]
				}
				val[i][j] = sum
				if sum%5 != 0 {
					fmt.Fprintln(writer, "NO")
					return
				}
			}
		}
	}

	fmt.Fprintln(writer, "YES")
	for i := 0; i < n; i++ {
		for j := 0; j < m; j++ {
			if j > 0 {
				fmt.Fprint(writer, " ")
			}
			fmt.Fprint(writer, val[i][j])
		}
		fmt.Fprintln(writer)
	}
}
```