import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.Stream;
/*
* 最长相同子串,且不重叠
* */
public class Main1 {
public static void main(String[] args) {
String str = "abcdefab";
int len = getMaxLenStr(str);
if (len > 0) {
System.out.println((len + 1) + (str.length() - 2 * len));
} else {
System.out.println(str.length());
}
}
public static int getMaxLenStr(String str) {
if (null == str || 0 == str.length()) {
return 0;
}
int k = 0;
int max = 0;
for (int i = 1; i < str.length(); i++) {
for (int j = 0; j < str.length() - i; j++) {
if (str.charAt(j) == str.charAt(i + j)) {
k++;
} else {
k = 0;
}
if (k > max && max <= i) {
max = k;
}
}
k = 0;
}
return max;
}
}