Pokemonturnering
문제
Pokémon-mästaren Simone har samlat ihop sina vänner till en turnering. En Pokémon-match spelas mellan exakt två spelare och slutar aldrig oavgjort. Det är även allmänt känt att vinnaren av en Pokémon-match får exakt hälften av motståndarens pengar. I början har alla kronor var, och det kommer totalt sett att spelas matcher.
Simone har spionerat på alla sina vänner, och vet exakt hur bra dessa är. Hon har rangordnat alla spelare i en lång lista, och vet att om två personer möter varandra så vinner alltid den som är överst på listan. Alla spelare är numrerade efter sin position på listan. Simone, som självfallet är den bästa spelaren, har därför nummer .
Hon har redan publicerat en lista över vilka matcher som ska spelas, men ordningen är ännu inte bestämd. Nu undrar hon hur mycket pengar hon som mest kan ha i slutet om hon får välja i vilken ordning matcherna ska spelas. Skriv ett program som beräknar detta!
입력
Den första raden består av två heltal: antalet spelare (inklusive Simone), , och antalet matcher som ska spelas, .
Sedan följer rader med matcherna på Simones lista. Varje match är en rad med två heltal , numren på de två spelarna som ska mötas.
Inga två spelare kommer möta varandra mer än en gång.
출력
Du ska skriva ut ett decimaltal - antalet kronor Simone kan ha i slutet av tävlingen om hon ordnar matcherna optimalt. Svaret måste anges med minst decimalers nogrannhet.
예제
예제 1
4 3 2 3 2 4 3 4
100
예제 2
5 4 3 4 2 3 1 3 4 5
187.5
예제 3
3 3 1 2 2 3 1 3
212.5