Jouw veerboot is al een aardig stukje opgeschoten richting het eiland, als de storm sneller komt opzetten dan iemand verwacht had. De veerboot moet ontwijkende manoeuvres uitvoeren.

Helaas lijkt de navigatiecomputer van het schip niet goed te werken. In plaats van een directe route naar veiliger oorden aan te geven, levert ze uiterst omslachtige instructies op. Als de kapitein de PA1 om te vragen of iemand kan helpen, meld je je snel aan als vrijwilliger.

De navigatie-instructies (jouw invoer voor deze opgave) bestaan uit een reeks acties van één hoofdletter, gecombineerd met natuurlijke getallen als invoerwaarden. Nadat je er een paar minuten naar gestaard hebt, kom je er achter wat ze waarschijnlijk betekenen:

Het schip begint met naar het oosten te varen. Alleen de acties L en R veranderen de richting van het schip. (Dat betekent, als het schip naar het oosten gericht is en de volgende instructie is N10, dan zou het schip zich 10 stappen naar het noorden verplaatsen, maar nog steeds naar het oosten blijven varen als de volgende actie F was.)

Bijvoorbeeld:

F10
N3
F7
R90
F11

Deze instructies zouden als volgt uitgevoerd worden:

Op het einde van deze instructies, bevindt het schip zich op Manhattan-afstand2 (som van absolute waarden van oost/west-positie en noord/zuid-positie) 17 + 8 = 25 van zijn beginpositie.

Opgave

Zoek uit waar de navigatie-instructies naartoe leiden. Wat is de Manhattan-afstand tussen die positie en de beginpositie van het schip? Hiervoor ga je als volgt te werk:

Voorbeeld

In deze interactieve sessie gaan we ervan uit dat het tekstbestand instructions.txt3 zich in de huidige directory bevindt.

> distance("instructions.txt")
25