Jullie kennen het spel “Darts” waarbij je met pijltjes naar een bord werpt. Het aantal punten dat je scoort hangt af van de plaats waar het pijltje in het bord belandt. Het dartbord is verdeeld in sectoren. De getallen langs de rand geven het aantal punten aan voor een pijltje in de desbetreffende sector. De dartscore van een pijl wordt bepaald door de sector en de ring waarin de pijl belandt:

Per beurt mag je 3x gooien en de totale punten van die beurt is de som van de 3 worpen.

Score-notatie bij darts

Afspraken voor de scorenotatie van één pijl (van binnen naar buiten):

Opdracht

Schrijf een programma dat de gebruiker vraagt 3x geldige scores ingeeft volgens de score-notitie (zie hoger). Bij een incorrect ingave wordt er een error opgeroepen die je opvangt en afhandelt met een print-opdracht. De vraagzin wordt dan opnieuw gesteld. Na de 3 correcte scores print je het totaal van punten af voor die beurt als volgt:

Je totale score van de 3 worpen is <totaal>.

Schrijf hiervoor de functie dart_score die als enige argument een string meekrijgt met de dartsnotatie en de punten berekent voor die worp. De score wordt altijd als getal teruggegeven. Indien de opgegeven score ongeldig is dan moet er een zelfgecreëerde error worden opgeworpen in deze volgorde:

Er wordt geen rekening gehouden met hoofd- of kleine letters bij de ingave!

Tip:

Voorbeeld zonder fouten

Input

T18
20
bull

Output

Je totale score van de 3 worpen is 124.

Voorbeeld met foutafhandeling:

Input

99
19
MISSS
d8
T0
t10

Output

99 is niet correct.
"MISSS" heeft een spellingsfout.
0 is niet correct.
Je totale score van de 3 worpen is 65.