import sequtils,strutils,algorithm,math,future,macros template get*():string = stdin.readLine() #.strip() macro unpack*(arr: auto,cnt: static[int]): auto = let t = genSym(); result = quote do:(let `t` = `arr`;()) for i in 0.." .} proc scan1[T](): T = var x:T var k:cint var minus = false while true: k = getchar_unlocked() if k == '-'.ord: (minus = true; break) if '0'.ord <= k and k <= '9'.ord: (x = k - '0'.ord; break) while true: k = getchar_unlocked() if k < '0'.ord or k > '9'.ord: break x = 10 * x + k - '0'.ord if minus : x *= -1 return x macro scanints(cnt:static[int]): auto = result = nnkBracket.newNimNode for i in 0..