demorou um tempao pra eu ver, mas acho q agora entendi o problema. tem um algoritmo bem elementar escondido nele.