Good Bye 2021: 2022 is NEAR
E
Lexicographically Small Enough
Codeforces
2200
原题
← DF →
翻译中…

You are given two strings $s$ and $t$ of equal length $n$. In one move, you can swap any two adjacent characters of the string $s$.

翻译中…

You need to find the minimal number of operations you need to make string $s$ lexicographically smaller than string $t$.

翻译中…

A string $a$ is lexicographically smaller than a string $b$ if and only if one of the following holds:

翻译中…
  • $a$ is a prefix of $b$, but $a \ne b$;
  • in the first position where $a$ and $b$ differ, the string $a$ has a letter that appears earlier in the alphabet than the corresponding letter in $b$.
翻译中…

Input

翻译中…

The first line of input contains one integer $q$ ($1 \le q \le 10\,000$): the number of test cases.

翻译中…

The first line of each test case contains a single integer $n$ ($1 \le n \le 10^5$).

翻译中…

The second line of each test case contains the string $s$ consisting of $n$ lowercase English letters.

翻译中…

The third line of each test case contains the string $t$ consisting of $n$ lowercase English letters.

翻译中…

It is guaranteed that the sum of $n$ over all test cases does not exceed $2 \cdot 10^5$.

翻译中…

Output

翻译中…

For each test case, print in a separate line the minimal number of operations you need to make string $s$ lexicographically smaller than string $t$, or $-1$, if it's impossible.

翻译中…

样例

Input #1
4
1
a
a
3
rll
rrr
3
caa
aca
5
ababa
aabba
Output #1
-1
0
2
2
InputCopy OutputCopy
题目信息
题号
1616E
时间限制
1 s
内存限制
256 MB
标签
暴力
数据结构
贪心
字符串

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。