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])
}
}