#4640. 决斗

内存限制:512 MiB 时间限制:40 Sec

题目描述

"现在的我虽然很强了,但是还不够,距离那高高在上的人类智慧巅峰还有很远很远。" 
--TB
TB正走在通向人类智慧巅峰的路上。
可是她发现自己居然不会玩C国杀...虽说是颓物,但是毕竟也是人类智慧的结晶啊...
于是她找来了机房一只颓狗,开始学习C国杀。
颓狗说:"C国杀里面只有一种牌【杀】,但是每个人有n副牌堆。"
TB:"这么无聊的游戏你都玩?"
颓狗被怒D...无语三秒。
颓狗说:"但是你可以选择一个牌堆,对别人打出决斗,然后对方也选择一个牌堆,并和你依次打出【杀】(对方
先出),先不能出者输。不过决斗完大家都要把刚才选择的牌堆扔掉,所以总共可以进行n次决斗。"
TB:"还是无聊啊...每次不就是比谁的牌堆大么...不过一张一张的打好像可以打一天啊..."
颓狗再次被怒D...无语五秒。
颓狗说:"其实真正刺激的是,你们俩都是随机选择牌堆的。"
TB很惊讶,没想到人类智慧结晶中也有随机这个东西,她开始感觉到C国杀的乐趣。
现在她知道了她和对手的每副牌堆的【杀】的数量,想知道她期望赢的场数。
不过这个貌似太简单了。经过各种一番决斗,TB发现她赢x场可以增加x^k点智商,所以她想知道她增加智商的期望。
C国杀一番,她又感觉自己的智慧得到了升华。
"或许永远都到不了,或许明天就到了。"
TB看着远方渐渐扬起的红霞,喃喃道。

输入格式

输入文件的第一行包含两个正整数n,k,分别表示牌堆个数和赢x盘增加智商的指数。
接下来两行:第一行n个非负整数,表示TB的每副牌堆中【杀】的个数;
第二行n个非负整数,表示颓狗的每副牌堆中【杀】的个数。
数据保证除第二行和第三行的n个非负整数按照对于所有数据数据,所有牌堆的【杀】的数量不会超过10^9。
N<=2000,K<=10^9从小到大的顺序给出。

输出格式

一行,表示TB期望增加的智商点数。
要求输出期望在对10^9+7取模意义下的值。

样例

样例输入


			
3 1
2 3 4
1 3 5

样例输出


			
666666673

数据范围与提示

 k=1或者2,n的范围是1000000

k=10^9,n的范围是2000