#include <bits/stdc++.h>
#define M (ull)((1e9)+7)
using namespace std;
typedef unsigned long long ull;
string s1,s2;
int len,len2,ans;
set<ull> s;
 
ull com(vector<int> &v){
  ull h=0;
  for(int i=0;i<26;i++)
    h=h*M+v[i];
  return h;
}

int main(){
  cin>>s1>>s2;
  len=s1.size();
  len2=s2.size();
  for(int i=1;i<=len;i++){
    vector<int> v(26,0);
    for(int j=0;j<len;j++){
      if(i==j)s.insert(com(v));
      v[s1[j]-'a']++;
      if(j>=i){  
	v[s1[j-i]-'a']--;
	s.insert(com(v));
      }
    }
    if(i==len)s.insert(com(v));
    vector<int> v2(26,0);    
    for(int j=0;j<len2;j++){
      if(i==j&&s.count(com(v2)))
	ans=max(ans,i);
      v2[s2[j]-'a']++;
      if(j>=i){  
	v2[s2[j-i]-'a']--;
	if(s.count(com(v2)))
	  ans=max(ans,i);
      }
    }
    if(i==len2&&s.count(com(v2)))
      ans=max(ans,i);
    s.clear();
  }
  cout<<ans<<endl;
  return 0;
}