#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main() {
int ans = 0;
string a, b;
cin >> a >> b;
vector<vector<int> > v(a.length(),vector<int>(b.length(),0));
for (int i = 0; i < a.length(); i++) {
for (int j = 0; j < b.length(); j++) {
if (a[i] == b[j]) {
if (i == 0 || j == 0) {
v[i][j] = 1;
}
else {
v[i][j] = v[i-1][j-1]+1;
}
if (ans < v[i][j]) {
ans = v[i][j];
}
}
}
}
/*for (int i = 0; i < a.length(); i++) {
for (int j = 0; j < b.length(); j++) {
cout << v[i][j];
}
cout << endl;
}*/
cout << ans << endl;
return 0;
}
#include <vector>
#include <string>
using namespace std;
int main() {
int ans = 0;
string a, b;
cin >> a >> b;
vector<vector<int> > v(a.length(),vector<int>(b.length(),0));
for (int i = 0; i < a.length(); i++) {
for (int j = 0; j < b.length(); j++) {
if (a[i] == b[j]) {
if (i == 0 || j == 0) {
v[i][j] = 1;
}
else {
v[i][j] = v[i-1][j-1]+1;
}
if (ans < v[i][j]) {
ans = v[i][j];
}
}
}
}
/*for (int i = 0; i < a.length(); i++) {
for (int j = 0; j < b.length(); j++) {
cout << v[i][j];
}
cout << endl;
}*/
cout << ans << endl;
return 0;
}