← Home
package main

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

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

	var t int
	fmt.Fscan(reader, &t)

	for tc := 0; tc < t; tc++ {
		var a, b, c string
		fmt.Fscan(reader, &a, &b, &c)

		n := len(a)
		m := len(b)

		dp := make([]int, m+1)
		dp[0] = 0

		for j := 1; j <= m; j++ {
			cost := 1
			if b[j-1] == c[j-1] {
				cost = 0
			}
			dp[j] = dp[j-1] + cost
		}

		for i := 1; i <= n; i++ {
			costA := 1
			if a[i-1] == c[i-1] {
				costA = 0
			}
			dp[0] += costA

			for j := 1; j <= m; j++ {
				costA = 1
				if a[i-1] == c[i+j-1] {
					costA = 0
				}
				costB := 1
				if b[j-1] == c[i+j-1] {
					costB = 0
				}

				val1 := dp[j] + costA
				val2 := dp[j-1] + costB

				if val1 < val2 {
					dp[j] = val1
				} else {
					dp[j] = val2
				}
			}
		}

		fmt.Fprintln(writer, dp[m])
	}
}