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);
    }
}