最後のD<0が汚い数字になるんですが・・・
それでもいいんでしょうか?