Aninhamentos de palavras

Um aninhamento de palavras é criado a partir de uma palavra inicial inserindo outra cópia completa dessa palavra em algum ponto dentro da string atual. Esse processo pode ser repetido.

Aninhar "incredible" três vezes resulta no seguinte:

start  = incredible
first  = incre|incredible|dible
second = increin|incredible|credibledible
third  = increinincr|incredible|ediblecredibledible

O aninhamento final é "increinincrincredibleediblecredibledible", com profundidade 3. Dadas a palavra inicial e um aninhamento final válido, retorne a profundidade do aninhamento.

Exemplos

wordNest("floor", "floor") // 0
wordNest("code", "cocodccococodededeodeede") // 5
wordNest("incredible", "increinincrincredibleediblecredibledible") // 3