#include #include #include int main(void) { char str1[4001], str2[4001], part[4001]; char *trgt, *base; int i, j, k, l; int max = 0; scanf("%s%s", str1, str2); if(strlen(str1) < strlen(str2)) { trgt = str1; base = str2; } else { trgt = str2; base = str1; } for(i = 0; i < strlen(trgt); i++) { for(j = strlen(trgt); j > i; j--) { memset(part, '\0', sizeof(part)); for(k = i, l = 0; k < j; k++, l++) { part[l] = trgt[k]; } if(strstr(base, part) && strlen(part) > max) max = strlen(part); } } printf("%d\n", max); return 0; }