public static ulong toppart(uint[] x, int start, int len) { ulong n = 0; while (start >= 0 && len-- > 0) n = n * (ulong)bx2 + x[start--]; return n; }