Solution of #57.