import java.util.Scanner;
// medium 双指针:
// 1. 先定义较短字符串a和较长字符串b。
// 2. 通过判断b是否包含a的子串,来查找最长公共子串
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String aa=in.next();
String bb=in.next();
String a=aa.length()<bb.length()?aa:bb;
String b=aa.length()<bb.length()?bb:aa;
int left=0;
int right=1;
String res="",sub="";
int max_len=0;
int a_len=a.length(),b_len=b.length();
while(right<=a_len){ //右指针的最大值是a的最后一个元素
sub=a.substring(left,right);
if(b.contains(sub)){
if(sub.length()>max_len){ //记录最大长度和子串;
max_len=sub.length();
res=sub;
}
right++; //如果b包含子串,右指针继续右移,以寻求更长的子串。
}else{
left++; //如果b不包含,左指针左移,右指针左指针处开始(最小长度开始)
right=left+1;
}
}
System.out.println(res);
}
}