遅くなりました。
ソース貼ります。

https://ideone.com/0kDpw1