#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <time.h>
#include <math.h>
#define INF 1<<30
#define SZ 100000
char a[350], b[350], c[700], d[10], ans[310][310];
int strcheck(char *a,char *b)
{
int i=0;
while(a[i]==b[i]) i++;
return i;
}
int cmp(const void *a,const void *b)
{
return strcmp(c+*(int *)a,c+*(int *)b);
}
int main()
{
int i,j,k,l,m,n,t,x,y,tmp,max,blank=0,test=0,flag,suff[700];
while(scanf("%s %s",a,b)!=EOF)
{
if(blank) putchar('\n');
blank=1;
x=strlen(a), y=strlen(b);
strcpy(c,a);
strcat(c,"#");
strcat(c,b);
for(i=0,l=x+y;i<=l;i++) suff[i]=i;
qsort(suff,l+1,sizeof(int),&cmp);
for(i=max=flag=n=0;i<l;i++)
{
if((suff[i]<x && suff[i+1]>x) || (suff[i]>x && suff[i+1]<x))
{
if((tmp=strcheck(c+suff[i],c+suff[i+1]))>max)
{
flag=1;
strncpy(ans[n=0],c+suff[i],tmp);
ans[0][tmp]=0;
max=tmp;
}
else if(tmp==max)
{
strncpy(ans[++n],c+suff[i],tmp);
ans[n][tmp]=0;
}
}
}
if(!flag) printf("No common sequence.\n");
else for(i=0;i<=n;i++) puts(ans[i]);
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPHN0cmluZy5oPgojaW5jbHVkZSA8Y3R5cGUuaD4KI2luY2x1ZGUgPHRpbWUuaD4KI2luY2x1ZGUgPG1hdGguaD4KCiNkZWZpbmUgSU5GIDE8PDMwCiNkZWZpbmUgU1ogMTAwMDAwCgpjaGFyIGFbMzUwXSwgYlszNTBdLCBjWzcwMF0sIGRbMTBdLCBhbnNbMzEwXVszMTBdOwoKaW50IHN0cmNoZWNrKGNoYXIgKmEsY2hhciAqYikKewogICAgICBpbnQgaT0wOwogICAgICB3aGlsZShhW2ldPT1iW2ldKSBpKys7CiAgICAgIHJldHVybiBpOwp9CgppbnQgY21wKGNvbnN0IHZvaWQgKmEsY29uc3Qgdm9pZCAqYikKewogICAgICByZXR1cm4gc3RyY21wKGMrKihpbnQgKilhLGMrKihpbnQgKiliKTsKfQoKaW50IG1haW4oKQp7CglpbnQgaSxqLGssbCxtLG4sdCx4LHksdG1wLG1heCxibGFuaz0wLHRlc3Q9MCxmbGFnLHN1ZmZbNzAwXTsKCXdoaWxlKHNjYW5mKCIlcyAlcyIsYSxiKSE9RU9GKQoJewoJICAgICAgaWYoYmxhbmspIHB1dGNoYXIoJ1xuJyk7CgkgICAgICBibGFuaz0xOwoJCXg9c3RybGVuKGEpLCB5PXN0cmxlbihiKTsKCQlzdHJjcHkoYyxhKTsKCQlzdHJjYXQoYywiIyIpOwoJCXN0cmNhdChjLGIpOwogICAgICAgICAgICBmb3IoaT0wLGw9eCt5O2k8PWw7aSsrKSBzdWZmW2ldPWk7CiAgICAgICAgICAgIHFzb3J0KHN1ZmYsbCsxLHNpemVvZihpbnQpLCZjbXApOwogICAgICAgICAgICBmb3IoaT1tYXg9ZmxhZz1uPTA7aTxsO2krKykKICAgICAgICAgICAgewogICAgICAgICAgICAJaWYoKHN1ZmZbaV08eCAmJiBzdWZmW2krMV0+eCkgfHwgKHN1ZmZbaV0+eCAmJiBzdWZmW2krMV08eCkpCiAgICAgICAgICAgIAl7CiAgICAgICAgICAgIAkgICAgICBpZigodG1wPXN0cmNoZWNrKGMrc3VmZltpXSxjK3N1ZmZbaSsxXSkpPm1heCkKICAgICAgICAgICAgCSAgICAgIHsKICAgICAgICAgICAgCSAgICAgICAgICAgIGZsYWc9MTsKICAgICAgICAgICAgCSAgICAgICAgICAgIHN0cm5jcHkoYW5zW249MF0sYytzdWZmW2ldLHRtcCk7CiAgICAgICAgICAgIAkgICAgICAgICAgICBhbnNbMF1bdG1wXT0wOwogICAgICAgICAgICAJICAgICAgICAgICAgbWF4PXRtcDsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAJICAgICAgZWxzZSBpZih0bXA9PW1heCkKICAgICAgICAgICAgCSAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RybmNweShhbnNbKytuXSxjK3N1ZmZbaV0sdG1wKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5zW25dW3RtcF09MDsKICAgICAgICAgICAgCSAgICAgIH0KICAgICAgICAgICAgCX0KICAgICAgICAgICAgfQogICAgICAgICAgICBpZighZmxhZykgcHJpbnRmKCJObyBjb21tb24gc2VxdWVuY2UuXG4iKTsKICAgICAgICAgICAgZWxzZSBmb3IoaT0wO2k8PW47aSsrKSBwdXRzKGFuc1tpXSk7Cgl9CglyZXR1cm4gMDsKfQo=