n, m = map(int, input().split()) m += 1 abp = [list(map(int, input().split())) for _ in range(n)] dp = [[0] * m for _ in range(1 << n)] for bit in range((1 << n) - 1, -1, -1): for j in range(m - 1, -1, -1): for i in range(n): if bit >> i & 1: continue a, b, p = abp[i] nbit = bit | 1 << i dp[bit][j] = max(dp[bit][j], dp[nbit][j] + (1 / a)) if j != m - 1: tmp = (dp[nbit][j] + 1 / b) * (1 / p) tmp += dp[bit][j + 1] * (1 - 1 / p) dp[bit][j] = max(dp[bit][j], tmp) print(dp[0][0])