좋은 문자열은 다음과 같이 정의한다.
ab는 좋은 문자열이다.a와 b를 붙인 aSb도 좋은 문자열이다.좋은 문자열 A와 B가 주어진다. 인접한 두 문자를 서로 바꾸는 연산만 써서 A를 B로 바꾸려고 한다. 바꾸는 도중에 나타나는 문자열도 모두 좋은 문자열이어야 한다. 필요한 연산의 최소 횟수를 구하는 프로그램을 작성하시오.
예를 들어 A가 aabbabab이고 B가 aaaabbbb이면 다섯 번의 연산으로 A를 B로 바꿀 수 있다. 대괄호는 그 단계에서 서로 바꾸는 두 문자이다.
aabba[ba]b → aab[ba]abb → aaba[ba]bb → aa[ba]abbb → aaa[ba]bbb → aaaabbbb
첫 줄에 테스트 케이스의 수 T가 주어진다.
이어서 각 테스트 케이스마다 한 줄에 문자열 A와 B가 공백으로 구분되어 주어진다. A와 B는 좋은 문자열이고, 길이는 각각 2 이상 100,000 이하이다.
각 테스트 케이스마다 A를 B로 바꾸는 데 필요한 연산의 최소 횟수를 한 줄에 하나씩 출력한다. 바꿀 수 없으면 -1을 출력한다.