#include #define assn(n,a,b) assert(n<=b and n>=a) #define pb push_back #define mp make_pair #define PB push_back #define MP make_pair #define F first #define S second #define SZ(a) (int)(a.size()) #define SET(a,b) memset(a,b,sizeof(a)) #define LET(x,a) __typeof(a) x(a) #define TR(v,it) for( LET(it,v.begin()) ; it != v.end() ; it++) #define repi(i,n) for(int i=0; i<(int)n;i++) #define sd(n) scanf("%d",&n) #define si(n) scanf("%d",&n) #define sl(n) scanf("%lld",&n) #define sortv(a) sort(a.begin(),a.end()) #define all(a) a.begin(),a.end() using namespace std; #define TRACE #ifdef TRACE #define trace(...) __f(#__VA_ARGS__, __VA_ARGS__) template void __f(const char* name, Arg1&& arg1){ cerr << name << " : " << arg1 << std::endl; } template void __f(const char* names, Arg1&& arg1, Args&&... args){ const char* comma = strchr(names + 1, ',');cerr.write(names, comma - names) << " : " << arg1<<" | ";__f(comma+1, args...); } #else #define trace(...) #endif typedef long long LL; typedef pair PII; typedef vector VI; typedef vector< PII > VPII; #define MOD 1000000007ll LL mpow(LL a, LL n) {LL ret=1;LL b=a;while(n) {if(n&1) ret=(ret*b)%MOD;b=(b*b)%MOD;n>>=1;} return (LL)ret;} #ifdef ONLINE_JUDGE //FILE *fin = freopen(stdin,"r",stdin); //FILE *fout = freopen(stdout,"w",stdout); #endif #define MAXN 100000 int main() { int t; sd(t); assn(t, 1, 10); while(t--) { int ans=INT_MAX, l1, l2, fl=0; string s1, s2; cin >> s1 >> s2; l1=s1.length(), l2=s2.length(); assn(l1, 1, MAXN); assn(l2, 1, MAXN); VI pos[26]; for(int i=0; i