Source: https://www.eseq.pt/ce/exames/exames1415/Inf_prova/376_Frances.pdf