LCS - Longest Common Substring

no tags 

A string is finite sequence of characters over a non-empty finite set Σ.

In this problem, Σ is the set of lowercase letters.

Substring, also called factor, is a consecutive sequence of characters occurrences at least once in a string.

Now your task is simple, for two given strings, find the length of the longest common substring of them.

Here common substring means a substring of two or more strings.

Input

The input contains exactly two lines, each line consists of no more than 250000 lowercase letters, representing a string.

Output

The length of the longest common substring. If such string doesn't exist, print "0" instead.

Example

Input:
alsdfkjfjkdsal
fdjskalajfkdsla

Output:
3

hide comments
Lê Thanh Phú: 2020-08-02 10:06:04

Suffix Array O(nlog^2(n)) AC 0.53s

grapo_oranges: 2020-07-07 06:35:02

No need for suffix tree, suffix array is enough to solve this problem, also no need for memory optimization in LCP, it get AC easily.. goodluck O(n log n:)

anhvubg2402: 2020-07-03 10:06:31

dcmm lũ ox chó

fahimcp495: 2019-12-31 08:07:27

finally AC using suffix automaton.

yaswanth: 2019-10-13 20:58:35

Got TLE with Suffix array with storing temp results (partial ordering array). Had to change it to get AC. Too strict of a time limit.

beingbmc: 2019-09-24 12:51:06

NLogN suffix array works with cpp but TLE with Java

mac1309: 2019-07-26 13:30:09

its so bad that suffix array in O(nlog^2n) is giving tle

tuilathao: 2019-07-24 18:42:47

oh ye

tuilathao: 2019-07-24 18:41:31

ye

mwx36mwx: 2018-05-26 10:33:53

manber-myers works for me :-)


Added by:Bin Jin
Date:2007-09-24
Time limit:1s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: ASM64 CPP