function Main(input) { let inputs = input.split('\n'); let n, p; [n, p] = inputs[0].split(' ').map((e) => e - 0); let a = new Array(n); let b = new Array(n); let c = new Array(n); for (let i = 0; i < n; ++i) { [a[i], b[i], c[i]] = inputs[1 + i].split(' ').map((e) => e - 0); } let dp = new Array(2); dp[0] = new Array(p + 1).fill(10**9); dp[0][0] = 0; for (let i = 0; i < n; ++i) { dp[~i & 1] = new Array(p + 1).fill(10**9); for (let j = 0; j <= p; ++j) { dp[~i & 1][j] = Math.min(dp[~i & 1][j], dp[i & 1][j] + a[i]); if (j + 1 <= p) { dp[~i & 1][j + 1] = Math.min(dp[~i & 1][j + 1], dp[i & 1][j] + b[i]); } if (j + 2 <= p) { dp[~i & 1][j + 2] = Math.min(dp[~i & 1][j + 2], dp[i & 1][j] + c[i]); } if (j + 3 <= p) { dp[~i & 1][j + 3] = Math.min(dp[~i & 1][j + 3], dp[i & 1][j] + 1); } } } console.log('%s', (dp[n & 1][p] / n).toFixed(7)); } Main(require('fs').readFileSync('/dev/stdin', 'utf8'));