Fouad 非常渴望吃 Fetiera,于是他去了一家 Fetiera 餐厅点了一份。厨师告诉他,他出售的 Fetiera 是一个 $N \times N$ 的矩阵形状。
在 Fetiera 的表面,每一个 $1 \times 1$ 的单元格上都有一个 Semsema。每个 Semsema 可以位于 Fetiera 的顶面或底面,但不能同时在同一个单元格的两个面上。
Fouad 喜欢看厨师翻转 Fetiera,而这次的翻转比平时更有趣。厨师随机(均匀随机)选择一个矩形子矩阵并将其原地翻转。每当他翻转一个子矩阵时,原本在顶面的 Semsema 会翻转到底面,反之亦然。
给定 Fetiera 的初始状态,并已知厨师进行了 $K$ 次翻转操作,Fouad 想知道最终会有多少个 Semsema 位于顶面。因此,他请求你帮助他计算位于顶面的 Semsema 数量的期望值。
输入格式
第一行包含一个整数 $T$,表示测试用例的数量。
每个测试用例的第一行包含两个空格分隔的整数 $N$ 和 $K$ ($1 \le N \le 300, 0 \le K \le 300$),其中 $N$ 是 Fetiera 矩阵的大小,$K$ 是翻转操作的次数。
接下来 $N$ 行,每行包含 $N$ 个空格分隔的值 $F_{i1}, \dots, F_{iN}$ ($F_{ij} \in \{0, 1\}$),其中 $F_{ij}$ 表示 Fetiera 第 $i$ 行第 $j$ 列单元格的初始状态($1$ 表示 Semsema 位于顶面,$0$ 表示 Semsema 位于底面)。
输出格式
对于每个测试用例,输出一行,包含一个保留 5 位小数的十进制数,表示在进行了 $K$ 次翻转操作后,位于 Fetiera 顶面的 Semsema 数量的期望值。输出将通过相对误差进行校验。
样例
样例输入 1
2 4 2 1 0 1 1 0 0 0 1 1 0 0 0 0 0 0 0 3 3 1 1 1 0 0 0 1 0 0
样例输出 1
7.57280 4.58728