どうでもいいけど
mod演算の結果が負になることは無いとか決めつけてると
Cの場合なんか特にアンダーラン起こしてハマるよ