#include <bits/stdc++.h>
using namespace std;
int main() {
  string a, sbs, save;
  long long i, j, k, ln, mx = 0, m, n, p, c = 0;
  vector<string> v;
  cin >> a;
  ln = a.size();
  for (i = 0; i < ln; i++) {
    for (j = i; j < ln; j++) {
      sbs += a[j];
      v.push_back(sbs);
    }
    sbs.clear();
  }
  long long ln1 = v.size();
  for (i = 0; i < ln1 - 1; i++)
    for (j = i + 1; j < ln1; j++) {
      if (v[i] == v[j]) {
        long long ln2 = v[i].size();
        if (ln2 > mx) mx = ln2;
      }
    }
  cout << mx << endl;
}
