public static uint DwordMod (BigInteger n, uint d) { ulong r = 0; uint i = n.length; while (i-- > 0) { r <<= 32; r |= n.data [i]; r %= d; } return (uint)r; }