#include <bits/stdc++.h>
char s[110], sub[110];
int res = 0, n;
int main() {
  scanf("%s", s);
  n = strlen(s);
  for (int i = 0; i < n; i++) {
    for (int j = n - 1; j >= i; j--) {
      for (int k = 0; k < j - i + 1; k++) sub[k] = s[i + k];
      sub[j - i + 1] = 0;
      if (strstr(s + i + 1, sub) != NULL) {
        res = res > j - i + 1 ? res : j - i + 1;
        break;
      }
    }
  }
  printf("%d", res);
  return 0;
}
