Montagem de cadeias de fragmentos com comprimento máximo

Kotlin Hard functions

Tarefa «Montagem de cadeias de fragmentos com comprimento máximo»

Dadas N strings, compostas por letras latinas minúsculas (comprimento de cada string de 1 a 100). É necessário escrever uma função que receba uma lista de strings e retorne o comprimento máximo da cadeia que pode ser montada conectando as strings sequencialmente de modo que o último caractere da string atual coincida com o primeiro caractere da próxima. Cada string pode ser usada no máximo uma vez. Se não for possível montar a cadeia, retornar 0.

Formato de Entrada

A primeira linha é um número inteiro N (1 ≤ N ≤ 20). Em seguida, N strings, uma por linha.

Formato de Saída

Um número inteiro — o comprimento máximo da cadeia (soma dos comprimentos de todas as strings na cadeia).

Exemplos

Exemplo 1

ENTRADA
10 20
SAÍDA
0

Exemplo 2

ENTRADA
15 15
SAÍDA
0
main.kt