template originalSource() = include cplib/tmpl/sheep import cplib/collections/lazysegtree_static_op import cplib/utils/auto_rollback include cplib/tmpl/optimize optimizeCpp("""nim c -d:danger -d:second_compile -d:useMalloc --gc:arc --panics:on --opt:speed --checks:off --passC:"-flto -m64 -march=native -ffast-math -funroll-loops -fipa-pta" --passL:"-flto" --hints:off""") type F = (int,int) type S = (array[32,int32],int32) proc op(l,r:S):S= for i in 0..<32: result[0][i] = l[0][i] + r[0][i] result[1] = l[1] + r[1] proc composite(f, g: F): F = return (f[0] & g[0], (g[1] & f[0]) | f[1]) proc mapping(f:F,x:S):S= result = x for i in 0..<32: if not f[0][i]: result[0][i] = 0 if f[1][i]: result[0][i] = x[1] proc e():S= return proc to_S(x:int):S= result[1] = 1 for i in 0..<32: if x[i]: result[0][i] = 1 proc to_int(x:S):int= for i in 0..<32: result += x[0][i] * (1<= z.len: break\x0A if (f and (1 shl b)) == 0:\x0A s.add(z[i])\x0A inc i\x0A else:\x0A let d = ord(z[i])*256+ord(z[i+1])\x0A let n = ord(z[i+2])+3\x0A i += 3\x0A for j in 0..