#include<bits/stdc++.h>

using namespace std;

int main(){
	string S,T;
	cin>>S>>T;
	if(S.length()>T.length()){
		swap(S,T);
	}
	vector<vector<short>>memo(S.length() + 1, vector<short>(26));
	for(int i = 0; i < S.length(); i++){
		memo[i+1]=memo[i];
		memo[i+1][S[i]-'a']++;
	}
	vector<vector<short>>memo2(T.length() + 1, vector<short>(26));
	for(int i = 0; i < T.length(); i++){
		memo2[i+1]=memo2[i];
		memo2[i+1][T[i]-'a']++;
	}
	vector<short>now(26);
	int ans=0;
	set<vector<short>>SVI;
	for(int len = S.length(); len >= 1; len--){
		SVI.clear();
		for(int i = 0; i + len < memo.size(); i++){
			for(int k = 0; k < 26; k++){
				now[k] = memo[i+len][k] - memo[i][k];
			}
			SVI.insert(now);
		}
		for(int i = 0; i + len < memo2.size(); i++){
			for(int k = 0; k < 26; k++){
				now[k] = memo2[i+len][k] - memo2[i][k];
			}
			if(SVI.count(now)){
				cout<<len<<endl;
				return 0;
			}
		}
	}

	cout<<ans<<endl;
}