process.stdin.resume(); process.stdin.setEncoding('utf8'); var lines = []; var reader = require('readline').createInterface({ input: process.stdin, output: process.stdout }); reader.on('line', (line) => { lines.push(line); }); /*nPr*/ function P(n, r) { var ans = 1 for(var i = 0; i < r; i++) { ans *= n - i; } return ans; } /*nCr*/ function C(n, r) { return P(n, r) / P(r, r); } /*N人を二人組みに分ける通りの数*/ function Func(N){ var ans = 1; for(var i = N; i >= 2; i-=2){ ans *= C(i, 2); } return ans/P(N/2, N/2); } reader.on('close', () => { /*標準入力の受け取り*/ var N = Number(lines[0].split(' ')[0]); var K = Number(lines[0].split(' ')[1]); var A = lines[1].split(' ').map(Number).sort(function(a,b){return b - a;}); /*Aiの値で二組に分配*/ var X = Array(); /*誰とでも組める人 Ai≦K/2*/ var Y = Array(); /*Xの人と組まないとKを超えてしまう人*/ for(var i=0; i