Solution by Ruben Westerberg