Non soluzione (niente codice) ma suggerimento su come affrontare il problema ...

Come faresti sulla carta? Tutti i passaggi applicali al programma ...