Скажем, что последовательность строк t1, ..., tk является путешествием длины k, если для всех i > 1 ti является подстрокой ti - 1 строго меньшей длины. Например, {ab, b} является путешествием, а {ab, c} или {a, a} — нет.
Определим путешествие по строке s как путешествие t1, ..., tk, все строки которого могут быть вложены в s так, чтобы существовали (возможно, пустые) строки u1, ..., uk + 1, такие, что s = u1 t1 u2 t2... uk tk uk + 1. К примеру, {ab, b} является путешествием по строке для abb, но не для bab, так как соответствующие подстроки расположены справа налево.
Назовём длиной путешествия количество строк, из которых оно состоит. Определите максимально возможную длину путешествия по заданной строке s.
Примечание
В первом примере путешествием по строке наибольшей длины является {abcd, bc, c}.
Во втором примере подходящим вариантом будет {bb, b}.