s = gets.chomp
t = gets.chomp

result = ""

dp = [0] * (s.size + 1)
dp_new = [0] * (s.size + 1)
e_t = t[-1]

1.upto(t.size - 1) do |i|
  e_t = t[i - 1]
  dp_new = [0] * (s.size + 1)

  1.upto(s.size) do |j|
    j_prev = j - 1
    dp_new[j] = if e_t == s[j_prev]
                  dp[j_prev] + 1
                else
                  dp[j] < dp_new[j_prev] ? dp_new[j_prev] : dp[j]
                end
  end

  dp = dp_new
end

1.upto(s.size) do |j|
  j_prev = j - 1
  dp_new[j] = if e_t == s[j_prev]
                dp[j_prev] + 1
              else
                dp[j] < dp_new[j_prev] ? dp_new[j_prev] : dp[j]
              end

  result += s[j_prev] if dp_new[j_prev] < dp_new[j]
end

puts result