For problem statement at 1000-1999/1500-1599/1530-1539/1530/problemH.txt this is a correct solution, but verifier at 1000-1999/1500-1599/1530-1539/1530/verifierH.go ends with wrong answer on test 1
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 t int
if _, err := fmt.Fscan(reader, &t); err != nil {
return
}
for tc := 0; tc < t; tc++ {
var n int
fmt.Fscan(reader, &n)
a := make([]int, n)
for i := 0; i < n; i++ {
fmt.Fscan(reader, &a[i])
}
dp := make([]int, n)
for i := 0; i < n; i++ {
dp[i] = 1
}
ans := 1
for i := 1; i < n; i++ {
for j := 0; j < i; j++ {
if a[j] < a[i] {
if dp[j]+1 > dp[i] {
dp[i] = dp[j] + 1
}
}
}
if dp[i] > ans {
ans = dp[i]
}
}
dpRev := make([]int, n)
for i := 0; i < n; i++ {
dpRev[i] = 1
}
for i := n - 2; i >= 0; i-- {
for j := n - 1; j > i; j-- {
if a[j] < a[i] {
if dpRev[j]+1 > dpRev[i] {
dpRev[i] = dpRev[j] + 1
}
}
}
if dpRev[i] > ans {
ans = dpRev[i]
}
}
for i := 0; i < n; i++ {
for j := i + 1; j < n; j++ {
if a[i] < a[j] {
cost := dp[i] + dpRev[j]
if cost > ans {
ans = cost
}
}
}
}
fmt.Fprintln(writer, ans)
}
}
```