O ERRO DO ERRO
Escrevi uma coisa pensando em outra. A definição de less que coloquei no enunciado não bate com o que pensei ao escrever o código. Resultado: nada do que eu pensava.
Ainda assim, o programa funciona, e dá para entender o que ele faz. Isso já foi incorporado à resolução que aparece em http://www.ime.usp.br/~am/122/provas/p2-gaba.pdf.
Forum