For problem statement at 1000-1999/1300-1399/1300-1309/1304/problemB.txt this is a correct solution, but verifier at 1000-1999/1300-1399/1300-1309/1304/verifierB.go ends with All tests passed can you fix the verifier? package main
import (
"bufio"
"fmt"
"os"
"strings"
)
func reverse(s string) string {
b := []byte(s)
for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 {
b[i], b[j] = b[j], b[i]
}
return string(b)
}
func main() {
in := bufio.NewReader(os.Stdin)
out := bufio.NewWriter(os.Stdout)
defer out.Flush()
var n, m int
fmt.Fscan(in, &n, &m)
arr := make([]string, n)
set := make(map[string]bool, n)
for i := 0; i < n; i++ {
fmt.Fscan(in, &arr[i])
set[arr[i]] = true
}
left := make([]string, 0)
right := make([]string, 0)
mid := ""
for _, s := range arr {
rs := reverse(s)
if s == rs {
if mid == "" {
mid = s
}
} else if set[rs] && s < rs {
left = append(left, s)
right = append(right, rs)
}
}
var b strings.Builder
for _, s := range left {
b.WriteString(s)
}
b.WriteString(mid)
for i := len(right) - 1; i >= 0; i-- {
b.WriteString(right[i])
}
ans := b.String()
fmt.Fprintln(out, len(ans))
fmt.Fprintln(out, ans)
}