For problem statement at 1000-1999/1700-1799/1710-1719/1710/problemA.txt this is a correct solution, but verifier at 1000-1999/1700-1799/1710-1719/1710/verifierA.go ends with All tests passed can you fix the verifier? ```go
package main
import (
"bufio"
"fmt"
"os"
"sort"
)
func solve() {
scanner := bufio.NewScanner(os.Stdin)
scanner.Split(bufio.ScanWords)
writer := bufio.NewWriter(os.Stdout)
defer writer.Flush()
var t int
scanner.Scan()
fmt.Sscan(scanner.Text(), &t)
for tc := 0; tc < t; tc++ {
var n, m int64
var k int
scanner.Scan()
fmt.Sscan(scanner.Text(), &n)
scanner.Scan()
fmt.Sscan(scanner.Text(), &m)
scanner.Scan()
fmt.Sscan(scanner.Text(), &k)
a := make([]int64, k)
maxA := int64(0)
for i := 0; i < k; i++ {
scanner.Scan()
fmt.Sscan(scanner.Text(), &a[i])
if a[i] > maxA {
maxA = a[i]
}
}
total := n * m
if maxA >= total {
fmt.Fprintln(writer, "Yes")
continue
}
possible := false
cols := make([]int64, 0, k)
for i := 0; i < k; i++ {
if a[i] >= 2*n {
cols = append(cols, a[i]/n)
}
}
sort.Slice(cols, func(i, j int) bool { return cols[i] > cols[j] })
var sum int64 = 0
for i := 0; i < len(cols); i++ {
sum += cols[i]
t := int64(i + 1)
if 2*t <= m && sum >= m {
possible = true
break
}
if 2*t > m {
break
}
}
if possible {
fmt.Fprintln(writer, "Yes")
continue
}
rows := make([]int64, 0, k)
for i := 0; i < k; i++ {
if a[i] >= 2*m {
rows = append(rows, a[i]/m)
}
}
sort.Slice(rows, func(i, j int) bool { return rows[i] > rows[j] })
sum = 0
for i := 0; i < len(rows); i++ {
sum += rows[i]
t := int64(i + 1)
if 2*t <= n && sum >= n {
possible = true
break
}
if 2*t > n {
break
}
}
if possible {
fmt.Fprintln(writer, "Yes")
} else {
fmt.Fprintln(writer, "No")
}
}
}
func main() {
solve()
}
```