あなたはサイコロをいくつか使う 2 人用ゲームのゲームマスターである.
サイコロは立方体で,各面に数が 1 つ記されている.
普通のサイコロとは違い,これらの数は 1 から 6 とは限らない.
ゲームを始めるにあたり,手元のサイコロの中からある決まった個数のサイコロを選び,選んだサイコロを残らず 2 人のプレイヤに分配する.
両プレイヤが受け取るサイコロが同数であるとは限らないが,どちらのプレイヤも少なくとも 1 つのサイコロを受け取る.
このゲームには両プレイヤが配られたサイコロをすべて振る場面がある.
そのとき,プレイヤの振ったサイコロの出目の合計が大きいほど,そのプレイヤはゲームで有利になる.
ゲームを盛り上げるためには,不公平度が最小となるようにサイコロを選んで配るのが最良である.
不公平度の定義:
一方のプレイヤのサイコロの出目の合計を x, もう一方のプレイヤの方を y とする.
不公平度を (x − y)2 の期待値と定義する.
ここで,サイコロの各面は他のサイコロとは独立に 1/6 の確率で出るものとする.
手元のサイコロで達成可能な不公平度の最小値を計算してほしい.
入力は複数のデータセットからなる.
各データセットは次の形式で表される.
n m
a1,1 a1,2 a1,3 a1,4 a1,5 a1,6
⋮
an,1 an,2 an,3 an,4 an,5 an,6
n はあなたの手元にあるサイコロの個数を,m はプレイヤに配るために選ぶサイコロの個数を表す.
n, m は整数であり,2 ≤ m ≤ n ≤ 60 を満たす.
ai, j は i 番目のサイコロの j 番目の面に記された数を表す.
ai, j は整数であり,0 ≤ ai, j ≤ 60 を満たす.
入力の終わりは,ゼロ 2 つからなる行で表される.
データセットの個数は 100 を超えない.