template originalSource() = include cplib/tmpl/sheep import cplib/collections/lazysegtree_static_op import cplib/utils/auto_rollback 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= # (((x & f[0]) | f[1]) & g[0]) | g[1] # (((x & f[0] & g[0] ) | (f[1] & g[0]) ) | g[1] return (f[0] & g[0] , f[1] & g[0] | g[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..