0068 - 一番長いパターンを探せ

時間制限 1 秒 / メモリ制限 256 MB / 得点 1 / Writer ei1333 / x 7 / 統計 /


TLE
1sec
MLE
256MB
得点
1

問題

5 文字以上256 文字未満の文字列が与えられた時,その中で複数回登場している最長パターンを見つけ,その長さを答えるプログラムを作成して下さい.
例えば,

UABCDXYZABCDX03ABC

という文字列が与えられたとすると,

UABCDXYZABCDX03ABC

というように “ABCDX” が二回登場しており,これが最も長いパターンということになります.(“ABC” というパターンも三回登場していますが最長ではありません.)よって,答えは 5 となります.(※ “ABCDX” = 5 文字)
なお,パターンどうしの重なりは考えないものとします.例えば ABBBBC が与えられたとすると最長パターンは “BB” と考えます(※ ABB BBC).“BBB” というパターンにすると重複が起こってしまうため,ここでは対象外とします.

入力データでは,5 文字以上 256 文字未満の文字列が一行で与えられます.使用できる文字に制限はありませんが,改行だけは対象外とします.
出力では,上述したように最長パターンの長さを示して下さい.ただし,少なくとも二文字以上でなければパターンとは見なしません.パターンが存在しない場合は0 と出力して下さい.

実行例

入力

UABCDXYZABCDX03ABC

出力

5