Solution of #58.