Solution by Andrezgz