- for (s = 1 << 23; s; s /= 2, d = d * 1L * d % m)
- if (s < N)
- for (p = t; p < t + N; p += s)
- for (i = s, c = 1; i; i--)
- b = *p + p[s], p[s] = (m + *p - p[s]) *
- 1L * c % m, *p++ = b % m, c = c * 1L * d % m;
+ for (s = 1 << 23; s; s /= 2, d = d * 1L * d % m) {
+ if (s >= N) continue;
+ for (p = t; p < t + N; p += s) {
+ for (i = s, c = 1; i; i--) {
+ b = *p + p[s], p[s] = (m + *p - p[s]) *
+ 1L * c % m, *p++ = b % m, c = c * 1L * d % m;
+ }
+ }
+ }