Gramática italiana: presente dos verbos da primeira conjugação

Neste desafio, você deve criar uma função que conjugue no presente um verbo italiano regular da primeira conjugação, dado no infinitivo, incluindo o pronome pessoal do sujeito.

Todos os verbos italianos da primeira conjugação têm a mesma terminação: ARE. Primeiro, você deve separar o radical do verbo da terminação.

  • O radical de "programmare" (programar) = "programm".
  • O radical de "giocare" (jogar) = "gioc".

Para cada pronome sujeito, o radical é combinado com um novo sufixo. Consulte a tabela abaixo (os pronomes estão numerados para facilitar a programação; na gramática, eles são agrupados em singular e plural, ambos da primeira à terceira pessoa):

#PronomeSufixo
1Io (eu)o
2Tu (você)i
3Egli (ele)a
4Noi (nós)iamo
5Voi (vocês)ate
6Essi (eles)ano
  • Presente do verbo "parlare" (falar) para o terceiro pronome:
    • Pronome ("Egli") + Radical ("parl") + Sufixo ("a") = "Egli parla".
  • Presente do verbo "lavorare" (trabalhar) para o quarto pronome:
    • Pronome ("Noi") + Radical ("lavor") + Sufixo ("iamo") = "Noi lavoriamo".

Há duas exceções para a conjugação no presente:

  • Se o radical terminar em "c" ou "g", acrescente um "h" no início dos sufixos correspondentes ao segundo e ao quarto pronome:
    • "Attaccare" (atacar) = "Tu attacchi" (em vez de "Tu attacci")
    • "Legare" (amarrar) = "Noi leghiamo" (em vez de "Noi legiamo")
  • Se o radical terminar em "i", os sufixos correspondentes ao segundo e ao quarto pronome perdem o "i" inicial (portanto, o sufixo do segundo pronome desaparece por completo):
    • "Inviare" (enviar) = "Noi inviamo" (em vez de "Noi inviiamo")
    • "Tagliare" (cortar) = "Tu tagli" (em vez de "Tu taglii")
    • "Mangiare" (comer) = "Noi mangiamo" (em vez de "Noi mangiiamo")
    • "Cacciare" (caçar) = "Tu cacci" (em vez de "Tu caccii")

Dada uma string verb que contém a forma infinitiva de um verbo italiano regular da primeira conjugação e um inteiro pronoun que representa o pronome pessoal do sujeito, implemente uma função que retorne a forma conjugada como uma string.

Exemplos

conjugate("programmare", 5) ➞ "Voi programmate"

conjugate("iniziare", 2) ➞ "Tu inizi"

conjugate("mancare", 4) ➞ "Noi manchiamo"

Notas

  • Na string retornada, os pronomes devem começar com letra maiúscula e os verbos devem estar em letras minúsculas, separados por um espaço.
  • Curiosidade: a primeira conjugação (verbos terminados em "are") também é chamada de "conjugação viva", pois todo verbo novo que entra no dicionário italiano é incluído nessa categoria como um novo verbo regular. Isso acontece com frequência com verbos "emprestados" do inglês e com neologismos da informática: chattare, twittare, postare, spammare... será edabittare o próximo?