import sequtils,strutils,strscans,algorithm,math,future,sets,tables,macros macro unpack*(rhs: seq,cnt: static[int]): auto = let t = genSym(); result = quote do:(let `t` = `rhs`;()) for i in 0..= n : break while n mod p == 0: result &= p n = n div p if n != 1: result &= n proc coundDuplicate[T](arr:seq[T]): auto = arr.sorted(cmp[T]).foldl( if a[^1].key == b: a[0..