The Buttons The Buttons
Moderate
RU JA English
After completing the previous task you’ve been a “little” agitated. The ghost said just one word: “Worthy...”, and disappeared through the wall. You are incredibly lucky that you’ve met him here, and not next to the Hypercube, because in that case he surely wouldn’t let you go alive.

Walking down the corridor further, you’ve been taken aback by the fact that it’s becoming narrower and the ceiling is getting lower. But it didn’t last long, because soon you’ve hit the dead end in a form of a bare wall, not in any way suggesting the it’s possible to go further. Some kind of figures on the ceiling made you wonder. Maybe there is a way to interact with them?..

There were buttons on the ceiling in the form of geometrical figures with written numbers on them. Your task is to press them in the correct order - starting from the most "valuable" and finishing with the least "valuable" one. The figure’s value corresponds with the sum of all the numbers on it. A separate geometrical figure is the one whose elements are directly connected to one another (horizontally or vertically). Your function should return a list where the values ​​of all figures will be listed in the order in which they should be pressed. 0 is a symbol for separating the individual figures. If several figures have the same value, they can be pressed in any order.

Input: ceiling with numbers as the multiline string.

Output: right order of the buttons.

Example:

buttons('''
001203
023001
100220''') == [8, 4, 4, 1]

How it is used: For the graphical analisys.

Precondition:
1 <= the number of buttons <= 10