
Anche se il programma sembra complicato, è abbastanza semplice:
- "Trave" cerca la fine della trave attuale. Quando la raggiunge, allora verifica
- "Piu' lunga?", se la trave che sta sopra è più lunga. In caso negativo, Kara con
- "Linea" passa alla prossima trave e poi comincia con "Trave". Nel caso, invece, che la trave di sopra sia più lunga, deve essere scambiata con la trave attuale nello stato
- "Scambia" . Dopo Kara va avanti con
- "*Linea" e
- "*Trave". Gli stati "*Trave" e"*Linea" fanno la stessa cosa degli stati "Trave" e "Linea". La differenza è che Kara, in entrambi questi stati, sa di avere scambiato almeno due travi e perciò, quando ha raggiunto l'ultima trave, con
- "NuovoStart" deve ripercorrere tutte le travi. Solo quando Kara ha raggiunto l'ultima trave in "Linea" sa che non ha scambiato nessuna trave e con questo ha finito.