import sequtils,algorithm,math,tables,times import sets,intsets,queues,heapqueue,bitops,strutils GC_disableMarkAndSweep() template times*(n:int,body) = (for _ in 0.." .} proc scan(): int = while true: let k = getchar_unlocked() if k < '0': break result = 10 * result + k.ord - '0'.ord var seed = 0 proc next():int32 = seed = seed xor (seed shl 13) seed = seed xor (seed shr 7) seed = seed xor (seed shl 17) return cast[int32](seed shr 33) let n = scan() let q = scan() seed = scan() 10000.times: discard next() var A = newSeq[int32](n) for i in 0..