import future, strutils, algorithm proc nextString: string = result = "" while not endOfFile stdin: let c = readChar stdin if c == ' ' or c == "\n"[0]: break elif c != '\r': add result, c proc nextInt: int = parseInt nextString() let n = nextInt() var A, B = lc[nextInt() | (i <- 0 ..< n), int].sorted(cmp) win = 0 cnt = 0 proc fight: void = var miniWin = 0 inc cnt for i in 0 ..< n: if A[i] > B[i]: inc miniWin else: dec miniWin if miniWin > 0: inc win proc main: void = fight() while B.nextPermutation: fight() while A.nextPermutation: sort(B, cmp) fight() while B.nextPermutation: fight() echo((win / cnt).formatFloat(ffDecimal, 2)) when isMainModule: main()