PROG0581 - Payslip

no tags 

A company has a number of workers. These workers want to determine what their average salary is, but none of them wants to divulge his own salary. How can they find the average without doing so?

loonbrief

The first worker picks some random large number and adds his own salary to it. He then whispers the total amount to the second worker. The second worker adds his own salary to that sum and whispers the new total to the third workers, and so on.

When the last worker has added his own salary, he whispers the final amount back to the first worker. The first worker subtracts the random number that he had chosen and divides the remainder by the number of workers. He annouces this result to all workers. This way, the average salary of all workers is known, but none of them knows anything about what the others make.

Input

The first line of input contains the random large number chosen by the first worker. This is followed by the salaries of all workers of the company. Each salary is on a separate line. The company has at least three workers. A line containing the word stop follows the salary of the last worker.

Output

The output must contain the amounts that each worker whispers to the next worker if they apply the procedure as explained in the introduction. This is followed by a final line that contains the average salary of all workers. The average salary must be formatted as a floating point number, rounded up to 2 decimal digits. Derive the exact formatting of the output from the example given below.

Example

Input:

645743
89329
34893
34398
23290
23923
23982
28493
29984
89033
stop

Output:

worker #1 whispers €735072
worker #2 whispers €769965
worker #3 whispers €804363
worker #4 whispers €827653
worker #5 whispers €851576
worker #6 whispers €875558
worker #7 whispers €904051
worker #8 whispers €934035
worker #9 whispers €1023068
average salary: €41925.00

Een bedrijf telt een aantal werknemers. De werknemers willen hun gemiddelde jaarloon bepalen, zonder dat iemand daarbij zijn eigen loon moet verklappen. Hoe kunnen ze dat doen?

loonbrief

De eerste werknemer kiest een groot willekeurig getal en telt dat op bij zijn eigen jaarloon. Hij fluistert dit bedrag in het oor van de tweede werknemer. De tweede werknemer telt zijn eigen jaarloon op bij het bedrag dat de eerste werknemer hem heeft ingefluisterd, en fluistert dit bedrag in het oor van de derde werknemer, enzoverder.

Wanneer de laatste werknemer zijn eigen jaarloon heeft opgeteld bij het bedrag dat hem werd ingefluisterd, dan fluistert hij het totaalbedrag in het oor van de eerste werknemer. De eerste werknemer trekt het willekeurige bedrag dat hij had gekozen terug af van het totaalbedrag, en deelt het resterende bedrag door het aantal werknemers. Dit resultaat deelt hij mee aan alle werknemers. Op die manier kennen de werknemers hun gemiddelde jaarloon, zonder dat één enkele werknemer weet wat de andere werknemers verdienen.

Invoer

De eerste regel van de invoer bevat een willekeurig natuurlijk getal dat door de eerste werknemer werd gekozen. Daarna volgen de lonen van alle werknemers van het bedrijf. Elk van deze lonen staat op een afzonderlijke regel. Er zijn altijd minstens drie werknemers. Na het loon van de laatste werknemer volgt nog een regel die het woord stop bevat.

Uitvoer

De uitvoer moet bestaan uit de bedragen die elke werknemer in het oor van de volgende werknemer fluistert, als ze de procedure toepassen die in de inleiding staat beschreven. Daarna moet nog een laatste regel naar de uitvoer geschreven worden, die het gemiddelde loon van de arbeiders bevat. Het gemiddelde loon moet uitgeschreven worden als een floating point getal, afgerond tot en uitgeschreven met 2 cijfers na de komma. Bekijk onderstaand voorbeeld om te zien hoe de uitvoer precies moet opgemaakt worden.

Voorbeeld

Invoer:

645743
89329
34893
34398
23290
23923
23982
28493
29984
89033
stop

Uitvoer:

werknemer #1 fluistert €735072
werknemer #2 fluistert €769965
werknemer #3 fluistert €804363
werknemer #4 fluistert €827653
werknemer #5 fluistert €851576
werknemer #6 fluistert €875558
werknemer #7 fluistert €904051
werknemer #8 fluistert €934035
werknemer #9 fluistert €1023068
gemiddeld loon: €41925.00


Added by:Peter Dawyndt
Date:2015-10-18
Time limit:10s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:PY_NBC