Chiaki 有一个包含整数 $1, 2, \dots, n$ 的排列 $p_1, p_2, \dots, p_n$,其中一些位置的数值未知。她想知道有多少种填充未知位置的方法,使得得到的排列包含一个长度至少为 3 的等差数列子序列。
由于结果可能非常大,你只需要计算其对 $10^9 + 7$ 取模的结果。
输入格式
输入包含多组测试数据。第一行包含一个整数 $T$,表示测试数据的组数。对于每组测试数据:
第一行包含一个整数 $n$ ($1 \le n \le 50$),表示排列的长度。
第二行包含 $n$ 个整数 $p_1, p_2, \dots, p_n$ ($0 \le p_i \le n$),其中 $p_i = 0$ 表示 $p_i$ 未知,且所有非零元素互不相同。
保证所有测试数据中 $n$ 的总和不超过 50。
输出格式
对于每组测试数据,输出一个整数表示答案。
样例
样例输入 1
2 3 0 0 0 7 1 0 3 0 0 6 0
样例输出 1
2 21