← Home
For problem statement at 1000-1999/1200-1299/1230-1239/1231/problemE.txt this is a correct solution, but verifier at 1000-1999/1200-1299/1230-1239/1231/verifierE.go ends with All 43 tests passed. can you fix the verifier? ```go
package main

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

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

	var q int
	if _, err := fmt.Fscan(in, &q); err != nil {
		return
	}
	for ; q > 0; q-- {
		var n int
		var s, t string
		fmt.Fscan(in, &n)
		fmt.Fscan(in, &s)
		fmt.Fscan(in, &t)

		if len(s) != n || len(t) != n {
			fmt.Fprintln(out, -1)
			continue
		}

		cntS := [26]int{}
		cntT := [26]int{}
		for i := 0; i < n; i++ {
			cntS[s[i]-'a']++
			cntT[t[i]-'a']++
		}
		ok := true
		for i := 0; i < 26; i++ {
			if cntS[i] != cntT[i] {
				ok = false
				break
			}
		}
		if !ok {
			fmt.Fprintln(out, -1)
			continue
		}

		maxL := 0
		sb := []byte(s)
		tb := []byte(t)
		for l := 0; l < n; l++ {
			for r := l; r < n; r++ {
				i := 0
				okSub := true
				for k := l; k <= r; k++ {
					ch := tb[k]
					for i < n && sb[i] != ch {
						i++
					}
					if i == n {
						okSub = false
						break
					}
					i++
				}
				if okSub {
					if r-l+1 > maxL {
						maxL = r - l + 1
						if maxL == n {
							break
						}
					}
				}
			}
			if maxL == n {
				break
			}
		}
		fmt.Fprintln(out, n-maxL)
	}
}
```