Solution of #56.