fishhead的游戏

Time Limit: 10000MS

Memory Limit: 65535KB

Description

Fishhead做土财主的日子很是无趣,于是便想到了扔色子玩比大小的游戏。他创造了2枚n面体的色子,两个色子每个面上都是不同的数,且每个色子n个面被扔到的概率一样大。每人扔一次,谁大谁赢。但是由于玩的时间长了,一个色子的某些面已经被磨损了。Fishhead想请人帮忙把色子修复。

修复的规则是

将磨损的面填上某个数字或不填。

填完后所有有数字的面的值都不一样。

不填的面数字=0。

所有数字的范围都在1-x之间。

显然色子有很多种修复的方法。但是为了能进行游戏,鱼头想在修好之后2个人赢的概率尽量的接近,即abs(a赢的概率-b赢得概率)最小。输出abs(a赢的概率-b赢得概率)最小的值。



Input

第一行是Case数

每组case之间有空行

对于每个case

第一行是2个整数,n,x。0<n<=50  n*2<=X<=1000000000
第二行 每行n个数,表示可能磨损的色子某一面的值,0代表磨损了。0<=每个面上的值<=x
第三行 每行n个数,表示没有磨损的色子某一面的值。0<每个面上的值<=x


Output

返回2人赢得概率的最小的差值,精确到0.000001

Sample Input

2
4 12
0 2 7 0
6 3 8 10
10 10000
6371 0 6256 1852 0 0 6317 3004 5218 9012
1557 6318 1560 4519 2012 6316 6315 1559 8215 1561

Sample Output

0.125000
0.020000

Hint

None

Source

None

提交代码