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