#include<bits/stdc++.h>
using namespace std;
char s2[1000001],s1[1000001];
int Next[1000001],len1,len2,n;
void getNext(){
int j=1,k=0;
Next[1]=0;
while(j<n){
if(k==0||s1[j]==s1[k]){
Next[++j]=++k;
}else{
k=Next[k];
}
}
}
int main(){
freopen("Simpsons' Hidden Talents.in","r",stdin);
freopen("Simpsons' Hidden Talents.out","w",stdout);
while(scanf("%s",s1+1)!=EOF){
len1=strlen(s1+1);
scanf("%s",s2+1);
len2=strlen(s2+1);
strcat(s1+1,s2+1);
n=len1+len2+1;
getNext();
for(int x=1;x<=n;x++){
Next[x]-=1;
}
if(Next[n]){
if(Next[n]>len1||Next[n]>len2){
if(len1<len2){
s1[len1+1]='\0';
printf("%s %d\n",s1+1,len1);
}else{
s2[len2+1]='\0';
printf("%s %d\n",s1+1,len2);
}
}else{
s1[Next[n]+1]='\0';
printf("%s %d\n",s1+1,Next[n]);
}
}else{
cout<<0<<endl;
}
}
return 0;
}