Tunnelbaneplatser

Baltic Olympiad in Informatics – programmeringstävlingen för länderna i östersjöregionen – kommer till våren att anordnas i Stockholm, och deltagarna kommer åka tunnelbana mellan vandrarhemmet och tävlingsarenan.

På tunnelbanetågen finns det sätesgrupper med fyra säten vardera. Nu kommer ett antal grupper av deltagare och vill sätta sig. Varje grupp har storlek 1, 2, 3 eller 4. Helst skulle alla personerna i en grupp vilja sitta i samma fyrsätesgrupp, alltså slippa dela på sig. Hur många fyrsätesgrupper krävs för att detta ska vara möjligt?

Indata

Indata består av en rad med fyra heltal $a_1, a_2, a_3, a_4$ – antalet grupper av varje storlek. Alla tal är mellan $0$ och $100$.

Utdata

Skriv ut ett enda tal: det minsta antalet fyrsätesgrupper som behövs för att personerna ska kunna sätta sig så att alla inom varje grupp sitter tillsammans.

Poängsättning

För testfall värda $20$ poäng finns inga grupper av storlek 1.
För testfall värda $20$ poäng finns inga grupper av storlek 2.
För testfall värda $20$ poäng finns inga grupper av storlek 3.
För testfall värda $40$ poäng gäller inga speciella begränsningar.

Förklaringar till exemplen

\includegraphics[width=7cm]{tunnelbana1.pdf}
En optimal placering i exempel 1 (streckade linjer avgränsar grupper av personer)

\includegraphics[width=7cm]{tunnelbana2.pdf}
En optimal placering i exempel 2.

\includegraphics[width=7cm]{tunnelbana3.pdf}
En optimal placering i exempel 3.

Sample Input 1 Sample Output 1
1 1 1 1
3
Sample Input 2 Sample Output 2
1 2 1 0
2
Sample Input 3 Sample Output 3
0 1 2 0
3