对于某两个字符串 $A$ 和 $B$,设 $A$ 的长度为 $p$,$B$ 的长度为 $q$,若用以下形式表示他们:
$A=a_1a_2a_3 \cdots a_p$
$B=b_1b_2b_3 \cdots b_q$
我们说 $A$ 包含 $B$,或者说 $B$ 是 $A$ 的子序列,当且仅当存在 $1 \le i_1 < i_2 < \cdots i_q \le p$
满足
$a_{i_k}=b_k$ for $1 \le k \le q$
你的任务是:给定三个字符串 $X$、$Y$、$Z$,求 $X$ 和 $Y$ 的一个公共子序列$W$,使得 $W$ 包含 $Z$。要求找出最长的这种序列 $W$ 的长度。