对决
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 1024 M,其他语言2048 M
Special Judge, 64bit IO Format: %lld

题目描述

对于一个字符串 S,记 S 中子串 \texttt{ 出现的次数为 a,子串 \texttt{ 出现的次数为 b,子串 \texttt{ 出现的次数为 c,定义 S 的权值为 a + b \cdot c

给定两个字符串 st。判断 s 的权值是否严格大于 t 的权值。

  • 子串:对于字符串 s 与 t,如果存在 l 与 r 满足 1 \leq l \leq r \leq n 且 t = s_ls_{l + 1}\cdots s_{r-1}s_r,那么定义 t 为 s 的子串。例如,\texttt{ 是 \texttt{ 的子串,而 \texttt{ 不是 \texttt{ 的子串。

输入描述:

输入包含多组数据。

首先输入一行一个整数 T (1 \leq T \leq 10^3),表示数据的组数。

对于每组数据,首先输入一行两个整数 n, m (1 \leq n, m \leq 10^5),分别表示 s 的长度与 t 的长度。

接下来输入一行一个长度为 n 的字符串 s,保证 s 中仅包含小写字母。

接下来输入一行一个长度为 m 的字符串 t,保证 t 中仅包含小写字母。

保证对于一个测试点的所有数据,n + m 的和不超过 2 \cdot 10^5

输出描述:

对于每组数据,输出一行一个字符串。如果 s 的权值严格大于 t 的权值,输出 \texttt{;否则输出 \texttt{。输出对大小写不敏感:例如,\texttt{\texttt{ 都可以表示 s 的权值严格大于 t 的权值。
示例1

输入

复制
2
11 9
firefirefia
waterwind
5 5
abcde
fghij

输出

复制
YES
NO

说明

在第一组数据中,对于 sa = 2, b = c = 0,权值为 2;对于 ta = 0, b = c = 1,权值为 1。所以 s 的权值严格大于 t 的权值。

在第二组数据中,st 的权值均为 0