import std.stdio;
import std.c.stdio;
import std.range;
import std.array;
import std.functional;
import std.algorithm;
import std.conv;
import std.container;
import std.math;
import std.numeric;
import std.string;
import std.c.string;
import std.regex;
import std.typecons;

void main() {
    string s, t;
    while (true) {
        s = readln.chomp;
        if (s == "") break;
        t = readln.chomp;
        static int f(string s, string t) {
            int ans = 0;
            foreach (i; 0 .. s.length) {
                int c = 0;
                for (auto j = 0; j < t.length && i + j < s.length; j++) {
                    if (s[i + j] == t[j]) {
                        c++;
                    } else {
                        c = 0;
                    }
                    ans = max(ans, c);
                }
            }
            return ans;
        }
        writeln(max(f(s, t), f(t, s)));
    }
}