Na een paar uur op je vlot over de oceaan gezeild te hebben, begint de verveling al toe te slaan. Gelukkig heb je een kleine stapel ruimtekaarten meegenomen! Je zou graag een spelletje Combat willen spelen en er dient zich zelfs een tegenstander aan: een kleine krab die aan boord van je vlot klom voordat je vertrok.

Gelukkig duurt het niet al te lang om de krab de regels te leren.

Voordat het spel begint, deel je de kaarten zodat elke speler zijn eigen stapel heeft (de invoer van deze opgave). Daarna verloopt het spel over een aantal ronden: beide spelers trekken hun bovenste kaart en de speler wiens kaart de hoogste waarde heeft wint de ronde. De winnaar houdt beide kaarten en voegt ze onderaan toe aan zijn stapel, zodat de kaart van de winnaar boven de andere kaart ligt. Als dit ervoor zorgt dat een speler alle kaarten heeft, dan wint hij en is het spel afgelopen.

Neem bijvoorbeeld de volgende stapels kaarten:

Player 1:
9
2
6
3
1

Player 2:
5
8
4
7
10

Deze indeling betekent dat de stapel van speler 1 uit 5 kaarten bestaat, met 9 bovenaan en 1 onderaan. De stapel van speler 2 bestaat ooko uit 5 kaarten, met 5 bovenaan en 10 onderaan.

Bij aanvang van de eerste ronde trekken beide spelers de bovenste kaart van hun stapel. Speler 1 heeft de hoogste kaart, waardoor hij beide kaarten aan de onderkant van zijn stapel mag toevoegen, waarbij 9 boven 5 ligt. In totaal zijn er 29 rondes nodig voordat één speler alle kaarten heeft:

-- Ronde 1 --
Stapel van speler 1: 9, 2, 6, 3, 1
Stapel van speler 2: 5, 8, 4, 7, 10
Speler 1 trekt: 9
Speler 2 trekt: 5
Speler 1 wint de ronde!

-- Ronde 2 --
Stapel van speler 1: 2, 6, 3, 1, 9, 5
Stapel van speler 2: 8, 4, 7, 10
Speler 1 trekt: 2
Speler 2 trekt: 8
Speler 2 wint de ronde!

-- Ronde 3 --
Stapel van speler 1: 6, 3, 1, 9, 5
Stapel van speler 2: 4, 7, 10, 8, 2
Speler 1 trekt: 6
Speler 2 trekt: 4
Speler 1 wint de ronde!

-- Ronde 4 --
Stapel van speler 1: 3, 1, 9, 5, 6, 4
Stapel van speler 2: 7, 10, 8, 2
Speler 1 trekt: 3
Speler 2 trekt: 7
Speler 2 wint de ronde!

-- Ronde 5 --
Stapel van speler 1: 1, 9, 5, 6, 4
Stapel van speler 2: 10, 8, 2, 7, 3
Speler 1 trekt: 1
Speler 2 trekt: 10
Speler 2 wint de ronde!

...er worden nog een aantal rondes gespeeld...

-- Ronde 27 --
Stapel van speler 1: 5, 4, 1
Stapel van speler 2: 8, 9, 7, 3, 2, 10, 6
Speler 1 trekt: 5
Speler 2 trekt: 8
Speler 2 wint de ronde!

-- Ronde 28 --
Stapel van speler 1: 4, 1
Stapel van speler 2: 9, 7, 3, 2, 10, 6, 8, 5
Speler 1 trekt: 4
Speler 2 trekt: 9
Speler 2 wint de ronde!

-- Ronde 29 --
Stapel van speler 1: 1
Stapel van speler 2: 7, 3, 2, 10, 6, 8, 5, 9, 4
Speler 1 trekt: 1
Speler 2 trekt: 7
Speler 2 wint de ronde!


== Einde van het spel ==
Stapel van speler 1: 
Stapel van speler 2: 3, 2, 10, 6, 8, 5, 9, 4, 7, 1

Zodra het spel is afgelopen, kan je de score van de winnaar berekenen. De onderste kaart in diens stapel heeft de waarde van die kaart vermenigvuldigd met 1 als waarde, de tweede kaart van onderen heeft de waarde van die kaart vermenigvuldigd met 2 als waarde, enzoverder. Met tien kaarten is de bovenste kaart de waarde van die kaart vermenigvuldigd met 10 waard. In dit voorbeeld is de score van de winnaar:

   3 * 10
+  2 *  9
+ 10 *  8
+  6 *  7
+  8 *  6
+  5 *  5
+  9 *  4
+  4 *  3
+  7 *  2
+  1 *  1
= 306

Zodra dit spel is afgelopen is de score van de winnaar dus 306.

Opgave

Nemen het tegen de kleine krab op in een spelletje Combat met de twee stapels kaarten die juist gedeeld werden. Wat is de score van de winnaar? Hiervoor gaan we als volgt te werk:

Voorbeeld

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

> winningScore "decks.txt"
306