import sequtils,algorithm template `max=`*(x,y) = x = max(x,y) template `min=`*(x,y) = x = min(x,y) proc getchar_unlocked():char {. importc:"getchar_unlocked",header: "" .} proc scan(): int = while true: let k = getchar_unlocked() if k < '0': break result = 10 * result + k.ord - '0'.ord # 14C2 * 12C2 * 10C2 * 8C2 * 6C2 * 4C2 * 2C2 # 高々:1*6*15*28*45*66*91 なので全て列挙 # proc test() = # var A = toSeq(1..6) # while true: # echo A # # A.reverse(A.len div 2, A.len - 1) # if not A.nextPermutation(): return # test() let n = scan() let A = newSeqWith(n,scan()) proc solve(A:seq[int]) : int = var A = A.sorted(cmp) while true: var s = 0 for i in 0..