# 最長部分文字列の変種
def func(a,b)
  n = a.length
  common = [0]*(n)
  max_len = 0
  (0...n).each do |i|
    # bを左にi文字ずらしてaと一致する文字を見る
    common.fill(0)
    len = 0
    (0...n).each do |j|
      break if j + i >= b.length
      common[j] = a[j] != b[j+i] ? 0 : 1
      # commonの連続した1の個数の最大値
      if common[j] == 1
        len += 1
      else
        max_len = len if max_len < len
        len = 0
      end
    end
  end

  max_len
end

loop do
  input = gets
  break unless input
  a = input.chomp.split("")
  b = gets.chomp.split("")

  puts [func(a,b), func(b,a)].max
end