#include <bits/stdc++.h>
const int MOD = 2e9 + 7;
const long long int INF = 1e18;
const int mxn = 1e6 + 9;
using namespace std;
void SoLuTioN() {
  map<string, int> m;
  string str;
  cin >> str;
  for (int i = 1; i <= str.size(); i++) {
    for (int j = 0; j <= str.size() - i; j++) {
      string sa = str.substr(j, i);
      m[sa]++;
    }
  }
  int ans = 0;
  for (auto aa : m) {
    if (aa.second > 1) {
      ans = (((ans) > ((aa.first).size())) ? (ans) : ((aa.first).size()));
    }
  }
  cout << ans << '\n';
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  int T;
  T = 1;
  while (T--) {
    SoLuTioN();
  }
  return 0;
}
