Najdłuższy łańcuch elementów z listy w Pythonie

Mam listę narodów i chcę mieć najdłuższą ścieżkę narodów, w której każdy wybrany kraj musi zaczynać się od tej samej litery, która zakończyła poprzedni element

<code>nations = ['albania','andorra','austria','belarus','belgium','bosnia and herzegovina',
      'bulgaria','croatia','czech republic','denmark','estonia',  
      'finland','france','germany','greece','hungary',
      'iceland','ireland','italy','latvia','liechtenstein','lithuania','luxembourg',
      'macedonia','malta','moldova','monaco','montenegro','netherlands', 
      'norway','poland','portugal','romania','russia',  
      'san marino','serbia','slovakia','slovenia','spain','sweden', 'switzerland',
      'ukraine','united kingdom','vatican city'] 

chain('spain')
>>>['spain', 'netherlands', 'slovenia', 'andorra', 'austria', 'albania']
</code>

Próbowałem w ten sposób, ale to nie działa

<code>def chain(naz):
    initial = naz[-1]
    initials=[]
    res = set()
    res.add(naz)
    for i in nations:
        if i.startswith(initial):
            initials.append(i)
    for j in initials:
        nations.remove(j)
        res.add(j)
        chain(j)
    return res
</code>

Jakieś sugestie?

questionAnswers(4)

yourAnswerToTheQuestion