forked from: flash on 2010-3-9

普通に改造してから question タグに気付くというこの始末。
084さんすみません。 diff 数を抑えてあるので見比べるならこちらを。
真ん中あたりに解説あります。