import sequtils,strutils,algorithm,math,sugar,macros,strformat import tables proc getchar_unlocked():char {. importc:"getchar_unlocked",header: "" .} proc scan(): int = var minus = false while true: var k = getchar_unlocked() if k == '-' : minus = true elif k < '0' or k > '9': break else: result = 10 * result + k.ord - '0'.ord if minus: result *= -1 proc countSeqFast[T](unSortedKeys:openArray[T]): seq[tuple[key:T,val:int]] = if unSortedKeys.len == 0 : return @[] var keys = unSortedKeys.sorted(cmp) var preKey = keys[0] var preVal = 1 result = @[] for i in 1..