char s1[81],s2[82];
int len1,len2;
LL g[82];
LL f1[82],f2[82];
void pre()
{
g[0]=1;
for(int i=1;i<max(len1,len2);i++) g[i]=g[i-1]*26%mod;
f1[0]=s1[0]-'a';
for(int i=1;i<len1;i++) f1[i]=(f1[i-1]*26+s1[i]-'a')%mod;
f2[0]=s2[0]-'a';
for(int i=1;i<len2;i++) f2[i]=(f2[i-1]*26+s2[i]-'a')%mod;
}//哈希模板
LL gethash(LL *f,int l,int r)
{
if(!l) return f[r];
return (f[r]-f[l-1]*g[r-l+1]%mod+mod)%mod;
}//两段比较
int main()
{
scanf("%s%s",s1,s2);
len1=strlen(s1);
len2=strlen(s2);
pre();
for(int i=min(len1,len2);i;i--)
{
if(gethash(f1,0,i-1)==gethash(f2,len2-i,len2-1) ) { printf("%d",i); return 0; }
if(gethash(f2,0,i-1)==gethash(f1,len1-i,len1-1) ) { printf("%d",i); return 0; }
}
printf("0");
}