変数D絡みの部分は不要に見えますが、主な処理は同じ流れですね〜。