write a go solution for Description: Sofia has a string s of length n, consisting only of lowercase English letters. She can perform operations of the following types with this string. 1. Select an index 1<=i<=|s| and remove the character s_i from the string. 2. Select a pair of indices (l,r) (1<=l<=r<=|s|) and sort the substring s_ls_l+1ldotss_r in alphabetical order. Sofia wants to obtain the string t of length m after performing zero or more operations on string s as described above. Please determine whether it is possible or not. Input Format: The first line contains one integer t (1<=t<=10,000) — the number of test cases. The first line of each test case contains two integers n, m (1<=qm<=qn<=q2*10^5) — the lengths of string s and t, respectively. The second line of each test case contains the string s of length n, consisting only of lowercase English letters. The third line of each test case contains the string t of length m, consisting only of lowercase English letters. It is guaranteed that the sum of n over all test cases does not exceed 2*10^5. Output Format: For each test case, output "YES" if Sofia can obtain the string t from s using the operations above. Otherwise, output "NO". You can output the answer in any case (upper or lower). For example, the strings "yEs", "yes", "Yes", and "YES" will be recognized as positive responses. Note: In the first test case, Sofia can perform the following operation: 1. operation of the second type with l=1 and r=5: string s becomes mathttafios after it. In the second test case, Sofia can perform the following operations: 1. operation of the second type with l=1 and r=2: string s becomes mathttbca after it; 2. operation of the first type with i=3: string s becomes mathttbc after it. In the third test case, it can be shown that it is impossible to obtain t from s using the provided operations.. Output only the code with no comments, explanation, or additional text.