>>132
ttp://ideone.com/TItId9
ほぼC。問題があいまいなので変な仕様で作ってみた。
言い分は満たしてるはず。えぇ、めんどくさかったんですよ。
ほとんど標準関数に投げました。